diff --git a/.gitignore b/.gitignore index 7381324ecf0..34c8e0b3478 100644 --- a/.gitignore +++ b/.gitignore @@ -45,4 +45,5 @@ hugo_stats.json .hugo_build.lock redirects.conf scripts/duplicates.csv +scripts/.product_link_cache.json algolia_out/ 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..ee7a7307102 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)](/cloud/guides/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/) 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..3f304c8a7c5 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/websites/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 ![ownCloud](owncloud_ubuntu.jpg) {{< 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..423b0531ecc 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/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. ![Install Seafile with NGINX on Ubuntu 16.04](seafile-title-graphic.png) @@ -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..d9867f0e90c 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](/cloud/guides/understanding-billing-and-payments/). {{< /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" { {{}} {{< 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" { } {{}} -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..84a8b9222df 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/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/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/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/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..7d603350ff5 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/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/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..a04767c5899 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/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 ... {{}} -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 ![Screenshot of deploying an instance from a custom image](create-instance-new-image.png) -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..a537720bc65 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/applications/configuration-management/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/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..b25c56a2809 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](/cloud/assets/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)](/cloud/assets/httpd.conf), [apache2.conf (Debian)](/cloud/assets/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](/cloud/assets/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/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..ebc19f55d34 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](/cloud/assets/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)](/cloud/assets/httpd.conf), [apache2.conf (Debian)](/cloud/assets/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](/cloud/assets/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/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 {{}} - 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..15a3b55d0a3 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 {{}} - 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//applications/configuration-management/automate-a-static-site-deployment-with-salt/#initialize-the-salt-minion-s-formula) 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..7f0565cfded 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/applications/salt/salt-states-configuration-apache-mysql-php/) 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" { } {{}} - 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 {{}} -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" { } {{}} - 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" { {{}} {{< 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] ![Add a volume for Disk Storage](add-volume-for-disk-storage.png "Add a volume for Disk Storage") -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] ![Create a Linode Disk](create-new-disk.png) {{< 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 { ![Web page of Apache server running in a container](apache-server-running-in-lxd-container.png "Web page of Apache server running in a container.") {{< note respectIndent=false >}} -If you look at the Apache access.log file (default file `/var/log/apache2/access.log`), it still shows the private IP address of the `proxy` container instead of the real IP address. This issue is specific to the Apache web server and has to do with how the server prints the logs. Other software on the web server is able to use the real IP. To fix this through the Apache logs, see the section [Troubleshooting](/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..486b741d76d 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/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 ![DockerContainerImages](docker-container-images.png) -2. Update the original image with `docker pull nginx` as shown in the [How to Install Docker and Pull Images for Container Deployment](/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: ![Docker Pull New nginx Image](docker-container-pull-new-image.png "Pull newest nginx image and confirm version number.") diff --git a/docs/guides/applications/containers/how-to-install-docker-and-deploy-a-lamp-stack/index.md b/docs/guides/applications/containers/how-to-install-docker-and-deploy-a-lamp-stack/index.md index 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 ![How to Install Docker and deploy a LAMP Stack](how-to-install-docker-and-deploy-a-lamp-stack.png) -*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. ![The WordPress Installation Page](Wordpress-Install.png) 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/'] --- ![How to Use a Dockerfile](how-to-use-dockerfile.png "How to Use a Dockerfile") -A Dockerfile is a text file of instructions which are used to automate installation and configuration of a [Docker image](/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 ![Library Dashboard](jellyfin-library-dashboard.png) -- 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. ![Home Menu](homemenu.png) @@ -188,4 +188,4 @@ Although nano is used in this example, feel free to use the text editor of your sudo systemctl restart apache2 -You may also want to [set up SSL encryption for this virtual host](/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 ![How to Install A SHOUTcast DNAS Server on Linux](install-shoutcast-dnas-title.jpg "How to Install A SHOUTcast DNAS Server on Linux title graphic") -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. ![Install Plex Media Server on CentOS 7](install-plex-media-server-on-centos-7.png) ## 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. ![Install Plex Media Server on Ubuntu 18.04](install-plex-media-server-on-ubuntu-18-04.png) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 ![Plex server downloads page.](download-plex-server-for-ubuntu.jpg) -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 ![Plex web interface - Server Name.](plex-server-name.png) -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 ![Language selection in Openfire setup on CentOS 5.](407-openfire-centos-5-01-language-selection.png) -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). ![Domain and admin ports selection in Openfire setup on CentOS 5.](408-openfire-centos-5-02-domain-ports-selection.png) 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 ![Language selection in Openfire setup on Debian 5 (Lenny).](392-openfire-debian-lenny-01-language-selection.png) -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)). ![Domain and admin ports selection in Openfire setup on Debian 5 (Lenny).](393-openfire-debian-lenny-02-domain-ports-selection.png) 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 ![Language selection in Openfire setup on Debian 6 (Squeeze).](387-openfire-debian-squeeze-01-language-selection.png) -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)). ![Domain and admin ports selection in Openfire setup on Debian 6 (Squeeze).](388-openfire-debian-squeeze-02-domain-ports-selection.png) 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 ![Language selection in Openfire setup on Ubuntu 10.04 (Lucid).](397-openfire-ubuntu-10.04-01-language-selection.png) -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)). ![Domain and admin ports selection in Openfire setup on Ubuntu 10.04 (Lucid).](398-openfire-ubuntu-10.04-02-domain-ports-selection.png) 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 ![Language selection in Openfire setup on Ubuntu 9.04 (Jaunty).](471-openfire-ubuntu-9.04-01-language-selection.png) -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)). ![Domain and admin ports selection in Openfire setup on Ubuntu 9.04 (Jaunty).](472-openfire-ubuntu-9.04-02-domain-ports-selection.png) 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 ![Language selection in Openfire setup on Ubuntu 9.10 (Karmic).](402-openfire-ubuntu-9.10-01-language-selection.png) -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)). ![Domain and admin ports selection in Openfire setup on Ubuntu 9.10 (Karmic).](403-openfire-ubuntu-9.10-02-domain-ports-selection.png) 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/)' --- ![Using Irssi for Internet Relay Chat](Using-Irssi-for-Internet-Relay-Chat-smg.jpg) **Irssi** is a terminal-based chat client for real-time conversations over Internet Relay Chat (**IRC**). IRC is the common meeting ground for Linode users to exchange knowledge and troubleshoot issues in our public channel, **#linode** on **OFTC**. -Irssi can run on Linux or MAC OS X, either from your local workstation or your Linode. If you are unfamiliar with using a Linux terminal, you may want to review the Linode guides [Using the Terminal](/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. ![welcome](welcome.png) -1. After the installation has finished, you may want to reset your file permissions to avoid security vulnerabilities from your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 20.04](/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/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..bd8989a4c4e 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 @@ -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/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..09d2b24bdd1 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 @@ -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 ![Entering a host address in RealVNC Viewer](realvnc-enter-host.png) -1. You are notified that the connection is unencrypted. However, the steps in the [Secure Your VNC Connection](/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**. ![Notification of unencrypted connection in RealVNC Viewer](realvnc-unencrypted-notification.png "Notification of unencrypted connection in RealVNC Viewer.") diff --git a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-16-04/index.md b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-16-04/index.md index 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: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-18-04/index.md b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-18-04/index.md index 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: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-20-04/index.md b/docs/guides/applications/remote-desktop/install-vnc-on-ubuntu-20-04/index.md index 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: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/installing-apache-guacamole-on-ubuntu-and-debian/index.md b/docs/guides/applications/remote-desktop/installing-apache-guacamole-on-ubuntu-and-debian/index.md index 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: ![Adding a forwarded port to PuTTY.](1648-vnc-putty-1.png) diff --git a/docs/guides/applications/remote-desktop/what-is-virtual-network-computing/index.md b/docs/guides/applications/remote-desktop/what-is-virtual-network-computing/index.md index 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..6750358816b 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/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..5bd45426f03 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/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..0152c15263d 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/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..79bd5b63bb4 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/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..c07852fd043 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/email/postfix/). You should be able to use [send-only exim](/cloud/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/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..63ae6302df0 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/frameworks/), or [Ruby on Rails](/cloud/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..ccef4ccb9b1 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/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..57032845f6e 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/web-servers/apache/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/web-servers/apache/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..78f0b10dcc3 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](/cloud/products/databases/managed-databases/guides/updates-and-maintenance/) 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..f278f53f38e 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/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..59ebdb604dc 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/web-servers/lemp/) or [LAMP](/cloud/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/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 ![How to Install MariaDB on CentOS 7](how-to-install-mariadb-on-centos-7.png) -MariaDB replaced MySQL as the default database system in the CentOS 7 repositories. Though installing MySQL into CentOS 7 is not difficult see, [install mysql CentOS 7](/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..527625fc7b0 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/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 !["A sharded MongoDB cluster"](mongodb-cluster-diagram.png "A sharded MongoDB cluster") -The problem in this configuration is that if one of the shard servers experiences downtime, a portion of your data will become unavailable. To avoid this, you can use [replica sets](https://docs.mongodb.com/manual/reference/replica-configuration/) for each shard to ensure high availability. For more information, refer to our guide on [creating MongoDB replica sets](/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/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..fb929718b94 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/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/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/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..92d827dde1f 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 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..63e54161713 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 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..933051993eb 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 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..52ee3219322 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 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..cb846d23c14 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 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..19d851be6a2 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 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..dc1712f87f1 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 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/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..b9e537d925f 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 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..58a7bda2a17 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/web-servers/lamp/). The database system is also easy to use and highly portable and is, in the context of many applications, extremely efficient. As MySQL is often a centralized data store for large amounts of mission critical data, making regular backups of your MySQL database is one of the most important disaster recovery tasks a system administrator can perform. This guide addresses a number of distinct methods for creating back ups of your database as well as restoring databases from backups. ![Back Up Your MySQL Databases](back_up_your_mysql-databases.png "Back Up Your MySQL Databases") -Before beginning the installation process, we assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/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/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 ![Setting the MySQL root password in Ubuntu 14.04 LTS (Trusty Tahr).](mysql-root-pw.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/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..f7d4268fc0a 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/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..3471052c717 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/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 ![Setting the MySQL root password in Debian 7.](mysql-rootpw-debian.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/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 ![Setting the MySQL root password in Debian.](mysql-rootpw-debian.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/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. ![Optimize MySQL Performance Using MySQLTuner](optimize_mysql_using_mysql_tuner_title_graphic.png) Database tuning is an expansive topic, and this guide covers only the basics of editing your MySQL configuration. Large MySQL databases can require a considerable amount of memory. For this reason, we recommend using a [High Memory Linode](https://www.linode.com/pricing/) for such setups. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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..af98485bfd9 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/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 ![MySQL Workbench Connection](mysql-workbench-connection.png "MySQL Workbench Connection") {{< note respectIndent=false >}} -The MySQL server default port should be `3306` on `l27.0.0.1`. If you wish to connect to another server with a different port, update the inputs accordingly. See [Deploy MySQL Workbench for Database Administration](/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 ![Install and Configure phpMyAdmin on Debian 8](how-to-install-and-configure-phpmyadmin-on-debian-8.png) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 ![Setting the MySQL root password in Ubuntu 14.04 LTS (Trusty Tahr).](mysql-root-pw.png) -MySQL will bind to localhost (127.0.0.1) by default. Please reference our [MySQL remote access guide](/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..f2505996683 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/lamp-guides/) 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/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..0a32301de75 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/lamp-guides/) 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/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/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..a09c4cc4cbd 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/lamp-guides/) 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/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..d7a6234c403 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/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..b22b6c8e0f9 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/frameworks/) and [Django](/cloud/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/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](/cloud/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/web-applications/) +- [Web Application Frameworks](/cloud/frameworks/) +- [Database Management Systems](/cloud/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..a95c6f406cd 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/lamp-guides/). ## 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: ![The Oracle XE administration home page.](380-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-6-squeeze/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-debian-6-squeeze/index.md index 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: ![The Oracle XE administration home page.](379-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-04-lts-lucid/index.md index 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: ![The Oracle XE administration home page.](381-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-10-10-maverick/index.md index 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: ![The Oracle XE administration home page.](382-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-9-10-karmic/index.md b/docs/guides/databases/oracle/oracle-10g-express-edition-on-ubuntu-9-10-karmic/index.md index 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: ![The Oracle XE administration home page.](470-oracle-xe-admin-page.png) diff --git a/docs/guides/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/index.md b/docs/guides/databases/oracle/securely-administer-oracle-xe-with-an-ssh-tunnel/index.md index 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..e87814a6e53 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/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..c315c10f9e4 100644 --- a/docs/guides/databases/postgresql/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/index.md +++ b/docs/guides/databases/postgresql/how-to-access-postgresql-database-remotely-using-pgadmin-on-windows/index.md @@ -18,7 +18,7 @@ tags: ["database","postgresql"] ![How to Access PostgreSQL Database Remotely Using pgAdmin on Windows](how-to-access-postgresql-database-remotely-using-pgpmyadmin-on-windows-smg.jpg) -PgAdmin is a free, open-source PostgreSQL database administration GUI for Microsoft Windows, Mac OS X, and Linux systems. It offers database server information retrieval, development, testing, and ongoing maintenance. This guide will help you install pgAdmin on Windows, providing secure, remote access to PostgreSQL databases. It is assumed that you have already installed PostgreSQL on your Linode in accordance with our [PostgreSQL installation guides](/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/databases/postgresql/). ## Install pgAdmin @@ -58,7 +58,7 @@ Click the "Open" button to start your connection. If you haven't logged into you ![An unknown host key warning in PuTTY on Windows 7](371-putty-02-host-key-warning.png) -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..6e1a5d6251a 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/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/guides/databases/redis/redis-on-centos-5/index.md b/docs/guides/databases/redis/redis-on-centos-5/index.md index b6142deff38..c1d2e37ae13 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 @@ -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/guides/databases/redis/redis-on-debian-5-lenny/index.md b/docs/guides/databases/redis/redis-on-debian-5-lenny/index.md index 62894bcca99..b8b912d2a2a 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 @@ -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-on-debian-6-squeeze/index.md b/docs/guides/databases/redis/redis-on-debian-6-squeeze/index.md index 7c5bc9d1ab8..cb2bc86c9ef 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 @@ -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-on-fedora-13/index.md b/docs/guides/databases/redis/redis-on-fedora-13/index.md index af03a37a59e..ac41bcf8bb0 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 @@ -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/guides/databases/redis/redis-on-fedora-14/index.md b/docs/guides/databases/redis/redis-on-fedora-14/index.md index 58389641ed5..3466302bca1 100644 --- a/docs/guides/databases/redis/redis-on-fedora-14/index.md +++ b/docs/guides/databases/redis/redis-on-fedora-14/index.md @@ -160,7 +160,7 @@ After applying these configuration changes, restart Redis. All modifications to /opt/redis/redis-cli bgrewriteaof -You may wish to issue this command regularly, perhaps in a [cron job](/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/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..479b3e94d5c 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 @@ -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-on-ubuntu-10-10-maverick/index.md b/docs/guides/databases/redis/redis-on-ubuntu-10-10-maverick/index.md index 6f8b483ca73..71b59a001d3 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 @@ -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/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..58d7e1bd4a2 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 @@ -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..c29b67ff513 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/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..fb61d244a93 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/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/" ... {{}} - 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..39c6227c8db 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/frameworks/), [Ruby On Rails](/cloud/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/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..85eb9bd870f 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/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/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/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/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/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..e1ea5ae5eee 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/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/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..69446e9153c 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 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..bf2877f52ca 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 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..b92b6ca283c 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 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..d19ed617fa0 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/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..f1c6f15a73f 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/web-servers/nginx/how-to-install-nginx-on-debian-7-wheezy/) 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..2f46b50c858 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/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..59bf198df96 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/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..66bd3d56120 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/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 {{}} -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 ![Example MERN stack application](mern-app-example.png) -When you are ready to make your application accessible to the public, take a look at our [Deploying a React Application on Debian 10](/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 `
    • -See our guide [Traversing the Document Object Model with JavaScript](/docs/guides/traversing-the-dom), to learn about other built-in document object methods. +See our guide [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom), to learn about other built-in document object methods. ## Conclusion diff --git a/docs/guides/development/javascript/express-js-tutorial/index.md b/docs/guides/development/javascript/express-js-tutorial/index.md index bdcfe786b78..e0eb8b3bc1c 100644 --- a/docs/guides/development/javascript/express-js-tutorial/index.md +++ b/docs/guides/development/javascript/express-js-tutorial/index.md @@ -29,14 +29,14 @@ There are plenty of similar frameworks out there. What sets Express JS apart is ## 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. Throughout, this guide uses `example-app` as the name of the Express JS application and `example.com` as the server domain name. Replace these with your preferred application name and your server's domain name, respectively. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Express JS @@ -45,7 +45,7 @@ These steps walk you through setting up a basic Express JS application. It uses If you want to manually lay out your application's design, you can follow the [Express JS installation guide](https://expressjs.com/en/starter/installing.html), which shows how to create a minimal Node.js application and add Express JS as a dependency. Node.js is a prerequisite, so use one of the links in the first step below to get instructions for installing it. -1. First, you need to install Node.js. You can follow either the guide for [How to Install Node.js and NGINX](/docs/guides/how-to-install-nodejs-and-nginx-on-debian-10/) (just select the appropriate Linux distribution from the drop down) or the [How to Install and Use the Node Version Manager NVM](/docs/guides/how-to-install-use-node-version-manager-nvm/) guide. +1. First, you need to install Node.js. You can follow either the guide for [How to Install Node.js and NGINX](/cloud/guides/how-to-install-nodejs-and-nginx-on-debian-10/) (just select the appropriate Linux distribution from the drop down) or the [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide. 1. Change into the directory where you would like your application to live. This guide's example app lives in the current user's home directory. Then, use the Express application generator to create an application skeleton. diff --git a/docs/guides/development/javascript/getting-started-ember/index.md b/docs/guides/development/javascript/getting-started-ember/index.md index de8ca258038..c44f1acc98a 100644 --- a/docs/guides/development/javascript/getting-started-ember/index.md +++ b/docs/guides/development/javascript/getting-started-ember/index.md @@ -21,9 +21,9 @@ With this guide, learn what Ember has to offer and how it structures its applica ## 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. @@ -40,7 +40,7 @@ With this guide, learn what Ember has to offer and how it structures its applica ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Ember Framework? @@ -79,7 +79,7 @@ But Ember does have tools that you likely want to install to make working with E These steps walk you through installing the Ember tooling. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). 1. Install the Ember command-line (CLI) tool as a global NPM package: @@ -138,9 +138,9 @@ Ember serves the application on port `4200` by default. You can access the appli {{< note >}} To access this remotely, you may first need to open the port in your system's firewall. You can learn about how to do that in one of the guides linked below, depending on your system's Linux distribution. -- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). -- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) +- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) {{< /note >}} ![Ember welcome page](ember-default-app.png) diff --git a/docs/guides/development/javascript/getting-started-with-svelte/index.md b/docs/guides/development/javascript/getting-started-with-svelte/index.md index 04eb35c97bc..1fbdacb0731 100644 --- a/docs/guides/development/javascript/getting-started-with-svelte/index.md +++ b/docs/guides/development/javascript/getting-started-with-svelte/index.md @@ -20,12 +20,12 @@ Through this guide, learn more about what sets the Svelte framework apart and ho ## 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 Svelte Framework? @@ -50,7 +50,7 @@ To install Svelte, the recommended approach in the official documentation is to With the SvelteKit installed, your project compiles `.svelte` files into the appropriate JavaScript and CSS at build time. SvelteKit also brings ready access to convenient frontend development features like routing. -1. Install NPM to manage your Svelte project and install its dependencies. Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/#how-to-install-npm). +1. Install NPM to manage your Svelte project and install its dependencies. Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm). 1. Create a new NPM project using the SvelteKit template. This example names the project `exampleApp`, and this name gets used for the Svelte project throughout the rest of this guide: @@ -91,7 +91,7 @@ npm run dev To access this URL from a remote machine, you can use an SSH tunnel. Set up the SSH tunnel using one of the methods below, depending on your operating system. -- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/docs/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `5173` as the **Source port** and `127.0.0.1:5173` as the **Destination**. +- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `5173` as the **Source port** and `127.0.0.1:5173` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: diff --git a/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md b/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md index 2c715370e7b..670f237e000 100644 --- a/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md +++ b/docs/guides/development/javascript/how-to-add-javascript-to-html/index.md @@ -166,6 +166,6 @@ Like `async`, using `defer` tells the browser to download a linked JavaScript fi This guide covered the foundational information you need to start using JavaScript on your HTML pages. Whether you plan to embed a script or link a JavaScript file in your HTML, this guide outlined the steps needed to do so. -As a next step, you may be interested in looking at some of our other JavaScript tutorials. For instance, take a look at our [Traversing the Document Object Model with JavaScript](/docs/guides/traversing-the-dom/) tutorial, our [How to Modify the DOM with JavaScript](/docs/guides/javascript-dom-manipulation/) tutorial, and our [JavaScript Objects](/docs/guides/javascript-objects-tutorial/) tutorial. +As a next step, you may be interested in looking at some of our other JavaScript tutorials. For instance, take a look at our [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom/) tutorial, our [How to Modify the DOM with JavaScript](/cloud/guides/javascript-dom-manipulation/) tutorial, and our [JavaScript Objects](/cloud/guides/javascript-objects-tutorial/) tutorial. diff --git a/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md b/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md index 4391cc3a87f..a7b88c7d0c6 100644 --- a/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md +++ b/docs/guides/development/javascript/how-to-authenticate-using-jwt/index.md @@ -54,18 +54,18 @@ To see this in action, you can use the [JWT.IO debugger](https://jwt.io/#debugge ## Example JWT Authentication -In this section, you can follow along to implement your own authentication process using JWTs. Many popular programming languages for web development have libraries to make handing JWTs easy. You use Node.js with Express JS in this section's example. Express gives you tools to get a server up and running quickly. If you want to learn more about Express JS, check out our [Express JS Tutorial: Get Started Building a Website](/docs/guides/express-js-tutorial/) guide. +In this section, you can follow along to implement your own authentication process using JWTs. Many popular programming languages for web development have libraries to make handing JWTs easy. You use Node.js with Express JS in this section's example. Express gives you tools to get a server up and running quickly. If you want to learn more about Express JS, check out our [Express JS Tutorial: Get Started Building a Website](/cloud/guides/express-js-tutorial/) guide. The JWTs encoded in this example provide a lightweight and secure means of authenticating users. However, the in this example JWTs are not encrypted, so they should not be used to transmit sensitive information like passwords. ### 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’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 >}} ### Install Node.js @@ -239,7 +239,7 @@ Follow the steps below to see the JWT process in action. Express serves the application on `localhost:3000`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/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 @@ -260,4 +260,4 @@ Follow the steps below to see the JWT process in action. You are all set to start working with JWTs and taking advantage of them for lean and secure authentication processes. Take a look at the resources below to continue the journey and learn more about JWT concepts. -You may also be interested in our guide on [Authenticating Over WebSockets with JSON Web Tokens (JWTs)](/docs/guides/authenticating-over-websockets-with-jwt/). That guide goes more in-depth and shows you how to use them with WebSockets. +You may also be interested in our guide on [Authenticating Over WebSockets with JSON Web Tokens (JWTs)](/cloud/guides/authenticating-over-websockets-with-jwt/). That guide goes more in-depth and shows you how to use them with WebSockets. diff --git a/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md b/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md index 489709fb355..bc57976b094 100644 --- a/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md +++ b/docs/guides/development/javascript/how-to-create-and-use-single-file-components-vuejs/index.md @@ -18,7 +18,7 @@ tags: ["web applications"] aliases: ['/development/javascript/how-to-create-and-use-single-file-components-vuejs/'] --- -When first learning VueJS, and when using it for smaller projects, you will likely use [regular, globally-defined components](/docs/guides/how-to-build-and-use-vuejs-components/). Once your project grows and you start needing more structure and flexibility, *single file components* can be a better option. +When first learning VueJS, and when using it for smaller projects, you will likely use [regular, globally-defined components](/cloud/guides/how-to-build-and-use-vuejs-components/). Once your project grows and you start needing more structure and flexibility, *single file components* can be a better option. Below you can see an example of a barebones single file component, which we will examine part-by-part later in the guide: @@ -64,9 +64,9 @@ You can [download all of the example files for this guide here](vuejs-single-fil ## Before You Begin -If you haven’t read our [Building and Using VueJS Components](/docs/guides/how-to-build-and-use-vuejs-components/) already, go take a look. +If you haven’t read our [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components/) already, go take a look. -Make sure you have Node.js installed. If you don’t, our [How to Install Node.js](/docs/guides/how-to-install-nodejs/) guide outlines different installation options. +Make sure you have Node.js installed. If you don’t, our [How to Install Node.js](/cloud/guides/how-to-install-nodejs/) guide outlines different installation options. ## What are Single File Components @@ -329,7 +329,7 @@ export default { This is a simple single file component relatively similar to the example we discussed above, but this example shows how to import and use components: - On line 9, the `HelloWorld` component is imported. -- On lines 12-14, the `HelloWorld` component is [*locally registered*](https://vuejs.org/v2/guide/components-registration.html#Local-Registration) for use within the `App` component. The registered component can only be used in the template of the parent component that registered it. Contrast this with the components in [Building and Using VueJS Components](/docs/guides/how-to-build-and-use-vuejs-components/), which were [*globally registered*](https://vuejs.org/v2/guide/components-registration.html#Global-Registration). +- On lines 12-14, the `HelloWorld` component is [*locally registered*](https://vuejs.org/v2/guide/components-registration.html#Local-Registration) for use within the `App` component. The registered component can only be used in the template of the parent component that registered it. Contrast this with the components in [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components/), which were [*globally registered*](https://vuejs.org/v2/guide/components-registration.html#Global-Registration). {{< note respectIndent=false >}} Local registration is a valuable architectural feature for reusable components within big projects. @@ -339,7 +339,7 @@ Local registration is a valuable architectural feature for reusable components w ## Building your First Single File Components -Now that we’ve covered the basic structure of the project created by Vue CLI, let's build our own components on top of that. As in [Building and Using VueJS Components](/docs/guides/how-to-build-and-use-vuejs-components/), we will again be building a rating application, but this time it will be a little more sophisticated. +Now that we’ve covered the basic structure of the project created by Vue CLI, let's build our own components on top of that. As in [Building and Using VueJS Components](/cloud/guides/how-to-build-and-use-vuejs-components/), we will again be building a rating application, but this time it will be a little more sophisticated. This is what your rating app will look like: diff --git a/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md b/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md index cc9a997a2b1..ad161a13e99 100644 --- a/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md +++ b/docs/guides/development/javascript/how-to-use-javascript-fetch-api/index.md @@ -17,7 +17,7 @@ This guide explains what the JavaScript Filter API is, what role it plays, and h ## Before You Begin -1. This guide assumes you have a basic understanding of JavaScript. Depending on your level of familiarity, you may also want to go further and look at our [An Introduction to JavaScript Objects](/docs/guides/javascript-objects-tutorial/) guide. +1. This guide assumes you have a basic understanding of JavaScript. Depending on your level of familiarity, you may also want to go further and look at our [An Introduction to JavaScript Objects](/cloud/guides/javascript-objects-tutorial/) guide. 1. To follow along with the examples in this guide, you can use your browser's JavaScript console: diff --git a/docs/guides/development/javascript/install-the-mern-stack/index.md b/docs/guides/development/javascript/install-the-mern-stack/index.md index 6435be4fa72..8a180b596b2 100644 --- a/docs/guides/development/javascript/install-the-mern-stack/index.md +++ b/docs/guides/development/javascript/install-the-mern-stack/index.md @@ -20,24 +20,24 @@ Of all the possible technical bases for a modern website, ["MERN holds the leadi ## 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 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 >}} ## What Is the MERN Stack? MERN refers to MongoDB, Express.js, ReactJS, and Node.js, four software tools that cooperate to power millions of websites worldwide. In broad terms: -- [**MongoDB**](/docs/guides/databases/mongodb/) manages data, such as customer information, technical measurements, and event records. -- [**Express.js**](/docs/guides/express-js-tutorial/) is a web application framework for the "behaviors" of particular applications. For example, how data flows from catalog to shopping cart. -- [**ReactJS**](/docs/guides/development/react/) is a library of user-interface components for managing the visual "state" of a web application. -- [**Node.js**](/docs/guides/development/nodejs/) is a back-end runtime environment for the server side of a web application. +- [**MongoDB**](/cloud/guides/databases/mongodb/) manages data, such as customer information, technical measurements, and event records. +- [**Express.js**](/cloud/guides/express-js-tutorial/) is a web application framework for the "behaviors" of particular applications. For example, how data flows from catalog to shopping cart. +- [**ReactJS**](/cloud/guides/development/react/) is a library of user-interface components for managing the visual "state" of a web application. +- [**Node.js**](/cloud/guides/development/nodejs/) is a back-end runtime environment for the server side of a web application. -Linode has [many articles](/docs/guides/) on each of these topics and supports thousands of [Linode customers who have created successful applications](https://www.linode.com/content-type/spotlights/) based on these tools. +Linode has [many articles](/cloud/guides/) on each of these topics and supports thousands of [Linode customers who have created successful applications](https://www.linode.com/content-type/spotlights/) based on these tools. One of MERN’s important distinctions is the [JavaScript programming language is used throughout](https://javascript.plainenglish.io/why-mern-stack-is-becoming-popular-lets-see-in-detail-8825fd3fd5ee) the entire stack. Certain competing stacks use PHP or Python on the back end, JavaScript on the front end, and perhaps SQL for data storage. MERN developers focus on just a single programming language, [JavaScript, with all the economies](https://javascript.plainenglish.io/should-you-use-javascript-for-everything-f98015ade40a) that implies, for training and tooling. @@ -92,7 +92,7 @@ You can install a basic MERN stack on a 64-bit x86_64 [Linode Ubuntu 20.04 host] sudo apt install mongodb-org ``` -See the official documentation for more on installing MongoDB [on Debian](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/) and [on Ubuntu](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/). You can also refer to our guide [How To Install MongoDB on Ubuntu 16.04](/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/). #### Start MongoDB and Verify the Installation @@ -176,7 +176,7 @@ While the acronym is MERN, the true order of its dependencies is better written npm install -g yarn ``` -You can additionally refer to our [How to Install and Use the Node Package Manager (NPM) on Linux](/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 React.js diff --git a/docs/guides/development/javascript/introduction-to-bun/index.md b/docs/guides/development/javascript/introduction-to-bun/index.md index b87df79ec41..bef492f3755 100644 --- a/docs/guides/development/javascript/introduction-to-bun/index.md +++ b/docs/guides/development/javascript/introduction-to-bun/index.md @@ -20,9 +20,9 @@ In this tutorial, learn about the Bun JavaScript runtime and how it compares to ## 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 about the Bun JavaScript runtime and how it compares to sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Bun? @@ -152,7 +152,7 @@ The example adds a simple analog clock widget to the base React template, which To see the application remotely, you can use an SSH tunnel. - - On Windows, use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Setting up an SSH Tunnel with Your Linode for Safe Browsing](/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/javascript-base-64-decode/index.md b/docs/guides/development/javascript/javascript-base-64-decode/index.md index c5a1a8e77ac..96b89d5979a 100644 --- a/docs/guides/development/javascript/javascript-base-64-decode/index.md +++ b/docs/guides/development/javascript/javascript-base-64-decode/index.md @@ -84,12 +84,12 @@ Unfortunately, there are also some drawbacks to Base64 encoding, mainly involvin ## 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 Encode and Decode with Base64 in JavaScript? diff --git a/docs/guides/development/javascript/javascript-dom-manipulation/index.md b/docs/guides/development/javascript/javascript-dom-manipulation/index.md index eb814ed20db..389d8bd2ed8 100644 --- a/docs/guides/development/javascript/javascript-dom-manipulation/index.md +++ b/docs/guides/development/javascript/javascript-dom-manipulation/index.md @@ -15,7 +15,7 @@ external_resources: The Document Object Model (DOM) is a programming interface for HTML web pages. Scripting languages, like JavaScript, can access and manipulate the DOM to alter the display of a web page. In this guide, you learn about the methods and properties you can use to modify the DOM by adding and removing element nodes. You also learn how to use specialized properties to assign and update a DOM element's CSS styles. -If you are not familiar with the DOM, refer to our [An Introduction to the Document Object Model (DOM)](/docs/guides/document-object-model/) and [Traversing the Document Object Model with JavaScript](/docs/guides/traversing-the-dom/) guides before continuing with this guide. +If you are not familiar with the DOM, refer to our [An Introduction to the Document Object Model (DOM)](/cloud/guides/document-object-model/) and [Traversing the Document Object Model with JavaScript](/cloud/guides/traversing-the-dom/) guides before continuing with this guide. ## Before You Begin @@ -69,8 +69,8 @@ The `document` object has several built-in methods for creating new nodes, like The list below includes an overview of the steps used when creating a new element using JavaScript. - The `createElement()` method accepts the tag name of the element to create as a parameter. It creates the specified tag without any content contained within the tag. -- Once you've created a new element, you have access to properties or additional methods of the element object that can be used to style the element, populate it with text, and achieve many other enhancements. The [How to Modify Element Attributes](/docs/guides/javascript-dom-manipulation/#how-to-modify-element-attributes) discusses these changes in greater depth. -- When your new element looks and behaves the way you intend, you can add the element node to the DOM's target parent node. For example, you can use the `appendChild()` method to achieve this. The [Inserting Element Nodes](/docs/guides/javascript-dom-manipulation/#inserting-element-nodes) discusses `appendChild()` and other methods you can use to insert an element into the DOM. +- Once you've created a new element, you have access to properties or additional methods of the element object that can be used to style the element, populate it with text, and achieve many other enhancements. The [How to Modify Element Attributes](/cloud/guides/javascript-dom-manipulation/#how-to-modify-element-attributes) discusses these changes in greater depth. +- When your new element looks and behaves the way you intend, you can add the element node to the DOM's target parent node. For example, you can use the `appendChild()` method to achieve this. The [Inserting Element Nodes](/cloud/guides/javascript-dom-manipulation/#inserting-element-nodes) discusses `appendChild()` and other methods you can use to insert an element into the DOM. The example below demonstrates the steps used to create and add a new element to the DOM using the `createElement()` method. You can run the JavaScript code on the [example page](example-page.html) using your browser's developer console. The JavaScript code creates a new `li` element and a new `span` element. After adding some styling and text to these new elements, the commands append the elements as children of the existing `ul` element. @@ -140,7 +140,7 @@ The example below uses both the `innerHTML` property and the `createElement()` m There are two methods available to remove an element from the DOM: the `remove()` method and the `removeChild()` method. The `remove()` method completely removes the selected element node from the DOM, while the `removeChild()` method removes the child node of the selected element node. -- Each element within the DOM has a `remove()` method that allows you to remove the element node from the DOM. For instance, using the HTML from the [example page](/docs/guides/javascript-dom-manipulation/#before-you-begin), the code below removes the `em` element from the `p` element in the `second-div`: +- Each element within the DOM has a `remove()` method that allows you to remove the element node from the DOM. For instance, using the HTML from the [example page](/cloud/guides/javascript-dom-manipulation/#before-you-begin), the code below removes the `em` element from the `p` element in the `second-div`: const second_div_em_element = document.querySelector("#second-div em"); second_div_em_element.remove(); @@ -157,7 +157,7 @@ There are two methods available to remove an element from the DOM: the `remove() ### Inserting Element Nodes -Before a new element is displayed on a web page, it must be explicitly added to the DOM. In the [Using the createElement() Method](/docs/guides/javascript-dom-manipulation/#using-the-createelement-method) section, this was achieved using the `appendChild()` method. There are, in fact, two more methods you can use to add an element to the DOM: the `insertBefore()` and the `replaceChild()` methods. These two methods let you specify where to insert an element, giving you finer control over modifying the DOM. +Before a new element is displayed on a web page, it must be explicitly added to the DOM. In the [Using the createElement() Method](/cloud/guides/javascript-dom-manipulation/#using-the-createelement-method) section, this was achieved using the `appendChild()` method. There are, in fact, two more methods you can use to add an element to the DOM: the `insertBefore()` and the `replaceChild()` methods. These two methods let you specify where to insert an element, giving you finer control over modifying the DOM. Below, you can find examples that use each method to insert an element node into the DOM. Each example modifies the HTML displayed below. @@ -206,7 +206,7 @@ After running, in sequence, all the JavaScript examples from this section, your ## How to Modify Element Attributes -All HTML elements can have attributes which provide additional information about the element. In the DOM, attributes are represented as nodes and can be added to the DOM in the same way that you add element nodes. For instance, you can use the `createAttribute()` method to add an attribute to an element node, much in the same way that you [use the `createElement()` method](/docs/guides/javascript-dom-manipulation/#using-the-createelement-method). +All HTML elements can have attributes which provide additional information about the element. In the DOM, attributes are represented as nodes and can be added to the DOM in the same way that you add element nodes. For instance, you can use the `createAttribute()` method to add an attribute to an element node, much in the same way that you [use the `createElement()` method](/cloud/guides/javascript-dom-manipulation/#using-the-createelement-method). The `document` object also has a set of specialized properties that handle the specific needs of attributes. For example, it includes some dedicated properties that deal with attributes like classes and styles. These specialized attributes are discussed below in their own dedicated sections. @@ -246,7 +246,7 @@ numeral-name You can remove any existing attribute from an element object using the `removeAttribute()` method. The `removeAttribute()` method accepts the attribute to remove's name as an argument. -For example, use the `removeAttribute()` method to delete the `id` attribute added to the `first_div_li_element` in the [Setting Attributes](/docs/guides/javascript-dom-manipulation/#setting-attributes) section above. +For example, use the `removeAttribute()` method to delete the `id` attribute added to the `first_div_li_element` in the [Setting Attributes](/cloud/guides/javascript-dom-manipulation/#setting-attributes) section above. first_div_li_element.removeAttribute("id")' console.log(first_div_li_element) @@ -324,7 +324,7 @@ false Some classes, especially with modern CSS frameworks, require toggling for you to achieve the desired behavior for an element on a web page. For instance, the `active` class is often used to highlight an element. Being able to toggle the class via JavaScript could allow you to have a button that toggles highlighting on the element. -The example below uses the `second_p_element` object defined in the [Checking for Classes](/docs/guides/javascript-dom-manipulation/#checking-for-classes) section. Recall that the element here does not have the `active` class assigned to it. For this reason, toggling the class adds the `active` class to the element. +The example below uses the `second_p_element` object defined in the [Checking for Classes](/cloud/guides/javascript-dom-manipulation/#checking-for-classes) section. Recall that the element here does not have the `active` class assigned to it. For this reason, toggling the class adds the `active` class to the element. second_p_element.classList.toggle("active") console.log(second_p_element.classList.contains("active")); @@ -368,4 +368,4 @@ The example below first adds and then removes the `button` class from the `a` el ## Conclusion -Once you understand [what the Document Object Model is](/docs/guides/document-object-model/#what-is-the-document-object-model) and are familiar with the JavaScript methods that interface with the DOM, you are ready to start manipulating DOM elements with JavaScript. This guide showed you how to use several DOM methods and properties to add and remove elements from the DOM. You also learned how to use specialized properties to assign and update a DOM element's CSS styles. \ No newline at end of file +Once you understand [what the Document Object Model is](/cloud/guides/document-object-model/#what-is-the-document-object-model) and are familiar with the JavaScript methods that interface with the DOM, you are ready to start manipulating DOM elements with JavaScript. This guide showed you how to use several DOM methods and properties to add and remove elements from the DOM. You also learned how to use specialized properties to assign and update a DOM element's CSS styles. \ No newline at end of file diff --git a/docs/guides/development/javascript/javascript-objects-tutorial/index.md b/docs/guides/development/javascript/javascript-objects-tutorial/index.md index b7e27cf8d7d..fa4f3f90c96 100644 --- a/docs/guides/development/javascript/javascript-objects-tutorial/index.md +++ b/docs/guides/development/javascript/javascript-objects-tutorial/index.md @@ -18,7 +18,7 @@ Objects play a fundamental role in JavaScript and appear just about everywhere t ## Before You Begin -This guide's JavaScript examples were originally run in the Node.js interpreter. You can use our [How to Install and Use the Node Version Manager NVM](/docs/guides/how-to-install-use-node-version-manager-nvm/) guide to install Node.js on your computer. +This guide's JavaScript examples were originally run in the Node.js interpreter. You can use our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide to install Node.js on your computer. Alternatively, you can use your web browser's JavaScript console to run this guide's example JavaScript code. @@ -126,7 +126,7 @@ JavaScript offers you a few different ways to create objects. Each one has its o ### Using an Initializer -Object initializers provide the most direct approach for creating an object. You can see it used to declare the `house` example in the [JavaScript Object Properties](/docs/guides/javascript-objects-tutorial/#javascript-object-properties) section. With this approach, you declare your object as a variable using object literal notation. +Object initializers provide the most direct approach for creating an object. You can see it used to declare the `house` example in the [JavaScript Object Properties](/cloud/guides/javascript-objects-tutorial/#javascript-object-properties) section. With this approach, you declare your object as a variable using object literal notation. It has the advantage of being straightforward and is useful when declaring a standalone object that does not need inheritance. diff --git a/docs/guides/development/javascript/mean-stack-tutorial/index.md b/docs/guides/development/javascript/mean-stack-tutorial/index.md index c0c6996cec8..53bb489584f 100644 --- a/docs/guides/development/javascript/mean-stack-tutorial/index.md +++ b/docs/guides/development/javascript/mean-stack-tutorial/index.md @@ -23,7 +23,7 @@ MEAN is an acronym for the combination of technology stacks–**M**ongoDB, **E** - Angular is a web framework for the front end. {{< note >}} -You can learn about each technology of the MEAN stack in our guides on [Angular](/docs/guides/angular-tutorial-for-beginners/), [Node.js](/docs/guides/how-to-install-nodejs/), [MongoDB](/docs/guides/databases/mongodb/), and [Express.js](/docs/guides/express-js-tutorial/). +You can learn about each technology of the MEAN stack in our guides on [Angular](/cloud/guides/angular-tutorial-for-beginners/), [Node.js](/cloud/guides/how-to-install-nodejs/), [MongoDB](/cloud/guides/databases/mongodb/), and [Express.js](/cloud/guides/express-js-tutorial/). {{< /note >}} ## Install the MEAN Stack @@ -179,7 +179,7 @@ users At this point, Node and Mongo are both installed and MongoDB is running successfully. You've created a Node project and a Mongo database with a couple of tables. Now, it’s time for these two components to connect. -1. Navigate to the `my-angular-app` directory you created in the [Angular Installation](/docs/guides/mean-stack-tutorial/#angular-installation) section. +1. Navigate to the `my-angular-app` directory you created in the [Angular Installation](/cloud/guides/mean-stack-tutorial/#angular-installation) section. 1. Install the Node.js MongoDB driver: diff --git a/docs/guides/development/javascript/traversing-the-dom/index.md b/docs/guides/development/javascript/traversing-the-dom/index.md index 28c588ef12f..385595cdb2d 100644 --- a/docs/guides/development/javascript/traversing-the-dom/index.md +++ b/docs/guides/development/javascript/traversing-the-dom/index.md @@ -14,7 +14,7 @@ external_resources: - '[MDN Web Docs: Document.querySelector()](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector)' --- -The Document Object Model (DOM) is an interface that gives scripting languages, like JavaScript, access to a web page's structure and content. You can learn more about the DOM and how it represents HTML in our guide [Introduction to the DOM](/docs/guides/document-object-model/). +The Document Object Model (DOM) is an interface that gives scripting languages, like JavaScript, access to a web page's structure and content. You can learn more about the DOM and how it represents HTML in our guide [Introduction to the DOM](/cloud/guides/document-object-model/). The DOM is organized as a tree of objects, called nodes, that give access to everything from HTML elements to the text displayed on a web page. Understanding how to navigate and access nodes on this tree is essential to working with the DOM. This guide explains the DOM tree, how to navigate it, and how to access its nodes using JavaScript. @@ -56,7 +56,7 @@ In the following sections, you learn more about the structure of the DOM tree. Y ### What Is the DOM Tree? -The [`document` object](/docs/guides/document-object-model/#document-object) is the base of all of the DOM's nodes. The nodes are arranged as a tree, with nodes nested under other nodes. Below, is an example of the DOM representation of a simple web page: +The [`document` object](/cloud/guides/document-object-model/#document-object) is the base of all of the DOM's nodes. The nodes are arranged as a tree, with nodes nested under other nodes. Below, is an example of the DOM representation of a simple web page:
      @@ -88,9 +88,9 @@ Plotting the nesting structure out, the DOM resembles the following tree: \_ li \_ [text] -Knowing the arrangement of the DOM tree and its leaves, helps you understand how to access specific nodes when working with JavaScript. This is especially true when you are working with more complicated web pages. The [Navigating the DOM Tree](/docs/guides/traversing-the-dom/#navigating-the-dom-tree) section of this guide includes a more in-depth discussion on moving around the nodes of the DOM tree. +Knowing the arrangement of the DOM tree and its leaves, helps you understand how to access specific nodes when working with JavaScript. This is especially true when you are working with more complicated web pages. The [Navigating the DOM Tree](/cloud/guides/traversing-the-dom/#navigating-the-dom-tree) section of this guide includes a more in-depth discussion on moving around the nodes of the DOM tree. -The diagram below provides a visualization of the DOM tree for this guide's [example web page](example-page.html). You can also view the `example-page.html` file in the [Before You Begin](/docs/guides/traversing-the-dom/#before-you-begin) section of this guide. +The diagram below provides a visualization of the DOM tree for this guide's [example web page](example-page.html). You can also view the `example-page.html` file in the [Before You Begin](/cloud/guides/traversing-the-dom/#before-you-begin) section of this guide. ![A DOM tree for an example web page](dom-tree-example.png) @@ -108,7 +108,7 @@ Although this is not always the case, the arrangement of these components above - A **class** can identify a smaller set of those `div` elements. - An **ID** can identify a specific `div` element. -The [Navigating the DOM Tree](/docs/guides/traversing-the-dom/#navigating-the-dom-tree) section below shows how these components can be used to access particular elements or set of elements. +The [Navigating the DOM Tree](/cloud/guides/traversing-the-dom/#navigating-the-dom-tree) section below shows how these components can be used to access particular elements or set of elements. #### Query Selectors @@ -227,9 +227,9 @@ The following examples display some key ways in which you can use query selector document.querySelectorAll("p:not(#first-div > p)") -The above is, in fact, just a selection of some of the most commonly used features of the query selector. You can get more examples of query selector options in the [More Information](/docs/guides/traversing-the-dom/#more-information) section of this guide. +The above is, in fact, just a selection of some of the most commonly used features of the query selector. You can get more examples of query selector options in the [More Information](/cloud/guides/traversing-the-dom/#more-information) section of this guide. ## Conclusion -This tutorial walked you through what the DOM tree looks like, how to navigate its parts, and how to start accessing them. The [links below](/docs/guides/traversing-the-dom/#more-information) give you some resources to learn more about navigating the DOM, with more examples and coverage of advanced options and scenarios. +This tutorial walked you through what the DOM tree looks like, how to navigate its parts, and how to start accessing them. The [links below](/cloud/guides/traversing-the-dom/#more-information) give you some resources to learn more about navigating the DOM, with more examples and coverage of advanced options and scenarios. diff --git a/docs/guides/development/javascript/typescript-modules-getting-started/index.md b/docs/guides/development/javascript/typescript-modules-getting-started/index.md index 52425826962..26b0c1da635 100644 --- a/docs/guides/development/javascript/typescript-modules-getting-started/index.md +++ b/docs/guides/development/javascript/typescript-modules-getting-started/index.md @@ -26,7 +26,7 @@ The list below provides an overview of TypeScript module features: - The use of a module loader places the burden of locating and executing all dependencies of a module on the loader, rather than the developer. -In TypeScript, any file that contains a top-level `import` or `export` statement is considered a module. Files that lack an `import` or `export` statement are automatically viewed as scripts. If you don’t already have your system setup to use TypeScript, you can find step-by-step instructions for doing so in the [How to Use Node.js, TypeScript, and Express to Build a Web Server](/docs/guides/using-nodejs-typescript-and-express-to-build-a-web-server/) guide. +In TypeScript, any file that contains a top-level `import` or `export` statement is considered a module. Files that lack an `import` or `export` statement are automatically viewed as scripts. If you don’t already have your system setup to use TypeScript, you can find step-by-step instructions for doing so in the [How to Use Node.js, TypeScript, and Express to Build a Web Server](/cloud/guides/using-nodejs-typescript-and-express-to-build-a-web-server/) guide. ## Create a TypeScript Module diff --git a/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md b/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md index 5ff362f3c38..010ecbc9331 100644 --- a/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md +++ b/docs/guides/development/javascript/using-nodejs-typescript-and-express-to-build-a-web-server/index.md @@ -28,7 +28,7 @@ This guide shows you how to use TypeScript with two tools that are commonly used The majority of the steps in this guide are performed on your computer's local development environment. The following sections show you how to install TypeScript, Node.js, Express, and package dependencies on your computer. Any additional configuration steps required by each tool are also covered. {{< note >}} -If you do not have Node.js and the node version manager (nvm) installed on your computer, follow our [How to Install and Use the Node Version Manager NVM](/docs/guides/how-to-install-use-node-version-manager-nvm/) guide. The steps in this guide require a minimum Node.js version of 13.0.0. +If you do not have Node.js and the node version manager (nvm) installed on your computer, follow our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide. The steps in this guide require a minimum Node.js version of 13.0.0. {{< /note >}} 1. In your home directory, create a new directory named `typescript-nodejs` and move into the new directory. @@ -72,7 +72,7 @@ If you do not have Node.js and the node version manager (nvm) installed on your There is also a field defined in the `package.json` file called the `repository` field. You don't have to provide a value for this field if you don’t have a repository configured to store your code. {{< /note >}} -1. Use [npm](/docs/guides/install-and-use-npm-on-linux/) to install Express with the command below. Ensure you are still in the `typescript-nodejs` directory when running the command. +1. Use [npm](/cloud/guides/install-and-use-npm-on-linux/) to install Express with the command below. Ensure you are still in the `typescript-nodejs` directory when running the command. npm install express @@ -202,4 +202,4 @@ app.listen(3000, () => { ## Conclusion - When you use TypeScript to build a web application, you get the benefits of stricter programming language that is interchangeable with JavaScript. When using Express and Node.js with TypeScript your code is mush less error prone and verbose. Their benefits allow you to spend more time creating your web application's features. If you are a JavaScript programmer, refer to the [TypeScript for JavaScript Programmers](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) tutorial to learn more about the differences between the two languages. If you are newer to TypeScript, you can refer to our guides on TypeScript [classes](/docs/guides/typescript-classes-get-started/), [decorators](/docs/guides/typescript-decorators-getting-started/), [functions](/docs/guides/typescript-functions-getting-started/), and [types](/docs/guides/typescript-types-get-started/). \ No newline at end of file + When you use TypeScript to build a web application, you get the benefits of stricter programming language that is interchangeable with JavaScript. When using Express and Node.js with TypeScript your code is mush less error prone and verbose. Their benefits allow you to spend more time creating your web application's features. If you are a JavaScript programmer, refer to the [TypeScript for JavaScript Programmers](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html) tutorial to learn more about the differences between the two languages. If you are newer to TypeScript, you can refer to our guides on TypeScript [classes](/cloud/guides/typescript-classes-get-started/), [decorators](/cloud/guides/typescript-decorators-getting-started/), [functions](/cloud/guides/typescript-functions-getting-started/), and [types](/cloud/guides/typescript-types-get-started/). \ No newline at end of file diff --git a/docs/guides/development/javascript/using-socket-io/index.md b/docs/guides/development/javascript/using-socket-io/index.md index ee0fe2a3fd3..56bea4ebe6f 100644 --- a/docs/guides/development/javascript/using-socket-io/index.md +++ b/docs/guides/development/javascript/using-socket-io/index.md @@ -18,12 +18,12 @@ Socket.IO provides applications real-time, bidirectional communications. It is 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 [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 Socket.IO? @@ -44,7 +44,7 @@ Beyond that, Socket.IO provides a set of higher-level APIs over WebSockets. This So, why use WebSockets directly? Socket.IO gives a higher-level interface, but for some use cases that is not wanted. In fact, some use cases specifically call for lower-level control over connections and communications. Such cases likely need to work directly with WebSockets. -You can learn more about WebSockets in our tutorial [Introduction to WebSockets](/docs/guides/introduction-to-websockets/). +You can learn more about WebSockets in our tutorial [Introduction to WebSockets](/cloud/guides/introduction-to-websockets/). ## How to Use Socket.IO @@ -56,9 +56,9 @@ This tutorial's example application requires a Socket.IO server, as well as a se More options exist for Socket.IO, including a Python implementation, [python-socketio](https://github.com/miguelgrinberg/python-socketio). The general approach taken here should be similar regardless of the Socket.IO server implementation. -To learn more about Express JS, reference our [Express JS Tutorial](/docs/guides/express-js-tutorial/). This guide uses a simpler setup, but the Express JS tutorial showcases more capabilities. +To learn more about Express JS, reference our [Express JS Tutorial](/cloud/guides/express-js-tutorial/). This guide uses a simpler setup, but the Express JS tutorial showcases more capabilities. -1. Install the Node Package Manager (NPM). Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/#how-to-install-npm). +1. Install the Node Package Manager (NPM). Follow the relevant section of our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm). 1. Create a directory for the example project and change into it as the working directory. This tutorial uses the directory name `socket-example`. The client-side code gets added to a subdirectory in the next section. @@ -214,7 +214,7 @@ Below are a couple of notable AI projects. Both are open source, making them eff - [botpress](https://github.com/botpress/botpress) is a full developer stack application for building and running conversational AI applications. botpress provides an easy-to-navigate administrator interface to construct custom chatbots. -See how to set up a chatbot using Rasa through our guide [Introduction to the Rasa Framework for Automated Chats](/docs/guides/getting-started-with-rasa/). +See how to set up a chatbot using Rasa through our guide [Introduction to the Rasa Framework for Automated Chats](/cloud/guides/getting-started-with-rasa/). ### Creating a Client @@ -368,7 +368,7 @@ node index.js Navigate to `localhost:3000` in a web browser to see the application. To access the application remotely, use an SSH tunnel: -- On **Windows**, use the PuTTY tool to set up an SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/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**, use the PuTTY tool to set up an SSH tunnel. Follow the PuTTY section of our guide on how to [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/#how-to-access-mysql-remotely-by-creating-an-ssh-tunnel-with-putty). Use `3000` as the **Source port** and `127.0.0.1:3000` as the **Destination**. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: @@ -384,4 +384,4 @@ This covers the basics of setting up WebSockets with Socket.IO, from developing The example shown here is a brief example of Socket.IO's capabilities, but you can learn more through the link to the official Socket.IO documentation below. -Interested in the idea of integrating a chatbot with a Socket.IO server? Be sure to check out our [Introduction to the Rasa Framework for Automated Chats](/docs/guides/getting-started-with-rasa/) guide discussed above. +Interested in the idea of integrating a chatbot with a Socket.IO server? Be sure to check out our [Introduction to the Rasa Framework for Automated Chats](/cloud/guides/getting-started-with-rasa/) guide discussed above. diff --git a/docs/guides/development/javascript/what-are-javascript-service-workers/index.md b/docs/guides/development/javascript/what-are-javascript-service-workers/index.md index bd90b00e3ac..2cd6585de41 100644 --- a/docs/guides/development/javascript/what-are-javascript-service-workers/index.md +++ b/docs/guides/development/javascript/what-are-javascript-service-workers/index.md @@ -33,7 +33,7 @@ A typical scenario has service workers intercepting fetch requests when the brow Theoretically, an API for caching web content already exists in AppCache. So why would you want to use service workers instead? While AppCache's API can make the caching process easy, it makes an array of assumptions about how the cache may be used. AppCache's ease of use made it difficult for developers to deviate from the assumed path without possibly breaking their applications. With service workers, by contrast, you can decide precisely how to manage requests, and caching. -To get started using service workers for crafting offline experiences, take a look at the section below, [Example Service Worker](/docs/guides/what-are-javascript-service-workers/#example-service-worker), for more details. You may also want to explore the [Caching Strategies](https://serviceworke.rs/caching-strategies.html) section of Mozilla's Service Worker Cookbook. +To get started using service workers for crafting offline experiences, take a look at the section below, [Example Service Worker](/cloud/guides/what-are-javascript-service-workers/#example-service-worker), for more details. You may also want to explore the [Caching Strategies](https://serviceworke.rs/caching-strategies.html) section of Mozilla's Service Worker Cookbook. ### Push Notifications @@ -55,12 +55,12 @@ This service worker caches content from a web server and intercepts requests 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 >}} -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 Node.js @@ -268,7 +268,7 @@ You are all set to run your website with a service worker. Express serves the application on `localhost:3000`. To visit the application remotely, you can use an SSH tunnel. - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/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/what-is-jamstack/index.md b/docs/guides/development/javascript/what-is-jamstack/index.md index 059fbae7101..2c6a85b002f 100644 --- a/docs/guides/development/javascript/what-is-jamstack/index.md +++ b/docs/guides/development/javascript/what-is-jamstack/index.md @@ -47,7 +47,7 @@ Plenty of web applications already fit the Jamstack architecture. However, not a - Automate your application's builds and deployments. Automation helps you deliver your application quickly, consistently, and lets you focus on developing your application. -- If you need something from the server-side, make use of [microservices](/docs/guides/what-is-jamstack/#microservices). These keep your server-side logic in self-contained, maintainable units. Each microservice exposes its own RESTful API that your frontend can use. +- If you need something from the server-side, make use of [microservices](/cloud/guides/what-is-jamstack/#microservices). These keep your server-side logic in self-contained, maintainable units. Each microservice exposes its own RESTful API that your frontend can use. ## Building a Jamstack Application @@ -55,12 +55,12 @@ This section provides a starting point for you to set up your own Jamstack appli ### Static Site Generators and Automated Deployments -It is common for a Jamstack application to use a static site generator to build the static content from a markup language. The Jamstack website maintains an [extensive list of static site generators](https://jamstack.org/generators/). To help narrow down the list, check out our guide on [How to Choose a Static Site Generator](/docs/guides/how-to-choose-static-site-generator/). +It is common for a Jamstack application to use a static site generator to build the static content from a markup language. The Jamstack website maintains an [extensive list of static site generators](https://jamstack.org/generators/). To help narrow down the list, check out our guide on [How to Choose a Static Site Generator](/cloud/guides/how-to-choose-static-site-generator/). Static site generators render your site's content into static files that you can then host on a CDN, object storage, or similar server. For some ideas, take a look at the following guides: -- [Host a Static Site Using Linode Object Storage](/docs/guides/host-static-site-object-storage/), which features the [Hugo](https://gohugo.io/) static site generator. -- [Create a CI/CD Pipeline with Gatsby.js, Netlify and Travis CI](/docs/guides/install-gatsbyjs/) which focuses on the [Gatsby](https://www.gatsbyjs.com/) static site generator. +- [Host a Static Site Using Linode Object Storage](/cloud/guides/host-static-site-object-storage/), which features the [Hugo](https://gohugo.io/) static site generator. +- [Create a CI/CD Pipeline with Gatsby.js, Netlify and Travis CI](/cloud/guides/install-gatsbyjs/) which focuses on the [Gatsby](https://www.gatsbyjs.com/) static site generator. Here is an example of how you might set up a CI/CD (Continuous Integration/Continuous Delivery) pipeline for a static site generator. @@ -70,9 +70,9 @@ Here is an example of how you might set up a CI/CD (Continuous Integration/Conti 1. Move your site's static files to the CDN or object storage server. - If you are using Linode's Object Storage, you can follow the relevant section of the [Host a Static Site Using Linode Object Storage](/docs/guides/host-static-site-object-storage/#upload-your-static-site-to-linode-object-storage) guide. + If you are using Linode's Object Storage, you can follow the relevant section of the [Host a Static Site Using Linode Object Storage](/cloud/guides/host-static-site-object-storage/#upload-your-static-site-to-linode-object-storage) guide. -If you are looking for a more advanced and automated solution for static site deployment, you can follow the steps in the [guide linked above](/docs/guides/install-gatsbyjs/) featuring Gatsby. Those steps use Git to store your static site generator's project and [Travis CI](https://travis-ci.com/) to test and automatically deploy the static site to your object storage server. +If you are looking for a more advanced and automated solution for static site deployment, you can follow the steps in the [guide linked above](/cloud/guides/install-gatsbyjs/) featuring Gatsby. Those steps use Git to store your static site generator's project and [Travis CI](https://travis-ci.com/) to test and automatically deploy the static site to your object storage server. ### Microservices @@ -84,9 +84,9 @@ Within a Jamstack application, microservices lean into the decoupling of compone The following are a couple of our guides that may help get you started with your own microservices. -- If you are looking to start out developing microservices of your own, you can use [FastAPI](https://fastapi.tiangolo.com/), a Python micro-framework for building REST APIs quickly and easily. Take a look at [CRUD Read Operations: Use FastAPI to Write an API](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/) for designing end-points that read data and the [CRUD Write Operations: Use FastAPI to Write an API](/docs/guides/crud-write-operations-use-fastapi-to-write-an-api/) for APIs that write data. +- If you are looking to start out developing microservices of your own, you can use [FastAPI](https://fastapi.tiangolo.com/), a Python micro-framework for building REST APIs quickly and easily. Take a look at [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) for designing end-points that read data and the [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-write-operations-use-fastapi-to-write-an-api/) for APIs that write data. -- If you already have some microservices built and want some ideas on how you can deploy them, check out the guide on [How to Deploy Microservices with Docker](/docs/guides/deploying-microservices-with-docker/). +- If you already have some microservices built and want some ideas on how you can deploy them, check out the guide on [How to Deploy Microservices with Docker](/cloud/guides/deploying-microservices-with-docker/). ## Where to Go Next diff --git a/docs/guides/development/next-js/getting-started-next-js/index.md b/docs/guides/development/next-js/getting-started-next-js/index.md index 365ac645530..4af94201069 100644 --- a/docs/guides/development/next-js/getting-started-next-js/index.md +++ b/docs/guides/development/next-js/getting-started-next-js/index.md @@ -23,9 +23,9 @@ Learn all that you need to get started with Next.js in this tutorial. It explain ## 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 @@ Learn all that you need to get started with Next.js in this tutorial. It explain sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Next.js? @@ -77,7 +77,7 @@ One of the best ways to get to know Next.js is by building an application with i Throughout, the guide also attempts to show off some of the main features that Next.js boasts. The goal is to not only get started with Next.js, but to also have a practical demonstration of some of what sets it apart. -Next.js also offers first-class support for TypeScript. This guide only covers a JavaScript approach to Next, but you can learn about using Next with TypeScript in our [Building a Next.js App with TypeScript](/docs/guides/next-js-with-typescript) guide. +Next.js also offers first-class support for TypeScript. This guide only covers a JavaScript approach to Next, but you can learn about using Next with TypeScript in our [Building a Next.js App with TypeScript](/cloud/guides/next-js-with-typescript) guide. ### Set Up a Next.js App @@ -85,7 +85,7 @@ Next.js has its own script for boostrapping a project template. This guide makes For that and to help with managing application dependencies, the guide uses NPM. You can find a link in the steps below to help you install NPM if you do not already have it. -1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. +1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. 1. Create a base Next.js project using `create-next-app`. The example below also names the new project — `example-app` — in the same command. @@ -111,9 +111,9 @@ Now in a web browser navigate to port `3000` on your server. For instance, assum {{< note >}} To access this remotely, you may first need to open the port in your system's firewall. You can learn about how to do that in one of the guides linked below, depending on your system's Linux distribution. -- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). -- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) +- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) {{< /note >}} [![Next.js welcome page](next-template-app_small.png)](next-template-app.png) @@ -355,7 +355,7 @@ export async function getStaticProps({ params }) { } {{< /file >}} -The two functions at the end of this file, `getStaticPaths` and `getStaticProps`, should be elaborated on. You can learn more about the `getStaticProps` function in the [server-side pre-rendering](/docs/guides/getting-started-next-js/#server-side-pre-rendering) section. +The two functions at the end of this file, `getStaticPaths` and `getStaticProps`, should be elaborated on. You can learn more about the `getStaticProps` function in the [server-side pre-rendering](/cloud/guides/getting-started-next-js/#server-side-pre-rendering) section. As part of its pre-rendering process, Next requires the `getStaticPaths` function for any dynamic routes. This function provides Next with an array of possible path IDs for the dynamic route. diff --git a/docs/guides/development/next-js/next-js-with-typescript/index.md b/docs/guides/development/next-js/next-js-with-typescript/index.md index a444c056e5f..7a0cd02008d 100644 --- a/docs/guides/development/next-js/next-js-with-typescript/index.md +++ b/docs/guides/development/next-js/next-js-with-typescript/index.md @@ -21,9 +21,9 @@ It only takes a little configuration to get your Next.js project running with Ty ## 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 @@ It only takes a little configuration to get your Next.js project running with Ty sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Next.js? @@ -47,7 +47,7 @@ Next.js includes capabilities like routing, data fetching, and server-side rende And, like React, Next.js gives you the ability to create applications ranging from static, single-page applications to full-stack, dynamic websites. -Learn more about what Next.js has to offer and how it compares to base React in our [Getting Started with Next.js](/docs/guides/getting-started-next-js) guide. +Learn more about what Next.js has to offer and how it compares to base React in our [Getting Started with Next.js](/cloud/guides/getting-started-next-js) guide. ### Why TypeScript? @@ -71,7 +71,7 @@ Next.js has its own starter script for bootstrapping a project template, `create For running the starter script and managing application dependencies, this guide uses NPM. You can find a link in the steps below to help you install NPM if you do not already have it. -1. Follow our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. +1. Follow our guide on [How to Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. 1. Run the `create-next-app` script with `npx` (included with NPM), and add the `--typescript` or `--ts` flag to initialize the project with TypeScript instead of JavaScript. The example below also names the new project — `example-app` — in the same command. @@ -96,9 +96,9 @@ Now in a web browser navigate to port `3000` on your server. For instance, assum {{< note >}} To access this remotely, you may first need to open the port in your system's firewall. You can learn about how to do that in one of the guides linked below, depending on your system's Linux distribution. -- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +- For **Debian** and **Ubuntu**, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). -- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/). +- For **AlmaLinux**, **CentOS**, and **Fedora**, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). {{< /note >}} [![Next.js welcome page](next-template-app_small.png)](next-template-app.png) @@ -123,7 +123,7 @@ This guide, instead, focuses on demonstrating, and getting you started with Type ### Set Up the Next.js Project -To perform the initial setup for the project, follow the steps in the [Create a New Next.js Project with TypeScript](/docs/guides/next-js-with-typescript/#create-a-new-nextjs-project-with-typescript) section above. +To perform the initial setup for the project, follow the steps in the [Create a New Next.js Project with TypeScript](/cloud/guides/next-js-with-typescript/#create-a-new-nextjs-project-with-typescript) section above. You have a base Next project with TypeScript after that, and the rest of these steps build on that. @@ -237,7 +237,7 @@ And that is it — your Next application with its todo list is ready to run. Fol ### Run the Next.js App -Running the application now uses the same steps as [shown earlier](/docs/guides/next-js-with-typescript/#create-a-new-nextjs-project-with-typescript) when running the default application. Execute the following command from the project's base directory to run your Next.js application on a development server: +Running the application now uses the same steps as [shown earlier](/cloud/guides/next-js-with-typescript/#create-a-new-nextjs-project-with-typescript) when running the default application. Execute the following command from the project's base directory to run your Next.js application on a development server: npm run dev diff --git a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md index 732d4707fbf..59a551e02fd 100644 --- a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md +++ b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-centos-8/index.md @@ -32,12 +32,12 @@ Node.js is an open-source JavaScript runtime environment that can serve dynamic ## Before You Begin -1. If you want to use a custom domain name for your site, purchase a domain name from a trusted registrar and use Linode's [DNS Manager](/docs/products/networking/dns-manager/) to [add the domain](/docs/products/networking/dns-manager/guides/create-domain/) and [create a domain record](/docs/products/networking/dns-manager/guides/manage-dns-records/) for it. +1. If you want to use a custom domain name for your site, purchase a domain name from a trusted registrar and use Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to [add the domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and [create a domain record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for it. -1. Set up your Linode using 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. +1. Set up your Linode using 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. {{< note respectIndent=false >}} -Don't forget to update your Linode's `/etc/hosts` file with its public IP address and your site's fully qualified domain name, as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Getting Started](/docs/products/platform/get-started/) guide. +Don't forget to update your Linode's `/etc/hosts` file with its public IP address and your site's fully qualified domain name, as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) section of the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. {{< /note >}} 1. Install the SELinux core policy Python utilities. This will give you the ability to manage SELinux settings in a fine-grained way. @@ -277,7 +277,7 @@ In this section, you will create a file named `server.js` that will use Node.js console.log("Server is listening on port 3000.") //Terminal output ``` -1. Run a new [tmux](/docs/guides/persistent-terminal-sessions-with-tmux/) session: +1. Run a new [tmux](/cloud/guides/persistent-terminal-sessions-with-tmux/) session: tmux Press **return** when prompted. diff --git a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian-10/index.md b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian-10/index.md index b2bb1936cc3..6c9cbea8bdb 100644 --- a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian-10/index.md +++ b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian-10/index.md @@ -31,12 +31,12 @@ Node.js is an open-source JavaScript runtime environment that can serve dynamic ## Before You Begin -1. If you want to use a custom domain name for your site, purchase a domain name from a trusted registrar and use Linode's [DNS Manager](/docs/products/networking/dns-manager/) to [add the domain](/docs/products/networking/dns-manager/guides/create-domain/) and [create a domain record]/docs/products/networking/dns-manager/guides/manage-dns-records/) for it. +1. If you want to use a custom domain name for your site, purchase a domain name from a trusted registrar and use Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to [add the domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and [create a domain record]/docs/products/networking/dns-manager/guides/manage-dns-records/) for it. -1. Set up your Linode using 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. +1. Set up your Linode using 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. {{< note respectIndent=false >}} -Don't forget to update your Linode's `/etc/hosts` file with its public IP address and your site's fully qualified domain name, as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Getting Started](/docs/products/platform/get-started/) guide. +Don't forget to update your Linode's `/etc/hosts` file with its public IP address and your site's fully qualified domain name, as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) section of the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. {{< /note >}} diff --git a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian/index.md b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian/index.md index 71f70a2d0fd..809f7154cf3 100644 --- a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian/index.md +++ b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-debian/index.md @@ -33,7 +33,7 @@ deprecated_link: 'development/nodejs/how-to-install-nodejs-and-nginx-on-debian-1 Node.js is a JavaScript platform which can serve dynamic, responsive content. JavaScript is usually a client-side, browser language like HTML or CSS. However, Node.js is a server-side, JavaScript platform, comparable to PHP. Node.js often works with other popular server applications like NGINX or Apache. In this guide, NGINX is configured to handle front-end, static file requests, and Node.js is configured to handle back-end file requests. ## Install and Configure NGINX -This guide can be started immediately after terminal login on a new Linode, it's written for the `root` user. However, before installation you might want to make sure the Linode is up-to-date with our [Getting Started](/docs/products/platform/get-started/) guide and secured with our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +This guide can be started immediately after terminal login on a new Linode, it's written for the `root` user. However, before installation you might want to make sure the Linode is up-to-date with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and secured with our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. 1. Install NGINX as well as screen, which you'll use later: @@ -181,7 +181,7 @@ console.log("Server is listening on port 3000.") //Terminal output {{< /file >}} -5. Run a new [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session: +5. Run a new [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions) session: screen diff --git a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-ubuntu-18-04/index.md b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-ubuntu-18-04/index.md index ea5f6580009..75ebcec8f61 100644 --- a/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-ubuntu-18-04/index.md +++ b/docs/guides/development/nodejs/how-to-install-nodejs-and-nginx-on-ubuntu-18-04/index.md @@ -31,12 +31,12 @@ Node.js is an open-source JavaScript runtime environment that can serve dynamic ## Before You Begin -1. If you want to use a custom domain name for your site, purchase a domain name from a trusted registrar and use Linode's [DNS Manager](/docs/products/networking/dns-manager/) to [add the domain](/docs/products/networking/dns-manager/guides/create-domain/) and [create a domain record](/docs/products/networking/dns-manager/guides/manage-dns-records/) for it. +1. If you want to use a custom domain name for your site, purchase a domain name from a trusted registrar and use Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to [add the domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and [create a domain record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for it. -1. Set up your Linode using 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. +1. Set up your Linode using 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. {{< note respectIndent=false >}} -Don't forget to update your Linode's `/etc/hosts` file with its public IP address and your site's fully qualified domain name, as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Getting Started](/docs/products/platform/get-started/) guide. +Don't forget to update your Linode's `/etc/hosts` file with its public IP address and your site's fully qualified domain name, as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) section of the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. {{< /note >}} diff --git a/docs/guides/development/nodejs/how-to-update-nodejs/index.md b/docs/guides/development/nodejs/how-to-update-nodejs/index.md index f98786b0c2a..00097126363 100644 --- a/docs/guides/development/nodejs/how-to-update-nodejs/index.md +++ b/docs/guides/development/nodejs/how-to-update-nodejs/index.md @@ -17,11 +17,11 @@ Node.js is a cross-platform runtime environment for server-side JavaScript appli ## Before You Begin -1. This guide assumes you are already running Node.js on your Linode or local workstation and are updating the version. If you don't have it installed, see the [How to Install Node.js](/docs/guides/how-to-install-nodejs/) guide. +1. This guide assumes you are already running Node.js on your Linode or local workstation and are updating the version. If you don't have it installed, see the [How to Install Node.js](/cloud/guides/how-to-install-nodejs/) guide. 2. Install NPM, which installs by default with Node.js. -3. This guide assumes you are only updating your version of Node.js and aren't looking to run multiple versions. If you do, see the guide [How to Install and Use the Node Version Manager](/docs/guides/how-to-install-use-node-version-manager-nvm/). +3. This guide assumes you are only updating your version of Node.js and aren't looking to run multiple versions. If you do, see the guide [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/). 4. Update your Linode's system: sudo apt-get update && sudo apt-get upgrade @@ -53,7 +53,7 @@ NPM is installed by default with Node.js and is the easiest way to update to any ## Updating the Node.js version using NVM -If you need to install NVM, see our guide [How to Install and Use the Node Version Manager](/docs/guides/how-to-install-use-node-version-manager-nvm/). It's a useful tool to have, especially in a development environment or if you have to use multiple versions of Node.js. +If you need to install NVM, see our guide [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/). It's a useful tool to have, especially in a development environment or if you have to use multiple versions of Node.js. 1. Open the Terminal on Linux or macOS. On Windows, launch the Windows PowerShell as an administrator. Search for it in the search bar and then either right-click or click on the arrow to the right and choose **Run as Administrator**. diff --git a/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md b/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md index c787c1288be..e4763338fbc 100644 --- a/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md +++ b/docs/guides/development/nodejs/install-and-use-npm-on-linux/index.md @@ -31,7 +31,7 @@ NPM is also the most popular Node.js package manager. With that popularity comes Yarn was originally designed to address performance and security concerns in NPM. And while Yarn still outshines NPM in terms of speed, NPM has made vast security improvements that put it about even with Yarn. {{< note >}} -You can learn more about Yarn in our [How to Install and Use the Yarn Package Manager](/docs/guides/install-and-use-the-yarn-package-manager) guide. +You can learn more about Yarn in our [How to Install and Use the Yarn Package Manager](/cloud/guides/install-and-use-the-yarn-package-manager) guide. To learn how to install Node.js, jump to the [How to Install NPM](#how-to-install-npm) section of this guide. {{< /note >}} @@ -42,7 +42,7 @@ The steps in this section show you how to install NPM along with Node.js. It als ### How to Install NPM -Since NPM is packaged with Node.js, you just need to install Node.js. The installation path recommended by NPM is using a the Node Version Manager (nvm). This version manager helps you avoid permissions issues and version conflicts with NPM packages. To install nvm follow the steps in our [How to Install and Use the Node Version Manager NVM](/docs/guides/how-to-install-use-node-version-manager-nvm/) guide. +Since NPM is packaged with Node.js, you just need to install Node.js. The installation path recommended by NPM is using a the Node Version Manager (nvm). This version manager helps you avoid permissions issues and version conflicts with NPM packages. To install nvm follow the steps in our [How to Install and Use the Node Version Manager NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide. Using nvm, you can install the current stable version of Node.js, and its accompanying version of NPM using the following command: diff --git a/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md b/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md index b83432ba94b..375fff6546a 100644 --- a/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md +++ b/docs/guides/development/nodejs/install-and-use-the-yarn-package-manager/index.md @@ -29,7 +29,7 @@ Yarn previously had an advantage with its `yarn.lock` file. Yarn creates this fi ## How to Install Yarn -1. Follow the steps for installing NPM in our [How to Install and Use Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/#how-to-install-npm) guide. +1. Follow the steps for installing NPM in our [How to Install and Use Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#how-to-install-npm) guide. 1. Install Yarn using NPM. The `-g` flag has NPM install Yarn as a global package, rather than a project package. @@ -54,7 +54,7 @@ Initialize the new project using Yarn. yarn init -Yarn prompts you for information about the project. You can use the defaults for this example. The result is an initial `package.json` file representing the project. For more on the `package.json`, take a look our [How to Install and Use Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/#packagejson) guide. +Yarn prompts you for information about the project. You can use the defaults for this example. The result is an initial `package.json` file representing the project. For more on the `package.json`, take a look our [How to Install and Use Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/#packagejson) guide. ### How to Install a Package with Yarn diff --git a/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md b/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md index a99aeac97c1..27999ca9629 100644 --- a/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md +++ b/docs/guides/development/nodejs/install-nodejs-on-ubuntu-22-04/index.md @@ -16,12 +16,12 @@ Developers use [Node.js](https://nodejs.org/) to perform [many tasks](https://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. {{< note >}} -This guide is written for a non-root 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 Node.js @@ -106,7 +106,7 @@ A task may require a specific version of Node.js. The example steps below show h ### Node.js for Developers -The Node Version Manager supports multiple versions of Node.js on a single system. This is so it can test scripts using multiple Node.js versions. You can find the procedure for working with NVM [here](/docs/guides/how-to-install-use-node-version-manager-nvm/). +The Node Version Manager supports multiple versions of Node.js on a single system. This is so it can test scripts using multiple Node.js versions. You can find the procedure for working with NVM [here](/cloud/guides/how-to-install-use-node-version-manager-nvm/). ## Securing Node.js diff --git a/docs/guides/development/nodejs/nodejs-twitter-bot/index.md b/docs/guides/development/nodejs/nodejs-twitter-bot/index.md index 3feef7a0379..ed6844386cc 100644 --- a/docs/guides/development/nodejs/nodejs-twitter-bot/index.md +++ b/docs/guides/development/nodejs/nodejs-twitter-bot/index.md @@ -17,7 +17,7 @@ external_resources: - "[twit - npm](https://www.npmjs.com/package/twit)" - "[GitHub Desktop](https://desktop.github.com/)" - "[Creating a new User in Ubuntu](https://youtu.be/fDHHKR0nVQg)" - - "[FileZilla](/docs/guides/filezilla/)" + - "[FileZilla](/cloud/guides/filezilla/)" --- ## Introduction @@ -50,17 +50,17 @@ The following software is needed on your workstation to complete the tutorial: These tools are used to download a copy of the GitHub repository that is created in this guide. The GitHub Desktop software can be more user-friendly for beginners, but you might prefer to work out of the command line. Instructions for using both are provided in this tutorial. - To install the command line software, follow our [How to Install Git on Linux, Mac or Windows](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide. Then, follow the [Configure Git](/docs/guides/how-to-configure-git/#configure-git) section of our [Getting Started with Git](/docs/guides/how-to-configure-git/) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. + To install the command line software, follow our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. Then, follow the [Configure Git](/cloud/guides/how-to-configure-git/#configure-git) section of our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. - **[Node.js](https://nodejs.org/en/) and the [Node Package Manager](https://www.npmjs.com/) (*npm*)**, which are used to initialize a new npm package for the Twitter bot. - There are a number of different ways to install Node.js and npm. Our [How to Install Node.js](/docs/guides/how-to-install-nodejs/) guide outlines some of these options. For this tutorial, we recommend using the *Node Version Manager* (*nvm*), which can manage multiple versions of Node.js and npm. Follow the next [Install Node.js and npm via the Node Version Manager](#install-nodejs-and-npm-via-the-node-version-manager) section for instructions. + There are a number of different ways to install Node.js and npm. Our [How to Install Node.js](/cloud/guides/how-to-install-nodejs/) guide outlines some of these options. For this tutorial, we recommend using the *Node Version Manager* (*nvm*), which can manage multiple versions of Node.js and npm. Follow the next [Install Node.js and npm via the Node Version Manager](#install-nodejs-and-npm-via-the-node-version-manager) section for instructions. ### Install Node.js and npm via the Node Version Manager The original [nvm](https://github.com/nvm-sh/nvm) software project is used on **Unix, Linux, and macOS**: -1. Follow the [Install NVM](/docs/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) section of our [How to Install and Use the Node Version Manager](/docs/guides/how-to-install-use-node-version-manager-nvm/) guide to install nvm. +1. Follow the [Install NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) section of our [How to Install and Use the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide to install nvm. 1. Run this command from your terminal. This installs the latest version of Node.js and npm: @@ -825,7 +825,7 @@ You could certainly let this code run for a long while from your local machine, ![Linode home screen](https://lh3.googleusercontent.com/JFNpdFMCe9A37beAwtxazN-zqcSr88Ff457bnQhbQpkQJILfqAv7g0bR_CQ6SxMu8EfKgIcaqTGuZvPTTI2hOb6dYyi3CyLMubEKOwFEZMkCaByjpk83L2o0c4W8GTwE4VPSodE-) -1. Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. When creating your instance, use the following options: +1. Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. When creating your instance, use the following options: - Pick Ubuntu 20.04 as your Linux distribution. @@ -841,10 +841,10 @@ You could certainly let this code run for a long while from your local machine, ### Log In and Secure the Server -1. To log into the server, follow the [Connect to Your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) section of our [Getting Started](/docs/products/platform/get-started/) guide. If you do not have access to an SSH client, or if SSH connections are firewalled on your local network, you can also opt to use [the Lish console](/docs/products/compute/compute-instances/guides/lish/) from the Cloud Manager in your web browser. To do so, follow the [Use a Web Browser](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish) instructions in our Lish guide. +1. To log into the server, follow the [Connect to Your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) section of our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. If you do not have access to an SSH client, or if SSH connections are firewalled on your local network, you can also opt to use [the Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) from the Cloud Manager in your web browser. To do so, follow the [Use a Web Browser](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish) instructions in our Lish guide. {{< note respectIndent=false >}} -Our [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) guide series has a few other options for SSH clients, like SSH extension for the Chrome web browser. +Our [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) guide series has a few other options for SSH clients, like SSH extension for the Chrome web browser. {{< /note >}} When logging in for the first time, you use the `root` username and the root password that you set when creating the Linode. However, it's important to create a non-root-user with limited permissions to run your programs from. @@ -853,7 +853,7 @@ Our [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over If you were to run your programs as root, and if they were to be compromised by someone malicious, then the rest of your server could be compromised. If your server isn't running anything else, then it may not be important to you. However, an attacker could install malicious programs that target other people's servers, like a botnet script that sends denial-of-service attacks. {{< /note >}} -1. To create a non-root-user, follow 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. This guide assumes that the name of the new user is `tutorialbotuser`, but you can name it whatever you'd like. The instructions in this section also show how to give your user `sudo` privileges, so it is still able to perform software updates and other administrative tasks. +1. To create a non-root-user, follow 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. This guide assumes that the name of the new user is `tutorialbotuser`, but you can name it whatever you'd like. The instructions in this section also show how to give your user `sudo` privileges, so it is still able to perform software updates and other administrative tasks. {{< note respectIndent=false >}} Here's a video that also shows how to create a limited user: [Tech Republic: How to create a new user with admin privileges](https://youtu.be/fDHHKR0nVQg). @@ -862,7 +862,7 @@ Here's a video that also shows how to create a limited user: [Tech Republic: How 1. After you have created the limited user, log out of your current SSH (or Lish) session by running the `exit` command. Then, log back in as the new user. {{< note respectIndent=false >}} -The rest of the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide are optional for this tutorial, but they are still recommended if you intend to leave your server running. +The rest of 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 are optional for this tutorial, but they are still recommended if you intend to leave your server running. {{< /note >}} ### Perform Software Updates and Prepare for the Bot @@ -883,7 +883,7 @@ The rest of the steps in the [Setting Up and Securing a Compute Instance](/docs/ The server is now ready to run the bot, but you still need to upload the bot's code to the server. We present two ways to do this: -- **Filezilla**: You can transfer your code to the Linux instance from your workstation, via the [Filezilla](/docs/guides/filezilla/) GUI desktop application. Because you're using a desktop application, this can be a little more user-friendly for beginners. Follow the [Upload the Bot Using Filezilla](#upload-the-bot-using-filezilla) section to do this. +- **Filezilla**: You can transfer your code to the Linux instance from your workstation, via the [Filezilla](/cloud/guides/filezilla/) GUI desktop application. Because you're using a desktop application, this can be a little more user-friendly for beginners. Follow the [Upload the Bot Using Filezilla](#upload-the-bot-using-filezilla) section to do this. - **git clone**: You can directly clone your repository on GitHub to your Linode with the Git command line tool. Follow the [Upload the Bot with Git Clone](#upload-the-bot-with-git-clone) section to do this. @@ -899,7 +899,7 @@ The server is now ready to run the bot, but you still need to upload the bot's c | Field | Value | |-------|-------| - | Host | The IP Address for your Linode. Use the [Find your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide to locate your IP address in the Cloud Manager. | + | Host | The IP Address for your Linode. Use the [Find your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide to locate your IP address in the Cloud Manager. | | Username | This should be the name for the limited non-root-user you created. | | Password | The password for the limited non-root-user you created. | | Port | This should be set to 22. | @@ -916,7 +916,7 @@ After finishing the file transfer, proceed to the [run the bot](#run-the-bot-on- ### Upload the Bot with Git Clone -1. Git is preinstalled on Ubuntu 20.04, but you still need to configure it like you did on your workstation. While inside your SSH or Lish connection to your Linode, follow the [Configure Git](/docs/guides/how-to-configure-git/#configure-git) section of our [Getting Started with Git](/docs/guides/how-to-configure-git/) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. +1. Git is preinstalled on Ubuntu 20.04, but you still need to configure it like you did on your workstation. While inside your SSH or Lish connection to your Linode, follow the [Configure Git](/cloud/guides/how-to-configure-git/#configure-git) section of our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. When doing this, you don't need to set the `core.editor` option, but it is important to set your username and email for Git. 1. To clone your GitHub repository to your Linode, run the `git clone` command from your SSH or Lish connection. Be sure to substitute your own GitHub username in for `your-github-username` and the name you chose for the repository for `snes-soundtracks` before running the command: @@ -933,7 +933,7 @@ If you previously created a private GitHub repository, then the above command pr The `npm install` command looks at your package.json and installs every dependency that it finds into the `node_modules` folder. -1. The `.env` file was also excluded from version control, so it needs to be copied to your Linode separately. On your workstation, open your local `.env` and copy its contents to your clipboard. Then inside the code repository on the Linode, create a new `.env` file. You can use [the `nano` command line text editor](/docs/guides/use-nano-to-edit-files-in-linux/) to do this: +1. The `.env` file was also excluded from version control, so it needs to be copied to your Linode separately. On your workstation, open your local `.env` and copy its contents to your clipboard. Then inside the code repository on the Linode, create a new `.env` file. You can use [the `nano` command line text editor](/cloud/guides/use-nano-to-edit-files-in-linux/) to do this: nano .env @@ -947,7 +947,7 @@ If you previously created a private GitHub repository, then the above command pr 1. Type `CTRL-x` to exit the editor. -1. Remove file system read and write [file permissions](/docs/guides/modify-file-permissions-with-chmod/) for groups and other users on the Linode for the `.env` file: +1. Remove file system read and write [file permissions](/cloud/guides/modify-file-permissions-with-chmod/) for groups and other users on the Linode for the `.env` file: chmod go-rw .env @@ -963,7 +963,7 @@ Once you’ve transferred the files, you can use your SSH connection or Lish con However, the bot does not stay running if you close your SSH connection (for example, if you put your workstation to sleep), or if you need to perform some other action in the Lish console. -To keep your bot running uninterrupted, you can start a Screen session. [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) is a useful tool for creating terminal sessions that stay alive and that can be accessed from any SSH or Lish connection. It's also preinstalled on Ubuntu 20.04, so you can start using it immediately: +To keep your bot running uninterrupted, you can start a Screen session. [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) is a useful tool for creating terminal sessions that stay alive and that can be accessed from any SSH or Lish connection. It's also preinstalled on Ubuntu 20.04, so you can start using it immediately: 1. If you ran `npm run develop` on your Linode, type `CTRL-c` to stop the bot. diff --git a/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md b/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md index f796a39617f..5f855f36cc4 100644 --- a/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md +++ b/docs/guides/development/nodejs/use-nightmarejs-to-automate-headless-browsing/index.md @@ -24,15 +24,15 @@ aliases: ['/development/nodejs/use-nightmarejs-to-automate-headless-browsing/'] ## 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: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} @@ -128,7 +128,7 @@ nightmare xvfb-run node linode.js - The script visits the [Linode docs](/docs/) page, enters 'Ubuntu' into the input box, and clicks the submit button. It then waits for the results to load and prints the url and title each entry on the first page of results. + The script visits the [Linode docs](/cloud/) page, enters 'Ubuntu' into the input box, and clicks the submit button. It then waits for the results to load and prints the url and title each entry on the first page of results. The output will resemble the following: @@ -144,7 +144,7 @@ nightmare This example automates the script to run once every hour. It changes to the `~/automation/` directory, runs the scraping script, and saves the output to a file with a unique filename that includes the date and time it ran. -For more information about using Cron, see our [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) guide. +For more information about using Cron, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. 1. Open the crontab file: diff --git a/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md b/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md index 18bfa12d96c..b30a054ab45 100644 --- a/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md +++ b/docs/guides/development/perl/manage-cpan-modules-with-cpan-minus/index.md @@ -22,7 +22,7 @@ tags: ["perl"] CPAN, the Comprehensive Perl Archive Network, is the primary source for publishing and fetching the latest modules and libraries for the Perl programming language. The default method for installing Perl modules, using the **CPAN Shell**, provides users with a great deal of power and flexibility, but this comes at the cost of a complex configuration and an inelegant default setup. -The `cpanm` client attempts to make the power of CPAN accessible to all users, particularly those who aren't Perl developers, but have experience with the CPAN shell. This document outlines the procedures for installing cpanminus and demonstrates a number of basic use cases. If you're new to the world of Linux systems administration, you may want to review our [introduction to Linux concepts guide](/docs/guides/introduction-to-linux-concepts/) and [administration basics guide](/docs/guides/linux-system-administration-basics/) before completing this guide. +The `cpanm` client attempts to make the power of CPAN accessible to all users, particularly those who aren't Perl developers, but have experience with the CPAN shell. This document outlines the procedures for installing cpanminus and demonstrates a number of basic use cases. If you're new to the world of Linux systems administration, you may want to review our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/) and [administration basics guide](/cloud/guides/linux-system-administration-basics/) before completing this guide. ## Install Dependencies diff --git a/docs/guides/development/python/boolean-variables-in-python/index.md b/docs/guides/development/python/boolean-variables-in-python/index.md index d09526c1f0b..7285d1961f6 100644 --- a/docs/guides/development/python/boolean-variables-in-python/index.md +++ b/docs/guides/development/python/boolean-variables-in-python/index.md @@ -26,14 +26,14 @@ Python uses a built-in data type named `bool` to represent Boolean values. 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. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Python Boolean Operators diff --git a/docs/guides/development/python/check-python-version/index.md b/docs/guides/development/python/check-python-version/index.md index 15575ee3c76..18898825525 100644 --- a/docs/guides/development/python/check-python-version/index.md +++ b/docs/guides/development/python/check-python-version/index.md @@ -84,4 +84,4 @@ The output from the `platform.python_version` is more minimal compared to the `s With that, you have everything you need for checking your current Python version. The steps above cover you whether you need to see the Python version from the command line or from within a Python script. -You can continue learning about Python with our collection of [Python guides](/docs/guides/development/python/). We cover everything from fundamental Python concepts to building Python web applications. +You can continue learning about Python with our collection of [Python guides](/cloud/guides/development/python/). We cover everything from fundamental Python concepts to building Python web applications. diff --git a/docs/guides/development/python/commenting-in-python/index.md b/docs/guides/development/python/commenting-in-python/index.md index 4ee909d1cce..713e181094c 100644 --- a/docs/guides/development/python/commenting-in-python/index.md +++ b/docs/guides/development/python/commenting-in-python/index.md @@ -22,11 +22,11 @@ Leaving informative comments on any code is important, as it helps others unders ## 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. -2. This guide assumes your Linode is running Python 3 or has a Python Virtual Environment installed. If not, then see our [Python guides](/docs/guides/development/python/) to find instructions for installing on your preferred Linux distribution. +2. This guide assumes your Linode is running Python 3 or has a Python Virtual Environment installed. If not, then see our [Python guides](/cloud/guides/development/python/) to find instructions for installing on your preferred Linux distribution. 2. Finally, this guide assumes you have a basic knowledge of Python and are comfortable editing using a text editor. If you are new to Python, then see the Python Software Foundation's ["Python for Beginners"](https://www.python.org/about/gettingstarted/) guide for more information on what Python is, what it can do, and how to learn to use it. diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md index 1d872c6b266..2466f3382f1 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-centos-8/index.md @@ -30,19 +30,19 @@ A Python virtual environment is an isolated project space on your system that co ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to prepare your system. +1. Complete 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 to prepare your system. 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 >}} ## Create a Python Virtual Environment {{< note >}} -CentOS 8 does not include any version of Python by default. To install Python on CentOS 8, read our guide on [installing Python 3 on CentOS 8](/docs/guides/how-to-install-python-on-centos-8/) +CentOS 8 does not include any version of Python by default. To install Python on CentOS 8, read our guide on [installing Python 3 on CentOS 8](/cloud/guides/how-to-install-python-on-centos-8/) {{< /note >}} 1. To install Python's virtual environment: diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md index 372228b4aaf..cc9c3f6056e 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-debian-10/index.md @@ -29,14 +29,14 @@ A Python virtual environment is an isolated project space on your system that co ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to prepare your system. +1. Complete 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 to prepare your system. 1. Update your system: sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Create a Python Virtual Environment diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-1610/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-1610/index.md index 32d8152eded..ddeaeb321ac 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-1610/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-1610/index.md @@ -32,7 +32,7 @@ The purpose of this tutorial is to allow you to create and run Python virtual en ## Before You Begin -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/) 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) to create a standard user account, harden SSH access and remove unnecessary network services. 2. Update your system: diff --git a/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md b/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md index 4b86daa667e..530f8fc48c8 100644 --- a/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md +++ b/docs/guides/development/python/create-a-python-virtualenv-on-ubuntu-18-04/index.md @@ -28,14 +28,14 @@ A Python virtual environment is an isolated project space on your system that co ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides to prepare your system. +1. Complete 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 to prepare your system. 1. Update your system: sudo apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Create a Python Virtual Environment diff --git a/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md b/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md index 4922feb20df..332bede2613 100644 --- a/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md +++ b/docs/guides/development/python/create-restful-api-using-python-and-flask/index.md @@ -26,7 +26,7 @@ The REST protocol gives clients access to resources stored in a database and all ### Install Flask {{< note >}} -This section makes use of the [virtualenv](https://pypi.org/project/virtualenv/) tool to create a virtual environment on your system. Follow the installation steps in our [How to Create a Python Virtual Environment](/docs/guides/create-a-python-virtualenv-on-debian-10/) guide if you do not have virtualenv installed on your computer. +This section makes use of the [virtualenv](https://pypi.org/project/virtualenv/) tool to create a virtual environment on your system. Follow the installation steps in our [How to Create a Python Virtual Environment](/cloud/guides/create-a-python-virtualenv-on-debian-10/) guide if you do not have virtualenv installed on your computer. {{< /note >}} - Create a directory to store your Flask web application and move into the directory. @@ -43,7 +43,7 @@ This section makes use of the [virtualenv](https://pypi.org/project/virtualenv/) python3 -m venv venv . venv/bin/activate -In order to run a Flask server, you install Flask first using the [Python Package Index (pip)](/docs/guides/how-to-create-a-private-python-package-repository/). Use the following command to install Flask: +In order to run a Flask server, you install Flask first using the [Python Package Index (pip)](/cloud/guides/how-to-create-a-private-python-package-repository/). Use the following command to install Flask: pip install flask diff --git a/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md b/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md index 53c7e10bda2..4c59384ff99 100644 --- a/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md +++ b/docs/guides/development/python/crud-read-operations-use-fastapi-to-write-an-api/index.md @@ -45,7 +45,7 @@ This guide does not cover integrating FastAPI with a database. FastAPI uses an i FastAPI requires the following items to be installed on your system: - Python 3.6+ and [pip](https://pypi.org/project/pip/) -- [Gunicorn](/docs/guides/flask-and-gunicorn-on-ubuntu/#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. +- [Gunicorn](/cloud/guides/flask-and-gunicorn-on-ubuntu/#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. ### Install FastAPI and Hypercorn diff --git a/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md b/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md index e04dd832fa8..a27af28db63 100644 --- a/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md +++ b/docs/guides/development/python/crud-write-operations-use-fastapi-to-write-an-api/index.md @@ -15,7 +15,7 @@ FastAPI is a high-performance Python *micro-framework* designed to help develope ## In this Guide -This guide shows you how to create write operations for your RESTful API. Its examples continue from the [CRUD Read Operations: Use FastAPI to Write an API](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/) guide. Throughout this guide you learn how to use FastAPI to create the following REST API endpoints: +This guide shows you how to create write operations for your RESTful API. Its examples continue from the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) guide. Throughout this guide you learn how to use FastAPI to create the following REST API endpoints: 1. **Create Programming Languages**: creates a new Programming Languages resource using JSON payload data. 1. **Update Programming Language**: updates a resource with new data. @@ -28,10 +28,10 @@ This guide shows you how to create write operations for your RESTful API. Its ex FastAPI requires the following items to be installed on your system: - Python 3.6+ and [pip](https://pypi.org/project/pip/) -- [Gunicorn](/docs/guides/flask-and-gunicorn-on-ubuntu/#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. +- [Gunicorn](/cloud/guides/flask-and-gunicorn-on-ubuntu/#install-and-configure-gunicorn) or [Hypercorn](https://pypi.org/project/Hypercorn/). These tools are used as the web server gateway for your API. {{< note >}} -If you have not followed the steps in the [CRUD Read Operations: Use FastAPI to Write an API](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/) guide, ensure that you have created a `main.py` file with [the code](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/main.py) included in the previous guide's examples. +If you have not followed the steps in the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) guide, ensure that you have created a `main.py` file with [the code](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/main.py) included in the previous guide's examples. {{< /note >}} ### Install FastAPI and Hypercorn @@ -203,6 +203,6 @@ Visit your API's documentation (`http://127.0.0.1:8000/docs`) to view all the en ![five endpoints together](troy_five_endpoints_together.png) -FastAPI's syntax is similar to the syntax used by [Flask or Bottle](/docs/guides/how-to-choose-python-api-framework/). With a few adjustments, much of the example code used in this guide would work with those frameworks. Regardless of framework, the RESTful web API conventions covered i this guide, like data lookup efficiency, and idempotence apply across any backend stack. +FastAPI's syntax is similar to the syntax used by [Flask or Bottle](/cloud/guides/how-to-choose-python-api-framework/). With a few adjustments, much of the example code used in this guide would work with those frameworks. Regardless of framework, the RESTful web API conventions covered i this guide, like data lookup efficiency, and idempotence apply across any backend stack. diff --git a/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md b/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md index e69ea6b7ea4..ae7e2c43903 100644 --- a/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md +++ b/docs/guides/development/python/documenting-a-fastapi-app-with-openapi/index.md @@ -17,12 +17,12 @@ external_resources: FastAPI automatically generates an OpenAPI schema that can be accessed by your API's users. The documentation generated by the OpenAPI schema helps users learn about your API's features. This guide introduces how FastAPI creates documentation from your code. It also shows you how to provide custom information related to your API, if necessary. For example, you may want to modify an endpoint's description or label a field as deprecated. {{< note >}} -The examples in this guide rely on the code created in the [CRUD Read Operations: Use FastAPI to Write an API](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/) and [CRUD Write Operations: Use FastAPI to Write an API](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/) guides. To run the examples in this guide, ensure you follow the [FastAPI Installation Prerequisites](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/#install-fastapi) section of those guides. +The examples in this guide rely on the code created in the [CRUD Read Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) and [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) guides. To run the examples in this guide, ensure you follow the [FastAPI Installation Prerequisites](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/#install-fastapi) section of those guides. {{< /note >}} ## How to Document FastAPI Endpoints -FastAPI provides automatic documentation that follows the [OpenAPI specification](https://swagger.io/specification/). In our [CRUD Write Operations: Use FastAPI to Write an API](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/#create-the-view-programming-language-endpoint) guide, you write a List Programming Languages endpoint with the annotation, `@app.get('/programming_languages')` as seen in the following example: +FastAPI provides automatic documentation that follows the [OpenAPI specification](https://swagger.io/specification/). In our [CRUD Write Operations: Use FastAPI to Write an API](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/#create-the-view-programming-language-endpoint) guide, you write a List Programming Languages endpoint with the annotation, `@app.get('/programming_languages')` as seen in the following example: {{< file "main.py">}} @app.get('/programming_languages') diff --git a/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md b/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md index 05826ef2638..d67681388aa 100644 --- a/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md +++ b/docs/guides/development/python/flask-and-gunicorn-on-ubuntu/index.md @@ -20,7 +20,7 @@ aliases: ['/development/python/flask-and-gunicorn-on-ubuntu/'] Flask is a light-weight web framework for Python that includes several utilities and libraries you can use to create a web application. After you have developed a Flask application in a local environment, you need to prepare the application's production environment in order to run the application and serve it to the users of the application through the internet. -This guide walks you through the steps to deploy a Flask application to a production environment running on a Linode. The production environment uses [NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) as the web server and reverse proxy, [Gunicorn](https://gunicorn.org/) as the web server gateway interface (WSGI) application server, and [Supervisor](http://supervisord.org/) for monitoring and auto-reloading Gunicorn should it go down. This guide does not cover creating a Flask application or related Python concepts. +This guide walks you through the steps to deploy a Flask application to a production environment running on a Linode. The production environment uses [NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) as the web server and reverse proxy, [Gunicorn](https://gunicorn.org/) as the web server gateway interface (WSGI) application server, and [Supervisor](http://supervisord.org/) for monitoring and auto-reloading Gunicorn should it go down. This guide does not cover creating a Flask application or related Python concepts. In this guide you complete the following: @@ -36,11 +36,11 @@ In this guide you complete the following: * The [Python programming language](https://docs.python.org/3/tutorial/index.html) * [Setting up a local virtual environment](https://docs.python-guide.org/dev/virtualenvs/) for Python programming * [Creating applications using Flask](https://flask.palletsprojects.com/en/1.1.x/quickstart/#) - * Using a local and remote version control system, like [Git and GitHub](/docs/guides/how-to-use-git/). + * Using a local and remote version control system, like [Git and GitHub](/cloud/guides/how-to-use-git/). {{< /note >}} ## Before You Begin -1. [Create a Flask Application](https://flask.palletsprojects.com/en/1.1.x/tutorial/) or use this [Example Blog Application](https://github.com/abalarin/Flask-on-Linode). Clone and run it on the local machine [using GitHub](/docs/guides/how-to-use-git/). +1. [Create a Flask Application](https://flask.palletsprojects.com/en/1.1.x/tutorial/) or use this [Example Blog Application](https://github.com/abalarin/Flask-on-Linode). Clone and run it on the local machine [using GitHub](/cloud/guides/how-to-use-git/). git clone https://github.com/abalarin/Flask-on-Linode.git flask_app_project @@ -50,9 +50,9 @@ In this guide you complete the following: 1. If you are not using the example application, host the Flask application code on a remote version control system, such as GitHub. This guide uses GitHub for all examples. -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. ## Copy the Flask App to Linode @@ -109,13 +109,13 @@ Checking connectivity... done. ## Prepare the Production Environment ### Install and Configure NGINX -[NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) is open-source software that can be used as a high-performance web server, reverse proxy, load-balancer, and more. In this section you configure NGINX as a web server and reverse proxy for the Flask application. This means that NGINX sits between the Flask application and external clients and forwards all client requests to the running Flask application. +[NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) is open-source software that can be used as a high-performance web server, reverse proxy, load-balancer, and more. In this section you configure NGINX as a web server and reverse proxy for the Flask application. This means that NGINX sits between the Flask application and external clients and forwards all client requests to the running Flask application. 1. Install NGINX: sudo apt install nginx -2. Using an editor of choice, create an NGINX configuration file for the app with the example content and save it. This example uses the [nano](/docs/guides/use-nano-to-edit-files-in-linux/) text editor. Replace `flask_app` with the name of the application and `192.0.2.0` with the IP address of the Linode or the fully qualified domain name (FQDN): +2. Using an editor of choice, create an NGINX configuration file for the app with the example content and save it. This example uses the [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) text editor. Replace `flask_app` with the name of the application and `192.0.2.0` with the IP address of the Linode or the fully qualified domain name (FQDN): sudo nano /etc/nginx/sites-enabled/flask_app diff --git a/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md b/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md index ba98959b4ee..10ab62a563b 100644 --- a/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md +++ b/docs/guides/development/python/get-started-with-bokeh-and-python-data-visualizations/index.md @@ -26,7 +26,7 @@ When you use Bokeh, you find that it produces beautiful interactive graphics wit This section shows you how to install Bokeh using Pip and Anaconda or Miniconda. {{< note >}} -If you are not familiar with Pip, see our [Managing Python Packages and Versions on Linux](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip) guide. To learn how to install Anaconda, see our [How to Install Anaconda on Ubuntu](/docs/guides/how-to-install-anaconda/) guide. +If you are not familiar with Pip, see our [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip) guide. To learn how to install Anaconda, see our [How to Install Anaconda on Ubuntu](/cloud/guides/how-to-install-anaconda/) guide. {{< /note >}} 1. Install Bokeh on your computer using Anaconda or Miniconda: diff --git a/docs/guides/development/python/getting-started-with-black-and-isort/index.md b/docs/guides/development/python/getting-started-with-black-and-isort/index.md index a2d6ef4a1fc..a894627bd55 100644 --- a/docs/guides/development/python/getting-started-with-black-and-isort/index.md +++ b/docs/guides/development/python/getting-started-with-black-and-isort/index.md @@ -10,7 +10,7 @@ keywords: ['getting started with black and isort','python','black','isort','deve license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[Python](/docs/guides/development/python/) is one of the world's most widely used programming languages, widely adopted in web development, data science, and embedded systems. Python's formal syntax is somewhat open, as it permits a considerable range of styles. This allows programmers to indent, punctuate, and name according to their personal preferences. +[Python](/cloud/guides/development/python/) is one of the world's most widely used programming languages, widely adopted in web development, data science, and embedded systems. Python's formal syntax is somewhat open, as it permits a considerable range of styles. This allows programmers to indent, punctuate, and name according to their personal preferences. However, projects spanning larger teams benefit from consistency. While an application written in a number of different styles is no less correct, these different styles becomes a distraction to those maintaining the code. For instance, the following two example Python fragments execute identically: @@ -166,7 +166,7 @@ As a Python programmer, Black and isort are entirely optional. If your formattin ## Black and isort Examples -Black and isort can be used in a number of different ways. Use the following command to invoke both Black and isort as command line utilities on your local desktop or [Linode server](/docs/guides/use-a-linode-for-web-development-on-remote-devices/): +Black and isort can be used in a number of different ways. Use the following command to invoke both Black and isort as command line utilities on your local desktop or [Linode server](/cloud/guides/use-a-linode-for-web-development-on-remote-devices/): ```command black example.py; isort example.py diff --git a/docs/guides/development/python/how-to-choose-python-api-framework/index.md b/docs/guides/development/python/how-to-choose-python-api-framework/index.md index fc67279a80d..50ca3bf0e2a 100644 --- a/docs/guides/development/python/how-to-choose-python-api-framework/index.md +++ b/docs/guides/development/python/how-to-choose-python-api-framework/index.md @@ -16,7 +16,7 @@ As one of the most popular programming languages, the Python ecosystem offers a ## Django-REST -Django is a full-featured web development framework that includes out-of-the-box solutions for user management, security, and database connections. To build a web API, you can use the [Django REST framework](https://www.django-rest-framework.org/tutorial/quickstart/) that is built on top of standard Django. If you ever wrote an API using [Ruby on Rails](/docs/guides/development/ror/), [Spring with Kotlin](https://spring.io/guides/tutorials/spring-boot-kotlin/), or Java, then Django will feel familiar. +Django is a full-featured web development framework that includes out-of-the-box solutions for user management, security, and database connections. To build a web API, you can use the [Django REST framework](https://www.django-rest-framework.org/tutorial/quickstart/) that is built on top of standard Django. If you ever wrote an API using [Ruby on Rails](/cloud/guides/development/ror/), [Spring with Kotlin](https://spring.io/guides/tutorials/spring-boot-kotlin/), or Java, then Django will feel familiar. ### When to Choose Django-REST to Build Your API @@ -143,4 +143,4 @@ Since Bottle is fairly new, the framework has little organic documentation. Its If you'd like to learn how to write an API using the FastAPI framework, take a look at the following guide: -- [CRUD READ operations in Python Using FastAPI: View, List](/docs/guides/crud-read-operations-use-fastapi-to-write-an-api/) +- [CRUD READ operations in Python Using FastAPI: View, List](/cloud/guides/crud-read-operations-use-fastapi-to-write-an-api/) diff --git a/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md b/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md index 4c1699e18a8..2cb20d1c4ea 100644 --- a/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md +++ b/docs/guides/development/python/how-to-convert-datatypes-in-python/index.md @@ -44,7 +44,7 @@ The Python `type` function is used to determine the type of the data. In this ex ## Before You Begin -Ensure Python is already installed on your machine and you understand how to launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For more information regarding how to use Python, see the [Linode guide to Python](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +Ensure Python is already installed on your machine and you understand how to launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For more information regarding how to use Python, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). ## Converting Integers and Floats in Python @@ -140,7 +140,7 @@ Some information is permanently lost whenever a float is converted to an integer ## Converting Strings in Python -A Python string consists of an immutable sequence of Unicode characters, and is represented internally as an array. The individual characters in a string can be accessed using *string indexing*, which is similar to [how list items are accessed](/docs/guides/python-lists-and-how-to-use-them/). Python string indexing is zero-based, so the index `[1]` refers to the second character in the string. Python provides a number of built-in methods for use in string processing and manipulation. +A Python string consists of an immutable sequence of Unicode characters, and is represented internally as an array. The individual characters in a string can be accessed using *string indexing*, which is similar to [how list items are accessed](/cloud/guides/python-lists-and-how-to-use-them/). Python string indexing is zero-based, so the index `[1]` refers to the second character in the string. Python provides a number of built-in methods for use in string processing and manipulation. Integers can be converted to strings and vice versa. Strings can also be converted to complex data types including lists, sets, and tuples. For more information on strings, see the [*Python documentation*](https://docs.python.org/3/library/string.html). @@ -225,7 +225,7 @@ In Python, a *list* is an ordered array of objects. The items are mutable, so th Lists and strings are conceptually very similar. Both are ordered sequences, and the individual items are accessed the same way. This makes it easy to convert a string to a list. The first letter in the string becomes item `[0]` in the list. The second letter becomes the second list item, and so on. {{< note >}} -The elements of a list can be strings or numbers, or even compound objects. However, strings can only contain a sequence of Unicode characters. [Lists can also be converted to strings in Python](/docs/guides/python-lists-and-how-to-use-them/#convert-a-python-list-to-a-string), but the steps are more complicated. +The elements of a list can be strings or numbers, or even compound objects. However, strings can only contain a sequence of Unicode characters. [Lists can also be converted to strings in Python](/cloud/guides/python-lists-and-how-to-use-them/#convert-a-python-list-to-a-string), but the steps are more complicated. {{< /note >}} To convert a Python string to a list, use the `list()` function and provide the string as input. This results in a list containing the characters in the original string, formatted in list notation. @@ -253,7 +253,7 @@ z is ('t', 'e', 's', 't') and is of type Although it is relatively uncommon, a string can also be converted to a *set*. A set is an unordered collection of unique elements. Use the function `set()` and provide the string as a parameter. {{< /note >}} -To learn more about Python tuples, see our guide [An Introduction to Python Tuples](/docs/guides/python-tuples/#convert-a-python-tuple-to-a-list). +To learn more about Python tuples, see our guide [An Introduction to Python Tuples](/cloud/guides/python-tuples/#convert-a-python-tuple-to-a-list). ## Conclusion diff --git a/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md b/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md index 46fa4378629..bf1795f8d4e 100644 --- a/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md +++ b/docs/guides/development/python/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/index.md @@ -293,7 +293,7 @@ You are now ready to run your Flask app locally to view your rendered Stadia Map ## Next Steps -- Consult the [Prepare Your Production Environment](/docs/guides/flask-and-gunicorn-on-ubuntu/#prepare-the-production-environment) section of our [Deploy A Flask Application on Ubuntu](/docs/guides/flask-and-gunicorn-on-ubuntu/) guide to familiarize yourself with some of the tools you can use to prepare a Flask application for production. +- Consult the [Prepare Your Production Environment](/cloud/guides/flask-and-gunicorn-on-ubuntu/#prepare-the-production-environment) section of our [Deploy A Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu/) guide to familiarize yourself with some of the tools you can use to prepare a Flask application for production. - Adopt the example app to use a different data set. Many cities provide open GIS data that you can easily consume and create your own GIS app. See [Philadelphia's Open Data site](https://www.opendataphilly.org/) for possible sources. diff --git a/docs/guides/development/python/how-to-install-python-on-centos-8/index.md b/docs/guides/development/python/how-to-install-python-on-centos-8/index.md index db62cbb755f..72e2e98a073 100644 --- a/docs/guides/development/python/how-to-install-python-on-centos-8/index.md +++ b/docs/guides/development/python/how-to-install-python-on-centos-8/index.md @@ -29,9 +29,9 @@ Unlike other Linux distributions, CentOS 8 does not come with a version of Pytho ## Before You Begin -1. This guide assumes that you have access to a server or workstation running CentOS 8. To provision a Linode running CentOS 8, follow our [Getting Started](/docs/products/platform/get-started/) guide. +1. This guide assumes that you have access to a server or workstation running CentOS 8. To provision a Linode running CentOS 8, follow our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -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/) 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) to create a standard user account, harden SSH access, and remove unnecessary network services. 1. Update your system: diff --git a/docs/guides/development/python/how-to-install-python-on-debian-10/index.md b/docs/guides/development/python/how-to-install-python-on-debian-10/index.md index 7179e2cffb4..abd2bb5188c 100644 --- a/docs/guides/development/python/how-to-install-python-on-debian-10/index.md +++ b/docs/guides/development/python/how-to-install-python-on-debian-10/index.md @@ -23,9 +23,9 @@ As of January 1, 2020, the official version of Python is Python 3. Python 2 is n ## Before You Begin -1. This guide assumes that you have access to a server or workstation running Debian 10. To provision a Linode running Debian 10, follow our [Getting Started](/docs/products/platform/get-started/) guide. +1. This guide assumes that you have access to a server or workstation running Debian 10. To provision a Linode running Debian 10, follow our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -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/) 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) to create a standard user account, harden SSH access, and remove unnecessary network services. 1. Update your system: diff --git a/docs/guides/development/python/how-to-install-python-on-ubuntu-20-04/index.md b/docs/guides/development/python/how-to-install-python-on-ubuntu-20-04/index.md index 36dbbdd6b04..74f2c4c56c4 100644 --- a/docs/guides/development/python/how-to-install-python-on-ubuntu-20-04/index.md +++ b/docs/guides/development/python/how-to-install-python-on-ubuntu-20-04/index.md @@ -23,9 +23,9 @@ As of January 1, 2020, the official version of Python is Python 3. Python 2 is n ## Before You Begin -1. This guide assumes that you have access to a server or workstation running Ubuntu 20.04 LTS. To provision a Linode running Ubuntu 20.04 LTS, follow our [Getting Started](/docs/products/platform/get-started/) guide. +1. This guide assumes that you have access to a server or workstation running Ubuntu 20.04 LTS. To provision a Linode running Ubuntu 20.04 LTS, follow our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -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/) 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) to create a standard user account, harden SSH access, and remove unnecessary network services. 1. Update your system: diff --git a/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md b/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md index 448f2f5b9b6..dcac582dbb4 100644 --- a/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md +++ b/docs/guides/development/python/how-to-manage-packages-and-virtual-environments-on-linux/index.md @@ -26,9 +26,9 @@ Several tools exist to manage virtual environments. This guide covers tools such This guide covers the basic concepts of using Python Virtual Environments and installing Python packages. This guide uses Python 3. If you want to install Python 3 on your system, please refer to the following guides: -- [How to Install Python on Ubuntu 20.04](/docs/guides/how-to-install-python-on-ubuntu-20-04) -- [How to Install Python on Debian](/docs/guides/how-to-install-python-on-debian-10) -- [How to Install Python on CentOS](/docs/guides/how-to-install-python-on-centos-8) +- [How to Install Python on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04) +- [How to Install Python on Debian](/cloud/guides/how-to-install-python-on-debian-10) +- [How to Install Python on CentOS](/cloud/guides/how-to-install-python-on-centos-8) ## What is Pip @@ -133,7 +133,7 @@ If you do not have virtualenv on your machine install it using Pip: Pipenv combines the process of using Pip and Virtualenv and merges it into one command, `pipenv`. Pipenv also opts to using a `pipfile`, and `pipfile.lock` to manage dependencies for projects. {{< note >}} -To install Pipenv, or to learn about `pipfile`, please check out our guide: [How to Manage Python Packages and Virtual Environments with pipenv](/docs/guides/manage-python-environments-pipenv/). +To install Pipenv, or to learn about `pipfile`, please check out our guide: [How to Manage Python Packages and Virtual Environments with pipenv](/cloud/guides/manage-python-environments-pipenv/). {{< /note >}} Pipenv introduces the ability to use separate Python binaries for each project. For example, projects that depend on Python 3.8 and projects that depend on Python 3.7 can be installed on the same system. To create a virtual environment that utilizes Python 3.8, you would use the following syntax: diff --git a/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md b/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md index 8c55356bbf0..f0e8b90dff0 100644 --- a/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md +++ b/docs/guides/development/python/how-to-reverse-a-string-in-python/index.md @@ -10,13 +10,13 @@ keywords: ['how to reverse a string in python','python reverse string','reverse license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -Python supports several common string operations, like [slicing, indexing, searching,](/docs/guides/how-to-slice-and-index-strings-in-python/) and [advanced formatting](/docs/guides/string-manipulation-python-3/). However, it lacks a dedicated, built-in method for reversing strings. This guide shows you how to reverse a string in Python by leveraging Python's tools for working with sequences. +Python supports several common string operations, like [slicing, indexing, searching,](/cloud/guides/how-to-slice-and-index-strings-in-python/) and [advanced formatting](/cloud/guides/string-manipulation-python-3/). However, it lacks a dedicated, built-in method for reversing strings. This guide shows you how to reverse a string in Python by leveraging Python's tools for working with sequences. ## Before You Begin This guide's example rely on Python 3. Make sure that you have Python 3 installed on your system before getting started. -You can learn how to install Python 3 from our guide [How to Install Python 3](/docs/guides/how-to-install-python-on-ubuntu-20-04/). Be sure to use the drop-down menu at the top of the guide to select the Linux distribution that is compatible with your system. +You can learn how to install Python 3 from our guide [How to Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). Be sure to use the drop-down menu at the top of the guide to select the Linux distribution that is compatible with your system. ## How to Reverse a String in Python: 5 Ways @@ -30,7 +30,7 @@ The string, when reversed, reads "flow mood". ### Using Slicing -Python's *slice* notation is a powerful tool for manipulating lists and other sequences. You can learn more about Python slices in our guide [Python Lists and How to Use Them](/docs/guides/python-lists-and-how-to-use-them/). +Python's *slice* notation is a powerful tool for manipulating lists and other sequences. You can learn more about Python slices in our guide [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/). Slice notation also extends to strings, where it treats each character in a string as an item in a list. This means you can use the slice notation you would use for reversing a list to reverse a string: @@ -57,7 +57,7 @@ Of the methods for reversing a string covered in this guide, slicing is the fast ### Reverse a String Using a Loop -Loops can be used to "manually" reverse a string by iterating through each character. Python provides two kinds of loops you can use: the `while` loop and the `for` loop. See our [For and While Loops in Python 3](/docs/guides/python-for-and-while-loops/) guide for deeper dive into these loop statements. +Loops can be used to "manually" reverse a string by iterating through each character. Python provides two kinds of loops you can use: the `while` loop and the `for` loop. See our [For and While Loops in Python 3](/cloud/guides/python-for-and-while-loops/) guide for deeper dive into these loop statements. #### While Loop @@ -115,7 +115,7 @@ A `for` loop takes a sequence and loops through each item in it. You can use it flow mood {{< /output >}} -The `for` loop used above is one of the fastest ways to reverse a string using Python. It is second only to the slice method, and it roughly ties with Python's own `reversed()` method. The `reversed()` method is covered [later on in this guide](/docs/guides/how-to-reverse-a-string-in-python/#using-the-reversed-method). +The `for` loop used above is one of the fastest ways to reverse a string using Python. It is second only to the slice method, and it roughly ties with Python's own `reversed()` method. The `reversed()` method is covered [later on in this guide](/cloud/guides/how-to-reverse-a-string-in-python/#using-the-reversed-method). ### Using Join @@ -218,7 +218,7 @@ Aside from the slicing approach, the `reversed()` method is faster than the othe ### Using a Custom Function -In the [Using Recursion](/docs/guides/how-to-reverse-a-string-in-python/#using-recursion) section, a custom function is used to reverse a string. In fact, you can use a custom function for any of the approaches outlined in this guide. +In the [Using Recursion](/cloud/guides/how-to-reverse-a-string-in-python/#using-recursion) section, a custom function is used to reverse a string. In fact, you can use a custom function for any of the approaches outlined in this guide. Creating a dedicated function for reversing a string can be convenient when you want to use the same approach in multiple places. This is especially the case when you are using a more complicated approach, like the `while` or `for` loop. @@ -269,4 +269,4 @@ wolf doom There are many ways to reverse a string in Python. However, some approaches are more efficient than others and which you choose depends on your own needs. For example, if execution speed is a concern, you should use slicing, since it is the fastest. You can also create a custom function that employs looping if you'd like to reuse the function throughout your code. If you're not as concerned with performance, you may choose to use a recursive function. -If you'de like to learn more about Python, take a look through our other [Python guides and tutorials](/docs/guides/development/python/). \ No newline at end of file +If you'de like to learn more about Python, take a look through our other [Python guides and tutorials](/cloud/guides/development/python/). \ No newline at end of file diff --git a/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md b/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md index 665841a367d..34a789ea24b 100644 --- a/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md +++ b/docs/guides/development/python/how-to-slice-and-index-strings-in-python/index.md @@ -23,14 +23,14 @@ It is possible to access any character in a Python string using array-based inde ## 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. **Do not** follow the *Configure a Firewall* section yet. This guide includes firewall rules specifically for an OpenVPN server. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall* section yet. This guide includes firewall rules specifically for an OpenVPN server. -1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. For information on how to use Python, see our guide on [How to Install Python 3](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. For information on how to use Python, see our guide on [How to Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Indexing Strings Works in Python 3 @@ -158,7 +158,7 @@ A stride can be used together with start and end indices. The next example demon oe ytm {{< /output >}} -For a deeper dive into reversing string in Python using slicing and other methods, see our guide [Reversing a String in Python](/docs/guides/how-to-reverse-a-string-in-python/) +For a deeper dive into reversing string in Python using slicing and other methods, see our guide [Reversing a String in Python](/cloud/guides/how-to-reverse-a-string-in-python/) ## Use the Slice Object to Simplify Repetitive Tasks diff --git a/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md b/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md index edc5fa2700e..593bf2f9a4e 100644 --- a/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md +++ b/docs/guides/development/python/how-to-use-python-markdown-to-convert-markdown-to-html/index.md @@ -41,14 +41,14 @@ There are a few minor differences between the behavior of Python-Markdown and th ## 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 Python is properly installed on the Linode. You must be able to launch and use the Python programming environment and have some basic knowledge of the Python programming language. For information on how to install and use Python, see the [Linode guide to Python](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode. You must be able to launch and use the Python programming environment and have some basic knowledge of the Python programming language. For information on how to install and use Python, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Python-Markdown diff --git a/docs/guides/development/python/how-to-write-and-run-python-script/index.md b/docs/guides/development/python/how-to-write-and-run-python-script/index.md index 97ba86ea1a4..4e5ddea29cd 100644 --- a/docs/guides/development/python/how-to-write-and-run-python-script/index.md +++ b/docs/guides/development/python/how-to-write-and-run-python-script/index.md @@ -22,7 +22,7 @@ external_resources: ## Understanding How Python Works -Python is a good example of a modern high-level programming language. It is open source and is designed for general use, capable of working in many domains. Python is simple and easy to use and is highly readable, so it is considered a good language for beginners. Python is packed with useful built-in features, but it can also be extended through the use of modules. Python is dynamically-typed, platform-independent, and supports *Object-Oriented Programming* (OOP) techniques. Check the [More Information](/docs/guides/how-to-write-and-run-python-script/#more-information) section of this guide for some of the Python tutorials and reference materials. +Python is a good example of a modern high-level programming language. It is open source and is designed for general use, capable of working in many domains. Python is simple and easy to use and is highly readable, so it is considered a good language for beginners. Python is packed with useful built-in features, but it can also be extended through the use of modules. Python is dynamically-typed, platform-independent, and supports *Object-Oriented Programming* (OOP) techniques. Check the [More Information](/cloud/guides/how-to-write-and-run-python-script/#more-information) section of this guide for some of the Python tutorials and reference materials. Python is an interpreted language that allows users to write and run scripts interactively. Interpreted languages are processed by an interpreter, not compiled. Users can run a program as soon as they write it, with no intermediate steps. Python interpreters evaluate Python scripts. Scripts are plain text files that are written in a text editor or an interactive development environment. Every script contains a sequence of commands written in the Python programming language. Due to Python's interpreted nature, Python scripts are completely portable from one system to another. Only the source code and a Python interpreter are required to run a Python script. @@ -38,12 +38,12 @@ Python makes heavy use of external modules. Unlike a script, a module is not a 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 >}} -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 >}} {{< note >}} @@ -102,9 +102,9 @@ markdown.markdown('## Work Tasks') '

      Work Tasks

      ' ``` -For more detailed information on modules, see our [How to Install and Import Python Modules](/docs/guides/installing-and-importing-modules-in-python-3/) guide. +For more detailed information on modules, see our [How to Install and Import Python Modules](/cloud/guides/installing-and-importing-modules-in-python-3/) guide. -Development environments with many Python projects, packages and modules are often complicated to manage. Package conflicts can occur when new releases of existing packages overwrite older releases. Python *virtual environments* help manage these dependencies and avoid conflicts. For more information, review the Linode guide on [Managing Python Packages and Versions on Linux](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/). +Development environments with many Python projects, packages and modules are often complicated to manage. Package conflicts can occur when new releases of existing packages overwrite older releases. Python *virtual environments* help manage these dependencies and avoid conflicts. For more information, review the Linode guide on [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/). ## How to Write a Python Script @@ -174,12 +174,12 @@ Python programs are built out of fundamental control and data structures. Withou A control structure controls the execution flow of a program. Operators are used to making logical decisions. Data structures store and organize data, and often provide mechanisms to retrieve and manipulate the data. -- **Comparison Operations**: These operators are used to compare two variables or a variable and a constant. The `==` operator tests for equality, while `!=` tests for inequality. The `<` ("less than") and `>` ("greater than") symbols are relational comparators. For convenience, Python also provides the `<=` ("less than or equal") and `>=` ("greater than or equal") operators. Python allows programs to use comparison operators on strings, characters, and other objects. However, not all operations are valid on all objects. The Linode guide to [ Boolean Variables, Operators, and Conditional Statements in Python](/docs/guides/boolean-variables-in-python/) provides more options. -- **Conditional Statements**: Conditional statements use *Boolean expressions* to make decisions. These decisions determine the control flow of the program. If the result of the Boolean expression is *True*, the program runs a sequence of commands. If the result is *False*, it might run other lines of code, or it might do nothing at all. In Python, the most important conditional statement is the `if` statement, along with the `if not` and `if else` variants. For more information, see the Linode guide to [If Statements and Chained Conditionals](/docs/guides/if-statements-and-conditionals-in-python/). -- **Logical Operators**: Logical operators combine several comparison operations into larger compound statements. The main logical operators are `and`, `or`, and `not`. The expression` a and b` means `a` must be `True` and `b` must also be `True`. The expression `a or b` is `True` if either `a` or `b` is `True`, or if both are `True`. `not a` is only `True` when `a` evaluates to `False`. The Linode guide to [Boolean Variables, Operators, and Conditional Statements in Python](/docs/guides/boolean-variables-in-python/#logical-operators-in-python) introduces the logical operators. -- **Loop Statements**: Python loop statements execute a block of code zero or more times. A `for` loop is used when the number of repetitions is known before entering the loop. The `while` statement is better for situations where a loop keeps running until some condition is met. Loops can also iterate across a sequential data type such as a list or dictionary. The Linode guide to [For and While Loops](/docs/guides/python-for-and-while-loops/) provides more information. +- **Comparison Operations**: These operators are used to compare two variables or a variable and a constant. The `==` operator tests for equality, while `!=` tests for inequality. The `<` ("less than") and `>` ("greater than") symbols are relational comparators. For convenience, Python also provides the `<=` ("less than or equal") and `>=` ("greater than or equal") operators. Python allows programs to use comparison operators on strings, characters, and other objects. However, not all operations are valid on all objects. The Linode guide to [ Boolean Variables, Operators, and Conditional Statements in Python](/cloud/guides/boolean-variables-in-python/) provides more options. +- **Conditional Statements**: Conditional statements use *Boolean expressions* to make decisions. These decisions determine the control flow of the program. If the result of the Boolean expression is *True*, the program runs a sequence of commands. If the result is *False*, it might run other lines of code, or it might do nothing at all. In Python, the most important conditional statement is the `if` statement, along with the `if not` and `if else` variants. For more information, see the Linode guide to [If Statements and Chained Conditionals](/cloud/guides/if-statements-and-conditionals-in-python/). +- **Logical Operators**: Logical operators combine several comparison operations into larger compound statements. The main logical operators are `and`, `or`, and `not`. The expression` a and b` means `a` must be `True` and `b` must also be `True`. The expression `a or b` is `True` if either `a` or `b` is `True`, or if both are `True`. `not a` is only `True` when `a` evaluates to `False`. The Linode guide to [Boolean Variables, Operators, and Conditional Statements in Python](/cloud/guides/boolean-variables-in-python/#logical-operators-in-python) introduces the logical operators. +- **Loop Statements**: Python loop statements execute a block of code zero or more times. A `for` loop is used when the number of repetitions is known before entering the loop. The `while` statement is better for situations where a loop keeps running until some condition is met. Loops can also iterate across a sequential data type such as a list or dictionary. The Linode guide to [For and While Loops](/cloud/guides/python-for-and-while-loops/) provides more information. -Many programs use data structures to contain and organize a series of values. Simple data structures like strings and arrays are extremely commonplace. More complex data structures including stacks, queues, graphs, trees, and hash tables are used in specialized situations. The Linode guide to [Data Structures in Computer Programming](/docs/guides/data-structure/) explains data structures in more depth. +Many programs use data structures to contain and organize a series of values. Simple data structures like strings and arrays are extremely commonplace. More complex data structures including stacks, queues, graphs, trees, and hash tables are used in specialized situations. The Linode guide to [Data Structures in Computer Programming](/cloud/guides/data-structure/) explains data structures in more depth. Python also features a large number of built-in data structures, including a list, set, and dictionary. Each data structure has its own built-in methods to implement core operations for the structure. Python modules provide access to more specialized data structures. Pre-existing data structures are ready-to-use. They help programmers save development and test time and avoid errors. See the [Python data structure documentation](https://docs.python.org/3/tutorial/datastructures.html) for additional information about the built-in types. diff --git a/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md b/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md index 0ad3ed60303..054f3de4064 100644 --- a/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md +++ b/docs/guides/development/python/if-statements-and-conditionals-in-python/index.md @@ -50,14 +50,14 @@ An `if then` conditional can be extended using the `else` option to form an `if ## 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 Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Python Conditionals diff --git a/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md b/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md index b0663978111..8c64e7a364a 100644 --- a/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md +++ b/docs/guides/development/python/installing-and-importing-modules-in-python-3/index.md @@ -41,14 +41,14 @@ Some of the reasons to use Python modules include the following: ## 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 Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Install Modules in Python 3 @@ -61,7 +61,7 @@ These instructions are geared toward Ubuntu users but are generally applicable f ### Install Modules with pip -1. Ensure the `pip` module is already installed. `pip` can be installed using the [APT package manager](/docs/guides/apt-package-manager/). +1. Ensure the `pip` module is already installed. `pip` can be installed using the [APT package manager](/cloud/guides/apt-package-manager/). sudo apt install python3-pip diff --git a/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md b/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md index 6bfcc2f2765..dcce305ef0d 100644 --- a/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md +++ b/docs/guides/development/python/mock-testing-using-the-python-unittest-library/index.md @@ -10,7 +10,7 @@ keywords: ['python unittest','unittest mock','python unittest assert','mock obje license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -The Python unittest library helps you test your application code for errors in an automated way. It’s one of the testing methods discussed in our guide, [An Overview of Python Testing Frameworks for Unit Testing](/docs/guides/python-testing-frameworks-for-software-unit-testing/#unittest-python-testing-framework-example). Mock testing is especially useful while your code is yet to be completed and your development is progressing. It performs continuous testing during development and provides good insights into how an application might ultimately function. This guide shows you how to use the Python unittest library to create mock objects to test your code. +The Python unittest library helps you test your application code for errors in an automated way. It’s one of the testing methods discussed in our guide, [An Overview of Python Testing Frameworks for Unit Testing](/cloud/guides/python-testing-frameworks-for-software-unit-testing/#unittest-python-testing-framework-example). Mock testing is especially useful while your code is yet to be completed and your development is progressing. It performs continuous testing during development and provides good insights into how an application might ultimately function. This guide shows you how to use the Python unittest library to create mock objects to test your code. ## What is the Purpose of Mock Objects in Unit Testing? diff --git a/docs/guides/development/python/pros-and-cons-of-python/index.md b/docs/guides/development/python/pros-and-cons-of-python/index.md index 229ecb9dddb..01728c16388 100644 --- a/docs/guides/development/python/pros-and-cons-of-python/index.md +++ b/docs/guides/development/python/pros-and-cons-of-python/index.md @@ -95,7 +95,7 @@ Nonetheless, there are some situations where Python is the right choice. There a It is easy to start using Python. A good place to begin is the [Python Beginner's Guide](https://wiki.python.org/moin/BeginnersGuide). The Python Wiki also has a list of tutorials and resources for [New](https://wiki.python.org/moin/BeginnersGuide/NonProgrammers) or [Experienced Programmers](https://wiki.python.org/moin/BeginnersGuide/Programmers). -To run Python on Ubuntu or another Linux distribution, use the command `python3`. Python is usually already installed on most Linux systems. To download Python for other platforms, see the [Python downloads page](https://www.python.org/downloads/). For more information about how to use Python on a Linode system, see the [Linode guide to Python](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +To run Python on Ubuntu or another Linux distribution, use the command `python3`. Python is usually already installed on most Linux systems. To download Python for other platforms, see the [Python downloads page](https://www.python.org/downloads/). For more information about how to use Python on a Linode system, see the [Linode guide to Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). ### Alternatives to Python diff --git a/docs/guides/development/python/python-3-dictionaries/index.md b/docs/guides/development/python/python-3-dictionaries/index.md index 29d2c6779b9..b3ebbbdca14 100644 --- a/docs/guides/development/python/python-3-dictionaries/index.md +++ b/docs/guides/development/python/python-3-dictionaries/index.md @@ -85,7 +85,7 @@ A tuple is a built-in Python data structure that stores multiple comma-separated map_coordinates = {(0,1): 100, (2,1): 200} -To learn more about the syntax of Python tuples and other topics, like built-in tuple methods, and tuple unpacking, see our guide [An Introduction to Python Tuples](/docs/guides/python-tuples/). +To learn more about the syntax of Python tuples and other topics, like built-in tuple methods, and tuple unpacking, see our guide [An Introduction to Python Tuples](/cloud/guides/python-tuples/). ### Dictionary Comprehension @@ -129,7 +129,7 @@ Dictionary comprehensions require less typing due to its concise syntax. It also After creating a dictionary, you can access its values in several different ways. The two common methods for performing this task are to access the value directly or to access it as part of a loop. A dictionary often contains unwanted values, so using Python comprehensions can cut the dictionary down to size before you access its values. These techniques appear in the following sections. -If you are newer to for and while loops in Python, you can view several examples in our guide [For and While Loops in Python 3](/docs/guides/python-for-and-while-loops/). +If you are newer to for and while loops in Python, you can view several examples in our guide [For and While Loops in Python 3](/cloud/guides/python-for-and-while-loops/). ### Access a Dictionary's Values diff --git a/docs/guides/development/python/python-arrays/index.md b/docs/guides/development/python/python-arrays/index.md index 680c8f813a5..4f16ef92224 100644 --- a/docs/guides/development/python/python-arrays/index.md +++ b/docs/guides/development/python/python-arrays/index.md @@ -37,11 +37,11 @@ When creating an array in Python, you must indicate the type of data to be store Generally, though, for arrays containing numbers, you can focus on using just two of the available codes. Use the `i` code for arrays containing integers. Use the `d` code for arrays containing floating point numbers. -You can see an example showing how to use a code to initiate an array at the beginning of the [How to Use Arrays in Python](/docs/guides/python-arrays/#how-to-use-arrays-in-python) section of this guide. +You can see an example showing how to use a code to initiate an array at the beginning of the [How to Use Arrays in Python](/cloud/guides/python-arrays/#how-to-use-arrays-in-python) section of this guide. ### Python Arrays vs. Lists -Often, people talking about arrays in Python are actually referring to [Python *lists*](/docs/guides/python-lists-and-how-to-use-them/). While lists and arrays share some similarities in Python, they are two distinct types of collections. +Often, people talking about arrays in Python are actually referring to [Python *lists*](/cloud/guides/python-lists-and-how-to-use-them/). While lists and arrays share some similarities in Python, they are two distinct types of collections. The main difference between lists and arrays is that arrays constrain the object type it can store. Lists do not give you a way to limit the types of objects they contain. When using an array, you can be sure that it only contains the type that was specified upon creation. @@ -114,7 +114,7 @@ The next example slices the range from index `0` through index `3`. It progresse array('i', [2, 6]) {{< /output >}} -Python's slice notation is a powerful tool that can be used to perform many more complicated operations than demonstrated in this guide. To see more examples with in-depth explanations, check out our guides [How to Slice and Index Strings in Python](/docs/guides/how-to-slice-and-index-strings-in-python/) and [Python Lists and How to Use Them](/docs/guides/python-lists-and-how-to-use-them/). While these guides do not deal directly with Python arrays, the concepts apply equally well. +Python's slice notation is a powerful tool that can be used to perform many more complicated operations than demonstrated in this guide. To see more examples with in-depth explanations, check out our guides [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/) and [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/). While these guides do not deal directly with Python arrays, the concepts apply equally well. #### Looping Over Array Elements diff --git a/docs/guides/development/python/python-data-types/index.md b/docs/guides/development/python/python-data-types/index.md index 168aed42954..b25ee30e169 100644 --- a/docs/guides/development/python/python-data-types/index.md +++ b/docs/guides/development/python/python-data-types/index.md @@ -170,7 +170,7 @@ In the section above, strings are called sequences of characters. Strings act as Many of these operations can be used on strings as well. Using them can give you powerful tools for manipulating and extracting data from strings in Python. -To see these capabilities and learn more about them, take a look at our guide on [How to Slice and Index Strings in Python](/docs/guides/how-to-slice-and-index-strings-in-python/). +To see these capabilities and learn more about them, take a look at our guide on [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/). ### Collections @@ -224,7 +224,7 @@ print(set_variable) Python's collections are powerful but more complicated than most other data types. As such, they have many operations, more than we can cover here. -Instead, take a look at our other guides to learn more about the basics of Python collections. See our [Python Lists and How to Use Them](/docs/guides/python-lists-and-how-to-use-them/) guide. You may also want to refer to the guide on slicing and indexing strings, [How to Slice and Index Strings in Python](/docs/guides/how-to-slice-and-index-strings-in-python/), for an in-depth look at slice notation. +Instead, take a look at our other guides to learn more about the basics of Python collections. See our [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/) guide. You may also want to refer to the guide on slicing and indexing strings, [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/), for an in-depth look at slice notation. ### Dictionaries @@ -266,7 +266,7 @@ else: Melissa is taller than Edgar. ``` -You can learn more about Python dictionaries and how to make the most of them by reading our [Using Dictionaries in Python 3](/docs/guides/python-3-dictionaries/) guide. +You can learn more about Python dictionaries and how to make the most of them by reading our [Using Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/) guide. ## Python Data Type Operations @@ -335,12 +335,12 @@ Python has three functions for casting between numbers and strings. You now have what you need to start working effectively with the most common data types in Python. Following this guide can help you get more familiar with everything from basic types like Boolean and integers to strings, collections, and dictionaries. -Looking to deepen your understanding? Then be sure to look at our other [guides on Python](/docs/guides/development/python/). A few of these have been linked throughout this guide, but here is a list gathering those together: +Looking to deepen your understanding? Then be sure to look at our other [guides on Python](/cloud/guides/development/python/). A few of these have been linked throughout this guide, but here is a list gathering those together: - - [How to Slice and Index Strings in Python](/docs/guides/how-to-slice-and-index-strings-in-python/) + - [How to Slice and Index Strings in Python](/cloud/guides/how-to-slice-and-index-strings-in-python/) -- [Python Lists and How to Use Them](/docs/guides/python-lists-and-how-to-use-them/) +- [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/) - **Getting Started with Python Sets** -- [Using Dictionaries in Python 3](/docs/guides/python-3-dictionaries/) \ No newline at end of file +- [Using Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/) \ No newline at end of file diff --git a/docs/guides/development/python/python-for-and-while-loops/index.md b/docs/guides/development/python/python-for-and-while-loops/index.md index 4976fce0f26..13671900111 100644 --- a/docs/guides/development/python/python-for-and-while-loops/index.md +++ b/docs/guides/development/python/python-for-and-while-loops/index.md @@ -45,14 +45,14 @@ To summarize, a `for` statement is used when the maximum number of iterations is ## 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 Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/docs/guides/how-to-install-python-on-ubuntu-20-04/). +1. Ensure Python is properly installed on the Linode and you can launch and use the Python programming environment. To run Python on Ubuntu, use the command `python3`. For information on how to use Python, see our guide on [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04/). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Python Loops @@ -278,7 +278,7 @@ The name of the city is New York and the name of the state is New York The name of the city is Miami and the name of the state is Florida {{< /output >}} -Built-in Python dictionary methods, like `items()` can be used to efficiently loop over a Python dictionary. To learn about these built-in dictionary methods, see our guide [How to Use Dictionaries in Python 3](/docs/guides/python-3-dictionaries/). +Built-in Python dictionary methods, like `items()` can be used to efficiently loop over a Python dictionary. To learn about these built-in dictionary methods, see our guide [How to Use Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/). ### How to Break or Exit from a For Loop in Python diff --git a/docs/guides/development/python/python-lists-and-how-to-use-them/index.md b/docs/guides/development/python/python-lists-and-how-to-use-them/index.md index 6c4f5356939..4cf4ee832df 100644 --- a/docs/guides/development/python/python-lists-and-how-to-use-them/index.md +++ b/docs/guides/development/python/python-lists-and-how-to-use-them/index.md @@ -18,7 +18,7 @@ Python includes many built-in methods and operations that help you manipulate li ## Before You Begin -1. This guide uses Python 3 syntax. Although there is some overlap, some of the code may not work with Python 2. To install Python 3, follow our [How to Install Python 3](/docs/guides/how-to-install-python-on-debian-10/) guide, using the **Distribution** drop down to select your Linux distribution. +1. This guide uses Python 3 syntax. Although there is some overlap, some of the code may not work with Python 2. To install Python 3, follow our [How to Install Python 3](/cloud/guides/how-to-install-python-on-debian-10/) guide, using the **Distribution** drop down to select your Linux distribution. 1. All commands in this guide can be entered either in a **Python script** or in the **Python interpreter** (also known as the Python Interactive Shell). You can learn more about either method through the Python 3 installation guide linked above. @@ -161,7 +161,7 @@ Print the remaining items in `example_list`: [0, 4, 8] {{< /output >}} -You can learn more about Python's slice notation in the [Reverse a List](/docs/guides/python-lists-and-how-to-use-them/#reverse-a-list) section below. The links provided at the end of this guide also provide more information. +You can learn more about Python's slice notation in the [Reverse a List](/cloud/guides/python-lists-and-how-to-use-them/#reverse-a-list) section below. The links provided at the end of this guide also provide more information. ## How to Sort a List in Python @@ -279,7 +279,7 @@ Print the strings stored in the `example_string_from_list` variable: 1 2 3 4 5 {{< /output >}} -To learn how to convert a string to a list, see our guide [How to Convert Data Types in Python](/docs/guides/how-to-convert-datatypes-in-python/#converting-strings-to-lists). +To learn how to convert a string to a list, see our guide [How to Convert Data Types in Python](/cloud/guides/how-to-convert-datatypes-in-python/#converting-strings-to-lists). ## How to Find an Item in a List in Python diff --git a/docs/guides/development/python/python-priority-queue/index.md b/docs/guides/development/python/python-priority-queue/index.md index 302edc15bc5..1b862a69049 100644 --- a/docs/guides/development/python/python-priority-queue/index.md +++ b/docs/guides/development/python/python-priority-queue/index.md @@ -22,7 +22,7 @@ In Python, queues are frequently used to process items using a *first in first o ### What is a Queue? -A queue is a fundamental [programming data structure](/docs/guides/data-structure/). Data structures are used to organize, manage, and store data. They make programs easier to understand and write, and often faster and more reliable too. +A queue is a fundamental [programming data structure](/cloud/guides/data-structure/). Data structures are used to organize, manage, and store data. They make programs easier to understand and write, and often faster and more reliable too. Conceptually, a queue represents data items as an ordered list. Items are removed from the list in the same order they arrived. Queues are a familiar concept in everyday life. Every time a group of people line up for something, they form a queue. For instance, a line of people at a bank or a coffee shop is a queue. The first person to arrive is at the front of the queue. They are the next person to be served. When a new customer arrives, they join the back of the queue. diff --git a/docs/guides/development/python/python-sets/index.md b/docs/guides/development/python/python-sets/index.md index 45bb98c96e0..6b0ba900cba 100644 --- a/docs/guides/development/python/python-sets/index.md +++ b/docs/guides/development/python/python-sets/index.md @@ -63,7 +63,7 @@ The members of a set must be *[hashable](https://docs.python.org/3/glossary.html Technically, a hashable object's `__hash__()` function must always return the same value for the lifetime of the object, rather than the object itself being immutable. [This blog post](https://inventwithpython.com/blog/2019/02/01/hashable-objects-must-be-immutable/) describes why, in practice, hashable objects used with sets are also immutable. {{< /note >}} -Integers and strings are built-in Python types that are hashable and can be stored in a set. Mutable container types like lists, dictionaries, and sets are not hashable, because their contents can change. A [Python tuple](/docs/guides/python-tuples/) is hashable if each of its values is hashable. +Integers and strings are built-in Python types that are hashable and can be stored in a set. Mutable container types like lists, dictionaries, and sets are not hashable, because their contents can change. A [Python tuple](/cloud/guides/python-tuples/) is hashable if each of its values is hashable. ## Create a Python Set @@ -75,7 +75,7 @@ Python provides a few ways to create sets: example_set = {2, 4, 6, 8} ``` - An empty set cannot be expressed with the set literal syntax. An empty pair of curly braces `{}` represents an empty [Python dictionary](/docs/guides/python-3-dictionaries/). Use the `set()` constructor (below) to create an empty set. + An empty set cannot be expressed with the set literal syntax. An empty pair of curly braces `{}` represents an empty [Python dictionary](/cloud/guides/python-3-dictionaries/). Use the `set()` constructor (below) to create an empty set. - The [`set()` constructor function](https://docs.python.org/3/library/stdtypes.html#set) accepts a Python list (or any other [iterable](https://docs.python.org/3/glossary.html#term-iterable) object) as input and returns a set with unique values from the list. The items in the input list/iterable must be hashable. @@ -136,8 +136,8 @@ The operations for Python sets differ from those available for lists and arrays. {{< note >}} The Linode docs library has guides for learning about Python lists and arrays: -- [Python Lists and How to Use Them](/docs/guides/python-lists-and-how-to-use-them/) -- [Python Arrays: What They Are and How to Use Them](/docs/guides/python-arrays/) +- [Python Lists and How to Use Them](/cloud/guides/python-lists-and-how-to-use-them/) +- [Python Arrays: What They Are and How to Use Them](/cloud/guides/python-arrays/) {{< /note >}} ## Fetch from a Set diff --git a/docs/guides/development/python/python-string-interpolation/index.md b/docs/guides/development/python/python-string-interpolation/index.md index 9c27d84cc0a..1a0016f8f33 100644 --- a/docs/guides/development/python/python-string-interpolation/index.md +++ b/docs/guides/development/python/python-string-interpolation/index.md @@ -209,7 +209,7 @@ The Python interpreter returns the interpolated string: 'Welcome, Frida!' {{}} -The Python 3 Template class provides more readable code, especially when using a single template with various values stored in a [dictionary](/docs/guides/python-3-dictionaries/). For example: +The Python 3 Template class provides more readable code, especially when using a single template with various values stored in a [dictionary](/cloud/guides/python-3-dictionaries/). For example: {{< file "~/home/username/template_example.py">}} from string import Template diff --git a/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md b/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md index 92d508d8087..cd30b452340 100644 --- a/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md +++ b/docs/guides/development/python/python-testing-frameworks-for-software-unit-testing/index.md @@ -17,7 +17,7 @@ This guide provides an introduction to popular Python testing frameworks used to The list below includes some of the most popular Python testing frameworks and what you can expect from each one. -- [**doctest**](https://docs.python.org/3/library/doctest.html): Provides an interactive command-line shell and can be integrated with tools like [Jupyter Notebook](/docs/guides/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/) with greater ease than other testing packages. +- [**doctest**](https://docs.python.org/3/library/doctest.html): Provides an interactive command-line shell and can be integrated with tools like [Jupyter Notebook](/cloud/guides/install-a-jupyter-notebook-server-on-a-linode-behind-an-apache-reverse-proxy/) with greater ease than other testing packages. Doctest is not as feature-rich as other frameworks, which limits it to simpler testing scenarios. @@ -208,7 +208,7 @@ If you’re looking for a more feature-rich test tool, then Pytest is a good cho Before you can use Pytest, you must install it on your system. {{< note >}} -If you have not already installed `conda`, see our [How to Install Anaconda](/docs/guides/how-to-install-anaconda/) guide for the installation instructions. +If you have not already installed `conda`, see our [How to Install Anaconda](/cloud/guides/how-to-install-anaconda/) guide for the installation instructions. {{< /note >}} To install Pytest using conda, issue the following command: diff --git a/docs/guides/development/python/python-tuples/index.md b/docs/guides/development/python/python-tuples/index.md index 83abf451405..0ddd78d871d 100644 --- a/docs/guides/development/python/python-tuples/index.md +++ b/docs/guides/development/python/python-tuples/index.md @@ -14,7 +14,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' A tuple is a built-in Python data structure that stores multiple comma-separated values. Tuples are an immutable *sequence* type that can store values of any data type. A mix of different data types can also be stored in a tuple. This guide describes the characteristics of tuples and shows you the various ways you can create a Python tuple. {{< note >}} -You should have [Python 3.0 installed on your machine](/docs/guides/how-to-install-python-on-ubuntu-20-04/) to follow along with the examples in this guide. +You should have [Python 3.0 installed on your machine](/cloud/guides/how-to-install-python-on-ubuntu-20-04/) to follow along with the examples in this guide. {{< /note >}} ## Python Tuple Syntax @@ -147,7 +147,7 @@ Use the `print()` method to view the contents of `dict_to_tuple_example`: dict_items([('first', 'Jane'), ('last', 'Doe'), ('year', '2000')]) {{}} -Python dictionaries also support the use of tuples as a key. See our guide [How to use Dictionaries in Python 3](/docs/guides/python-3-dictionaries/) to learn more. +Python dictionaries also support the use of tuples as a key. See our guide [How to use Dictionaries in Python 3](/cloud/guides/python-3-dictionaries/) to learn more. ## Tuple Unpacking @@ -225,7 +225,7 @@ Use the `type()` method to confirm that the `tuple_to_list_example` variable con {{}} -To learn how to convert a string to a tuple, see our guide [How to Convert Data Types in Python](/docs/guides/how-to-convert-datatypes-in-python/#converting-strings-to-tuples). +To learn how to convert a string to a tuple, see our guide [How to Convert Data Types in Python](/cloud/guides/how-to-convert-datatypes-in-python/#converting-strings-to-tuples). ## Built-in Tuple Methods diff --git a/docs/guides/development/python/python-variables/index.md b/docs/guides/development/python/python-variables/index.md index 696357ce178..599f201ec9a 100644 --- a/docs/guides/development/python/python-variables/index.md +++ b/docs/guides/development/python/python-variables/index.md @@ -201,7 +201,7 @@ Traceback (most recent call last): TypeError: can only concatenate str (not "int") to str ``` -There are many more data types than integers and strings, and much more to know about them. To keep learning more, take a look at our [The Basics of Python Data Types](/docs/guides/python-data-types/) guide. +There are many more data types than integers and strings, and much more to know about them. To keep learning more, take a look at our [The Basics of Python Data Types](/cloud/guides/python-data-types/) guide. ### Casting Variables @@ -226,4 +226,4 @@ Hello, 5! This guide has covered the foundations you need to start working with variables in Python, including variable assignment, variable operations, types, and scopes. -In addition to this guide, you may be interested in [The Basics of Python Data Types](/docs/guides/python-data-types/), or our other [guides on Python development](/docs/guides/development/python/). These can give you tools to elevate your Python skills and start making your Python code more effective. \ No newline at end of file +In addition to this guide, you may be interested in [The Basics of Python Data Types](/cloud/guides/python-data-types/), or our other [guides on Python development](/cloud/guides/development/python/). These can give you tools to elevate your Python skills and start making your Python code more effective. \ No newline at end of file diff --git a/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md b/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md index b013fed5df4..d871b112bcf 100644 --- a/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md +++ b/docs/guides/development/python/pytorch-installation-ubuntu-2004/index.md @@ -20,9 +20,9 @@ PyTorch allows popular Python-based apps to access GPU hardware to speed up mach ### Prerequisites -The instructions below install PyTorch and Anaconda on an Ubuntu 20.04 instance. For the best results, use a Linode [GPU instance](/docs/products/compute/compute-instances/get-started/) with sufficient memory and storage to accomplish your task. Up to 96GB of memory and 7TB of storage are available. +The instructions below install PyTorch and Anaconda on an Ubuntu 20.04 instance. For the best results, use a Linode [GPU instance](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances) with sufficient memory and storage to accomplish your task. Up to 96GB of memory and 7TB of storage are available. -Optimizing a task may also require using external data sources. If using external data sources and data sets, like [Linode Object Storage](/docs/products/tools/cli/guides/object-storage/), you should prepare them ahead of setting up your PyTorch GPU instance. +Optimizing a task may also require using external data sources. If using external data sources and data sets, like [Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage-commands), you should prepare them ahead of setting up your PyTorch GPU instance. 1. Update your Ubuntu 20.04 instance. The base packages and libraries must be updated first. @@ -36,7 +36,7 @@ Optimizing a task may also require using external data sources. If using externa sudo apt install nvidia-cuda-toolkit - For full instructions, see [Installing the NVIDIA CUDA Toolkit](/docs/products/compute/compute-instances/guides/install-nvidia-cuda/). + For full instructions, see [Installing the NVIDIA CUDA Toolkit](https://techdocs.akamai.com/cloud-computing/docs/install-the-nvidia-cuda-toolkit-on-gpu-compute-instances). {{< note >}} The NVIDIA CUDA Toolkit is not needed on CPU-only (non-GPU) instances. @@ -44,7 +44,7 @@ The NVIDIA CUDA Toolkit is not needed on CPU-only (non-GPU) instances. ### Use Conda to Install PyTorch -[Anaconda](https://www.anaconda.com/) is a package manager for [Python](/docs/guides/how-to-install-python-on-ubuntu-20-04/) and [R](/docs/guides/how-to-install-r-on-ubuntu-and-debian/). The steps in this section uses Anaconda to install PyTorch. +[Anaconda](https://www.anaconda.com/) is a package manager for [Python](/cloud/guides/how-to-install-python-on-ubuntu-20-04/) and [R](/cloud/guides/how-to-install-r-on-ubuntu-and-debian/). The steps in this section uses Anaconda to install PyTorch. 1. In your home directory, create a directory to install Anaconda and move into it. @@ -113,7 +113,7 @@ Verifying transaction: done ### Use Pip to Install PyTorch -If you don't have access to Anaconda, PyTorch can be installed with Python Pip. Learn about Pip and Python programming environments in our [Using Pipenv to Manage Python Packages and Versions](/docs/guides/manage-python-environments-pipenv/) guide. +If you don't have access to Anaconda, PyTorch can be installed with Python Pip. Learn about Pip and Python programming environments in our [Using Pipenv to Manage Python Packages and Versions](/cloud/guides/manage-python-environments-pipenv/) guide. 1. To install Pip, use the following command: diff --git a/docs/guides/development/python/string-manipulation-python-3/index.md b/docs/guides/development/python/string-manipulation-python-3/index.md index c65811ea9d2..aa7d27e91e7 100644 --- a/docs/guides/development/python/string-manipulation-python-3/index.md +++ b/docs/guides/development/python/string-manipulation-python-3/index.md @@ -124,7 +124,7 @@ The inverse operation of `split` is `join`, which will combine a list of strings 'one,two,three,four,five' {{< /output >}} -For a full list of available string methods, see the [official documentation](https://docs.python.org/3/library/stdtypes.html#string-methods). Since there is no built-in string method to reverse a string, see our guide [Reversing a String in Python](/docs/guides/how-to-reverse-a-string-in-python/) to learn several ways to do so. +For a full list of available string methods, see the [official documentation](https://docs.python.org/3/library/stdtypes.html#string-methods). Since there is no built-in string method to reverse a string, see our guide [Reversing a String in Python](/cloud/guides/how-to-reverse-a-string-in-python/) to learn several ways to do so. ## String Formatting diff --git a/docs/guides/development/python/task-queue-celery-rabbitmq/index.md b/docs/guides/development/python/task-queue-celery-rabbitmq/index.md index cd64d3055e1..6648979a5c7 100644 --- a/docs/guides/development/python/task-queue-celery-rabbitmq/index.md +++ b/docs/guides/development/python/task-queue-celery-rabbitmq/index.md @@ -25,12 +25,12 @@ Celery can be used in multiple configuration. Most frequent uses are horizontal ## 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 >}} ## Install a Python 3 Environment diff --git a/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md b/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md index b4d1ead17c9..f492a2b322b 100644 --- a/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md +++ b/docs/guides/development/python/use-paramiko-python-to-ssh-into-a-server/index.md @@ -18,9 +18,9 @@ When your Python program needs to run an external password-dependent program, 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. ## Install Paramiko @@ -28,16 +28,16 @@ You must install Paramiko on your system before being able to use it in your Pyt pip install paramiko {{< note >}} -If you are not familiar with Pip or do not have it installed on your system, see our [How to Manage Python Packages and Virtual Environments on Linux](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/#how-pip-works) guide. +If you are not familiar with Pip or do not have it installed on your system, see our [How to Manage Python Packages and Virtual Environments on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#how-pip-works) guide. {{< /note >}} -If your system is [configured to use Anaconda](/docs/guides/how-to-install-anaconda/), you can use the following command to install Paramiko: +If your system is [configured to use Anaconda](/cloud/guides/how-to-install-anaconda/), you can use the following command to install Paramiko: conda install -c anaconda paramiko ## A Paramiko SSH Example: Connect to Your Server Using a Password -This section shows you how to authenticate to a remote server with a username and password. To begin, create a new file named `first_experiment.py` and add the contents of the example file. Ensure that you update the file with your own Linode's details. Replace the values for `YOUR_IP_ADDRESS`, `YOUR_LIMITED_USER_ACCOUNT`, and `YOUR_PASSWORD`. Use the [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide, if needed. +This section shows you how to authenticate to a remote server with a username and password. To begin, create a new file named `first_experiment.py` and add the contents of the example file. Ensure that you update the file with your own Linode's details. Replace the values for `YOUR_IP_ADDRESS`, `YOUR_LIMITED_USER_ACCOUNT`, and `YOUR_PASSWORD`. Use the [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide, if needed. {{< file "password_login.py" >}} import paramiko @@ -81,7 +81,7 @@ The file above provides a high-level example that you can use to incorporate Par ## Second Paramiko Example: Connect to your Server Using SSH Keys -One of Paramiko’s specific strengths is the correct handling of [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). The introductory example above depended on the use of your limited user account's password. It is more secure, however, to use SSH keys for server authentication. The example file below, provides a report that alerts you of any logins by users that are not included in your list of `expected` users. The Python script relies on Paramiko (notice the `key_based_connect()` function) to use SSHv2 authentication to connect to any of the servers provided in the code's `server_list` list. +One of Paramiko’s specific strengths is the correct handling of [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). The introductory example above depended on the use of your limited user account's password. It is more secure, however, to use SSH keys for server authentication. The example file below, provides a report that alerts you of any logins by users that are not included in your list of `expected` users. The Python script relies on Paramiko (notice the `key_based_connect()` function) to use SSHv2 authentication to connect to any of the servers provided in the code's `server_list` list. {{< file "key_based_login.py">}} # This is a small tool to report on successful logins diff --git a/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md b/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md index b26bf497da0..87fa5f4ff53 100644 --- a/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md +++ b/docs/guides/development/python/use-scrapy-to-extract-data-from-html-tags/index.md @@ -25,12 +25,12 @@ This guide will provide you with instructions to build a spider which recursivel ## 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 >}} -This guide is written for a non-root 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 a Python 3 Environment diff --git a/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md b/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md index e2008b32bbf..1624283cb8a 100644 --- a/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md +++ b/docs/guides/development/python/using-grpc-for-remote-procedural-calls/index.md @@ -71,7 +71,7 @@ gRPC has many advantages over traditional client-server architectures. gRPC is often compared and contrasted with **Representational State Transfer** (REST). REST also uses a client-server architecture. Both systems are useful for implementing microservices. However, there are major differences between the two technologies. - REST does not use RPCs. In a RESTful system, a client sends a request to a remote **Uniform Resource Identifier** (URI). It later receives a response encoded in XML, HTML, JSON, or another similar format. The request and reply typically use HTTP/HTTPS methods such as `GET` and `POST`. -- All browsers support REST, and it is widely used throughout the internet. gRPC has more limited web capabilities. **gRPC Web** does provide some measure of web support. (gRPC Web is explained in the [next section](/docs/guides/using-grpc-for-remote-procedural-calls/#grpc-web)). In general, REST is more commonly used for web applications, while gRPC is used inside internal networks. gRPC is also frequently used in embedded systems, facilitating communication between the different components of the device. +- All browsers support REST, and it is widely used throughout the internet. gRPC has more limited web capabilities. **gRPC Web** does provide some measure of web support. (gRPC Web is explained in the [next section](/cloud/guides/using-grpc-for-remote-procedural-calls/#grpc-web)). In general, REST is more commonly used for web applications, while gRPC is used inside internal networks. gRPC is also frequently used in embedded systems, facilitating communication between the different components of the device. - gRPC uses HTTP/2 and can take advantage of its inherent client-response communication model. This allows it to transmit requests or responses via a stream. REST uses HTTP version 1.1 and has to handle one request at a time using inefficient short-lived connections. - Performance is better with gRPC compared to REST. It also more efficiently uses bandwidth due to its lightweight design. - gRPC can be quickly translated into the target programming language for the application using the protoc compiler. REST does not have an equivalent feature, although third-party tools can streamline the process somewhat. @@ -106,12 +106,12 @@ This procedure is geared towards Ubuntu users but is generally applicable to all **### 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 Python** diff --git a/docs/guides/development/python/web-programming-languages/index.md b/docs/guides/development/python/web-programming-languages/index.md index f95b813014e..e2c9f11481f 100644 --- a/docs/guides/development/python/web-programming-languages/index.md +++ b/docs/guides/development/python/web-programming-languages/index.md @@ -79,15 +79,15 @@ Understanding what you want to do and why you want to do it is a good first step ### JavaScript -[JavaScript](/docs/guides/development/javascript/) is often seen as part of the HTML page. Other languages in this guide often generate JavaScript based on your application code. So, even when using another language, expect to see JavaScript. One of the most important considerations for choosing JavaScript is that the language is incredibly flexible and it’s also quite forgiving of mistakes. In addition, [JavaScript is standardized across all browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript) so your code works no matter where you use it. You can also use JavaScript for server-side development, but you need a third-party product like Node.js to do it. Consequently, you need to learn another product in order to use JavaScript as a complete solution when you want to generate dynamic content. +[JavaScript](/cloud/guides/development/javascript/) is often seen as part of the HTML page. Other languages in this guide often generate JavaScript based on your application code. So, even when using another language, expect to see JavaScript. One of the most important considerations for choosing JavaScript is that the language is incredibly flexible and it’s also quite forgiving of mistakes. In addition, [JavaScript is standardized across all browsers](https://developer.mozilla.org/en-US/docs/Web/JavaScript) so your code works no matter where you use it. You can also use JavaScript for server-side development, but you need a third-party product like Node.js to do it. Consequently, you need to learn another product in order to use JavaScript as a complete solution when you want to generate dynamic content. ### Java -[Java](/docs/guides/how-to-install-openjdk-on-ubuntu-20-04/) is seen in all sorts of applications. Once you learn Java, you can create everything from desktop applications to backend code to produce dynamic content for your website. Java is also used for Android development and you see it in Internet of Things (IoT) devices. One of the reasons Java is incredibly popular is that it enjoys vast support in the form of well-maintained libraries. It’s also possible to create multi-threaded applications with Java. If you’re building a large scale website designed to handle millions of users, this is probably the best choice. However, Java comes with a significant learning curve so it’s probably not a good choice as a first language. +[Java](/cloud/guides/how-to-install-openjdk-on-ubuntu-20-04/) is seen in all sorts of applications. Once you learn Java, you can create everything from desktop applications to backend code to produce dynamic content for your website. Java is also used for Android development and you see it in Internet of Things (IoT) devices. One of the reasons Java is incredibly popular is that it enjoys vast support in the form of well-maintained libraries. It’s also possible to create multi-threaded applications with Java. If you’re building a large scale website designed to handle millions of users, this is probably the best choice. However, Java comes with a significant learning curve so it’s probably not a good choice as a first language. ### Python -[Python](/docs/guides/create-a-python-virtualenv-on-ubuntu-18-04/) is not a difficult language to learn and it enjoys strong community support in the form of libraries. In fact, Python is now used by many school systems as an aid to learning how to program. You can use Python for a wide variety of tasks that includes machine learning, statistical analysis, image processing, and computer vision. To use Python for backend web development, you must rely on add-on products such as the Django framework. If you’re creating a website that focuses on statistics, such as a weather forecast generation site, then Python is likely the best choice because so many of the required features are built right in. +[Python](/cloud/guides/create-a-python-virtualenv-on-ubuntu-18-04/) is not a difficult language to learn and it enjoys strong community support in the form of libraries. In fact, Python is now used by many school systems as an aid to learning how to program. You can use Python for a wide variety of tasks that includes machine learning, statistical analysis, image processing, and computer vision. To use Python for backend web development, you must rely on add-on products such as the Django framework. If you’re creating a website that focuses on statistics, such as a weather forecast generation site, then Python is likely the best choice because so many of the required features are built right in. ### Ruby @@ -103,7 +103,7 @@ Scala is an offshoot of Java that supports [functional programming techniques](h ### Angular -[Angular](/docs/guides/angular-tutorial-for-beginners/) is based on TypeScript and provides a flexible, component-based development environment. One of the advantages of using Angular is that you can turn static HTML documents into dynamic content. In addition, Angular tracks dependencies between components so you don’t find yourself with a dead application due to a seemingly small change in one component. [This language is a work in progress](https://www.altexsoft.com/blog/engineering/the-good-and-the-bad-of-angular-development/); Google continually updates its functionality to provide more of the features that developers need to create great looking websites. The downside of using Angular is that it can produce sluggish webpages and it also has a steep learning curve. +[Angular](/cloud/guides/angular-tutorial-for-beginners/) is based on TypeScript and provides a flexible, component-based development environment. One of the advantages of using Angular is that you can turn static HTML documents into dynamic content. In addition, Angular tracks dependencies between components so you don’t find yourself with a dead application due to a seemingly small change in one component. [This language is a work in progress](https://www.altexsoft.com/blog/engineering/the-good-and-the-bad-of-angular-development/); Google continually updates its functionality to provide more of the features that developers need to create great looking websites. The downside of using Angular is that it can produce sluggish webpages and it also has a steep learning curve. ### Swift @@ -111,7 +111,7 @@ Swift is a very specific programming language because you use it exclusively for ### Kotlin -[Kotlin](/docs/guides/kotlin-tutorial-learn-the-basics/) is a general purpose language, meaning it can perform a wide variety of tasks. Its claim to fame is Android development. You can use it for either client-side or server-side web development. In addition, it works well for mobile development. Many developers prefer Kotlin to Java because it provides type safety and you can create an application with fewer lines of code. In addition, Kotlin’s learning curve is smaller than Java. Kotlin is one hundred percent compatible with Java, so you can use all of the Java libraries. This is the language to use if you need the potential of Java, but don’t want to delve into all of the Java coding details. +[Kotlin](/cloud/guides/kotlin-tutorial-learn-the-basics/) is a general purpose language, meaning it can perform a wide variety of tasks. Its claim to fame is Android development. You can use it for either client-side or server-side web development. In addition, it works well for mobile development. Many developers prefer Kotlin to Java because it provides type safety and you can create an application with fewer lines of code. In addition, Kotlin’s learning curve is smaller than Java. Kotlin is one hundred percent compatible with Java, so you can use all of the Java libraries. This is the language to use if you need the potential of Java, but don’t want to delve into all of the Java coding details. ## Conclusion diff --git a/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md b/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md index 2739d5cd89a..88504f250c9 100644 --- a/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md +++ b/docs/guides/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/index.md @@ -26,7 +26,7 @@ aliases: ['/development/r/how-to-deploy-rshiny-server-on-ubuntu-and-debian/'] ## Before You Begin -If you do not have RStudio installed on your local computer, follow our [How to Deploy RStudio Using an NGINX Reverse Proxy](/docs/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/) guide to set up a remote workstation on a Linode. +If you do not have RStudio installed on your local computer, follow our [How to Deploy RStudio Using an NGINX Reverse Proxy](/cloud/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/) guide to set up a remote workstation on a Linode. ## Build a Shiny Test App diff --git a/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md b/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md index 09e12aa4956..89db0b2655a 100644 --- a/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md +++ b/docs/guides/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/index.md @@ -23,7 +23,7 @@ aliases: ['/development/r/how-to-deploy-rstudio-server-using-an-nginx-reverse-pr ## Before You Begin -This guide assumes an R installation version of R 3.0.1+ and will show how to install RStudio Server 1.1. See our guide on [installing R on Ubuntu and Debian](/docs/guides/how-to-install-r-on-ubuntu-and-debian/) for steps on installing the latest version of R. +This guide assumes an R installation version of R 3.0.1+ and will show how to install RStudio Server 1.1. See our guide on [installing R on Ubuntu and Debian](/cloud/guides/how-to-install-r-on-ubuntu-and-debian/) for steps on installing the latest version of R. The steps in this guide are for Ubuntu 16.04 and should be adapted to your specific distribution installation. diff --git a/docs/guides/development/react/create-react-app-with-appwrite/index.md b/docs/guides/development/react/create-react-app-with-appwrite/index.md index 5da1879bbb2..627799e97d4 100644 --- a/docs/guides/development/react/create-react-app-with-appwrite/index.md +++ b/docs/guides/development/react/create-react-app-with-appwrite/index.md @@ -25,13 +25,13 @@ This tutorial gets you started making your own application using Appwrite and Re ## 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. {{< note >}} - To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/docs/marketplace-docs/guides/appwrite/). + To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/cloud/marketplace-docs/guides/appwrite/). {{< /note >}} -1. Follow our [Setting Up and Securing a Compute Instance](/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. Update your system. @@ -43,7 +43,7 @@ This tutorial gets you started making your own application using Appwrite and Re sudo dnf upgrade ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Create an Appwrite Backend @@ -56,7 +56,7 @@ The goal of these steps is to give you a fully operational Appwrite backend serv First, you need to install your own self-hosted Appwrite instance. You also need to do some specific set up to prepare Appwrite to support your React application. The next series of steps show you how. -1. Follow the steps in our guide [Getting Started with Appwrite as a Backend Server](/docs/guides/getting-started-appwrite/). This shows you how to install and configure your own Appwrite instance. +1. Follow the steps in our guide [Getting Started with Appwrite as a Backend Server](/cloud/guides/getting-started-appwrite/). This shows you how to install and configure your own Appwrite instance. 1. Make sure that the Docker services are started and enabled. Enabling the services ensures that they initiate at system startup: @@ -132,7 +132,7 @@ The example application built here shows two lists, one of films marked "To Watc This guide assumes you are creating a fresh React application to interact with the Appwrite backend. The next steps show you how to initialize and perform the necessary setup for putting together the new React application. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). This example uses NPM to bootstrap a React project, to install the Appwrite web SDK, and to run the React frontend. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). This example uses NPM to bootstrap a React project, to install the Appwrite web SDK, and to run the React frontend. 1. Create the React project. This example uses `create-react-app` to bootstrap a new React project and names the new project `example-app`. The command results in an `example-app` directory being created in the current directory. @@ -419,9 +419,9 @@ You are now about ready to run the React application. First, you need to open port `3000` on your server's firewall. This is the default port for React to serve your frontend on, and it is the port this guide uses to get you started. -- **Debian / Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +- **Debian / Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). -- **AlmaLinux / CentOS Stream / Fedora / Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) +- **AlmaLinux / CentOS Stream / Fedora / Rocky Linux**: Refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) Once you have done that, you can start up the React server with the following command: diff --git a/docs/guides/development/react/deploy-a-react-app-on-linode/index.md b/docs/guides/development/react/deploy-a-react-app-on-linode/index.md index bed0ce121e9..bcc28662349 100644 --- a/docs/guides/development/react/deploy-a-react-app-on-linode/index.md +++ b/docs/guides/development/react/deploy-a-react-app-on-linode/index.md @@ -28,15 +28,15 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc ## 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 will need a [web server](/docs/web-servers/) configured to host a website on your Linode. +1. You will need a [web server](/cloud/web-servers/) configured to host a website on your Linode. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can bootstrap a project quickly using [create-react-app](https://github.com/facebookincubator/create-react-app). -1. Make sure [Git](/docs/guides/how-to-configure-git/) is installed on your system: +1. Make sure [Git](/cloud/guides/how-to-configure-git/) is installed on your system: sudo apt install git @@ -137,4 +137,4 @@ echo "Deployment complete" Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/docs/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. diff --git a/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md b/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md index 34a0553a61e..dd2c4a33357 100644 --- a/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md +++ b/docs/guides/development/react/how-to-deploy-a-react-app-on-centos-8/index.md @@ -30,15 +30,15 @@ aliases: ['/development/react/how-to-deploy-a-react-app-on-centos-8/'] [React](https://reactjs.org/) is a popular JavaScript library for building user interfaces. While React is often used as a frontend for more complex applications, it's also powerful enough to be used for full client-side applications on its own. -Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/docs/guides/introduction-to-rsync/). This guide shows how to set up your CentOS 8 Linode and local machine so that you can easily deploy your app whenever changes are made. +Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync/). This guide shows how to set up your CentOS 8 Linode and local machine so that you can easily deploy your app whenever changes are made. ## Before You Begin -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 and configure a [web server](/docs/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on CentOS 8](/docs/guides/how-to-install-apache-web-server-centos-8/) guide or the [Installing NGINX on CentOS 8](/docs/guides/how-to-install-nginx-centos-8/) guide. +1. Install and configure a [web server](/cloud/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide or the [Installing NGINX on CentOS 8](/cloud/guides/how-to-install-nginx-centos-8/) guide. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can quickly bootstrap a project following the steps in the [Create an Example React App](#create-an-example-react-app) section of this guide. This step should be completed on your local system. @@ -46,7 +46,7 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc sudo yum install rsync -1. Install [Git](/docs/guides/how-to-configure-git/) on your local computer if it is not already installed. +1. Install [Git](/cloud/guides/how-to-configure-git/) on your local computer if it is not already installed. sudo yum install git @@ -173,7 +173,7 @@ echo "Deployment complete" This script will check out the `master` branch of your project on Git, build the app using `npm run build`, and then sync the build files to the remote Linode using Rsync. If your React app was not built with `create-react-app`, the build command may be different and the built files may be stored in a different directory (such as `dist`). Modify the script accordingly. {{< note respectIndent=false >}} -If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/docs/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. +If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. {{< /note >}} 1. Make the script executable: @@ -194,4 +194,4 @@ If your React app's directory is not initialized as a Git repository, the comman Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/docs/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. diff --git a/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md b/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md index 51b98a51bdb..5435ccafeeb 100644 --- a/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md +++ b/docs/guides/development/react/how-to-deploy-a-react-app-on-debian-10/index.md @@ -28,15 +28,15 @@ aliases: ['/development/react/how-to-deploy-a-react-app-on-debian-10/'] [React](https://reactjs.org/) is a popular JavaScript library for building user interfaces. While React is often used as a frontend for more complex applications, it's also powerful enough to be used for full client-side applications on its own. -Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/docs/guides/introduction-to-rsync/). This guide shows how to set up your Debian 10 Linode and local machine so that you can easily deploy your app whenever changes are made. +Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync/). This guide shows how to set up your Debian 10 Linode and local machine so that you can easily deploy your app whenever changes are made. ## Before You Begin -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 and configure a [web server](/docs/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Debian 10](/docs/guides/how-to-install-apache-web-server-debian-10/) guide or the [Installing NGINX on Debian 10](/docs/guides/how-to-install-nginx-debian-10/) guide. +1. Install and configure a [web server](/cloud/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10/) guide or the [Installing NGINX on Debian 10](/cloud/guides/how-to-install-nginx-debian-10/) guide. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can bootstrap a project quickly following the steps in the already have a React app you'd like to deploy. If you don't have one, you can quickly bootstrap a project following the steps in the [Create an Example React App](#create-an-example-react-app) section of this guide. This step should be completed on your local system. @@ -44,7 +44,7 @@ Since a basic React app is static (it consists of compiled HTML, CSS, and JavaSc sudo apt install rsync -1. Install [Git](/docs/guides/how-to-configure-git/) on your local computer if it is not already installed. +1. Install [Git](/cloud/guides/how-to-configure-git/) on your local computer if it is not already installed. sudo apt install git @@ -173,7 +173,7 @@ echo "Deployment complete" This script will check out the `master` branch of your project on Git, build the app using `npm run build`, and then sync the build files to the remote Linode using Rsync. If your React app was not built with `create-react-app`, the build command may be different and the built files may be stored in a different directory (such as `dist`). Modify the script accordingly. {{< note respectIndent=false >}} -If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/docs/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. +If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. {{< /note >}} 1. Make the script executable: @@ -194,4 +194,4 @@ If your React app's directory is not initialized as a Git repository, the comman Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/docs/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. diff --git a/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md b/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md index 695c80a9a85..c86bedd2486 100644 --- a/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md +++ b/docs/guides/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/index.md @@ -28,19 +28,19 @@ aliases: ['/development/react/how-to-deploy-a-react-app-on-ubuntu-18-04/'] [React](https://reactjs.org/) is a popular JavaScript library for building user interfaces. While React is often used as a frontend for more complex applications, it's also powerful enough to be used for full client-side applications on its own. -Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/docs/guides/introduction-to-rsync/). This guide shows how to set up your Ubuntu 18.04 Linode and local machine so that you can easily deploy your app whenever changes are made. +Since a basic React app is static (it consists of compiled HTML, CSS, and JavaScript files), it is easy to deploy from a local computer to a Linode using [Rsync](/cloud/guides/introduction-to-rsync/). This guide shows how to set up your Ubuntu 18.04 Linode and local machine so that you can easily deploy your app whenever changes are made. ## Before You Begin -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 and configure a [web server](/docs/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Ubuntu 18.04 LTS](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide or the [Installing NGINX on Ubuntu 18.04 LTS](/docs/guides/how-to-install-nginx-ubuntu-18-04/) guide. +1. Install and configure a [web server](/cloud/web-servers/) to host a website on your Linode. This guide's examples will use the Apache and NGINX web servers. Complete the steps in the [Installing Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide or the [Installing NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04/) guide. 1. This guide assumes you already have a React app you'd like to deploy. If you don't have one, you can quickly bootstrap a project following the steps in the [Create an Example React App](#create-an-example-react-app) section of this guide. This step should be completed on your local system. -1. Install [Git](/docs/guides/how-to-configure-git/) on your local computer if it is not already installed. +1. Install [Git](/cloud/guides/how-to-configure-git/) on your local computer if it is not already installed. sudo apt install git @@ -169,7 +169,7 @@ echo "Deployment complete" This script will check out the `master` branch of your project on Git, build the app using `npm run build`, and then sync the build files to the remote Linode using Rsync. If your React app was not built with `create-react-app`, the build command may be different and the built files may be stored in a different directory (such as `dist`). Modify the script accordingly. {{< note respectIndent=false >}} -If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/docs/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. +If your React app's directory is not initialized as a Git repository, the command `git checkout master` will return a `fatal: not a git repository (or any of the parent directories): .git` error. However, the script will continue on to the next commands and the files should still be transferred to your remote Linode server. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/#use-git-with-a-local-repository) guide to learn how to initialize a Git repository. {{< /note >}} 1. Make the script executable: @@ -190,4 +190,4 @@ If your React app's directory is not initialized as a Git repository, the comman Deployment can be a complex topic and there are many factors to consider when working with production systems. This guide is meant to be a simple example for personal projects, and isn't necessarily suitable on its own for a large scale production application. -More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/docs/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. +More advanced build and continuous integration tools such as [Jenkins](https://jenkins.io) or [Travis](https://travis-ci.org/) can be used to automate a more complicated deployment workflow. This can include running unit tests before proceeding with the deployment and deploying to multiple servers (such as test and production boxes). See our guide on [Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/) to get started. diff --git a/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md b/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md index e875f8af2f4..4747d7deadb 100644 --- a/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md +++ b/docs/guides/development/ror/ruby-on-rails-apache-debian-8/index.md @@ -30,14 +30,14 @@ Ruby on Rails is a rapid development web framework that allows web designers and ![Ruby on Rails with Apache on Debian 8](ruby_on_rails_with_apache_debian_8.png "Ruby on Rails with Apache on Debian 8") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, you can check our [Users and Groups](/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: @@ -71,7 +71,7 @@ gem install rails --version 3.0.4 This will install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. -4. (Optional) Install additional dependencies for your application, such as [MySQL](/docs/guides/how-to-install-mysql-on-debian-8/) support: +4. (Optional) Install additional dependencies for your application, such as [MySQL](/cloud/guides/how-to-install-mysql-on-debian-8/) support: sudo apt-get install mysql-server libmysqlclient-dev mysql-client mysql-common sudo gem install mysql @@ -96,7 +96,7 @@ echo "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gam ## Configuring Apache to Work with Passenger -If your Apache virtual hosts file(s) mimics the ones create in the [Apache Web Server on Debian 8](/docs/guides/apache-web-server-debian-8/) guide, you will have a `` block containing a `DocumentRoot` value similar to `/var/www/html/example.com/public_html/`. +If your Apache virtual hosts file(s) mimics the ones create in the [Apache Web Server on Debian 8](/cloud/guides/apache-web-server-debian-8/) guide, you will have a `` block containing a `DocumentRoot` value similar to `/var/www/html/example.com/public_html/`. 1. Open the file in a text editor, and edit the `DocumentRoot` to reflect the public directory of your application: diff --git a/docs/guides/development/ror/ruby-on-rails-apache-debian/index.md b/docs/guides/development/ror/ruby-on-rails-apache-debian/index.md index 1f16c53beba..9a2af4ea19f 100644 --- a/docs/guides/development/ror/ruby-on-rails-apache-debian/index.md +++ b/docs/guides/development/ror/ruby-on-rails-apache-debian/index.md @@ -33,9 +33,9 @@ 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. 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/ror/ruby-on-rails-nginx-debian/index.md b/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md index 6fae564a95c..85fddf1570d 100644 --- a/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md +++ b/docs/guides/development/ror/ruby-on-rails-nginx-debian/index.md @@ -18,7 +18,7 @@ external_resources: - '[Ruby on Rails Documentation](http://rubyonrails.org/documentation)' - '[NGINX Home Page](http://nginx.org/)' - '[NGINX Documentation](http://nginx.org/en/docs/)' - - '[NGINX Configuration](/docs/guides/how-to-configure-nginx/)' + - '[NGINX Configuration](/cloud/guides/how-to-configure-nginx/)' audiences: ["beginner"] concentrations: ["Web Applications"] languages: ["ruby"] @@ -35,12 +35,12 @@ deprecated: true Ruby on Rails is a web framework that allows web designers and developers to implement dynamic, fully featured web applications. When deploying a Rails app in production, developers can choose from several popular app servers including Puma, Unicorn, and Passenger. This guide will use Passenger, because of its convenient integration with NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Follow the [Getting Started](/docs/products/platform/get-started/) and [Securing the Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and [set the Linode's hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +1. Follow the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing the Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides, and [set the Linode's hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). To check the hostname run: @@ -126,7 +126,7 @@ PID VMSize Private Name ## Install MySQL Support (Optional) -If the application deployed uses MySQL, install the database server by following our [MySQL on Debian 8](/docs/guides/how-to-install-mysql-on-debian-8/) guide. Once it's installed and configured properly, issue the following command: +If the application deployed uses MySQL, install the database server by following our [MySQL on Debian 8](/cloud/guides/how-to-install-mysql-on-debian-8/) guide. Once it's installed and configured properly, issue the following command: sudo apt-get install libmysqlclient-dev diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md index 24a86a96eb6..716c6d769bc 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/index.md @@ -13,8 +13,8 @@ aliases: ['/development/ror/ruby-on-rails-with-apache-on-debian-6-squeeze/','/fr external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' -- '[Install the Apache HTTP Server on Debian 6 (Squeeze)](/docs/web-servers/apache/installation/debian-6-squeeze)' -- '[Install the MySQL Database System on Debian 6 (Squeeze)](/docs/guides/use-mysql-relational-databases-on-debian-6-squeeze/)' +- '[Install the Apache HTTP Server on Debian 6 (Squeeze)](/cloud/web-servers/apache/installation/debian-6-squeeze)' +- '[Install the MySQL Database System on Debian 6 (Squeeze)](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/)' relations: platform: key: ruby-on-rails-apache @@ -27,7 +27,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -72,7 +72,7 @@ After issuing this command, attempt to run `rails` again. If it works, then you Alternatively, you can amend your global \$PATH by adding it to your "/etc/environment" file. -To install support for the [MySQL database system](/docs/guides/use-mysql-relational-databases-on-debian-6-squeeze/) in Rails, issue the following commands: +To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient-dev mysql-client mysql-common gem install mysql @@ -81,7 +81,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/docs/web-servers/apache/installation/debian-6-squeeze), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/cloud/web-servers/apache/installation/debian-6-squeeze), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md index 8ef13a3b0f2..f13033938af 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-debian-7-wheezy/index.md @@ -25,7 +25,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -74,7 +74,7 @@ After issuing this command, attempt to run `rails` again. If it works, then you Alternatively, you can amend your global \$PATH by adding it to your "/etc/environment" file. -To install support for the [MySQL database system](/docs/guides/use-mysql-relational-databases-on-debian-6-squeeze/) in Rails, issue the following commands: +To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-debian-6-squeeze/) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient-dev mysql-client mysql-common gem install mysql @@ -83,7 +83,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/docs/web-servers/apache/installation/debian-6-squeeze), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Debian 6 (Squeeze) Apache guide](/cloud/web-servers/apache/installation/debian-6-squeeze), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md index 51dbec97935..bf22c29931e 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-04-lucid/index.md @@ -13,8 +13,8 @@ aliases: ['/frameworks/ruby-on-rails-apache/ubuntu-10-04-lucid/','/development/r external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' - - '[Install the Apache HTTP Server on Ubuntu 10.04 (Lucid)](/docs/web-servers/apache/installation/ubuntu-10-04-lucid)' - - '[Install the MySQL Database System on Ubuntu 10.04 (Lucid)](/docs/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/)' + - '[Install the Apache HTTP Server on Ubuntu 10.04 (Lucid)](/cloud/web-servers/apache/installation/ubuntu-10-04-lucid)' + - '[Install the MySQL Database System on Ubuntu 10.04 (Lucid)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/)' relations: platform: key: ruby-on-rails-apache @@ -27,7 +27,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -70,7 +70,7 @@ If you are unsure of the version you require, you can install the latest version gem install rails -This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/docs/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) in Rails, issue the following commands: +This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-04-lts-lucid/) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient16-dev mysql-client mysql-common gem install mysql @@ -79,7 +79,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Ubuntu 10.04 (Lucid) Apache guide](/docs/web-servers/apache/installation/ubuntu-10-04-lucid), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Ubuntu 10.04 (Lucid) Apache guide](/cloud/web-servers/apache/installation/ubuntu-10-04-lucid), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md index 81317a27c90..f03c18fdffe 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/index.md @@ -13,8 +13,8 @@ aliases: ['/websites/ror/ruby-on-rails-with-apache-on-ubuntu-10-10-maverick/','/ external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' - - '[Install the Apache HTTP Server on Ubuntu 10.10 (Maverick)](/docs/web-servers/apache/installation/ubuntu-10-10-maverick)' - - '[Install the MySQL Database System on Ubuntu 10.10 (Maverick)](/docs/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/)' + - '[Install the Apache HTTP Server on Ubuntu 10.10 (Maverick)](/cloud/web-servers/apache/installation/ubuntu-10-10-maverick)' + - '[Install the MySQL Database System on Ubuntu 10.10 (Maverick)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/)' relations: platform: key: ruby-on-rails-apache @@ -27,7 +27,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -60,7 +60,7 @@ If you are unsure of the version you require, you can install the latest version gem install rails -This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/docs/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/) in Rails, issue the following commands: +This should install the appropriate versions of all required packages including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-10-10-maverick/) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient16 libmysqlclient16-dev mysql-client mysql-common gem install mysql @@ -69,7 +69,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Ubuntu 10.10 (Maverick) Apache guide](/docs/web-servers/apache/installation/ubuntu-10-10-maverick), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Ubuntu 10.10 (Maverick) Apache guide](/cloud/web-servers/apache/installation/ubuntu-10-10-maverick), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md index 54ad2cf7d02..83dc2a9d10b 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-04-jaunty/index.md @@ -26,9 +26,9 @@ Rails enables developers to produce inventive applications on tight time scales. This guide takes us from a fresh install of Ubuntu 9.04 (Jaunty), to a running Rails stack suitable for deployment in production. There are many different ways to deploy Rails stacks; if you have experience with an alternate stack, we encourage you to deploy your application in whatever you are most familiar. We've chosen to deploy with Phusion Passenger (e.g. mod\_rails or mod\_rack,) which allows us to embed Rails apps directly in Apache applications without needing to worry about FastCGI architectures and complex web server proxies. -Our goal is to provide instructions that are accessible and will have you up and running your with your Rails app as quickly as possible. We assume you've deployed and updated your Ubuntu 9.04 Jaunty Linode according to our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +Our goal is to provide instructions that are accessible and will have you up and running your with your Rails app as quickly as possible. We assume you've deployed and updated your Ubuntu 9.04 Jaunty Linode according to our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -In addition to updating your system before beginning this guide, we recommend you review other guides in the Linode Docs so that you have a functioning installation of the [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and a working installation of the [MySQL database server](/docs/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/). With those prerequisites out of the way, we can get started with Rails. We will assume that you're logged in to your Linode via SSH and have a root prompt for the purpose of this tutorial. +In addition to updating your system before beginning this guide, we recommend you review other guides in the Linode Docs so that you have a functioning installation of the [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and a working installation of the [MySQL database server](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-04-jaunty/). With those prerequisites out of the way, we can get started with Rails. We will assume that you're logged in to your Linode via SSH and have a root prompt for the purpose of this tutorial. ## Installing Passenger and Dependencies @@ -80,7 +80,7 @@ The output of this should look like this: /etc/apache2/mods-enabled/passenger.conf /etc/apache2/mods-enabled/passenger.load -These files load and enable the Passenger module for use in your sites. If you configured Apache virtual hosting as outlined in the [Apache guide](/docs/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +These files load and enable the Passenger module for use in your sites. If you configured Apache virtual hosting as outlined in the [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ @@ -108,9 +108,9 @@ You now have a functioning environment for your Ruby on Rails application. ## Deploying Multiple Rails Apps -If you need to install multiple Rails applications the easiest way to accomplish this is by installing each application in its own virtual host. Create multiple virtual hosts, as described in [Apache guide](/docs/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and link the `public/` directory of your application to the DocumentRoot (e.g. `public_html/`) of the virtual host, as described above. +If you need to install multiple Rails applications the easiest way to accomplish this is by installing each application in its own virtual host. Create multiple virtual hosts, as described in [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/) and link the `public/` directory of your application to the DocumentRoot (e.g. `public_html/`) of the virtual host, as described above. -This presents a number of advantages. The Apache mpm\_itk module (described in the [Apache guide](/docs/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/)) allows you to isolate the permissions of each running application from Apache and each other. Furthermore, virtual hosting allows you to separate all log files for each host (and thus application) from the other applications and sites on your server. +This presents a number of advantages. The Apache mpm\_itk module (described in the [Apache guide](/cloud/guides/apache-2-web-server-on-ubuntu-9-04-jaunty/)) allows you to isolate the permissions of each running application from Apache and each other. Furthermore, virtual hosting allows you to separate all log files for each host (and thus application) from the other applications and sites on your server. Passenger also supports deploying more than one Rails application within a single virtual host configuration. By adding `RailsBaseURI` options with the path to your Application within the virtual host, you can deploy multiple applications within one site. For example: @@ -135,5 +135,5 @@ In this setup the directories for each Rails application are located in the `/sr If you're new to Linux systems administration or Debian/Ubuntu based systems, we've collected some additional tips which you might find helpful. -- Consider reading the Debian/Ubuntu section of our [package management guide](/docs/guides/linux-package-management-overview/) to learn how to get the most out of the `apt` and `dpkg` tools. +- Consider reading the Debian/Ubuntu section of our [package management guide](/cloud/guides/linux-package-management-overview/) to learn how to get the most out of the `apt` and `dpkg` tools. - Note that if you want to use the [Git Version Control System](http://www.git-scm.com/), the package name in Ubuntu is "git-core", not "git". diff --git a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md index f00ae067351..58f6578dcc6 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/index.md @@ -13,8 +13,8 @@ aliases: ['/websites/ror/ruby-on-rails-with-apache-on-ubuntu-9-10-karmic/','/fra external_resources: - '[Ruby on Rails Homepage](http://rubyonrails.org/)' - '[mod\_rails Documentation for Apache Servers](http://www.modrails.com/documentation/Users%20guide%20Apache.html)' - - '[Install the Apache HTTP Server on Ubuntu 9.10 (Karmic)](/docs/web-servers/apache/installation/ubuntu-9-10-karmic)' - - '[Install the MySQL Database System on Ubuntu 9.10 (Karmic)](/docs/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/)' + - '[Install the Apache HTTP Server on Ubuntu 9.10 (Karmic)](/cloud/web-servers/apache/installation/ubuntu-9-10-karmic)' + - '[Install the MySQL Database System on Ubuntu 9.10 (Karmic)](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/)' relations: platform: key: ruby-on-rails-apache @@ -77,7 +77,7 @@ If you are unsure of the version you require, you can install the default latest gem install rails -This should install the appropriate versions of all required packages, including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/docs/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) in Rails, issue the following commands: +This should install the appropriate versions of all required packages, including ruby, rack, and other dependencies needed for basic Rails development. To install support for the [MySQL database system](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) in Rails, issue the following commands: apt-get install mysql-server libmysqlclient15off libmysqlclient15-dev mysql-client mysql-common gem install mysql @@ -86,7 +86,7 @@ Additionally, the application you deploy will likely have additional dependencie ## Configuring Apache to Work with Passenger -If you configured Apache virtual hosting as outlined in the [Ubuntu 9.10 (Karmic) Apache guide](/docs/web-servers/apache/installation/ubuntu-9-10-karmic), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: +If you configured Apache virtual hosting as outlined in the [Ubuntu 9.10 (Karmic) Apache guide](/cloud/web-servers/apache/installation/ubuntu-9-10-karmic), the public directory for your domain (e.g. `example.com`) is located in `/srv/www/example.com/public_html/`, and your `` configuration block contains a line that reads: {{< file "Apache Virtual Host Configuration" apache >}} DocumentRoot /srv/www/example.com/public_html/ diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md index a97c5d29712..d93f81c4c38 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-centos-5/index.md @@ -22,7 +22,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -128,7 +128,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on CentOS 5 guide](/docs/guides/use-mysql-relational-databases-on-centos-5/). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on CentOS 5 guide](/cloud/guides/use-mysql-relational-databases-on-centos-5/). Once it's installed and configured properly, issue the following commands: yum install mysql-devel gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -141,7 +141,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md index 7622db12968..acf1246a540 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -120,7 +120,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Debian 5 (Lenny) guide](/docs/databases/mysql/debian-5-lenny). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Debian 5 (Lenny) guide](/cloud/databases/mysql/debian-5-lenny). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -133,7 +133,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md index 29682039479..0a5da09ff8b 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-debian-7-wheezy/index.md @@ -15,7 +15,7 @@ external_resources: - '[Ruby on Rails Documentation](http://rubyonrails.org/documentation)' - '[Nginx Home Page](http://nginx.org/)' - '[Nginx Documentation](http://nginx.org/en/docs/)' - - '[Nginx Configuration](/docs/guides/how-to-configure-nginx/)' + - '[Nginx Configuration](/cloud/guides/how-to-configure-nginx/)' audiences: ["beginner"] concentrations: ["Web Applications"] languages: ["ruby"] @@ -27,13 +27,13 @@ relations: deprecated: true --- -Ruby on Rails is a popular rapid development web framework that allows web designers and developers to implement fully featured dynamic web applications using the Ruby programming language. This guide describes the required process for deploying Ruby on Rails with Passenger and the Nginx web server on Debian 7 (Wheezy). For the 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. +Ruby on Rails is a popular rapid development web framework that allows web designers and developers to implement fully featured dynamic web applications using the Ruby programming language. This guide describes the required process for deploying Ruby on Rails with Passenger and the Nginx web server on Debian 7 (Wheezy). For the 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. ![Using the Ruby on Rails framework for Nginx web applications on Debian 7](ruby_on_rails_with_nginx_debian_7_smg.png "Using the Ruby on Rails framework for Nginx web applications on Debian 7") ## 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 @@ -107,6 +107,6 @@ The configuration file for Nginx is located at `/etc/nginx/nginx.conf`. This is ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Debian 7 (Wheezy) guide](/docs/databases/mysql/debian-7-wheezy). Once it's installed and configured properly, issue the following command: +If your application uses MySQL, install the database server by following our [MySQL on Debian 7 (Wheezy) guide](/cloud/databases/mysql/debian-7-wheezy). Once it's installed and configured properly, issue the following command: apt-get install libmysqlclient-dev libmysql-ruby diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md index ea14ef3e4f5..1a77d9200ef 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -115,7 +115,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.04 (Lucid) guide](/docs/databases/mysql/ubuntu-10-04-lucid). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.04 (Lucid) guide](/cloud/databases/mysql/ubuntu-10-04-lucid). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -128,7 +128,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md index 1746514bc27..0bf13d0ef44 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-10-10-maverick/index.md @@ -22,7 +22,7 @@ Ruby on Rails is a popular rapid development web framework that allows web desig ## 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 @@ -102,7 +102,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.10 (Maverick) guide](/docs/databases/mysql/ubuntu-10-10-maverick). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 10.10 (Maverick) guide](/cloud/databases/mysql/ubuntu-10-10-maverick). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -115,7 +115,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md index f1110db5dd0..94efa506a6d 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-12-04-precise/index.md @@ -15,7 +15,7 @@ external_resources: - '[Ruby on Rails Documentation](http://rubyonrails.org/documentation)' - '[Nginx Home Page](http://nginx.org/)' - '[Nginx Documentation](http://nginx.org/en/docs/)' - - '[Nginx Configuration](/docs/guides/how-to-configure-nginx/)' + - '[Nginx Configuration](/cloud/guides/how-to-configure-nginx/)' relations: platform: key: ruby-on-rails-nginx @@ -27,12 +27,12 @@ deprecated: true [Ruby on Rails](http://rubyonrails.org/) is a rapid development web framework that allows web designers and developers to implement dynamic fully featured web applications. This guide describes the required process for deploying Ruby on Rails with [Phusion Passenger](https://www.phusionpassenger.com/) and the [Nginx](https://www.nginx.com/) web server on Debian 8. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Follow the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and [set the Linode's hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +1. Follow 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 [set the Linode's hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). To check the hostname run: @@ -110,6 +110,6 @@ passenger_ruby /usr/bin/ruby; ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 12.04 (Precise) guide](/docs/databases/mysql/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin). Once it's installed and configured properly, issue the following command: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 12.04 (Precise) guide](/cloud/databases/mysql/deploy-mysql-relational-databases-on-ubuntu-12-04-precise-pangolin). Once it's installed and configured properly, issue the following command: sudo apt-get install libmysqlclient-dev libmysql-ruby diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md index eee0416c43e..3b01a35d5e4 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-8-04-hardy/index.md @@ -120,7 +120,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 8.04 LTS (Hardy) guide](/docs/databases/mysql/ubuntu-8-04-hardy). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 8.04 LTS (Hardy) guide](/cloud/databases/mysql/ubuntu-8-04-hardy). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -133,7 +133,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md index 7cd8643b854..6e993134f4b 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-04-jaunty/index.md @@ -107,7 +107,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.04 (Jaunty) guide](/docs/databases/mysql/ubuntu-9-04-jaunty). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.04 (Jaunty) guide](/cloud/databases/mysql/ubuntu-9-04-jaunty). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -120,7 +120,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md index 25d05531dd3..bb5d53601a8 100644 --- a/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/development/ror/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/index.md @@ -114,7 +114,7 @@ The configuration file for Nginx is located at `/opt/nginx/conf/nginx.conf`. Thi ## Install MySQL Support (optional) -If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.10 (Karmic) guide](/docs/databases/mysql/ubuntu-9-10-karmic). Once it's installed and configured properly, issue the following commands: +If your application uses MySQL, install the database server by following our [MySQL on Ubuntu 9.10 (Karmic) guide](/cloud/databases/mysql/ubuntu-9-10-karmic). Once it's installed and configured properly, issue the following commands: apt-get install libmysqlclient15-dev libmysql-ruby gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/usr/bin --with-mysql-lib=/usr/lib/mysql --with-mysql-include=/usr/include/mysql @@ -127,7 +127,7 @@ You may wish to consult the following resources for additional information on th - [Ruby on Rails Documentation](http://rubyonrails.org/documentation) - [Nginx Home Page](http://nginx.org/) - [Nginx Documentation](http://nginx.org/en/docs/) -- [Nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Nginx Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md index f030cdda7c6..9d17dac3549 100644 --- a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md +++ b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-14-04/index.md @@ -32,10 +32,10 @@ Unicorn is an HTTP server, just like Passenger or Puma. Since Unicorn cannot be ## Before You Begin -Before starting this guide, make sure that you have read through and completed our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +Before starting this guide, make sure that you have read through and completed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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. Before you install any package, ensure that your hostname is correct: diff --git a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md index 0f1fc2f5b4b..25cc3b0ba47 100644 --- a/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md +++ b/docs/guides/development/ror/use-unicorn-and-nginx-on-ubuntu-18-04/index.md @@ -29,10 +29,10 @@ Unicorn is an HTTP server, just like Passenger or Puma. Since Unicorn cannot be ## Before You Begin -Before starting this guide, make sure that you have read through and completed our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +Before starting this guide, make sure that you have read through and completed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 install any package, ensure that your hostname is correct: diff --git a/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md b/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md index 3941076dea6..637e86929ed 100644 --- a/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md +++ b/docs/guides/development/rust/build-a-website-using-rust-and-the-rocket-web-framework/index.md @@ -29,14 +29,14 @@ Beyond that, Rocket emphasizes an easy and minimalistic path to putting together ## 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. Throughout, this guide uses `example-app` as the name of the Rocket application. Replace it with your preferred application name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Install Rust @@ -96,7 +96,7 @@ In this section, you complete the following steps: Rocket serves the application on localhost port `8000`. To visit the application remotely, you can use an SSH tunnel: - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/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 macOS or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address: @@ -117,7 +117,7 @@ In this section, you complete the following steps: Unless noted otherwise, all subsequent commands in this guide assume you are still in the application directory. -1. Open the `Cargo.toml` file, and add Rocket as a dependency for the project. Use the version number for the latest version of Rocket. Refer to the [Example Applications](/docs/guides/build-a-website-using-rust-and-the-rocket-web-framework/#example-applications) section above for how to identify the latest Rocket release. +1. Open the `Cargo.toml` file, and add Rocket as a dependency for the project. Use the version number for the latest version of Rocket. Refer to the [Example Applications](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework/#example-applications) section above for how to identify the latest Rocket release. {{< file "~/example-app/Cargo.toml" >}} # [...] @@ -151,7 +151,7 @@ Rocket can easily be set up to provide web service APIs based on the above examp Pairing Rocket with a template engine like [Handlebars](https://handlebarsjs.com/) makes it ready to run a full website. The steps below show you how to do just that and set you up with the foundations for going off and building your own templates. -1. Follow the steps in the [Create an Application](/docs/guides/build-a-website-using-rust-and-the-rocket-web-framework/#create-an-application) section above to create a base Rocket application to work off. +1. Follow the steps in the [Create an Application](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework/#create-an-application) section above to create a base Rocket application to work off. 1. Open the project's `Cargo.toml`, and modify with the additional lines in the example below: @@ -298,7 +298,7 @@ fn about() -> Template { {{~> (parent)~}} {{< /file >}} -1. Now you can run the application using the `cargo run` command as shown in the [Example Applications](/docs/guides/build-a-website-using-rust-and-the-rocket-web-framework/#example-applications) section above. +1. Now you can run the application using the `cargo run` command as shown in the [Example Applications](/cloud/guides/build-a-website-using-rust-and-the-rocket-web-framework/#example-applications) section above. ![Example Rocket website using Handlebars templates](rocket-template-example.png) diff --git a/docs/guides/development/rust/how-to-install-rust/index.md b/docs/guides/development/rust/how-to-install-rust/index.md index 895c238ff9f..5824931306f 100644 --- a/docs/guides/development/rust/how-to-install-rust/index.md +++ b/docs/guides/development/rust/how-to-install-rust/index.md @@ -18,12 +18,12 @@ This guide explains how to install [*Rust*](https://www.rust-lang.org/), a popul ## 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`. For information about 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`. For information about the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Advantages of the Rust Programming Language diff --git a/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md b/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md index 1dbdbd7136b..742c5235ff6 100644 --- a/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md +++ b/docs/guides/development/tips-and-tricks/use-a-linode-for-web-development-on-remote-devices/index.md @@ -222,4 +222,4 @@ With everything set up it's time to work with your remote development environmen You now have a basic but powerful setup that allows you to work from any device with an internet connection. -The main limitation of a tablet is its storage capacity. An efficient way to set up a centralized storage space is by using OwnCloud on a Linode with [Block Storage](/docs/products/storage/block-storage/). This way you can host all your archives, dotfiles, scripts, images and more in a scalable Linode. An additional benefit is the possibility to connect external storage services like Dropbox, Google Drive or OneDrive. OwnCloud has native applications for Android and iOS so managing your assets won't be a problem. You can install and configure ownCloud by following our [ownCloud guide](/docs/guides/install-and-configure-owncloud-on-ubuntu-16-04/). +The main limitation of a tablet is its storage capacity. An efficient way to set up a centralized storage space is by using OwnCloud on a Linode with [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage). This way you can host all your archives, dotfiles, scripts, images and more in a scalable Linode. An additional benefit is the possibility to connect external storage services like Dropbox, Google Drive or OneDrive. OwnCloud has native applications for Android and iOS so managing your assets won't be a problem. You can install and configure ownCloud by following our [ownCloud guide](/cloud/guides/install-and-configure-owncloud-on-ubuntu-16-04/). diff --git a/docs/guides/development/version-control/a-beginners-guide-to-github/index.md b/docs/guides/development/version-control/a-beginners-guide-to-github/index.md index d0840a1baf3..50140be5afc 100644 --- a/docs/guides/development/version-control/a-beginners-guide-to-github/index.md +++ b/docs/guides/development/version-control/a-beginners-guide-to-github/index.md @@ -22,7 +22,7 @@ The Write For Linode freelance contributor program offers payment for new guides ## Before You Begin -This guide assumes that you've signed up for a [GitHub account](https://www.github.com), and that you've followed the sections for installing and configuring Git on your local machine contained within our [Git Source Control Management](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide. +This guide assumes that you've signed up for a [GitHub account](https://www.github.com), and that you've followed the sections for installing and configuring Git on your local machine contained within our [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. This guide will also use [Hugo](https://gohugo.io) to create a new guide within the Linode library's repository, and Node.js and NPM to build a local development version of Linode's documentation website. Please visit the [Install Hugo](https://github.com/linode/docs/blob/develop/CONTRIBUTING.md#install-hugo) and [Install Node and NPM](https://github.com/linode/docs/blob/develop/CONTRIBUTING.md#install-node-and-npm) sections of our [CONTRIBUTING.md](https://github.com/linode/docs/blob/develop/CONTRIBUTING.md) for installation instructions of those dependencies. @@ -117,9 +117,9 @@ nothing to commit, working directory clean ### Creating Your First Guide -Using your preferred text editor, you should now be able to edit and create documents within your new branch. When writing your guide, you can refer to the [Linode Writer's Formatting Guide](/docs/guides/linode-writers-formatting-guide/) for help with the format of your guide and the styling of your text. Also note that our site uses the [Hugo](https://gohugo.io/) static site generator to render the website, and Hugo offers several features to enhance your Markdown files. These features are covered in our formatting guide. +Using your preferred text editor, you should now be able to edit and create documents within your new branch. When writing your guide, you can refer to the [Linode Writer's Formatting Guide](/cloud/guides/linode-writers-formatting-guide/) for help with the format of your guide and the styling of your text. Also note that our site uses the [Hugo](https://gohugo.io/) static site generator to render the website, and Hugo offers several features to enhance your Markdown files. These features are covered in our formatting guide. -1. When creating your guide, first determine where it should be located within the docs website's directory structure. For example, to create a new guide in the [/docs/guides/kubernetes/](/docs/guides/kubernetes/) section, you would create your guide within the `docs/guides/kubernetes/` subfolder inside your repository. +1. When creating your guide, first determine where it should be located within the docs website's directory structure. For example, to create a new guide in the [/docs/guides/kubernetes/](/cloud/guides/kubernetes/) section, you would create your guide within the `docs/guides/kubernetes/` subfolder inside your repository. {{< note respectIndent=false >}} To reiterate, the docs repository contains a folder that is also called `docs/`, and this folder then contains all of the content in the library: diff --git a/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md b/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md index d3e5650bb1f..9e560185cad 100644 --- a/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md +++ b/docs/guides/development/version-control/backing-up-gitlab-on-linode-object-storage/index.md @@ -18,13 +18,13 @@ All modern GitLab installations additionally include tooling to create backups o ## Before you Begin -- Follow the guide for [Deploying Gitlab Through the Linode Marketplace](/docs/marketplace-docs/guides/gitlab/) to completion, or otherwise ensure that a Gitlab installation is available and accessible over SSH. +- Follow the guide for [Deploying Gitlab Through the Linode Marketplace](/cloud/marketplace-docs/guides/gitlab/) to completion, or otherwise ensure that a Gitlab installation is available and accessible over SSH. -- Create an Object Storage access key and a bucket. See the [Manage Access Keys](/docs/products/storage/object-storage/guides/access-keys/) and Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/) guides. +- Create an Object Storage access key and a bucket. See the [Manage Access Keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) and Create and Manage Buckets](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) guides. ## Configuring Gitlab For Object Storage Backups -In order to configure Gitlab on Linode's Object Storage, the Gitlab instance must first be [Accessed Directly Over SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). To do this, enter the following command, replacing the username and IP address with the unique username and IP address of your Linode: +In order to configure Gitlab on Linode's Object Storage, the Gitlab instance must first be [Accessed Directly Over SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). To do this, enter the following command, replacing the username and IP address with the unique username and IP address of your Linode: ssh username@198.51.100.4 @@ -47,12 +47,12 @@ The following chart will explain each configuration settings in additional detai | Descriptor | Setting| | ------------| --------------------- | -| `provider` | AWS (The provider must be set to AWS because it is dependent on [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/)) | -| `region` | The region the bucket was created in. A full list of regions can be found in the [Product Documentation](/docs/products/storage/object-storage/). | +| `provider` | AWS (The provider must be set to AWS because it is dependent on [s3cmd](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage)) | +| `region` | The region the bucket was created in. A full list of regions can be found in the [Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage). | | `endpoint` | The endpoint url for the data center. Uses the syntax of **region.linodeobjects.com** | -| `aws_access_key-id` | The Object Storage [Access Key](/docs/products/storage/object-storage/guides/access-keys/) created in a previous step. | -| `aws_secret_access_key` | The Object Storage [Secret Key](/docs/products/storage/object-storage/guides/access-keys/) created in a previous step. | -| `gitlab_rails['backup_upload_remote_directory']` | The [label](/docs/products/storage/object-storage/get-started/#create-a-bucket) of the bucket created during bucket creation. +| `aws_access_key-id` | The Object Storage [Access Key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) created in a previous step. | +| `aws_secret_access_key` | The Object Storage [Secret Key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) created in a previous step. | +| `gitlab_rails['backup_upload_remote_directory']` | The [label](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage#create-a-bucket) of the bucket created during bucket creation. Once the configuration settings are completed, apply the configuration with the following command: diff --git a/docs/guides/development/version-control/creating-git-aliases/index.md b/docs/guides/development/version-control/creating-git-aliases/index.md index 164808ac975..7d6420cdee4 100644 --- a/docs/guides/development/version-control/creating-git-aliases/index.md +++ b/docs/guides/development/version-control/creating-git-aliases/index.md @@ -93,7 +93,7 @@ Use the command below to locate where Git stores its core commands. On most Linu /usr/lib/git-core {{}} -For information on Bash scripting, refer to our [Introduction to Bash Shell Scripting](/docs/guides/intro-bash-shell-scripting/) guide. This guide on Bash includes topics like, Bash variables, if statements, and getting user input from the command line. The examples found in the Bash shell scripting guide can help you construct your scripts to modify Git's behavior. +For information on Bash scripting, refer to our [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/) guide. This guide on Bash includes topics like, Bash variables, if statements, and getting user input from the command line. The examples found in the Bash shell scripting guide can help you construct your scripts to modify Git's behavior. ### Git Script Example diff --git a/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md b/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md index 803c70a1344..8308171a1ef 100644 --- a/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md +++ b/docs/guides/development/version-control/git-based-development-networks-with-girocco-on-debian-5-lenny/index.md @@ -15,7 +15,7 @@ deprecated: true Girocco is the underlying engine created to power one of the first public git hosting services at [repo.or.cz](http://repo.or.cz/), and it allows users an easy to use web-based interface to create and view git repositories. Perhaps most excitingly, Girocco provides the ability to seamlessly "fork" an existing repository on the site and publish those changes without needing "push" access to the original repository, thus enabling a wide rage of distributed workflows and collaborative experiences. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to using git, you may also find our [introduction to git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) a helpful prerequisite. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/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 beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to using git, you may also find our [introduction to git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) a helpful prerequisite. If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Install Prerequisites @@ -28,13 +28,13 @@ Now issue the following command to install the required prerequisite software: apt-get install git-core build-essential netcat-openbsd apache2 wget libwww-perl libjson-perl librpc-xml-perl -The above command installs the Apache HTTP Server, and this guide depends upon running Apache. For more information regarding the setup and configuration of Apache, consider our series of [Apache guides](/docs/web-servers/apache/). +The above command installs the Apache HTTP Server, and this guide depends upon running Apache. For more information regarding the setup and configuration of Apache, consider our series of [Apache guides](/cloud/web-servers/apache/). -This guide does not include explicit instructions for downloading and installing a local send-only [mail server](/docs/email/), which you will need to do for some operations such as sending password recovery tokens. If you do not have a local MTA installed or configured already, begin by issuing the following command: +This guide does not include explicit instructions for downloading and installing a local send-only [mail server](/cloud/email/), which you will need to do for some operations such as sending password recovery tokens. If you do not have a local MTA installed or configured already, begin by issuing the following command: apt-get install mailx -This will install the MTA "Exim." You can configure this MTA by issuing the following command and following the steps outlined in the [Exim send-only MTA guide](/docs/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) guide: +This will install the MTA "Exim." You can configure this MTA by issuing the following command and following the steps outlined in the [Exim send-only MTA guide](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) guide: dpkg-reconfigure exim4-config @@ -238,7 +238,7 @@ mount --bind /srv/repo/git /srv/repo/data/srv/git mount --bind /proc /srv/repo/d ## Configure Web Server -For the purpose of this document we will set up the repository hosting service under the virtual host for the domain `repo.example.com`. You will need to ensure that [DNS is configured](/docs/guides/linux-system-administration-basics/#set-up-subdomains) for this domain. Additionally, ensure that the rewrite module is enabled by issuing the following commands: +For the purpose of this document we will set up the repository hosting service under the virtual host for the domain `repo.example.com`. You will need to ensure that [DNS is configured](/cloud/guides/linux-system-administration-basics/#set-up-subdomains) for this domain. Additionally, ensure that the rewrite module is enabled by issuing the following commands: a2enmod rewrite /etc/init.d/apache2 restart @@ -278,9 +278,9 @@ You may wish to consult the following resources for additional information on th - [Girocco](http://repo.or.cz/w/girocco.git) - [Repo.or.cz](http://repo.or.cz/) -- [Using Cron to Schedule Tasks](/docs/guides/schedule-tasks-with-cron/) -- [Managing Permissions with Unix Users and Groups](/docs/guides/linux-users-and-groups/) -- [Using GNU Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) +- [Using Cron to Schedule Tasks](/cloud/guides/schedule-tasks-with-cron/) +- [Managing Permissions with Unix Users and Groups](/cloud/guides/linux-users-and-groups/) +- [Using GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) diff --git a/docs/guides/development/version-control/how-to-configure-git/index.md b/docs/guides/development/version-control/how-to-configure-git/index.md index ba8a03b7110..8160696e3cf 100644 --- a/docs/guides/development/version-control/how-to-configure-git/index.md +++ b/docs/guides/development/version-control/how-to-configure-git/index.md @@ -25,12 +25,12 @@ aliases: ['/development/version-control/how-to-configure-git/'] Git is a distributed version control system. Git was designed and developed by [Linus Torvalds](https://en.wikipedia.org/wiki/Linus_Torvalds) for Linux kernel development. Git provides support for non-linear, distributed development, allowing multiple contributors to work on a project simultaneously. Git is the most popular distributed version control and source code management system. This guide will walk you through the basics of getting started with Git, from installing the software to using basic commands on both local and remote repositories (repo). {{< note >}} -If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/docs/guides/svn-vs-git/) to learn more about each VCS. +If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/cloud/guides/svn-vs-git/) to learn more about each VCS. {{< /note >}} ## Configure Git -After you [install Git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/), configure it for first time use using `git config`, a built-in tool that obtains and sets configuration variables. These configuration variables are located in three different places on a GNU/Linux system: +After you [install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/), configure it for first time use using `git config`, a built-in tool that obtains and sets configuration variables. These configuration variables are located in three different places on a GNU/Linux system: - `/etc/gitconfig` - stores the configuration information for all system users and their respective repositories. - `~/.gitconfig` - stores user-specific configuration files on the system. @@ -85,7 +85,7 @@ There may be files or folders in your project directory that you do not wish to __doNotInclude__/ {{< /file >}} -To learn how to undo Git commit, see our guide [How to Undo a Git Commit: A Step-by-Step Guide](/docs/guides/how-to-undo-git-commit/). +To learn how to undo Git commit, see our guide [How to Undo a Git Commit: A Step-by-Step Guide](/cloud/guides/how-to-undo-git-commit/). ### Basic Git Commands @@ -142,7 +142,7 @@ Now the `master` branch has the new search feature. ## Use Git with a Remote Repository -[GitHub](https://github.com), [GitLab](https://gitlab.com), and [Bitbucket](https://bitbucket.org/) all provide ways to store Git repositories remotely and facilitate collaboration. Many of these services also include a number of other features that are vital to content development, including pull requests, continuous integration / continuous delivery pipelines (CI/CD), wikis, and webhooks. If you'd rather use a self-hosted solution, GitLab and [Gogs](https://gogs.io/) offer free locally hosted versions of their software that can easily be managed on a Linode. Check out our guides on [installing GitLab](/docs/guides/install-gitlab-on-ubuntu-18-04/) and [installing Gogs](/docs/guides/install-gogs-on-debian/) for more information on hosting your own remote repository software. GitHub and Bitbucket also offer paid enterprise versions of their software for local hosting. When discussing remote repositories, usually one of the aforementioned services is being referenced. +[GitHub](https://github.com), [GitLab](https://gitlab.com), and [Bitbucket](https://bitbucket.org/) all provide ways to store Git repositories remotely and facilitate collaboration. Many of these services also include a number of other features that are vital to content development, including pull requests, continuous integration / continuous delivery pipelines (CI/CD), wikis, and webhooks. If you'd rather use a self-hosted solution, GitLab and [Gogs](https://gogs.io/) offer free locally hosted versions of their software that can easily be managed on a Linode. Check out our guides on [installing GitLab](/cloud/guides/install-gitlab-on-ubuntu-18-04/) and [installing Gogs](/cloud/guides/install-gogs-on-debian/) for more information on hosting your own remote repository software. GitHub and Bitbucket also offer paid enterprise versions of their software for local hosting. When discussing remote repositories, usually one of the aforementioned services is being referenced. This section provides some basic information on navigating remote Git repositories. diff --git a/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md b/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md index c5c13a72942..7a0c91e3675 100644 --- a/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md +++ b/docs/guides/development/version-control/how-to-install-git-and-clone-a-github-repository/index.md @@ -9,7 +9,7 @@ keywords: ["git", "dvcs", "vcs", "scm", "gitweb", "github"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/applications/development/developing-git-github/','/development/version-control/how-to-install-git-and-clone-a-github-repository/','/development/version-control/developing-git-github/'] external_resources: - - '[Working with the Git Repository](/docs/guides/how-to-configure-git/)' + - '[Working with the Git Repository](/cloud/guides/how-to-configure-git/)' - '[GitHub Help Pages](https://help.github.com/)' audiences: ["beginner"] tags: ["version control system"] @@ -20,7 +20,7 @@ tags: ["version control system"] GitHub is a website that allows collaboration between developers using the Git version control system. With Git and GitHub, programmers from across the world can share ideas and code in an organized and up-to-date process. ## Install and Configure Git -The directions below are for Debian or Ubuntu. For installation on Mac, Windows, or other Linux distributions, find instructions in the [Git Source Control Management](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide. While that guide focuses on Git, this guide focuses more on Git with GitHub. +The directions below are for Debian or Ubuntu. For installation on Mac, Windows, or other Linux distributions, find instructions in the [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide. While that guide focuses on Git, this guide focuses more on Git with GitHub. 1. Install: diff --git a/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md b/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md index 390452ea622..bf8e466a0c1 100644 --- a/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md +++ b/docs/guides/development/version-control/how-to-install-git-on-linux-mac-and-windows/index.md @@ -28,10 +28,10 @@ Git was designed and developed by [Linus Torvalds](https://en.wikipedia.org/wiki This guide explains how to install the latest, stable, and prepackaged version of Git on GNU/Linux, Mac OSX, and Windows, using their respective package managers. Git can also be [compiled from source and installed](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git#_installing_from_source) on any operating system. -For more information about using and configuring Git, see our [Getting Started with Git](/docs/guides/how-to-configure-git/) guide. +For more information about using and configuring Git, see our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. {{< note >}} -This guide uses `sudo` wherever possible. Complete the [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) 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. +This guide uses `sudo` wherever possible. Complete the [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to create a standard user account. {{< /note >}} ## How to Install Git on Mac OSX @@ -267,4 +267,4 @@ Go to the repository’s page on GitHub, click on the green **Code** button, and ## Get Started with Git -Visit our guide on [Git configuration](/docs/guides/how-to-configure-git/) for helpful commands to get you started with Git and GitHub repositories. +Visit our guide on [Git configuration](/cloud/guides/how-to-configure-git/) for helpful commands to get you started with Git and GitHub repositories. diff --git a/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md b/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md index fea2dae62f7..c303bbbb5a7 100644 --- a/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md +++ b/docs/guides/development/version-control/how-to-remove-untracked-files-in-git/index.md @@ -46,16 +46,16 @@ To summarize, all files in a Git repository should eventually be handled in one ## 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. It's also helpful to consult our guides on [Getting Started with Git](/docs/guides/how-to-configure-git/) and [How to Navigate the Linux Terminal and File System](/docs/guides/linux-navigation-commands/). +1. It's also helpful to consult our guides on [Getting Started with Git](/cloud/guides/how-to-configure-git/) and [How to Navigate the Linux Terminal and File System](/cloud/guides/linux-navigation-commands/). 1. **Optional** Git must already be installed on the Linode before trying out the examples in this guide. The `git` package is often already pre-installed. To see if it is present, run the command `git --version`. If Git is already installed, this command displays the current version. If Git has not already been installed, use the command `sudo apt install git` to install it. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Remove Untracked Files Using Git Clean diff --git a/docs/guides/development/version-control/how-to-switch-git-branches/index.md b/docs/guides/development/version-control/how-to-switch-git-branches/index.md index d012e226aff..b46b64304fe 100644 --- a/docs/guides/development/version-control/how-to-switch-git-branches/index.md +++ b/docs/guides/development/version-control/how-to-switch-git-branches/index.md @@ -19,9 +19,9 @@ Git is a distributed version control system. It supports non-linear, distributed ## 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 assumes you have Git installed, are familiar with the *command-line interface* (CLI) and Git, and have a project in Git. diff --git a/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md b/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md index 0633d2576de..bf982192237 100644 --- a/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md +++ b/docs/guides/development/version-control/how-to-unbundle-nginx-from-omnibus-gitlab-for-serving-multiple-websites/index.md @@ -20,14 +20,14 @@ audiences: ["intermediate"] Omnibus GitLab is a software package (or software stack) that allows you to easily install and run GitLab on your Linode. This guide walks you through the process of installing and setting up your own NGINX server on a typical Omnibus installation. Using the method outlined here, you are not forced to use Omnibus's default settings, and can create as many virtual hosts as you need for hosting multiple websites and apps on the same server as your GitLab. -Preconfigured software stacks sometimes bring a series of challenges to those who need to customize specific settings. If you require more control over your installation, consider [installing GitLab from source](/docs/guides/install-gitlab-on-ubuntu-14-04-trusty-tahr/). This application stack could benefit from large amounts of disk space, so also consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup. +Preconfigured software stacks sometimes bring a series of challenges to those who need to customize specific settings. If you require more control over your installation, consider [installing GitLab from source](/cloud/guides/install-gitlab-on-ubuntu-14-04-trusty-tahr/). This application stack could benefit from large amounts of disk space, so also consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. ## Before You Begin -1. Familiarize yourself with Linode's [Getting Started guide](/docs/products/platform/get-started/) and complete the steps for setting your Linode's hostname and timezone. +1. Familiarize yourself with Linode's [Getting Started guide](https://techdocs.akamai.com/cloud-computing/docs/getting-started) 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. This guide has been tested with Ubuntu 14.04 LTS and 16.04 LTS. Some commands will be slightly different for each version, so be sure to read each step carefully for version-specific instructions. @@ -35,7 +35,7 @@ Preconfigured software stacks sometimes bring a series of challenges to those wh sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, visit our [Users and Groups guide](/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 our [Users and Groups guide](/cloud/guides/linux-users-and-groups/) for more information. {{< /note >}} ## Install Omnibus GitLab @@ -187,4 +187,4 @@ upstream gitlab { sudo usermod -aG gitlab-www www-data -Congratulations! You have turned a default Omnibus GitLab server into a multi-purpose one. To serve additional websites and apps using your newly unbundled NGINX server, simply create additional virtual hosts above, and configure them to your needs. For more information, please refer to our guide on [how to configure NGINX](/docs/guides/how-to-configure-nginx/). +Congratulations! You have turned a default Omnibus GitLab server into a multi-purpose one. To serve additional websites and apps using your newly unbundled NGINX server, simply create additional virtual hosts above, and configure them to your needs. For more information, please refer to our guide on [how to configure NGINX](/cloud/guides/how-to-configure-nginx/). diff --git a/docs/guides/development/version-control/how-to-undo-git-commit/index.md b/docs/guides/development/version-control/how-to-undo-git-commit/index.md index fc7bc4aa5d0..504b1006869 100644 --- a/docs/guides/development/version-control/how-to-undo-git-commit/index.md +++ b/docs/guides/development/version-control/how-to-undo-git-commit/index.md @@ -12,7 +12,7 @@ external_resources: - '[Git documentation](https://git-scm.com/doc)' --- -[Git is one of the most common and versatile *version control systems* (VCS)](/docs/guides/svn-vs-git/#what-is-the-git-version-control-system), but it is not always simple and easy to use. You can run into trouble when you commit an undesirable change to a repository. There are several different strategies you can follow to restore your repository. This guide discusses how to undo a git commit and explains the advantages and any drawbacks to each approach. +[Git is one of the most common and versatile *version control systems* (VCS)](/cloud/guides/svn-vs-git/#what-is-the-git-version-control-system), but it is not always simple and easy to use. You can run into trouble when you commit an undesirable change to a repository. There are several different strategies you can follow to restore your repository. This guide discusses how to undo a git commit and explains the advantages and any drawbacks to each approach. ## Important Git Background for Undoing a Local Commit diff --git a/docs/guides/development/version-control/how-to-use-gitignore/index.md b/docs/guides/development/version-control/how-to-use-gitignore/index.md index dd9bdb35cec..7a92b966e5d 100644 --- a/docs/guides/development/version-control/how-to-use-gitignore/index.md +++ b/docs/guides/development/version-control/how-to-use-gitignore/index.md @@ -48,11 +48,11 @@ Developers should ignore files and folders they do not plan to push, rather than ## 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 Git is installed on your Linode. For information on installing up Git, see the Linode guide to [installing Git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/). Essentially: +1. Ensure Git is installed on your Linode. For information on installing up Git, see the Linode guide to [installing Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). Essentially: ```command {title="Debain / Ubuntu"} sudo apt install git @@ -76,7 +76,7 @@ Developers should ignore files and folders they do not plan to push, rather than mkdir {subdir1,subdir2,subdir3} && touch 1.bak a.bin b.bin file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt one.bak subdir1/file7.txt subdir2/file8.txt subdir3/files.log ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 the gitignore file diff --git a/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md b/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md index de165a4f113..9dd68343f62 100644 --- a/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md +++ b/docs/guides/development/version-control/install-apache-subversion-ubuntu/index.md @@ -14,7 +14,7 @@ Apache Subversion is an open source version control system released in 2000 and ## What is Apache Subversion? -Apache Subversion is a [version control system](/docs/guides/introduction-to-version-control/)(VCS) that manages, documents, and organizes the changes made to a project's files and directories. Subversion can work across networks to manage the same files and directories. This enables collaboration between developers who are working on the same codebase. Although Subversion is commonly used to version control software development projects, you can use it to version control any group of files and directories. Apache Subversion is invoked on the command line using the `svn` command. For this reason it is sometimes also referred to as *SVN*. +Apache Subversion is a [version control system](/cloud/guides/introduction-to-version-control/)(VCS) that manages, documents, and organizes the changes made to a project's files and directories. Subversion can work across networks to manage the same files and directories. This enables collaboration between developers who are working on the same codebase. Although Subversion is commonly used to version control software development projects, you can use it to version control any group of files and directories. Apache Subversion is invoked on the command line using the `svn` command. For this reason it is sometimes also referred to as *SVN*. Apache Subversion is made up of two primary components: @@ -64,9 +64,9 @@ Root or sudo permissions must be available to install Apache Subversion. - If you are connecting to an existing Subversion server, then an Apache Subversion Client is the minimum installation required. - If you need a full installation of Apache Subversion for local use, then it requires both the client and server components. -- Deploy a new Linode and follow the steps below. You can also follow the steps in the [How to Install a LAMP Stack on Ubuntu 20.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide. +- Deploy a new Linode and follow the steps below. You can also follow the steps in the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide. -- If you choose to follow the steps in the *LAMP stack* guide or already have a server with a LAMP stack installed, skip the [Install the Apache Web Server](/docs/guides/install-apache-subversion-ubuntu/#install-the-apache-web-server) section below, and move on to the [Install Apache Subversion](/docs/guides/install-apache-subversion-ubuntu/#install-apache-subversion) section after updating your Ubuntu 20.04 system. +- If you choose to follow the steps in the *LAMP stack* guide or already have a server with a LAMP stack installed, skip the [Install the Apache Web Server](/cloud/guides/install-apache-subversion-ubuntu/#install-the-apache-web-server) section below, and move on to the [Install Apache Subversion](/cloud/guides/install-apache-subversion-ubuntu/#install-apache-subversion) section after updating your Ubuntu 20.04 system. - Update your Ubuntu 20.04 system: @@ -85,7 +85,7 @@ Root or sudo permissions must be available to install Apache Subversion. systemctl start apache2 -1. To verify that the installation was successful, open a browser window and enter the [Linode instance’s IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/), `http://<>:80`. +1. To verify that the installation was successful, open a browser window and enter the [Linode instance’s IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance), `http://<>:80`. 1. If the instance is not accessible, the instance hosting Apache might require opening firewall ports. To enable `ufw` to let traffic flow between interfaces and the Apache daemon, you must instruct `ufw` to open ports for Apache. @@ -241,6 +241,6 @@ A complete and in-depth discussion of Subversion commands, version control strat The [SVN Book](https://svnbook.red-bean.com/) is a must-read for those who manage projects using Apache Subversion. There are many tools that support the use of Subversion, including GUIs like [TortoiseSVN](https://tortoisesvn.net/). -You should make sure to back up your Apache Subversion repository at reasonable intervals. One way to do so is by backing up your Subversion server using the [Linode Backup service](/docs/products/storage/backups/). +You should make sure to back up your Apache Subversion repository at reasonable intervals. One way to do so is by backing up your Subversion server using the [Linode Backup service](https://techdocs.akamai.com/cloud-computing/docs/backup-service). -Refer to our [How to Install and Use the Subversion CLI Client](/docs/guides/subversion-svn-tutorial) for client installation steps, along with the essential commands to support a Subversion workflow. +Refer to our [How to Install and Use the Subversion CLI Client](/cloud/guides/subversion-svn-tutorial) for client installation steps, along with the essential commands to support a Subversion workflow. diff --git a/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md b/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md index 466ada2dbf2..93e14b52094 100644 --- a/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md +++ b/docs/guides/development/version-control/install-gitlab-on-ubuntu-14-04-trusty-tahr/index.md @@ -31,10 +31,10 @@ GitLab is a free git repository management application based on Ruby on Rails. I GitLab provides a [.deb package](https://www.gitlab.com/downloads/) which contains GitLab Community Edition and all its dependencies (Ruby, PostgreSQL, Redis, Nginx, Unicorn and other gems) already compiled. Installing this package is [straightforward](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#installation). But since it will install its own package dependencies (Nginx, PostgreSQL, etc), this installation method is suitable if the server is dedicated only to managing git repositories. If you want GitLab to use your existing resources (i.e: you already have Nginx and PostgreSQL installed), you need to install GitLab manually. -This guide will help you install and configure GitLab on your Ubuntu 14.04 (Trusty Tahr) Linode. We will be using the latest Ruby and GitLab as of this writing, so check for the latest version. We will assume that you want to install GitLab on `git.example.com` and you have configured the DNS properly. If you are new to Linux system administration, you might want to consider the [Introduction to Linux Concepts guide](/docs/guides/introduction-to-linux-concepts/) and [Linux Administration Basics guide](/docs/guides/linux-system-administration-basics/) guides. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup. +This guide will help you install and configure GitLab on your Ubuntu 14.04 (Trusty Tahr) Linode. We will be using the latest Ruby and GitLab as of this writing, so check for the latest version. We will assume that you want to install GitLab on `git.example.com` and you have configured the DNS properly. If you are new to Linux system administration, you might want to consider the [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts/) and [Linux Administration Basics guide](/cloud/guides/linux-system-administration-basics/) guides. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with sudo. If you are not familiar with the sudo command, you can check out our [Users and Groups](/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 >}} ## System Requirements @@ -73,7 +73,7 @@ In this section you will install the development tools and the required packages sudo apt-get install postfix - Select `Internet site` and enter your hostname to complete the installation. If you need to set up a complete SMTP/IMAP/POP3 server, refer to the [Email with Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) guide. + Select `Internet site` and enter your hostname to complete the installation. If you need to set up a complete SMTP/IMAP/POP3 server, refer to the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. ### Install Ruby @@ -419,5 +419,5 @@ You can login using **root** as the username and **5iveL!fe** for the password. ## Securing GitLab -Now that you have GitLab running on your server, you might want to add SSL support to secure your GitLab site. Refer to the [SSL Certificates with Nginx](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide to protect your site with SSL. +Now that you have GitLab running on your server, you might want to add SSL support to secure your GitLab site. Refer to the [SSL Certificates with Nginx](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide to protect your site with SSL. diff --git a/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md b/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md index 4409378d34f..7dae4935df3 100644 --- a/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md +++ b/docs/guides/development/version-control/install-gitlab-on-ubuntu-18-04/index.md @@ -34,13 +34,13 @@ Before installing GitLab you should consider how many users will collaborate 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. -1. Add a domain zone, NS record, and A/AAA record for the domain you will use to access your GitLab installation. See the [DNS Manager > Get Started](/docs/products/networking/dns-manager/get-started/) guide for details. If you will access your GitLab instance via your Linode’s IP address, you can skip this step. +1. Add a domain zone, NS record, and A/AAA record for the domain you will use to access your GitLab installation. See the [DNS Manager > Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) guide for details. If you will access your GitLab instance via your Linode’s IP address, you can skip this step. -1. [Create an SSL Certificate](/docs/guides/secure-http-traffic-certbot/), if you will be using SSL encryption for your domain (this is recommended). Be sure to note the location that Certbot uses to store all generated keys and issued certificates. +1. [Create an SSL Certificate](/cloud/guides/secure-http-traffic-certbot/), if you will be using SSL encryption for your domain (this is recommended). Be sure to note the location that Certbot uses to store all generated keys and issued certificates. ## Install GitLab diff --git a/docs/guides/development/version-control/install-gitlab-with-docker/index.md b/docs/guides/development/version-control/install-gitlab-with-docker/index.md index 3a4cddd95e9..ed88452de66 100644 --- a/docs/guides/development/version-control/install-gitlab-with-docker/index.md +++ b/docs/guides/development/version-control/install-gitlab-with-docker/index.md @@ -33,7 +33,7 @@ This guide was written for and tested with Ubuntu 18.04. You may be able to adap ### Secure your Server -Review and implement the measures in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, including creating a [limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account). +Review and implement the measures in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, including creating a [limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). ### Change your Linode's Default SSH Port @@ -61,13 +61,13 @@ Assign a domain or subdomain to your GitLab server. This step is optional, as yo It takes some time for DNS changes to propagate through the internet, so it's suggested that you do this before you set up GitLab. There are several options for updating your DNS records: -- If you already use Linode's name servers, or if you would like to use them for your domain, review the [DNS Manager](/docs/products/networking/dns-manager/) guide. You will need to set up an *A record* which is assigned your Linode's IP address. +- If you already use Linode's name servers, or if you would like to use them for your domain, review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. You will need to set up an *A record* which is assigned your Linode's IP address. - If you use a different DNS provider, review that provider's documentation for setting up a new A record. {{% content "update-dns-at-common-name-server-authorities" %}} -You can test to see if your DNS changes have propagated with the [`dig` command](/docs/guides/use-dig-to-perform-manual-dns-queries/): +You can test to see if your DNS changes have propagated with the [`dig` command](/cloud/guides/use-dig-to-perform-manual-dns-queries/): dig +short gitlab.example.com @@ -245,6 +245,6 @@ GitLab offers many features that are worth taking the time to understand and uti - Review Linode's Git documentation: - - [Getting Start with Git](/docs/guides/how-to-configure-git/) + - [Getting Start with Git](/cloud/guides/how-to-configure-git/) - - [How to Install Git on Linux, Mac or Windows](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) + - [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) diff --git a/docs/guides/development/version-control/install-gogs-on-debian/index.md b/docs/guides/development/version-control/install-gogs-on-debian/index.md index 7f2dd9e897a..1f626500a7d 100644 --- a/docs/guides/development/version-control/install-gogs-on-debian/index.md +++ b/docs/guides/development/version-control/install-gogs-on-debian/index.md @@ -27,15 +27,15 @@ deprecated: true ![Install Gogs on Debian](gogs_tg.png "Install Gogs on Debian") -This tutorial shows you how to install and configure Gogs, using PostgreSQL for the database server and nginx for the reverse proxy server. We will use `example.com` as the domain name for the site. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](/docs/products/storage/block-storage/) service with this setup. +This tutorial shows you how to install and configure Gogs, using PostgreSQL for the database server and nginx for the reverse proxy server. We will use `example.com` as the domain name for the site. Hosting your own software projects could benefit from large amounts of disk space, so consider using our [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) service with this setup. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 Installing Gogs -1. Follow the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides, and make sure your Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +1. Follow 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 make sure your Linode's [hostname is set](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). 2. Update your system: @@ -164,7 +164,7 @@ CREATE DATABASE gogs OWNER gogs; We will use nginx as the reverse proxy for Gogs, so we can access Gogs using our domain name rather than using our host's IP address. In addition, we will let nginx handle the HTTPS connections for our Gogs site. -1. Create a [self-signed SSL certificate](/docs/guides/create-a-self-signed-tls-certificate/) or buy a [commercial SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) from a certificate authority (CA). +1. Create a [self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/) or buy a [commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) from a certificate authority (CA). 2. Install nginx from the repository: diff --git a/docs/guides/development/version-control/introduction-to-version-control/index.md b/docs/guides/development/version-control/introduction-to-version-control/index.md index 2f04cc9e561..e3000a20476 100644 --- a/docs/guides/development/version-control/introduction-to-version-control/index.md +++ b/docs/guides/development/version-control/introduction-to-version-control/index.md @@ -9,12 +9,12 @@ keywords: ["version control", "introduction to version control", "git", "introdu license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/intro-version-control/','/applications/development/introduction-to-version-control/','/development/version-control/introduction-to-version-control/'] external_resources: - - '[Version Control Systems](/docs/development/version-control/)' + - '[Version Control Systems](/cloud/development/version-control/)' audiences: ["foundational"] tags: ["version control system"] --- -In the [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide, you learned how to host your website by installing and configuring a web server, database, and PHP. Now it's time to implement version control to protect your data and handle code updates smoothly. By the time you reach the end of this guide, you'll know how to use many of the version control methods and tools used by large organizations. +In the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide, you learned how to host your website by installing and configuring a web server, database, and PHP. Now it's time to implement version control to protect your data and handle code updates smoothly. By the time you reach the end of this guide, you'll know how to use many of the version control methods and tools used by large organizations. ## Getting Started @@ -40,9 +40,9 @@ Version control also makes it easy to track changes. You can see who committed c There are several types of open source version control systems available. Each system has its own advantages and disadvantages, so you should do some research before making your selection. Here are three of the most popular: -- **Git:** Designed and developed by Linus Torvalds for Linux kernel development, Git provides strong support for non-linear and distributed development. It's probably the most popular distributed revision control and source code management system. See the [Git documentation website](http://git-scm.com/) for more information. You can also read our guide to [Git Source Control Management](/docs/guides/how-to-install-git-on-linux-mac-and-windows/). -- **Subversion:** When it emerged in 2000, Subversion operated like [CVS](http://cvs.nongnu.org/) and added some of the features that were missing from CVS. It was the undisputed king of version control systems until Git emerged in 2005, and it's still very popular. It's now maintained by the Apache Software Foundation. You can read our guide to [Managing Source Code Versions with Subversion](/docs/guides/manage-source-code-versions-with-subversion/). -- **Mercurial:** This is another popular version control system that resembles Git. It doesn't enjoy quite as much popularity and community support as Git, but it's still a very capable and accessible system. You can read our guide [Managing Distributed Version Control with Mercurial](/docs/guides/manage-distributed-version-control-with-mercurial/). +- **Git:** Designed and developed by Linus Torvalds for Linux kernel development, Git provides strong support for non-linear and distributed development. It's probably the most popular distributed revision control and source code management system. See the [Git documentation website](http://git-scm.com/) for more information. You can also read our guide to [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). +- **Subversion:** When it emerged in 2000, Subversion operated like [CVS](http://cvs.nongnu.org/) and added some of the features that were missing from CVS. It was the undisputed king of version control systems until Git emerged in 2005, and it's still very popular. It's now maintained by the Apache Software Foundation. You can read our guide to [Managing Source Code Versions with Subversion](/cloud/guides/manage-source-code-versions-with-subversion/). +- **Mercurial:** This is another popular version control system that resembles Git. It doesn't enjoy quite as much popularity and community support as Git, but it's still a very capable and accessible system. You can read our guide [Managing Distributed Version Control with Mercurial](/cloud/guides/manage-distributed-version-control-with-mercurial/). We'll use Git as an example in this guide. But don't let our decision influence you - there are plenty of other version control systems out there. Feel free to investigate other options if Git, Subversion, or Mercurial don't meet your needs for automating server builds and managing configurations. @@ -64,7 +64,7 @@ For an added layer of protection, you can store your files in *both* a local and You can install Git on your desktop computer, your Linode, or both. Getting started with Git is easy. All you have to do is install Git on your Linode, create a repository, and make an initial commit. Here's how: -1. Open a terminal window and [log in to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). +1. Open a terminal window and [log in to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). 2. Install Git on your Linode by entering the following commands, one by one: sudo apt-get update diff --git a/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md b/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md index 3c6a53d44db..879a08ccaf5 100644 --- a/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md +++ b/docs/guides/development/version-control/manage-distributed-source-branches-with-bazaar/index.md @@ -16,11 +16,11 @@ tags: ["version control system"] deprecated: true --- -Bazaar is a distributed version control system similar to [git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/). Bazaar allows developers to track the progress of source code and collaborate on a single object of work without depending on a centralized server to coordinate their activity. Unlike git, Bazaar's interface will be familiar to users of a centralized version control system like [Subversion](/docs/guides/manage-source-code-versions-with-subversion/). +Bazaar is a distributed version control system similar to [git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). Bazaar allows developers to track the progress of source code and collaborate on a single object of work without depending on a centralized server to coordinate their activity. Unlike git, Bazaar's interface will be familiar to users of a centralized version control system like [Subversion](/cloud/guides/manage-source-code-versions-with-subversion/). Like all distributed version control systems, Bazaar can work "offline," and does not require a connection to a central repository to perform commits, consult previous versions of the history, or perform other operations on the local "branch" of project. Publishing "branches" is also straightforward. -This document provides an introduction to all aspects of the Bazaar version control system: beginning with the installation of Bazaar, moving through several standard Bazaar-based workflows and concluding with a review of common Bazaar commands. However, before we begin discussing the use and operating of Bazaar we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/), the [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/). +This document provides an introduction to all aspects of the Bazaar version control system: beginning with the installation of Bazaar, moving through several standard Bazaar-based workflows and concluding with a review of common Bazaar commands. However, before we begin discussing the use and operating of Bazaar we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing Bazaar @@ -58,7 +58,7 @@ The Bazaar developers also provide application builds for [Windows](http://wiki. ## Using Bazaar to Manage Projects -This section covers many common operations and tasks that you may encounter during typical Bazaar usage. This will guide you through common Bazaar workflows: beginning with branch creation creating a branch, continuing with creating commits to that branch and an overview of common usage scenarios, and finally concluding with branch publication. Consider the following section for a more direct guide to individual [Bazaar commands](/docs/guides/manage-distributed-source-branches-with-bazaar/#common-bazaar-commands). +This section covers many common operations and tasks that you may encounter during typical Bazaar usage. This will guide you through common Bazaar workflows: beginning with branch creation creating a branch, continuing with creating commits to that branch and an overview of common usage scenarios, and finally concluding with branch publication. Consider the following section for a more direct guide to individual [Bazaar commands](/cloud/guides/manage-distributed-source-branches-with-bazaar/#common-bazaar-commands). ### Initializing a Project and Creating Commits @@ -132,7 +132,7 @@ Once published you can allow others to create local branches from this centraliz bzr branch sftp://fore@example.com/srv/bzr/morris-shared -In this case, your system will need a user account for the user `fore` and additional user accounts for whatever users that require access to your project. Be sure to deploy [user groups and permissions](/docs/guides/linux-users-and-groups/) with prudence. You can also offer read only access to a Bazaar repository over HTTP by configuring a [web-server](/docs/web-servers/) to provide access to the Bazaar project. Simply alter the branch command to resemble the following, depending on your web server configuration: +In this case, your system will need a user account for the user `fore` and additional user accounts for whatever users that require access to your project. Be sure to deploy [user groups and permissions](/cloud/guides/linux-users-and-groups/) with prudence. You can also offer read only access to a Bazaar repository over HTTP by configuring a [web-server](/cloud/web-servers/) to provide access to the Bazaar project. Simply alter the branch command to resemble the following, depending on your web server configuration: bzr branch http://bzr.example.com/morris-shared diff --git a/docs/guides/development/version-control/manage-distributed-version-control-with-mercurial/index.md b/docs/guides/development/version-control/manage-distributed-version-control-with-mercurial/index.md index 015f589fbfd..2b64e72a774 100644 --- a/docs/guides/development/version-control/manage-distributed-version-control-with-mercurial/index.md +++ b/docs/guides/development/version-control/manage-distributed-version-control-with-mercurial/index.md @@ -21,7 +21,7 @@ deprecated: true ## Before You Begin - You will need root access to your Linode, or a user account with `sudo` privileges. -- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). - Update your system. ## Installing Mercurial diff --git a/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md b/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md index 2a9287220af..428a91b4d72 100644 --- a/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md +++ b/docs/guides/development/version-control/manage-source-code-versions-with-subversion/index.md @@ -27,16 +27,16 @@ There are many options for accessing and managing Subversion repositories on loc ## 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/) 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) 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 >}} -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 Subversion @@ -120,7 +120,7 @@ In cases where you're manipulating Subversion's data store (e.g. an upgrade or m svnadmin load /srv/svn/subversion-test-backup < /var/svn/subversion-test-1259853077.svn {{< note respectIndent=false >}} -If you store critical information in a Subversion repository, you may wish to create backups automatically using a [cron job](/docs/guides/schedule-tasks-with-cron/). +If you store critical information in a Subversion repository, you may wish to create backups automatically using a [cron job](/cloud/guides/schedule-tasks-with-cron/). {{< /note >}} ## Use Subversion for Version Control @@ -168,7 +168,7 @@ If you need to access your repository over the `http://` or `https://` protocols ### Install Apache and `mod_dav_svn` -Developers frequently access Subversion repositories via the SSH protocol and manage permissions and authentication credentials using OpenSSH and system user accounts. This can be difficult to manage if you are hosting a large number of repositories with a large number of users on a single server. For these cases, many users provide access to their repositories using the "WebDAV" protocol over HTTP or HTTPS with the [Apache Web Server](/docs/web-servers/apache/). +Developers frequently access Subversion repositories via the SSH protocol and manage permissions and authentication credentials using OpenSSH and system user accounts. This can be difficult to manage if you are hosting a large number of repositories with a large number of users on a single server. For these cases, many users provide access to their repositories using the "WebDAV" protocol over HTTP or HTTPS with the [Apache Web Server](/cloud/web-servers/apache/). Install the Apache module `mod_dav_svn`: @@ -234,14 +234,14 @@ If local system accounts need to access the repository, add those users to the g chmod -R +s /srv/svn/subversion-test {{< note type="alert" respectIndent=false >}} -The sticky bit allows all users with access to the files (i.e. members of the group) to create files that are owned by the user or group that owns the directory, rather than by their own default user and group. This also allows users to execute scripts in these directories as the user that owns them, and thus poses a potential security risk. See our [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide for more information. +The sticky bit allows all users with access to the files (i.e. members of the group) to create files that are owned by the user or group that owns the directory, rather than by their own default user and group. This also allows users to execute scripts in these directories as the user that owns them, and thus poses a potential security risk. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide for more information. {{< /note >}} ### Configure the Apache Web Server This section demonstrates configuration for Debian and Ubuntu systems. Similar steps will work on other distributions. Please adjust accordingly. -In this example, `subversion-test` corresponds to the name of the repository, and `/srv/www/svn.example.com` is a directory distinct from your Subversion repositories. Maintaining a separate `htpasswd` for each repository hosted on your Linode makes sense if each repository is used by a distinctly different set of users. Conversely, if each repository that you administer is used by a subset of a larger group of users you may wish to configure [user groups](/docs/guides/apache-access-control/#access-control-lists-with-groups) to organize your users' access. +In this example, `subversion-test` corresponds to the name of the repository, and `/srv/www/svn.example.com` is a directory distinct from your Subversion repositories. Maintaining a separate `htpasswd` for each repository hosted on your Linode makes sense if each repository is used by a distinctly different set of users. Conversely, if each repository that you administer is used by a subset of a larger group of users you may wish to configure [user groups](/cloud/guides/apache-access-control/#access-control-lists-with-groups) to organize your users' access. 1. Enable the `mod_dav_svn` and `mod_dav` Apache modules. This will make it possible to use the `WebDAV` system to access the Subversion repository. @@ -252,7 +252,7 @@ In this example, `subversion-test` corresponds to the name of the repository, an systemctl restart apache2 -3. Configure HTTP AUTH passwords for Subversion users. You can read more about HTTP AUTH in our [Apache Authentication](/docs/guides/apache-access-control/) guide. Store your `htpasswd` file for your Subversion repositories in a location such as: +3. Configure HTTP AUTH passwords for Subversion users. You can read more about HTTP AUTH in our [Apache Authentication](/cloud/guides/apache-access-control/) guide. Store your `htpasswd` file for your Subversion repositories in a location such as: /srv/www/svn.example.com/subversion-test.htpasswd @@ -281,7 +281,7 @@ In this example, `subversion-test` corresponds to the name of the repository, an This configuration forwards all requests for `http://svn.example.com/` to `mod_dav_svn`. This will provide an overview of the most recent revision of the repository within a web browser. Note that this setup provides *unencrypted* access to your repository over `http`. -2. For a secure connection, configure Apache to [serve content with SSL](/docs/security/ssl/). Once your certificate files are in place, configure the virtual host to respond to requests on port `443` rather than `80`: +2. For a secure connection, configure Apache to [serve content with SSL](/cloud/security/ssl/). Once your certificate files are in place, configure the virtual host to respond to requests on port `443` rather than `80`: {{< file "/etc/apache2/sites-available/svn.example.com.conf" apache >}} diff --git a/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md b/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md index c3a74a2984d..580f48b8350 100644 --- a/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md +++ b/docs/guides/development/version-control/resolving-git-merge-conflicts/index.md @@ -27,7 +27,7 @@ There are several best practices you can adopt to help you avoid merge conflicts - Modularize your project by splitting it into several small files instead of a few large ones. -- Keep your feature branches up-to-date by [rebasing](/docs/guides/git-rebase-command/) them frequently. +- Keep your feature branches up-to-date by [rebasing](/cloud/guides/git-rebase-command/) them frequently. - Avoid making sweeping changes to your code base. For example, avoid changing your code-formatting conventions or renaming a widely-used class. If you have to do this, let everyone on the project know so that they can merge these changes into their local working branches. @@ -139,7 +139,7 @@ Remember to commit or stash any uncommitted changes in your working directory, s You can also use `git commit`. This method doesn't check for unresolved conflicts, so it’s not as safe as `git merge --continue`. {{< /note >}} -- If you resolve conflicts on the command line, instead of using a merge tool, it’s a good idea to use the [Grep command](/docs/guides/how-to-use-grep/) to search for conflict markers that you may have missed. +- If you resolve conflicts on the command line, instead of using a merge tool, it’s a good idea to use the [Grep command](/cloud/guides/how-to-use-grep/) to search for conflict markers that you may have missed. - Git enters your system's default editor so that you can edit the commit message (unless you use the `--no-edit` option). In your commit message, add some information about what caused the conflict and how you resolved it. @@ -245,7 +245,7 @@ The chapter on [Advanced Merging](https://git-scm.com/book/en/v2/Git-Tools-Advan ### Visual Studio Code (VS Code) -[Visual Studio Code (VS Code)](/docs/guides/vscode-marketplace-app/) is a full-featured code editor. VS Code provides a good set of conflict-resolution tools that can be invoked from the command line. You must configure Git to use VS Code as a merge tool. Use the following Git commands to set this up: +[Visual Studio Code (VS Code)](/cloud/guides/vscode-marketplace-app/) is a full-featured code editor. VS Code provides a good set of conflict-resolution tools that can be invoked from the command line. You must configure Git to use VS Code as a merge tool. Use the following Git commands to set this up: git config --global merge.tool code git config --global mergetool.code.cmd 'code --wait $MERGED' diff --git a/docs/guides/development/version-control/revert-last-git-commit/index.md b/docs/guides/development/version-control/revert-last-git-commit/index.md index 3c13422f47e..ec7d4816be5 100644 --- a/docs/guides/development/version-control/revert-last-git-commit/index.md +++ b/docs/guides/development/version-control/revert-last-git-commit/index.md @@ -18,13 +18,13 @@ Git is a widely used Version Control System (VCS) known for its versatility. It You might need that recoverability after an inadvertent commit or to undo a commit for any reason. This tutorial shows you how to use the `git` command line utility to revert a commit. It covers methods using both the `git revert` and `git reset` commands and explains the differences. -Learn more about Git generally in our guide [Git vs SVN: Pros and Cons of Each Version Control System](/docs/guides/svn-vs-git/#what-is-the-git-version-control-system). For a more general, and thorough, coverage of reverting Git commits, take a look at our guide on [How to Undo a Git Commit](/docs/guides/how-to-undo-git-commit/). +Learn more about Git generally in our guide [Git vs SVN: Pros and Cons of Each Version Control System](/cloud/guides/svn-vs-git/#what-is-the-git-version-control-system). For a more general, and thorough, coverage of reverting Git commits, take a look at our guide on [How to Undo a Git Commit](/cloud/guides/how-to-undo-git-commit/). ## Optional: Create a Test Repository If you'd like to test reverting and resetting in a separate repository from one you actively work in, follow the steps below. This will set up an example Git repository similar to the one used for the examples in this tutorial. The commit IDs may be different, but the contents of the repository should otherwise be the same. -The steps presume you have already installed Git and done basic configuration (e.g. user email address and name). If you have not done this yet, you can learn how in our guide [How to Install Git and Clone a GitHub Repository](/docs/guides/how-to-install-git-and-clone-a-github-repository/). +The steps presume you have already installed Git and done basic configuration (e.g. user email address and name). If you have not done this yet, you can learn how in our guide [How to Install Git and Clone a GitHub Repository](/cloud/guides/how-to-install-git-and-clone-a-github-repository/). 1. Create a new directory for your Git repository, and change it into that directory. Here, the new directory, `git-example` is created in the current user's home directory. @@ -186,4 +186,4 @@ The `git reset` command should be used sparingly. Take a good look at the situat That covers all you need to revert recent Git commits. Moreover, the techniques covered in this tutorial can also help you manage Git commits more generally. The `git revert` command can be useful for precisely removing past commits while retaining your commit history. The `git reset` command, on the other hand, provides a more radical option, completely reverting a repository to a previous commit, including the commit history. -To keep learning, refer to the links at the beginning of this guide. These give you more on Git generally as well as more on the commands covered in this tutorial. You may also want to look at our entire lineup of [guides on version control](/docs/guides/development/version-control/). These cover everything from the fundamentals to particular use cases, and provide steps to deepen your version control knowledge. \ No newline at end of file +To keep learning, refer to the links at the beginning of this guide. These give you more on Git generally as well as more on the commands covered in this tutorial. You may also want to look at our entire lineup of [guides on version control](/cloud/guides/development/version-control/). These cover everything from the fundamentals to particular use cases, and provide steps to deepen your version control knowledge. \ No newline at end of file diff --git a/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md b/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md index 8c5e96b533c..8f83e45d384 100644 --- a/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md +++ b/docs/guides/development/version-control/speed-up-your-development-process-with-turborepo/index.md @@ -72,16 +72,16 @@ Turborepo doesn’t install packages. This final piece of the puzzle is left 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. Follow the instructions in our guide [Installing and Using NVM (Node Version Manager)](/docs/guides/how-to-install-use-node-version-manager-nvm/) to install NVM, Node.js, and NPM. +1. Follow the instructions in our guide [Installing and Using NVM (Node Version Manager)](/cloud/guides/how-to-install-use-node-version-manager-nvm/) to install NVM, Node.js, and NPM. -1. You should also be familiar with Git, and have access to a remote repository on GitHub, GitLab, Bitbucket, or other compatible platform. See our [Getting Started with Git](/docs/guides/how-to-configure-git/) guide to learn more about Git. +1. You should also be familiar with Git, and have access to a remote repository on GitHub, GitLab, Bitbucket, or other compatible platform. See our [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide to learn more about Git. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Get Your Own Copy of Turborepo diff --git a/docs/guides/development/version-control/subversion-svn-tutorial/index.md b/docs/guides/development/version-control/subversion-svn-tutorial/index.md index 7232d1743c3..61b0d9389a0 100644 --- a/docs/guides/development/version-control/subversion-svn-tutorial/index.md +++ b/docs/guides/development/version-control/subversion-svn-tutorial/index.md @@ -17,9 +17,9 @@ Project collaborators make local shallow copies of the repository and make chang Users who want to collaborate on a Subversion project must install a Subversion client on their local machine. You use the local Subversion client to manage your changes and "publish" them to the project repository. This guide shows you how to install the Subversion CLI client on an Ubuntu system and provides commands to get you started collaborating on a Subversion project. {{< note >}} -See our [How to Install Apache Subversion on Ubuntu 20.04](/docs/guides/install-apache-subversion-ubuntu/) guide to learn how to install and configure a Subversion server. A Subversion server can store and version control multiple projects. +See our [How to Install Apache Subversion on Ubuntu 20.04](/cloud/guides/install-apache-subversion-ubuntu/) guide to learn how to install and configure a Subversion server. A Subversion server can store and version control multiple projects. -If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/docs/guides/svn-vs-git/) to learn more about each VCS. +If you are new to version control systems (VCS), see our guide [SVN vs Git: Which Version Control System Should You Use?](/cloud/guides/svn-vs-git/) to learn more about each VCS. {{< /note >}} ## Install the Subversion Client on Ubuntu diff --git a/docs/guides/development/version-control/svn-vs-git/index.md b/docs/guides/development/version-control/svn-vs-git/index.md index a53c5af79db..255ddbb4c55 100644 --- a/docs/guides/development/version-control/svn-vs-git/index.md +++ b/docs/guides/development/version-control/svn-vs-git/index.md @@ -54,7 +54,7 @@ Git's cons are the following: SVN's pros are the following: -- **Takes an easier approach**. The path between [creating a new feature branch](/docs/guides/subversion-svn-tutorial/#creating-a-subversion-branch) and merging it into the trunk is relatively short and intuitive to grasp. This makes SVN a tool that requires less training when getting started and can be effectively taken up by non-technical contributors. +- **Takes an easier approach**. The path between [creating a new feature branch](/cloud/guides/subversion-svn-tutorial/#creating-a-subversion-branch) and merging it into the trunk is relatively short and intuitive to grasp. This makes SVN a tool that requires less training when getting started and can be effectively taken up by non-technical contributors. - **Facilitates a top-down approach**. Since everything is centralized in an SVN repository, there is a single instance of the entire repository. This allows for granular repository access control. Each contributor's access can be limited to particular directories and files. SVN is a good choice when you need to manage security hierarchies within a repository. @@ -88,11 +88,11 @@ Each of the version control systems covered here — SVN and Git — has its par - Use SVN when you need a VCS that favors top-down management, easy contributions, and does not require you to work entirely offline. SVN often comes out on top for enterprise usage specifically for its granular access control, and it is the clear choice if you need to set up security hierarchies. - To get started with SVN, be sure to read through our guide [How to Install and Use the Subversion CLI Client](/docs/guides/subversion-svn-tutorial/). + To get started with SVN, be sure to read through our guide [How to Install and Use the Subversion CLI Client](/cloud/guides/subversion-svn-tutorial/). - Use Git when you need numerous contributors to work in parallel, where you expect lots of potential merge conflicts, and when you need contributors to be able to work locally offline. Because it handles merge conflicts, Git makes sense for most open-source projects, where contributors often work without external coordination. Git shines in a wide range of environments with complex codebases and distributed teams. - To learn more and start working with Git, check out our guide [Getting Started with Git](/docs/guides/how-to-configure-git/). + To learn more and start working with Git, check out our guide [Getting Started with Git](/cloud/guides/how-to-configure-git/). ## Conclusion diff --git a/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md b/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md index b942b3764a8..e35ec4a73ab 100644 --- a/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md +++ b/docs/guides/development/version-control/using-gitlab-runners-with-linode-object-storage/index.md @@ -41,11 +41,11 @@ You can also use a GitLab SaaS (GitLab.com) instance. The steps for the GitLab R With Linode, you have three options effective for creating your own self-hosted GitLab instance. -- Use Akamai Quick Deploy Apps to deploy a ready instance with GitLab installed. This method requires the fewest manual steps and provides the surest and quickest way to get a GitLab instance running. You can follow along with our [Deploy Gitlab through Akamai Quick Deploy Apps](/docs/marketplace-docs/guides/gitlab/) guide. +- Use Akamai Quick Deploy Apps to deploy a ready instance with GitLab installed. This method requires the fewest manual steps and provides the surest and quickest way to get a GitLab instance running. You can follow along with our [Deploy Gitlab through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/gitlab/) guide. -- Use the default package manager for your Linux distribution. GitLab maintains official installation packages for CentOS, Debian, Ubuntu, and others, and you can follow the instructions in their [official documentation](https://about.gitlab.com/install/). You may also refer to our [Install GitLab on Ubuntu 18.04](/docs/guides/install-gitlab-on-ubuntu-18-04/) for additional details on the installation process. +- Use the default package manager for your Linux distribution. GitLab maintains official installation packages for CentOS, Debian, Ubuntu, and others, and you can follow the instructions in their [official documentation](https://about.gitlab.com/install/). You may also refer to our [Install GitLab on Ubuntu 18.04](/cloud/guides/install-gitlab-on-ubuntu-18-04/) for additional details on the installation process. -- Use Docker to deploy your GitLab instance. This option requires the most effort and setup. But the option can be a boon for those familiar with Docker and wanting the benefits of a containerized instance. You can follow our [Install GitLab with Docker](/docs/guides/install-gitlab-with-docker/) guide to set up your GitLab instance with Docker. +- Use Docker to deploy your GitLab instance. This option requires the most effort and setup. But the option can be a boon for those familiar with Docker and wanting the benefits of a containerized instance. You can follow our [Install GitLab with Docker](/cloud/guides/install-gitlab-with-docker/) guide to set up your GitLab instance with Docker. The rest of the guide assumes you have your GitLab instance up and running. This guide uses an instance deployed through Akamai Quick Deploy Apps, but the steps should be compatible with any of the options above. @@ -57,12 +57,12 @@ The dedicated instance you use for your GitLab Runners is referred to as the Run These next steps refer you to guides for creating, updating, and securing a new Linode Compute Instance, where you can install the GitLab Runners. Follow them before going forward with the rest of this guide. -1. Create a Linode 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. Create a Linode 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 the instance. 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 the instance. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -Throughout the rest of this guide, commands are provided for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide. +Throughout the rest of this guide, commands are provided for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ### Install GitLab Runner @@ -267,7 +267,7 @@ Your Runner Manager thus needs to have both Docker and Docker Manager installed Docker Machine has been deprecated by Docker. However, GitLab maintains its own fork of the Docker Machine project to support GitLab Runners, until GitLab can mobilize another solution. The steps here install GitLab's fork of Docker Machine. {{< /note >}} -1. Follow our [Installing and Using Docker](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide to set up Docker on your Runner Manager instance. Use the dropdown at the top of the guide to select the appropriate distribution for your instance. +1. Follow our [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide to set up Docker on your Runner Manager instance. Use the dropdown at the top of the guide to select the appropriate distribution for your instance. 1. Use the commands here to download the Docker Machine executable, move it to your instance's path, and give it executable permissions. @@ -315,7 +315,7 @@ Your GitLab Runner needs some changes to its configuration now to support autosc The configuration here keeps two idle machines at any time, which can be picked up by any jobs needing them. - The `linode-` options define how the Linode instances should be created. You need to replace `` with your actual Linode API token, which you can procure by following our [Getting Started with Linode API](/docs/products/tools/api/get-started/) guide. + The `linode-` options define how the Linode instances should be created. You need to replace `` with your actual Linode API token, which you can procure by following our [Getting Started with Linode API](https://techdocs.akamai.com/linode-api/reference/get-started) guide. Otherwise, replace the values as desired. You can learn more about the options, along with links to possible values, in the Linode Docker Machine driver [documentation](https://github.com/linode/docker-machine-driver-linode#options) @@ -395,11 +395,11 @@ test-job-1: By default, cached files are stored locally alongside your GitLab Runner Manager. But that option may not be the most efficient, especially as your GitLab pipelines become more complicated and your projects' storage needs expand. -To remedy this, you can adjust your GitLab Runner configuration to use an Amazon S3-compatible object storage solution, like [Linode Object Storage](/docs/products/storage/object-storage/get-started/). +To remedy this, you can adjust your GitLab Runner configuration to use an Amazon S3-compatible object storage solution, like [Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage). These next steps show you how you can integrate a Linode Object Storage bucket with your GitLab Runner to store cached resources from CI/CD jobs. -1. Follow our [Getting Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide to enable Linode Object Storage, create a bucket, and get an access key. +1. Follow our [Getting Started with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide to enable Linode Object Storage, create a bucket, and get an access key. This guide uses a bucket named `gitlab-example-bucket` and was created in the Atlanta, GA region, designated `us-southeast-1`. diff --git a/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md b/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md index 25e2699d889..45eed35524e 100644 --- a/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md +++ b/docs/guides/development/webassembly/rust-webassembly-tutorial/index.md @@ -20,14 +20,14 @@ This guide introduces some key concepts behind WebAssembly and gets you 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. To make the guide more straightforward, its instructions just provide commands that work for Debian and Ubuntu Linux distribution. You may need to modify the commands given in many of the steps if you are using a different distribution. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## What is WebAssembly? @@ -163,7 +163,7 @@ wasm.greet(); Node.js serves the application on `localhost:8080`. To visit the application remotely, you can use an SSH tunnel: - - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **8080**. + - On Windows, you can use the PuTTY tool to set up your SSH tunnel. Follow the appropriate section of the [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) guide, replacing the example port number there with **8080**. - On OS X or Linux, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the application server and `192.0.2.0` with the server's IP address. ssh -L8080:localhost:8080 example-user@192.0.2.0 diff --git a/docs/guides/email/_index.md b/docs/guides/email/_index.md index 748dbbe22fc..78dd6bafe70 100644 --- a/docs/guides/email/_index.md +++ b/docs/guides/email/_index.md @@ -14,5 +14,5 @@ aliases: ['/email/'] Every organization needs email service. Whether you're running a personal blog or an entire company's web infrastructure on your Linodes, these guides will assist you in getting a stable mail/groupware server up and running quickly. {{< note >}} -These guides involve or result in sending email. In an effort to fight spam, Linode may restrict outbound connections on ports 25, 465, and 587 on Linodes for new accounts created after November 5th, 2019. For more information, please see [Sending Email on Linode](/docs/products/platform/get-started/guides/send-email/). +These guides involve or result in sending email. In an effort to fight spam, Linode may restrict outbound connections on ports 25, 465, and 587 on Linodes for new accounts created after November 5th, 2019. For more information, please see [Sending Email on Linode](https://techdocs.akamai.com/cloud-computing/docs/send-email). {{< /note >}} diff --git a/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md b/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md index 170082241ba..f9c8de16765 100644 --- a/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md +++ b/docs/guides/email/best-practices/installing-mail-filtering-for-ubuntu-12-04/index.md @@ -25,7 +25,7 @@ This is a generic introductory guide. You are responsible for ensuring that your ## Prerequisites -This guide assumes you have already followed our [Email with Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) guides and are running Ubuntu 12.04 LTS. This guide is written for the root user, and all commands listed require root privileges. +This guide assumes you have already followed our [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guides and are running Ubuntu 12.04 LTS. This guide is written for the root user, and all commands listed require root privileges. ## Installation diff --git a/docs/guides/email/best-practices/running-a-mail-server/index.md b/docs/guides/email/best-practices/running-a-mail-server/index.md index 8edd2f0962b..280bc18ab1c 100644 --- a/docs/guides/email/best-practices/running-a-mail-server/index.md +++ b/docs/guides/email/best-practices/running-a-mail-server/index.md @@ -53,10 +53,10 @@ There are several third-party mail services available: - [Postmark](https://postmarkapp.com/why?utm_source=linode&utm_medium=referral&utm_campaign=awareness) - [Fastmail](https://www.fastmail.com) -- [Google Workspace](https://workspace.google.com/products/gmail/) uses the familiar Gmail interface. Check out our guide to [Using Google Workspace for Email](/docs/guides/using-google-workspace-for-email/). +- [Google Workspace](https://workspace.google.com/products/gmail/) uses the familiar Gmail interface. Check out our guide to [Using Google Workspace for Email](/cloud/guides/using-google-workspace-for-email/). - [Microsoft 365](https://www.office.com) is the successor to Outlook.com and can support custom domains for email, amongst other services. -If you decide to use an outside mail service, you will still need to set up [DNS](/docs/products/networking/dns-manager/) for your mail and use the settings provided by the third-party mail service. +If you decide to use an outside mail service, you will still need to set up [DNS](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your mail and use the settings provided by the third-party mail service. ## How Mail Servers Work @@ -91,7 +91,7 @@ Here are the most popular MTA services available: - [Courier Mail Server](http://www.courier-mta.org) comes with Courier-IMAP, which is the popular part of the Courier mail server suite, but Courier-MTA also includes mail relaying features. It's a simpler MTA but somewhat limited. - [Exim](http://www.exim.org) is modern and oriented towards flexibility. It's secure, but not quite as security-oriented as Postfix. It's very customizable, but is one of the most complex MTAs to configure. -- [Postfix](http://www.postfix.org) is part of Linode's [recommended mail server build](/docs/guides/email-with-postfix-dovecot-and-mysql/). It's modern, security-oriented, and very flexible. It is slightly simpler to set up than Exim. +- [Postfix](http://www.postfix.org) is part of Linode's [recommended mail server build](/cloud/guides/email-with-postfix-dovecot-and-mysql/). It's modern, security-oriented, and very flexible. It is slightly simpler to set up than Exim. - [Qmail](http://cr.yp.to/qmail.html) is a modern MTAs and supports [Maildir-style](https://en.wikipedia.org/wiki/Maildir) directories. Qmail has not received an update since 2007, but remains very popular. - [Sendmail](http://www.sendmail.com/sm/open_source/) is a legacy MTA that has a large following and good support. - [Zimbra](http://www.zimbra.com) is an all-in-one mail service. Zimbra offers a simple install, but few configurable options. @@ -117,11 +117,11 @@ Most servers and clients support both IMAP and POP3. POP3 clients connect to the Here are the most popular IMAP and POP3 servers available: -- [Citadel](http://www.citadel.org) is an all-in-one mail service that includes mail, calendars, instant messaging, mailing lists, and other collaboration tools. It's open source and geared towards small and medium-sized organizations. Linode has guides for [Citadel on Ubuntu 12.04](/docs/guides/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/) and [Citadel on Debian 6](/docs/guides/email-with-citadel-on-debian-6-squeeze/). +- [Citadel](http://www.citadel.org) is an all-in-one mail service that includes mail, calendars, instant messaging, mailing lists, and other collaboration tools. It's open source and geared towards small and medium-sized organizations. Linode has guides for [Citadel on Ubuntu 12.04](/cloud/guides/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/) and [Citadel on Debian 6](/cloud/guides/email-with-citadel-on-debian-6-squeeze/). - [Courier](http://www.courier-mta.org) has a very popular IMAP server called [Courier IMAP](http://www.courier-mta.org/imap/). It's an all-in-one mail server software suite, but Courier IMAP can be installed by itself if that's the only part you need. - [Cyrus](https://www.cyrusimap.org) is a modern, security-oriented IMAP/POP3 server designed to work on sealed servers where users do not log in directly. - [DBMail](http://www.dbmail.org) is an open source project that stores mail in databases instead of flat files. -- [Dovecot](http://dovecot.org) is a lightweight, modern, and configurable mail server, and is part of our [recommended mail server build](/docs/guides/email-with-postfix-dovecot-and-mysql/). +- [Dovecot](http://dovecot.org) is a lightweight, modern, and configurable mail server, and is part of our [recommended mail server build](/cloud/guides/email-with-postfix-dovecot-and-mysql/). - [Xmail](http://www.xmailserver.org) is a full-featured POP3 server, but does not support IMAP. - [Zimbra](http://www.zimbra.com) is an all-in-one mail service that's much simpler to install than other options, but less customizable. @@ -129,17 +129,17 @@ Here are the most popular IMAP and POP3 servers available: ### TLS/SSL Certificate -A TLS (SSL) certificate can be used to encrypt connections to your mail server using protocols like [STARTTLS](https://en.wikipedia.org/wiki/Opportunistic_TLS). It is recommended to obtain your certificate from a public Certificate Authority (CA) to provide authenticity guarantees for your users and avoid warnings and error messages. You can generate a free Let's Encrypt certificate using the [certbot](https://certbot.eff.org/) tool or use a paid service like your domain's registrar or a dedicated certificate provider. See [Obtain a Commercially Signed TLS Certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) for additional details. +A TLS (SSL) certificate can be used to encrypt connections to your mail server using protocols like [STARTTLS](https://en.wikipedia.org/wiki/Opportunistic_TLS). It is recommended to obtain your certificate from a public Certificate Authority (CA) to provide authenticity guarantees for your users and avoid warnings and error messages. You can generate a free Let's Encrypt certificate using the [certbot](https://certbot.eff.org/) tool or use a paid service like your domain's registrar or a dedicated certificate provider. See [Obtain a Commercially Signed TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) for additional details. -If the certificate is for internal use (not a public-facing service) and you are able to mark the certificate as trusted in your users' mail clients, a self-signed certificate may be sufficient. Consider any security implications and error messages that may appear when using a self-signed certificate. See [Create a Self-Signed TLS Certificate](/docs/guides/create-a-self-signed-tls-certificate/) for instructions. +If the certificate is for internal use (not a public-facing service) and you are able to mark the certificate as trusted in your users' mail clients, a self-signed certificate may be sufficient. Consider any security implications and error messages that may appear when using a self-signed certificate. See [Create a Self-Signed TLS Certificate](/cloud/guides/create-a-self-signed-tls-certificate/) for instructions. ### Software Installation Install and configure the MTA, MDA, and IMAP/POP3 server. To help manage domains, email addresses, user credentials, aliases, etc., install a database server like MySQL or PostgreSQL. -For detailed configuration instructions, see our [Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) guide. +For detailed configuration instructions, see our [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. -For more mail server guides, including guides for older software versions and other mail-related services, visit our [Email Server Guides](/docs/email/). +For more mail server guides, including guides for older software versions and other mail-related services, visit our [Email Server Guides](/cloud/email/). ### DNS Records @@ -165,7 +165,7 @@ Each MX record has a: | ------------ |:--------:|:----:|:----:| ----- | ----- | | example.com | 86400 | MX | 10 | mail.example.com | -When using Linode's [DNS Manager](/docs/products/networking/dns-manager/), point your MX records to your Linode mail server's FQDN. Make sure that your Linode mail server's domain or subdomain has a corresponding *A record* that points to the correct IP address. +When using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager), point your MX records to your Linode mail server's FQDN. Make sure that your Linode mail server's domain or subdomain has a corresponding *A record* that points to the correct IP address. To configure an MX record for a subdomain email address, use the "Subdomain" field when setting the MX record for your domain. For example, the address `user@sub.example.com` requires an MX record with a "Subdomain" value of `sub` under the `example.com` domain. @@ -187,11 +187,11 @@ Make sure your SPF records are not too strict. If you accidentally exclude a leg #### Reverse DNS -[Set reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) for your mail server's domain or subdomain. +[Set reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for your mail server's domain or subdomain. The reverse DNS for your mail server must match the hostname of your Linode. If your Linode's reverse DNS and hostname do not match, email from your server may get rejected with the warning "Reverse DNS does not match SMTP Banner." -If you need to check or set the hostname, see our [Getting Started](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) article. +If you need to check or set the hostname, see our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) article. ## Spam and Virus Protection, Mail Clients, and More @@ -240,11 +240,11 @@ Here are some of the typical mail ports: * `587`: SMTP (The preferred non-encrypted port for outgoing connections from mail clients. Use STARTTLS for encryption.) * `465`: SMTP (should only be used for legacy support) -If you're using a firewall, be sure to edit the rules for your mail server's ports. See Linode's guide to [configuring a firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) for more information. +If you're using a firewall, be sure to edit the rules for your mail server's ports. See Linode's guide to [configuring a firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) for more information. ### Webmail -Webmail is a type of mail client that can be installed on your server and accessed from a web browser. It allows your users to access their email from your website (example: `http://example.com/mail`) anywhere they have access to the internet. Running a web server is a prerequisite for running a webmail client, so follow the [Hosting a Website](/docs/guides/set-up-web-server-host-website/) guide if you want to run webmail on your Linode, in addition to installing a mail server. +Webmail is a type of mail client that can be installed on your server and accessed from a web browser. It allows your users to access their email from your website (example: `http://example.com/mail`) anywhere they have access to the internet. Running a web server is a prerequisite for running a webmail client, so follow the [Hosting a Website](/cloud/guides/set-up-web-server-host-website/) guide if you want to run webmail on your Linode, in addition to installing a mail server. Here are some of the most popular webmail clients: diff --git a/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md b/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md index b525c51daed..ae17fdf0924 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-debian-5-lenny/index.md @@ -20,13 +20,13 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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 Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. ## 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/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md b/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md index 2d540162fe2..8d3f6318ac7 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-debian-6-squeeze/index.md @@ -17,11 +17,11 @@ relations: deprecated: true --- -Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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/). +Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md index 9fdbd879861..08acb3f765a 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-10-04-lts-lucid/index.md @@ -20,13 +20,13 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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 Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. ## 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/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md index 5dd525c1135..ac881201e1d 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -25,7 +25,7 @@ There is a known bug that prevents Citadel from running properly on 32-bit Linod ## Prerequisites -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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 Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. @@ -35,7 +35,7 @@ If you intend to install Citadel alongside another web server package such as Ap ## 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/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md index e892e293d0e..15f4ef2c2e0 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-14-04/index.md @@ -32,7 +32,7 @@ There is a known bug that prevents Citadel from running properly on 32-bit Linod ## Prerequisites -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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 Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. @@ -42,7 +42,7 @@ If you intend to install Citadel alongside another web server package such as Ap ## 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/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md index fa4cf72512e..5f76230a53d 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-04-jaunty/index.md @@ -20,7 +20,7 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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 Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. diff --git a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md index 2888bb323f5..989ff358fc0 100644 --- a/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/citadel/email-with-citadel-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true Citadel is a groupware suite that provides system administrators with an easy method to set up and manage email, calendars, mailing lists and other collaboration tools. It also features an automated installation process and versatile deployment options that allow the application to be scaled across multiple servers. -Before installing Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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 Citadel, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide also assumes that you wish to run Citadel by itself on this server on port 80 or 443 for browser-based access. **Please note:** If you intend to install Citadel alongside another web server package such as Apache or nginx, select the "internal" option when asked about web server integration. Be sure to specify unique ports for Citadel such as 8080 for HTTP or 4343 for HTTPS. diff --git a/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md b/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md index 087e36fad9f..be25bce0783 100644 --- a/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md +++ b/docs/guides/email/clients/install-roundcube-on-ubuntu/index.md @@ -25,19 +25,19 @@ Roundcube is a web-based IMAP email client that offers a user interface similar ## 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 [Setting Up and Securing a Compute Instance](/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 [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. -3. This guide is designed to work with our [Installing Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) tutorial, but you **can** use a different mail server. +3. This guide is designed to work with our [Installing Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) tutorial, but you **can** use a different mail server. -4. Configure an **A HOST** or **CNAME** DNS record (a subdomain) to point at your Linode. For this guide, the subdomain `webmail` will be used. Refer to our [Introduction to DNS Records](/docs/guides/dns-overview/) guide if you need help creating this record. +4. Configure an **A HOST** or **CNAME** DNS record (a subdomain) to point at your Linode. For this guide, the subdomain `webmail` will be used. Refer to our [Introduction to DNS Records](/cloud/guides/dns-overview/) guide if you need help creating this record. 5. Update your server's software packages: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Linux, Apache, MySQL and PHP (LAMP) Stack @@ -80,7 +80,7 @@ We will create a new virtual host for Roundcube in this section. This makes a ne sudo chmod 644 apache2-roundcube.sample.conf -5. Determine what type of Secure Socket Layer (SSL) encryption certificate is best for your Roundcube deployment. A [self-signed SSL certificate](/docs/guides/create-a-self-signed-tls-certificate/) is easy and free, but triggers an error in most modern browsers reporting that the connection is not private. [Let's Encrypt](https://letsencrypt.org/) offers browser trusted, free SSL certificates, but does not support [Extended Validation](https://en.wikipedia.org/wiki/Extended_Validation_Certificate) (EV) or multi-domain ([wildcard](https://en.wikipedia.org/wiki/Wildcard_certificate)) certificates. To gain those features, a [commercial SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) must be used. +5. Determine what type of Secure Socket Layer (SSL) encryption certificate is best for your Roundcube deployment. A [self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/) is easy and free, but triggers an error in most modern browsers reporting that the connection is not private. [Let's Encrypt](https://letsencrypt.org/) offers browser trusted, free SSL certificates, but does not support [Extended Validation](https://en.wikipedia.org/wiki/Extended_Validation_Certificate) (EV) or multi-domain ([wildcard](https://en.wikipedia.org/wiki/Wildcard_certificate)) certificates. To gain those features, a [commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) must be used. 6. Once you have your SSL certificate, edit the following options in `apache2-roundcube.sample.conf` to match your desired configuration: @@ -184,7 +184,7 @@ install ok: channel://pear.php.net/Mail_mimeDecode-1.5.6 echo '0 0 * * * root bash /var/www/roundcube/bin/cleandb.sh >> /dev/null' | sudo tee --append /etc/crontab - This utilizes a cron job to run the `cleandb.sh` shell script included with Roundcube once per day at midnight. Read our [Scheduling Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) guide to learn about Cron. + This utilizes a cron job to run the `cleandb.sh` shell script included with Roundcube once per day at midnight. Read our [Scheduling Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide to learn about Cron. ## Enable Roundcube's Apache Virtual Host diff --git a/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md b/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md index fca59a2fd91..98cc14a1387 100644 --- a/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md +++ b/docs/guides/email/clients/install-squirrelmail-on-ubuntu-16-04-or-debian-8/index.md @@ -22,12 +22,12 @@ deprecated: true ![Install SquirrelMail on Ubuntu or Debian](Install_SquirrelMail_smg.jpg) -SquirrelMail is a webmail package, written in PHP, which supports both SMTP and IMAP protocols, and features cross-platform compatibility. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 16.04](/docs/guides/install-lamp-stack-on-ubuntu-16-04/) or [LAMP Server on Debian 8](/docs/guides/lamp-on-debian-8-jessie/) guide. +SquirrelMail is a webmail package, written in PHP, which supports both SMTP and IMAP protocols, and features cross-platform compatibility. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) or [LAMP Server on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide. {{% content "email-warning-shortguide" %}} {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/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 Privileges](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Installation @@ -133,7 +133,7 @@ Before using SquirrelMail for the first time, configure it to access your mail s 3. If your mail server is on the same Linode as your SquirrelMail installation, you may not need to make any adjustments to the default settings. Otherwise, adjust the **Domain**, **IMAP**, and **SMTP** settings to match the mail server you want to connect to. You can find additional configuration tips for this section from [SquirrelMail's official documentation](http://squirrelmail.org/docs/admin/admin-5.html#ss5.3). {{< note respectIndent=false >}} -If your email server uses `STARTTLS` encryption, as our [Email with Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) guide does, You will not be able to authenticate using this version of Squirrelmail. Version 1.5.1 and higher can use `STARTTLS`, but are in development and not available in the main repositories. You can [download](https://squirrelmail.org/download.php) the latest build from Squirrelmail's website. +If your email server uses `STARTTLS` encryption, as our [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide does, You will not be able to authenticate using this version of Squirrelmail. Version 1.5.1 and higher can use `STARTTLS`, but are in development and not available in the main repositories. You can [download](https://squirrelmail.org/download.php) the latest build from Squirrelmail's website. {{< /note >}} 4. When done, press `S` to save your changes, then press Q to quit. diff --git a/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md b/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md index c5cc534a0c2..26cf6872e38 100644 --- a/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md +++ b/docs/guides/email/clients/installing-squirrelmail-on-debian-7/index.md @@ -20,10 +20,10 @@ relations: deprecated: true --- -SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/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 Privileges](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Installation diff --git a/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md b/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md index ca53fe6c1d8..631194a02a5 100644 --- a/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md +++ b/docs/guides/email/clients/installing-squirrelmail-on-ubuntu-12-04/index.md @@ -20,10 +20,10 @@ relations: deprecated: true --- -SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +SquirrelMail is a webmail package written in PHP. It supports both SMTP and IMAP protocols. SquirrelMail features cross-platform compatibility since all of its pages render in HTML 4.0. SquirrelMail requires a web server with PHP to run properly. For this guide we'll be using Apache 2. If you don't already have Apache and PHP installed, you can check our [LAMP Server on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Privileges](/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 Privileges](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Installation diff --git a/docs/guides/email/clients/retrieve-email-using-getmail/index.md b/docs/guides/email/clients/retrieve-email-using-getmail/index.md index ee7fd047dbd..24421a81c95 100644 --- a/docs/guides/email/clients/retrieve-email-using-getmail/index.md +++ b/docs/guides/email/clients/retrieve-email-using-getmail/index.md @@ -17,11 +17,11 @@ external_resources: tags: ["email"] --- -Getmail is a simple mail retriever. In many ways, the software is a response to the complexity of [fetchmail](/docs/guides/using-fetchmail-to-retrieve-email/). Getmail provides a simple and efficient tool for downloading email from POP (Post Office Protocol) and IMAP (Internet Messaged Access Protocol) servers. +Getmail is a simple mail retriever. In many ways, the software is a response to the complexity of [fetchmail](/cloud/guides/using-fetchmail-to-retrieve-email/). Getmail provides a simple and efficient tool for downloading email from POP (Post Office Protocol) and IMAP (Internet Messaged Access Protocol) servers. -You can use getmail to download email from your Linode's mail server powered by [Citadel](/docs/email/citadel/) or [Dovecot](/docs/email/postfix/) or you can use getmail on your Linode to download email from one or more third-party mail providers (as long as POP or IMAP is supported) and deliver it to a local email gateway. +You can use getmail to download email from your Linode's mail server powered by [Citadel](/cloud/email/citadel/) or [Dovecot](/cloud/email/postfix/) or you can use getmail on your Linode to download email from one or more third-party mail providers (as long as POP or IMAP is supported) and deliver it to a local email gateway. -Before getting started with Getmail, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 the [administration basics guide](/docs/guides/linux-system-administration-basics/). +Before getting started with Getmail, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Install Getmail @@ -165,7 +165,7 @@ The final file is located in the `/home/foreman/mail` directory and is specified ### Check Email Regularly Using Cron -If you would like your system to check for email regularly, you can run the `getmail` command regularly with cron. For a more detailed explanation of cron, you may consider the [introduction to cron](/docs/guides/schedule-tasks-with-cron/) guide. To add the "cron job", issue the following command to edit your cronjobs: +If you would like your system to check for email regularly, you can run the `getmail` command regularly with cron. For a more detailed explanation of cron, you may consider the [introduction to cron](/cloud/guides/schedule-tasks-with-cron/) guide. To add the "cron job", issue the following command to edit your cronjobs: crontab -e diff --git a/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md b/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md index f6d8f7669d9..5ba2950af79 100644 --- a/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md +++ b/docs/guides/email/clients/using-fetchmail-to-retrieve-email/index.md @@ -21,7 +21,7 @@ deprecated: true The `fetchmail` program is a classic UNIX and Unix-like utility used to retrieve email from remote servers and deliver it to local users on a server. There are a number of different scenarios where fetchmail is used. Fetchmail is a popular tool for manually downloading email from a POP or IMAP server for personal use on a local machine. Another common application uses fetchmail to create an "email gateway," where email is collected from a number of different accounts or from a large centralized server and provided to the user in a manageable situation. -If you're new to Linode we always recommend completing our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) before beginning a tutorial. If you're new to Linux we also recommend considering the [beginners guide](/docs/products/compute/compute-instances/faqs/) and the many documents in the [Tools & Reference](/docs/tools-reference/) section. If you need a more full featured email stack, consider one of our other [email guides](/docs/email/). +If you're new to Linode we always recommend completing our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) before beginning a tutorial. If you're new to Linux we also recommend considering the [beginners guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and the many documents in the [Tools & Reference](/cloud/tools-reference/) section. If you need a more full featured email stack, consider one of our other [email guides](/cloud/email/). ## Installing Fetchmail @@ -76,7 +76,7 @@ In the first specification, fetchmail is told to check the `mail.example.com` se In the second example, a single account (i.e. `betty`) is retrieved from the remote server (i.e. `mail.dexample.org`) and passed to the MDA `procmail` utility. Additionally, account has the `sslproto` option is enabled to encrypt this traffic using `ssl`. -Fetchmail requires that the `~/.fetchmailrc` file have the [access permissions](/docs/guides/linux-users-and-groups/) of 600. Permissions of 600 equate to read and writeable by the user account which "owns" the file with no permissions granted to group or other users. To achieve this, issue the following command: +Fetchmail requires that the `~/.fetchmailrc` file have the [access permissions](/cloud/guides/linux-users-and-groups/) of 600. Permissions of 600 equate to read and writeable by the user account which "owns" the file with no permissions granted to group or other users. To achieve this, issue the following command: chmod 600 ~/.fetchmailrc diff --git a/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md b/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md index 39c430958e2..f350b7995d5 100644 --- a/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md +++ b/docs/guides/email/email-services/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/index.md @@ -17,13 +17,13 @@ aliases: ['/email/email-services/configure-postfix-to-send-mail-using-gmail-and- Postfix is a Mail Transfer Agent (MTA) that can act as an SMTP server or client to send or receive email. There are many reasons why you would want to configure Postfix to send email using Google Workspace (previously called G Suite and Google Apps) and Gmail. One reason is to avoid getting your mail flagged as spam if your current server's IP has been added to a block list. -In this guide, you will learn how to install and configure a Postfix server on Debian or Ubuntu to send email through Gmail and Google Workspace. For information on configuring Postfix with other external SMTP servers, see our [Configure Postfix to Send Mail Using an External SMTP Server](/docs/guides/postfix-smtp-debian7/) guide. +In this guide, you will learn how to install and configure a Postfix server on Debian or Ubuntu to send email through Gmail and Google Workspace. For information on configuring Postfix with other external SMTP servers, see our [Configure Postfix to Send Mail Using an External SMTP Server](/cloud/guides/postfix-smtp-debian7/) guide. {{% content "email-warning-shortguide" %}} ## Before You Begin -1. Complete our [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and ensure that the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +1. Complete our [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 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). 2. Update your system: @@ -32,7 +32,7 @@ In this guide, you will learn how to install and configure a Postfix server on D 3. Use your web browser to confirm your email login credentials by logging in to [Gmail](https://gmail.com). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 Postfix diff --git a/docs/guides/email/email-services/how-to-install-and-use-postal/index.md b/docs/guides/email/email-services/how-to-install-and-use-postal/index.md index 69e4dbb0e01..ff04e8c9f84 100644 --- a/docs/guides/email/email-services/how-to-install-and-use-postal/index.md +++ b/docs/guides/email/email-services/how-to-install-and-use-postal/index.md @@ -52,18 +52,18 @@ It can be challenging to run and maintain a web server. To maintain a positive r ## 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 and point it at the Linode. The Postal server requires several additional subdomains which are described in a subsequent section of this guide. 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 and point it at the Linode. The Postal server requires several additional subdomains which are described in a subsequent section of this guide. 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. To send emails from a server, TCP port 25 must be enabled on the Linode. This is the well-known port for *Simple Mail Transfer Protocol* (SMTP). Postal send outgoing emails and listens for incoming mail on this port. Contact Linode support to determine whether this port is restricted on your server. 1. Postal requires at least four GB of RAM, two CPU cores, and at least 100GB of disk space. For best performance, run Postal on a dedicated server that is not handling other tasks. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Postal @@ -81,7 +81,7 @@ After the configuration is complete, the Postal web portal can be used to comple ### How to Configure DNS Records for Postal -In addition to the main A/AAAA records for the primary domain, Postal requires a few additional DNS records. Certain other optional records are highly recommended to ensure reliable delivery. These records can be created either before or after installing Postal. However, it is a good idea to create them in advance to allow time for propagation. To determine how to create the various types of DNS records from the Linode dashboard, consult the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +In addition to the main A/AAAA records for the primary domain, Postal requires a few additional DNS records. Certain other optional records are highly recommended to ensure reliable delivery. These records can be created either before or after installing Postal. However, it is a good idea to create them in advance to allow time for propagation. To determine how to create the various types of DNS records from the Linode dashboard, consult the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). To enable a successful Postal deployment, create the following records. For the entirety of this section, replace `example.com` with the name of your domain wherever it occurs. @@ -215,7 +215,7 @@ Postal requires some additional configuration before it can be used. Several uti 1. Use the `postal bootstrap` tool to generate several configuration files. Supply the domain name for Postal as an argument. In the following command, replace `postal.example.com` with the actual domain name. {{< note >}} - This is the domain created in the "A/AAAA Record(s)" step of [How to Configure DNS Records for the Postal Mail Server](/docs/guides/how-to-install-and-use-postal/#how-to-configure-dns-records-for-postal) section. + This is the domain created in the "A/AAAA Record(s)" step of [How to Configure DNS Records for the Postal Mail Server](/cloud/guides/how-to-install-and-use-postal/#how-to-configure-dns-records-for-postal) section. {{< /note >}} ```command diff --git a/docs/guides/email/email-services/postfix-smtp-debian7/index.md b/docs/guides/email/email-services/postfix-smtp-debian7/index.md index 162d720388b..fbc53347be8 100644 --- a/docs/guides/email/email-services/postfix-smtp-debian7/index.md +++ b/docs/guides/email/email-services/postfix-smtp-debian7/index.md @@ -42,7 +42,7 @@ At a high-level Postfix configuration involves the following steps: ## Postfix Configuration {{< note >}} -If you’re using Gmail or Google Workspace, see our [Configure Postfix to Send Mail Using Gmail and Google Workspace on Debian or Ubuntu](/docs/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/) guide instead. +If you’re using Gmail or Google Workspace, see our [Configure Postfix to Send Mail Using Gmail and Google Workspace on Debian or Ubuntu](/cloud/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/) guide instead. {{< /note >}} ### Gathering Prerequisites @@ -87,7 +87,7 @@ myhostname = fqdn.example.com Usernames and passwords are stored in the `/etc/postfix/sasl_passwd` file. In this section, you add your external mail provider credentials to the `sasl_passwd` Postfix configuration file. {{< note >}} -The examples in this section provide the general steps to configure Postfix to use an external SMTP provider. If you want to use Mandrill or SendGrid as your SMTP provider, you can refer to the examples in the [Postfix Configuration with Mandrill, and SendGrid](/docs/guides/postfix-smtp-debian7/#postfix-configuration-with-mandrill-and-sendgrid) section of this guide. +The examples in this section provide the general steps to configure Postfix to use an external SMTP provider. If you want to use Mandrill or SendGrid as your SMTP provider, you can refer to the examples in the [Postfix Configuration with Mandrill, and SendGrid](/cloud/guides/postfix-smtp-debian7/#postfix-configuration-with-mandrill-and-sendgrid) section of this guide. {{< /note >}} First, open or create the `/etc/postfix/sasl_passwd` file: @@ -121,7 +121,7 @@ In the previous section you added plain text credentials to the `/etc/postfix/sa You are now ready to provide the configurations needed by Postfix to use the external SMTP server. This configuration tells Postfix to deliver mail indirectly via a relay host, which in this case, is an external SMTP server. {{< note >}} -Refer to the [Postfix Configuration with Mandrill, and SendGrid](/docs/guides/postfix-smtp-debian7/#postfix-configuration-with-mandrill-and-sendgrid) section of this guide for specific relay host configurations for Mandrill, and SendGrid. +Refer to the [Postfix Configuration with Mandrill, and SendGrid](/cloud/guides/postfix-smtp-debian7/#postfix-configuration-with-mandrill-and-sendgrid) section of this guide for specific relay host configurations for Mandrill, and SendGrid. {{< /note >}} 1. Using a text editor, open the `/etc/postfix/main.cf` file. diff --git a/docs/guides/email/email-services/using-google-workspace-for-email/index.md b/docs/guides/email/email-services/using-google-workspace-for-email/index.md index ed609f8a0d4..5d39175c21a 100644 --- a/docs/guides/email/email-services/using-google-workspace-for-email/index.md +++ b/docs/guides/email/email-services/using-google-workspace-for-email/index.md @@ -13,15 +13,15 @@ aliases: ['/email/email-services/using-google-apps-for-email/','/email/google-ma tags: ["email"] --- -There are many options for running your own email server, and with applications like [Citadel](/docs/guides/email/citadel/), hosting your own email stack can be quite straightforward. Nevertheless, managing independent email servers can be daunting, given email's importance and potential for complexity. This is particularly true when you have multiple users and/or complex filtering schemes. Many people prefer to delegate their email to a third-party email service like Google so they can better concentrate on the administration of other, more mission critical services. +There are many options for running your own email server, and with applications like [Citadel](/cloud/guides/email/citadel/), hosting your own email stack can be quite straightforward. Nevertheless, managing independent email servers can be daunting, given email's importance and potential for complexity. This is particularly true when you have multiple users and/or complex filtering schemes. Many people prefer to delegate their email to a third-party email service like Google so they can better concentrate on the administration of other, more mission critical services. -The process for forwarding your email to Google's servers is a matter of redirecting the MX [DNS records](/docs/guides/dns-overview/) which govern email routing to Google's email servers. Note that there are a number of third-party email service providers and Linode does not specifically endorse any of them. +The process for forwarding your email to Google's servers is a matter of redirecting the MX [DNS records](/cloud/guides/dns-overview/) which govern email routing to Google's email servers. Note that there are a number of third-party email service providers and Linode does not specifically endorse any of them. -View the [Google Workspace](https://workspace.google.com/) website to learn more about the service, plans, and pricing. This document assumes that you are using Linode's [DNS Manager](/docs/products/networking/dns-manager/) to manage the DNS records for your domain name, and that you've already signed up for a Google Workspace account. +View the [Google Workspace](https://workspace.google.com/) website to learn more about the service, plans, and pricing. This document assumes that you are using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to manage the DNS records for your domain name, and that you've already signed up for a Google Workspace account. ## Creating MX Records -To direct your email to Google Workspace, you'll need to set up 5 MX records for your domain. To do this to a domain that's managed through Linode's DNS Manager, see the [Add DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide. When adding an MX record, the below form will appear: +To direct your email to Google Workspace, you'll need to set up 5 MX records for your domain. To do this to a domain that's managed through Linode's DNS Manager, see the [Add DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide. When adding an MX record, the below form will appear: ![Screenshot depicting the Add MX Record form within the Linode DNS Manager](add-mx-record-google-workspace.png "Add MX Record in Linode DNS Manager") @@ -44,6 +44,6 @@ During the sign up process, Google will need you to verify that you have authori - Add a meta tag to your website's home page - Upload an HTML file to your website -Whichever method you chose, Google will walk you through this process. If adding a TXT or CNAME record to a domain that's managed through Linode's DNS Manager, see the [Add DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide. +Whichever method you chose, Google will walk you through this process. If adding a TXT or CNAME record to a domain that's managed through Linode's DNS Manager, see the [Add DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide. After the domain has been verified, the configuration is complete. You may have to wait several hours as Google indicates it could take 24 to 48 hours for DNS to redirect correctly. After that window, however, all of your email should be successfully directed towards Google's servers. \ No newline at end of file diff --git a/docs/guides/email/email-services/what-are-pop-and-imap/index.md b/docs/guides/email/email-services/what-are-pop-and-imap/index.md index 98e0f719ad5..537cf4cff7f 100644 --- a/docs/guides/email/email-services/what-are-pop-and-imap/index.md +++ b/docs/guides/email/email-services/what-are-pop-and-imap/index.md @@ -19,7 +19,7 @@ POP and IMAP are both message *retrieval* protocols that access and present emai Message retrieval is just one of several functions in a complete email system. Neither POP nor IMAP send email messages. Before delving into each protocol, it’s best to review client and server architecture to see where POP and IMAP fit in. -Mail clients such as [Mozilla Thunderbird](https://www.thunderbird.net/en-US/), [Evolution](https://wiki.gnome.org/Apps/Evolution), or [Microsoft Outlook](https://www.microsoft.com/en-us/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook) are known as message user agents (MUAs). Their function is to compose and read email (Outlook runs proprietary protocols internally, but uses connectors to communicate with standards-based servers). To send messages, MUAs connect to mail servers using either the [Simple Mail Transfer Protocol (SMTP)](https://www.rfc-editor.org/rfc/rfc5321) or the [message submission protocol](https://datatracker.ietf.org/doc/html/rfc6409). For more information on SMTP, read our guide [Quick Guide to SMTP](/docs/guides/what-is-smtp/). +Mail clients such as [Mozilla Thunderbird](https://www.thunderbird.net/en-US/), [Evolution](https://wiki.gnome.org/Apps/Evolution), or [Microsoft Outlook](https://www.microsoft.com/en-us/microsoft-365/outlook/email-and-calendar-software-microsoft-outlook) are known as message user agents (MUAs). Their function is to compose and read email (Outlook runs proprietary protocols internally, but uses connectors to communicate with standards-based servers). To send messages, MUAs connect to mail servers using either the [Simple Mail Transfer Protocol (SMTP)](https://www.rfc-editor.org/rfc/rfc5321) or the [message submission protocol](https://datatracker.ietf.org/doc/html/rfc6409). For more information on SMTP, read our guide [Quick Guide to SMTP](/cloud/guides/what-is-smtp/). In TCP/IP email architecture, the server is called a mail transfer agent (MTA). Once a message reaches an MTA, it uses SMTP to relay the message to one or more other servers. It’s fair to say that SMTP does the heavy lifting for mail forwarding on the Internet. Meanwhile, POP or IMAP only get involved on the receiving side. diff --git a/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md b/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md index 677d24b987a..37d234f6c4c 100644 --- a/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md +++ b/docs/guides/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/email/exim/deploy-exim-as-a-send-only-mail-server-on-ubuntu-12-04/','/email/exim/send-only-mta-ubuntu-12-04-precise-pangolin/','/email/exim/sendonly-mail-server-withexim-on-ubuntu-12-04-lts-precise-pangolin/'] external_resources: - '[Exim Homepage](http://www.exim.org/)' - - '[Email Guides](/docs/email/)' + - '[Email Guides](/cloud/email/)' relations: platform: key: deploy-exim-sendonly-email @@ -23,13 +23,13 @@ deprecated: true Many Linux server applications need to send email. Cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 12.04 LTS (Precise Pangolin) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname -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/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md index 63fced7a4ad..7842e564ef6 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-5-lenny/index.md @@ -20,13 +20,13 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Debian 5 (Lenny) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname -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 @@ -98,6 +98,6 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/docs/email/) +- [Email Guides](/cloud/email/) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md index 72337a3f4a2..62c3747bff4 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-debian-6-squeeze/index.md @@ -20,13 +20,13 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Debian 6 (Squeeze) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname -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 @@ -94,7 +94,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/docs/email/) +- [Email Guides](/cloud/email/) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md index 9d8d99d4492..c0c806d2ae9 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/index.md @@ -20,13 +20,13 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 10.04 LTS (Lucid) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname -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 @@ -112,7 +112,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/docs/email/) +- [Email Guides](/cloud/email/) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md index f94537a6b89..b5791bf9718 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/index.md @@ -20,13 +20,13 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 10.10 (Maverick) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname -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 @@ -96,7 +96,7 @@ Congratulations! You've configured Exim to send email. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/docs/email/) +- [Email Guides](/cloud/email/) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md index da0b57eaf11..a716779d4a2 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-11-04-natty/index.md @@ -20,13 +20,13 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 11.04 (Natty) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Set the Hostname -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 @@ -94,7 +94,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/docs/email/) +- [Email Guides](/cloud/email/) diff --git a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md index 8e273e6a921..cfad80a48e2 100644 --- a/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/exim/sendonly-mail-server-with-exim-on-ubuntu-9-10-karmic/index.md @@ -20,9 +20,9 @@ deprecated: true Many Linux server applications need to send email; cron jobs use mail services to deliver reports on jobs that have run, web applications require mail support for user registration functions, and other applications may need to send alerts via SMTP. This guide will help you install and configure the lightweight Exim MTA (Mail Transfer Agent) on your Ubuntu 9.10 (Karmic) Linode. -You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/docs/email/) for ways to implement such configurations. +You'll gain the ability to send mail from `localhost` through either a traditional "sendmail" style interface, or via port 25 locally. As this guide is not intended to provide a full send/receive mail solution, please refer to our other [email guides](/cloud/email/) for ways to implement such configurations. -We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Make sure you're logged into your Linode as "root" via SSH before proceeding. +We assume that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Make sure you're logged into your Linode as "root" via SSH before proceeding. ## Install Required Packages @@ -111,7 +111,7 @@ Congratulations! You've configured Exim to send email from your Linode. You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Exim Homepage](http://www.exim.org/) -- [Email Guides](/docs/email/) +- [Email Guides](/cloud/email/) diff --git a/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md b/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md index cfe9507b937..e9c94df8f66 100644 --- a/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md +++ b/docs/guides/email/iredmail/how-to-install-and-configure-iredmail/index.md @@ -39,18 +39,18 @@ iRedMail includes the following features and enhancements: ## 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 you have created DNS records for both the main domain and the `mail` subdomain, for instance, `mail.example.com`. Point the `mail` subdomain at the Linode hosting the mail server. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +1. Ensure you have created DNS records for both the main domain and the `mail` subdomain, for instance, `mail.example.com`. Point the `mail` subdomain at the Linode hosting the mail server. 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. A Linode can only send and receive emails if TCP port 25 is enabled. This is the well-known port for *Simple Mail Transfer Protocol* (SMTP). iRedMail sends outgoing emails and listens for incoming mail on this port. Contact Linode support to determine whether this port is restricted on your server. 1. iRedMail requires at least 4 GB of RAM, but high-volume production servers require even more. Ensure enough storage is available for the number of users and storage policies you intend to support. For best results, install iRedMail on a fresh server with no other components or configuration. Otherwise, conflicts might occur. Ensure the user and group IDs `2000`, `2001`, and `2002` are not in use. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 iRedMail @@ -241,7 +241,7 @@ To run the iRedMail installation script and configure iRedMail, follow these ste The iRedMail administration panel is now accessible, but any attempt to use it results in a security warning. This is because the server does not yet support HTTPS. -To activate this protocol, first, install a TLS certificate. Let's Encrypt provides a free certificate service that is easy to use. To install the certificate, use the [Certbot](https://certbot.eff.org/) application to automate the granting process. For more information about Certbot, Let's Encrypt certificates, and HTTPS, review the [Linode guide to Using Certbot on NGINX](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/). +To activate this protocol, first, install a TLS certificate. Let's Encrypt provides a free certificate service that is easy to use. To install the certificate, use the [Certbot](https://certbot.eff.org/) application to automate the granting process. For more information about Certbot, Let's Encrypt certificates, and HTTPS, review the [Linode guide to Using Certbot on NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/). To enable HTTPS on the server, follow these steps. @@ -346,7 +346,7 @@ Several DNS records must be added before the main server can send and receive ma ![Create an MX Record](Create-Mx-Record.png) -1. Create a PTR Record. This is also known as a *reverse DNS* (RDNS) lookup. It indicates the fully qualified domain name associated with an IP address. Many servers are reluctant to forward mail to an IP address without an associated PTR record. To create an RDNS entry, visit the **Network** tab for the Linode server and select **Edit RDNS**. Change the value to the `mail` domain. For information, see the Linode guide on [How to Configure rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/). +1. Create a PTR Record. This is also known as a *reverse DNS* (RDNS) lookup. It indicates the fully qualified domain name associated with an IP address. Many servers are reluctant to forward mail to an IP address without an associated PTR record. To create an RDNS entry, visit the **Network** tab for the Linode server and select **Edit RDNS**. Change the value to the `mail` domain. For information, see the Linode guide on [How to Configure rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance). 1. In the Linode DNS Manager, add an SPF Record for the mail domain. An SPF record is a type of TXT domain record. It defines the hosts in the domain which are allowed to send mail. Enter the domain for the `Hostname` and `v=spf1 mx ~all` for the `Value`. diff --git a/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md b/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md index ef470868bd3..7d5abc0c4f3 100644 --- a/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md +++ b/docs/guides/email/iredmail/install-iredmail-on-ubuntu/index.md @@ -32,16 +32,16 @@ Running your own mail server has many benefits. It allows you to manage the size Before beginning this guide you should have: - A domain name. -- An understanding of the [Linux command line](/docs/guides/using-the-terminal). +- An understanding of the [Linux command line](/cloud/guides/using-the-terminal). - A Linode running Ubuntu 14.04. -This guide assumes you've followed the Linode [Getting Started](/docs/products/platform/get-started/) documentation. If you haven't done so, read through the guide, and return here following the completion of the "Setting the Hostname" section. +This guide assumes you've followed the Linode [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) documentation. If you haven't done so, read through the guide, and return here following the completion of the "Setting the Hostname" section. -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. ### MX Record -A DNS MX record tells the internet where to send email directed at you domain. Before your Linode can receive email for addresses at a domain, an MX record must be created for that domain, pointing to your Linode's IP address. An example MX record can be found on the Linode [Introduction to DNS records](/docs/guides/dns-overview/) page. +A DNS MX record tells the internet where to send email directed at you domain. Before your Linode can receive email for addresses at a domain, an MX record must be created for that domain, pointing to your Linode's IP address. An example MX record can be found on the Linode [Introduction to DNS records](/cloud/guides/dns-overview/) page. ## Install iRedMail @@ -152,7 +152,7 @@ iRedMail is packaged with a mail server account configuration called iRedAdmin. By default, iRedMail generates a key and self-signed certificate for the mail server, and web server. To avoid other email servers marking email from our server as spam, we install a trusted certificate. -The process of obtaining a trusted certificate is outside the scope of this guide. You can follow the [Obtaining a Commercial TLS Certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) guide to obtain a certificate. +The process of obtaining a trusted certificate is outside the scope of this guide. You can follow the [Obtaining a Commercial TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) guide to obtain a certificate. The next section assumes you have the .key and .crt (or .pem) file in hand and are ready to go. @@ -244,7 +244,7 @@ This section covers the insertion of SPF and DKIM records in your DNS entry. SPF #### rDNS -To set your rDNS, check out the [Setting Reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) section of the DNS Manager guide. This is optional but gives additional credibility to a mail server for certain spam filters. +To set your rDNS, check out the [Setting Reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) section of the DNS Manager guide. This is optional but gives additional credibility to a mail server for certain spam filters. ### Apache Authentication Fix for Cluebringer and AWStats Login diff --git a/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md b/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md index a199bcdc5a7..bf8d8821306 100644 --- a/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md +++ b/docs/guides/email/mail-in-a-box/mail-in-a-box-email-server/index.md @@ -36,11 +36,11 @@ Email security should also a primary concern for most users and Mail-in-a-Box ha ## Before You Begin -- Consider reading through the [Running a Mail Server](/docs/guides/running-a-mail-server/) guide. This discusses the benefits and drawbacks of self-hosting an email server. +- Consider reading through the [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide. This discusses the benefits and drawbacks of self-hosting an email server. - Have a registered domain name that you wish to use with your email server. Verify that your registrar allows *custom nameservers* and *glue records*. -- Deploy a new Compute Instance running Ubuntu 22.04 LTS, making sure to update the system, create a limited user account, and harden SSH. See [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Do not yet configure a firewall or fail2ban as that might interfere with how Mail-in-a-Box configures the firewall. +- Deploy a new Compute Instance running Ubuntu 22.04 LTS, making sure to update the system, create a limited user account, and harden SSH. See [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Do not yet configure a firewall or fail2ban as that might interfere with how Mail-in-a-Box configures the firewall. {{< note type="alert" respectIndent=false >}} Use this server exclusively for Mail-in-a-Box. Installing extra software might cause unexpected behavior. @@ -53,9 +53,9 @@ Wherever you see `example.com` in this tutorial, replace it with your domain nam Mail-in-a-Box allows you to configure and manage DNS through its own DNS service or through an external DNS service. This guide covers using the built-in DNS service. To continue, configure a custom name server for whichever domain you wish to associate with this email server. Since all of the domain records for the chosen domain are managed by Mail-in-a-Box, it's recommended that you use a domain not already associated with a service or website. -Follow the instructions within the [Register Custom DNS Name Servers](/docs/guides/custom-name-servers/) guide. Since Mail-in-a-Box configures your DNS records for you, you can skip the *Add A Records* section. +Follow the instructions within the [Register Custom DNS Name Servers](/cloud/guides/custom-name-servers/) guide. Since Mail-in-a-Box configures your DNS records for you, you can skip the *Add A Records* section. -1. Add the following glue records on your domain's registrar, replacing *example.com* with the domain name you wish to use. Each glue record should point to the public IPv4 address of the Compute Instance in which will deploy Mail-in-a-Box. To view the IP addresses, see [Managing IP Addresses on a Compute Instance](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). +1. Add the following glue records on your domain's registrar, replacing *example.com* with the domain name you wish to use. Each glue record should point to the public IPv4 address of the Compute Instance in which will deploy Mail-in-a-Box. To view the IP addresses, see [Managing IP Addresses on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). - *ns1.box.example.com* - *ns2.box.example.com* @@ -64,13 +64,13 @@ Follow the instructions within the [Register Custom DNS Name Servers](/docs/guid 2. Within your registrar, change the name servers used for your domain to match the ones you just registered above. -There can be a delay while your registrar sends these changes to the TLD (top-level domain) name servers. Most reputable registrars and TLD name servers are able to update their records quickly, though it can take up to 24 hours. If you'd like to confirm that the changes have been made, see the [Verify DNS Changes](/docs/guides/custom-name-servers/#verify-dns-changes) section of the registering a custom name server guide linked above. +There can be a delay while your registrar sends these changes to the TLD (top-level domain) name servers. Most reputable registrars and TLD name servers are able to update their records quickly, though it can take up to 24 hours. If you'd like to confirm that the changes have been made, see the [Verify DNS Changes](/cloud/guides/custom-name-servers/#verify-dns-changes) section of the registering a custom name server guide linked above. If you don't see your custom name servers in the dig output within an hour of registering them, there may be an issue with the registration or propagation process. Contact your registrar for help resolving any issues. ## Install Mail-in-a-Box {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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. After you log in to your server with an SSH client, update all the software packages on your server: @@ -160,7 +160,7 @@ Since it's very likely that a Let's Encrypt TLS certificate hasn't been installe ![Control Panel - TLS Certificates Page](mail-in-a-box-control-panel-tls-certificates-ubuntu1404.png) -1. Follow this guide, [How to Configure Reverse DNS on a Linode Server](/docs/products/compute/compute-instances/guides/configure-rdns/), to set up a *pointer record* (PTR). Make sure you set it to `box.example.com`. This step is very important to execute and pass some antispam checks. Without it, a lot of mail servers will flag your outbound email as spam and will consider it suspicious that your IP doesn't point to your domain name, and sometimes even reject it. +1. Follow this guide, [How to Configure Reverse DNS on a Linode Server](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance), to set up a *pointer record* (PTR). Make sure you set it to `box.example.com`. This step is very important to execute and pass some antispam checks. Without it, a lot of mail servers will flag your outbound email as spam and will consider it suspicious that your IP doesn't point to your domain name, and sometimes even reject it. ## Conclusion diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md index 9f9007d26bd..6d8040efed1 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/index.md @@ -24,7 +24,7 @@ Be sure to review this guide in its entirety before beginning the procedure outl ## 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 @@ -48,7 +48,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/docs/guides/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-debian-5-lenny/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -105,7 +105,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/docs/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -165,7 +165,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/docs/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -180,7 +180,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/docs/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) or the [Postfix with Dovecot and System Users](/docs/guides/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md index 2b365594ca0..68c3f1ecbdc 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-debian-6-squeeze/index.md @@ -24,7 +24,7 @@ Be sure to review this guide in its entirety before beginning the procedure outl ## 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 @@ -59,7 +59,7 @@ During the list creation process, Mailman will prompt you for the administrators {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/docs/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, add the following lines to your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -152,7 +152,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/docs/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -167,7 +167,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/) or the [Postfix with Dovecot and System Users](/docs/guides/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md index 15be8d04ba4..c67cedcfbbc 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/index.md @@ -24,7 +24,7 @@ Be sure to review this guide in its entirety before beginning the procedure outl ## 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 @@ -48,7 +48,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/docs/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-04-lucid/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -105,7 +105,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/docs/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -164,7 +164,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/docs/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -179,7 +179,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) or the [Postfix with Dovecot and System Users](/docs/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md index a04354e63b6..556484250d9 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/index.md @@ -24,7 +24,7 @@ Be sure to review this guide in its entirety before beginning the procedure outl ## 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 @@ -48,7 +48,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/docs/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-10-10-maverick/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -105,7 +105,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/docs/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -165,7 +165,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/docs/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -180,7 +180,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/). or the [Postfix with Dovecot and System Users](/docs/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/). or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md index 666d89baae1..26835f9e87e 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/index.md @@ -23,7 +23,7 @@ Be sure to review this guide in its entirety before beginning the procedure outl ## 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 @@ -47,7 +47,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the [Configure Virtual Hosting](/docs/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/#configure-virtual-hosting) section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the [Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-12-04-precise-pangolin/#configure-virtual-hosting) section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -104,7 +104,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/docs/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -164,7 +164,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/docs/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart Postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -179,7 +179,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) or the [Postfix with Dovecot and System Users](/docs/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/) configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) or the [Postfix with Dovecot and System Users](/cloud/guides/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/) configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md index 5ae2cc7f848..a5dc2697334 100644 --- a/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/mailman/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true GNU Mailman is a commonly used Listserv Management application that allows users to create and manage discussion and announcement email lists. Mailman includes support for numerous features including a web-based administrative interface, multiple domains, lists, and complex moderation and access control tools. The Mailman software is primarily written in the Python programing language and has been a popular choice for managing email lists for more than a decade. -Before installing Mailman we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). Be sure to read this guide in its entirety before continuing. If you have an existing mail system configured before you begin this, take special care to ensure that installing Mailman will not conflict with delivery of existing mail. +Before installing Mailman we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Be sure to read this guide in its entirety before continuing. If you have an existing mail system configured before you begin this, take special care to ensure that installing Mailman will not conflict with delivery of existing mail. ## Installing Mailman @@ -41,7 +41,7 @@ During the Mailman installation, you will be required to specify the languages t ## Configure Mailman -Consider the "[Configure Virtual Hosting](/docs/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: +Consider the "[Configure Virtual Hosting](/cloud/guides/manage-email-lists-with-gnu-mailman-on-ubuntu-9-10-karmic/#configure-virtual-hosting)" section before preceding. In most cases where you will be hosting you will want to skip this section and continue with that procedure. Mailman requires a "base" list, from which it can send email to welcome new members to lists and send password reminders when needed. Create this list by issuing the following command: newlist mailman @@ -98,7 +98,7 @@ mailman_destination_recipient_limit = 1 {{< /file >}} -Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/docs/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: +Replace `example.com` and `lists.example.com` with the relevant domains for your instance. Ensure that you have configured the [MX Records](/cloud/guides/dns-overview/#mx) for both domains that you want to receive email with. Additionally, ensure the following lines are included your `/etc/postfix/master.cf` file: {{< file "/etc/postfix/master.cf" >}} mailman unix - n n - - pipe @@ -158,7 +158,7 @@ POSTFIX_STYLE_VIRTUAL_DOMAINS = ['lists.example.com', 'lists.example.org'] {{< /file >}} -Ensure that your domains have valid MX and [A Records](/docs/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: +Ensure that your domains have valid MX and [A Records](/cloud/guides/dns-overview/#types-of-dns-records) that point to your Linode. When you've finished configuring Mailman, issue the following commands to create the default list (which will prompt you to enter an address for the list administrator and a password), restart postfix, and start Mailman for the first time: newlist mailman /etc/init.d/postfix restart @@ -173,7 +173,7 @@ From this point forward, you can create new lists by issuing `newlist` commands ## Configuring Mailman with Alternate Mail Configurations -If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/docs/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/) or [Postfix with Dovecot and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/). configurations described in other documents, consider the following recommendations: +If you wish to deploy Mailman on a system that has an existing mail set up, such as the [Postfix with Courier and MySQL](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/) or [Postfix with Dovecot and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/). configurations described in other documents, consider the following recommendations: Complete your basic mail configuration according to the appropriate guide before beginning to install and configure Mailman. diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md index 7b10b7ee23c..0beeae820cb 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-5-lenny/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/docs/email/postfix/). +Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/email/postfix/). -Prior to beginning this document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](/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 document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/docs/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,9 +240,9 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/docs/guides/dns-overview/) -- [Host Email with Postfix, Courier and MySQL on Debian 5 (Lenny)](/docs/email/postfix/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) -- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/docs/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/) +- [Introduction to the DNS System](/cloud/guides/dns-overview/) +- [Host Email with Postfix, Courier and MySQL on Debian 5 (Lenny)](/cloud/email/postfix/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) +- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/cloud/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/) diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md index c2e5d2b9ddf..79266e6e5a8 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-debian-6-squeeze/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/docs/email/postfix/). +Postfix is an efficient, stable, and modern "Mail Transfer Agent" or MTA used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/email/postfix/). -Prior to beginning this document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](/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 document to install a basic Postfix email gateway, we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/docs/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,8 +240,8 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/docs/guides/dns-overview/) -- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/docs/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/) +- [Introduction to the DNS System](/cloud/guides/dns-overview/) +- [Host Email with Postfix, Dovecot and MySQL on Debian 5 (Lenny)](/cloud/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/) diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md index 4c5d944812b..d0823b7d407 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/docs/email/postfix/). +Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/email/postfix/). -Prior to beginning this document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](/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 document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/docs/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,8 +240,8 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/docs/guides/dns-overview/) -- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.04 (Lucid)](/docs/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) +- [Introduction to the DNS System](/cloud/guides/dns-overview/) +- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.04 (Lucid)](/cloud/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) diff --git a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md index 0ef46f12110..822d8e2e7d0 100644 --- a/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/postfix/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/docs/email/postfix/). +Postfix is an efficient, stable, and modern Mail Transfer Agent, or "MTA", used for transmitting email messages between severs on the Internet. Most configurations involving Postfix combine the MTA with a server to allow users to download email using a protocol like IMAP or POP3. This document outlines a very simple configuration of Postfix that makes it possible to forward email, and deliver email to local mailboxes on your Linode instance. This guide *does not* provide any way to download this email or remotely access these mailboxes. In addition, this document provides instructions for sending email with this configuration. If you want to deploy a complete and fully featured email solution that includes the ability download locally delivered email, consider one of our other [postfix email guides](/cloud/email/postfix/). -Prior to beginning this document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](/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 document to install a basic Postfix email gateway, it is assumed that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -211,7 +211,7 @@ Edit this file to include your username and the location of your email gateway. chmod +x /opt/smtp-tunnel /opt/smtp-tunnel start -You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/docs/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: +You may want to consider issuing the command to start the tunnel (`/opt/smtp-tunnel start`) as part of your boot script by including it in your `/etc/rc.local` file, or by creating a `@reboot` [cron job](/cloud/guides/schedule-tasks-with-cron/). If your network configuration utility allows you to establish pre- and post-connection scripts, you may want to instantiate and destroy the tunnel during this process. To destroy the tunnel, issue the following command: /opt/smtp-tunnel stop @@ -240,8 +240,8 @@ You may wish to consult the following resources for additional information on th - [MSMTP Mail Sending Client](http://msmtp.sourceforge.net/) - [Postfix](http://postfix.org) - [Postfix Virtual Mail Handling](http://www.postfix.org/VIRTUAL_README.html) -- [Introduction to the DNS System](/docs/guides/dns-overview/) -- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.10 (Maverick)](/docs/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/) +- [Introduction to the DNS System](/cloud/guides/dns-overview/) +- [Host Email with Postfix, Dovecot and MySQL on Ubuntu 10.10 (Maverick)](/cloud/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/) diff --git a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md index afcbe42b4d6..dabb7a38fe2 100644 --- a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md +++ b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/index.md @@ -24,7 +24,7 @@ aliases: ['/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/'] deprecated: true --- {{< note >}} -We have created a [new version of this guide](/docs/guides/configure-spf-and-dkim-in-postfix-on-debian-9/) to run on Debian 9. +We have created a [new version of this guide](/cloud/guides/configure-spf-and-dkim-in-postfix-on-debian-9/) to run on Debian 9. {{< /note >}} ![SPF and DKIM with Postfix](Configure_SPF_and_DKIM_with_Postfix_on_Debian_8_smg.jpg) @@ -40,10 +40,10 @@ SPF (Sender Policy Framework) is a system that identifies to mail servers what h The DNS instructions for setting up SPF, DKIM and DMARC are generic. The instructions for configuring the SPF policy agent and OpenDKIM into Postfix should work on any distribution after making respective code adjustments for the package tool, and identifying the exact path to the Unix socket file. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 >}} {{< note type="alert" >}} -You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/docs/email/postfix/) for assistance. +You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/cloud/email/postfix/) for assistance. Publishing an SPF DNS record without having the SPF policy agent configured within Postfix is safe; however, publishing DKIM DNS records without having OpenDKIM working correctly within Postfix can result in your email being discarded by the recipient's email server. {{< /note >}} @@ -201,7 +201,7 @@ OversignHeaders From {{< /file >}} - Edit `/etc/opendkim.conf` and replace it's contents with the above, or download [a copy of opendkim.conf](/docs/assets/postfix-opendkim.conf.txt), upload it to your server and copy it over `/etc/opendkim.conf`. + Edit `/etc/opendkim.conf` and replace it's contents with the above, or download [a copy of opendkim.conf](/cloud/assets/postfix-opendkim.conf.txt), upload it to your server and copy it over `/etc/opendkim.conf`. 2. Ensure that file permissions are set correctly: diff --git a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md index 8904d5245ce..5e19dd0c093 100644 --- a/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md +++ b/docs/guides/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-9/index.md @@ -42,10 +42,10 @@ SPF (Sender Policy Framework) is a system that identifies to mail servers what h The DNS instructions for setting up SPF, DKIM and DMARC are generic. The instructions to configure the SPF policy agent and OpenDKIM into Postfix work on any distribution. You only need to make respective code adjustments for the package tool, and identify the exact path to the Unix socket file. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 >}} {{< note type="alert" >}} -You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/docs/email/postfix/) for assistance. +You must already have Postfix installed, configured and working. Refer to the [Linode Postfix Guides](/cloud/email/postfix/) for assistance. You can publish an SPF DNS record without configuring the SPF policy agent within Postfix. However, publishing DKIM DNS records without an OpenDKIM within Postfix can result in your email being discarded by the recipient's email server. {{< /note >}} diff --git a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-debian-5-lenny/index.md b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-debian-5-lenny/index.md index cb32f37e8c6..b24e2c7cd24 100644 --- a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-debian-5-lenny/index.md +++ b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-debian-5-lenny/index.md @@ -22,13 +22,13 @@ The Postfix mail transfer agent (MTA) is a high performance, open source email s Secure IMAPS and POP3S services are supported with this configuration, along with support for encrypted SMTP connections. This guide is largely based on Falko Timme's excellent [Postfix and Courier guide](http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-debian-lenny), with some packages omitted (such as quota support, as this requires rebuilding Postfix and many organizations have no need for quotas). Other steps have been clarified with additional explanations. This guide does not cover SpamAssassin or webmail software installation, although you may reference other resources to add support for these features. -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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. +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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. **NOTE: Please carefully read all information presented in this guide.** There are many files and commands that will need to be edited as part of the setup process; please do not simply copy and paste the example blocks. ## 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/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-12/index.md b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-12/index.md index 53cab5df8a4..6d7e0043ce3 100644 --- a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-12/index.md +++ b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-12/index.md @@ -22,7 +22,7 @@ The Postfix mail transfer agent (MTA) is a high performance, open source email s Secure IMAPS and POP3S services are supported with this configuration, along with support for encrypted SMTP connections. This guide is largely based on Falko Timme's excellent [How To Install courier-imap, courier-authlib, And maildrop On Fedora, RedHat, CentOS guide](http://www.howtoforge.com/installing-courier-imap-courier-authlib-maildrop-fedora-redhat-centos), with some packages omitted (such as quota support, as this requires rebuilding Postfix and many organizations have no need for quotas). Other steps have been clarified with additional explanations. This guide does not cover SpamAssassin or webmail software installation, although you may reference other resources to add support for these features. -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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. +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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. **NOTE: Please carefully read all information presented in this guide.** There are many files and commands that will need to be edited as part of the setup process; please do not simply copy and paste the example blocks. diff --git a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-13/index.md b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-13/index.md index 2c4b6cce9c3..eb70bb058de 100644 --- a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-13/index.md +++ b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-fedora-13/index.md @@ -22,7 +22,7 @@ The Postfix mail transfer agent (MTA) is a high performance, open source email s Secure IMAPS and POP3S services are supported with this configuration, along with support for encrypted SMTP connections. This guide is largely based on Falko Timme's excellent [How To Install courier-imap, courier-authlib, And maildrop On Fedora, RedHat, CentOS guide](http://www.howtoforge.com/installing-courier-imap-courier-authlib-maildrop-fedora-redhat-centos), with some packages omitted (such as quota support, as this requires rebuilding Postfix and many organizations have no need for quotas). Other steps have been clarified with additional explanations. This guide does not cover SpamAssassin or webmail software installation, although you may reference other resources to add support for these features. -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. This tutorial assumes you haven't already installed the MySQL database server. If you have, you will not be required to follow the initial steps related to MySQL installation. +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. This tutorial assumes you haven't already installed the MySQL database server. If you have, you will not be required to follow the initial steps related to MySQL installation. **NOTE: Please carefully read all information presented in this guide.** There are many files and commands that will need to be edited as part of the setup process; please do not simply copy and paste the example blocks. diff --git a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-8-04-hardy/index.md b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-8-04-hardy/index.md index 45cf28bf525..f9a097b64d1 100644 --- a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-8-04-hardy/index.md @@ -22,7 +22,7 @@ The Postfix mail transfer agent (MTA) is a high performance, open source email s Secure IMAPS and POP3S services are supported with this configuration, along with support for encrypted SMTP connections. This guide is largely based on Falko Timme's excellent [Postfix and Courier guide](http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu8.04), with some packages omitted (such as quota support, as this requires rebuilding Postfix and many organizations have no need for quotas). Other steps have been clarified with additional explanations. This guide does not cover SpamAssassin or webmail software installation, although you may reference other resources to add support for these features. -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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. +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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. **NOTE: Please carefully read all information presented in this guide.** There are many files and commands that will need to be edited as part of the setup process; please do not simply copy and paste the example blocks. diff --git a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-04-jaunty/index.md b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-04-jaunty/index.md index 4f906d3d7e1..7ac82d96435 100644 --- a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-04-jaunty/index.md @@ -22,7 +22,7 @@ The Postfix mail transfer agent (MTA) is a high performance, open source email s Secure IMAPS and POP3S services are supported with this configuration, along with support for encrypted SMTP connections. This guide is largely based on Falko Timme's excellent [Postfix and Courier guide](http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu9.04), with some packages omitted (such as quota support, as this requires rebuilding Postfix and many organizations have no need for quotas). Other steps have been clarified with additional explanations. This guide does not cover SpamAssassin or webmail software installation, although you may reference other resources to add support for these features. -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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. +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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. **NOTE: Please read all information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process; please do not simply copy and paste the example blocks. diff --git a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/index.md index dc7d8381b5f..d0bc5efcf3f 100644 --- a/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/postfix/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/index.md @@ -22,7 +22,7 @@ The Postfix mail transfer agent (MTA) is a high performance, open source email s Secure IMAPS and POP3S services are supported with this configuration, along with support for encrypted SMTP connections. This guide is largely based on Falko Timme's excellent [Postfix and Courier guide](http://www.howtoforge.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-ubuntu9.04), with some packages omitted (such as quota support, as this requires rebuilding Postfix and many organizations have no need for quotas). Other steps have been clarified with additional explanations. This guide does not cover SpamAssassin or webmail software installation, although you may reference other resources to add support for these features. -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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. +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. This tutorial assumes you haven't already installed the MySQL database server; if you have, you will not be required to follow the initial steps related to MySQL installation. **NOTE: Please read all information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process; please do not simply copy and paste the example blocks. diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md index 2a56e8d378a..0e9db995f7d 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/index.md @@ -11,7 +11,7 @@ tags: ["centos","postfix","email","mariadb"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/email/postfix/email-with-postfix-dovecot-and-mariadb-on-centos-7/','/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-7/'] external_resources: - - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/)' + - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/)' - '[Postfix Basic Configuration](http://www.postfix.org/BASIC_CONFIGURATION_README.html)' - '[Postfix SASL Howto](http://www.postfix.org/SASL_README.html)' - '[Dovecot Wiki](https://wiki2.dovecot.org/)' @@ -21,17 +21,17 @@ In this guide, you'll learn how to set up a secure virtual user mail server with ![Email with Postfix, Dovecot and MariaDB on CentOS 7](Email_with_Postfix_Dovecot_and_MariaDB_on_CentOS_7_smg.jpg) -For a different Linux distribution or different mail server, review our [email tutorials](/docs/email/). +For a different Linux distribution or different mail server, review our [email tutorials](/cloud/email/). {{% content "email-warning-shortguide" %}} ## Before You Begin -1. Set up the Linode as specified in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up the Linode as specified in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. Verify that the iptables [firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) is not blocking any of the standard mail ports (`25`, `465`, `587`, `110`, `995`, `143`, and `993`). If using a different form of firewall, confirm that it is not blocking any of the needed ports. +1. Verify that the iptables [firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) is not blocking any of the standard mail ports (`25`, `465`, `587`, `110`, `995`, `143`, and `993`). If using a different form of firewall, confirm that it is not blocking any of the needed ports. -1. Review the concepts in the [Running a Mail Server](/docs/guides/running-a-mail-server/) guide. +1. Review the concepts in the [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide. ## Configure DNS @@ -43,7 +43,7 @@ example.com MX 10 example.com mail.example.com MX 10 example.com {{< /output >}} -Make sure that the MX record is changed for all domains and subdomains that might receive email. If setting up a brand new domain, these steps can be performed prior to configuring the mail server. When using Linode's [DNS Manager](/docs/products/networking/dns-manager/), create an MX record that points to the desired domain or subdomain, and then create an A record for that domain or subdomain, which points to the correct IP address. +Make sure that the MX record is changed for all domains and subdomains that might receive email. If setting up a brand new domain, these steps can be performed prior to configuring the mail server. When using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager), create an MX record that points to the desired domain or subdomain, and then create an A record for that domain or subdomain, which points to the correct IP address. ## Update Hosts File @@ -718,7 +718,7 @@ You can set up an email client to connect to your mail server. Many clients dete - **SSL:** Incoming and outgoing servers require authentication and SSL encryption. - **Ports:** Use Port `993` for secure IMAP, Port `995` for secure POP3, and Port `587` with SSL for SMTP. -See [Install SquirrelMail on Ubuntu 16.04](/docs/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8/) for details on installing an email client. +See [Install SquirrelMail on Ubuntu 16.04](/cloud/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8/) for details on installing an email client. ## Adding New Domains, Email Addresses, and Aliases @@ -726,7 +726,7 @@ To add new domains, email addresses, and aliases to the mailserver you will need ### Domains -1. To add a new domain, [connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). +1. To add a new domain, [connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). 1. Log in to the MySQL server: diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-5/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-5/index.md index b421b02c11a..b31d867dfae 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-5/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-5/index.md @@ -27,7 +27,7 @@ deprecated: true The Postfix Mail Transfer Agent (**MTA**) is a high performance open source e-mail server system. This guide will help you get Postfix running on your CentOS 5 Linode, using Dovecot for IMAP/POP3 service, and MySQL to store information on virtual domains and users. -Prior to using this guide, be sure you have followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and set your hostname. +Prior to using this guide, be sure 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 set your hostname. {{< note >}} The steps in this guide require root privileges. Be sure to run the steps below as `root`, or use `su - root` to log in as root. Certain commands below cannot be run as `sudo` and must be run as root. diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-6/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-6/index.md index 321c4d18296..f1626423bc5 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-6/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-centos-6/index.md @@ -32,7 +32,7 @@ The Postfix Mail Transfer Agent (**MTA**) is a high performance open source e-ma ## Before You Begin -Prior to using this guide, be sure you have followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and set your hostname. +Prior to using this guide, be sure 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 set your hostname. {{< note >}} The steps in this guide require root privileges. Be sure to run the steps below as `root`, or use `su - root` to log in as root. Certain commands below cannot be run as `sudo` and must be run as root. diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/index.md index 26307a63a64..1a57cb1414d 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-5-lenny/index.md @@ -20,13 +20,13 @@ deprecated: true The Postfix Mail Transfer Agent (MTA) is a high performance open source e-mail server system. This guide will help you get Postfix running on your Linode, using Dovecot for IMAP/POP3 service and MySQL to store information on virtual domains and users. This guide is largely based on Christoph Haas's great [ISP-style Email Server with Debian-Lenny and Postfix 2.5 guide](http://workaround.org/ispmail/lenny) and HowtoForge [Groupware Server With Group-Office, Postfix, Dovecot And SpamAssassin On Debian Lenny (5.0)](http://www.howtoforge.com/groupware-server-with-group-office-postfix-dovecot-spamassassin-on-debian-lenny), with some packages omitted. -It is assumed that you have 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 have 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. **NOTE: Please read all of the information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process: please do not simply copy and paste the example blocks. ## 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/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/index.md index 95c2094b988..3bcee708712 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-debian-6-squeeze/index.md @@ -19,13 +19,13 @@ deprecated: true The Postfix Mail Transfer Agent (MTA) is a high performance open source e-mail server system. This guide will help you get Postfix running on your Debian 6 (Squeeze) Linode, using Dovecot for IMAP/POP3 service and MySQL to store information on virtual domains and users. This guide is largely based on Christoph Haas's great [ISP-style Email Server with Debian-Lenny and Postfix 2.5 guide](http://workaround.org/ispmail/lenny) and HowtoForge [Groupware Server With Group-Office, Postfix, Dovecot And SpamAssassin On Debian Lenny (5.0)](http://www.howtoforge.com/groupware-server-with-group-office-postfix-dovecot-spamassassin-on-debian-lenny), with some packages omitted. -It is assumed that you have 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 have 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. **NOTE: Please read all of the information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process: please do not simply copy and paste the example blocks. ## 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/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/index.md index b5e9dcffabe..8ebff0dc685 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/index.md @@ -20,13 +20,13 @@ deprecated: true The Postfix Mail Transfer Agent (MTA) is a high performance open source e-mail server system. This guide will help you get Postfix running on your Linode, using Dovecot for IMAP/POP3 service and MySQL to store information on virtual domains and users. This guide is largely based on Christoph Haas's great [ISP-style Email Server with Debian-Lenny and Postfix 2.5 guide](http://workaround.org/ispmail/lenny) and HowtoForge [Groupware Server With Group-Office, Postfix, Dovecot And SpamAssassin On Debian Lenny (5.0)](http://www.howtoforge.com/groupware-server-with-group-office-postfix-dovecot-spamassassin-on-debian-lenny), with some packages omitted. -It is assumed that you have 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 have 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. **NOTE: Please read all of the information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process: please do not simply copy and paste the example blocks. ## 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/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/index.md index 5bca0f8a02c..90189c528e0 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/index.md @@ -20,13 +20,13 @@ deprecated: true The Postfix Mail Transfer Agent (MTA) is a high performance open source e-mail server system. This guide will help you get Postfix running on your Linode, using Dovecot for IMAP/POP3 service and MySQL to store information on virtual domains and users. This guide is largely based on Christoph Haas's great [ISP-style Email Server with Debian-Lenny and Postfix 2.5 guide](http://workaround.org/ispmail/lenny) and HowtoForge [Groupware Server With Group-Office, Postfix, Dovecot And SpamAssassin On Debian Lenny (5.0)](http://www.howtoforge.com/groupware-server-with-group-office-postfix-dovecot-spamassassin-on-debian-lenny), with some packages omitted. -It is assumed that you have 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 have 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. **NOTE: Please read all of the information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process: please do not simply copy and paste the example blocks. ## 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/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/index.md index 40d1a17708a..92c61be9002 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true The Postfix Mail Transfer Agent (MTA) is a high performance open source e-mail server system. This guide will help you get Postfix running on your Linode, using Dovecot for IMAP/POP3 service and MySQL to store information on virtual domains and users. This guide is largely based on Christoph Haas's great [ISP-style Email Server with Debian-Lenny and Postfix 2.5 guide](http://workaround.org/ispmail/lenny) and HowtoForge [Groupware Server With Group-Office, Postfix, Dovecot And SpamAssassin On Debian Lenny (5.0)](http://www.howtoforge.com/groupware-server-with-group-office-postfix-dovecot-spamassassin-on-debian-lenny), with some packages omitted. -It is assumed that you have 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 have 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. **NOTE: Please read all of the information presented in this guide carefully.** There are many files and commands that will need to be edited as part of the setup process: please do not simply copy and paste the example blocks. diff --git a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md index d8b669765ca..3f11def9faa 100644 --- a/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md +++ b/docs/guides/email/postfix/email-with-postfix-dovecot-and-mysql/index.md @@ -11,7 +11,7 @@ keywords: ["email", "mail", "server", "postfix", "dovecot", "mysql", "mariadb", tags: ["debian","email","ubuntu","mysql","postfix", "mariadb"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/)' + - '[Troubleshooting Problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/)' - '[Postfix Basic Configuration](http://www.postfix.org/BASIC_CONFIGURATION_README.html)' - '[Postfix SASL Howto](http://www.postfix.org/SASL_README.html)' - '[Dovecot Wiki](https://wiki2.dovecot.org/)' @@ -30,13 +30,13 @@ In this guide, you'll learn how to set up a secure email server with Postfix, Do This tutorial assumes that you are familiar with the following: 1. You are familiar with the Linux command line. -2. You can edit files using the Nano text editor. Refer to [Nano Commands](/docs/guides/use-nano-text-editor-commands/) guide if you aren’t familiar with it. +2. You can edit files using the Nano text editor. Refer to [Nano Commands](/cloud/guides/use-nano-text-editor-commands/) guide if you aren’t familiar with it. 3. You understand the basics of MySQL data. -4. You have a basic understanding of email configurations. If not, you may wish to review the concepts in the [Running a Mail Server](/docs/guides/running-a-mail-server/) guide. +4. You have a basic understanding of email configurations. If not, you may wish to review the concepts in the [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide. ![Email with Postfix, Dovecot, and MySQL](email_with_postfix_dovecot_and_mysql.png "Setting up a mail server with Postfix, Dovecot, and MySQL") -For a different Linux distribution or different mail server, review our [email tutorials](/docs/email/). +For a different Linux distribution or different mail server, review our [email tutorials](/cloud/email/). {{% content "email-warning-shortguide" %}} @@ -56,9 +56,9 @@ Next, we will go through each step and set up our email server with Postfix, Dov ## Setting Up Your Linode -1. Set up the Linode as specified in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up the Linode as specified in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. Verify that the iptables [firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) is not blocking any of the standard mail ports (`25`, `465`, `587`, `110`, `995`, `143`, and `993`). If using a different form of firewall, confirm that it is not blocking any of the needed ports. +1. Verify that the iptables [firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) is not blocking any of the standard mail ports (`25`, `465`, `587`, `110`, `995`, `143`, and `993`). If using a different form of firewall, confirm that it is not blocking any of the needed ports. ## Configure DNS for Your Email Server @@ -94,7 +94,7 @@ While you can generate an SSL certificate through any certificate authority, we sudo certbot certonly --standalone -You can also reference the [Install an SSL Certificate with Certbot](/docs/guides/secure-http-traffic-certbot/) guide. Make a note of the file paths for the certificate and private key on the Linode. You will need the path to each during the [Dovecot](#dovecot) configuration steps. +You can also reference the [Install an SSL Certificate with Certbot](/cloud/guides/secure-http-traffic-certbot/) guide. Make a note of the file paths for the certificate and private key on the Linode. You will need the path to each during the [Dovecot](#dovecot) configuration steps. ## Install Packages @@ -583,7 +583,7 @@ auth_mechanisms = plain login {{< /file >}} {{< note respectIndent=false >}} -For reference, [view a complete `10-auth.conf` file](/docs/assets/1238-dovecot_10-auth.conf.txt). +For reference, [view a complete `10-auth.conf` file](/cloud/assets/1238-dovecot_10-auth.conf.txt). {{< /note >}} 1. Edit the `/etc/dovecot/conf.d/auth-sql.conf.ext` file with authentication and storage information. Ensure your file contains the following lines. Make sure the `passdb` section is uncommented, that the `userdb` section that uses the `static` driver is uncommented and updated with the right argument. Then comment out the `userdb` section that uses the `sql` driver: @@ -630,7 +630,7 @@ password_query = SELECT email as user, password FROM virtual_users WHERE email=' 1. Change the `/etc/dovecot/dovecot-sql.conf.ext` file's `password_query` value to `password_query = SELECT email as user, password FROM virtual_users WHERE email=(SELECT destination FROM virtual_aliases WHERE source = '%u');` {{< note respectIndent=false >}} -For reference, [view](/docs/assets/1284-dovecot__dovecot-sql.conf.ext.txt) a complete `dovecot-sql.conf.ext`file. +For reference, [view](/cloud/assets/1284-dovecot__dovecot-sql.conf.ext.txt) a complete `dovecot-sql.conf.ext`file. {{< /note >}} 1. Change the owner and group of the `/etc/dovecot/` directory to `vmail` and `dovecot`: @@ -646,7 +646,7 @@ For reference, [view](/docs/assets/1284-dovecot__dovecot-sql.conf.ext.txt) a com {{< note respectIndent=false >}} When editing the file, be careful not to remove any opening or closing curly braces. If there's a syntax error, Dovecot will crash silently. You can check `/var/log/upstart/dovecot.log` to debug the error. -Here is [an example of a complete `10-master.conf`](/docs/assets/1240-dovecot_10-master.conf.txt) file. +Here is [an example of a complete `10-master.conf`](/cloud/assets/1240-dovecot_10-master.conf.txt) file. {{< /note >}} Disable unencrypted IMAP and POP3 by setting the protocols' ports to `0`. Uncomment the `port` and `ssl` variables: @@ -776,7 +776,7 @@ U 4 John Doe Wed Jun 27 16:42 71/3535 Test email 4 The email message header and body should display. Consider adding spam and virus filtering and a webmail client. - See [Troubleshooting problems with Postfix, Dovecot, and MySQL](/docs/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/) for debugging steps. + See [Troubleshooting problems with Postfix, Dovecot, and MySQL](/cloud/guides/troubleshooting-problems-with-postfix-dovecot-and-mysql/) for debugging steps. ## Configuring an Email Client @@ -789,7 +789,7 @@ You can set up an email client to connect to your mail server. Many clients dete - **POP3:** If using POP3 instead of IMAP, set the port to `995` and require SSL. - **SMTP:** Set the port to `587` and the SSL/Security settings to `STARTTLS` or equivalent. -See [Install SquirrelMail on Ubuntu 16.04](/docs/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8/) for details on installing an email client. +See [Install SquirrelMail on Ubuntu 16.04](/cloud/guides/install-squirrelmail-on-ubuntu-16-04-or-debian-8/) for details on installing an email client. {{< note >}} The Thunderbird email client will sometimes have trouble automatically detecting account settings when using Dovecot. After it fails to detect the appropriate account settings, you can set up your email account manually. Add in the appropriate information for each setting, using the above values, leaving no setting on **Auto** or **Autodetect**. Once you have entered all the information about your mail server and account, press **Done** rather **Re-Test** and Thunderbird should accept the settings and retrieve your mail. diff --git a/docs/guides/email/postfix/how-to-setup-an-email-server/index.md b/docs/guides/email/postfix/how-to-setup-an-email-server/index.md index 031bbb65c0d..a7c39c9e96d 100644 --- a/docs/guides/email/postfix/how-to-setup-an-email-server/index.md +++ b/docs/guides/email/postfix/how-to-setup-an-email-server/index.md @@ -39,7 +39,7 @@ Postfix is a widely-used open source SMTP server and is included in most Linux d 1. This guide recommends using a **Dedicated 8 GB** Compute Instance using **Ubuntu 24.04 LTS**. This plan size is the recommended starting point for an email server for a small to medium enterprise. See our [Get started with Compute Instances](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances) and [Create 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 and secure your system. Make sure 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 and secure your system. Make sure to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note type="warning" title="Do not enable IPv6" >}} When setting up and securing your Compute Instance, do not enable IPv6. Enabling IPv6 may cause issues later when Certbot attempts to [update the Let's Encrypt certificate](#update-lets-encrypt). @@ -63,14 +63,14 @@ Postfix is a widely-used open source SMTP server and is included in most Linux d | `{{< placeholder "external@email.tld" >}}` | A working external email address. | | `{{< placeholder "POSTFIXADMIN_PASSWORD" >}}` | Your PostfixAdmin database user password. | -1. Familiarity with [SMTP](/docs/guides/what-is-smtp/) and [IMAP/POP](/docs/guides/what-are-pop-and-imap/) protocols. +1. Familiarity with [SMTP](/cloud/guides/what-is-smtp/) and [IMAP/POP](/cloud/guides/what-are-pop-and-imap/) protocols. 1. Although Postfix and Dovecot servers can operate in the *system* or *virtual* mode, only virtual mode is used in this setup. In system mode, only users with local logins can send and receive emails. System mode users do this with lookups against the operating system’s `/etc/passwd` file with all users residing in a single domain. Virtual mode allows an unlimited number of domains, users, and aliases, all unrelated to the underlying operating system. {{< note title="Non-root users recommended" >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Step 1: Configure DNS @@ -502,7 +502,7 @@ The Postfix server allows your server to send outgoing messages and receive emai !include_try /usr/share/dovecot/protocols.d/*.protocol ``` - LMTP protocol is explained in the next section: [Local Message Storage (LMTP)](/docs/guides/how-to-setup-an-email-server/#step-6-local-message-storage-lmtp). + LMTP protocol is explained in the next section: [Local Message Storage (LMTP)](/cloud/guides/how-to-setup-an-email-server/#step-6-local-message-storage-lmtp). If using POP3 protocol, edit the line to also include `pop3`: @@ -840,7 +840,7 @@ PostfixAdmin is a management tool for Postfix/Dovecot that helps with email admi Even though PostfixAdmin runs on the same host, you must use a different hostname such as `postfixadmin.{{< placeholder "example.tld" >}}` for email management. To do this, add **A** and/or **AAAA** DNS records for your new hostname. -If you’re using the Linode DNS Manager to manage your DNS, select the **Domains** menu on the left side of the Cloud Manager dashboard (see [Step 1](/docs/guides/how-to-setup-an-email-server/#step-1-linode-server-creation)). Point `postfixadmin.{{< placeholder "example.tld" >}}` to the same IP address(es) you are using for `mail.{{< placeholder "example.tld" >}}`. +If you’re using the Linode DNS Manager to manage your DNS, select the **Domains** menu on the left side of the Cloud Manager dashboard (see [Step 1](/cloud/guides/how-to-setup-an-email-server/#step-1-linode-server-creation)). Point `postfixadmin.{{< placeholder "example.tld" >}}` to the same IP address(es) you are using for `mail.{{< placeholder "example.tld" >}}`. Note that DNS propagation may take up to 24 hours. @@ -1114,7 +1114,7 @@ Configure Postfix to send and receive mail on behalf of virtual users and domain sudo setfacl -R -m u:postfix:rx /etc/postfix/sql/ ``` -1. During [Postfix installation in step 2](/docs/guides/how-to-setup-an-email-server/#step-2-install-postfix), the `mydestination` parameter may have been set to include the canonical hostname (e.g., `mail.{{< placeholder "example.tld" >}}`). Since virtual users and domains have been enabled, the canonical hostname is no longer needed. Open the main Postfix configuration file: +1. During [Postfix installation in step 2](/cloud/guides/how-to-setup-an-email-server/#step-2-install-postfix), the `mydestination` parameter may have been set to include the canonical hostname (e.g., `mail.{{< placeholder "example.tld" >}}`). Since virtual users and domains have been enabled, the canonical hostname is no longer needed. Open the main Postfix configuration file: ```command sudo nano /etc/postfix/main.cf @@ -1245,7 +1245,7 @@ Like Postfix, Dovecot must be configured to work with the `postfixadmin` databas ### Access Control Lists (ACLs) -PostfixAdmin uses a `templates_c` directory, and access to that directory must be granted to NGINX. As in [step 6](/docs/guides/how-to-setup-an-email-server/#step-6-local-message-storage-lmtp), you can use ACLs to grant access. +PostfixAdmin uses a `templates_c` directory, and access to that directory must be granted to NGINX. As in [step 6](/cloud/guides/how-to-setup-an-email-server/#step-6-local-message-storage-lmtp), you can use ACLs to grant access. 1. Create the `templates_c` directory, and set the appropriate permissions: @@ -1543,7 +1543,7 @@ The Let's Encrypt certificate and key must also be updated to include the virtua - In the `/etc/dovecot/conf.d/10-auth.conf` file, two lines were added for verbose debugging, both beginning with the string `auth_debug`. To avoid crowded logs, these lines can be commented out or deleted. Restart Dovecot to apply your changes. -- Consider configuring valid Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM) records in your DNS to combat spam. Optionally, you can also set up a Domain Message Authentication, Reporting & Conformance (DMARC) record to specify how your server handles failed SPF and/or DKIM validations, as well as request reports from other servers. See our [separate email server guide](/docs/guides/configure-spf-and-dkim-in-postfix-on-debian-8/) for SPF, DKIM, and DMARC configuration. +- Consider configuring valid Sender Policy Framework (SPF) and DomainKeys Identified Mail (DKIM) records in your DNS to combat spam. Optionally, you can also set up a Domain Message Authentication, Reporting & Conformance (DMARC) record to specify how your server handles failed SPF and/or DKIM validations, as well as request reports from other servers. See our [separate email server guide](/cloud/guides/configure-spf-and-dkim-in-postfix-on-debian-8/) for SPF, DKIM, and DMARC configuration. - Stay vigilant about [security vulnerabilities](https://ubuntu.com/security/notices) by keeping your operating system and server software up to date. Regularly apply patches and updates to help maintain a secure server. diff --git a/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md b/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md index a5ecb831662..aa6523bf867 100644 --- a/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md +++ b/docs/guides/email/postfix/pflogsumm-for-postfix-monitoring-on-centos-6/index.md @@ -16,19 +16,19 @@ deprecated: true ![Header image](Pflogsumm_or_Postfix_Monitoring_on_CentOS_smg.jpg "Pflogsumm for Postfix Monitoring on CentOS 6") -Pflogsumm is a simple Perl script that monitors your [Postfix](/docs/email/postfix/) mail server's activity. This guide will show you how to install Pflogsumm on CentOS 6 and configure it to send you a daily email with your mail server stats. +Pflogsumm is a simple Perl script that monitors your [Postfix](/cloud/email/postfix/) mail server's activity. This guide will show you how to install Pflogsumm on CentOS 6 and configure it to send you a daily email with your mail server stats. {{% content "email-warning-shortguide" %}} ## Before You Begin {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} Make sure these prerequisites are installed: -- [Postfix](/docs/email/postfix/) +- [Postfix](/cloud/email/postfix/) - Perl 5.004 - Perl's Date::Calc module @@ -109,7 +109,7 @@ This list was taken from the [Pflogsumm](http://jimsun.linxnet.com/postfix_contr ## Scheduling Reports with Cron -Now you'll set up a Cron job to run the Pflogsumm Perl script and send the mail server stats to you as a daily email. This is great for monitoring your mail server. The example below schedules the email for 1:01 PM every day. For details on how to customize the time the email is sent, you should read the [Cron](/docs/guides/schedule-tasks-with-cron/) article. +Now you'll set up a Cron job to run the Pflogsumm Perl script and send the mail server stats to you as a daily email. This is great for monitoring your mail server. The example below schedules the email for 1:01 PM every day. For details on how to customize the time the email is sent, you should read the [Cron](/cloud/guides/schedule-tasks-with-cron/) article. 1. Open the **root** user's Crontab by running the following command: diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md index e45546bc4fe..c120d6c5d14 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-5-lenny/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/docs/guides/basic-postfix-email-gateway-on-debian-5-lenny/) document to install a more minimal email system. +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) document to install a more minimal email system. ## Set the Hostname -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 @@ -74,14 +74,14 @@ Issue the following command to start the SASL daemon for the first time: SSL or TLS provides a method of encrypting the communication between your remote users and your mail servers. While this does not encrypt your email messages from end to end, it does ensure that your login credentials are transmitted securely and that communications are secure between your client machine and the email server. -Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/docs/guides/create-a-self-signed-tls-certificate/): +Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/): apt-get install openssl openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/ssl/postfix.pem -keyout /etc/ssl/postfix.key Be sure to generate a certificate with a "Common Name" that corresponds to the host name that your users will connect your mail server (e.g. `mail.example.com`). -Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial SSL certificates](/docs/guides/obtain-a-commercially-signed-tls-certificate/) if you need a commercially verified certificate. +Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial SSL certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) if you need a commercially verified certificate. You can use any SSL certificate with Postfix. If you already have a commercial certificate or another SSL certificate for your web server, you can use these `.pem` and `.key` files. @@ -121,9 +121,9 @@ When all modifications to the Postfix configuration are complete, issue the foll /etc/init.d/postfix restart -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/docs/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). -Consider the [basic email gateway guide](/docs/guides/basic-postfix-email-gateway-on-debian-5-lenny/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -231,7 +231,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Debian 5 (Lenny)](/docs/guides/basic-postfix-email-gateway-on-debian-5-lenny/) +- [Basic Email Gateway with Postfix on Debian 5 (Lenny)](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md index c380fa45b76..86232eae9c2 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-debian-6-squeeze/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/docs/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/docs/email/postfix/). +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/cloud/email/postfix/). ## 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,9 +90,9 @@ When all modifications to the Postfix configuration are complete, issue the foll /etc/init.d/postfix restart -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/docs/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). -Consider the [basic email gateway guide](/docs/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -177,7 +177,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Debian 6 (Squeeze)](/docs/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) +- [Basic Email Gateway with Postfix on Debian 6 (Squeeze)](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md index a12f8903c22..c7aa3c965d0 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-04-lucid/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/). +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [Basic Email Gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [Email Server with Postfix, MySQL and Dovecot](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/). ## Set the Hostname -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 @@ -71,22 +71,22 @@ Issue the following command to start the SASL daemon for the first time: SSL or TLS provides a method of encrypting the communication between your remote users and your mail servers. While this does not encrypt your email messages from end to end, it does ensure that your login credentials are transmitted securely and that communications are secure between your client machine and the email server. -Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/docs/guides/create-a-self-signed-tls-certificate/): +Issue the following sequence of commands to install the prerequisites and [generate a self-signed SSL certificate](/cloud/guides/create-a-self-signed-tls-certificate/): apt-get install openssl openssl req -new -x509 -sha256 -days 365 -nodes -out /etc/ssl/certs/ssl-mail.pem -keyout /etc/ssl/private/ssl-mail.key Be sure to generate a certificate with a "Common Name" that corresponds to the host name that your users will connect your mail server (e.g. `mail.example.com`). -Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial ssl certificates](/docs/guides/obtain-a-commercially-signed-tls-certificate/) if you need a commercially verified certificate. +Mail clients may have an issue with certificates generated in this manner because they are not signed by a recognized certificate authority. Consider our documentation for generating [commercial ssl certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) if you need a commercially verified certificate. You can use any SSL certificate with Postfix. If you already have a commercial certificate or another SSL certificate for your web server, you can use these `.pem` and `.key` files. ## Postfix -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/docs/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). -Consider the [basic email gateway guide](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -170,7 +170,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Ubuntu 10.04 (Lucid)](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) +- [Basic Email Gateway with Postfix on Ubuntu 10.04 (Lucid)](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) diff --git a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md index 89df6d7e5d9..6e6054b120b 100644 --- a/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/email/postfix/postfix-dovecot-and-system-user-accounts-on-ubuntu-10-10-maverick/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [basic email gateway with Postfix](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [email server with Postfix, MySQL and Dovecot](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/). +Postfix is a popular mail transfer agent or "MTA". This document will allow you to create a mail system using Postfix as the core component and aims to provide a simple email solution that uses system user accounts for authentication and mail delivery and Dovecot for remote mailbox access. If you do not need to authenticate to Postfix for SMTP service or use POP or IMAP to download email, you may consider using the [basic email gateway with Postfix](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) document to install a more minimal email system. If you plan to host a larger number of domains and email aliases, you may want to consider a more sophisticated hosting solution like the [email server with Postfix, MySQL and Dovecot](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-10-maverick/). ## Set the Hostname -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 @@ -74,9 +74,9 @@ When all modifications to the Postfix configuration are complete, issue the foll > /etc/init.d/postfix restart -At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/docs/guides/linux-users-and-groups/). +At this point you should be able to send email using your Postfix instance by authenticating with SMTP. Authentication credentials are your [system user accounts](/cloud/guides/linux-users-and-groups/). -Consider the [basic email gateway guide](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. +Consider the [basic email gateway guide](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) for more information regarding Postfix virtual hosting configuration. If you need to deliver mail locally, continue for documentation of mail routing and the Dovecot POP3/IMAP server. ### Configure Mail Delivery @@ -142,7 +142,7 @@ Remember that system user accounts may provide access to other services on the s You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic Email Gateway with Postfix on Ubuntu 10.10 (Maverick)](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) +- [Basic Email Gateway with Postfix on Ubuntu 10.10 (Maverick)](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) diff --git a/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md b/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md index 0d7425a2d53..e6b6e5d3bbb 100644 --- a/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md +++ b/docs/guides/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysql/index.md @@ -14,7 +14,7 @@ aliases: ['/email/postfix/troubleshooting-problems-with-postfix-dovecot-and-mysq ![Troubleshooting Problems with Postfix, Dovecot, and MySQL](troubleshooting-problems-with-postfix-dovecot-and-mysql.jpg "Troubleshooting Problems with Postfix, Dovecot, and MySQL") -This guide is a companion to the [Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) installation guide. Because setting up a mail server is tricky, we've created this companion troubleshooting guide to help you work through and resolve any problems you might be experiencing. By the time you reach the end of this guide, you'll know how to debug problems with your Postfix, Dovecot, and MySQL mail server. +This guide is a companion to the [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) installation guide. Because setting up a mail server is tricky, we've created this companion troubleshooting guide to help you work through and resolve any problems you might be experiencing. By the time you reach the end of this guide, you'll know how to debug problems with your Postfix, Dovecot, and MySQL mail server. The first section, Troubleshooting Checklist, has a top-down approach to troubleshooting that will help you find specific errors for your mail server. The second section, Step-by-Step Configuration, uses a bottom-up approach that shows you how to get a basic mail server functioning and then gradually add more features. @@ -26,7 +26,7 @@ Correctly diagnosing a problem is the first step in solving it. At first glance, ### Are Postfix and Dovecot Running? -Sometimes your mail server is not functioning correctly because the needed services are not running. For a mail server that has been running for a long time, [resource overuse](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/) is the most likely cause of stopped services. It doesn't hurt to check your resource use to rule out that problem. However, when you're just setting up a new mail server, it's more likely that your service startup problems are being caused by configuration errors. Some configuration errors - particularly syntax errors - are serious enough that they can prevent a service from starting. +Sometimes your mail server is not functioning correctly because the needed services are not running. For a mail server that has been running for a long time, [resource overuse](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances) is the most likely cause of stopped services. It doesn't hurt to check your resource use to rule out that problem. However, when you're just setting up a new mail server, it's more likely that your service startup problems are being caused by configuration errors. Some configuration errors - particularly syntax errors - are serious enough that they can prevent a service from starting. To check that Postfix and Dovecot are running and to find startup errors, follow these steps: @@ -191,7 +191,7 @@ The Postfix log will now display more information about messages that are coming ### Check Port Availability -Sometimes email problems occur because the mail server and mail client aren't talking to each other on the same ports. For mail to get from client to server, or vice versa, both have to be using the same ports, and those ports also have to be open along the internet route between the two. If you are following the accompanying [Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) installation guide, you should be using the following ports: +Sometimes email problems occur because the mail server and mail client aren't talking to each other on the same ports. For mail to get from client to server, or vice versa, both have to be using the same ports, and those ports also have to be open along the internet route between the two. If you are following the accompanying [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) installation guide, you should be using the following ports: - 25, 465, or 587 with TLS encryption for outgoing mail (SMTP) - 993 with SSL encryption for incoming IMAP @@ -260,9 +260,9 @@ If the test is successful, you should see output similar to the following: To cancel the connection, press **CTRL-]**, then enter `quit`. If the test fails, you will see a `Connection refused` message and Telnet will quit on its own. -If you run the test on your Linode and it fails, you should check that you've configured the ports properly in your mail server setup (see Steps 33-34 in the [Dovecot section](/docs/guides/email-with-postfix-dovecot-and-mysql/#dovecot) of the setup guide), that you've enabled ports 465 and 587 (see Steps 26-30 in the [Postfix section](/docs/guides/email-with-postfix-dovecot-and-mysql/#postfix) of the setup guide), and that you don't have any [Firewall rules](/docs/guides/control-network-traffic-with-iptables/) in place that block them. +If you run the test on your Linode and it fails, you should check that you've configured the ports properly in your mail server setup (see Steps 33-34 in the [Dovecot section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#dovecot) of the setup guide), that you've enabled ports 465 and 587 (see Steps 26-30 in the [Postfix section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#postfix) of the setup guide), and that you don't have any [Firewall rules](/cloud/guides/control-network-traffic-with-iptables/) in place that block them. -If you run the test on your Linode and it succeeds, but the test from your home computer fails, that indicates that the ports are being blocked somewhere on the network between your home computer and your Linode. It could be at your router, your ISP (Internet Service Provider), someone else's ISP, etc. The best way to diagnose networking issues is to generate an [MTR report](/docs/guides/diagnosing-network-issues-with-mtr/). +If you run the test on your Linode and it succeeds, but the test from your home computer fails, that indicates that the ports are being blocked somewhere on the network between your home computer and your Linode. It could be at your router, your ISP (Internet Service Provider), someone else's ISP, etc. The best way to diagnose networking issues is to generate an [MTR report](/cloud/guides/diagnosing-network-issues-with-mtr/). If the Telnet tests on your Linode and your home computer both succeed, and your mail client settings are correct, you can probably rule out any problems with ports. @@ -276,7 +276,7 @@ Next we'll focus on your login credentials. If they aren't configured properly, The first and easiest step is re-entering your username and password in your mail client. Make sure you use the full username, including the `@example.com` part. Usernames and passwords are case-sensitive. If you're sure that you've entered the information correctly in your mail client, authorization may not be configured properly on the server side. -The next thing to check is that your username and password are entered properly in the correct MySQL table. You can run the [MySQL tests](/docs/guides/email-with-postfix-dovecot-and-mysql/#testing-the-email-server-with-mailutils) from the main setup article to make sure your tables are set up appropriately. You can also delete and re-add the appropriate row from the **mailserver.virtual\_users** table to make sure the password was entered correctly. If the information is correct in the MySQL table, it may be that Dovecot is not configured to look up authorization credentials in the right location. +The next thing to check is that your username and password are entered properly in the correct MySQL table. You can run the [MySQL tests](/cloud/guides/email-with-postfix-dovecot-and-mysql/#testing-the-email-server-with-mailutils) from the main setup article to make sure your tables are set up appropriately. You can also delete and re-add the appropriate row from the **mailserver.virtual\_users** table to make sure the password was entered correctly. If the information is correct in the MySQL table, it may be that Dovecot is not configured to look up authorization credentials in the right location. Dovecot includes an administrative tool which is very helpful in troubleshooting issues with login credentials. The `doveadm user` command lets you see the user database result for the username, user ID, group ID, and mailbox location for each email user. Reading the output from this tool tells you the database where Dovecot is looking for authorized users. If Dovecot is not looking for the expected database, you'll need to change the authorization-related settings in Dovecot so that it is using MySQL to look up users, and not some other user database. @@ -309,7 +309,7 @@ Dovecot includes an administrative tool which is very helpful in troubleshooting gid : 1000 home : /home/myuser -3. If you do get this type of output, you need to adjust your Dovecot settings related to virtual users. If you don't get output for the system users either, this still indicates that you have some kind of error in the Dovecot settings related to users. Go back to the [Dovecot section](/docs/guides/email-with-postfix-dovecot-and-mysql/#dovecot) of the main setup guide and pay special attention to the sections having to do with virtual users and the MySQL settings. +3. If you do get this type of output, you need to adjust your Dovecot settings related to virtual users. If you don't get output for the system users either, this still indicates that you have some kind of error in the Dovecot settings related to users. Go back to the [Dovecot section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#dovecot) of the main setup guide and pay special attention to the sections having to do with virtual users and the MySQL settings. ## Step-by-Step Configuration @@ -317,7 +317,7 @@ For some troubleshooting scenarios, you may find that a top-down approach doesn' The bottom-up approach presented here breaks up the complex task of building a mail server into smaller chunks. This has two benefits. First, each section focuses on just a few mail server functions and includes fewer details, which makes it easier to understand. By the end of the project, you should have a deep understanding of how the mail server works. Second, each chunk adds a discrete amount of testable functionality to the mail server. This makes it easier to find errors by limiting the scope of their possible locations. For example, if your mail server was working after you completed "Basic Dovecot," but is failing its tests after "Virtual Domains and Users," you know that the error is related to something you did in that section. -The second part of this guide presents a step-by-step mail server build organized by function, progressing from core functions to more peripheral ones, with tests at each step. You should have the [main setup guide](/docs/guides/email-with-postfix-dovecot-and-mysql/) open at the same time, because we will be referring back to it. As you read the main setup guide, you'll notice that we are installing items in a different order here. The main guide is designed for a streamlined approach that avoids editing the same file multiple times. This guide is focused on a deeper understanding of each component, so you will sometimes need to jump around to different sections of the main guide for reference. Once you successfully complete a stage, I suggest that you make a [system-level backup](/docs/products/storage/backups/) so you can get back to that point easily! +The second part of this guide presents a step-by-step mail server build organized by function, progressing from core functions to more peripheral ones, with tests at each step. You should have the [main setup guide](/cloud/guides/email-with-postfix-dovecot-and-mysql/) open at the same time, because we will be referring back to it. As you read the main setup guide, you'll notice that we are installing items in a different order here. The main guide is designed for a streamlined approach that avoids editing the same file multiple times. This guide is focused on a deeper understanding of each component, so you will sometimes need to jump around to different sections of the main guide for reference. Once you successfully complete a stage, I suggest that you make a [system-level backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) so you can get back to that point easily! {{< note type="alert" >}} Keep in mind that the earlier builds presented here are functional, but should not be considered production-ready for security and functionality reasons, mainly because passwords are sent in plain text, and/or outgoing SMTP is not enabled. {{< /note >}} @@ -326,7 +326,7 @@ Throughout this section, we will provide links to the appropriate [Postfix](http ### Setting Up -Read the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Follow the steps outlined in that section before installing your mail server. +Read the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Follow the steps outlined in that section before installing your mail server. You may also want to log into your server as the root user, so you don't have to type "sudo" for each command. You can log in as root by entering the following command: @@ -340,7 +340,7 @@ In this section, you'll install Postfix and configure it to deliver mail for you apt-get install postfix -2. When prompted, select **Internet Site** for the configuration. (See Steps 6 & 7 from the [Installing Packages](/docs/guides/email-with-postfix-dovecot-and-mysql/#install-packages) section of the primary guide, for this step and the next.) +2. When prompted, select **Internet Site** for the configuration. (See Steps 6 & 7 from the [Installing Packages](/cloud/guides/email-with-postfix-dovecot-and-mysql/#install-packages) section of the primary guide, for this step and the next.) 3. Enter your fully-qualified domain name or any domain name that resolves to the server. 4. Open `/etc/postfix/main.cf` for editing, and add your domain(s) to the `mydestination` line. If your hostname and hosts files were set up correctly before installing Postfix, this list should already include your full-qualified domain name and several references to localhost, which you can leave as they are. @@ -855,7 +855,7 @@ The final step in getting your mail server up to speed is to make it compatible apt-get install mysql-server postfix-mysql dovecot-mysql -2. Create the three MySQL tables `virtual_domains`, `virtual_users`, and `virtual_aliases` and populate them with your data, by following the entire [MySQL section](/docs/guides/email-with-postfix-dovecot-and-mysql/#set-up-mysql) in the main setup guide. If you prefer not to use the MySQL command line, you can install phpMyAdmin and use that instead. +2. Create the three MySQL tables `virtual_domains`, `virtual_users`, and `virtual_aliases` and populate them with your data, by following the entire [MySQL section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#set-up-mysql) in the main setup guide. If you prefer not to use the MySQL command line, you can install phpMyAdmin and use that instead. 3. Open `/etc/postfix/main.cf` for editing. Comment out the existing `virtual_mailbox_domains` and `virtual_mailbox_maps` lines and add these instead: {{< file "/etc/postfix/main.cf" >}} @@ -867,7 +867,7 @@ virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf {{< /file >}} -4. Follow Steps 11-25 in the [Postfix section](/docs/guides/email-with-postfix-dovecot-and-mysql/#set-up-mysql) of the main setup guide to create the `/etc/postfix/mysql-virtual-mailbox-domains.cf`, `/etc/postfix/mysql-virtual-mailbox-maps.cf`, and `/etc/postfix/mysql-virtual-alias-maps.cf` files. You will also test that Postfix can find all of this information, using the `postmap` commands. +4. Follow Steps 11-25 in the [Postfix section](/cloud/guides/email-with-postfix-dovecot-and-mysql/#set-up-mysql) of the main setup guide to create the `/etc/postfix/mysql-virtual-mailbox-domains.cf`, `/etc/postfix/mysql-virtual-mailbox-maps.cf`, and `/etc/postfix/mysql-virtual-alias-maps.cf` files. You will also test that Postfix can find all of this information, using the `postmap` commands. 5. Now for Dovecot. Create the file `/etc/dovecot/conf.d/auth-sql.conf.ext`. You will make a new `passdb` section that directs Dovecot to use MySQL for authentication. The `userdb` section will be identical to the one we had before, since the mailboxes aren't moving. {{< file "/etc/dovecot/conf.d/auth-sql.conf.ext" >}} diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-centos-5/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-centos-5/index.md index 7c51282f8d3..84d8bba9cf2 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-centos-5/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-centos-5/index.md @@ -26,7 +26,7 @@ Zimbra is a groupware system that provides email, calendaring, integrated antivi Please note that Zimbra is a fairly "heavy" (resource-intensive) product compared to some other groupware offerings. We recommend a Linode 2048 or higher for best results; you may encounter issues using Zimbra with lower-resource plans. Additionally, note that Zimbra works best as a standalone product on your Linode; installation alongside other common software such as web or email servers is not advised. -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/), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. +We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. ## Installing Prerequisite Packages diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-5-lenny/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-5-lenny/index.md index 50ef6c5f173..90b369e8df1 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-5-lenny/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ Zimbra is a groupware system that provides email, calendaring, integrated antivi Please note that Zimbra is a fairly "heavy" (resource-intensive) product compared to some other groupware offerings. We recommend a Linode 2048 or higher for best results; you may encounter issues using Zimbra with lower-resource plans. Additionally, note that Zimbra works best as a standalone product on your Linode; installation alongside other common software such as web or email servers is not advised. -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/), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. +We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. ## Installing Prerequisite Packages diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md index a39b04be295..e2ce1fc2f22 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ Zimbra is a groupware system that provides email, calendaring, integrated antivi Please note that Zimbra is a fairly "heavy" (resource-intensive) product compared to some other groupware offerings. We recommend a Linode 2048 or higher for best results; you may encounter issues using Zimbra with plans with less resources. Additionally, note that Zimbra works best as a standalone product on your Linode; installation alongside other software is not advised. Zimbra is deprecating support for 32-bit systems, and therefore it is assumed you have deployed the 64-bit version of Debian 6. If this is not the case, you will want to redeploy with the 64-bit version before continuing. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. -Please note that as of this writing, Zimbra is not officially supported on Debian 6. The software should function as expected, but your support options may be limited by choosing to install it on Debian 6. If this is a concern for you, you may wish to consider following our [Debian 5 (Lenny) Zimbra guide](/docs/email/zimbra/install-zimbra-debian-5-lenny) instead. +Please note that as of this writing, Zimbra is not officially supported on Debian 6. The software should function as expected, but your support options may be limited by choosing to install it on Debian 6. If this is a concern for you, you may wish to consider following our [Debian 5 (Lenny) Zimbra guide](/cloud/email/zimbra/install-zimbra-debian-5-lenny) instead. ## Basic System Configuration @@ -40,7 +40,7 @@ Edit your `/etc/hosts` file to resemble the following, substituting your Linode' {{< /file >}} -Before proceeding with the rest of this guide, you should create a DNS entry for your system's FQDN (fully qualified domain name). This means you'll need to make sure "hostname.example.com" (substituting your FQDN) points to your Linode's IP address. Additionally, you should create or edit the MX record for your domain to use your FQDN as the host that handles your email. For more information on this topic, please refer to our guides on [DNS basics](/docs/guides/dns-overview/) and the [Linode DNS Manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). +Before proceeding with the rest of this guide, you should create a DNS entry for your system's FQDN (fully qualified domain name). This means you'll need to make sure "hostname.example.com" (substituting your FQDN) points to your Linode's IP address. Additionally, you should create or edit the MX record for your domain to use your FQDN as the host that handles your email. For more information on this topic, please refer to our guides on [DNS basics](/cloud/guides/dns-overview/) and the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). ## Install Prerequisite Packages diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md index 2379c809a2a..8714533dc52 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-10-04-lts-lucid/index.md @@ -22,9 +22,9 @@ Zimbra is a groupware system that provides email, calendaring, integrated antivi Please note that Zimbra is a fairly "heavy" (resource-intensive) product compared to some other groupware offerings. We recommend a Linode 2048 or higher for best results; you may encounter issues using Zimbra with lower-resource plans. Additionally, note that Zimbra works best as a standalone product on your Linode; installation alongside other common software such as web or email servers is not advised. -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/), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. +We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. -**Note:** As of this writing, Zimbra is not officially supported on Ubuntu 10.04. These instructions result in a working Zimbra installation, but your support options may be limited. If you wish to use a platform that is fully supported by the Zimbra community, please follow our [Zimbra on Debian 5 (Lenny)](/docs/email/zimbra/install-zimbra-debian-5-lenny) or [Zimbra on CentOS 5](/docs/guides/email-and-calendars-with-zimbra-6-on-centos-5/) guides instead. +**Note:** As of this writing, Zimbra is not officially supported on Ubuntu 10.04. These instructions result in a working Zimbra installation, but your support options may be limited. If you wish to use a platform that is fully supported by the Zimbra community, please follow our [Zimbra on Debian 5 (Lenny)](/cloud/email/zimbra/install-zimbra-debian-5-lenny) or [Zimbra on CentOS 5](/cloud/guides/email-and-calendars-with-zimbra-6-on-centos-5/) guides instead. ## Installing Prerequisite Packages diff --git a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-8-04-hardy/index.md b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-8-04-hardy/index.md index b15bd04ddea..3a3ed7f445c 100644 --- a/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/email/zimbra/email-and-calendars-with-zimbra-6-on-ubuntu-8-04-hardy/index.md @@ -22,7 +22,7 @@ Zimbra is a groupware system that provides email, calendaring, integrated antivi Please note that Zimbra is a fairly "heavy" (resource-intensive) product compared to some other groupware offerings. We recommend a Linode 2048 or higher for best results; you may encounter issues using Zimbra with lower-resource plans. Additionally, note that Zimbra works best as a standalone product on your Linode; installation alongside other common software such as web or email servers is not advised. -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/), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. +We assume you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that your system is up to date. All configuration will be performed through the terminal; please make sure you're logged into your Linode as root via SSH. ## Installing Prerequisite Packages diff --git a/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md b/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md index 61123fa41cf..a609c042121 100644 --- a/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md +++ b/docs/guides/email/zimbra/zimbra-on-ubuntu-14-04/index.md @@ -26,18 +26,18 @@ deprecated: true {{% content "email-warning-shortguide" %}} {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 >}} ## Set up Your Linode -1. Create a Linode with a minimum of 4 GB of RAM. See [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) for help setting up your host. +1. Create a Linode with a minimum of 4 GB of RAM. See [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) for help setting up your host. 2. Deploy an Ubuntu 14.04 LTS image to your Linode. Consider using slightly less than half the available disk space for the first image, keeping the other half for taking a backup image before updates. Your partition size will depend on the number of accounts and volume of mail you expect to handle. Once deployed, boot your new host. SSH into the terminal using the command shown on the **Networking** tab in the Linode Cloud Manager and the password you entered when you created the Linode. -3. You must [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and fully qualified domain name (FQDN), and [update /etc/hosts](/docs/guides/using-your-systems-hosts-file/) prior to installing Zimbra. +3. You must [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) and fully qualified domain name (FQDN), and [update /etc/hosts](/cloud/guides/using-your-systems-hosts-file/) prior to installing Zimbra. -4. Configure your DNS entries at your DNS provider to provide an A record for the host, and point the domain MX record to your new server. A reverse DNS pointer is highly recommended to prevent mail from your server being rejected. See [Running a Mail Server: DNS Records](/docs/guides/running-a-mail-server/#dns-records) for details on setting up DNS. +4. Configure your DNS entries at your DNS provider to provide an A record for the host, and point the domain MX record to your new server. A reverse DNS pointer is highly recommended to prevent mail from your server being rejected. See [Running a Mail Server: DNS Records](/cloud/guides/running-a-mail-server/#dns-records) for details on setting up DNS. ## Download Zimbra @@ -136,7 +136,7 @@ This Guide is about setting up a new Zimbra Linode, but if you are upgrading an 6. Configure MX records. - If you receive an error about a missing MX record as shown below, it means your domain DNS records are not matching what Zimbra expects to find, based on the hostname you configured earlier. Check your `/etc/hostname` file and your [DNS records](/docs/guides/dns-overview/#mx) to resolve the problem. + If you receive an error about a missing MX record as shown below, it means your domain DNS records are not matching what Zimbra expects to find, based on the hostname you configured earlier. Check your `/etc/hostname` file and your [DNS records](/cloud/guides/dns-overview/#mx) to resolve the problem. DNS ERROR resolving MX for linodemail.example.com It is suggested that the domain name have an MX record configured in DNS diff --git a/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md b/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md index 953fcb8d081..dde526b8203 100644 --- a/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md +++ b/docs/guides/game-servers/create-an-ark-server-on-ubuntu/index.md @@ -32,14 +32,14 @@ There is no cross-play between different platforms (Linux and Xbox, for example) ## Before You Begin -1. Create an 8GB or larger Dedicated CPU Compute Instance. This recommendation is based on the [system requirements](http://ark.wiki.gg/Dedicated_Server_Setup#Hardware) for an ARK server. Other plans may also work. See the [Getting Started](/docs/products/platform/get-started/) guide for instructions. +1. Create an 8GB or larger Dedicated CPU Compute Instance. This recommendation is based on the [system requirements](http://ark.wiki.gg/Dedicated_Server_Setup#Hardware) for an ARK server. Other plans may also work. See the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for instructions. -1. Ark will be installed through the Steam *command-line interface* (CLI). See our guide [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/) if you haven't installed Steam already. +1. Ark will be installed through the Steam *command-line interface* (CLI). See our guide [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/) if you haven't installed Steam already. 1. To connect to your Ubuntu Ark server, you must have a copy of the [Ark: Survival Evolved](http://www.playark.com/) game client running on a local machine. {{< note >}} -The steps in this guide require root privileges unless otherwise noted. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +The steps in this guide require root privileges unless otherwise noted. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Securing Your Ark Server @@ -48,7 +48,7 @@ The steps in this guide require root privileges unless otherwise noted. Be sure adduser ark -1. Configure a firewall, ensuring the following ports are open. See the [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide for instructions. +1. Configure a firewall, ensuring the following ports are open. See the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for instructions. | Port | Use | | --- | --- | diff --git a/docs/guides/game-servers/deploy-7-days-to-die-linux-game-server/index.md b/docs/guides/game-servers/deploy-7-days-to-die-linux-game-server/index.md index 1e1948050f8..85c16e9e1e9 100644 --- a/docs/guides/game-servers/deploy-7-days-to-die-linux-game-server/index.md +++ b/docs/guides/game-servers/deploy-7-days-to-die-linux-game-server/index.md @@ -11,15 +11,15 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: Deploy7DtoD_Linux.png --- -Even eight years after its release, the Zombie Horde Survival game [7 Days to Die](https://7daystodie.com/) (7DTD) is still going strong. Its community is active and the zombie fun hasn't stopped. The game is even better when you and your friends play on your own server, using your own rules. Plus, when you [host a game server yourself](/docs/guides/get-started-with-linux-game-server-hosting), you don't have to worry about lag time that can interrupt your gameplay. This guide shows you how to set up your own 7DTD server, using LinuxGSM. +Even eight years after its release, the Zombie Horde Survival game [7 Days to Die](https://7daystodie.com/) (7DTD) is still going strong. Its community is active and the zombie fun hasn't stopped. The game is even better when you and your friends play on your own server, using your own rules. Plus, when you [host a game server yourself](/cloud/guides/get-started-with-linux-game-server-hosting), you don't have to worry about lag time that can interrupt your gameplay. This guide shows you how to set up your own 7DTD server, using LinuxGSM. ![7DTD](Linux_game_7days.png) ## Before You Begin -1. Deploy an **Ubuntu 20.04** Linode in a [data center region](https://www.linode.com/global-infrastructure/) close to your player's geographic location. Ensure you select a [Linode plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/) with enough RAM and CPU for the game. The [7 Days to Die official documentation](https://store.steampowered.com/app/251570/7_Days_to_Die/) recommends 4 CPU cores. +1. Deploy an **Ubuntu 20.04** Linode in a [data center region](https://www.linode.com/global-infrastructure/) close to your player's geographic location. Ensure you select a [Linode plan](https://techdocs.akamai.com/cloud-computing/docs/how-to-choose-a-compute-instance-plan) with enough RAM and CPU for the game. The [7 Days to Die official documentation](https://store.steampowered.com/app/251570/7_Days_to_Die/) recommends 4 CPU cores. -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 >}} In order to play 7 Days to Die, you have to [purchase the game on Steam](https://store.steampowered.com/app/251570/7_Days_to_Die/). @@ -42,7 +42,7 @@ The Linux Game Server manager ([LinuxGSM](https://linuxgsm.com/)) is a command-l sudo adduser sdtdserver sudo adduser sdtdserver sudo -1. Switch your terminal session to the new `sdtdserver` user. You can exit your current session by typing **exit**, then [SSH into your Linode](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) using as the `sdtdserver` user. Ensure you replace the example command with your [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. Switch your terminal session to the new `sdtdserver` user. You can exit your current session by typing **exit**, then [SSH into your Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) using as the `sdtdserver` user. Ensure you replace the example command with your [Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). ssh sdtdserver@192.0.2.0 @@ -109,7 +109,7 @@ To start server type: Execute the `./sdtdserver` command to get a list of all available 7 Days to Die server commands. {{< /note >}} -1. On your computer, use Steam to fire up the game and connect to your [Linode server's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. On your computer, use Steam to fire up the game and connect to your [Linode server's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). ![7dtd server status](Linux_game_server_7dtd_server.png) diff --git a/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md b/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md index c33bc35f6d9..73478b8a25d 100644 --- a/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md +++ b/docs/guides/game-servers/deploy-just-cause-2-multiplayer-server-on-ubuntu/index.md @@ -20,10 +20,10 @@ deprecated: true 1. You will need a [Steam](http://store.steampowered.com) account, a copy of [Just Cause 2](http://store.steampowered.com/app/8190/) and the [Just Cause 2 Multiplayer Mod](http://store.steampowered.com/app/259080/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Just Cause 2 @@ -97,7 +97,7 @@ screen -S "Just Cause 2 Muliplayer Server" ./Jcmp-Server {{< /file >}} - When run, the script will change directories to `~/Steam/jc2mp-server` and execute JC2 in a [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + When run, the script will change directories to `~/Steam/jc2mp-server` and execute JC2 in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. 5. Make the script executable: diff --git a/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md b/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md index 9a31e1e49bd..413922f7aac 100644 --- a/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md +++ b/docs/guides/game-servers/garrys-mod-server-on-centos-7/index.md @@ -25,10 +25,10 @@ This guide shows how to create, maintain, and secure a Garry's Mod server. 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Garry's Mod](http://store.steampowered.com/app/4000/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Garry's Mod @@ -93,7 +93,7 @@ screen -S "Garry's Mod Server" ./srcds_run -game garrysmod +maxplayers 20 +map g {{< /file >}} - When run, the script will change directories to `~/Steam/gmod` and execute Garry's Mod in a [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. The `srcds_run` binary can take many more arguments which you can see at [Valve's Developer wiki](https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server). + When run, the script will change directories to `~/Steam/gmod` and execute Garry's Mod in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. The `srcds_run` binary can take many more arguments which you can see at [Valve's Developer wiki](https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server). 2. Make the script executable: diff --git a/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md b/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md index 63f9a039f69..c64abd2cf94 100644 --- a/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md +++ b/docs/guides/game-servers/get-started-with-linux-game-server-hosting/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: LinuxGameServerHosting.png --- -If you want great gaming performance, low latency, and control over your gaming experience, you should consider setting up your own dedicated game server. You can do so for [Valheim](https://www.linode.com/marketplace/apps/linode/valheim-game-server/), [Minecraft](/docs/marketplace-docs/guides/minecraft/), [CS:GO](https://www.linode.com/marketplace/apps/linode/csgo-game-server/), or any other multiplayer game that supports dedicated server hosting. This guide helps you understand what is involved in setting up your own Linux game server. It covers the top reasons for hosting your own game server, computing requirements, Linux distribution recommendations, and links to resources to help you deploy your first game server. +If you want great gaming performance, low latency, and control over your gaming experience, you should consider setting up your own dedicated game server. You can do so for [Valheim](https://www.linode.com/marketplace/apps/linode/valheim-game-server/), [Minecraft](/cloud/marketplace-docs/guides/minecraft/), [CS:GO](https://www.linode.com/marketplace/apps/linode/csgo-game-server/), or any other multiplayer game that supports dedicated server hosting. This guide helps you understand what is involved in setting up your own Linux game server. It covers the top reasons for hosting your own game server, computing requirements, Linux distribution recommendations, and links to resources to help you deploy your first game server. ## The Benefits of Hosting Your Own Linux Game Server @@ -31,13 +31,13 @@ Linode's [shared](https://www.linode.com/products/shared/) or [dedicated CPU](ht ## Your Game Server's Linux Distribution -The general consensus in the gaming community is that Debian or Ubuntu are the best [Linux distributions](/docs/products/compute/compute-instances/guides/distributions/) to use when it comes to hosting a game server. Both distributions offer rock-solid performance and everything you need to get a game server up and running. Debian and Ubuntu are also designed to easily run headless without an active shell, which can save on your game server's system resources. +The general consensus in the gaming community is that Debian or Ubuntu are the best [Linux distributions](https://techdocs.akamai.com/cloud-computing/docs/choose-a-distribution) to use when it comes to hosting a game server. Both distributions offer rock-solid performance and everything you need to get a game server up and running. Debian and Ubuntu are also designed to easily run headless without an active shell, which can save on your game server's system resources. ## Hosting your Game Server on a Linode ### Linode One-Click App Marketplace -[Linode's One-Click App Marketplace](https://www.linode.com/marketplace/apps/) offers easy to deploy gaming servers for some games including [Ark](https://www.linode.com/marketplace/apps/linode/ark-game-server/), [Team Fortress 2](https://www.linode.com/marketplace/apps/linode/tf2-game-server/) and [Terraria](https://www.linode.com/marketplace/apps/linode/terraria-game-server/). You can refer to each [Quick Deploy App's Linode documentation](/docs/marketplace-docs/guides/) to learn how to deploy your game server, provide the appropriate configurations, and select the server's appropriate plan size. +[Linode's One-Click App Marketplace](https://www.linode.com/marketplace/apps/) offers easy to deploy gaming servers for some games including [Ark](https://www.linode.com/marketplace/apps/linode/ark-game-server/), [Team Fortress 2](https://www.linode.com/marketplace/apps/linode/tf2-game-server/) and [Terraria](https://www.linode.com/marketplace/apps/linode/terraria-game-server/). You can refer to each [Quick Deploy App's Linode documentation](/cloud/marketplace-docs/guides/) to learn how to deploy your game server, provide the appropriate configurations, and select the server's appropriate plan size. {{< note >}} You can watch the developer Gardiner Bryant explaining [how to set up a Rust game server](https://www.youtube.com/watch?v=RPbIRbj0GyA) on Linode's YouTube channel. @@ -47,6 +47,6 @@ You can watch the developer Gardiner Bryant explaining [how to set up a Rust gam If your game isn't available as a Quick Deploy App, you can deploy a Linode and manually install and configure your game. There are several command line tools like [LinuxGSM](https://linuxgsm.com/lgsm/sdtdserver/) and [SteamCMD](https://developer.valvesoftware.com/wiki/SteamCMD) that automate the process of installing Steam games and their dependencies. You can check out the following guides in our documentation library, to get started: -- [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/) -- [Install a Half-Life 2: Deathmatch Dedicated Server on Debian or Ubuntu](/docs/guides/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/) -- [How to Deploy a 7 Days to Die Linux Server](/docs/guides/deploy-7-days-to-die-linux-game-server/) \ No newline at end of file +- [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/) +- [Install a Half-Life 2: Deathmatch Dedicated Server on Debian or Ubuntu](/cloud/guides/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/) +- [How to Deploy a 7 Days to Die Linux Server](/cloud/guides/deploy-7-days-to-die-linux-game-server/) \ No newline at end of file diff --git a/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md b/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md index 247cf25f068..76bf8840ed5 100644 --- a/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md +++ b/docs/guides/game-servers/host-a-terraria-server-on-your-linode/index.md @@ -31,9 +31,9 @@ Due to Terraria's system requirements, a Linode with at least two CPU cores 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. ## Configure a Firewall for Terraria {{< note >}} @@ -42,7 +42,7 @@ Terraria only uses IPv4 and does not use IPv6. ### Firewalld -Firewalld is the default iptables controller in CentOS 7+ and Fedora. See our [guide on using firewalld](/docs/guides/introduction-to-firewalld-on-centos/) for more information. +Firewalld is the default iptables controller in CentOS 7+ and Fedora. See our [guide on using firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) for more information. 1. Enable and start firewalld: @@ -77,13 +77,13 @@ Firewalld is the default iptables controller in CentOS 7+ and Fedora. See our [g ### UFW -[UFW (Uncomplicated Firewall)](/docs/security/firewalls/configure-firewall-with-ufw/) is an iptables controller packaged with Ubuntu, but it's not installed in Debian by default. +[UFW (Uncomplicated Firewall)](/cloud/security/firewalls/configure-firewall-with-ufw/) is an iptables controller packaged with Ubuntu, but it's not installed in Debian by default. 1. If needed, install UFW: sudo apt install ufw -2. Add SSH and a rule for Terraria. It's important you add rules before enabling UFW. If you don't, you'll terminate your SSH session and will need to access your Linode using [Lish](/docs/products/compute/compute-instances/guides/lish/): +2. Add SSH and a rule for Terraria. It's important you add rules before enabling UFW. If you don't, you'll terminate your SSH session and will need to access your Linode using [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish): sudo ufw allow ssh sudo ufw allow 7777/tcp @@ -99,7 +99,7 @@ The second command in this step, `sudo ufw delete 4` references the fourth rule ### iptables -To manually configure iptables without using a controller, see our [iptables guide](/docs/guides/control-network-traffic-with-iptables/) for a general ruleset. +To manually configure iptables without using a controller, see our [iptables guide](/cloud/guides/control-network-traffic-with-iptables/) for a general ruleset. 1. You'll also want to add the rule below for Terraria: diff --git a/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md b/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md index 5661492452a..c4cf6a0d533 100644 --- a/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md +++ b/docs/guides/game-servers/how-to-set-up-minecraft-server-on-ubuntu-or-debian/index.md @@ -33,9 +33,9 @@ This guide shows you how to set up a personal [Minecraft](https://minecraft.net/ 1. To use a Minecraft server you must also have a version of the game client from [Minecraft.net](https://minecraft.net/). -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. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account. 1. Update your Linode's software: @@ -60,14 +60,14 @@ Minecraft version 1.13 is only compatible with OpenJDK 8. If you are using OpenJ sudo adduser minecraft - Assign a secure password, and configure any additional [SSH hardening](/docs/guides/use-public-key-authentication-with-ssh/) options at this time. + Assign a secure password, and configure any additional [SSH hardening](/cloud/guides/use-public-key-authentication-with-ssh/) options at this time. {{< note >}} -If you have a firewall configured according to the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, add the following line to your `iptables.firewall.rules` file to add an exception for port 25565: +If you have a firewall configured according to the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, add the following line to your `iptables.firewall.rules` file to add an exception for port 25565: `-A INPUT -p tcp --dport 25565 -j ACCEPT` -For more information, see [Controlling Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/). +For more information, see [Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/). {{< /note >}} ## Install Minecraft @@ -165,7 +165,7 @@ And you are now running an updated Minecraft server on Ubuntu or Debian. eula=true {{< /file >}} -1. To ensure that the Minecraft server runs independent of an SSH connection, execute `run.sh` from within a [GNU Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session: +1. To ensure that the Minecraft server runs independent of an SSH connection, execute `run.sh` from within a [GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session: screen /home/minecraft/run.sh @@ -215,7 +215,7 @@ For more information on available settings and how to modify them, or how to run ![Minecraft Players.](minecraft-gameplay.png) -Congratulations! Now that you have setup a Minecraft server on Linux, you can play Minecraft in a persistent world with your friends. For more information on working with `screen`, check out our guide on [GNU Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). +Congratulations! Now that you have setup a Minecraft server on Linux, you can play Minecraft in a persistent world with your friends. For more information on working with `screen`, check out our guide on [GNU Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). ## Configure Your Minecraft Server Firewall @@ -234,7 +234,7 @@ Here are some of the most common port numbers and network services that use them - `Minecraft Server`: 25565 - `FTP or File Transfer Protocol`: 21 -When you install the Minecraft servers on Ubuntu or Debian, the default settings currently only allow SSH traffic to be able to access this server and block every other request. Minecraft uses the port 25565 to allow connections to a server which means you need to enable traffic to pass through this port. For more information, see [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +When you install the Minecraft servers on Ubuntu or Debian, the default settings currently only allow SSH traffic to be able to access this server and block every other request. Minecraft uses the port 25565 to allow connections to a server which means you need to enable traffic to pass through this port. For more information, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). You can also add a firewall rule using the ufw by running the following command: diff --git a/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md b/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md index 1cb6dbc30ed..2d32b2b78cc 100644 --- a/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md +++ b/docs/guides/game-servers/install-a-half-life-2-deathmatch-dedicated-server-on-debian-or-ubuntu/index.md @@ -26,9 +26,9 @@ This guide will show you how to set up your own [Half-Life 2 Deathmatch](http:// ## Before You Begin -1. Complete our [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/) guide. +1. Complete our [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/) guide. -2. This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +2. This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. 3. Add two firewall rules to extend the port range available to the server. This command assumes that you have **only** the iptables rules in place from the SteamCMD guide. If not, find the corresponding lines and replace the numbers in `INPUT 5` and `INPUT 7` below: @@ -93,7 +93,7 @@ To exit the screen: exit -For more information on Screen sockets, visit our guide on [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). +For more information on Screen sockets, visit our guide on [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). ### Autostart with a Screen Script diff --git a/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md b/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md index ce4a98526f8..2c4bfc7f82e 100644 --- a/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md +++ b/docs/guides/game-servers/install-black-mesa-on-debian-or-ubuntu/index.md @@ -25,10 +25,10 @@ This guide will show you how to set up your own [Black Mesa](https://blackmesaso 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Black Mesa](http://store.steampowered.com/app/362890/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Black Mesa @@ -77,7 +77,7 @@ The **maxplayers** parameter specifies the maximum number of players allowed to You can read the entire list of parameters on the [Valve Wiki](https://developer.valvesoftware.com/wiki/Command_Line_Options). {{< /note >}} {{< note >}} -To keep the server running, execute it using [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/): +To keep the server running, execute it using [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/): screen ./srcds_run -game bms +map gasworks +maxplayers 24 {{< /note >}} diff --git a/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md b/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md index 926066ce408..3c50eda424f 100644 --- a/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md +++ b/docs/guides/game-servers/install-dont-starve-together-game-server-on-ubuntu/index.md @@ -23,10 +23,10 @@ deprecated: true 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Don’t Starve Together](http://store.steampowered.com/app/322330/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Don't Starve Together @@ -144,7 +144,7 @@ cd ./Steam/dstserver/bin screen -S "Don't Starve Together Server" ./dontstarve_dedicated_server_nullrenderer {{< /file >}} - When run, the script will change directories to `~/Steam/dstserver/bin` and execute DST in a [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + When run, the script will change directories to `~/Steam/dstserver/bin` and execute DST in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. 5. Make the script executable: diff --git a/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md b/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md index f7f362d3897..1b490f4600f 100644 --- a/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md +++ b/docs/guides/game-servers/install-steamcmd-for-a-steam-game-server/index.md @@ -22,26 +22,26 @@ SteamCMD is a command-line version of the Steam client which works with games th This guide is intended to get you quickly up and running with SteamCMD on your Linode. See Valve's [SteamCMD wiki page](https://developer.valvesoftware.com/wiki/SteamCMD) for more information and advanced setups. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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. [Install the `screen` utility](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/#installing-gnu-screen), which will be used later when running SteamCMD. For more information about how screen works, review the rest of our [Using GNU Screen to Manage Persistent Terminal Sessions](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) guide. +1. [Install the `screen` utility](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/#installing-gnu-screen), which will be used later when running SteamCMD. For more information about how screen works, review the rest of our [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) guide. ## Secure Your Game Server -Game servers and clients are an especially ripe target for attack. Use our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to: +Game servers and clients are an especially ripe target for attack. Use our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to: -1. [Add a limited Linux user](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) to your server. Make the username `steam` to coincide with the rest of [Linode's Steam guides](/docs/applications/game-servers/), as well as Valve's official documentation. Be sure to give the `steam` user `sudo` privileges. +1. [Add a limited Linux user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to your server. Make the username `steam` to coincide with the rest of [Linode's Steam guides](/cloud/applications/game-servers/), as well as Valve's official documentation. Be sure to give the `steam` user `sudo` privileges. -1. [Harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access). +1. [Harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). -1. If you are using [**iptables**](/docs/guides/control-network-traffic-with-iptables/) (which is set in Linode's Ubuntu and Debian images by default), follow the [Configure your Firewall Using IPTables](#configure-your-firewall-using-iptables) section. +1. If you are using [**iptables**](/cloud/guides/control-network-traffic-with-iptables/) (which is set in Linode's Ubuntu and Debian images by default), follow the [Configure your Firewall Using IPTables](#configure-your-firewall-using-iptables) section. -1. If instead you are using [**firewalld**](/docs/guides/introduction-to-firewalld-on-centos/) (as in Linode's CentOS 7 and Fedora images), follow the [Configure your Firewall Using FirewallD](#configure-your-firewall-using-firewalld) section. +1. If instead you are using [**firewalld**](/cloud/guides/introduction-to-firewalld-on-centos/) (as in Linode's CentOS 7 and Fedora images), follow the [Configure your Firewall Using FirewallD](#configure-your-firewall-using-firewalld) section. ### Configure your Firewall Using IPTables @@ -102,7 +102,7 @@ COMMIT {{< /file >}} {{< note respectIndent=false >}} -Some Steam games require a few additional rules which can be found in our [Steam game guides](/docs/applications/game-servers/). Steam can also use multiple port ranges for various purposes, but they should only be allowed if your game(s) make use of those services. See [this](https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711) Steam Support page for more information. +Some Steam games require a few additional rules which can be found in our [Steam game guides](/cloud/applications/game-servers/). Steam can also use multiple port ranges for various purposes, but they should only be allowed if your game(s) make use of those services. See [this](https://support.steampowered.com/kb_article.php?ref=8571-GLVN-8711) Steam Support page for more information. Steam currently supports multiplayer play over IPv4 only, so a Steam server only needs basic IPv6 firewall rules, shown below. {{< /note >}} @@ -112,7 +112,7 @@ Steam currently supports multiplayer play over IPv4 only, so a Steam server only sudo iptables-restore < ~/v4 sudo ip6tables-restore < ~/v6 -1. [Install iptables-persistent](/docs/guides/control-network-traffic-with-iptables/#install-iptables-persistent). If you don't install this software, your firewall rules will not persist through reboots of your Linode. +1. [Install iptables-persistent](/cloud/guides/control-network-traffic-with-iptables/#install-iptables-persistent). If you don't install this software, your firewall rules will not persist through reboots of your Linode. 1. If iptables-persistent was already installed, reconfigure the package so that it recognizes your new rulesets: @@ -332,7 +332,7 @@ To update your SteamCMD server, follow these steps: To exit the screen session which contains the Steam process *without* disrupting the Steam process, enter **Control+A** followed by **Control+D** on your keyboard. You can later return to the screen session by entering: `screen -r` -For more information on managing your screen sessions, review our [Using GNU Screen to Manage Persistent Terminal Sessions](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) guide. +For more information on managing your screen sessions, review our [Using GNU Screen to Manage Persistent Terminal Sessions](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) guide. ### Stop SteamCMD @@ -351,10 +351,10 @@ You may encounter an error when installing or using SteamCMD. Some of these erro LinuxGSM Total: 68M Serverfiles: 40K - If you are trying to install a game that's larger than the `Available` disk space, you are going to see this error. Review your disk usage by running `df -h` and examine your [Linode's disk and storage](/docs/products/compute/compute-instances/guides/disks-and-storage/) through the Cloud Manager. To overcome this error, you'll need to either remove files on your disk, [resize your disk](/docs/products/compute/compute-instances/guides/disks-and-storage/), or [resize your Linode](/docs/products/compute/compute-instances/guides/resize/) to a larger plan. + If you are trying to install a game that's larger than the `Available` disk space, you are going to see this error. Review your disk usage by running `df -h` and examine your [Linode's disk and storage](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) through the Cloud Manager. To overcome this error, you'll need to either remove files on your disk, [resize your disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance), or [resize your Linode](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) to a larger plan. - `ERROR! Failed to install app X (No subscription)` - This error code means that no authorized accounts on your SteamCMD owns the game. Verify the account on which you purchased the game and make sure that you are logged in using that account. - `Error! State is 0x402 after update job` - Error code `0x402` could mean that either the update servers are down or you have an internet connectivity issue. Verify that your Linode has network connectivity by following the [Troubleshooting Basic Connection Issues -](/docs/guides/troubleshooting-basic-connection-issues/) guide. +](/cloud/guides/troubleshooting-basic-connection-issues/) guide. - `Error! State is 0x602 after update job` - This code `0x602` implies a network error. When this error shows up, you most probably need to update your system and your network is preventing your SteamCMD from updating. - `Error! App '237410' state is 0x10502 after update job` - The code `0x10502` points to your application’s AppState, stored in the app manifest of your installed steam app. Under this code, take a look at the `StateReconfiguring`, `StateUpdateStarted`, `StateUpdateRunningStarted` and `StateUpdateRequired` codes. These status codes point towards a file download in process or a downloaded file is in the process of being installed. Based on what the issue is you can take the next step to resolve it. @@ -362,4 +362,4 @@ You may encounter an error when installing or using SteamCMD. Some of these erro You're ready to install your first Steam game server. From here, certain games may need a few more i386 libraries or firewall rules, and most will need their configuration settings to be modified. The game server should allow easy administrative access with as little interruption to players as possible. Its software should frequently be updated, and players' progress should be saved when the server is properly shut down. -Our [game server guides](/docs/applications/game-servers/) cover these requirements for specific games and contain various Steam tutorials which will pick you up exactly where this page leaves off. +Our [game server guides](/cloud/applications/game-servers/) cover these requirements for specific games and contain various Steam tutorials which will pick you up exactly where this page leaves off. diff --git a/docs/guides/game-servers/install-teamspeak/index.md b/docs/guides/game-servers/install-teamspeak/index.md index e579021270c..d932a497981 100644 --- a/docs/guides/game-servers/install-teamspeak/index.md +++ b/docs/guides/game-servers/install-teamspeak/index.md @@ -19,7 +19,7 @@ This guide shows you how to install a TeamSpeak Server on your Linode. TeamSpeak ## Before You Begin -* Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. +* Familiarize yourself with our [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. * Install the [TeamSpeak](http://www.teamspeak.com/) client on your local computer. @@ -177,5 +177,5 @@ If you use a firewall the following ports need to be opened: 9987, 30033, 10011, iptables -A INPUT -p tcp --dport 10011 -j ACCEPT iptables -A INPUT -p tcp --dport 41144 -j ACCEPT {{< note >}} -If you've configured your firewall according to our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, you need to add these exceptions to `/etc/iptables.firewall.rules` to be reboot-persistent. +If you've configured your firewall according to our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, you need to add these exceptions to `/etc/iptables.firewall.rules` to be reboot-persistent. {{< /note >}} diff --git a/docs/guides/game-servers/installing-amp-game-server-management-panel/index.md b/docs/guides/game-servers/installing-amp-game-server-management-panel/index.md index be1c2802e70..e4d4f14f39a 100644 --- a/docs/guides/game-servers/installing-amp-game-server-management-panel/index.md +++ b/docs/guides/game-servers/installing-amp-game-server-management-panel/index.md @@ -24,11 +24,11 @@ AMP is dependent on the [purchase of a separate license through CubeCoder's webs ## 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) Configure a domain to access your management console. For more information on how to do this, see our [DNS Manager Guide](/docs/products/networking/dns-manager/) +1. (Optional) Configure a domain to access your management console. For more information on how to do this, see our [DNS Manager Guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) ## Initial Installation of AMP on the Command Line diff --git a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md index 189532fe26c..1127515d3b1 100644 --- a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md +++ b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-14-04/index.md @@ -29,10 +29,10 @@ deprecated_link: 'game-servers/launch-a-counter-strike-global-offensive-server-o 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Counter Strike: Global Offensive](http://store.steampowered.com/app/730/). A game server token is required to host a public CS:GO server. Without the token, client connections are restricted to the LAN only. -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Counter-Strike: Global Offensive @@ -110,7 +110,7 @@ screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -user {{< /file >}} - When run, the script will change directories to `~/Steam/csgo-ds` and execute a Dust2 server in competitive game mode in a [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). + When run, the script will change directories to `~/Steam/csgo-ds` and execute a Dust2 server in competitive game mode in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). 3. Make the script executable: @@ -166,4 +166,4 @@ These settings are changed in the launch command. ### RCON -When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/docs/guides/team-fortress2-on-debian-and-ubuntu/#rcon). +When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/cloud/guides/team-fortress2-on-debian-and-ubuntu/#rcon). diff --git a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md index ceeedc2837a..c7cc4a5b775 100644 --- a/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md +++ b/docs/guides/game-servers/launch-a-counter-strike-global-offensive-server-on-ubuntu-18-04/index.md @@ -28,23 +28,23 @@ relations: ## Before You Begin -1. [Create a Linode](/docs/products/compute/compute-instances/guides/create/) running Ubuntu 18.04. +1. [Create a Linode](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) running Ubuntu 18.04. 1. Create a [Steam](http://store.steampowered.com) account if you do not have one, and download [Counter Strike: Global Offensive](http://store.steampowered.com/app/730/) to your computer. 1. A Steam game server login token (GSLT) is required to host a public CS:GO server. Without the token, client connections are restricted to the LAN only. [Register your GSLT](https://steamcommunity.com/dev/managegameservers) on Steam's website. Enter `730` as the App ID when creating your GSLT. Review [Steam's documentation](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Registering_Game_Server_Login_Token) for more information about GSLTs. -1. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +1. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Counter-Strike: Global Offensive After following the SteamCMD guide, some firewall modifications are needed specifically for CS:GO: -1. [Stop the SteamCMD process](/docs/guides/install-steamcmd-for-a-steam-game-server/#stop-steamcmd) if it is currently running. +1. [Stop the SteamCMD process](/cloud/guides/install-steamcmd-for-a-steam-game-server/#stop-steamcmd) if it is currently running. 1. Replace a firewall rule to slightly extend the UDP port range available to the game. This command assumes that you have **only** the iptables rules in place from the SteamCMD guide: @@ -56,7 +56,7 @@ After following the SteamCMD guide, some firewall modifications are needed speci ## Install Counter Strike: Global Offense -1. [Run SteamCMD and login to Steam](/docs/guides/install-steamcmd-for-a-steam-game-server/#run-steamcmd) inside a screen session. +1. [Run SteamCMD and login to Steam](/cloud/guides/install-steamcmd-for-a-steam-game-server/#run-steamcmd) inside a screen session. 1. From the SteamCMD prompt, install CS:GO to the `steam` user's home directory: @@ -118,7 +118,7 @@ screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -user | Package manager | `~/.steam/steamcmd/csgo-ds/` | | Manual installation | `~/Steam/csgo-ds/` | - When run, the script will execute a Dust2 server in competitive game mode in a [screen session](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). + When run, the script will execute a Dust2 server in competitive game mode in a [screen session](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/). For more startup modes and game options, see Valve's [CS:GO wiki](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Dedicated_Servers#Starting_the_Server). 1. Make the script executable: @@ -130,7 +130,7 @@ screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -user cd ~ && ./startcsgo.sh -1. Review instructions for [detaching from or stopping SteamCMD](/docs/guides/install-steamcmd-for-a-steam-game-server/#exit-steamcmd) to exit the CS:GO server. +1. Review instructions for [detaching from or stopping SteamCMD](/cloud/guides/install-steamcmd-for-a-steam-game-server/#exit-steamcmd) to exit the CS:GO server. ## Join the Game @@ -160,4 +160,4 @@ These settings are changed in the launch command. ### RCON -When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/docs/guides/team-fortress2-on-debian-and-ubuntu/#rcon). +When logged into the server, you can open the RCON console with the backtick button (`` ` ``), or your mapped key. To log in type `rcon_password` followed by your password. For more information regarding RCON, click [here](/cloud/guides/team-fortress2-on-debian-and-ubuntu/#rcon). diff --git a/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md b/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md index ba9457a88f6..b153fd65439 100644 --- a/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md +++ b/docs/guides/game-servers/left-4-dead-2-multiplayer-server-installation/index.md @@ -25,10 +25,10 @@ You will need the following items to get started: - A [Steam](http://store.steampowered.com) account. - OPTIONAL (needed to test the server): A copy of [Left 4 Dead 2](http://store.steampowered.com/app/550/). - A Linode with at least 2GB of RAM and 10GB of free disk space. -- An up-to-date Linode running Ubuntu or Debian. We suggest you follow our [Getting Started](/docs/products/platform/get-started/) guide for help configuring your Linode. +- An up-to-date Linode running Ubuntu or Debian. We suggest you follow our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for help configuring your Linode. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, reference the [Users and Groups](/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, reference the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Preparing your Linode @@ -63,12 +63,12 @@ sudo apt-get install libcurl4-gnutls-dev:i386 libc6-i386 libgcc1 screen sudo iptables -A INPUT -p udp -m udp --sport 27015 --dport 1025:65355 -j ACCEPT {{< note respectIndent=false >}} -If you've configured your firewall according to our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, be sure to add these port ranges to your `/etc/iptables.firewall.rules` file. +If you've configured your firewall according to our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, be sure to add these port ranges to your `/etc/iptables.firewall.rules` file. {{< /note >}} ## Install SteamCMD and Left 4 Dead 2 {{< note >}} -This guide requires additional libraries which are not included in our standard [SteamCMD Guide](/docs/guides/install-steamcmd-for-a-steam-game-server/). This guide includes standalone configuration instructions for SteamCMD. If you have already followed our SteamCMD installation guide, you can skip to step 4. +This guide requires additional libraries which are not included in our standard [SteamCMD Guide](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This guide includes standalone configuration instructions for SteamCMD. If you have already followed our SteamCMD installation guide, you can skip to step 4. {{< /note >}} 1. From your user's home folder, download SteamCMD into its own directory: @@ -165,7 +165,7 @@ The `+port 27020` parameter is not required but is recommended so that your serv {{< /note >}} You can change the map to whichever one you prefer. - This script, when run, will execute the L4D2 server in a [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + This script, when run, will execute the L4D2 server in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. 5. Make the script executable: diff --git a/docs/guides/game-servers/minecraft-on-linode-with-ubuntu-12-04/index.md b/docs/guides/game-servers/minecraft-on-linode-with-ubuntu-12-04/index.md index 477beb3409c..6c4cc08373a 100644 --- a/docs/guides/game-servers/minecraft-on-linode-with-ubuntu-12-04/index.md +++ b/docs/guides/game-servers/minecraft-on-linode-with-ubuntu-12-04/index.md @@ -38,7 +38,7 @@ In this section, we'll prepare your Linode for installing the Minecraft server. ### Update Your System -1. Log in to your Linode via [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). +1. Log in to your Linode via [SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). 2. Gain administrator privileges: su @@ -193,7 +193,7 @@ For you and your friends to play Minecraft, you will all need to install the Min 6. Click **Multiplayer**. 7. Click **Add server**. 8. In the **Server Name** field, enter your desired name for your Minecraft server. This is only for your convenience, and will only be visible to you. -9. In the **Server Address** field, enter your [Linode’s IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/), or any domain that resolves to your Linode. +9. In the **Server Address** field, enter your [Linode’s IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance), or any domain that resolves to your Linode. 10. Click **Done** to return to the server list screen. {{< note respectIndent=false >}} @@ -278,7 +278,7 @@ Any time you modify these files while the game is running, you will need to stop - `/world_nether` - `/world_the_end` -The directories `world`, `world_nether`, and `world-the-end` contain the map and player data for those realms in your game. We suggest [backing up](/docs/products/storage/backups/) these directories on a regular basis so that you can revert to previous versions in case of catastrophe or [griefing](http://minecraft.wiki/w/Griefing). These directories may be in different locations, depending on which version of the Minecraft server you installed. Note that the directories for the *nether* and *the end* will not be created until a player goes to this area on the server. +The directories `world`, `world_nether`, and `world-the-end` contain the map and player data for those realms in your game. We suggest [backing up](https://techdocs.akamai.com/cloud-computing/docs/backup-service) these directories on a regular basis so that you can revert to previous versions in case of catastrophe or [griefing](http://minecraft.wiki/w/Griefing). These directories may be in different locations, depending on which version of the Minecraft server you installed. Note that the directories for the *nether* and *the end* will not be created until a player goes to this area on the server. ## More Information diff --git a/docs/guides/game-servers/minecraft-with-bungee-cord/index.md b/docs/guides/game-servers/minecraft-with-bungee-cord/index.md index de0ac922d29..c68aff71032 100644 --- a/docs/guides/game-servers/minecraft-with-bungee-cord/index.md +++ b/docs/guides/game-servers/minecraft-with-bungee-cord/index.md @@ -19,10 +19,10 @@ aliases: ['/applications/game-servers/minecraft-with-bungee-cord/','/game-server dedicated_cpu_link: true --- -After you’ve got a Minecraft server up and running with [Spigot on Debian and Ubuntu](/docs/guides/minecraft-with-spigot-ubuntu/), you may want to connect different servers with different collections of plugins. BungeeCord acts as a proxy between the Minecraft client and the server, and allows simple and easy switching between the Spigot servers. It allows for players to connect to one address, yet also access a wider variety of activities than a single Minecraft server instance. +After you’ve got a Minecraft server up and running with [Spigot on Debian and Ubuntu](/cloud/guides/minecraft-with-spigot-ubuntu/), you may want to connect different servers with different collections of plugins. BungeeCord acts as a proxy between the Minecraft client and the server, and allows simple and easy switching between the Spigot servers. It allows for players to connect to one address, yet also access a wider variety of activities than a single Minecraft server instance. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check the [Users and Groups](/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 check the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Setting Up Your Linode @@ -91,7 +91,7 @@ If you're running other Spigot servers on the same Linode, then you need to run sudo iptables -A INPUT -j DROP {{< note respectIndent=false >}} -If you've configured your `iptables` firewall by following the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) tutorial, then you need to append the exceptions in steps 1, 2 and 3 to `/etc/iptables.firewall.rules` to ensure that they're persistent between reboots. +If you've configured your `iptables` firewall by following the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) tutorial, then you need to append the exceptions in steps 1, 2 and 3 to `/etc/iptables.firewall.rules` to ensure that they're persistent between reboots. {{< /note >}} ## Installing BungeeCord diff --git a/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md b/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md index 9c75211356f..405b49d91ea 100644 --- a/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md +++ b/docs/guides/game-servers/minecraft-with-mcmyadmin-on-debian/index.md @@ -21,9 +21,9 @@ 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. 1. [Mono](http://www.mono-project.com/) is an open source implementation of the .NET framework. CubeCoders Limited, the company behind McMyAdmin, packages its own minimal installation of Mono with some necessary source and configuration files. This must be used instead of the generic Mono packages from Debian's repositories. @@ -109,7 +109,7 @@ COMMIT sudo iptables -L -nv sudo ip6tables -L -nv -4. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/docs/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent). +4. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/cloud/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent). ## Install Prerequisite Software diff --git a/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md b/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md index f1edea8a47d..ec69e1039a3 100644 --- a/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md +++ b/docs/guides/game-servers/minecraft-with-spigot-ubuntu/index.md @@ -40,7 +40,7 @@ If your Linode is running Ubuntu 14.10 or higher, you can choose to install `ope OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1) OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode) -1. If you're running an IP tables firewall (as shown in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide), add an exception to your `iptables` rules: +1. If you're running an IP tables firewall (as shown in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide), add an exception to your `iptables` rules: sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT @@ -121,7 +121,7 @@ eula=true su -l minecraft -c "screen -dmS minecraft /home/minecraft/server/wrapper.sh" {{< /file >}} - This line will, at reboot, create a new [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session as the Minecraft user, and launch SpigotMC in it. + This line will, at reboot, create a new [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session as the Minecraft user, and launch SpigotMC in it. 1. Manually start Spigot: @@ -129,7 +129,7 @@ su -l minecraft -c "screen -dmS minecraft /home/minecraft/server/wrapper.sh" To access the console, type `screen -r` as your **minecraft** user (note if you `su` to the user, you will need to run `script /dev/null` before you can attach to the Screen session). - You can now follow the [Connecting to your Minecraft Server](/docs/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian/#connect-to-your-minecraft-server) steps from our vanilla Minecraft guide to log in to your new SpigotMC server. + You can now follow the [Connecting to your Minecraft Server](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian/#connect-to-your-minecraft-server) steps from our vanilla Minecraft guide to log in to your new SpigotMC server. To run admin commands during the game, first run `op username` from the console, replacing `username` with your in-game username. Have fun playing on your new Minecraft server! diff --git a/docs/guides/game-servers/multicraft-on-debian/index.md b/docs/guides/game-servers/multicraft-on-debian/index.md index 77696431049..b12a9ea75fd 100644 --- a/docs/guides/game-servers/multicraft-on-debian/index.md +++ b/docs/guides/game-servers/multicraft-on-debian/index.md @@ -24,7 +24,7 @@ deprecated: true [Multicraft](http://www.multicraft.org/) is a control panel for single or multiple Minecraft servers Free and paid versions are available. This guide will help you install Multicraft on a Linode running Debian 7. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/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 @@ -52,7 +52,7 @@ Multicraft for Linux depends on several software packages in order to run. {{< /file >}} {{< note respectIndent=false >}} -If you want a dedicated Apache virtual host for Multicraft, follow the instructions [here](/docs/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server). Be sure to configure the `AllowOverride` option on your custom virtual host. +If you want a dedicated Apache virtual host for Multicraft, follow the instructions [here](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server). Be sure to configure the `AllowOverride` option on your custom virtual host. {{< /note >}} 4. Reload the Apache configuration: diff --git a/docs/guides/game-servers/multicraft-on-ubuntu/index.md b/docs/guides/game-servers/multicraft-on-ubuntu/index.md index 16682bb49ec..564d0a3a3ea 100644 --- a/docs/guides/game-servers/multicraft-on-ubuntu/index.md +++ b/docs/guides/game-servers/multicraft-on-ubuntu/index.md @@ -25,7 +25,7 @@ relations: [Multicraft](http://www.multicraft.org/) is a control panel for single or multiple Minecraft servers, with free and paid versions available. This guide provides information to install Multicraft on a Linode running Ubuntu 20.04 LTS. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +The steps required in this guide require root privileges. Be sure to run the steps as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Prerequisites @@ -174,4 +174,4 @@ Version 1.17 (minecraft_server.1.17.jar) is downloaded. ![Multicraft Server Settings.](multicraft-server-settings-1804.png) - You can now successfully start and manage your Minecraft server through Multicraft! For more information, see the [Connect to your Minecraft Server](/docs/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian/#connect-to-your-minecraft-server) section on the [How to Set Up a Minecraft Server on Ubuntu or Debian](/docs/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian) guide. + You can now successfully start and manage your Minecraft server through Multicraft! For more information, see the [Connect to your Minecraft Server](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian/#connect-to-your-minecraft-server) section on the [How to Set Up a Minecraft Server on Ubuntu or Debian](/cloud/guides/how-to-set-up-minecraft-server-on-ubuntu-or-debian) guide. diff --git a/docs/guides/game-servers/pocketmine-server-on-debian-7/index.md b/docs/guides/game-servers/pocketmine-server-on-debian-7/index.md index 617ee74c4d6..35356764a91 100644 --- a/docs/guides/game-servers/pocketmine-server-on-debian-7/index.md +++ b/docs/guides/game-servers/pocketmine-server-on-debian-7/index.md @@ -25,7 +25,7 @@ Minecraft - Pocket Edition is non-free software that you will need to purchase i ## Prerequisites -1. Your Linode should already be configured per our [Getting Started](/docs/products/platform/get-started/) guide, and secured per our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Your Linode should already be configured per our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and secured per our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. 2. Ensure that your Linode is up to date: @@ -40,7 +40,7 @@ Minecraft - Pocket Edition is non-free software that you will need to purchase i sudo adduser pocketmine {{< note respectIndent=false >}} -If you've followed the steps in our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, you will need to add your public key to `/home/pocketmine/.ssh/authorized_keys` in order to log in as this user later in the guide. You will also need to add an iptables exception for port `19132` +If you've followed the steps in our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, you will need to add your public key to `/home/pocketmine/.ssh/authorized_keys` in order to log in as this user later in the guide. You will also need to add an iptables exception for port `19132` {{< /note >}} ## Installation diff --git a/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md b/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md index 00d3e7211bb..1f50848c927 100644 --- a/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md +++ b/docs/guides/game-servers/popular-linux-games-overview-and-configuration-tips/index.md @@ -79,6 +79,6 @@ There are a plethora of big games that are not natively available on Linux. In s ### How Do I Find Linux Games on Steam? -The biggest gaming client, [Steam](/docs/guides/install-steamcmd-for-a-steam-game-server/), lets you find, buy, and run Linux games easily. Open Steam, go to the [Store Page](https://store.steampowered.com/), click on **Categories**, and then click **SteamOS + Linux**. +The biggest gaming client, [Steam](/cloud/guides/install-steamcmd-for-a-steam-game-server/), lets you find, buy, and run Linux games easily. Open Steam, go to the [Store Page](https://store.steampowered.com/), click on **Categories**, and then click **SteamOS + Linux**. This brings you to the storefront for Linux games. Scroll down to the **New and Trending**, **Top Sellers**, and **Upcoming** tabs to find the available games. diff --git a/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md b/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md index 2b1251cd7f6..98517fac2bb 100644 --- a/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md +++ b/docs/guides/game-servers/team-fortress2-on-debian-and-ubuntu/index.md @@ -19,10 +19,10 @@ dedicated_cpu_link: true 1. You will need a [Steam](http://store.steampowered.com) account and a copy of [Team Fortress 2](http://store.steampowered.com/app/440/). -2. Complete our guide: [Install SteamCMD for a Steam Game Server](/docs/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. +2. Complete our guide: [Install SteamCMD for a Steam Game Server](/cloud/guides/install-steamcmd-for-a-steam-game-server/). This will get SteamCMD installed and running on your Linode and this guide will pick up where the SteamCMD page leaves off. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 for Team Fortress 2 @@ -103,7 +103,7 @@ The `motd_default.txt` file can contain HTML and is displayed as a website upon ### Server.cfg -The file `~/Steam/tf2/tf/cfg/server.cfg` is what contains all of the settings you need to customize the loadout of your game. A `server.cfg` file is not needed to run the game but we have a sample config file [here](/docs/assets/team_fortress_2_server_config.cfg) which you can edit for your own use. +The file `~/Steam/tf2/tf/cfg/server.cfg` is what contains all of the settings you need to customize the loadout of your game. A `server.cfg` file is not needed to run the game but we have a sample config file [here](/cloud/assets/team_fortress_2_server_config.cfg) which you can edit for your own use. {{< note >}} For the configuration of this file, `0` means *off* and `1` means *on*. @@ -122,7 +122,7 @@ screen -S "Team Fortress 2 Server" ./srcds_run -game tf +map ctf_2fort.bsp {{< /file >}} - When run, the script will change directories to `~/Steam/tf2` and execute TF2 in a [Screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. + When run, the script will change directories to `~/Steam/tf2` and execute TF2 in a [Screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. Optionally, replace `cft_2fort.bsp` with the name of your chosen map’s file, or replace `+map ctf_2fort.bsp` with `+randommap` for a randomized map selection. diff --git a/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md b/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md index c78f29119f5..713d1c37b52 100644 --- a/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md +++ b/docs/guides/kubernetes/_shortguides/k8s-alpha-deprecation-shortguide/index.md @@ -13,12 +13,12 @@ aliases: ['/kubernetes-shortguide-definitions/k8s-alpha-deprecation-shortguide/' --- {{< note type="alert" >}} -The [k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters using the k8s-alpha CLI plugin. +The [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters using the k8s-alpha CLI plugin. -However, you will still be able to [create and manage these clusters using Terraform](/docs/guides/how-to-migrate-from-k8s-alpha-to-terraform/). The [Terraform module](https://github.com/linode/terraform-linode-k8s) used is a public project officially supported by Linode, and is currently used to power the k8s-alpha CLI. +However, you will still be able to [create and manage these clusters using Terraform](/cloud/guides/how-to-migrate-from-k8s-alpha-to-terraform/). The [Terraform module](https://github.com/linode/terraform-linode-k8s) used is a public project officially supported by Linode, and is currently used to power the k8s-alpha CLI. Other alternatives for creating and managing clusters include: -- The [Linode Kubernetes Engine (LKE)](/docs/kubernetes/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/), which creates clusters managed by Linode. -- [Rancher](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/), which provides a graphical user interface for managing clusters. +- The [Linode Kubernetes Engine (LKE)](/cloud/kubernetes/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/), which creates clusters managed by Linode. +- [Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/), which provides a graphical user interface for managing clusters. {{< /note >}} diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md index 48a63f22ba6..ea938dc30ba 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/index.md @@ -19,7 +19,7 @@ aliases: ['/applications/containers/kubernetes/beginners-guide-to-kubernetes-par {{< youtube 87FJQPorviM >}} {{< note >}} -This is the first guide in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the first guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. {{< /note >}} *Kubernetes*, often referred to as *k8s*, is an open source container orchestration system that helps deploy and manage containerized applications. Developed by Google starting in 2014 and written in the [Go](http://golang.org) language, Kubernetes is quickly becoming the standard way to architect horizontally-scalable applications. @@ -34,7 +34,7 @@ In practice, the default container runtime for Kubernetes is [Docker](https://ww - **Containers** are similar to virtual machines. They are light-weight isolated runtimes that share resources of the operating system without having to run a full operating system themselves. Containers consume few resources but contain a complete set of information needed to execute their contained application images such as files, environment variables, and libraries. - - **Containerization** is a virtualization method to run distributed applications in containers using microservices. Containerizing an application requires a base image that can be used to create an instance of a container. Once an application’s image exists, you can push it to a centralized container registry that Kubernetes can use to deploy container instances in a cluster’s *pods*, which you will learn more about in [Beginner's Guide to Kubernetes: Objects](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#pods). + - **Containerization** is a virtualization method to run distributed applications in containers using microservices. Containerizing an application requires a base image that can be used to create an instance of a container. Once an application’s image exists, you can push it to a centralized container registry that Kubernetes can use to deploy container instances in a cluster’s *pods*, which you will learn more about in [Beginner's Guide to Kubernetes: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods). - **Orchestration** is the automated configuration, coordination, and management of computer systems, software, middleware, and services. It takes advantage of automated tasks to execute processes. For Kubernetes, container orchestration automates all the provisioning, deployment, and availability of containers; load balancing; resource allocation between containers; and health monitoring of the cluster. @@ -52,14 +52,14 @@ For more information on the types of commands and resources you can use with kub ## Next Steps -To continue in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series, visit part 2: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 2: - - [Beginner's Guide to Kubernetes, Part 1: Introduction](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/) (You Are Here) + - [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) (You Are Here) - - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/docs/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) + - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) - - [Beginner's Guide to Kubernetes, Part 3: Objects](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/) + - [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) - - [Beginner's Guide to Kubernetes, Part 4: Controllers](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/) + - [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) - - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/docs/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file + - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md index 3522d69881c..24d8df1e084 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/index.md @@ -18,7 +18,7 @@ tags: ["kubernetes"] ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the second guide in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the second guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. {{< /note >}} At the highest level of Kubernetes, there exist two kinds of servers, a *Master* and a *Node*. These servers can be Linodes, VMs, or physical servers. Together, these servers form a *cluster* and are controlled by the services that make up the *Control Plane*. @@ -33,28 +33,28 @@ The Kubernetes Master is normally a separate server responsible for maintaining Kubernetes Nodes are worker servers that run your application(s). The number of Nodes is determined by the user, and they are created by the user. In addition to running your application, each Node runs two processes: -- **kubelet** receives descriptions of the desired state of a [Pod](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) from the API server, and ensures the Pod is healthy, and running on the Node. -- **kube-proxy** is a networking proxy that proxies the UDP, TCP, and SCTP networking of each Node, and provides load balancing. This is only used to connect to [Services](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#services). +- **kubelet** receives descriptions of the desired state of a [Pod](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) from the API server, and ensures the Pod is healthy, and running on the Node. +- **kube-proxy** is a networking proxy that proxies the UDP, TCP, and SCTP networking of each Node, and provides load balancing. This is only used to connect to [Services](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#services). ## The Control Plane Together, kube-apiserver, kube-controller-manager, kube-scheduler, and etcd form what is known as the *control plane*. The control plane is responsible for making decisions about the cluster, and pushing it toward the desired state. kube-apiserver, kube-controller-manager, and kube-scheduler are processes and etcd is a database; all four are run by the Kubernetes Master. - **kube-apiserver** is the front end for the Kubernetes API server. - - **kube-controller-manager** is a daemon that manages the Kubernetes control loop. For more on Controllers, see the [Beginner's Guide to Kubernetes: Controllers](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/). + - **kube-controller-manager** is a daemon that manages the Kubernetes control loop. For more on Controllers, see the [Beginner's Guide to Kubernetes: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/). - **kube-scheduler** is a function that looks for newly created Pods that have no Nodes, and assigns them a Node based on a host of requirements. For more information on kube-scheduler, consult the [Kubernetes kube-scheduler documentation](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/). - **Etcd** is a highly available key-value store that provides the backend database for Kubernetes. It stores and replicates the entirety of the Kubernetes cluster state. It's written in Go and uses the [Raft protocol](https://raft.github.io/) which means it maintains identical logs of state changing commands across nodes and coordinates the order in which these state changes occur. ## Next Steps -To continue in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series, visit part 3: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 3: - - [Beginner's Guide to Kubernetes, Part 1: Introduction](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/) + - [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) - - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/docs/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) (You Are Here) + - [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) (You Are Here) - - [Beginner's Guide to Kubernetes, Part 3: Objects](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/) + - [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) - - [Beginner's Guide to Kubernetes, Part 4: Controllers](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/) + - [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) - - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/docs/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file + - [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md index 958e6ecd487..a8a1cbffc15 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-3-objects/index.md @@ -18,7 +18,7 @@ aliases: ['/applications/containers/kubernetes/beginners-guide-to-kubernetes-par ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the third guide in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the third guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. {{< /note >}} In Kubernetes, there are a number of objects that are abstractions of your Kubernetes system's desired state. These objects represent your application, its networking, and disk resources -- all of which together form your application. @@ -57,7 +57,7 @@ Each manifest has four necessary parts: - Metadata about the resource - Though not required by all objects, a spec which describes the desired behavior of the resource is necessary for most objects and controllers. -In the case of this example, the API in use is `v1`, and the `kind` is a Pod. The metadata field is used for applying a name, labels, and annotations. Names are used to differentiate resources, while labels are used to group like resources. Labels will come into play more when defining [Services](#services) and [Deployments](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments). Annotations are for attaching arbitrary data to the resource. +In the case of this example, the API in use is `v1`, and the `kind` is a Pod. The metadata field is used for applying a name, labels, and annotations. Names are used to differentiate resources, while labels are used to group like resources. Labels will come into play more when defining [Services](#services) and [Deployments](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments). Annotations are for attaching arbitrary data to the resource. The spec is where the desired state of the resource is defined. In this case, a Pod with a single Apache container is desired, so the `containers` field is supplied with a name, 'apache-container', and an image, the latest version of Apache. The image is pulled from [Docker Hub](https://hub.docker.com), as that is the default container registry for Kubernetes. @@ -275,14 +275,14 @@ For more information on Namespaces, visit the [Kubernetes Namespaces API documen ## Next Steps -To continue in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series, visit part 4: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 4: -- [Beginner's Guide to Kubernetes, Part 1: Introduction](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/) +- [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) -- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/docs/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) +- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) -- [Beginner's Guide to Kubernetes, Part 3: Objects](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/) (You Are Here) +- [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) (You Are Here) -- [Beginner's Guide to Kubernetes, Part 4: Controllers](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/) +- [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) -- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/docs/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file +- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md index ef322cd1b88..0aec583f902 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/index.md @@ -18,7 +18,7 @@ aliases: ['/applications/containers/kubernetes/beginners-guide-to-kubernetes-par ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the fourth guide in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the fourth guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. {{< /note >}} A Controller is a control loop that continuously watches the Kubernetes API and tries to manage the desired state of certain aspects of the cluster. There are a number of controllers. Below is a short reference of the most popular controllers you might interact with. @@ -263,14 +263,14 @@ kubectl delete job hello-world There are other controllers not listed in this guide that you may find useful. Visit the [official Kubernetes documentation](https://kubernetes.io/docs/concepts/#kubernetes-objects) for more information. -To continue in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series, visit part 5: +To continue in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series, visit part 5: -- [Beginner's Guide to Kubernetes, Part 1: Introduction](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/) +- [Beginner's Guide to Kubernetes, Part 1: Introduction](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/) -- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/docs/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) +- [Beginner's Guide to Kubernetes, Part 2: Master, Nodes, and the Control Plane](/cloud/guides/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) -- [Beginner's Guide to Kubernetes, Part 3: Objects](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/) +- [Beginner's Guide to Kubernetes, Part 3: Objects](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/) -- [Beginner's Guide to Kubernetes, Part 4: Controllers](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/) (You Are Here) +- [Beginner's Guide to Kubernetes, Part 4: Controllers](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/) (You Are Here) -- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/docs/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file +- [Beginner's Guide to Kubernetes, Part 5: Conclusion](/cloud/guides/beginners-guide-to-kubernetes-part-5-conclusion/) \ No newline at end of file diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md index fced38ef389..e7d28feb6d0 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/index.md @@ -18,7 +18,7 @@ aliases: ['/applications/containers/kubernetes/beginners-guide-to-kubernetes-par ![A Beginner's Guide to Kubernetes](beginners-guide-to-kubernetes.png) {{< note >}} -This is the fifth guide in the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. +This is the fifth guide in the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series that explains the major parts and concepts of Kubernetes. {{< /note >}} In this guide you will learn about [networking](#networking) in Kubernetes and about [advanced Kubernetes topics](#advanced-topics). @@ -53,10 +53,10 @@ There are a number of advanced topics in Kubernetes. Below are a few you might f ## Next Steps -Now that you are familiar with Kubernetes concepts and components, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/) guide. This guide provides a hands-on activity to continue learning about Kubernetes. +Now that you are familiar with Kubernetes concepts and components, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) guide. This guide provides a hands-on activity to continue learning about Kubernetes. If you would like to deploy a Kubernetes cluster on Linode for production use, we recommend using one of the following methods instead. These methods are also a much faster way to get a cluster running, and they will also integrate your cluster with some useful Linode plugins: - - [How to Deploy Kubernetes on Linode with Rancher](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) + - [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) - [Use the Linode Terraform Provider](https://www.terraform.io/docs/providers/linode/index.html) - - [Try the Linode Kubernetes Engine](/docs/products/compute/kubernetes/) + - [Try the Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) diff --git a/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md b/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md index d09cc2d96a6..996b9bfe828 100644 --- a/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md +++ b/docs/guides/kubernetes/beginners-guide-to-kubernetes/index.md @@ -21,12 +21,12 @@ external_resources: This guide is the parent to the five-part series of Beginner's Guides to Kubernetes: - - [A Beginner's Guide to Kubernetes (Part 1): Introduction](/docs/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/) + - [A Beginner's Guide to Kubernetes (Part 1): Introduction](/cloud/kubernetes/beginners-guide-to-kubernetes-part-1-introduction/) - - [A Beginner's Guide to Kubernetes (Part 2): Master, Nodes, and the Control Plane](/docs/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) + - [A Beginner's Guide to Kubernetes (Part 2): Master, Nodes, and the Control Plane](/cloud/kubernetes/beginners-guide-to-kubernetes-part-2-master-nodes-control-plane/) - - [A Beginner's Guide to Kubernetes (Part 3): Pods, Services, and Namespaces](/docs/kubernetes/beginners-guide-to-kubernetes-part-3-objects/) + - [A Beginner's Guide to Kubernetes (Part 3): Pods, Services, and Namespaces](/cloud/kubernetes/beginners-guide-to-kubernetes-part-3-objects/) - - [A Beginner's Guide to Kubernetes (Part 4): Controllers](/docs/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/) + - [A Beginner's Guide to Kubernetes (Part 4): Controllers](/cloud/kubernetes/beginners-guide-to-kubernetes-part-4-controllers/) - - [A Beginner's Guide to Kubernetes (Part 5): Conclusion](/docs/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/) + - [A Beginner's Guide to Kubernetes (Part 5): Conclusion](/cloud/kubernetes/beginners-guide-to-kubernetes-part-5-conclusion/) diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md index 9db974cb1d2..86e8ee946b2 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-1/index.md @@ -24,8 +24,8 @@ The goal of this series is to set up a continuous deployment pipeline for a Kube ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Next section:** [Part 2: Sample Application](/docs/guides/build-a-cd-pipeline-with-lke-part-2/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Next section:** [Part 2: Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md index 23b05d188b5..dbdc845635e 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-10/index.md @@ -28,9 +28,9 @@ Now that there is an application running on our Kubernetes cluster, the next ste ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 9: Installing Traefik](/docs/guides/build-a-cd-pipeline-with-lke-part-9/) -- **Next section:** [Part 11: Prometheus and Grafana](/docs/guides/build-a-cd-pipeline-with-lke-part-11/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9/) +- **Next section:** [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md index 707b959d6c9..a3744376396 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-11/index.md @@ -24,9 +24,9 @@ Going beyond metrics-server, this guide goes over collecting more advanced metri ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 10: Installing metrics-server](/docs/guides/build-a-cd-pipeline-with-lke-part-10/) -- **Next section:** [Part 12: cert-manager](/docs/guides/build-a-cd-pipeline-with-lke-part-12/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10/) +- **Next section:** [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md index 0e90ae08d12..7aff28829db 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-12/index.md @@ -24,9 +24,9 @@ The cert-manager tool can be used to manage SSL/TLS certificates for application ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 11: Prometheus and Grafana](/docs/guides/build-a-cd-pipeline-with-lke-part-11/) -- **Next section:** [Part 13: CI/CD with GitLab](/docs/guides/build-a-cd-pipeline-with-lke-part-13/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11/) +- **Next section:** [Part 13: CI/CD with GitLab](/cloud/guides/build-a-cd-pipeline-with-lke-part-13/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md index c219d8658a0..603c40a09ca 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-13/index.md @@ -24,8 +24,8 @@ To complete this series, we'll now build a continuous deployment pipeline using ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 12: cert-manager](/docs/guides/build-a-cd-pipeline-with-lke-part-12/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md index a0e0b24e411..3b03f0ea718 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-2/index.md @@ -24,9 +24,9 @@ The sample application that we'll be running on Kubernetes is called DockerCoins ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 1: Get Ready](/docs/guides/build-a-cd-pipeline-with-lke-part-1/) -- **Next section:** [Part 3: Deploying the LKE Cluster](/docs/guides/build-a-cd-pipeline-with-lke-part-3/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 1: Get Ready](/cloud/guides/build-a-cd-pipeline-with-lke-part-1/) +- **Next section:** [Part 3: Deploying the LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md index 270e9d569bc..97fc1605dd9 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-3/index.md @@ -24,9 +24,9 @@ Managed Kubernetes clusters are much easier to setup and maintain than self-mana ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 2: Sample Application](/docs/guides/build-a-cd-pipeline-with-lke-part-2/) -- **Next section:** [Part 4: Kubernetes Review](/docs/guides/build-a-cd-pipeline-with-lke-part-4/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 2: Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2/) +- **Next section:** [Part 4: Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md index feb27939d7a..2cb84ef5a20 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-4/index.md @@ -24,9 +24,9 @@ This is an optional part of the series that provides an introduction to Kubernet ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 3: Deploying the LKE Cluster](/docs/guides/build-a-cd-pipeline-with-lke-part-3/) -- **Next section:** [Part 5: Accessing Internal Services](/docs/guides/build-a-cd-pipeline-with-lke-part-5/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 3: Deploying the LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3/) +- **Next section:** [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md index a207bd02364..6a0a38c7e66 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-5/index.md @@ -24,9 +24,9 @@ It's often necessary to access internal services within the Kubernetes cluster w ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 4: Kubernetes Review](/docs/guides/build-a-cd-pipeline-with-lke-part-4/) -- **Next section:** [Part 6: DNS, Ingress, and Metrics](/docs/guides/build-a-cd-pipeline-with-lke-part-6/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 4: Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4/) +- **Next section:** [Part 6: DNS, Ingress, and Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md index b8632574883..8a8db26338b 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-6/index.md @@ -24,9 +24,9 @@ The next steps are to access our sample application over a domain (DNS), setup a ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 5: Accessing Internal Services](/docs/guides/build-a-cd-pipeline-with-lke-part-5/) -- **Next section:** [Part 7: Managing Stacks with Helm](/docs/guides/build-a-cd-pipeline-with-lke-part-7/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5/) +- **Next section:** [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md index 8d0a48cb7e3..0254ac7e91e 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-7/index.md @@ -24,9 +24,9 @@ Helm allows us to locate, distribute, and manage software for Kubernetes. This p ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 6: DNS, Ingress, and Metrics](/docs/guides/build-a-cd-pipeline-with-lke-part-6/) -- **Next section:** [Part 8: ExternalDNS](/docs/guides/build-a-cd-pipeline-with-lke-part-8/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 6: DNS, Ingress, and Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6/) +- **Next section:** [Part 8: ExternalDNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md index 0110197ee17..ef491891f63 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-8/index.md @@ -24,9 +24,9 @@ ExternalDNS is a tool that automatically manages external DNS records from withi ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 7: Managing Stacks with Helm](/docs/guides/build-a-cd-pipeline-with-lke-part-7/) -- **Next section:** [Part 9: Installing Traefik](/docs/guides/build-a-cd-pipeline-with-lke-part-9/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7/) +- **Next section:** [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md index 957f4fe7c73..f3ac928041c 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke-part-9/index.md @@ -24,9 +24,9 @@ Traefik is a popular *Ingress Controller* for Kubernetes, which manages external ## Navigate the Series -- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/docs/guides/build-a-cd-pipeline-with-lke/) -- **Previous section:** [Part 8: ExternalDNS](/docs/guides/build-a-cd-pipeline-with-lke-part-8/) -- **Next section:** [Part 10: Installing metrics-server](/docs/guides/build-a-cd-pipeline-with-lke-part-10/) +- **Main guide:** [Building a Continuous Deployment Pipeline Using LKE](/cloud/guides/build-a-cd-pipeline-with-lke/) +- **Previous section:** [Part 8: ExternalDNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8/) +- **Next section:** [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10/) ## Presentation Text diff --git a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md index 0c852b36d02..b3ee48513e6 100644 --- a/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md +++ b/docs/guides/kubernetes/build-a-cd-pipeline-with-lke/index.md @@ -31,19 +31,19 @@ The material is split into 2 modules and 13 sections. Each of these sections has ### Module 1 -- [Part 1: Get Ready](/docs/guides/build-a-cd-pipeline-with-lke-part-1/): The goal of this series is to set up a continuous deployment pipeline for a Kubernetes app on a Kubernetes cluster. This introduction will cover what to expect, the prerequisite knowledge, and the software/components that are required. -- [Part 2: Our Sample Application](/docs/guides/build-a-cd-pipeline-with-lke-part-2/): The sample application that we'll be running on Kubernetes is called DockerCoins (a demo app just for this presentation). This part of the guide will take a look at DockerCoins and examine how it works and how the app can be run locally. -- [Part 3: Deploying our LKE Cluster](/docs/guides/build-a-cd-pipeline-with-lke-part-3/): Managed Kubernetes clusters are much easier to setup and maintain than self-managed Kubernetes clusters. This portion goes over setting up a cluster using the Linode Kubernetes Engine (LKE) through the Cloud Manager and the Linode CLI. -- [Part 4: Quick Kubernetes Review](/docs/guides/build-a-cd-pipeline-with-lke-part-4/): This is an optional part of the series that provides an introduction to Kubernetes. It covers deploying a simple application on Kubernetes and each of the components that are involved (such as pods, controllers, and services). -- [Part 5: Accessing Internal Services](/docs/guides/build-a-cd-pipeline-with-lke-part-5/): It's often necessary to access internal services within the Kubernetes cluster without exposing them to the public internet. This part covers accomplishing that through using both `kubectl proxy` and `kubectl port-forward`. -- [Part 6: DNS, Ingress, Metrics](/docs/guides/build-a-cd-pipeline-with-lke-part-6/): The next steps are to access our sample application over a domain (DNS), setup an Ingress Controller as a load balancer / reverse proxy, and collect metrics on our application. This guide provides an overview of these components, though each of them will be discussed in greater detail within Module 2. +- [Part 1: Get Ready](/cloud/guides/build-a-cd-pipeline-with-lke-part-1/): The goal of this series is to set up a continuous deployment pipeline for a Kubernetes app on a Kubernetes cluster. This introduction will cover what to expect, the prerequisite knowledge, and the software/components that are required. +- [Part 2: Our Sample Application](/cloud/guides/build-a-cd-pipeline-with-lke-part-2/): The sample application that we'll be running on Kubernetes is called DockerCoins (a demo app just for this presentation). This part of the guide will take a look at DockerCoins and examine how it works and how the app can be run locally. +- [Part 3: Deploying our LKE Cluster](/cloud/guides/build-a-cd-pipeline-with-lke-part-3/): Managed Kubernetes clusters are much easier to setup and maintain than self-managed Kubernetes clusters. This portion goes over setting up a cluster using the Linode Kubernetes Engine (LKE) through the Cloud Manager and the Linode CLI. +- [Part 4: Quick Kubernetes Review](/cloud/guides/build-a-cd-pipeline-with-lke-part-4/): This is an optional part of the series that provides an introduction to Kubernetes. It covers deploying a simple application on Kubernetes and each of the components that are involved (such as pods, controllers, and services). +- [Part 5: Accessing Internal Services](/cloud/guides/build-a-cd-pipeline-with-lke-part-5/): It's often necessary to access internal services within the Kubernetes cluster without exposing them to the public internet. This part covers accomplishing that through using both `kubectl proxy` and `kubectl port-forward`. +- [Part 6: DNS, Ingress, Metrics](/cloud/guides/build-a-cd-pipeline-with-lke-part-6/): The next steps are to access our sample application over a domain (DNS), setup an Ingress Controller as a load balancer / reverse proxy, and collect metrics on our application. This guide provides an overview of these components, though each of them will be discussed in greater detail within Module 2. ### Module 2 -- [Part 7: Managing Stacks with Helm](/docs/guides/build-a-cd-pipeline-with-lke-part-7/): Helm allows us to locate, distribute, and manage software for Kubernetes. This part covers what Helm is, how we'll use it, and the differences between Helm 2 and Helm 3. It also discuses Helm Charts and we find, install, and manage them. -- [Part 8: External DNS](/docs/guides/build-a-cd-pipeline-with-lke-part-8/): ExternalDNS is a tool that automatically manages external DNS records from within the Kubernetes cluster. It can integrate with Linode DNS (among other providers). This portion of the series has us installing ExternalDNS using Helm and testing its functionality. -- [Part 9: Installing Traefik](/docs/guides/build-a-cd-pipeline-with-lke-part-9/): Traefik is a popular *Ingress Controller* for Kubernetes, which manages external access to the cluster and provides load balancing functionality. This section discusses installing Traefik, configuring an Ingress within our YAML file, and testing things out. -- [Part 10: Installing metrics-server](/docs/guides/build-a-cd-pipeline-with-lke-part-10/): Now that there is an application running on our Kubernetes cluster, the next step is to collect metrics on the resources being used. This part covers installing and using metrics-server as a basic data collection tool. -- [Part 11: Prometheus and Grafana](/docs/guides/build-a-cd-pipeline-with-lke-part-11/): Going beyond metrics-server, this guide goes over collecting more advanced metrics using Prometheus (to capture the metrics) and Grafana (to display the metrics within a user interface). -- [Part 12: cert-manager](/docs/guides/build-a-cd-pipeline-with-lke-part-12/): The cert-manager tool can be used to manage SSL/TLS certificates for applications within a Kubernetes cluster. This part goes over installing and configuring cert-manager, as well as obtaining your first SSL certificate through Let's Encrypt. -- [Part 13: CI/CD with GitLab](/docs/guides/build-a-cd-pipeline-with-lke-part-13/): To complete this series, we'll now build a continuous deployment pipeline using a self-hosted GitLab instance (running within our Kubernetes cluster). GitLab is a `git` platform and, once its set up, we'll be able to push code changes to both a staging environment and a production environment. \ No newline at end of file +- [Part 7: Managing Stacks with Helm](/cloud/guides/build-a-cd-pipeline-with-lke-part-7/): Helm allows us to locate, distribute, and manage software for Kubernetes. This part covers what Helm is, how we'll use it, and the differences between Helm 2 and Helm 3. It also discuses Helm Charts and we find, install, and manage them. +- [Part 8: External DNS](/cloud/guides/build-a-cd-pipeline-with-lke-part-8/): ExternalDNS is a tool that automatically manages external DNS records from within the Kubernetes cluster. It can integrate with Linode DNS (among other providers). This portion of the series has us installing ExternalDNS using Helm and testing its functionality. +- [Part 9: Installing Traefik](/cloud/guides/build-a-cd-pipeline-with-lke-part-9/): Traefik is a popular *Ingress Controller* for Kubernetes, which manages external access to the cluster and provides load balancing functionality. This section discusses installing Traefik, configuring an Ingress within our YAML file, and testing things out. +- [Part 10: Installing metrics-server](/cloud/guides/build-a-cd-pipeline-with-lke-part-10/): Now that there is an application running on our Kubernetes cluster, the next step is to collect metrics on the resources being used. This part covers installing and using metrics-server as a basic data collection tool. +- [Part 11: Prometheus and Grafana](/cloud/guides/build-a-cd-pipeline-with-lke-part-11/): Going beyond metrics-server, this guide goes over collecting more advanced metrics using Prometheus (to capture the metrics) and Grafana (to display the metrics within a user interface). +- [Part 12: cert-manager](/cloud/guides/build-a-cd-pipeline-with-lke-part-12/): The cert-manager tool can be used to manage SSL/TLS certificates for applications within a Kubernetes cluster. This part goes over installing and configuring cert-manager, as well as obtaining your first SSL certificate through Let's Encrypt. +- [Part 13: CI/CD with GitLab](/cloud/guides/build-a-cd-pipeline-with-lke-part-13/): To complete this series, we'll now build a continuous deployment pipeline using a self-hosted GitLab instance (running within our Kubernetes cluster). GitLab is a `git` platform and, once its set up, we'll be able to push code changes to both a staging environment and a production environment. \ No newline at end of file diff --git a/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md b/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md index 56acabac851..df47e1b5484 100644 --- a/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md +++ b/docs/guides/kubernetes/check-for-configuration-issues-with-popeye/index.md @@ -27,7 +27,7 @@ Popeye can either be installed using the package manager [Homebrew](https://brew #### Ubuntu 20.04 -Before proceeding with installation on **Ubuntu 20.04 LTS**, ensure that all of the following commands are entered as a [limited sudo user](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) with access to a fully configured [LKE](https://www.linode.com/products/kubernetes/) or [Kubernetes](/docs/guides/kubernetes/) cluster with [kubectl](/docs/products/compute/kubernetes/guides/kubectl/) fully installed and using your kubeconfig configuration file. A good way to test this is to ensure that you can see all nodes in your cluster when entering the following command: +Before proceeding with installation on **Ubuntu 20.04 LTS**, ensure that all of the following commands are entered as a [limited sudo user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) with access to a fully configured [LKE](https://www.linode.com/products/kubernetes/) or [Kubernetes](/cloud/guides/kubernetes/) cluster with [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) fully installed and using your kubeconfig configuration file. A good way to test this is to ensure that you can see all nodes in your cluster when entering the following command: ```command kubectl get nodes @@ -90,7 +90,7 @@ The following steps will complete the installation of Popeye on **MacOS**: ### Install Popeye using Linux Binary Tarballs -Before proceeding with the installation of popeye, ensure that [wget](/docs/guides/how-to-use-wget/) is installed on your system. Once installed proceed with the following steps: +Before proceeding with the installation of popeye, ensure that [wget](/cloud/guides/how-to-use-wget/) is installed on your system. Once installed proceed with the following steps: 1. Determine the architecture of your system: diff --git a/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md b/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md index b744ce8a91e..d21d1e17c80 100644 --- a/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md +++ b/docs/guides/kubernetes/controlling-linode-lke-costs-using-kubecost/index.md @@ -90,13 +90,13 @@ A key component of a good monitoring plan is alerting. When configuring alerts, The following components must be in place prior to installing Kubecost: -- An active Kubernetes cluster running Kubernetes version 1.20 or higher. To deploy a cluster using Linode Kubernetes Engine (LKE), see [Linode Kubernetes Engine - Get Started](/docs/products/compute/kubernetes/get-started/). The example below uses a 4 GB plan for each cluster node. +- An active Kubernetes cluster running Kubernetes version 1.20 or higher. To deploy a cluster using Linode Kubernetes Engine (LKE), see [Linode Kubernetes Engine - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine). The example below uses a 4 GB plan for each cluster node. - `kubectl` installed and configured to communicate with your cluster from your local system. -- Your cluster's [kubeconfig file](/docs/products/compute/kubernetes/get-started/#access-and-download-your-kubeconfig) downloaded and saved to your `$KUBECONFIG` environment variable. Replace {{< placeholder "~/Downloads/kubeconfig.yaml" >}} with the path to, and name of, your cluster's kubeconfig .yaml file: +- Your cluster's [kubeconfig file](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine#access-and-download-your-kubeconfig) downloaded and saved to your `$KUBECONFIG` environment variable. Replace {{< placeholder "~/Downloads/kubeconfig.yaml" >}} with the path to, and name of, your cluster's kubeconfig .yaml file: ```command export KUBECONFIG={{< placeholder "~/Downloads/kubeconfig.yaml" >}} ``` -- The [Helm](https://helm.sh/) Kubernetes package manager installed and configured on your local system. See our guide on [Installing Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/). +- The [Helm](https://helm.sh/) Kubernetes package manager installed and configured on your local system. See our guide on [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/). ### Installing Kubecost diff --git a/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md b/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md index d8670d7ca0e..7a83f557006 100644 --- a/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md +++ b/docs/guides/kubernetes/deploy-container-image-to-kubernetes/index.md @@ -38,9 +38,9 @@ This guide was written using version 1.14 of Kubectl. ## Before You Begin 1. Create a Kubernetes cluster with one worker node. This can be done in two ways: - 1. Deploy a Kubernetes cluster using [kubeadm](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/). + 1. Deploy a Kubernetes cluster using [kubeadm](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/). - You will need to deploy two Linodes. One will serve as the master node and the other will serve as a worker node. - 1. Deploy a Kubernetes cluster using [k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/). + 1. Deploy a Kubernetes cluster using [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/). {{% content "k8s-alpha-deprecation-shortguide" %}} @@ -52,7 +52,7 @@ This guide was written using version 1.14 of Kubectl. Development of your Hugo site and Docker image will take place locally on your personal computer. You will need to install Hugo, Docker CE, and Git, a version control software, on your personal computer to get started. -1. Use the [How to Install Git on Linux, Mac or Windows](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide for the steps needed to install Git. +1. Use the [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide for the steps needed to install Git. 1. Install Hugo. [Hugo's official documentation](https://gohugo.io/getting-started/installing/) contains more information on installation methods, like [Installing Hugo from Tarball](https://gohugo.io/getting-started/installing/#install-hugo-from-tarball). Below are installation instructions for common operating systems: @@ -238,7 +238,7 @@ The example Hugo site was initialized as a local Git repository in the previous ``` {{< note >}} - Any time you complete work related to one logical change to the Hugo site, you should make sure you commit the changes to your Git repository. Keeping your commits attached to small changes makes it easier to understand the changes and to roll back to previous commits, if necessary. See the [Getting Started with Git](/docs/guides/how-to-configure-git/) guide for more information. + Any time you complete work related to one logical change to the Hugo site, you should make sure you commit the changes to your Git repository. Keeping your commits attached to small changes makes it easier to understand the changes and to roll back to previous commits, if necessary. See the [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide for more information. {{< /note >}} ## Create a Docker Image @@ -536,15 +536,15 @@ After creating all required manifest files to configure your Hugo site's Kuberne 1. Open a browser window and enter in a worker node's IP address and exposed port. An example url to your Hugo site would be, `http://192.0.2.1:30304`. Your Hugo site should appear. - If desired, you can purchase a domain name and use [Linode's DNS Manager](/docs/products/networking/dns-manager/) to assign a domain name to the cluster's worker node IP address. + If desired, you can purchase a domain name and use [Linode's DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to assign a domain name to the cluster's worker node IP address. ## Tear Down Your Cluster -To avoid being further billed for your Kubernetes cluster, tear down your cluster's Linodes. If you have Linodes that existed for only part a monthly billing cycle, you’ll be billed at the hourly rate for that service. See [Billing and Payments](/docs/products/platform/billing/) to learn more. +To avoid being further billed for your Kubernetes cluster, tear down your cluster's Linodes. If you have Linodes that existed for only part a monthly billing cycle, you’ll be billed at the hourly rate for that service. See [Billing and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) to learn more. - If you created your Kubernetes cluster: - - using kubeadm, follow the [Managing Billing in the Cloud Manager > Removing Services](/docs/products/platform/billing/guides/stop-billing/) guide to remove your cluster's Linodes. + - using kubeadm, follow the [Managing Billing in the Cloud Manager > Removing Services](https://techdocs.akamai.com/cloud-computing/docs/stop-further-billing) guide to remove your cluster's Linodes. - using the k8s-alpha CLI, issue the following command from your computer to delete the cluster: @@ -556,5 +556,5 @@ To avoid being further billed for your Kubernetes cluster, tear down your cluste Now that you are familiar with basic Kubernetes concepts, like configuring pods, grouping resources, and deploying services, you can deploy a Kubernetes cluster on Linode for production use by using the steps in the following guides: -- [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) -- [How to Deploy Kubernetes on Linode with Rancher](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) \ No newline at end of file +- [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) +- [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) \ No newline at end of file diff --git a/docs/guides/kubernetes/deploy-k3s-kubernetes/index.md b/docs/guides/kubernetes/deploy-k3s-kubernetes/index.md index 63611b559fd..a2a3b1a32aa 100644 --- a/docs/guides/kubernetes/deploy-k3s-kubernetes/index.md +++ b/docs/guides/kubernetes/deploy-k3s-kubernetes/index.md @@ -24,13 +24,13 @@ aliases: ['/kubernetes/how-to-deploy-k3s-on-linode/','/guides/how-to-deploy-k3s- ## Before You Begin -1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide. +1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -1. [Create](/docs/products/compute/compute-instances/guides/create/) two Linodes in the same region that are running Ubuntu 18.04. +1. [Create](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) two Linodes in the same region that are running Ubuntu 18.04. -1. Complete the steps for [setting the 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) for both Linodes. When setting hostnames, it may be helpful to identify one Linode as a server and the other as an agent. +1. Complete the steps for [setting the 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) for both Linodes. When setting hostnames, it may be helpful to identify one Linode as a server and the other as an agent. -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) to allow all outgoing traffic and deny all incoming traffic except SSH traffic on both Linodes. +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) to allow all outgoing traffic and deny all incoming traffic except SSH traffic on both Linodes. {{% content "limited-user-note-shortguide" %}} @@ -44,7 +44,7 @@ aliases: ['/kubernetes/how-to-deploy-k3s-on-linode/','/guides/how-to-deploy-k3s- First, you will install the K3s server on a Linode, from which you will manage your K3s cluster. -1. [Connect](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) to the Linode where you want to install the K3s server. +1. [Connect](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) to the Linode where you want to install the K3s server. 1. Open port 6443/tcp on your firewall to make it accessible by other nodes in your cluster: @@ -107,7 +107,7 @@ First, you will install the K3s server on a Linode, from which you will manage y Next you will install the K3s agent on a Linode. -1. [Connect](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) to the Linode where you want to install the K3s agent. +1. [Connect](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) to the Linode where you want to install the K3s agent. 1. Open port 8472/udp on your firewall to enable Flannel VXLAN: diff --git a/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md b/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md index b8bcb36a19f..20a5eeb7f17 100644 --- a/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md +++ b/docs/guides/kubernetes/deploy-kubernetes-cluster-using-kubeadm/index.md @@ -28,9 +28,9 @@ The example instructions in this guide result in the creation of three billable While kubeadm automates several cluster-provisioning tasks, there are other even faster methods for creating a cluster, all of which are great options for production ready deployments: -- The [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/), allows you to spin up a Kubernetes cluster from the [Cloud Manager](/docs/products/compute/kubernetes/) or the [Linode API](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/), and Linode handles the management and maintenance of your control plane. +- The [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/), allows you to spin up a Kubernetes cluster from the [Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) or the [Linode API](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api), and Linode handles the management and maintenance of your control plane. -- If you prefer a full featured GUI, [Linode's Rancher integration](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) enables you to deploy and manage Kubernetes clusters with a simple web interface. +- If you prefer a full featured GUI, [Linode's Rancher integration](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) enables you to deploy and manage Kubernetes clusters with a simple web interface. {{% content "k8s-alpha-deprecation-shortguide" %}} @@ -41,10 +41,10 @@ While kubeadm automates several cluster-provisioning tasks, there are other even - One Linode to use as the control plane with 4GB RAM and 2 CPU cores. - Two Linodes to use as the worker nodes each with 2GB RAM and 1 CPU core. -1. Follow the [Getting Started](/docs/products/platform/get-started/) and the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for instructions on setting up your Linodes. The steps in this guide assume the use of a limited user account with sudo privileges. +1. Follow the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for instructions on setting up your Linodes. The steps in this guide assume the use of a limited user account with sudo privileges. {{< note >}} - When following the [Getting Started](/docs/products/platform/get-started/) guide, make sure that each Linode is using a different hostname. Not following this guideline leaves you unable to join some or all nodes to the cluster in a later step. + When following the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, make sure that each Linode is using a different hostname. Not following this guideline leaves you unable to join some or all nodes to the cluster in a later step. {{< /note >}} 1. Disable swap memory on your Linodes. Kubernetes requires that you disable swap memory on any cluster nodes to prevent the kube-scheduler from assigning a Pod to a node that has run out of CPU/memory or reached its designated CPU/memory limit. @@ -61,7 +61,7 @@ While kubeadm automates several cluster-provisioning tasks, there are other even To learn more about managing compute resources for containers, see the official [Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/). -1. Read the [Beginners Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) to familiarize yourself with the major components and concepts of Kubernetes. The current guide assumes a working knowledge of common Kubernetes concepts and terminology. +1. Read the [Beginners Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) to familiarize yourself with the major components and concepts of Kubernetes. The current guide assumes a working knowledge of common Kubernetes concepts and terminology. ## Build a Kubernetes Cluster @@ -280,7 +280,7 @@ Complete the steps outlined in this section on all three Linodes. After installing the Kubernetes related tooling on all your Linodes, you are ready to set up the Kubernetes control plane. The control plane is responsible for allocating resources to your cluster, maintaining the health of your cluster, and ensuring that it meets the minimum requirements you designate for the cluster. -The primary components of the control plane are the kube-apiserver, kube-controller-manager, kube-scheduler, and etcd. You can easily initialize the Kubernetes control plane with all the necessary components using kubeadm. For more information on each of control plane component see the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/). +The primary components of the control plane are the kube-apiserver, kube-controller-manager, kube-scheduler, and etcd. You can easily initialize the Kubernetes control plane with all the necessary components using kubeadm. For more information on each of control plane component see the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/). In addition to the baseline control plane components, there are several *addons*, that can be installed on the control plane to access additional cluster features. You need to install a networking and network policy provider addon that implements the [Kubernetes' network model](https://kubernetes.io/docs/concepts/cluster-administration/networking/) on the cluster's Pod network. @@ -346,7 +346,7 @@ kubeadm only supports Container Network Interface (CNI) based networks. CNI cons ### Inspect the Control Plane with Kubectl -After completing the previous section, your Kubernetes control plane is ready with all the necessary components to manage a cluster. To gain a better understanding of all the parts that make up the control plane, this section walks you through inspecting your control plane. If you have not yet reviewed the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/), it is helpful to do so prior to continuing with this section as it relies on the understanding of basic Kubernetes concepts. +After completing the previous section, your Kubernetes control plane is ready with all the necessary components to manage a cluster. To gain a better understanding of all the parts that make up the control plane, this section walks you through inspecting your control plane. If you have not yet reviewed the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/), it is helpful to do so prior to continuing with this section as it relies on the understanding of basic Kubernetes concepts. 1. View the current state of all nodes in your cluster. At this stage, the only node you should expect to see is the control plane, since worker nodes have yet to be bootstrapped. A `STATUS` of `Ready` indicates that the control plane contains all necessary components, including the Pod network add-on, to start managing clusters. @@ -361,7 +361,7 @@ After completing the previous section, your Kubernetes control plane is ready wi primary Ready control-plane 1h v1.14.1 ``` -1. Inspect the available [namespaces](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#namespaces) in your cluster. +1. Inspect the available [namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#namespaces) in your cluster. ```command kubectl get namespaces @@ -458,8 +458,8 @@ Follow the steps below on each node you would like to bootstrap to the cluster a ## Next Steps -Now that you have a Kubernetes cluster up and running, you can begin experimenting with the various ways to configure Pods, group resources, and deploy services that are exposed to the public internet. To help you get started with this, move on to follow along with the [Deploy a Static Site on Linode using Kubernetes](/docs/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/) guide. +Now that you have a Kubernetes cluster up and running, you can begin experimenting with the various ways to configure Pods, group resources, and deploy services that are exposed to the public internet. To help you get started with this, move on to follow along with the [Deploy a Static Site on Linode using Kubernetes](/cloud/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/) guide. ## Tear Down Your Cluster -If you are done experimenting with your Kubernetes cluster, be sure to remove the Linodes you have running in order to avoid being further billed for them. See the [Managing Billing in the Cloud Manager > Removing Services](/docs/products/platform/billing/guides/stop-billing/) guide. +If you are done experimenting with your Kubernetes cluster, be sure to remove the Linodes you have running in order to avoid being further billed for them. See the [Managing Billing in the Cloud Manager > Removing Services](https://techdocs.akamai.com/cloud-computing/docs/stop-further-billing) guide. diff --git a/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md b/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md index bf838148413..87ccf0e8cbc 100644 --- a/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md +++ b/docs/guides/kubernetes/deploy-lke-cluster-using-pulumi/index.md @@ -10,8 +10,8 @@ tags: ["linode platform","kubernetes","automation","managed hosting"] license: "[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)" aliases: ['/products/compute/kubernetes/guides/deploy-cluster-using-pulumi/'] external_resources: -- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/)' -- '[Deploying a Static Site on Linode Kubernetes Engine](/docs/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/)' +- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/)' +- '[Deploying a Static Site on Linode Kubernetes Engine](/cloud/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/)' - '[Linode Provider Pulumi Documentation](https://www.pulumi.com/registry/packages/linode/)' --- @@ -23,15 +23,15 @@ This guide walks you through the steps needed to deploy a Kubernetes cluster usi ## Before you Begin -1. Create a personal access token for [Linode's API v4](https://developers.linode.com/api/v4). Follow the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) to get a token. You will need a token to be able to create Linode resources using Pulumi. +1. Create a personal access token for [Linode's API v4](https://developers.linode.com/api/v4). 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. You will need a token to be able to create Linode resources using Pulumi. {{< note >}} Ensure that your token has, at minimum, Read/Write permissions for Compute Instances, Kubernetes, NodeBalancers, and Volumes. {{< /note >}} 1. Download and [install Pulumi](https://www.pulumi.com/docs/install/) on your local machine. 1. Create a free [Pulumi Cloud account](https://app.pulumi.com/signup). -1. Review the [Getting Started With Pulumi](/docs/guides/deploy-in-code-with-pulumi/) guide to familiarize yourself with Pulumi concepts if you have not used the tool before. You need to be familiar with Pulumi and one of the [supported programming languages](https://www.pulumi.com/docs/languages-sdks/). In this guide, TypeScript is used for the code examples. -1. [Install kubectl](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#install-kubectl) on your local machine. +1. Review the [Getting Started With Pulumi](/cloud/guides/deploy-in-code-with-pulumi/) guide to familiarize yourself with Pulumi concepts if you have not used the tool before. You need to be familiar with Pulumi and one of the [supported programming languages](https://www.pulumi.com/docs/languages-sdks/). In this guide, TypeScript is used for the code examples. +1. [Install kubectl](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api#install-kubectl) on your local machine. ## Create your Pulumi Infrastructure Code @@ -301,7 +301,7 @@ Now that your Kubernetes cluster is deployed, you can use kubectl to connect to lke126299-187151-64e4b54376b5 Ready 4m22s v1.26.3 ``` - Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/docs/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/docs/guides/troubleshooting-kubernetes/#kubectl-logs). + Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/cloud/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/cloud/guides/troubleshooting-kubernetes/#kubectl-logs). ## Destroy your Kubernetes Cluster (optional) diff --git a/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md b/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md index 31ea3138df3..da35f4a475f 100644 --- a/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md +++ b/docs/guides/kubernetes/deploy-lke-cluster-using-terraform/index.md @@ -13,7 +13,7 @@ image: deploy-lke-cluster-with-terraform.png external_resources: - '[LKE Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine)' - '[LKE Enterprise Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/lke-enterprise)' -- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/)' +- '[Setting Up a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/)' - '[Linode Provider Terraform Documentation](https://www.terraform.io/docs/providers/linode/index.html)' aliases: ['/kubernetes/how-to-deploy-an-lke-cluster-using-terraform/','/guides/how-to-deploy-an-lke-cluster-using-terraform/','/products/compute/kubernetes/guides/deploy-cluster-using-terraform/'] --- @@ -28,19 +28,19 @@ This guide will walk you through the steps needed to deploy a Kubernetes cluster ## Before you Begin -1. Create a personal access token for [Linode's API v4](https://developers.linode.com/api/v4). Follow the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) to get a token. You will need a token to be able to create Linode resources using Terraform. +1. Create a personal access token for [Linode's API v4](https://developers.linode.com/api/v4). 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. You will need a token to be able to create Linode resources using Terraform. {{< note >}} Ensure that your token has, at minimum, Read/Write permissions for Compute Instances, Kubernetes, NodeBalancers, and Volumes. {{< /note >}} -1. Review the [A Beginner's Guide to Terraform](/docs/guides/beginners-guide-to-terraform/) to familiarize yourself with Terraform concepts if you have not used the tool before. This guide assumes familiarity with Terraform and its native [HCL syntax](https://www.terraform.io/docs/configuration/syntax.html). +1. Review the [A Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) to familiarize yourself with Terraform concepts if you have not used the tool before. This guide assumes familiarity with Terraform and its native [HCL syntax](https://www.terraform.io/docs/configuration/syntax.html). ## Prepare your Local Environment ### Install Terraform -Install Terraform on your computer by following the [Install Terraform](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#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. +Install Terraform on your computer by following the [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide. ### Install kubectl @@ -189,7 +189,7 @@ You are now ready to define the input variables that were referenced in your `ma } ``` - This file describes each variable and provides them with default values. You should review and update the file with your own preferred default values, ensuring that they match currently available [versions of Kubernetes on LKE](/docs/products/compute/kubernetes/release-notes/), as well as [Available Plans](/docs/products/compute/compute-instances/plans/choosing-a-plan/) and [Data Centers](/docs/products/platform/get-started/guides/choose-a-data-center/) + This file describes each variable and provides them with default values. You should review and update the file with your own preferred default values, ensuring that they match currently available [versions of Kubernetes on LKE](https://techdocs.akamai.com/cloud-computing/docs/release-notes-for-lke-linode-kubernetes-engine), as well as [Available Plans](https://techdocs.akamai.com/cloud-computing/docs/how-to-choose-a-compute-instance-plan) and [Data Centers](https://techdocs.akamai.com/cloud-computing/docs/how-to-choose-a-data-center) ### Assign Values to your Input Variables @@ -376,7 +376,7 @@ Now that your Kubernetes cluster is deployed, you can use kubectl to connect to lke4377-5673-5eb331acd6c2 Ready 17h v1.17.0 ``` - Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/docs/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/docs/guides/troubleshooting-kubernetes/#kubectl-logs). + Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/cloud/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/cloud/guides/troubleshooting-kubernetes/#kubectl-logs). ## Destroy your Kubernetes Cluster (optional) diff --git a/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md b/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md index 2ccb4e9caed..47e15e06472 100644 --- a/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md +++ b/docs/guides/kubernetes/deploy-llm-for-ai-inferencing-on-apl/index.md @@ -19,9 +19,9 @@ LLMs (large language models) generate human-like text and perform language-based App Platform also integrates [Istio](https://istio.io/latest/docs/overview/what-is-istio/) and [Knative](https://knative.dev/docs/concepts/), both of which are prerequisites for using KServe. App Platform automates the provisioning process of these applications. -This guide describes the steps required to: install KServe with App Platform, deploy the Meta Llama 3.1 8B model using the Hugging Face runtime server, and deploy a chatbot interface using Open WebUI. Once functional, use our [Deploy a RAG Pipeline and Chatbot with App Platform for LKE](/docs/guides/deploy-rag-pipeline-and-chatbot-on-apl/) guide to add and run a RAG pipeline and deploy an AI Agent that exposes an OpenAI compatible API. +This guide describes the steps required to: install KServe with App Platform, deploy the Meta Llama 3.1 8B model using the Hugging Face runtime server, and deploy a chatbot interface using Open WebUI. Once functional, use our [Deploy a RAG Pipeline and Chatbot with App Platform for LKE](/cloud/guides/deploy-rag-pipeline-and-chatbot-on-apl/) guide to add and run a RAG pipeline and deploy an AI Agent that exposes an OpenAI compatible API. -If you prefer to manually install an LLM and RAG Pipeline on LKE rather than using Akamai App Platform, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/docs/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. +If you prefer to manually install an LLM and RAG Pipeline on LKE rather than using Akamai App Platform, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. ## Diagram @@ -316,7 +316,7 @@ Once the AI user interface is ready, you should be able to access the web UI for ## Next Steps -See our [Deploy a RAG Pipeline and Chatbot with App Platform for LKE](/docs/guides/deploy-rag-pipeline-and-chatbot-on-apl) guide to expand on the architecture built in this guide. This tutorial deploys a RAG (Retrieval-Augmented Generation) pipeline that indexes a custom data set and attaches relevant data as context when users send the LLM queries. +See our [Deploy a RAG Pipeline and Chatbot with App Platform for LKE](/cloud/guides/deploy-rag-pipeline-and-chatbot-on-apl) guide to expand on the architecture built in this guide. This tutorial deploys a RAG (Retrieval-Augmented Generation) pipeline that indexes a custom data set and attaches relevant data as context when users send the LLM queries. ## appendix 1: Ingress control diff --git a/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md b/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md index 00a09e36e97..ad9e17e4bf2 100644 --- a/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md +++ b/docs/guides/kubernetes/deploy-nginx-ingress-on-lke/index.md @@ -36,9 +36,9 @@ This guide will show you how to: ## Before You Begin -1. Review the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. +1. Review the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. -1. Purchase a domain name from a reliable domain registrar. In a later section, you will use Linode's DNS Manager to [create a new Domain](/docs/products/networking/dns-manager/guides/create-domain/) and to [add a DNS "A" record](/docs/products/networking/dns-manager/guides/manage-dns-records/) for two subdomains: one named `blog` and another named `shop`. Your subdomains will point to the example Kubernetes Services you will create in this guide. The example domain names used throughout this guide are `blog.example.com` and `shop.example.com`. +1. Purchase a domain name from a reliable domain registrar. In a later section, you will use Linode's DNS Manager to [create a new Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and to [add a DNS "A" record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for two subdomains: one named `blog` and another named `shop`. Your subdomains will point to the example Kubernetes Services you will create in this guide. The example domain names used throughout this guide are `blog.example.com` and `shop.example.com`. {{< note >}} Optionally, you can create a Wildcard DNS record, `*.example.com` and point your NodeBalancer's external IP address to it. Using a Wildcard DNS record, will allow you to expose your Kubernetes services without requiring further configuration using the Linode DNS Manager. @@ -48,15 +48,15 @@ This guide will show you how to: 1. **Create a Kubernetes cluster** through the [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/) (LKE) using either the Cloud Manager, the Linode API, or Terraform: - - [Cloud Manager LKE instructions](/docs/products/compute/kubernetes/) - - [Linode API LKE instructions](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/) - - [Terraform instructions](/docs/guides/deploy-lke-cluster-using-terraform/) + - [Cloud Manager LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) + - [Linode API LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api) + - [Terraform instructions](/cloud/guides/deploy-lke-cluster-using-terraform/) - You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/docs/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. + You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. -1. **Setup your local environment** by installing [Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) and [kubectl](/docs/products/compute/kubernetes/guides/kubectl/) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). +1. **Setup your local environment** by installing [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) and [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). -1. **Configure kubectl** to use the new Kubernetes cluster by downloading the kubeconfig YAML file and adding it to kubectl. See the instructions within the [Download Your kubeconfig](/docs/products/compute/kubernetes/guides/kubectl/) guide. +1. **Configure kubectl** to use the new Kubernetes cluster by downloading the kubeconfig YAML file and adding it to kubectl. See the instructions within the [Download Your kubeconfig](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) guide. ## Creating a Sample Application @@ -224,7 +224,7 @@ Now that Linode NodeBalancers have been created by the NGINX Ingress Controller, my-ingress-nginx-controller LoadBalancer 10.128.169.60 192.0.2.0 80:32401/TCP,443:30830/TCP 7h51m app.kubernetes.io/instance=cingress-nginx,app.kubernetes.io/name=ingress-nginx ``` -1. Copy the IP address of the `EXTERNAL IP` field and navigate to [Linode's DNS manager](https://cloud.linode.com/domains) and [add two "A" records](/docs/products/networking/dns-manager/guides/manage-dns-records/) for the `blog` and `shop` subdomains. Ensure you point each record to the NodeBalancer's IPv4 address you retrieved in the previous step. +1. Copy the IP address of the `EXTERNAL IP` field and navigate to [Linode's DNS manager](https://cloud.linode.com/domains) and [add two "A" records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for the `blog` and `shop` subdomains. Ensure you point each record to the NodeBalancer's IPv4 address you retrieved in the previous step. ## Configuring the Ingress Controller @@ -275,7 +275,7 @@ Once your Ingress Controller is installed and DNS records have been created poin ## Next Steps -If you would like to secure your site with TLS encryption, you can follow the [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/docs/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/). +If you would like to secure your site with TLS encryption, you can follow the [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/cloud/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/). If you would rather not continue using the cluster you just created, review the [tear-down section](#tear-down-your-lke-cluster-and-nodebalancer) to remove the billable Linode resources that were generated. @@ -294,9 +294,9 @@ If you would rather not continue using the cluster you just created, review the ``` {{< note type="warning" >}} - If you do not also remove the NodeBalancer from your Linode account, you will continue to be billed for the service. See [Manage NodeBalancers > Delete a NodeBalancer](/docs/products/networking/nodebalancers/guides/manage/#delete-a-nodebalancer) for instructions on removing the NodeBalancer in the Cloud Manager. + If you do not also remove the NodeBalancer from your Linode account, you will continue to be billed for the service. See [Manage NodeBalancers > Delete a NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/manage-nodebalancers#delete-a-nodebalancer) for instructions on removing the NodeBalancer in the Cloud Manager. {{< /note >}} -- To remove the LKE Cluster and the associated nodes from your account, follow the instructions within [Manage Kubernetes Clusters > Delete a Cluster](/docs/products/compute/kubernetes/guides/manage-clusters/#delete-a-cluster). +- To remove the LKE Cluster and the associated nodes from your account, follow the instructions within [Manage Kubernetes Clusters > Delete a Cluster](https://techdocs.akamai.com/cloud-computing/docs/manage-kubernetes-clusters-on-lke#delete-a-cluster). -- Lastly, remove the `KUBECONFIG` line you added to your Bash profile to remove the LKE cluster from your [available contexts](/docs/products/compute/kubernetes/guides/kubectl/#persist-the-kubeconfig-context). +- Lastly, remove the `KUBECONFIG` line you added to your Bash profile to remove the LKE cluster from your [available contexts](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl#persist-the-kubeconfig-context). diff --git a/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md b/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md index c354e00f779..5604448718f 100644 --- a/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md +++ b/docs/guides/kubernetes/deploy-prometheus-operator-with-grafana-on-lke/index.md @@ -44,11 +44,11 @@ While there are several options for deploying the Prometheus Operator, using [He This guide was written using [Kubernetes version 1.17](https://v1-17.docs.kubernetes.io/docs/setup/release/notes/). {{< /note >}} -1. [Deploy an LKE Cluster](/docs/products/compute/kubernetes/). This guide was written using an example node pool with three [2 GB Linodes](https://www.linode.com/pricing/). Depending on the workloads you will be deploying on your cluster, you may consider using Linodes with more available resources. +1. [Deploy an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This guide was written using an example node pool with three [2 GB Linodes](https://www.linode.com/pricing/). Depending on the workloads you will be deploying on your cluster, you may consider using Linodes with more available resources. -1. Install [Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) to your local environment. +1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) to your local environment. -1. Install [kubectl](/docs/products/compute/kubernetes/guides/kubectl/) to your local environment and [connect to your cluster](/docs/products/compute/kubernetes/guides/kubectl/). +1. Install [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) to your local environment and [connect to your cluster](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl). 1. Create the `monitoring` namespace on your LKE cluster: @@ -76,7 +76,7 @@ This guide was written using [Kubernetes version 1.17](https://v1-17.docs.kubern 1. (Optional) For [public access with HTTPS and basic auth](#prometheus-operator-deployment-with-https-and-basic-auth) configured for your web interfaces of your monitoring tools: - - Purchase a domain name from a reliable domain registrar and configure your registrar to [use Linode's nameservers](/docs/products/networking/dns-manager/guides/authoritative-name-servers/) with your domain. Using Linode's DNS Manager, [create a new Domain](/docs/products/networking/dns-manager/guides/create-domain/) for the one that you have purchased. + - Purchase a domain name from a reliable domain registrar and configure your registrar to [use Linode's nameservers](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers) with your domain. Using Linode's DNS Manager, [create a new Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) for the one that you have purchased. - Ensure that `htpasswd` is installed to your local environment. For many systems, this tool has already been installed. Debian and Ubuntu users will have to install the apache2-utils package with the following command: @@ -288,7 +288,7 @@ In this section, you will install the NGINX Ingress Controller using Helm, which nginx-ingress-controller LoadBalancer 10.128.41.200 192.0.2.0 80:30889/TCP,443:32300/TCP 59s app.kubernetes.io/component=controller,app=nginx-ingress,release=nginx-ingress ``` -1. Copy the IP address of the `EXTERNAL IP` field and navigate to Linode's DNS Manager and [create an A record](/docs/products/networking/dns-manager/guides/manage-dns-records/) using this external IP address and a hostname value corresponding to the subdomain you plan to use with your domain. +1. Copy the IP address of the `EXTERNAL IP` field and navigate to Linode's DNS Manager and [create an A record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) using this external IP address and a hostname value corresponding to the subdomain you plan to use with your domain. Now that your NGINX Ingress Controller has been deployed and your domain's A record has been updated, you are ready to enable HTTPS on your monitoring interfaces. diff --git a/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md b/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md index 9ccc7425452..ed66e463f92 100644 --- a/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md +++ b/docs/guides/kubernetes/deploy-rag-pipeline-and-chatbot-on-apl/index.md @@ -13,11 +13,11 @@ external_resources: - '[Akamai App Platform Documentation](https://techdocs.akamai.com/app-platform/docs/welcome)' --- -This guide extends the LLM (Large Language Model) inference architecture built in our [Deploy an LLM for AI Inference with App Platform for LKE](/docs/guides/deploy-llm-for-ai-inferencing-on-apl) guide by deploying a RAG (Retrieval-Augmented Generation) pipeline that indexes a custom data set. RAG is a particular method of context augmentation that attaches relevant data as context when users send queries to an LLM. +This guide extends the LLM (Large Language Model) inference architecture built in our [Deploy an LLM for AI Inference with App Platform for LKE](/cloud/guides/deploy-llm-for-ai-inferencing-on-apl) guide by deploying a RAG (Retrieval-Augmented Generation) pipeline that indexes a custom data set. RAG is a particular method of context augmentation that attaches relevant data as context when users send queries to an LLM. Follow the steps in this tutorial to enable Kubeflow Pipelines and deploy a RAG pipeline using App Platform for LKE. The data set you use may vary depending on your use case. For example purposes, this guide uses a sample data set from Akamai Techdocs that includes documentation about all Akamai Cloud services. -If you prefer a manual installation rather than one using App Platform for LKE, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/docs/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. +If you prefer a manual installation rather than one using App Platform for LKE, see our [Deploy a Chatbot and RAG Pipeline for AI Inference on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. ## Diagram @@ -47,7 +47,7 @@ If you prefer a manual installation rather than one using App Platform for LKE, ## Prerequisites -- Complete the deployment in the [Deploy an LLM for AI Inference with App Platform for LKE](/docs/guides/deploy-llm-for-ai-inferencing-on-apl) guide. Your LKE cluster should include the following minimum hardware requirements: +- Complete the deployment in the [Deploy an LLM for AI Inference with App Platform for LKE](/cloud/guides/deploy-llm-for-ai-inferencing-on-apl) guide. Your LKE cluster should include the following minimum hardware requirements: - 3 **8GB Dedicated CPUs** with [autoscaling](https://techdocs.akamai.com/cloud-computing/docs/manage-nodes-and-node-pools#autoscale-automatically-resize-node-pools) turned on @@ -446,7 +446,7 @@ The Agent pipeline files in this section are not related to the Kubeflow pipelin ### Deploy the open-webui Pipeline and Web Interface -Update the Kyverno **Policy** `open-webui-policy.yaml` created in the previous tutorial ([Deploy an LLM for AI Inference with App Platform for LKE](/docs/guides/deploy-llm-for-ai-inferencing-on-apl)) to mutate the `open-webui` pods that will be deployed. +Update the Kyverno **Policy** `open-webui-policy.yaml` created in the previous tutorial ([Deploy an LLM for AI Inference with App Platform for LKE](/cloud/guides/deploy-llm-for-ai-inferencing-on-apl)) to mutate the `open-webui` pods that will be deployed. #### Add the pipelines Helm Chart to the Catalog @@ -560,7 +560,7 @@ The agent pipeline requires access to the PGvector database. For configure this, 1. Click on **Create Workload**. -1. Select the _open-webui_ Helm chart from the catalog. This Helm chart should have been added in the previous [Deploy an LLM for AI Inference with App Platform for LKE](/docs/guides/deploy-llm-for-ai-inferencing-on-apl/#add-the-open-webui-helm-chart-to-the-catalog) guide. +1. Select the _open-webui_ Helm chart from the catalog. This Helm chart should have been added in the previous [Deploy an LLM for AI Inference with App Platform for LKE](/cloud/guides/deploy-llm-for-ai-inferencing-on-apl/#add-the-open-webui-helm-chart-to-the-catalog) guide. 1. Click on **Values**. diff --git a/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md index cf8a86d1151..dcc13f7ac03 100644 --- a/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/deploy-tobs-on-linode-kubernetes-engine/index.md @@ -40,11 +40,11 @@ TOBS includes the following components: This guide was written using [Kubernetes version 1.23](https://v1-17.docs.kubernetes.io/docs/setup/release/notes/). {{< /note >}} -1. [Deploy an LKE Cluster](/docs/products/compute/kubernetes/). This guide was written using an example node pool with three [4 GB Shared CPU Compute Instances](https://www.linode.com/pricing/). Depending on the workloads you plan to deploy on your cluster, you may consider using other plans with more available resources. +1. [Deploy an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This guide was written using an example node pool with three [4 GB Shared CPU Compute Instances](https://www.linode.com/pricing/). Depending on the workloads you plan to deploy on your cluster, you may consider using other plans with more available resources. -1. Install [Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) to your local environment. +1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) to your local environment. -1. Install [kubectl](/docs/products/compute/kubernetes/guides/kubectl/) to your local environment and [connect to your cluster](/docs/products/compute/kubernetes/guides/kubectl/). +1. Install [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) to your local environment and [connect to your cluster](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl). 1. Create the `monitoring` namespace on your LKE cluster: diff --git a/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md b/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md index f08a4b6aaec..dfeb6789c9c 100644 --- a/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md +++ b/docs/guides/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/index.md @@ -23,7 +23,7 @@ To learn more about the Container Storage Interface (CSI) Driver for Linode Bloc ## What is the Linode Block Storage CSI Driver? -The [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md) (CSI) defines a standard that storage providers can use to expose block and file storage systems to container orchestration systems. Linode's Block Storage CSI driver follows this specification to allow container orchestration systems, like Kubernetes, to use [Block Storage Volumes](/docs/products/storage/block-storage/) to persist data despite a Pod's lifecycle. A Block Storage Volume can be attached to any Linode to provide additional storage. +The [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md) (CSI) defines a standard that storage providers can use to expose block and file storage systems to container orchestration systems. Linode's Block Storage CSI driver follows this specification to allow container orchestration systems, like Kubernetes, to use [Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/block-storage) to persist data despite a Pod's lifecycle. A Block Storage Volume can be attached to any Linode to provide additional storage. ## Before You Begin @@ -31,13 +31,13 @@ This guide assumes you have a working Kubernetes cluster running on Linode. You 1. Use the [Linode Kubernetes Engine (LKE)](https://www.linode.com/products/kubernetes/) to deploy a cluster. LKE is Linode's managed Kubernetes service. You can deploy a Kubernetes cluster using: - - The [Linode Cloud Manager](/docs/products/compute/kubernetes/). - - [Linode's API v4](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/). - - [Terraform](/docs/guides/deploy-lke-cluster-using-terraform/), the popular infrastructure as code (IaC) tool. + - The [Linode Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). + - [Linode's API v4](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api). + - [Terraform](/cloud/guides/deploy-lke-cluster-using-terraform/), the popular infrastructure as code (IaC) tool. -1. Deploy an [unmanaged Kubernetes cluster using Terraform](/docs/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/) and the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2). +1. Deploy an [unmanaged Kubernetes cluster using Terraform](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/) and the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2). -1. Use kubeadm to manually deploy a Kubernetes cluster on Linode. You can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/) guide to do this. +1. Use kubeadm to manually deploy a Kubernetes cluster on Linode. You can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) guide to do this. {{< note >}} The Block Storage CSI Driver supports Kubernetes version 1.13 or higher. To check the version of Kubernetes you are running, you can issue the following command: @@ -47,7 +47,7 @@ This guide assumes you have a working Kubernetes cluster running on Linode. You ``` {{< /note >}} - After deploying your cluster with kubeadm, to continue with this guide, you'll need to install the CSI driver using the instructions in the [Installing the Linode Block Storage CSI Driver](/docs/guides/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/) guide. + After deploying your cluster with kubeadm, to continue with this guide, you'll need to install the CSI driver using the instructions in the [Installing the Linode Block Storage CSI Driver](/cloud/guides/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/) guide. {{< note >}} Using either the Linode Kubernetes Engine or Terraform methods above will install both the Linode Block Storage CSI Driver and the `linode` secret token as part of their deployment methods automatically. @@ -58,7 +58,7 @@ This guide assumes you have a working Kubernetes cluster running on Linode. You {{< note type="alert" >}} The instructions in this section will create a Block Storage volume billable resource on your Linode account. A single volume can range from 10 GB to 10,000 GB in size and costs $0.10/GB per month or $0.00015/GB per hour. If you do not want to keep using the Block Storage volume that you create, be sure to delete it 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 and for a table of plan pricing. +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 and for a table of plan pricing. {{< /note >}} A *Persistent Volume Claim* (PVC) consumes a Block Storage Volume. To create a PVC, create a manifest file with the following YAML: @@ -295,7 +295,7 @@ To delete the Block Storage PVC created in this guide: ``` {{< note >}} - If you used the `linode-block-storage-retain` StorageClass when creating your PVC, this command will delete the PVC, however, your Block Storage Volume and its data will persist in a detached state. To permanently remove the Block Storage Volume from your Linode Account, see [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/). + If you used the `linode-block-storage-retain` StorageClass when creating your PVC, this command will delete the PVC, however, your Block Storage Volume and its data will persist in a detached state. To permanently remove the Block Storage Volume from your Linode Account, see [View, Create, and Delete Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes). If, instead, you used the `linode-block-storage` StorageClass when creating your PVC, this command will delete the PVC along with your Block Storage Volume and its data. {{< /note >}} \ No newline at end of file diff --git a/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md b/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md index 68806f0fe4e..10e9e7b1c14 100644 --- a/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md +++ b/docs/guides/kubernetes/deploying-rabbitmq-on-kubernetes-with-lke/index.md @@ -44,10 +44,10 @@ These operators extend Kubernetes management capabilities and leverage the Kuber 1. Install the Linode CLI using the instructions in the [Install and configure the CLI](https://techdocs.akamai.com/cloud-computing/docs/install-and-configure-the-cli) guide. -1. [Install `jq`](/docs/guides/using-jq-to-process-json-on-the-command-line/#install-jq-with-package-managers), a lightweight command line JSON processor. +1. [Install `jq`](/cloud/guides/using-jq-to-process-json-on-the-command-line/#install-jq-with-package-managers), a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md b/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md index 3732fe07ad1..3158e50336a 100644 --- a/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md +++ b/docs/guides/kubernetes/fine-tuning-job-on-lke/index.md @@ -15,7 +15,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' Pre-trained AI models are now used across many fields and applications. When working within specialized domains or knowledge bases, these models often require adjustments to improve accuracy. However, these pre-trained models have not been trained on your company's private data and likely do not contain deep levels of details on specialized subjects. -Retrieval-Augmented Generation (RAG) is one method to aid in improving responses. When using the RAG method, the pre-trained model searches an indexed database of supplemental data during each query. This process is covered in the [Deploy a Chatbot and RAG Pipeline for AI Inferencing on LKE](/docs/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. Since this data is not integrated directly into the model, it is easy to keep the data up-to-date or to replace the data entirely. When compared to training a model, the RAG method uses minimal resources to maintain and update the data, keeping the cost low and allowing for more frequent updates. However, since the model searches through this indexed data when queried, there is a performance impact. +Retrieval-Augmented Generation (RAG) is one method to aid in improving responses. When using the RAG method, the pre-trained model searches an indexed database of supplemental data during each query. This process is covered in the [Deploy a Chatbot and RAG Pipeline for AI Inferencing on LKE](/cloud/guides/ai-chatbot-and-rag-pipeline-for-inference-on-lke/) guide. Since this data is not integrated directly into the model, it is easy to keep the data up-to-date or to replace the data entirely. When compared to training a model, the RAG method uses minimal resources to maintain and update the data, keeping the cost low and allowing for more frequent updates. However, since the model searches through this indexed data when queried, there is a performance impact. Another approach to improve the accuracy of AI models is called fine-tuning. Fine-tuning is a technique that takes a pre-trained model and trains it further using your own custom data. This incorporates the data directly into the model and provides the model with a much deeper understanding of the material when compared to the RAG method. In addition, the model can process queries more quickly as there is no need to search through a supplemental database. While fine-tuning requires less permanent infrastructure, there can be significant investment in time and infrastructure when initially training the model. diff --git a/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md b/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md index 4bdbbcf99eb..f24104be517 100644 --- a/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md +++ b/docs/guides/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/index.md @@ -16,19 +16,19 @@ external_resources: aliases: ['/kubernetes/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/'] --- -This guide will use an example Kubernetes Deployment and Service to demonstrate how to route external traffic to a Kubernetes application over HTTPS. This is accomplished using the [NGINX Ingress Controller](https://kubernetes.github.io/ingress-nginx/deploy/#using-helm), [cert-manager](https://cert-manager.io/docs/) and [Linode NodeBalancers](/docs/products/networking/nodebalancers/). The NGINX Ingress Controller uses Linode NodeBalancers, which are Linode's load balancing service, to route a Kubernetes Service's traffic to the appropriate backend Pods over HTTP and HTTPS. The cert-manager tool creates a Transport Layer Security (TLS) certificate from the [Let’s Encrypt](https://letsencrypt.org/) certificate authority (CA) providing secure HTTPS access to a Kubernetes Service. +This guide will use an example Kubernetes Deployment and Service to demonstrate how to route external traffic to a Kubernetes application over HTTPS. This is accomplished using the [NGINX Ingress Controller](https://kubernetes.github.io/ingress-nginx/deploy/#using-helm), [cert-manager](https://cert-manager.io/docs/) and [Linode NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer). The NGINX Ingress Controller uses Linode NodeBalancers, which are Linode's load balancing service, to route a Kubernetes Service's traffic to the appropriate backend Pods over HTTP and HTTPS. The cert-manager tool creates a Transport Layer Security (TLS) certificate from the [Let’s Encrypt](https://letsencrypt.org/) certificate authority (CA) providing secure HTTPS access to a Kubernetes Service. {{< note >}} -The [*Linode Cloud Controller Manager*](https://github.com/linode/linode-cloud-controller-manager) provides a way for a Kubernetes cluster to create, configure, and delete Linode NodeBalancers. The Linode CCM is installed by default on clusters deployed with the [Linode Kubernetes Engine](/docs/products/compute/kubernetes/) and the [Linode Terraform K8s module](/docs/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/). +The [*Linode Cloud Controller Manager*](https://github.com/linode/linode-cloud-controller-manager) provides a way for a Kubernetes cluster to create, configure, and delete Linode NodeBalancers. The Linode CCM is installed by default on clusters deployed with the [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) and the [Linode Terraform K8s module](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/). -To learn about the various configurations available for Linode NodeBalancers via [Kubernetes annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/), see [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/docs/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/#configuring-your-linode-nodebalancers-with-annotations). +To learn about the various configurations available for Linode NodeBalancers via [Kubernetes annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/), see [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/cloud/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/#configuring-your-linode-nodebalancers-with-annotations). {{< /note >}} ## Before You Begin -1. Review the [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. +1. Review the [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series to gain an understanding of key concepts within Kubernetes, including master and worker nodes, Pods, Deployments, and Services. -1. Purchase a domain name from a reliable domain registrar. In a later section, you will use Linode's DNS Manager to [create a new Domain](/docs/products/networking/dns-manager/guides/create-domain/) and to [add a DNS "A" record](/docs/products/networking/dns-manager/guides/manage-dns-records/) for two subdomains: one named `blog` and another named `shop`. Your subdomains will point to the example Kubernetes Services you will create in this guide. The example domain names used throughout this guide are `blog.example.com` and `shop.example.com`. +1. Purchase a domain name from a reliable domain registrar. In a later section, you will use Linode's DNS Manager to [create a new Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and to [add a DNS "A" record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for two subdomains: one named `blog` and another named `shop`. Your subdomains will point to the example Kubernetes Services you will create in this guide. The example domain names used throughout this guide are `blog.example.com` and `shop.example.com`. {{< note >}} Optionally, you can create a Wildcard DNS record, `*.example.com` and point your NodeBalancer's external IP address to it. Using a Wildcard DNS record, will allow you to expose your Kubernetes services without requiring further configuration using the Linode DNS Manager. @@ -38,15 +38,15 @@ To learn about the various configurations available for Linode NodeBalancers via 1. **Create a Kubernetes cluster** through the [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/) (LKE) using either the Cloud Manager, the Linode API, or Terraform: - - [Cloud Manager LKE instructions](/docs/products/compute/kubernetes/) - - [Linode API LKE instructions](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/) - - [Terraform instructions](/docs/guides/deploy-lke-cluster-using-terraform/) + - [Cloud Manager LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) + - [Linode API LKE instructions](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api) + - [Terraform instructions](/cloud/guides/deploy-lke-cluster-using-terraform/) - You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/docs/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. + You can also use an unmanaged Kubernetes cluster (that's not deployed through LKE). The instructions within this guide depend on the Linode Cloud Controller Manager (CCM), which is installed by default on LKE clusters but needs to be manually installed on unmanaged clusters. To learn how to install the Linode CCM on a cluster that was not deployed through LKE, see the [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. -1. **Setup your local environment** by installing [Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) and [kubectl](/docs/products/compute/kubernetes/guides/kubectl/) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). +1. **Setup your local environment** by installing [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) and [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) on your computer (or whichever system you intend to use to manage your Kubernetes Cluster). -1. **Configure kubectl** to use the new Kubernetes cluster by downloading the kubeconfig YAML file and adding it to kubectl. See the instructions within the [Download Your kubeconfig](/docs/products/compute/kubernetes/guides/kubectl/) guide. +1. **Configure kubectl** to use the new Kubernetes cluster by downloading the kubeconfig YAML file and adding it to kubectl. See the instructions within the [Download Your kubeconfig](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) guide. ## Create an Example Application @@ -164,7 +164,7 @@ Each example manifest file creates three Pods to serve the application. In this section you will use Helm to install the NGINX Ingress Controller on your Kubernetes Cluster. Installing the NGINX Ingress Controller will create Linode NodeBalancers that your cluster can make use of to load balance traffic to your example application. {{< note >}} -If you would like a slightly deeper dive into the NGINX Ingress Controller, see our guide [Deploying NGINX Ingress on Linode Kubernetes Engine](/docs/guides/deploy-nginx-ingress-on-lke/). +If you would like a slightly deeper dive into the NGINX Ingress Controller, see our guide [Deploying NGINX Ingress on Linode Kubernetes Engine](/cloud/guides/deploy-nginx-ingress-on-lke/). {{< /note >}} 1. Add the following Helm ingress-nginx repository to your Helm repos. @@ -218,7 +218,7 @@ Now that Linode NodeBalancers have been created by the NGINX Ingress Controller, my-ingress-nginx-controller LoadBalancer 10.128.169.60 192.0.2.0 80:32401/TCP,443:30830/TCP 7h51m app.kubernetes.io/instance=cingress-nginx,app.kubernetes.io/name=ingress-nginx ``` -1. Copy the IP address of the `EXTERNAL IP` field and navigate to [Linode's DNS manager](https://cloud.linode.com/domains) and [add two "A" records](/docs/products/networking/dns-manager/guides/manage-dns-records/) for the `blog` and `shop` subdomains. Ensure you point each record to the NodeBalancer's IPv4 address you retrieved in the previous step. +1. Copy the IP address of the `EXTERNAL IP` field and navigate to [Linode's DNS manager](https://cloud.linode.com/domains) and [add two "A" records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for the `blog` and `shop` subdomains. Ensure you point each record to the NodeBalancer's IPv4 address you retrieved in the previous step. Now that your NGINX Ingress Controller has been deployed and your subdomains' A records have been created, you are ready to enable HTTPS on each subdomain. @@ -239,7 +239,7 @@ To enable HTTPS on your example application, you will create a Transport Layer S In this section you will install cert-manager using Helm and the required cert-manager [CustomResourceDefinitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRDs). Then, you will create a [ClusterIssuer](https://cert-manager.io/docs/concepts/issuer/) resource to assist in creating a cluster's TLS certificate. {{< note >}} -If you would like a deeper dive into cert-manager, see our guide [What is Kubernetes cert-manager](/docs/guides/what-is-kubernetes-cert-manager/). +If you would like a deeper dive into cert-manager, see our guide [What is Kubernetes cert-manager](/cloud/guides/what-is-kubernetes-cert-manager/). {{< /note >}} ### Install cert-manager diff --git a/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md index e09a9e48267..60fefbaf0d5 100644 --- a/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/index.md @@ -16,7 +16,7 @@ aliases: ['/kubernetes/how-to-deploy-a-static-site-on-linode-kubernetes-engine/' *Linode Kubernetes Engine (LKE)* allows you to easily create, scale, and manage Kubernetes clusters to meet your application's demands, reducing the often complicated cluster set-up process to just a few clicks. Linode manages your Kubernetes master node, and you select how many Compute Instances you want to add as worker nodes to your cluster. -Deploying a static site using an LKE cluster is a great example to follow when learning Kubernetes. A [container](/docs/guides/kubernetes-reference/#container) image for a static site can be written in less than ten lines, and only one container image is needed. Therefore, it's often less complicated to deploy a static site on Kubernetes than some other applications that require multiple components. +Deploying a static site using an LKE cluster is a great example to follow when learning Kubernetes. A [container](/cloud/guides/kubernetes-reference/#container) image for a static site can be written in less than ten lines, and only one container image is needed. Therefore, it's often less complicated to deploy a static site on Kubernetes than some other applications that require multiple components. {{< note type="alert" >}} Following the instructions in this guide creates billable resources on your account in the form of Compute Instances and NodeBalancers. You are billed an hourly rate for the time that these resources exist on your account. Be sure to follow the [tear-down section](#tear-down-your-lke-cluster-and-nodebalancer) at the end of this guide if you do not wish to continue using these resources. @@ -32,7 +32,7 @@ This guide shows you how to: ## Before You Begin -- You should have a working knowledge of Kubernetes' key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series. +- You should have a working knowledge of Kubernetes' key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series. - You also need to prepare your workstation with some prerequisite software: @@ -44,9 +44,9 @@ This guide shows you how to: - Finally, you need to create an LKE cluster, if you do not already have one: - - To create a cluster from the Cloud Manager, review the [Deploy a Cluster with Linode Kubernetes Engine](/docs/products/compute/kubernetes/) guide. Specifically, follow the [Create an LKE Cluster](/docs/products/compute/kubernetes/guides/create-cluster/) and [Connect to your LKE Cluster with kubectl](/docs/products/compute/kubernetes/guides/kubectl/) sections. + - To create a cluster from the Cloud Manager, review the [Deploy a Cluster with Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) guide. Specifically, follow the [Create an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/create-a-cluster) and [Connect to your LKE Cluster with kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl) sections. - - To create a cluster via the Linode API, review the [Deploy and Manage a Cluster with Linode Kubernetes Engine and the Linode API](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/) tutorial. Specifically, follow the [Create an LKE Cluster](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/#create-an-lke-cluster) section. + - To create a cluster via the Linode API, review the [Deploy and Manage a Cluster with Linode Kubernetes Engine and the Linode API](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api) tutorial. Specifically, follow the [Create an LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/deploy-and-manage-a-kubernetes-cluster-with-the-api#create-an-lke-cluster) section. ### Install kubectl @@ -56,7 +56,7 @@ You should have `kubectl` installed on your local workstation. `kubectl` is the ### Install Git -To perform some of the commands in this guide you need to have Git installed on your workstation. Git is a version control system that allows you to save your codebase in various states to ease development and deployment. Follow our [How to Install Git on Linux, Mac or Windows](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide for instructions on how to install Git. +To perform some of the commands in this guide you need to have Git installed on your workstation. Git is a version control system that allows you to save your codebase in various states to ease development and deployment. Follow our [How to Install Git on Linux, Mac or Windows](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide for instructions on how to install Git. ### Install Docker @@ -70,7 +70,7 @@ You use [Docker Hub](https://hub.docker.com/) to store your Docker image. If you A *static site generator* (SSG) is a command line tool that takes text files written in a markup language like [Markdown](https://daringfireball.net/projects/markdown/), applies a stylized template to the content, and produces valid HTML, CSS, and JavaScript files. Static sites are prized for their simplicity and speed, as they do not generally have to interact with a database. -The Linode documentation website, and this guide, employ [Hugo](https://gohugo.io). Hugo is a powerful and fast SSG written in the [Go](/docs/guides/install-go-on-ubuntu/#what-is-go) programming language, but you can choose one that best suits your needs by reading our [How to Choose a Static Site Generator guide](/docs/guides/how-to-choose-static-site-generator/). +The Linode documentation website, and this guide, employ [Hugo](https://gohugo.io). Hugo is a powerful and fast SSG written in the [Go](/cloud/guides/install-go-on-ubuntu/#what-is-go) programming language, but you can choose one that best suits your needs by reading our [How to Choose a Static Site Generator guide](/cloud/guides/how-to-choose-static-site-generator/). The steps in this guide are generally the same across SSGs: install a static site generator, create some content in a text file, and then generate your site's HTML through a build process. @@ -383,7 +383,7 @@ In this section you create a Docker container for your static site, which you th ## Deploying the Container to LKE -In this section, you create a [Deployment](/docs/guides/kubernetes-reference/#deployment) from the container you created in the previous section, and a [Service](/docs/guides/kubernetes-reference/#services) to load balance the deployment. +In this section, you create a [Deployment](/cloud/guides/kubernetes-reference/#deployment) from the container you created in the previous section, and a [Service](/cloud/guides/kubernetes-reference/#services) to load balance the deployment. 1. Begin by navigating to a location outside of your static site directory. You do not need your static site directory for the remainder of this guide. @@ -391,7 +391,7 @@ In this section, you create a [Deployment](/docs/guides/kubernetes-reference/#de cd .. ``` -1. Create a new directory to house your Kubernetes [manifests](/docs/guides/kubernetes-reference/#kubernetes-manifests), and move into that directory: +1. Create a new directory to house your Kubernetes [manifests](/cloud/guides/kubernetes-reference/#kubernetes-manifests), and move into that directory: ```command mkdir manifests && cd manifests @@ -455,10 +455,10 @@ In this section, you create a [Deployment](/docs/guides/kubernetes-reference/#de 1. Create a Service manifest file to provide load balancing for the deployment. Load balancing ensures that traffic is balanced efficiently across multiple backend nodes, improving site performance and ensuring that your static site is accessible should a node go down. - Specifically, the Service manifest that is used in this guide triggers the creation of a [NodeBalancer](/docs/products/networking/nodebalancers/get-started/). + Specifically, the Service manifest that is used in this guide triggers the creation of a [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers). {{< note title="Cloud Controller Manager (CCM)" >}} - The NodeBalancer's creation is controlled through the [Cloud Controller Manager (CCM)](/docs/guides/kubernetes-reference/#linode-cloud-controller-manager). The CCM provides a number of settings, called `annotations`, that allow you to control the functionality of the NodeBalancer. To learn more about the CCM, read our [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/docs/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. + The NodeBalancer's creation is controlled through the [Cloud Controller Manager (CCM)](/cloud/guides/kubernetes-reference/#linode-cloud-controller-manager). The CCM provides a number of settings, called `annotations`, that allow you to control the functionality of the NodeBalancer. To learn more about the CCM, read our [Installing the Linode CCM on an Unmanaged Kubernetes Cluster](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) guide. {{< /note >}} 1. Name the file `static-site-service.yaml`, save it to your `manifests` directory, and enter the contents of this snippet: @@ -510,11 +510,11 @@ In this section, you create a [Deployment](/docs/guides/kubernetes-reference/#de ## General Network and Firewall Information -To learn more about networking within LKE, open ports, and configuring firewall rules, see [General Network and Firewall Information](/docs/products/compute/kubernetes/get-started/#general-network-and-firewall-information). +To learn more about networking within LKE, open ports, and configuring firewall rules, see [General Network and Firewall Information](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine#general-network-and-firewall-information). ## Next Steps -If you'd like to continue using the static site that you created in this guide, you may want to assign a domain to it. Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) and [DNS Manager](/docs/products/networking/dns-manager/) guides for help with setting up DNS. When setting up your DNS record, use the external IP address that you noted at the end of the previous section. +If you'd like to continue using the static site that you created in this guide, you may want to assign a domain to it. Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up DNS. When setting up your DNS record, use the external IP address that you noted at the end of the previous section. If you would rather not continue using the cluster you just created, review the [tear-down section](#tear-down-your-lke-cluster-and-nodebalancer) to remove any billable resources that were generated. @@ -540,4 +540,4 @@ If you would rather not continue using the cluster you just created, review the 1. You are prompted to enter the name of the cluster to confirm the action. Enter the cluster name and click **Delete**. -- Lastly, remove the `KUBECONFIG` line you added to your Bash profile to remove the LKE cluster from your [available contexts](/docs/products/compute/kubernetes/guides/kubectl/#persist-the-kubeconfig-context). \ No newline at end of file +- Lastly, remove the `KUBECONFIG` line you added to your Bash profile to remove the LKE cluster from your [available contexts](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl#persist-the-kubeconfig-context). \ No newline at end of file diff --git a/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md b/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md index 516192a98df..f45c2f050dc 100644 --- a/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md +++ b/docs/guides/kubernetes/how-to-deploy-istio-with-kubernetes/index.md @@ -31,12 +31,12 @@ In this guide you will complete the following tasks: {{< note type="alert" >}} This guide’s example instructions will create several billable resources on your Linode account. If you do not want to keep using the example cluster that you create, be sure to delete it 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 and for a table of plan pricing. +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 and for a table of plan pricing. {{< /note >}} ## Before You Begin -Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/docs/guides/kubernetes-use-cases/). +Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). ## Create Your Kubernetes Cluster @@ -45,7 +45,7 @@ Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kub There are many ways to create a Kubernetes cluster. This guide will use the Linode k8s-alpha CLI. 1. To set it up the Linode k8s-alpha CLI, see the -[How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) guide and stop before the "Create a Cluster" section. +[How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) guide and stop before the "Create a Cluster" section. 1. Now that your Linode K8s-alpha CLI is set up, You are ready to create your Kubernetes cluster. You will need **3 worker nodes** and **one master** for this guide. Create your cluster using the following command: @@ -70,7 +70,7 @@ There are many ways to create a Kubernetes cluster. This guide will use the Lino ### Install Helm -Follow the instructions in the [How to Install Apps on Kubernetes with Helm](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/) guide to install Helm on your cluster. Stop before the section on "Using Helm Charts to Install Apps". +Follow the instructions in the [How to Install Apps on Kubernetes with Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) guide to install Helm on your cluster. Stop before the section on "Using Helm Charts to Install Apps". ## Install Istio diff --git a/docs/guides/kubernetes/how-to-deploy-jenkins-x-in-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-deploy-jenkins-x-in-linode-kubernetes-engine/index.md index 81a27bc43fe..dc7f9b452e6 100644 --- a/docs/guides/kubernetes/how-to-deploy-jenkins-x-in-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-deploy-jenkins-x-in-linode-kubernetes-engine/index.md @@ -33,7 +33,7 @@ Jenkins X version 2 is no longer maintained. For more information about using Je ## Create an LKE Cluster -Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to create and connect to an LKE cluster. +Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) to create and connect to an LKE cluster. We recommend using three 16GB Linodes to start with. diff --git a/docs/guides/kubernetes/how-to-deploy-kubeflow-on-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-deploy-kubeflow-on-linode-kubernetes-engine/index.md index 13162d29051..530d4756d01 100644 --- a/docs/guides/kubernetes/how-to-deploy-kubeflow-on-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-deploy-kubeflow-on-linode-kubernetes-engine/index.md @@ -36,12 +36,12 @@ _Are you ready to train your model at scale?_ 3. Most Kubeflow pipelines require [Kubernetes Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes) that can be attached to several nodes at once (ReadWriteMany). Currently, the only mode supported by the Linode Block Storage CSI driver is ReadWriteOnce, meaning that it can only be connected to one Kubernetes node at a time. {{< note type="alert" >}} -This guide's example instructions create several billable resources on your Linode account. If you do not want to keep using the example cluster created with this guide, be sure to delete it when you have finished. If you remove the resources afterward, you will only be billed for the hour(s) that the resources were present on your account. For more information see our [Billing and Payments](/docs/products/platform/billing/) guide. For a full list of plan prices, visit our [Pricing page](https://www.linode.com/pricing/). +This guide's example instructions create several billable resources on your Linode account. If you do not want to keep using the example cluster created with this guide, be sure to delete it when you have finished. If you remove the resources afterward, you will only be billed for the hour(s) that the resources were present on your account. For more information see our [Billing and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) guide. For a full list of plan prices, visit our [Pricing page](https://www.linode.com/pricing/). {{< /note >}} ## Create an LKE Cluster -Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to create and connect to an LKE cluster. +Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) to create and connect to an LKE cluster. The [official Kubeflow documentation](https://www.kubeflow.org/docs/started/k8s/overview/) recommends provisioning a cluster with at least 4 CPU cores, 12GB of memory and 50GB of space available. We recommend running three 16GB Linodes — that should give you enough resources to scale your models. diff --git a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md index 97b7befd1d4..16bc01758d2 100644 --- a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md +++ b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/index.md @@ -19,7 +19,7 @@ deprecated: true {{< note type="alert" >}} This guide's example instructions will create several billable resources on your Linode account. If you do not want to keep using the example cluster that you create, be sure to [delete it](#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 and for a table of plan pricing. +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 and for a table of plan pricing. {{< /note >}} ## What is the k8s-alpha CLI? @@ -52,37 +52,37 @@ These nodes will all exist as billable services on your account. You can specify Another easy way to create clusters is with [Rancher](https://rancher.com). Rancher is a web application that provides a GUI interface for cluster creation and for management of clusters. Rancher also provides easy interfaces for deploying and scaling apps on your clusters, and it has a built-in catalog of curated apps to choose from. -To get started with Rancher, review our [How to Deploy Kubernetes on Linode with Rancher](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) guide. Rancher is capable of importing clusters that were created outside of it, so you can still use it even if you create your clusters through the k8s-alpha CLI or some other means. +To get started with Rancher, review our [How to Deploy Kubernetes on Linode with Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) guide. Rancher is capable of importing clusters that were created outside of it, so you can still use it even if you create your clusters through the k8s-alpha CLI or some other means. #### Linode Kubernetes Engine (LKE) The Linode Kubernetes Engine (LKE) is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. LKE combines Linode’s ease of use and [simple pricing](https://www.linode.com/pricing/) with the infrastructure efficiency of Kubernetes. -When you deploy an LKE cluster, you receive a Kubernetes Master at no additional cost; you only pay for the Linodes (worker nodes), [NodeBalancers](/docs/products/networking/nodebalancers/get-started/) (load balancers), and [Block Storage Volumes](/docs/products/storage/block-storage/). Your LKE cluster’s Master node runs the Kubernetes control plane processes – including the API, scheduler, and resource controllers. To get started with LKE, review our [Deploy a Cluster with Linode Kubernetes Engine](/docs/products/compute/kubernetes/) guide. +When you deploy an LKE cluster, you receive a Kubernetes Master at no additional cost; you only pay for the Linodes (worker nodes), [NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) (load balancers), and [Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/block-storage). Your LKE cluster’s Master node runs the Kubernetes control plane processes – including the API, scheduler, and resource controllers. To get started with LKE, review our [Deploy a Cluster with Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) guide. ### Beginners Resources If you haven't used Kubernetes before, we recommend reading through our introductory guides on the subject: -- [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/): this guide explains the concepts and architecture of Kubernetes. +- [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/): this guide explains the concepts and architecture of Kubernetes. -- [Getting Started with Kubernetes - Basic Installation and Setup](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/): this guide shows how to create a Kubernetes cluster manually. While you wouldn't normally set your clusters up in this way, doing it once can help provide a better understanding for how a cluster's components fit together. +- [Getting Started with Kubernetes - Basic Installation and Setup](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/): this guide shows how to create a Kubernetes cluster manually. While you wouldn't normally set your clusters up in this way, doing it once can help provide a better understanding for how a cluster's components fit together. ## Before You Begin -1. You will need to have a personal access token for Linode's API. If you don't have one already, follow the [Get an Access Token](/docs/products/tools/api/get-started/#get-an-access-token) section of our API guide and create a token with read/write permissions. +1. You will need to have a personal access token for Linode's API. If you don't have one already, follow the [Get an Access Token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) section of our API guide and create a token with read/write permissions. -1. If you do not already have a public-private SSH key pair, you will need to generate one. Follow the [Generate a Key Pair](/docs/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of our [Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) guide for instructions. +1. If you do not already have a public-private SSH key pair, you will need to generate one. Follow the [Generate a Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of our [Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide for instructions. {{< note >}} - If you're unfamiliar with the concept of public-private key pairs, the introduction to our [Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) guide explains what they are. + If you're unfamiliar with the concept of public-private key pairs, the introduction to our [Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide explains what they are. {{< /note >}} ## Install the k8s-alpha CLI The k8s-alpha CLI is bundled with the Linode CLI, and using it requires the installation and configuration of a few dependencies: -- [Terraform](#install-terraform): The k8s-alpha CLI creates clusters by defining a resource *plan* in Terraform and then having Terraform create those resources. If you're interested in how Terraform works, you can review our [Beginner's Guide to Terraform](/docs/guides/beginners-guide-to-terraform/), but doing so is not required to use the k8s-alpha CLI. +- [Terraform](#install-terraform): The k8s-alpha CLI creates clusters by defining a resource *plan* in Terraform and then having Terraform create those resources. If you're interested in how Terraform works, you can review our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/), but doing so is not required to use the k8s-alpha CLI. {{< note >}} The k8s-alpha CLI requires [Terraform version 0.12.0+](https://www.hashicorp.com/blog/announcing-terraform-0-12). @@ -94,7 +94,7 @@ The k8s-alpha CLI is bundled with the Linode CLI, and using it requires the inst ### Install the Linode CLI -Follow the [Install and Configure the Linode CLI](/docs/products/tools/cli/guides/install/) guide to install the Linode CLI. If you already have the CLI, upgrade it to the latest version available: +Follow the [Install and Configure the Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli) guide to install the Linode CLI. If you already have the CLI, upgrade it to the latest version available: ```command pip install --upgrade linode-cli @@ -102,7 +102,7 @@ pip install --upgrade linode-cli ### Install Terraform -Follow the instructions in the [Install Terraform](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) section of our [Use Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. +Follow the instructions in the [Install Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) guide. ### Install kubectl @@ -176,7 +176,7 @@ You will need to run all of your k8s-alpha CLI commands from the terminal that y Error creating a Linode Instance: [400] Account Limit reached. Please open a support ticket. ``` - If this appears, then you have run into a limit on the number of resources allowed on your Linode account. If this is the case, or if your nodes do not appear in the [Linode Cloud Manager](https://cloud.linode.com) as expected, contact [Linode Support](/docs/products/platform/get-started/guides/support/). This limit also applies to Block Storage Volumes and NodeBalancers, which some of your cluster app deployments may try to create. + If this appears, then you have run into a limit on the number of resources allowed on your Linode account. If this is the case, or if your nodes do not appear in the [Linode Cloud Manager](https://cloud.linode.com) as expected, contact [Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support). This limit also applies to Block Storage Volumes and NodeBalancers, which some of your cluster app deployments may try to create. {{< /note >}} 1. When the operation finishes, you will see options like the following: @@ -304,5 +304,5 @@ kubectl config unset users.example-cluster-kat7BqBBgU8 Now that you have a cluster up and running, you're ready to start deploying apps to it. Review our other Kubernetes guides for help with deploying software and managing your cluster: -- [Installing Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/) -- [Linode Container Storage Interface](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) \ No newline at end of file +- [Installing Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) +- [Linode Container Storage Interface](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) \ No newline at end of file diff --git a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md index affd759bc3b..75ef4f7b869 100644 --- a/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md +++ b/docs/guides/kubernetes/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/index.md @@ -57,20 +57,20 @@ You may need to update your local Rancher installation to see the Linode node dr The Rancher web application will run on a Linode in your Cloud Manager account. Create and prepare the Linode that will run Rancher: -1. Create a Linode running Ubuntu 18.04 in the data center of your choice. Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide for instructions on setting up your server. It is recommended that you create a 2GB Linode or larger. +1. Create a Linode running Ubuntu 18.04 in the data center of your choice. Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide for instructions on setting up your server. It is recommended that you create a 2GB Linode or larger. {{< note >}} You will be able to create Kubernetes clusters in any Linode data center from the Rancher UI, even if your Rancher Linode is located in a different region. {{< /note >}} 1. The Rancher web application is run inside a Docker container, so you will also need to install Docker CE on your Linode. Follow the instructions for [Installing and Using Docker on Ubuntu and Debian -](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/) and then return to this guide. +](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) and then return to this guide. You will also need to generate an API token and prepare a domain zone: -1. Rancher will need a Linode APIv4 token with read and write privileges from your Linode account in order to create your cluster. Review the instructions from the [Getting Started with the Linode API](/docs/products/tools/api/get-started/#get-an-access-token) guide to get a token. +1. Rancher will need a Linode APIv4 token with read and write privileges from your Linode account in order to create your cluster. Review the instructions from the [Getting Started with the Linode API](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) guide to get a token. -1. The [Set Up DNS](#set-up-dns-for-the-wordpress-app) section of this guide will assign an address to this guide's example app. In order to do so, you must already have a domain zone created in the Linode Cloud Manager. If you do not have a zone created, review the instructions from our [DNS Manager](/docs/products/networking/dns-manager/guides/create-domain/) guide. +1. The [Set Up DNS](#set-up-dns-for-the-wordpress-app) section of this guide will assign an address to this guide's example app. In order to do so, you must already have a domain zone created in the Linode Cloud Manager. If you do not have a zone created, review the instructions from our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) guide. {{< note >}} If you haven't purchased a domain name, then you can read along with the DNS section of this guide without implementing it in your own cluster. @@ -121,13 +121,13 @@ After you have your Linode up and running with Docker, you can then install and Rancher includes two kinds of integrations with hosting providers: -- A [*cluster driver*](https://rancher.com/docs/rancher/v2.x/en/admin-settings/drivers/cluster-drivers/) allows Rancher to create and administer a cloud host-launched Kubernetes cluster. In a host-launched Kubernetes cluster, your hosting platform operates the new cluster's control plane and etcd components, while you provision and configure your worker nodes (via Rancher as well). The LKE cluster driver is required to create clusters on Rancher powered by [LKE](/docs/products/compute/kubernetes/). +- A [*cluster driver*](https://rancher.com/docs/rancher/v2.x/en/admin-settings/drivers/cluster-drivers/) allows Rancher to create and administer a cloud host-launched Kubernetes cluster. In a host-launched Kubernetes cluster, your hosting platform operates the new cluster's control plane and etcd components, while you provision and configure your worker nodes (via Rancher as well). The LKE cluster driver is required to create clusters on Rancher powered by [LKE](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). - A [*node driver*](https://rancher.com/docs/rancher/v2.x/en/admin-settings/drivers/node-drivers/) allows Rancher to create and administer a Rancher-launched Kubernetes cluster. Rancher will directly provision your control plane and etcd nodes along with your worker nodes. Your cloud host does not manage your control plane and etcd components. ## Deploy an LKE Cluster on Rancher -The [Linode Kubernetes Engine](/docs/products/compute/kubernetes/) is a fully-managed orchestration Engine that can simplify the management of Kubernetes on Linode, capable of being supported by the Rancher platform. If an unmanaged option for Kubernetes is preferred, skip to the Deploying an [Unmanaged Kubernetes Cluster](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/#the-linode-node-driver-for-rancher) section. +The [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) is a fully-managed orchestration Engine that can simplify the management of Kubernetes on Linode, capable of being supported by the Rancher platform. If an unmanaged option for Kubernetes is preferred, skip to the Deploying an [Unmanaged Kubernetes Cluster](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/#the-linode-node-driver-for-rancher) section. ### The LKE Cluster Driver for Rancher @@ -155,7 +155,7 @@ Once Rancher been installed and the cluster driver has been activated, a new LKE ![Cluster Name Token](cluster-name-token.png) -1. Select the `Region` where the new cluster to be hosted, the `Kubernetes Version` the cluster will use, and any `tags` you would like to apply, along with any Cloud Manager [tags](/docs/products/tools/cloud-manager/guides/tags-and-groups/) you’d like to apply to your nodes. Click on the `Proceed to Node Pool Selection` button to proceed. +1. Select the `Region` where the new cluster to be hosted, the `Kubernetes Version` the cluster will use, and any `tags` you would like to apply, along with any Cloud Manager [tags](https://techdocs.akamai.com/cloud-computing/docs/tags-and-groups) you’d like to apply to your nodes. Click on the `Proceed to Node Pool Selection` button to proceed. ![Tags Regions and Version](tags-region-version-lke.png "Tags Region and Version") @@ -190,7 +190,7 @@ Rancher is shipped with a node driver for Linode that is activated by default. N ### Add a Node Template {{< note >}} -Nodes created using Rancher are dependent on the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) configuration option being enabled. Due to this, all nodes created using Rancher will have the Network Helper service enabled by default regardless of account wide settings, and disabling the service manually is not recommended. +Nodes created using Rancher are dependent on the [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking) configuration option being enabled. Due to this, all nodes created using Rancher will have the Network Helper service enabled by default regardless of account wide settings, and disabling the service manually is not recommended. {{< /note >}} [*Node templates*](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/node-pools/#node-templates) are used by Rancher to provision cluster nodes. When you create a node template, you can specify configuration parameters, like the region, instance type, and Linux image that should be used for any node in the cluster. You can set different templates for different clusters, which allows you to choose the right resources for your different workloads. @@ -208,7 +208,7 @@ Before provisioning your cluster, you will need to add the node template it will 1. Click on the **Create** button. -1. Another dialog appears which accepts options for your new node template. Under the **Instance Options** section, set the preferred region, instance type, and Linux image for your nodes, along with any Cloud Manager [tags](/docs/products/tools/cloud-manager/guides/tags-and-groups/) you’d like to apply to your nodes. +1. Another dialog appears which accepts options for your new node template. Under the **Instance Options** section, set the preferred region, instance type, and Linux image for your nodes, along with any Cloud Manager [tags](https://techdocs.akamai.com/cloud-computing/docs/tags-and-groups) you’d like to apply to your nodes. ![Rancher Add Node Template form - Linode options](add-node-template-linode-options.png "The Linode options in the Add Node Template form") @@ -300,7 +300,7 @@ Before provisioning your cluster, you will need to add the node template it will 1. If you visit the list of your Linodes in the Linode Cloud Manager, you will see the new nodes in your cluster. {{< note >}} - If your nodes do not appear in the Linode Cloud Manager as expected, then you may have run into a limit on the number of resources allowed on your Linode account. Contact [Linode Support](/docs/products/platform/get-started/guides/support/) if you believe this may be the case. + If your nodes do not appear in the Linode Cloud Manager as expected, then you may have run into a limit on the number of resources allowed on your Linode account. Contact [Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) if you believe this may be the case. {{< /note >}} ## Explore the New Cluster diff --git a/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md index 6425ff2e156..3b13fbe2110 100644 --- a/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/index.md @@ -20,7 +20,7 @@ aliases: ['/kubernetes/how-to-deploy-linkerd-with-linode-kubernetes-engine/'] [Linkerd 2](https://linkerd.io) is an ultra lightweight service mesh that monitors, reports, and encrypts connections between Kubernetes services without disturbing the existing applications. It does this by employing proxy sidecars along each instance. -Unlike [Istio](/docs/guides/how-to-deploy-istio-with-kubernetes/), another service mesh monitoring tool, it provides it's own proxies written in Rust instead of using Envoy. This makes it both lighter and more secure. +Unlike [Istio](/cloud/guides/how-to-deploy-istio-with-kubernetes/), another service mesh monitoring tool, it provides it's own proxies written in Rust instead of using Envoy. This makes it both lighter and more secure. {{< note >}} Linkerd 1.x is still available and is being actively developed as a separate project. However, it is built on the "Twitter stack" and is not for Kubernetes. Linkerd 2 is built in Rust and Go and only supports Kubernetes. @@ -39,16 +39,16 @@ This guide provides instructions to: {{< note type="alert" >}} This guide’s example instructions create several billable resources on your Linode account. If you do not want to keep using the example cluster that you create, be sure to delete it 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 and for a table of plan pricing. +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 and for a table of plan pricing. {{< /note >}} ## Before You Begin -Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/docs/guides/kubernetes-use-cases/). +Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). ## Create an LKE Cluster -Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to create and connect to an LKE cluster. +Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) to create and connect to an LKE cluster. {{< note >}} Linkerd 2 requires Kubernetes version 1.13+. Linode Kubernetes Engine clusters currently support Kubernetes versions 1.15, 1.16, and 1.17. @@ -255,7 +255,7 @@ Linkerd comes with two dashboards, a Linkerd dashboard and the [Grafana](https:/ - This command sets up a port forward from the `linkerd-web` Pod. - - If you want to expose the dashboard for others to use as well, you need to add an [ingress controller](/docs/guides/deploy-nginx-ingress-on-lke/). + - If you want to expose the dashboard for others to use as well, you need to add an [ingress controller](/cloud/guides/deploy-nginx-ingress-on-lke/). 1. The dashboard opens in the browser. If it does not, you can access it by going to http://localhost:50750: @@ -281,7 +281,7 @@ Linkerd comes with two dashboards, a Linkerd dashboard and the [Grafana](https:/ To demonstrate the full ease of use and utility of Linkerd, deploy Drupal on the cluster and monitor it using Linkerd. -1. Follow the [How to Install Drupal with Linode Kubernetes Engine](/docs/guides/how-to-install-drupal-with-linode-kubernetes-engine/) guide to install Drupal onto your LKE cluster. +1. Follow the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine/) guide to install Drupal onto your LKE cluster. ### Add Linkerd to Drupal diff --git a/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md b/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md index eb929dabcd5..982625c1d73 100644 --- a/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md +++ b/docs/guides/kubernetes/how-to-deploy-nginx-on-a-kubernetes-cluster/index.md @@ -36,7 +36,7 @@ You can now create a Kubernetes cluster with one command using the Linode CLI. T You will need: -- Two or more Linodes with [Private IPs](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) +- Two or more Linodes with [Private IPs](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) - Each Linode should have a 64-bit distribution of either: - Ubuntu 16.04+ - Debian 9 @@ -52,9 +52,9 @@ The steps in this guide create a two-node cluster. Evaluate your own resource re 1. Create two Linodes with at least 2GB memory within the same data center. -1. For each node, go into the **Networking** tab of the Linode Cloud Manager and add a [private IP](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address). It is possible to build a Kubernetes cluster using public IPs between data centers, but performance and security may suffer. +1. For each node, go into the **Networking** tab of the Linode Cloud Manager and add a [private IP](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address). It is possible to build a Kubernetes cluster using public IPs between data centers, but performance and security may suffer. -1. Configure a firewall with [UFW](/docs/guides/configure-firewall-with-ufw/) or [iptables](/docs/guides/control-network-traffic-with-iptables/) to ensure only the two nodes can communicate with each other. +1. Configure a firewall with [UFW](/cloud/guides/configure-firewall-with-ufw/) or [iptables](/cloud/guides/control-network-traffic-with-iptables/) to ensure only the two nodes can communicate with each other. When configuring your firewall, a good place to start is to create rules for the ports Kubernetes requires to function. This includes any inbound traffic on Master nodes and their required ports. If you have changed any custom ports, you should ensure those ports are also open. Master Nodes will have a public IP address or `192.168.0.0/16`. See the chart below for more details. @@ -465,7 +465,7 @@ chmod 700 get_helm.sh ./get_helm.sh ``` -For more details on Helm and installing Helm, see [How to Install Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/). +For more details on Helm and installing Helm, see [How to Install Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/). ### Installing Ingress Controller diff --git a/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md b/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md index e88cdea9aca..5098dfb77c5 100644 --- a/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md +++ b/docs/guides/kubernetes/how-to-deploy-the-elastic-stack-on-kubernetes/index.md @@ -40,21 +40,21 @@ You can further use the Elastic Stack deployed and configured for application lo {{< note type="alert" >}} This guide's example instructions creates the following billable resources on the Linode account: four (4) Linodes and three (3) Block Storage volumes. If you do not want to keep using the example cluster that you create, be sure to delete the cluster Linodes and volumes after you have finished the guide. -If you remove the resources afterward, you are billed only for the hour(s) that the resources were present on the account. For more information, see [Billing and Payments](/docs/products/platform/billing/) guide about how hourly billing works and for a table of plan pricing. +If you remove the resources afterward, you are billed only for the hour(s) that the resources were present on the account. For more information, see [Billing and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works) guide about how hourly billing works and for a table of plan pricing. {{< /note >}} ## Before You Begin {{< note >}} -This guide uses Kubernetes services which are private by default. Local listeners are opened which allow you to access the services on the local browser, however, web servers and NodeBalancers are out scope for this guide. Due to this, you should complete the steps of this guide from the local computer or from a computer that gives you access to the web browser. If you want to access these services from a public domain, please see the [Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/) guide. +This guide uses Kubernetes services which are private by default. Local listeners are opened which allow you to access the services on the local browser, however, web servers and NodeBalancers are out scope for this guide. Due to this, you should complete the steps of this guide from the local computer or from a computer that gives you access to the web browser. If you want to access these services from a public domain, please see the [Getting Started with NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) guide. {{< /note >}} 1. [Install the Kubernetes CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) (`kubectl`) on the local computer. -1. Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to create and connect to an LKE cluster. +1. Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) to create and connect to an LKE cluster. {{< note >}} - Ensure that the LKE cluster that you create has three nodes and one master node with 4GB Linode instances. Also ensure that the `KUBECONFIG` context is [persistent](/docs/products/compute/kubernetes/guides/kubectl/#persist-the-kubeconfig-context) + Ensure that the LKE cluster that you create has three nodes and one master node with 4GB Linode instances. Also ensure that the `KUBECONFIG` context is [persistent](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl#persist-the-kubeconfig-context) {{< /note >}} 1. You should also make sure that Kubernetes CLI is using the right cluster context. Run the `get-contexts` subcommand to check: @@ -63,7 +63,7 @@ This guide uses Kubernetes services which are private by default. Local listener kubectl config get-contexts ``` -1. Set up Helm in the Kubernetes cluster by following the [Install Helm](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) section in the *How to Install Apps on Kubernetes with Helm 3* guide. +1. Set up Helm in the Kubernetes cluster by following the [Install Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm) section in the *How to Install Apps on Kubernetes with Helm 3* guide. ## Configure Helm diff --git a/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-2/index.md b/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-2/index.md index ed6fc2151c7..75dec720d1a 100644 --- a/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-2/index.md +++ b/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-2/index.md @@ -378,7 +378,7 @@ The [`helm install` command](https://v2.helm.sh/docs/using_helm/#helm-install-in 1. You haven't set up DNS for your site yet, but you can instead access the admin interface by visiting the `ghost` URL on your LoadBalancer IP address (e.g. `http://104.237.148.15/ghost`). Visit this page in your browser and then enter your email and password. You should be granted access to the administrative interface. -1. Set up DNS for your app. You can do this by creating an *A record* for your domain which is assigned to the external IP for your app's LoadBalancer. Review Linode's [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions. +1. Set up DNS for your app. You can do this by creating an *A record* for your domain which is assigned to the external IP for your app's LoadBalancer. Review Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions. ## Upgrade your App diff --git a/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md b/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md index 9d08a31aa88..2a69436ba24 100644 --- a/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md +++ b/docs/guides/kubernetes/how-to-install-apps-on-kubernetes-with-helm-3/index.md @@ -100,7 +100,7 @@ The Helm client software issues commands to your cluster. You run the client sof 1. [Install the Kubernetes CLI](https://kubernetes.io/docs/tasks/tools/install-kubectl/) (`kubectl`) on your computer, if it is not already. -1. You should have a Kubernetes cluster running prior to starting this guide. One quick way to get a cluster up is with [Linode's Kubernetes Engine](/docs/products/compute/kubernetes/). This guide's examples only require a cluster with one worker node. We recommend that you create cluster nodes that are at the Linode 4GB tier (g6-standard-2) or higher. This guide also assumes that your cluster has [role-based access control (RBAC)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) enabled. This feature became available in Kubernetes 1.6 and later. +1. You should have a Kubernetes cluster running prior to starting this guide. One quick way to get a cluster up is with [Linode's Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This guide's examples only require a cluster with one worker node. We recommend that you create cluster nodes that are at the Linode 4GB tier (g6-standard-2) or higher. This guide also assumes that your cluster has [role-based access control (RBAC)](https://kubernetes.io/docs/reference/access-authn-authz/rbac/) enabled. This feature became available in Kubernetes 1.6 and later. {{% content "k8s-alpha-deprecation-shortguide" %}} @@ -120,7 +120,7 @@ The Helm client software issues commands to your cluster. You run the client sof kubectl config use-context your-cluster-name ``` -1. It is beneficial to have a registered [domain name](/docs/guides/dns-overview/) for this guide's example app, but it is not required. +1. It is beneficial to have a registered [domain name](/cloud/guides/dns-overview/) for this guide's example app, but it is not required. ## Install Helm @@ -283,7 +283,7 @@ The [`helm install` command](https://helm.sh/docs/intro/using_helm/#helm-install 1. If you haven't set up DNS for your site yet, you can instead access the admin interface by visiting the `ghost` URL on your LoadBalancer IP address (e.g. `http://104.237.148.66/ghost`). Visit this page in your browser and then follow the steps to complete admin account creation. You should be granted access to the administrative interface. -1. To set up DNS for your app, create an *A record* for your domain which is assigned to the external IP for your app's LoadBalancer. Review Linode's [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions. +1. To set up DNS for your app, create an *A record* for your domain which is assigned to the external IP for your app's LoadBalancer. Review Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions. ## Upgrade your App diff --git a/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md b/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md index ee5064f0935..8e9072f0c67 100644 --- a/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md +++ b/docs/guides/kubernetes/how-to-install-drupal-with-linode-kubernetes-engine/index.md @@ -26,16 +26,16 @@ This guide provides instructions to: {{< note type="alert" >}} This guide’s example instructions create several billable resources on your Linode account. If you do not want to keep using the example cluster that you create, be sure to delete it 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 and for a table of plan pricing. +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 and for a table of plan pricing. {{< /note >}} ## Before You Begin -Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/docs/guides/kubernetes-use-cases/). +Familiarize yourself with Kubernetes using our series [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) and [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). ## Create an LKE Cluster -Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to create and connect to an LKE cluster. +Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) to create and connect to an LKE cluster. ## Create Manifest Files @@ -369,7 +369,7 @@ You need to log into the `mysql` Pod to set the root password for the Drupal UI 1. In the browser, type the IP address listed under `EXTERNAL_IP` from the `kubectl get services drupal` command above followed by the port `:8081`, for example, `http://192.0.2.3:8081`. The Drupal configuration page appears. {{< note >}} - If you have a registered domain name that you want to use for the Drupal website, add the domain in [Cloud Manager](http://cloud.linode.com) and select **Insert default records from one of my NodeBalancers** option. In this case, the `EXTERNAL_IP` address is the IP address of the NodeBalancer. For more information, see [Add a Domain](/docs/products/networking/dns-manager/guides/create-domain/). + If you have a registered domain name that you want to use for the Drupal website, add the domain in [Cloud Manager](http://cloud.linode.com) and select **Insert default records from one of my NodeBalancers** option. In this case, the `EXTERNAL_IP` address is the IP address of the NodeBalancer. For more information, see [Add a Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain). {{< /note >}} ![Drupal Configuration Screen](install-drupal-setup.png "Drupal Configuration Screen") diff --git a/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md b/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md index 489098da73d..30e560a0f9b 100644 --- a/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md +++ b/docs/guides/kubernetes/how-to-install-hashicorp-consul-service-mesh/index.md @@ -14,13 +14,13 @@ external_resources: - '[Helm Chart Configuration](https://www.consul.io/docs/k8s/helm)' --- -[Consul](https://www.consul.io/) is a service mesh offered by HashiCorp, with robust service discovery and diagnostic features for managing your application's services. You can learn more about service meshes in our guide [What Is a Service Mesh?](/docs/guides/what-is-a-service-mesh/). Consul offers a balanced approach between flexibility and usability that makes it a compelling option for managing your service-oriented applications. +[Consul](https://www.consul.io/) is a service mesh offered by HashiCorp, with robust service discovery and diagnostic features for managing your application's services. You can learn more about service meshes in our guide [What Is a Service Mesh?](/cloud/guides/what-is-a-service-mesh/). Consul offers a balanced approach between flexibility and usability that makes it a compelling option for managing your service-oriented applications. In this guide, you can see how to install and get started using the Consul service mesh with a Kubernetes cluster. You can get started with Kubernetes with our [Linode Kubernetes Engine](https://www.linode.com/products/kubernetes/) (LKE). ## Before You Begin -- Follow the [Linode Kubernetes Engine - Get Started](/docs/products/compute/kubernetes/get-started/) guide to create a Kubernetes cluster using LKE. +- Follow the [Linode Kubernetes Engine - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide to create a Kubernetes cluster using LKE. - Make sure you install `kubectl` on your local machine and download your cluster's `kubeconfig` file. ## Setting Up Consul diff --git a/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md b/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md index 3fdae425bf3..899fc33984a 100644 --- a/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md +++ b/docs/guides/kubernetes/how-to-install-rooknfs-on-lke/index.md @@ -17,8 +17,8 @@ Rook NFS allows remote hosts to mount filesystems over a network and interact wi ## Before you Begin -- This guide assumes that you already have an LKE cluster up and running. If that is not the case, please follow the instructions in our [LKE Tutorial](/docs/products/compute/kubernetes/). -- This guide relies on git wherever `kubectl` is installed. While git is installed on many Linux distributions, others may require manual installation. Git can be installed on most distributions by following our [Git Installation Guide](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) +- This guide assumes that you already have an LKE cluster up and running. If that is not the case, please follow the instructions in our [LKE Tutorial](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). +- This guide relies on git wherever `kubectl` is installed. While git is installed on many Linux distributions, others may require manual installation. Git can be installed on most distributions by following our [Git Installation Guide](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) ## Installing Rook NFS on LKE diff --git a/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md b/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md index 759ea1d562b..97fa9a91cb2 100644 --- a/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md +++ b/docs/guides/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/index.md @@ -13,15 +13,15 @@ image: L_Migratefromk8s-alphaCLItoTerraform.png concentrations: ["Kubernetes"] external_resources: - '[Kubernetes Concepts Documentation](https://kubernetes.io/docs/concepts/)' -- '[Beginners Guide to Terraform](/docs/guides/beginners-guide-to-terraform/)' -- '[Using Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' +- '[Beginners Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/)' +- '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' aliases: ['/kubernetes/how-to-migrate-from-k8s-alpha-to-terraform/'] build: list: false deprecated: true --- -The [k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters created by the k8s-alpha CLI plugin, however, you will still be able to successfully manage your clusters using the [Kubernetes Terraform installer for Linode Instances](https://github.com/linode/terraform-linode-k8s). +The [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) is deprecated. On **March 31st, 2020**, it will be **removed** from the [linode-cli](https://github.com/linode/linode-cli). After March 31, 2020, you will no longer be able to create or manage clusters created by the k8s-alpha CLI plugin, however, you will still be able to successfully manage your clusters using the [Kubernetes Terraform installer for Linode Instances](https://github.com/linode/terraform-linode-k8s). ## In This Guide You will use the Kubernetes Terraform installer for Linode Instances to continue to manage and support clusters created using the k8s-alpha CLI plugin following the EOL date and beyond. You will learn how to: @@ -54,7 +54,7 @@ drwxr-xr-x 3 username staff 96 Dec 11 08:10 terraform.tfstate.d - `cluster.tf` is the Terraform module file. This is the most important file here because it will allow you to scale, upgrade, and delete your cluster. {{< note >}} -For more information regarding these files and directories and their contents, see our [Beginner's Guide to Terraform](/docs/guides/beginners-guide-to-terraform/) +For more information regarding these files and directories and their contents, see our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/) {{< /note >}} ### Scale a Cluster diff --git a/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md b/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md index d9d9bd8b791..4aae3e138aa 100644 --- a/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md +++ b/docs/guides/kubernetes/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/index.md @@ -23,19 +23,19 @@ Hosting a private Docker registry alongside your Kubernetes cluster allows you t This guide was written using [Kubernetes version 1.17](https://v1-17.docs.kubernetes.io/docs/setup/release/notes/). {{< /note >}} -1. [Deploy a LKE Cluster](/docs/products/compute/kubernetes/). This example was written using a node pool with two [2 GB nodes](https://www.linode.com/pricing/). Depending on the workloads you will be deploying on your cluster, you may consider using nodes with higher resources. +1. [Deploy a LKE Cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). This example was written using a node pool with two [2 GB nodes](https://www.linode.com/pricing/). Depending on the workloads you will be deploying on your cluster, you may consider using nodes with higher resources. -1. Install [Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm), [kubectl](/docs/products/compute/kubernetes/guides/kubectl/), and [Docker](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/) to your local environment. +1. Install [Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/#install-helm), [kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl), and [Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) to your local environment. {{< note >}} For Docker installation instructions on other operating systems, see [Docker's official documentation](https://docs.docker.com/get-docker/). {{< /note >}} -1. Configure kubectl to work with your new LKE cluster. See [Connect to your LKE Cluster with kubectl](/docs/products/compute/kubernetes/guides/kubectl/). +1. Configure kubectl to work with your new LKE cluster. See [Connect to your LKE Cluster with kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl). -1. [Generate an Object Storage key pair](/docs/products/storage/object-storage/guides/access-keys/) and ensure you save it in a secure location. You will need the key pair for a later section in this guide. Finally [create an Object Storage bucket](/docs/products/storage/object-storage/guides/manage-buckets/) to store your registry's images. Throughout this guide, the example bucket name will be `registry`. +1. [Generate an Object Storage key pair](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) and ensure you save it in a secure location. You will need the key pair for a later section in this guide. Finally [create an Object Storage bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) to store your registry's images. Throughout this guide, the example bucket name will be `registry`. -1. Purchase a domain name from a reliable domain registrar. Using Linode's DNS Manager, [create a new Domain](/docs/products/networking/dns-manager/guides/create-domain/) and [add an DNS "A" record](/docs/products/networking/dns-manager/guides/manage-dns-records/) for a subdomain named `registry`. Your subdomain will host your Docker registry. This guide will use `registry.example.com` as the example domain. +1. Purchase a domain name from a reliable domain registrar. Using Linode's DNS Manager, [create a new Domain](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) and [add an DNS "A" record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) for a subdomain named `registry`. Your subdomain will host your Docker registry. This guide will use `registry.example.com` as the example domain. {{< note >}} Optionally, you can create a Wildcard DNS record, `*.example.com`. In a later section, you will point your DNS A record to a Linode NodeBalancer's external IP address. Using a Wildcard DNS record, will allow you to expose your Kubernetes services without requiring further configuration using the Linode DNS Manager. @@ -108,7 +108,7 @@ In this section, you will install the NGINX Ingress Controller using Helm, which ingress-nginx-controller LoadBalancer 10.128.169.60 192.0.2.0 80:32401/TCP,443:30830/TCP 7h51m app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx ``` -1. Copy the IP address of the `EXTERNAL IP` field and navigate to Linode's DNS manager and [update your domain's' `registry` A record](/docs/products/networking/dns-manager/guides/manage-dns-records/) with the external IP address. Ensure that the entry's **TTL** field is set to **5 minutes**. +1. Copy the IP address of the `EXTERNAL IP` field and navigate to Linode's DNS manager and [update your domain's' `registry` A record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) with the external IP address. Ensure that the entry's **TTL** field is set to **5 minutes**. Now that your NGINX Ingress Controller has been deployed and your subdomain's A record has been updated, you are ready to enable HTTPS on your Docker registry. @@ -323,16 +323,16 @@ Your LKE Cluster will also need to authenticate to your Docker registry in order Before deploying the Docker Registry Helm chart to your cluster, you will define some configurations so that the Docker registry uses the NGINX Ingress controller, your `registry` Object Storage bucket, and your cert-manager created TLS certificate. See the [Helm Chart's official documentation](https://helm.sh/docs/topics/registries/) for more information about registries. {{< note >}} -If you have not yet [generated an Object Storage key pair](/docs/products/storage/object-storage/guides/access-keys/) and [created an Object Storage bucket](/docs/products/storage/object-storage/guides/manage-buckets/) to store your registry's images, do so now before continuing with the rest of this section. +If you have not yet [generated an Object Storage key pair](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) and [created an Object Storage bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) to store your registry's images, do so now before continuing with the rest of this section. {{< / note >}} 1. Create a new file named `docker-configs.yaml` using the example configurations. Ensure you replace the following values in your file: - `ingress.hosts` with your own Docker registry's domain - `ingress.tls.secretName` with the name you used when [creating your Certificate](#create-a-certificate-resource) - `ingress.tls.hosts` with the domain for which you wish to secure with your TLS certificate. - - `secrets.s3.accessKey` with the value of your [Object Storage account's access key](/docs/products/storage/object-storage/guides/access-keys/) and `secrets.s3.secretKey` with the corresponding secret key. + - `secrets.s3.accessKey` with the value of your [Object Storage account's access key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) and `secrets.s3.secretKey` with the corresponding secret key. - `secrets.htpasswd` with the value returned when you view the contents of your `my_docker_pass` file. However, ensure you do not remove the `|-` characters. This ensures that your YAML is properly formatted. See step 4 in the [Enable Basic Authentication](#enable-basic-authentication) section for details on viewing the contents of your password file. - - `s3.region` with your Object Storage bucket's cluster region, `s3.regionEndpoint` with your Object Storage bucket's region endpoint, and `s3.bucket` with your registry's Object Storage bucket name. For more information about these values, see [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/). + - `s3.region` with your Object Storage bucket's cluster region, `s3.regionEndpoint` with your Object Storage bucket's region endpoint, and `s3.bucket` with your registry's Object Storage bucket name. For more information about these values, see [Access Buckets and Files through URLs](https://techdocs.akamai.com/cloud-computing/docs/access-buckets-and-files-through-urls). ```file {title="~/registry/docker-configs.yaml" lang=yaml} ingress: @@ -399,7 +399,7 @@ If you have not yet [generated an Object Storage key pair](/docs/products/storag You are now ready to push and pull images to your Docker registry. In this section you will pull an existing image from Docker Hub and then push it to your registry. Then, in the next section, you will use your registry's image to deploy an example static site. -1. Use Docker to pull an image from [Docker Hub](https://hub.docker.com/). This example is using an image that was created following our [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/docs/guides/deploy-container-image-to-kubernetes/) guide. The image will build a Hugo static site with some boiler plate content. However, you can use any image from Docker Hub that you prefer. +1. Use Docker to pull an image from [Docker Hub](https://hub.docker.com/). This example is using an image that was created following our [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes/) guide. The image will build a Hugo static site with some boiler plate content. However, you can use any image from Docker Hub that you prefer. ```command sudo docker pull leslitagordita/hugo-site:v10 @@ -440,7 +440,7 @@ You are now ready to push and pull images to your Docker registry. In this secti In this section, you will create a test deployment using the image that you pushed to your registry in the previous section. This will ensure that your cluster can authenticate to your Docker registry and pull images from it. -1. Using Linode's DNS manager to [create a new subdomain A record](/docs/products/networking/dns-manager/guides/manage-dns-records/) to host your static site. The example will use `static.example.com`. When creating your record, assign your cluster's NodeBalancer external IP address as the IP address. You can find the external IP address with the following command: +1. Using Linode's DNS manager to [create a new subdomain A record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) to host your static site. The example will use `static.example.com`. When creating your record, assign your cluster's NodeBalancer external IP address as the IP address. You can find the external IP address with the following command: ```command kubectl --namespace default get services -o wide -w nginx-ingress-controller @@ -524,4 +524,4 @@ In this section, you will create a test deployment using the image that you push ## (Optional) Tear Down your Kubernetes Cluster -To avoid being further billed for your Kubernetes cluster and NodeBlancer, [delete your cluster using the Linode Cloud Manager](/docs/products/compute/kubernetes/guides/manage-clusters/#delete-a-cluster). Similarly, to avoid being further billed for our registry's Object Storage bucket, see [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/). +To avoid being further billed for your Kubernetes cluster and NodeBlancer, [delete your cluster using the Linode Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/manage-kubernetes-clusters-on-lke#delete-a-cluster). Similarly, to avoid being further billed for our registry's Object Storage bucket, see [Cancel Object Storage](https://techdocs.akamai.com/cloud-computing/docs/cancel-object-storage). diff --git a/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md b/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md index 805a12cfef1..9cd9a4185ae 100644 --- a/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md +++ b/docs/guides/kubernetes/install-the-linode-block-storage-csi-driver-on-unmanaged-kubernetes/index.md @@ -22,15 +22,15 @@ To learn more about the Container Storage Interface (CSI) Driver for Linode Bloc ## What is the Linode Block Storage CSI Driver? -The [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md) (CSI) defines a standard that storage providers can use to expose block and file storage systems to container orchestration systems. Linode's Block Storage CSI driver follows this specification to allow container orchestration systems, like Kubernetes, to use [Block Storage Volumes](/docs/products/storage/block-storage/) to persist data despite a Pod's lifecycle. A Block Storage Volume can be attached to any Linode to provide additional storage. +The [Container Storage Interface](https://github.com/container-storage-interface/spec/blob/master/spec.md) (CSI) defines a standard that storage providers can use to expose block and file storage systems to container orchestration systems. Linode's Block Storage CSI driver follows this specification to allow container orchestration systems, like Kubernetes, to use [Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/block-storage) to persist data despite a Pod's lifecycle. A Block Storage Volume can be attached to any Linode to provide additional storage. ## Before You Begin -This guide assumes you have a working Kubernetes cluster running on Linode. If you have already created a Kubernetes cluster managed with [LKE](/docs/products/compute/kubernetes/), then the Block Storage CSI driver and the `linode` secret token will already be pre-installed on your cluster. See the [Deploying Persistent Volume Claims with the Linode Block Storage CSI Driver](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver) guide for the next steps for working with Persistent Volume Claims. +This guide assumes you have a working Kubernetes cluster running on Linode. If you have already created a Kubernetes cluster managed with [LKE](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine), then the Block Storage CSI driver and the `linode` secret token will already be pre-installed on your cluster. See the [Deploying Persistent Volume Claims with the Linode Block Storage CSI Driver](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver) guide for the next steps for working with Persistent Volume Claims. -If you are not using LKE or the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2), the Kubernetes cluster will require the Block Storage CSI driver to be installed on the cluster in order to use Linode's Block Storage. If you need to set up an unmanaged Kubernetes cluster, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/) guide to do this. +If you are not using LKE or the [Kubernetes Terraform installer](https://registry.terraform.io/modules/linode/k8s/linode/0.1.2), the Kubernetes cluster will require the Block Storage CSI driver to be installed on the cluster in order to use Linode's Block Storage. If you need to set up an unmanaged Kubernetes cluster, you can follow the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) guide to do this. -The Linode Block Storage CSI driver **absolutely requires** that the Linode Cloud Controller Manager (CCM) is pre-installed and running on your cluster in order for the CSI to be installed. Follow the steps in our [CCM installation guide](/docs/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) before proceeding. +The Linode Block Storage CSI driver **absolutely requires** that the Linode Cloud Controller Manager (CCM) is pre-installed and running on your cluster in order for the CSI to be installed. Follow the steps in our [CCM installation guide](/cloud/guides/install-the-linode-ccm-on-unmanaged-kubernetes/) before proceeding. {{< note >}} The Block Storage CSI supports Kubernetes version 1.13 or higher. To check the version of Kubernetes you are running, you can issue the following command: @@ -85,7 +85,7 @@ Once you have your API token, it's time to create your secret. read -p "Linode Region of Cluster: " LINODE_REGION ``` - You can retrieve a full list of regions by using the [Linode CLI](/docs/products/tools/cli/get-started/): + You can retrieve a full list of regions by using the [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli): ```command linode-cli regions list @@ -144,4 +144,4 @@ The above file concatenates a few files needed to run the Block Storage CSI driv ### Next Steps -Once you have the Block Storage CSI driver installed, you are ready to [provision a Persistent Volume Claim](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver). \ No newline at end of file +Once you have the Block Storage CSI driver installed, you are ready to [provision a Persistent Volume Claim](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver). \ No newline at end of file diff --git a/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md b/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md index aa9a5aa1138..bb8b1cdc456 100644 --- a/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md +++ b/docs/guides/kubernetes/install-the-linode-ccm-on-unmanaged-kubernetes/index.md @@ -14,18 +14,18 @@ image: TutInstall_LinCCM_UnmanagedKubCluster.png aliases: ['/kubernetes/installing-the-linode-ccm-on-an-unmanaged-kubernetes-cluster/','/guides/installing-the-linode-ccm-on-an-unmanaged-kubernetes-cluster/'] --- -The [Linode Cloud Controller Manager (CCM)](https://github.com/linode/linode-cloud-controller-manager/) provides a way for Kubernetes clusters to access additional Linode services. Linode’s CCM provides access to Linode’s load balancing service, [Linode NodeBalancers](/docs/products/networking/nodebalancers/). +The [Linode Cloud Controller Manager (CCM)](https://github.com/linode/linode-cloud-controller-manager/) provides a way for Kubernetes clusters to access additional Linode services. Linode’s CCM provides access to Linode’s load balancing service, [Linode NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer). NodeBalancers provide your Kubernetes cluster with a reliable way of exposing resources to the public internet. The Linode CCM handles the creation and deletion of the NodeBalancer, and, along with other Master Plane components, correctly identifies the resources, and their networking, that the NodeBalancer will route traffic to. Whenever a Kubernetes Service of the `LoadBalancer` type is created, your Kubernetes cluster will create a Linode NodeBalancer service with the help of the Linode CCM. {{< note >}} This guide shows you how to manually install the Linode CCM on an **unmanaged** Kubernetes cluster. This guide exists to support special use cases. For example, if you would like to experiment with various elements of a Kubernetes control plane. -If you would like to use Kubernetes for production scenarios and make use of Linode NodeBalancers to expose your cluster's resources, it is recommended that you [use the Linode Kubernetes Engine to deploy your cluster](/docs/products/compute/kubernetes/). An LKE cluster's control plane has the Linode CCM preinstalled and does not require any of the steps included in this guide. +If you would like to use Kubernetes for production scenarios and make use of Linode NodeBalancers to expose your cluster's resources, it is recommended that you [use the Linode Kubernetes Engine to deploy your cluster](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). An LKE cluster's control plane has the Linode CCM preinstalled and does not require any of the steps included in this guide. Another option for deploying Kubernetes clusters on Linode is to use [Cluster API Provider Linode (CAPL)](https://linode.github.io/cluster-api-provider-linode/). It provisions a management Kubernetes cluster which can then be used to provision and manage multiple other child Kubernetes clusters on Linode. It installs CCM by default and supports provisioning Kubernetes clusters using kubeadm, rke2 and k3s. -If you have used the Linode Kubernetes Engine (LKE) or Cluster API Provider Linode (CAPL) to deploy your cluster, you should refer to the [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](/docs/products/compute/kubernetes/guides/load-balancing/) guide for steps on adding and configuring NodeBalancers on your Kubernetes cluster. +If you have used the Linode Kubernetes Engine (LKE) or Cluster API Provider Linode (CAPL) to deploy your cluster, you should refer to the [Getting Started with Load Balancing on a Linode Kubernetes Engine (LKE) Cluster](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster) guide for steps on adding and configuring NodeBalancers on your Kubernetes cluster. {{< /note >}} ## In this Guide @@ -44,15 +44,15 @@ Instructions are shown for manually installing the Linode CCM on your unmanaged ### Before You Begin -1. Deploy a new **unmanaged** Kubernetes cluster. You can deploy an unmanaged Kubernetes cluster on Linode by following the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/) +1. Deploy a new **unmanaged** Kubernetes cluster. You can deploy an unmanaged Kubernetes cluster on Linode by following the [Getting Started with Kubernetes: Use kubeadm to Deploy a Cluster on Linode](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/) {{< note >}} It is recommended that you install the Linode CCM on a new Kubernetes cluster, as there are a number of issues that prevent the CCM from running on Nodes that are in the "Ready" state. {{< /note >}} -1. Ensure you have [kubectl installed](/docs/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/#install-kubectl) on your local computer and you can access your Kubernetes cluster with it. +1. Ensure you have [kubectl installed](/cloud/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/#install-kubectl) on your local computer and you can access your Kubernetes cluster with it. -1. Generate a [Linode APIv4 token](/docs/products/tools/api/get-started/#get-an-access-token). This is required for both methods of installing the Linode CCM in this guide. +1. Generate a [Linode APIv4 token](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token). This is required for both methods of installing the Linode CCM in this guide. ## Running the Linode Cloud Controller Manager @@ -92,7 +92,7 @@ For advanced configuration, one can specify their own [values.yaml](https://gith The Linode CCM's GitHub repository provides a helper script that creates a Kubernetes manifest file that you can use to install the CCM on your cluster. These steps should be run on your local computer and were tested on a macOS workstation. -1. [Install Git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer. +1. [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer. 1. Clone the [Linode CCM's GitHub repository](https://github.com/linode/linode-cloud-controller-manager). @@ -106,7 +106,7 @@ The Linode CCM's GitHub repository provides a helper script that creates a Kuber cd linode-cloud-controller-manager/deploy/ ``` -1. Run the `generate-manifest.sh` script. Ensure you replace `$LINODE_API_TOKEN` with your own Linode APIv4 token and `us-east` with the Linode region where your cluster resides. To view a list of regions, you can use the [Linode CLI](/docs/products/tools/cli/get-started/), or you can view the [Regions API endpoint](https://api.linode.com/v4/regions). +1. Run the `generate-manifest.sh` script. Ensure you replace `$LINODE_API_TOKEN` with your own Linode APIv4 token and `us-east` with the Linode region where your cluster resides. To view a list of regions, you can use the [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli), or you can view the [Regions API endpoint](https://api.linode.com/v4/regions). ```command ./generate-manifest.sh $LINODE_API_TOKEN us-east @@ -165,4 +165,4 @@ The easiest way to update the Linode CCM is to edit the DaemonSet that creates t ## Next Steps -Now that you have the Linode CCM installed on your Kubernetes cluster, you can learn how to [add and configure Linode NodeBalancers on your cluster](/docs/products/compute/kubernetes/guides/load-balancing/#configuring-your-linode-nodebalancers-with-annotations). \ No newline at end of file +Now that you have the Linode CCM installed on your Kubernetes cluster, you can learn how to [add and configure Linode NodeBalancers on your cluster](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster#configuring-your-linode-nodebalancers-with-annotations). \ No newline at end of file diff --git a/docs/guides/kubernetes/kubernetes-cron-job/index.md b/docs/guides/kubernetes/kubernetes-cron-job/index.md index f4b891ae401..4aae114245c 100644 --- a/docs/guides/kubernetes/kubernetes-cron-job/index.md +++ b/docs/guides/kubernetes/kubernetes-cron-job/index.md @@ -14,17 +14,17 @@ external_resources: - '[CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/)' --- -Linode Kubernetes Engine (LKE) is an open source container orchestration system that helps deploy and manage containerized applications. If you are not familiar with Kubernetes, read our [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/). Kubernetes (K8s) includes the capability to schedule jobs to run at a particular time with [CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/). CronJobs use the same scheduling syntax as **cron** and **crontab**, which are standard Linux utilities. If you are not familiar with cron, you can refer to our [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) guide. +Linode Kubernetes Engine (LKE) is an open source container orchestration system that helps deploy and manage containerized applications. If you are not familiar with Kubernetes, read our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/). Kubernetes (K8s) includes the capability to schedule jobs to run at a particular time with [CronJobs](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/). CronJobs use the same scheduling syntax as **cron** and **crontab**, which are standard Linux utilities. If you are not familiar with cron, you can refer to our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. In this guide, you learn the syntax for creating Kubernetes CronJobs. You also learn how to generate automatic daily backups for a Drupal website using Kubernetes CronJobs. ## Before You Begin -1. Ensure you have deployed a Kubernetes cluster. To deploy a Linode Kubernetes Engine (LKE) cluster, see our [Deploy and Manage a Cluster with Linode Kubernetes Engine](/docs/products/compute/kubernetes/) guide. +1. Ensure you have deployed a Kubernetes cluster. To deploy a Linode Kubernetes Engine (LKE) cluster, see our [Deploy and Manage a Cluster with Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) guide. -1. After deploying your Kubernetes cluster, make sure your local environment has [kubectl installed](/docs/products/compute/kubernetes/guides/kubectl/), and you can access your cluster using `kubectl`. +1. After deploying your Kubernetes cluster, make sure your local environment has [kubectl installed](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl), and you can access your cluster using `kubectl`. -1. This guide uses a Drupal website deployed with LKE to demonstrate how to back up a MySQL database. To follow along, ensure you use the [How to Install Drupal with Linode Kubernetes Engine](/docs/guides/how-to-install-drupal-with-linode-kubernetes-engine/) guide to deploy your own Drupal site. +1. This guide uses a Drupal website deployed with LKE to demonstrate how to back up a MySQL database. To follow along, ensure you use the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine/) guide to deploy your own Drupal site. ## An Overview of a Kubernetes CronJob @@ -56,7 +56,7 @@ spec: The manifest file above uses the example provided in the [Kubernetes official documentation](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#example). {{< /note >}} -A Kubernetes CronJob must contain the `apiVersion`, `kind`, and `metadata` fields. It must also contain the `spec.schedule` field which defines the time interval for the CronJob. The time interval syntax for a Kubernetes is the same as Linux system Cron jobs. You can refer to the [How to Use Cron and crontab - The Basics](/docs/guides/schedule-tasks-with-cron/#how-to-use-cron-and-crontab---the-basics) section of our Cron guide for time interval syntax details. Finally, the `jobTemplate` field is required. This field defines the requirements for the Pod that executes your CronJob. It also defines the commands to execute from the Pod. To learn more about defining `jobTemplates`, see the [Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/) documentation. +A Kubernetes CronJob must contain the `apiVersion`, `kind`, and `metadata` fields. It must also contain the `spec.schedule` field which defines the time interval for the CronJob. The time interval syntax for a Kubernetes is the same as Linux system Cron jobs. You can refer to the [How to Use Cron and crontab - The Basics](/cloud/guides/schedule-tasks-with-cron/#how-to-use-cron-and-crontab---the-basics) section of our Cron guide for time interval syntax details. Finally, the `jobTemplate` field is required. This field defines the requirements for the Pod that executes your CronJob. It also defines the commands to execute from the Pod. To learn more about defining `jobTemplates`, see the [Kubernetes Jobs](https://kubernetes.io/docs/concepts/workloads/controllers/job/) documentation. To launch a CronJob, execute the command below. Ensure your replace `cronjob.yaml` with the name of your CronJob's manifest file. @@ -75,7 +75,7 @@ This section shows you how to back up a MySQL database. The example assumes a Dr - Schedule your CronJob {{< note >}} -Ensure your terminal is using your desired [Kubeconfig context](/docs/products/compute/kubernetes/guides/kubectl/#persist-the-kubeconfig-context). +Ensure your terminal is using your desired [Kubeconfig context](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl#persist-the-kubeconfig-context). {{< /note >}} ### Test Your CronJob Command @@ -103,7 +103,7 @@ kubectl exec -it mysql-56f9846bb7-tlbv6 -- /bin/bash Viewing your MySQL Pod's terminal prompt, run the `mysqldump` command to generate a backup copy of your database. Enter your database's password when prompted. You can verify the `dump.sql` backup file created using the `ls` command. {{< note >}} -If you deployed your Kubernetes cluster following the [How to Install Drupal with Linode Kubernetes Engine](/docs/guides/how-to-install-drupal-with-linode-kubernetes-engine/), your password should be the same one used in your `kustomization.yaml` file. +If you deployed your Kubernetes cluster following the [How to Install Drupal with Linode Kubernetes Engine](/cloud/guides/how-to-install-drupal-with-linode-kubernetes-engine/), your password should be the same one used in your `kustomization.yaml` file. {{< /note >}} ### Create your CronJob diff --git a/docs/guides/kubernetes/kubernetes-security-best-practices/index.md b/docs/guides/kubernetes/kubernetes-security-best-practices/index.md index 299e43cea07..3a743e51c84 100644 --- a/docs/guides/kubernetes/kubernetes-security-best-practices/index.md +++ b/docs/guides/kubernetes/kubernetes-security-best-practices/index.md @@ -11,10 +11,10 @@ tags: ['kubernetes', 'container'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -If you are [deploying your first Kubernetes cluster](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/), it's important to consider the security best practices that are available to keep your workload safe. Kubernetes provides several out-of-the-box features to help secure your cluster. This guide provides an overview of three Kubernetes features to you can use to secure different components of a cluster. The three areas covered are Role-Based Access Control (RBAC), Secrets, and Network Policies. +If you are [deploying your first Kubernetes cluster](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/), it's important to consider the security best practices that are available to keep your workload safe. Kubernetes provides several out-of-the-box features to help secure your cluster. This guide provides an overview of three Kubernetes features to you can use to secure different components of a cluster. The three areas covered are Role-Based Access Control (RBAC), Secrets, and Network Policies. {{< note >}} -This guide assumes some familiarity with Kubernetes terminology and concepts. If you are newer to Kubernetes, refer to our [A Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/). +This guide assumes some familiarity with Kubernetes terminology and concepts. If you are newer to Kubernetes, refer to our [A Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/). {{< /note >}} ## Use Security Policies and Role-Based Access Control diff --git a/docs/guides/kubernetes/kubernetes-use-cases/index.md b/docs/guides/kubernetes/kubernetes-use-cases/index.md index 1b0aeaa6bb1..e277a539089 100644 --- a/docs/guides/kubernetes/kubernetes-use-cases/index.md +++ b/docs/guides/kubernetes/kubernetes-use-cases/index.md @@ -17,7 +17,7 @@ Kubernetes is a container orchestration system that was initially designed by Go In general, Kubernetes is formed by a *cluster* of servers, called Nodes, each running Kubernetes agent processes and communicating with one another. The *Master Node* is made up of a collection of processes called the *control plane* that help enact and maintain the desired state of the Kubernetes cluster, while *Worker Nodes* are responsible for running the containers that form your applications and services. -For a more in-depth explanation of Kubernetes concepts, see our five-part [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/). +For a more in-depth explanation of Kubernetes concepts, see our five-part [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/). ### What is Managed Kubernetes @@ -44,7 +44,7 @@ Here's a few common categories: The customer generally assumes responsibility for deploying and maintaining their applications on the cluster. The Master Nodes are often provided at no cost, and the customer only pays for the Worker Nodes they provision. {{< note >}} - The [Linode Kubernetes Engine (LKE)](/docs/products/compute/kubernetes/) is an example of this category. + The [Linode Kubernetes Engine (LKE)](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) is an example of this category. {{< /note >}} - **Software-as-a-Service Kubernetes** @@ -83,7 +83,7 @@ There are many reasons that developers would choose to use Kubernetes as a solut ### Declarative in Nature -Kubernetes is declarative: describe to Kubernetes the desired state of the cluster and Kubernetes will ensure that this state is always fulfilled. If you want five containers running at any given time, all you need to do is create a [Deployment](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments) and set the number of replicas to five. And, each set of instructions is rendered in human-readable YAML, which results in further benefits: +Kubernetes is declarative: describe to Kubernetes the desired state of the cluster and Kubernetes will ensure that this state is always fulfilled. If you want five containers running at any given time, all you need to do is create a [Deployment](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments) and set the number of replicas to five. And, each set of instructions is rendered in human-readable YAML, which results in further benefits: - **Version control of your infrastructure.** Because the resources in your cluster are declared in code, you can track changes to that code over time in version control systems like Git. @@ -109,9 +109,9 @@ Kubernetes determines which Worker Nodes a container should run on based on avai ### Zero Downtime with Rolling Deployments -[Pods](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) are the smallest unit of computing in Kubernetes, responsible for running your application's containers. Like many features of Kubernetes, pods have the additional capability of increasing your applications overall uptime when compared to other solutions. For example, consider the process that takes place when the code for your application and its container images has been updated by your team. To update your application running in your cluster, you'll need a way to update its Pods with the new container images. +[Pods](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) are the smallest unit of computing in Kubernetes, responsible for running your application's containers. Like many features of Kubernetes, pods have the additional capability of increasing your applications overall uptime when compared to other solutions. For example, consider the process that takes place when the code for your application and its container images has been updated by your team. To update your application running in your cluster, you'll need a way to update its Pods with the new container images. -Kubernetes offers a solution with [Deployments](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments), which will create additional Pods with the newer image and assure that they are running and healthy before destroying the old Pods. Kubernetes will also roll back any changes should the newer containers fail. In this way there is limited downtime, ensuring a strong user experience. +Kubernetes offers a solution with [Deployments](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#deployments), which will create additional Pods with the newer image and assure that they are running and healthy before destroying the old Pods. Kubernetes will also roll back any changes should the newer containers fail. In this way there is limited downtime, ensuring a strong user experience. ### Self-Healing @@ -121,11 +121,11 @@ For many reasons, containers can fail. Kubernetes keeps deployments healthy by r It's important that all services have a predictable way of communicating with one another. However, within Kubernetes, containers are created and destroyed many times over, so a particular service may not exist permanently at a particular location. This traditionally meant that some kind of service registry would need to be created or adapted to the application logic to keep track of each container's location. -Kubernetes has a native [Service](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#services) concept which groups your Pods and simplifies service discovery. Kubernetes will provide IP addresses for each Pod, assign a DNS name for each set of Pods, and then load-balance the traffic to the Pods in a set. This creates an environment where the service discovery can be abstracted away from the container level. +Kubernetes has a native [Service](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#services) concept which groups your Pods and simplifies service discovery. Kubernetes will provide IP addresses for each Pod, assign a DNS name for each set of Pods, and then load-balance the traffic to the Pods in a set. This creates an environment where the service discovery can be abstracted away from the container level. ### Multi-Container Pods -Kubernetes [Pods](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) often run a single container, but they are capable of running multiple containers as well. This makes adding a loosely coupled, reusable "sidecar" container to a Pod easy. These sidecar containers serve to enhance the primary container running in a Pod; frequent use-cases including adding [logging](https://kubernetes.io/docs/concepts/cluster-administration/logging/) or a [service mesh](https://en.wikipedia.org/wiki/Service_mesh). These coupled containers will share an IP address with the primary container. +Kubernetes [Pods](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#pods) often run a single container, but they are capable of running multiple containers as well. This makes adding a loosely coupled, reusable "sidecar" container to a Pod easy. These sidecar containers serve to enhance the primary container running in a Pod; frequent use-cases including adding [logging](https://kubernetes.io/docs/concepts/cluster-administration/logging/) or a [service mesh](https://en.wikipedia.org/wiki/Service_mesh). These coupled containers will share an IP address with the primary container. ### Network Policy as Part of Application Deployment @@ -135,11 +135,11 @@ By default, all Pods in Kubernetes can communicate with each other. A cluster ad While Kubernetes provides a storage solution, called a [Volume](https://kubernetes.io/docs/concepts/storage/), that allows data to outlive the lifecycle of a container, the data is still tied to the longevity of the Pod. However, Kubernetes also provides a mechanisms for [storing persistent data in cloud storage](https://kubernetes.io/docs/concepts/storage/persistent-volumes/). In particular, the [Container Storage Interface (CSI)](https://kubernetes.io/docs/concepts/storage/volumes/#csi) specification standard allows Kubernetes to create storage volumes on any cloud platform which supports the CSI. -For example, the [Linode Container Storage Interface (CSI)](/docs/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/), makes it easy for you to create and attach Linode Block Storage Volumes to your Pods. Even if a Pod that's attached to the Block Storage Volume is destroyed, the data will persist. +For example, the [Linode Container Storage Interface (CSI)](/cloud/kubernetes/deploy-volumes-with-the-linode-block-storage-csi-driver/), makes it easy for you to create and attach Linode Block Storage Volumes to your Pods. Even if a Pod that's attached to the Block Storage Volume is destroyed, the data will persist. ### Cron Jobs -Kubernetes provides a [Jobs](/docs/guides/beginners-guide-to-kubernetes-part-4-controllers/#jobs) object for completing single tasks, like running a one-off script. For regular scheduled tasks, Kubernetes also provides [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) objects that can complete a task at a certain time, just like the [jobs you might find in a `crontab` file](/docs/guides/schedule-tasks-with-cron/). This is particularly useful because it provides a declarative way to schedule cron jobs from within a cluster. +Kubernetes provides a [Jobs](/cloud/guides/beginners-guide-to-kubernetes-part-4-controllers/#jobs) object for completing single tasks, like running a one-off script. For regular scheduled tasks, Kubernetes also provides [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) objects that can complete a task at a certain time, just like the [jobs you might find in a `crontab` file](/cloud/guides/schedule-tasks-with-cron/). This is particularly useful because it provides a declarative way to schedule cron jobs from within a cluster. ### Secrets Management @@ -165,7 +165,7 @@ With Kubernetes it's easy to create physical or virtual clusters that exactly mi - You could create a separate testing cluster and use [`kubectl` contexts](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) to switch between testing and production. -- Virtual clusters are called [Namespaces](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/#namespaces). You can create Namespaces for testing, staging, and production, and run them all on the same hardware. With [ResourceQuotas](https://kubernetes.io/docs/concepts/policy/resource-quotas/) you can easily limit the CPU and memory resource allocation of the Namespace, ensuring that every Namespace has exactly what it needs to run without stealing resources from other Namespaces. +- Virtual clusters are called [Namespaces](/cloud/guides/beginners-guide-to-kubernetes-part-3-objects/#namespaces). You can create Namespaces for testing, staging, and production, and run them all on the same hardware. With [ResourceQuotas](https://kubernetes.io/docs/concepts/policy/resource-quotas/) you can easily limit the CPU and memory resource allocation of the Namespace, ensuring that every Namespace has exactly what it needs to run without stealing resources from other Namespaces. ### CI/CD Pipelines diff --git a/docs/guides/kubernetes/kubernetes-vs-nomad/index.md b/docs/guides/kubernetes/kubernetes-vs-nomad/index.md index 0f59cb1192b..d41bab37bcd 100644 --- a/docs/guides/kubernetes/kubernetes-vs-nomad/index.md +++ b/docs/guides/kubernetes/kubernetes-vs-nomad/index.md @@ -30,7 +30,7 @@ Kubernetes typically operates on a cluster of nodes, where Kubernetes agents con Kubernetes has become a significant technology within the cloud computing world. Its influence continues to spread, changing not only how many operations manage deployments, but how people think of deployments entirely. Kubernetes' use cases and capabilities continue to be extended and developed. -For a more in-depth breakdown of Kubernetes, see our guide [Advantages of Using Kubernetes](/docs/guides/kubernetes-use-cases/). +For a more in-depth breakdown of Kubernetes, see our guide [Advantages of Using Kubernetes](/cloud/guides/kubernetes-use-cases/). ### Pros and Cons @@ -56,7 +56,7 @@ Nomad is part of the HashiCorp ecosystem, making it easy to integrate with Hashi Discussions around Nomad have centered around Nomad as a simplified Kubernetes alternative. However, Nomad's flexibility makes it stand out on its own. Nomad can handle scheduling and management for highly scalable clusters, and can work with applications that are containerized, non-containerized, or a mix. What's more, it can accomplish all of this across a wider range of systems. -Learn more about Nomad and how it operates in our tutorial [How to Use Nomad for Container Orchestration](/docs/guides/using-nomad-for-orchestration/). +Learn more about Nomad and how it operates in our tutorial [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration/). ### Pros and Cons @@ -90,7 +90,7 @@ Below are just a few of the similarities, but they highlight key features that m - **Rolling Deployments**: Nomad and Kubernetes support rolling upgrades that verify a deployment's health before replacing an old deployment, and each can automatically rollback changes if a deployment fails. -- **External Storage Solutions**: Both Kubernetes and Nomad utilize the Container Storage Interface (CSI) standard, allowing them to leverage storage resources on cloud platforms that support CSI. Linode has its own CSI that you can learn more in our guide [How to Deploy Persistent Volume Claims with Linode](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/). +- **External Storage Solutions**: Both Kubernetes and Nomad utilize the Container Storage Interface (CSI) standard, allowing them to leverage storage resources on cloud platforms that support CSI. Linode has its own CSI that you can learn more in our guide [How to Deploy Persistent Volume Claims with Linode](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/). ### Differences @@ -104,7 +104,7 @@ Despite the similarities, Kubernetes and Nomad have different features to recomm - **Flexibility**: Nomad not only supports containerized applications, but also standalone applications and frameworks ranging from Docker to Java. Nomad can also operate on a wider range of operating systems, whereas Kubernetes focuses solely on Linux. -- **Supporting Platforms**: While both Nomad and Kubernetes are cloud-agnostic, Kubernetes has the undeniable advantage of supporting cloud platforms. Google, Amazon, and IBM, for instance, all offer Kubernetes services. Linode has its own [Linode Kubernetes Engine (LKE)](/docs/products/compute/kubernetes/guides/create-lke-cluster) that provides a prepared Kubernetes cluster. +- **Supporting Platforms**: While both Nomad and Kubernetes are cloud-agnostic, Kubernetes has the undeniable advantage of supporting cloud platforms. Google, Amazon, and IBM, for instance, all offer Kubernetes services. Linode has its own [Linode Kubernetes Engine (LKE)](https://techdocs.akamai.com/cloud-computing/docs/create-a-cluster) that provides a prepared Kubernetes cluster. ## Which Should You Use: Kubernetes or Nomad? @@ -128,8 +128,8 @@ This tutorial showcases what features set Nomad and Kubernetes apart, and which Be sure to reference the tutorials linked throughout this guide to keep learning about Kubernetes and Nomad. For reference, here are several that can act as next steps: -- [Deploying and Managing a Cluster on Linode Kubernetes Engine (LKE)](/docs/guides/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/) +- [Deploying and Managing a Cluster on Linode Kubernetes Engine (LKE)](/cloud/guides/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/) -- [Manage a Docker Cluster with Kubernetes](/docs/guides/manage-a-docker-cluster-with-kubernetes/) +- [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes/) -- [How to Use Nomad for Container Orchestration](/docs/guides/using-nomad-for-orchestration/) \ No newline at end of file +- [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration/) \ No newline at end of file diff --git a/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md b/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md index a4c4e8e0c9b..5383226ba57 100644 --- a/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md +++ b/docs/guides/kubernetes/leverage-kubernetes-data-oriented-projects-with-portworx/index.md @@ -30,22 +30,22 @@ A limited version of the Portworx Storage Platform is available for free. It all Portworx integrates with widely known software systems such as Kubernetes, Kafka, and Cassandra: -- [**Kubernetes**](/docs/guides/kubernetes/) serves as the foundation of most Portworx implementations. However, Portworx is also compatible with other container orchestration systems. +- [**Kubernetes**](/cloud/guides/kubernetes/) serves as the foundation of most Portworx implementations. However, Portworx is also compatible with other container orchestration systems. -- [**Cassandra**](/docs/guides/databases/cassandra/) is an open source distributed database management system that emphasizes economical operation, high availability, and wide-column semantics. Portworx addresses several of the challenges involved in configuring and operating Cassandra. For example, when running Cassandra in containers managed by Kubernetes, Portworx can effectively control memory, resource quotas, and/or CPU cores per Kubernetes cluster. +- [**Cassandra**](/cloud/guides/databases/cassandra/) is an open source distributed database management system that emphasizes economical operation, high availability, and wide-column semantics. Portworx addresses several of the challenges involved in configuring and operating Cassandra. For example, when running Cassandra in containers managed by Kubernetes, Portworx can effectively control memory, resource quotas, and/or CPU cores per Kubernetes cluster. -- [**Kafka**](/docs/guides/what-is-apache-kafka/) is a widely used open source distributed event store and stream-processing platform. In much the same way a traditional database system manages **records** of data, Kafka manages **events**. For Kafka to perform optimally, it needs a high-performance underlying storage system, and Portworx is a good choice. Teams and individuals often initially adopt Portworx to meet requirements for hosting or upgrading Kafka. Portworx also offers white papers specifically on the [operation of Kafka in a Kubernetes environment](https://portworx.com/blog/deploying-kafka-on-kubernetes-using-portworx-data-services/). +- [**Kafka**](/cloud/guides/what-is-apache-kafka/) is a widely used open source distributed event store and stream-processing platform. In much the same way a traditional database system manages **records** of data, Kafka manages **events**. For Kafka to perform optimally, it needs a high-performance underlying storage system, and Portworx is a good choice. Teams and individuals often initially adopt Portworx to meet requirements for hosting or upgrading Kafka. Portworx also offers white papers specifically on the [operation of Kafka in a Kubernetes environment](https://portworx.com/blog/deploying-kafka-on-kubernetes-using-portworx-data-services/). ## Before You Begin -1. Create a Kubernetes cluster that meets the [Portworx installation prerequisites](https://docs.portworx.com/portworx-enterprise/install-portworx/prerequisites). A **Shared CPU**, **Linode 8 GB** plan is suitable. You must have `kubectl` configured on your local machine to interact with the cluster. See our [Getting Stated with Kubernetes](/docs/products/compute/kubernetes/get-started/) guide for instructions. Also, take note of the Kubernetes version running on your cluster as it is needed later. +1. Create a Kubernetes cluster that meets the [Portworx installation prerequisites](https://docs.portworx.com/portworx-enterprise/install-portworx/prerequisites). A **Shared CPU**, **Linode 8 GB** plan is suitable. You must have `kubectl` configured on your local machine to interact with the cluster. See our [Getting Stated with Kubernetes](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide for instructions. Also, take note of the Kubernetes version running on your cluster as it is needed later. -1. The Portworx installation prerequisites also include a backing drive (i.e. Volume) for each of three nodes, which must be at least 8 GB. Follow our [Getting Started with Block Storage](/docs/products/storage/block-storage/get-started/) guide to create and attach a 10 GB Volume to each node. Creating volumes via the **Storage** tab of the individual Kubernetes instances is more efficient than via **Volumes**, as it creates *and* attaches in one step. +1. The Portworx installation prerequisites also include a backing drive (i.e. Volume) for each of three nodes, which must be at least 8 GB. Follow our [Getting Started with Block Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-block-storage) guide to create and attach a 10 GB Volume to each node. Creating volumes via the **Storage** tab of the individual Kubernetes instances is more efficient than via **Volumes**, as it creates *and* attaches in one step. 1. Sign up for a personal account on [Portworx Central](https://central.portworx.com). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Portworx Installation diff --git a/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md b/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md index 7cb92924d9f..e1e8365d733 100644 --- a/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md +++ b/docs/guides/kubernetes/manage-a-docker-cluster-with-kubernetes/index.md @@ -29,11 +29,11 @@ You can now create a Kubernetes cluster with one command using the Linode CLI. T ## System Requirements -To complete this guide you will need three Linodes running Ubuntu 16.04 LTS, each with at least 4GB of RAM. Before beginning this guide, you should also use the Cloud Manager to generate a [private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for each Linode. +To complete this guide you will need three Linodes running Ubuntu 16.04 LTS, each with at least 4GB of RAM. Before beginning this guide, you should also use the Cloud Manager to generate a [private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each Linode. ## Before You Begin -This article requires that you first complete our [How to Install, Configure, and Deploy NGINX on a Kubernetes Cluster](/docs/guides/how-to-deploy-nginx-on-a-kubernetes-cluster/) guide and follow the procedures described there to configure one master node and two worker nodes. +This article requires that you first complete our [How to Install, Configure, and Deploy NGINX on a Kubernetes Cluster](/cloud/guides/how-to-deploy-nginx-on-a-kubernetes-cluster/) guide and follow the procedures described there to configure one master node and two worker nodes. Set the hostnames of the three Linodes as follows: diff --git a/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md index d75f03e17d9..3f4d89344b6 100644 --- a/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-aws-eks-to-linode-kubernetes-engine-lke/index.md @@ -30,7 +30,7 @@ This guide walks you through the process of migrating an application from [Amazo 1. Install [ripgrep (`rg`)](https://github.com/BurntSushi/ripgrep), an alternative to `grep` written in Rust. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Connect `kubectl` to Your EKS Cluster @@ -508,7 +508,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility With LKE -You may need to update your manifests to accommodate for differences between EKS and LKE. For example, your configuration on EKS may use the [AWS Load Balancer Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/), which helps manage AWS Application Load Balancers (ALB) as Kubernetes [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resources. As an alternative to AWS ALBs, you can [deploy a dedicated NGINX Ingress on LKE](/docs/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between EKS and LKE. For example, your configuration on EKS may use the [AWS Load Balancer Controller](https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/), which helps manage AWS Application Load Balancers (ALB) as Kubernetes [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) resources. As an alternative to AWS ALBs, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). The deployment image may point to AWS Elastic Container Registry (ECR). Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -534,7 +534,7 @@ The container image, pointing to AWS ECR, has the following format: {{< placeholder "AWS_ACCOUNT_ID" >}}.dkr.ecr.{{< placeholder "REGION" >}}.amazonaws.com/{{< placeholder "REPOSITORY_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from AWS ECR, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from AWS ECR, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -544,8 +544,8 @@ Since the image for the example service application in this guide comes from Doc If the workload depends on persistent data in AWS S3 or a database, then transfer the data or make it available to LKE. See the following guides for more information: -- [How to Migrate From AWS S3 to Linode Object Storage](/docs/guides/migrate-from-aws-s3-to-linode-object-storage/) -- [Migrate From AWS EBS to Linode Block Storage](/docs/guides/migrate-from-aws-ebs-to-linode-block-storage/) +- [How to Migrate From AWS S3 to Linode Object Storage](/cloud/guides/migrate-from-aws-s3-to-linode-object-storage/) +- [Migrate From AWS EBS to Linode Block Storage](/cloud/guides/migrate-from-aws-ebs-to-linode-block-storage/) {{< note >}} The example application, with its in-memory configuration, does not rely on any persistent data. @@ -692,7 +692,7 @@ If you use Route53, the AWS DNS service, and plan to migrate away from it, [our LKE doesn't have its own container registry. To migrate away from AWS ECR, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. ### Alternative to AWS CloudWatch @@ -712,9 +712,9 @@ AWS uses CloudWatch for Kubernetes cluster observability. With Akamai Cloud, you See the following guides for additional information: -- [Migrating From AWS CloudWatch to Prometheus and Grafana on Akamai](/docs/guides/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/) -- [How to Deploy TOBS (The Observability Stack) on LKE](/docs/guides/deploy-tobs-on-linode-kubernetes-engine/) +- [Migrating From AWS CloudWatch to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/) +- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) ### Alternative to AWS Secrets Manager -The AWS Secrets Manager can be leveraged to provide Kubernetes secrets on EKS. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/docs/marketplace-docs/guides/openbao/). \ No newline at end of file +The AWS Secrets Manager can be leveraged to provide Kubernetes secrets on EKS. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file diff --git a/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md b/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md index 1e5172e533e..c236eac73d6 100644 --- a/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md +++ b/docs/guides/kubernetes/migrating-from-aws-lambda-to-knative/index.md @@ -32,7 +32,7 @@ This guide walks through the process of migrating an AWS Lambda function to a Kn ## Before You Begin -1. Read our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and create a Linode account if you do not already have one. +1. Read our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and create a Linode account if you do not already have one. 1. Create a personal access token using the instructions in our [Manage personal access tokens](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) guide. @@ -53,7 +53,7 @@ This guide walks through the process of migrating an AWS Lambda function to a Kn ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md b/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md index c87a414f912..f72d9b16c2c 100644 --- a/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md +++ b/docs/guides/kubernetes/migrating-from-aws-sns-to-rabbitmq-on-akamai/index.md @@ -43,14 +43,14 @@ This guide includes steps and recommendations on how to migrate from AWS SNS to 1. Migrating from AWS SNS to RabbitMQ on Akamai requires choosing between a single Linode instance or a larger scale, more fault-tolerant environment with Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your needs: - - [Deploy RabbitMQ through the Linode Marketplace](/docs/marketplace-docs/guides/rabbitmq/) - - [Deploying RabbitMQ on a Linode](/docs/guides/deploying-rabbitmq-on-a-linode/) - - [Deploying RabbitMQ on Kubernetes with LKE](/docs/guides/deploying-rabbitmq-on-kubernetes-with-lke/) + - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq/) + - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode/) + - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke/) 1. You must have access to your AWS account with sufficient permissions to work with SNS topics. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Migrate from AWS SNS to RabbitMQ diff --git a/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md index b03e9a84d98..c923c1486aa 100644 --- a/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-azure-aks-to-linode-kubernetes-engine-lke/index.md @@ -28,7 +28,7 @@ This guide walks you through the process of migrating an application from [Azure 1. Install [`yq`](https://github.com/mikefarah/yq), a YAML processor for the command line. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Connect `kubectl` to Your AKS Cluster @@ -513,7 +513,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility with LKE -You may need to update your manifests to accommodate for differences between AKS and LKE. For example, your configuration on AKS may use [ingress services from AKS](https://learn.microsoft.com/en-us/azure/aks/concepts-network-ingress) and the [Azure LoadBalancer Service](https://learn.microsoft.com/en-us/azure/aks/concepts-network-services#loadbalancer) to provide access to clients located outside of your AKS cluster. As an alternative to using these Azure services, you can [deploy a dedicated NGINX Ingress on LKE](/docs/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between AKS and LKE. For example, your configuration on AKS may use [ingress services from AKS](https://learn.microsoft.com/en-us/azure/aks/concepts-network-ingress) and the [Azure LoadBalancer Service](https://learn.microsoft.com/en-us/azure/aks/concepts-network-services#loadbalancer) to provide access to clients located outside of your AKS cluster. As an alternative to using these Azure services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). The deployment image may point to Azure Container Registry. Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -539,7 +539,7 @@ The container image, pointing to Microsoft Container Registry, has the following {{< placeholder "REGISTRY_NAME" >}}.azurecr.io/{{< placeholder "IMAGE_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from Azure Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from Azure Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -549,8 +549,8 @@ Since the image for the example service application in this guide comes from Doc If the workload depends on persistent data in Azure Storage or a database, then transfer the data or make it available to LKE. See the following guides for more information: -- [How to Migrate From Azure Blob Storage to Linode Object Storage](/docs/guides/migrate-from-azure-blob-storage-to-linode-object-storage/) -- [Migrate From Azure Disk Storage to Linode Block Storage](/docs/guides/migrate-from-azure-disk-storage-to-linode-block-storage/) +- [How to Migrate From Azure Blob Storage to Linode Object Storage](/cloud/guides/migrate-from-azure-blob-storage-to-linode-object-storage/) +- [Migrate From Azure Disk Storage to Linode Block Storage](/cloud/guides/migrate-from-azure-disk-storage-to-linode-block-storage/) {{< note >}} The example application, with its in-memory configuration, does not rely on any persistent data. @@ -696,7 +696,7 @@ If you use Azure DNS and plan to migrate away from it, [our DNS Manager](https:/ LKE doesn't have its own container registry. To migrate away from Azure Container Registry, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. ### Alternative to Azure Monitor @@ -716,9 +716,9 @@ Microsoft uses [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-mon See the following guides for more information: -- [Migrating From Azure Monitor to Prometheus and Grafana on Akamai](/docs/guides/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/) -- [How to Deploy TOBS (The Observability Stack) on LKE](/docs/guides/deploy-tobs-on-linode-kubernetes-engine/) +- [Migrating From Azure Monitor to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/) +- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) ### Alternative to Azure Key Vault -The [Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/general/overview) can be leveraged to provide Kubernetes secrets on Azure. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/docs/marketplace-docs/guides/openbao/). \ No newline at end of file +The [Azure Key Vault](https://learn.microsoft.com/en-us/azure/key-vault/general/overview) can be leveraged to provide Kubernetes secrets on Azure. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file diff --git a/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md b/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md index 05acfa4b97c..09368d62b52 100644 --- a/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md +++ b/docs/guides/kubernetes/migrating-from-azure-functions-to-knative/index.md @@ -30,7 +30,7 @@ This guide walks through the process of migrating an Azure function to a Knative ## Before You Begin -1. Read our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and create a Linode account if you do not already have one. +1. Read our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and create a Linode account if you do not already have one. 1. Create a personal access token using the instructions in our [Manage personal access tokens](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) guide. @@ -38,7 +38,7 @@ This guide walks through the process of migrating an Azure function to a Knative 1. Install the Linode CLI using the instructions in our [Install and configure the CLI](https://techdocs.akamai.com/cloud-computing/docs/install-and-configure-the-cli) guide. -1. Follow the instructions in our [Installing and Using NVM (Node Version Manager)](/docs/guides/how-to-install-use-node-version-manager-nvm/) guide to install NVM and the latest Long Term Support (LTS) release of Node. +1. Follow the instructions in our [Installing and Using NVM (Node Version Manager)](/cloud/guides/how-to-install-use-node-version-manager-nvm/) guide to install NVM and the latest Long Term Support (LTS) release of Node. 1. Ensure that you have Knative's [`func` CLI](https://knative.dev/docs/functions/install-func/) installed. @@ -65,7 +65,7 @@ This guide walks through the process of migrating an Azure function to a Knative ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md b/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md index 1f43ae8cd2f..dd36d4831d2 100644 --- a/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md +++ b/docs/guides/kubernetes/migrating-from-azure-service-bus-to-rabbitmq-on-akamai/index.md @@ -42,14 +42,14 @@ Below is a list comparing the key features of Azure Service Bus and RabbitMQ: 1. Migrating from Azure Service Bus to RabbitMQ on Akamai requires choosing between a single Linode instance or a larger scale, more fault-tolerant environment with Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your needs: - - [Deploy RabbitMQ through the Linode Marketplace](/docs/marketplace-docs/guides/rabbitmq/) - - [Deploying RabbitMQ on a Linode](/docs/guides/deploying-rabbitmq-on-a-linode/) - - [Deploying RabbitMQ on Kubernetes with LKE](/docs/guides/deploying-rabbitmq-on-kubernetes-with-lke/) + - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq/) + - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode/) + - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke/) 1. You must have access to your Azure account with sufficient permissions to work with Service Bus resources. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Migrate from Azure Service Bus to RabbitMQ diff --git a/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md b/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md index 30e81391b84..e4521a0ce9a 100644 --- a/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md +++ b/docs/guides/kubernetes/migrating-from-gcp-pub-sub-to-rabbitmq-on-akamai/index.md @@ -42,14 +42,14 @@ GCP Pub/Sub and RabbitMQ share many key features in common, though there are som 1. Migrating from GCP Pub/Sub to RabbitMQ on Akamai requires choosing between a single Linode instance or a larger scale, more fault-tolerant environment with Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your needs: - - [Deploy RabbitMQ through the Linode Marketplace](/docs/marketplace-docs/guides/rabbitmq/) - - [Deploying RabbitMQ on a Linode](/docs/guides/deploying-rabbitmq-on-a-linode/) - - [Deploying RabbitMQ on Kubernetes with LKE](/docs/guides/deploying-rabbitmq-on-kubernetes-with-lke/) + - [Deploy RabbitMQ through the Linode Marketplace](/cloud/marketplace-docs/guides/rabbitmq/) + - [Deploying RabbitMQ on a Linode](/cloud/guides/deploying-rabbitmq-on-a-linode/) + - [Deploying RabbitMQ on Kubernetes with LKE](/cloud/guides/deploying-rabbitmq-on-kubernetes-with-lke/) 1. You must have access to your Google Cloud account with sufficient permissions to work with Pub/Sub resources. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Migrate from GCP Pub/Sub to RabbitMQ diff --git a/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md b/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md index 6fdb81e232f..9ed2016d92d 100644 --- a/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md +++ b/docs/guides/kubernetes/migrating-from-google-cloud-run-functions-to-knative/index.md @@ -30,7 +30,7 @@ This guide walks through the process of migrating a Google Cloud Run function to ## Before You Begin -1. Read our [Getting Started with Linode](/docs/products/platform/get-started/) guide, and create a Linode account if you do not already have one. +1. Read our [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, and create a Linode account if you do not already have one. 1. Create a personal access token using the instructions in our [Manage personal access tokens](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) guide. @@ -63,7 +63,7 @@ This guide walks through the process of migrating a Google Cloud Run function to ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Provision a Kubernetes Cluster diff --git a/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md index 6fff423be93..444d1d9913e 100644 --- a/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-google-gke-to-linode-kubernetes-engine-lke/index.md @@ -28,7 +28,7 @@ This guide walks you through the process of migrating an application from [Googl 1. Install [`yq`](https://github.com/mikefarah/yq), a YAML processor for the command line. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Connect `kubectl` to Your GKE Cluster @@ -557,7 +557,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility with LKE -You may need to update your manifests to accommodate for differences between GKE and LKE. For example, your configuration on GKE may use the [Ingress Controller for Google Cloud](https://github.com/kubernetes/ingress-gce) and the [External LoadBalancer Service](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer) to provide access to clients located outside of your Google Cloud VPC. As an alternative to using these GCP load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/docs/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between GKE and LKE. For example, your configuration on GKE may use the [Ingress Controller for Google Cloud](https://github.com/kubernetes/ingress-gce) and the [External LoadBalancer Service](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer) to provide access to clients located outside of your Google Cloud VPC. As an alternative to using these GCP load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). The deployment image may point to GCP Artifact Registry. Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -583,7 +583,7 @@ The container image, pointing to GCP Artifact Registry, has the following format {{< placeholder "REGION" >}}-docker.pkg.dev/{{< placeholder "PROJECT_ID" >}}/{{< placeholder "REPOSITORY_NAME" >}}/{{< placeholder "IMAGE_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from GCP Artifact Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from GCP Artifact Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -593,8 +593,8 @@ Since the image for the example service application in this guide comes from Doc If the workload depends on persistent data in Google Cloud Storage or a database, then transfer the data or make it available to LKE. See the following guides for more information: -- [How to Migrate From Google Cloud Storage to Linode Object Storage](/docs/guides/migrate-from-google-cloud-storage-to-linode-object-storage/) -- [Migrate from GCP Hyperdisk and Persistent Disk to Linode Block Storage](/docs/guides/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/) +- [How to Migrate From Google Cloud Storage to Linode Object Storage](/cloud/guides/migrate-from-google-cloud-storage-to-linode-object-storage/) +- [Migrate from GCP Hyperdisk and Persistent Disk to Linode Block Storage](/cloud/guides/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/) {{< note >}} The example application, with its in-memory configuration, does not rely on any persistent data. @@ -740,7 +740,7 @@ If you use Google Cloud DNS and plan to migrate away from it, [our DNS Manager]( LKE doesn't have its own container registry. To migrate away from GCP Artifact Registry, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. ### Alternative to Google Cloud Operations Suite @@ -760,9 +760,9 @@ GCP uses its [cloud operations suite](https://cloud.google.com/blog/topics/devel See the following guides for more information: -- [Migrating From GCP Cloud Monitoring to Prometheus and Grafana on Akamai](/docs/guides/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/) -- [How to Deploy TOBS (The Observability Stack) on LKE](/docs/guides/deploy-tobs-on-linode-kubernetes-engine/) +- [Migrating From GCP Cloud Monitoring to Prometheus and Grafana on Akamai](/cloud/guides/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/) +- [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) ### Alternative to GCP Secrets Manager -The [GCP Secrets Manager](https://cloud.google.com/security/products/secret-manager) can be leveraged to provide Kubernetes secrets on GKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/docs/marketplace-docs/guides/openbao/). \ No newline at end of file +The [GCP Secrets Manager](https://cloud.google.com/security/products/secret-manager) can be leveraged to provide Kubernetes secrets on GKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file diff --git a/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md b/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md index f430449821e..3ea4955d48a 100644 --- a/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md +++ b/docs/guides/kubernetes/migrating-from-oracle-kubernetes-engine-to-linode-kubernetes-engine-lke/index.md @@ -28,7 +28,7 @@ This guide walks you through the process of migrating an application from Oracle 1. Install [`yq`](https://github.com/mikefarah/yq), a YAML processor for the command line. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Connect `kubectl` to Your OKE Cluster @@ -531,7 +531,7 @@ There are multiple ways to define the resources you want to deploy to Kubernetes ### Update Manifests for Compatibility with LKE -You may need to update your manifests to accommodate for differences between OKE and LKE. For example, your configuration on OKE may use the [OCI native ingress controller](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengsettingupnativeingresscontroller.htm) and the [LoadBalancer Service](https://docs.oracle.com/en-us/iaas/Content/Balance/Tasks/managingloadbalancer_topic-Creating_Load_Balancers.htm#top) to provide access to clients located outside of your Oracle virtual cloud network. As an alternative to using these OCI load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/docs/guides/deploy-nginx-ingress-on-lke/). +You may need to update your manifests to accommodate for differences between OKE and LKE. For example, your configuration on OKE may use the [OCI native ingress controller](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengsettingupnativeingresscontroller.htm) and the [LoadBalancer Service](https://docs.oracle.com/en-us/iaas/Content/Balance/Tasks/managingloadbalancer_topic-Creating_Load_Balancers.htm#top) to provide access to clients located outside of your Oracle virtual cloud network. As an alternative to using these OCI load balancer and ingress services, you can [deploy a dedicated NGINX Ingress on LKE](/cloud/guides/deploy-nginx-ingress-on-lke/). The deployment image may point to Oracle Cloud Infrastructure Container Registry. Modify this to point to an alternative registry. For example, the `Deployment` section of your application manifest may look like this: @@ -557,7 +557,7 @@ The container image, pointing to Oracle Container Registry, has the following fo ocir.{{< placeholder "REGION" >}}.oci.oraclecloud.com/{{< placeholder "TENANCY_OBJECT_STORAGE_NAMESPACE" >}}/{{< placeholder "REPOSITORY_NAME" >}}/{{< placeholder "IMAGE_NAME" >}}:{{< placeholder "TAG" >}} ``` -To migrate away from the Oracle Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. +To migrate away from the Oracle Container Registry, upload the container image to another registry service (e.g. Docker Hub) or [Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/). Then, modify your Kubernetes manifest to point to the new location for your image. {{< note >}} Since the image for the example service application in this guide comes from Docker Hub, redirecting the registry is unnecessary. @@ -711,7 +711,7 @@ If you use OCI DNS and plan to migrate away from it, [our DNS Manager](https://t LKE doesn't have its own container registry. To migrate away from the Oracle Container Registry, set up a third-party private container registry, such as [Docker Hub](https://hub.docker.com/) or [GitHub Container Registry](https://github.blog/news-insights/product-news/introducing-github-container-registry/). -Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. +Alternatively, you can set up your own container registry, see [How to Set Up a Docker Registry with LKE and Object Storage](/cloud/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) for instructions. ### Alternative to the Oracle Cloud Observability and Management Platform @@ -729,8 +729,8 @@ Oracle provides its [Cloud Observability and Management Platform](https://www.or - Postgres-Exporter - OpenTelemetry-Operator -See [How to Deploy TOBS (The Observability Stack) on LKE](/docs/guides/deploy-tobs-on-linode-kubernetes-engine/) for more information. +See [How to Deploy TOBS (The Observability Stack) on LKE](/cloud/guides/deploy-tobs-on-linode-kubernetes-engine/) for more information. ### Alternative to OCI Vault -The [OCI Vault](https://docs.oracle.com/en-us/iaas/Content/KeyManagement/home.htm) can be leveraged to provide Kubernetes secrets on OKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/docs/marketplace-docs/guides/openbao/). \ No newline at end of file +The [OCI Vault](https://docs.oracle.com/en-us/iaas/Content/KeyManagement/home.htm) can be leveraged to provide Kubernetes secrets on OKE. With LKE, you need an alternative solution, such as [OpenBao on Akamai Cloud](/cloud/marketplace-docs/guides/openbao/). \ No newline at end of file diff --git a/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md b/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md index e1fbd46c8c3..4c068fa0901 100644 --- a/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md +++ b/docs/guides/kubernetes/nomad-alongside-kubernetes/index.md @@ -14,7 +14,7 @@ external_resources: Kubernetes and Nomad are both orchestration tools that each come with a compelling set of features. Despite some overlap, each tool has unique strengths and a favorable set of use cases. -Review our [Kubernetes vs Nomad?](/docs/guides/kubernetes-vs-nomad/) article to see how Kubernetes and Nomad excel in different orchestration areas. +Review our [Kubernetes vs Nomad?](/cloud/guides/kubernetes-vs-nomad/) article to see how Kubernetes and Nomad excel in different orchestration areas. As that guide points out, there are cases where you may want the benefits of both tools side-by-side. While you can accomplish this with two distinct parallel setups, it's also possible to directly run Nomad on a Kubernetes cluster. @@ -26,7 +26,7 @@ Kubernetes tends to be best for large and complicated applications, but it is re Many organizations can effectively leverage both use cases. Often, you need to run more than just large and containerized applications. You may need to orchestrate batch applications or other non-containerized applications that benefit from a higher degree of flexibility. -Running a distinct Nomad cluster in addition to a Kubernetes cluster is a possibility for handling this. Learn everything you need to get started with a Nomad cluster in our guide [How to Use Nomad for Container Orchestration](/docs/guides/using-nomad-for-orchestration/). +Running a distinct Nomad cluster in addition to a Kubernetes cluster is a possibility for handling this. Learn everything you need to get started with a Nomad cluster in our guide [How to Use Nomad for Container Orchestration](/cloud/guides/using-nomad-for-orchestration/). However, that model may be restrictive, and price-inefficient depending on your needs. @@ -46,11 +46,11 @@ The infrastructure in this tutorial builds on a Kubernetes base. For that reason The most straightforward way to deploy a Kubernetes cluster with Linode is using the Linode Kubernetes Engine (LKE). LKE lets you configure and deploy a full Kubernetes cluster through the Linode Cloud Manager. -Learn how to deploy an LKE cluster through our guide [Linode Kubernetes Engine - Getting Started](/docs/products/compute/kubernetes/get-started/). +Learn how to deploy an LKE cluster through our guide [Linode Kubernetes Engine - Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine). The present tutorial assumes you followed the guide above to create an LKE cluster with three nodes. The tutorial has been tested with Dedicated 4GB nodes, but that can be adjusted to fit your needs. -For an alternative method to deploy a Kubernetes cluster onto Linode, see our guide [Using kubeadm to Deploy a Kubernetes Cluster](/docs/guides/deploy-kubernetes-cluster-using-kubeadm/). The guide covers using the `kubeadm` tool to set up a cluster, but the guide also highlights and links to further options for Kubernetes deployments. +For an alternative method to deploy a Kubernetes cluster onto Linode, see our guide [Using kubeadm to Deploy a Kubernetes Cluster](/cloud/guides/deploy-kubernetes-cluster-using-kubeadm/). The guide covers using the `kubeadm` tool to set up a cluster, but the guide also highlights and links to further options for Kubernetes deployments. This tutorial additionally requires that `kubectl` is installed locally and set up with the `kubeconfig` file to connect to your LKE cluster. Learn more about this in the guides linked above, depending on your method for setting up the Kubernetes cluster. @@ -58,7 +58,7 @@ This tutorial additionally requires that `kubectl` is installed locally and set Nomad typically uses [Consul](https://www.consul.io/) for network discovery. Fortunately, a Consul mesh can be set up on a Kubernetes cluster with relative ease through the official Helm chart. -Learn more about setting up a Consul service mesh on Kubernetes through our guide [Install HashiCorp Consul Service Mesh](/docs/guides/how-to-install-hashicorp-consul-service-mesh/). +Learn more about setting up a Consul service mesh on Kubernetes through our guide [Install HashiCorp Consul Service Mesh](/cloud/guides/how-to-install-hashicorp-consul-service-mesh/). The steps that follow are based on those covered in the guide above. Some alterations have been made and more specifics given to fit smoothly with Nomad on the cluster. diff --git a/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md b/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md index ae4ff09d7a2..d5935b5ea10 100644 --- a/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md +++ b/docs/guides/kubernetes/setting-up-harbor-registry-with-lke/index.md @@ -29,9 +29,9 @@ This guide shows how to set up a Harbor registry on a dedicated compute instance ## Before You Begin -The Harbor installation in this guide assumes that you have [a domain name registered through a domain registrar](/docs/products/networking/dns-manager/get-started/#register-the-domain), and that you can edit the DNS records for this domain. This is so that SSL connections can be configured for the Harbor server. If you do not have a domain name, register one now. +The Harbor installation in this guide assumes that you have [a domain name registered through a domain registrar](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager#register-the-domain), and that you can edit the DNS records for this domain. This is so that SSL connections can be configured for the Harbor server. If you do not have a domain name, register one now. -The infrastructure for this guide is created on the Akamai Cloud platform. If you do not already have one, [create an account](/docs/products/platform/get-started/) for the platform. +The infrastructure for this guide is created on the Akamai Cloud platform. If you do not already have one, [create an account](https://techdocs.akamai.com/cloud-computing/docs/getting-started) for the platform. The following is a summary of the infrastructure created in this guide. Instructions for creating these services are included later in the guide: @@ -39,10 +39,10 @@ The following is a summary of the infrastructure created in this guide. Instruct - An LKE cluster with 3 nodes, used to demonstrate pulling an image from the Harbor server. -If you would like to remove these services after you finish following the guide, review our [Stop Further Billing](/docs/products/platform/billing/guides/stop-billing/) guide. For more information on how billing for services works, review the [Billing Overview](/docs/products/platform/billing/). +If you would like to remove these services after you finish following the guide, review our [Stop Further Billing](https://techdocs.akamai.com/cloud-computing/docs/stop-further-billing) guide. For more information on how billing for services works, review the [Billing Overview](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Harbor? @@ -73,29 +73,29 @@ The server is your Harbor access point. It gives you an administrative interface This tutorial requires you to have a domain for your Harbor server. Doing so allows you to use Let's Encrypt for SSL certification. For example code and commands, the tutorial uses `harbor.example.com` as the domain name. -In your DNS manager for your own domain, create an [A record](/docs/guides/dns-overview/#a-and-aaaa) named `harbor`: +In your DNS manager for your own domain, create an [A record](/cloud/guides/dns-overview/#a-and-aaaa) named `harbor`: -- If you use the Linode DNS Manager, follow our [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide to create the new a record. +- If you use the Linode DNS Manager, follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to create the new a record. - If you use another DNS manager, follow their instructions for creating the A record. {{< note >}} If you use another DNS manager but would like to start using the Linode DNS Manager, refer to these guides: - - [DNS Manager - Get Started](/docs/products/networking/dns-manager/get-started/) - - [Configure Your Domain's Authoritative Name Servers](/docs/products/networking/dns-manager/guides/authoritative-name-servers/) - - [Incoming DNS Zone Transfers](/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/) + - [DNS Manager - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) + - [Configure Your Domain's Authoritative Name Servers](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers) + - [Incoming DNS Zone Transfers](https://techdocs.akamai.com/cloud-computing/docs/incoming-dns-zone-transfers) {{< /note >}} ### Provision a Compute Instance For this tutorial, the Harbor server is run on a compute instance. Follow these instructions to create the instance: -1. Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to create the instance. Instructions for installing Harbor on Debian, Ubuntu, CentOS, and Fedora are included in this guide. +1. Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create the instance. Instructions for installing Harbor on Debian, Ubuntu, CentOS, and Fedora are included in this guide. - Images stored with the registry are kept in the compute instance's included [persistent storage](/docs/products/compute/compute-instances/guides/disks-and-storage/#understanding-storage). Different instance plans have different amounts of included storage. You should pick a plan whose storage can accommodate the total size of the images you want to store. Review the [pricing page](/pricing/) to determine which plan has enough storage for you. If you intend to use this server for testing and learning, a plan with minimal specs is adequate. + Images stored with the registry are kept in the compute instance's included [persistent storage](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#understanding-storage). Different instance plans have different amounts of included storage. You should pick a plan whose storage can accommodate the total size of the images you want to store. Review the [pricing page](/pricing/) to determine which plan has enough storage for you. If you intend to use this server for testing and learning, a plan with minimal specs is adequate. -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,create a limited user account, and harden SSH access. You may also wish to set the timezone and configure your hostname. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system,create a limited user account, and harden SSH access. You may also wish to set the timezone and configure your hostname. ### Install Docker and Docker Compose @@ -172,7 +172,7 @@ Using SSL lets you secure traffic to and from your Harbor server. You can create [Certbot](https://certbot.eff.org) is a tool that provides an interface for requesting and downloading certificates from Let's Encrypt. This tutorial uses Certbot to set up an SSL certificate: -1. To install Certbot, follow one of our [Certbot for NGINX guides](/docs/guides/enabling-https-using-certbot/#nginx). For this tutorial, follow just the **Installing Snapd** and **Installing Certbot** sections. *Do not* follow that guide's steps for requesting a certificate. +1. To install Certbot, follow one of our [Certbot for NGINX guides](/cloud/guides/enabling-https-using-certbot/#nginx). For this tutorial, follow just the **Installing Snapd** and **Installing Certbot** sections. *Do not* follow that guide's steps for requesting a certificate. 1. Use Certbot to request a certificate for your domain (given after the `-d` option), using the [standalone verification](https://eff-certbot.readthedocs.io/en/stable/using.html#standalone) option. Replace the domain in this command with your Harbor server's domain: @@ -379,7 +379,7 @@ The following instructions can be run from your local workstation. They require ``` {{< note >}} -You can learn more about building Docker images through our guide on [How to Use a Dockerfile to Build a Docker Image](/docs/guides/how-to-use-dockerfiles/). +You can learn more about building Docker images through our guide on [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles/). {{< /note >}} #### Push an Image to Harbor @@ -422,7 +422,7 @@ You can go to the Harbor dashboard in your browser to see the results. Navigate Harbor can act as the image registry for a Kubernetes cluster. The steps in this section show how to deploy the example Docker image in the previous section from your Harbor registry to your LKE cluster. -1. Provision an LKE cluster. Follow our [Linode Kubernetes Engine - Get Started](/docs/products/compute/kubernetes/get-started/) guide to install the kubectl tool on your local workstation, deploy a cluster, and download your cluster's kubeconfig. The new cluster should have a node pool with three nodes. The nodes can have minimal specifications, because they are only used to serve a small website. +1. Provision an LKE cluster. Follow our [Linode Kubernetes Engine - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide to install the kubectl tool on your local workstation, deploy a cluster, and download your cluster's kubeconfig. The new cluster should have a node pool with three nodes. The nodes can have minimal specifications, because they are only used to serve a small website. The commands in the next steps should be run from your workstation. diff --git a/docs/guides/kubernetes/terraform-vs-helm/index.md b/docs/guides/kubernetes/terraform-vs-helm/index.md index 080ef4abc02..c3c07745983 100644 --- a/docs/guides/kubernetes/terraform-vs-helm/index.md +++ b/docs/guides/kubernetes/terraform-vs-helm/index.md @@ -114,6 +114,6 @@ One caveat to using Helm and Terraform together is the added complexity that may With the information provided in this guide, you should now be equipped to make an informed decision between Terraform and Helm, or even consider using them in tandem. To learn more about these tools, review some of our other resources: -- Navigate to the [Terraform](/docs/guides/applications/configuration-management/terraform/) section for a list of related guides. +- Navigate to the [Terraform](/cloud/guides/applications/configuration-management/terraform/) section for a list of related guides. -- For Helm, you can start with our [Introduction to Helm | LKE Workshop](https://www.linode.com/content/introduction-to-helm-lke-workshop-with-jerome-petazzoni/) video. Then, dive deeper with our [How to Install Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/) guide. \ No newline at end of file +- For Helm, you can start with our [Introduction to Helm | LKE Workshop](https://www.linode.com/content/introduction-to-helm-lke-workshop-with-jerome-petazzoni/) video. Then, dive deeper with our [How to Install Apps on Kubernetes with Helm 3](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) guide. \ No newline at end of file diff --git a/docs/guides/kubernetes/troubleshooting-kubernetes/index.md b/docs/guides/kubernetes/troubleshooting-kubernetes/index.md index 5232c616657..aa7b0899518 100644 --- a/docs/guides/kubernetes/troubleshooting-kubernetes/index.md +++ b/docs/guides/kubernetes/troubleshooting-kubernetes/index.md @@ -27,7 +27,7 @@ Troubleshooting issues with Kubernetes can be complex, and it can be difficult t {{< note title="Where to go for help outside this guide" isCollapsible=true >}} If your issue is not covered by this guide, we also recommend researching and posting in the [Linode Community Questions](https://www.linode.com/community/questions/) site and in `#linode` on the [Kubernetes Slack](http://slack.k8s.io/), where other Linode users (and the Kubernetes community) can offer advice. -If you are running a cluster on Linode's managed LKE service, and you are experiencing an issue related to your master/control plane components, you can report these issues to Linode by [contacting Linode Support](/docs/products/platform/get-started/guides/support/). Examples in this category include: +If you are running a cluster on Linode's managed LKE service, and you are experiencing an issue related to your master/control plane components, you can report these issues to Linode by [contacting Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support). Examples in this category include: - Kubernetes' API server not running. If kubectl does not respond as expected, this can indicate problems with the API server. @@ -77,7 +77,7 @@ mariadb-0 1/1 Running 0 2h ``` {{< note >}} - If you've set up Kubernetes using automated solutions like Linode's Kubernetes Engine, [k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/), or [Rancher](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/), you'll see [csi-linode](https://github.com/linode/linode-blockstorage-csi-driver) and [ccm-linode](https://github.com/linode/linode-cloud-controller-manager) Pods in the `kube-system` namespace. This is normal as long as they're in the Running status. + If you've set up Kubernetes using automated solutions like Linode's Kubernetes Engine, [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/), or [Rancher](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/), you'll see [csi-linode](https://github.com/linode/linode-blockstorage-csi-driver) and [ccm-linode](https://github.com/linode/linode-cloud-controller-manager) Pods in the `kube-system` namespace. This is normal as long as they're in the Running status. {{< /note >}} @@ -182,7 +182,7 @@ If the Kubernetes API server isn't working normally, then you may not be able to #### Non-systemd systems -If your nodes do not run [systemd](/docs/guides/what-is-systemd/), the location of logs on your master nodes should be: +If your nodes do not run [systemd](/cloud/guides/what-is-systemd/), the location of logs on your master nodes should be: - `/var/log/kube-apiserver.log` - [API server](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/) - `/var/log/kube-scheduler.log` - [Scheduler](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/ ) @@ -261,7 +261,7 @@ If you are not able to create new nodes in your cluster, you may see an error me Error creating a Linode Instance: [400] Account Limit reached. Please open a support ticket. ``` -This is a reference to the total number of Linode resources that can exist on your account. To create new Linode instances for your cluster, you will need to either remove other instances on your account, or request a limit increase. To request a limit increase, [contact Linode Support](/docs/products/platform/get-started/guides/support/#contact-customer-support). +This is a reference to the total number of Linode resources that can exist on your account. To create new Linode instances for your cluster, you will need to either remove other instances on your account, or request a limit increase. To request a limit increase, [contact Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support#contact-customer-support). ### Insufficient CPU or Memory @@ -286,8 +286,8 @@ If one of your Pods requests more memory or CPU than is available on your worker If your cluster has insufficient resources for a new Pod, you will need to do one or more of the following: - Reduce the number of other pods/deployments/applications running on your cluster. -- [Add a new worker node or nodes](/docs/products/compute/kubernetes/guides/manage-node-pools/) to your cluster. -- [Add a new Node Pool](/docs/products/compute/kubernetes/guides/manage-node-pools/#add-a-node-pool) with access to more resources and migrate the workload to the new pool. +- [Add a new worker node or nodes](https://techdocs.akamai.com/cloud-computing/docs/manage-nodes-and-node-pools) to your cluster. +- [Add a new Node Pool](https://techdocs.akamai.com/cloud-computing/docs/manage-nodes-and-node-pools#add-a-node-pool) with access to more resources and migrate the workload to the new pool. ### Rolling Back a Highly Available (HA) LKE Cluster diff --git a/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md b/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md index 327fc6de40d..21a073a3d21 100644 --- a/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md +++ b/docs/guides/kubernetes/use-rook-to-orchestrate-distributed-open-source-storage/index.md @@ -31,7 +31,7 @@ Rook automates the deployment and management of Ceph to create self-managing, se 1. Before you can work with Ceph and Rook, you need a Kubernetes cluster running Kubernetes version 1.28 or later with `kubectl` configured to communicate with your cluster. The recommended minimum Kubernetes setup for Rook includes three nodes with 4 GB memory and 2 CPUs each. - To create a cluster and configure `kubectl`, follow the instructions in our [Linode Kubernetes Engine - Get Started](/docs/products/compute/kubernetes/get-started/) guide. + To create a cluster and configure `kubectl`, follow the instructions in our [Linode Kubernetes Engine - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide. 1. The Ceph storage cluster configured by Rook requires one of the following local storage options as a [prerequisite](https://rook.io/docs/rook/latest-release/Getting-Started/Prerequisites/prerequisites/): @@ -42,10 +42,10 @@ Rook automates the deployment and management of Ceph to create self-managing, se - Multipath Devices - Persistent Volumes - This guide utilizes Linode Block Storage Volumes attached to individual cluster nodes to demonstrate initial Rook and Ceph configuration. For production environments, we recommend utilizing [persistent volumes](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) or another local storage option. + This guide utilizes Linode Block Storage Volumes attached to individual cluster nodes to demonstrate initial Rook and Ceph configuration. For production environments, we recommend utilizing [persistent volumes](/cloud/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) or another local storage option. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 and Attaching Volumes diff --git a/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md b/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md index c4bbe07d863..092a80eaa6d 100644 --- a/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md +++ b/docs/guides/kubernetes/using-kompose-for-kubernetes/index.md @@ -16,14 +16,14 @@ Kompose is a tool that makes it easier to convert Docker Compose files into Kube ## 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. Have an active Kubernetes cluster configured with `kubectl` or a similar tool. You can follow our [Linode Kubernetes Engine - Getting Started](/docs/products/compute/kubernetes/get-started/) guide to deploy an LKE cluster from the Linode Cloud Manager. The guide also includes steps for installing and configuring `kubectl` to manage the cluster. +1. Have an active Kubernetes cluster configured with `kubectl` or a similar tool. You can follow our [Linode Kubernetes Engine - Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine) guide to deploy an LKE cluster from the Linode Cloud Manager. The guide also includes steps for installing and configuring `kubectl` to manage the cluster. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Kompose? @@ -222,7 +222,7 @@ The resources have been deployed, meaning your Kubernetes cluster should be runn {{< tabs >}} {{< tab "Debian and Ubuntu" >}} - Refer to our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide, and use the following commands to open the HTTP port. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide, and use the following commands to open the HTTP port. ```command sudo ufw allow 8080/tcp @@ -230,7 +230,7 @@ The resources have been deployed, meaning your Kubernetes cluster should be runn ``` {{< /tab >}} {{< tab "CentOS Stream, AlmaLinux, and Rocky Linux" >}} - Refer to our [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/) guide, and use the following commands to open the HTTP port: + Refer to our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide, and use the following commands to open the HTTP port: ```command sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent @@ -255,6 +255,6 @@ Kompose is a powerful tool. Whether you are a Docker Compose aficionado beginnin The links below are helpful resources for learning more about working with Kompose. Additionally, you may be interested in moving forward with more on Kubernetes and Docker Compose: -- Refer to our [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series to go deeper with Kubernetes, and see our [collection of Kubernetes guides](/docs/guides/kubernetes/) for a range of use cases to build on. +- Refer to our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series to go deeper with Kubernetes, and see our [collection of Kubernetes guides](/cloud/guides/kubernetes/) for a range of use cases to build on. -- Search our documentation for Docker Compose to see everything from getting started guides like [How to Use Docker Compose](/docs/guides/how-to-use-docker-compose/) to specific use cases like how to [Install a Mastodon Server](/docs/guides/install-mastodon-on-ubuntu-2004/). \ No newline at end of file +- Search our documentation for Docker Compose to see everything from getting started guides like [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) to specific use cases like how to [Install a Mastodon Server](/cloud/guides/install-mastodon-on-ubuntu-2004/). \ No newline at end of file diff --git a/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md b/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md index 0508e1a236d..06a2a17ce36 100644 --- a/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md +++ b/docs/guides/kubernetes/using-octant-with-kubernetes-a-tutorial/index.md @@ -34,17 +34,17 @@ This guide will explore a few ways to use Octant with some example software depl - A [troubleshooting thought experiment](#troubleshooting-with-octant) will show how Octant can make discovering issues in your cluster easier. {{< note >}} -This guide assumes familiarity with the Kubernetes concepts outlined in Linode's [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/). If you have never set up a Kubernetes cluster before, it's also recommended that you do so to get the most out of this guide. The [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) guide describes a one-line command for generating a cluster. +This guide assumes familiarity with the Kubernetes concepts outlined in Linode's [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/). If you have never set up a Kubernetes cluster before, it's also recommended that you do so to get the most out of this guide. The [How to Deploy Kubernetes on Linode with the k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) guide describes a one-line command for generating a cluster. {{< /note >}} ## Before you Begin -The examples in this guide have been tested on a cluster running with Linode with Linode's [CCM](/docs/guides/kubernetes-reference/#linode-cloud-controller-manager) and [CSI](/docs/guides/kubernetes-reference/#container-storage-interface) plugins installed. If you would like to install these examples as well, a cluster made with [k8s-alpha CLI](/docs/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) will meet these criteria. +The examples in this guide have been tested on a cluster running with Linode with Linode's [CCM](/cloud/guides/kubernetes-reference/#linode-cloud-controller-manager) and [CSI](/cloud/guides/kubernetes-reference/#container-storage-interface) plugins installed. If you would like to install these examples as well, a cluster made with [k8s-alpha CLI](/cloud/guides/how-to-deploy-kubernetes-on-linode-with-k8s-alpha-cli/) will meet these criteria. {{< note type="alert" >}} These examples will create billable services. To stop billing for these services after reading the guide, be sure to read the tear-down instructions at the end of each section. If you created a new cluster for this guide, you can remove the cluster's Nodes from the [Linode Cloud Manager](https://cloud.linode.com). -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. [Linode's pricing page](https://www.linode.com/pricing/) lists the rate for each Linode service. +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. [Linode's pricing page](https://www.linode.com/pricing/) lists the rate for each Linode service. {{< /note >}} ## Installing Octant @@ -107,7 +107,7 @@ Octant can be run as a local server process on your workstation. To install and The interfaces that Octant provides are meant to be a complement, and not a replacement, for kubectl. When using Octant, you may find that you sometimes need to return to kubectl to perform certain actions. Still, the Octant dashboard will serve as a helpful overview when inspecting your cluster. {{< note >}} -The cluster objects visible in the following screenshots were created by installing the [Helm chart](https://github.com/helm/charts/tree/master/stable/ghost) for the [Ghost](https://ghost.org) blogging software. The [How to Install Apps on Kubernetes with Helm 2](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-2/) guide outlines how to install this software. Please note that this guide uses Helm 2 and not Helm 3 to install the software. +The cluster objects visible in the following screenshots were created by installing the [Helm chart](https://github.com/helm/charts/tree/master/stable/ghost) for the [Ghost](https://ghost.org) blogging software. The [How to Install Apps on Kubernetes with Helm 2](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-2/) guide outlines how to install this software. Please note that this guide uses Helm 2 and not Helm 3 to install the software. {{< /note >}} - When first viewing the dashboard, a list of all of your cluster objects will be shown: diff --git a/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md b/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md index 21804886e17..17d33cc85be 100644 --- a/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md +++ b/docs/guides/kubernetes/what-is-kubernetes-cert-manager/index.md @@ -16,10 +16,10 @@ external_resources: ## What is cert manager? -Cert-manager is a Kubernetes add-on designed to assist with the creation and management of TLS certificates. Similar to [Certbot](/docs/guides/secure-http-traffic-certbot/), cert-manager can automate the process of creating and renewing self-signed and signed certificates for a large number of use cases, with a specific focus on container orchestration tools like Kubernetes. +Cert-manager is a Kubernetes add-on designed to assist with the creation and management of TLS certificates. Similar to [Certbot](/cloud/guides/secure-http-traffic-certbot/), cert-manager can automate the process of creating and renewing self-signed and signed certificates for a large number of use cases, with a specific focus on container orchestration tools like Kubernetes. {{< note >}} -This guide assumes a working knowledge of Kubernetes key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series. +This guide assumes a working knowledge of Kubernetes key concepts, including master and worker nodes, Pods, Deployments, and Services. For more information on Kubernetes, see our [Beginner's Guide to Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) series. {{< /note >}} ## Understanding Cert Manager Concepts @@ -28,7 +28,7 @@ Cert-Manager is divided into a number of components and microservices that are e ### Issuers and ClusterIssuers -Certificate creation begins with `Issuers` and `ClusterIssuers`, resources that represent certificate authorities and are able to generate signed certificates using a specific issuer `type`. An issuer `type` represents the method used to create your certificate, such as `SelfSigned` for a [Self-Signed Certificate](/docs/guides/create-a-self-signed-tls-certificate/) and `ACME` for requests for certificates from ACME servers, typically used by tools like [Let's Encrypt](https://letsencrypt.org/). All supported issuer types are listed in [Cert-Manager's Documentation](https://cert-manager.io/docs/configuration/). +Certificate creation begins with `Issuers` and `ClusterIssuers`, resources that represent certificate authorities and are able to generate signed certificates using a specific issuer `type`. An issuer `type` represents the method used to create your certificate, such as `SelfSigned` for a [Self-Signed Certificate](/cloud/guides/create-a-self-signed-tls-certificate/) and `ACME` for requests for certificates from ACME servers, typically used by tools like [Let's Encrypt](https://letsencrypt.org/). All supported issuer types are listed in [Cert-Manager's Documentation](https://cert-manager.io/docs/configuration/). While `Issuers` resources are only able to create certificates in the namespace they were created in, `ClusterIssuers` can create certificates for all namespaces. This guide provides an example that demonstrates how `ClusterIssuers` creates certificates for all namespaces in the cluster. @@ -83,4 +83,4 @@ cert-manager-webhook-68d464c8b-86tqw 1/1 Running 0 19m ## Next Steps -To learn how to apply some of the concepts learned in this guide, see the [Configuring Load Balancing with TLS Encryption on a Kubernetes Cluster](/docs/guides/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/) guide. \ No newline at end of file +To learn how to apply some of the concepts learned in this guide, see the [Configuring Load Balancing with TLS Encryption on a Kubernetes Cluster](/cloud/guides/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/) guide. \ No newline at end of file diff --git a/docs/guides/linode-writers-formatting-guide/index.md b/docs/guides/linode-writers-formatting-guide/index.md index 4d1314aec72..524ee26d5b5 100644 --- a/docs/guides/linode-writers-formatting-guide/index.md +++ b/docs/guides/linode-writers-formatting-guide/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/linode-writers-formatting-guide/','/linode-writers-guide/','/style-guide/'] show_on_rss_feed: false external_resources: - - '[GitHub Beginners Guide](/docs/guides/a-beginners-guide-to-github/)' + - '[GitHub Beginners Guide](/cloud/guides/a-beginners-guide-to-github/)' - '[Red Hat Writing Style Guide](http://stylepedia.net/)' build: list: false @@ -21,7 +21,7 @@ build: ## Write Guides for Linode -This guide provides templates and guidelines to use when creating or updating a guide for [Linode Docs](/docs/). +This guide provides templates and guidelines to use when creating or updating a guide for [Linode Docs](/cloud/). Updates, improvements, and bug fixes to Linode documentation are always welcome through [GitHub](https://github.com/linode/docs) via pull requests (PRs) or issues. @@ -91,22 +91,22 @@ Below is an example *Before You Begin* section. You may copy the example and edi ```file {title="Before You Begin"} ## 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. ``` ### Include a Note about Root or Non-Root users ```file {title="Guides Written for a Non-Root User" lang="txt"} {{}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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. {{}} ``` ```file {title="Guides Written for a Root User" lang="txt"} {{}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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. {{}} ``` @@ -584,7 +584,7 @@ Use Ctrl + C to copy text. Internal links to other Linode guides should be relative, starting at `/docs/`, and external links should be formatted as shown below and use HTTPS URLs whenever possible. -- **Internal link example:** `[Getting Started](/docs/products/platform/get-started/)` +- **Internal link example:** `[Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started)` - **External link example:** `[Apache HTTP Server Documentation](https://httpd.apache.org/docs/)` ### Lists @@ -723,7 +723,7 @@ There are four unique types of notes: **primary**, **secondary**, **warning**, a - **Warning** (`type="warning"`, title defaults to "Warning"): Notices that warn the reader to proceed with caution, including notices for beta programs, warnings of limited resource availability, etc. Not as urgent as alert notes. {{< note type="warning" title="VPC Beta Notice" >}} - VPCs are now publicly available in beta, providing customers with another method of isolating network traffic between Compute Instances (in addition to the [VLANs](/docs/products/networking/vlans/) feature). Not all data centers are currently supported. For more information, review the [Availability](/docs/products/networking/vpc/#availability) section. + VPCs are now publicly available in beta, providing customers with another method of isolating network traffic between Compute Instances (in addition to the [VLANs](https://techdocs.akamai.com/cloud-computing/docs/vlan) feature). Not all data centers are currently supported. For more information, review the [Availability](https://techdocs.akamai.com/cloud-computing/docs/vpc#availability) section. {{< /note >}} - **Alert** (`type="alert"`, title defaults to "Important"): The most urgent of all note types. **Alert** notes should be used to notify of potential *destructive* actions such as situations resulting in data loss or where there is no undoing what has been done. Anything critical to the success of a task should still be included in the primary content and not solely live in the note. diff --git a/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md b/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md index ddf48f0c179..730143f61aa 100644 --- a/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md +++ b/docs/guides/networking/diagnostics/check-linux-ports-in-use/index.md @@ -56,11 +56,11 @@ tcp6 0 0 [::]:http [::]:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN 2145/sshd: /usr/sbi {{}} -To learn how to install netstat, interpret its output, and view common command line options, see our [Inspecting Network Information with netstat](/docs/guides/inspecting-network-information-with-netstat/) guide. +To learn how to install netstat, interpret its output, and view common command line options, see our [Inspecting Network Information with netstat](/cloud/guides/inspecting-network-information-with-netstat/) guide. ### Using ss -Another way to have Linux check ports is via the [**ss**](/docs/guides/ss/) tool. `ss` was created to improve upon netstat and provides more functionality. It allows you to monitor TCP, UDP, and UNIX sockets. A socket enables programs to communicate with each other across a network and is comprised of an IP address and a port number. +Another way to have Linux check ports is via the [**ss**](/cloud/guides/ss/) tool. `ss` was created to improve upon netstat and provides more functionality. It allows you to monitor TCP, UDP, and UNIX sockets. A socket enables programs to communicate with each other across a network and is comprised of an IP address and a port number. Running the `ss` with no options displays TCP, UDP, and UNIX sockets. Similar to netstat, this unrestricted list can get quite big on busy machines, so it is useful to restrict the ss command's output by using command-line options. For example, to view all listening and non-listening TCP sockets issue the following command: @@ -87,7 +87,7 @@ LISTEN 0 128 [::]:ssh Using just the `-l` parameter tells ss to list all Linux's listening ports, which are omitted by default, making it easier to check for listening ports in Linux. -To take a deeper dive into the ss tool, read our [Learning to Use the ss Tool to its Full Potential](/docs/guides/ss/) guide. This guide provides commands specific to each protocol, commands to view general statistics about a system's current connections, and ways to filter your output. +To take a deeper dive into the ss tool, read our [Learning to Use the ss Tool to its Full Potential](/cloud/guides/ss/) guide. This guide provides commands specific to each protocol, commands to view general statistics about a system's current connections, and ways to filter your output. ### Using lsof @@ -109,4 +109,4 @@ hugo 57981 jdoe 8041u IPv4 0x3dab8c45a423853b 0t0 TCP localhost: hugo 57981 jdoe 8042u IPv4 0x3dab8c45a3a8e2db 0t0 TCP localhost:bmc_patroldb->localhost:51706 (ESTABLISHED) {{}} -`lsof` is a powerful diagnostic tool capable of a significant number of ways that you can combine its command line options to troubleshoot various issues. To learn more about the `lsof` command read our [How to List Open Files with lsof](/docs/guides/lsof/) guide. This guide provides information about command-line options, the anatomy of the lsof output, and filtering your output with regular expressions. +`lsof` is a powerful diagnostic tool capable of a significant number of ways that you can combine its command line options to troubleshoot various issues. To learn more about the `lsof` command read our [How to List Open Files with lsof](/cloud/guides/lsof/) guide. This guide provides information about command-line options, the anatomy of the lsof output, and filtering your output with regular expressions. diff --git a/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md b/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md index 4c924f8fbcd..a52db100f0e 100644 --- a/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md +++ b/docs/guides/networking/diagnostics/diagnosing-network-issues-with-mtr/index.md @@ -20,7 +20,7 @@ external_resources: [MTR](http://www.bitwizard.nl/mtr/) is a powerful tool that enables administrators to diagnose and isolate networking errors and provide reports of network status to upstream providers. MTR represents an evolution of the `traceroute` command by providing a greater data sample as if augmenting `traceroute` with `ping` output. This document provides an in-depth overview of MTR, the data it generates, and how to interpret and draw conclusions based on the data provided by it. -For a basic overview of network diagnostic techniques, see our introduction to [network diagnostics](/docs/guides/linux-system-administration-basics/#network-diagnostics). If you are having general issues with your system, read our overview of general [system diagnostics](/docs/guides/linux-system-administration-basics/#system-diagnostics). +For a basic overview of network diagnostic techniques, see our introduction to [network diagnostics](/cloud/guides/linux-system-administration-basics/#network-diagnostics). If you are having general issues with your system, read our overview of general [system diagnostics](/cloud/guides/linux-system-administration-basics/#system-diagnostics). ## Network Diagnostics Background diff --git a/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md b/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md index f284e4f24b4..032a57b1778 100644 --- a/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md +++ b/docs/guides/networking/diagnostics/inspecting-network-information-with-netstat/index.md @@ -15,7 +15,7 @@ aliases: ['/networking/diagnostics/inspecting-network-connections-with-netstat/' The `netstat` command line utility shows information about the network status of a workstation or server. `netstat` is available on Unix-like and Windows operating systems, with some differences in its usage between these systems. -`netstat` is an older utility, and some components of its functionality have been superseded by newer tools, like the [`ss` command](/docs/guides/ss/). A primary benefit of using `netstat` is that it is frequently pre-installed on Linux systems, while other tools might not be. As well, many (but not all) of the command line options for `netstat` can be run without root privileges, so it can still be useful on a system where you do not have root or `sudo` privileges. +`netstat` is an older utility, and some components of its functionality have been superseded by newer tools, like the [`ss` command](/cloud/guides/ss/). A primary benefit of using `netstat` is that it is frequently pre-installed on Linux systems, while other tools might not be. As well, many (but not all) of the command line options for `netstat` can be run without root privileges, so it can still be useful on a system where you do not have root or `sudo` privileges. {{< note >}} This guide assumes some basic knowledge of networking in Linux, including network interfaces, routing tables, and network connections and sockets. @@ -34,7 +34,7 @@ This guide will explore the options available when running `netstat` on Linux. ` A list of the [command line options](#command-line-options) can be found below, and some [advanced examples of using netstat with the AWK command](#using-awk-to-process-netstat-output) will be introduced at the end of the guide. {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to properly execute. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Basic Usage diff --git a/docs/guides/networking/diagnostics/lsof/index.md b/docs/guides/networking/diagnostics/lsof/index.md index 4bfc325bbf1..f45b0feb1ea 100644 --- a/docs/guides/networking/diagnostics/lsof/index.md +++ b/docs/guides/networking/diagnostics/lsof/index.md @@ -29,7 +29,7 @@ There are two main drawbacks of `lsof`. First, it can only display information a ## Before You Begin {{< note >}} -Running `lsof` without root privileges only returns the results available to the current user. If you are not familiar with the `sudo` command, see the [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +Running `lsof` without root privileges only returns the results available to the current user. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} On most major distributions, `lsof` comes pre-installed and you can begin using it immediately. If for any reason it is not found, you can install `lsof` using your preferred package manager. @@ -294,7 +294,7 @@ apache2 24571 www-data 6u IPv6 8626157 0t0 TCP *:https #### Internet Connections -If you process the output of `lsof` with some traditional UNIX command line tools, like [grep](/docs/guides/how-to-use-grep/) and `awk`, you can list all active network connections: +If you process the output of `lsof` with some traditional UNIX command line tools, like [grep](/cloud/guides/how-to-use-grep/) and `awk`, you can list all active network connections: sudo lsof -i -n -P | grep ESTABLISHED | awk '{print $1, $9}' | sort -u diff --git a/docs/guides/networking/diagnostics/netcat/index.md b/docs/guides/networking/diagnostics/netcat/index.md index 6d8edbcd857..76b8d7b5068 100644 --- a/docs/guides/networking/diagnostics/netcat/index.md +++ b/docs/guides/networking/diagnostics/netcat/index.md @@ -20,7 +20,7 @@ Netcat is a simple but handy UNIX utility that reads and writes data across netw Some of the commands in this guide will require the use of two terminal windows running `netcat`, one acting as a server and the other as the client. These can be separate machines, or you can connect to the same `localhost`. {{< note >}} -This guide is written for a non-root user. Depending on your configuration, some commands might require the help of `sudo` in order to get property executed. If you are not familiar with the `sudo` command, see the [Users and Groups](/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. Port numbers 0-1024 are restricted and can only be used with root privileges, which means that you should use the `sudo` command for creating TCP/IP *servers* that use port numbers 0-1024. This rule does not apply to TCP/IP *clients* that use port numbers 0-1024. diff --git a/docs/guides/networking/diagnostics/ss/index.md b/docs/guides/networking/diagnostics/ss/index.md index d150755f233..81d64f3eff6 100644 --- a/docs/guides/networking/diagnostics/ss/index.md +++ b/docs/guides/networking/diagnostics/ss/index.md @@ -19,7 +19,7 @@ aliases: ['/networking/diagnostics/ss/'] The study of socket connections is important for every UNIX and network administrator because it allows you to better understand your Linux system's status. Written by Alexey Kuznetosv to replace the famous `netstat` utility , the more capable `ss` (socket statistics) utility allows you to monitor TCP, UDP, and UNIX sockets. The purpose of this guide is to help you learn the `ss` utility and to use it as productively as possible. {{< note >}} -Running `ss` without using the `sudo` utility results in different output. Practically, this means that running `ss` without root privileges displays the results available to the current user only. If you are not familiar with the `sudo` command, see the [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +Running `ss` without using the `sudo` utility results in different output. Practically, this means that running `ss` without root privileges displays the results available to the current user only. If you are not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Command Line Options diff --git a/docs/guides/networking/dns/_shortguides/use-linode-name-servers/index.md b/docs/guides/networking/dns/_shortguides/use-linode-name-servers/index.md index f593988f849..14e1c890e88 100644 --- a/docs/guides/networking/dns/_shortguides/use-linode-name-servers/index.md +++ b/docs/guides/networking/dns/_shortguides/use-linode-name-servers/index.md @@ -48,7 +48,7 @@ When changing servers, however, make the TTL shorter to make sure that when you ### Use Linode's Nameservers -1. Follow Linode's instructions on [adding a domain zone](/docs/products/networking/dns-manager/guides/create-domain/) to create DNS records at Linode for your domain. Recreate the DNS records listed in your current nameserver authority's website, but change the IP addresses to reflect your Linode IPs where appropriate. +1. Follow Linode's instructions on [adding a domain zone](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) to create DNS records at Linode for your domain. Recreate the DNS records listed in your current nameserver authority's website, but change the IP addresses to reflect your Linode IPs where appropriate. 1. Locate your domain's registrar, which is the company you purchased your domain from. If you're not sure who your registrar is, you can find out with a [Whois Search tool](https://whois.icann.org/). @@ -82,7 +82,7 @@ When changing servers, however, make the TTL shorter to make sure that when you 1. Navigate to your domain in a web browser. It should now show the website from Linode, rather than your old host. If you can't tell the difference, use the [DIG utility](http://www.kloth.net/services/dig.php). It should show the IP address for your Linode. -1. [Set reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) for your domain. This is especially important if you are running a mail server. +1. [Set reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for your domain. This is especially important if you are running a mail server. {{< note respectIndent=false >}} If you're having trouble seeing your site at the new IP address, try visiting it in a different browser or in a private browsing session. Sometimes your browser will cache old DNS data, even if it has updated everywhere else. diff --git a/docs/guides/networking/dns/custom-name-servers/index.md b/docs/guides/networking/dns/custom-name-servers/index.md index e54f1db34eb..a2de7413f37 100644 --- a/docs/guides/networking/dns/custom-name-servers/index.md +++ b/docs/guides/networking/dns/custom-name-servers/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' DNS **name servers** (also referenced as the single word *nameservers*) are the backbone of the Domain Name System. They are the servers that host a domain's DNS records, which map human-readable domain names to IP addresses. -When registering a new domain or configuring an existing domain, you must set the FQDN (fully qualified domain name) of each name server you intend to use. This is done through your domain's registrar. You can typically chose to use your registrar's name servers, a third party name server, or a self-hosted name server. If you decide to use your registrar's DNS service or a third party DNS service, that service provides you with the FQDNs for its name servers. For example, the name servers for Linode's [DNS Manager](/docs/products/networking/dns-manager/guides/authoritative-name-servers/) are ns1.linode.com through ns5.linode.com. +When registering a new domain or configuring an existing domain, you must set the FQDN (fully qualified domain name) of each name server you intend to use. This is done through your domain's registrar. You can typically chose to use your registrar's name servers, a third party name server, or a self-hosted name server. If you decide to use your registrar's DNS service or a third party DNS service, that service provides you with the FQDNs for its name servers. For example, the name servers for Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers) are ns1.linode.com through ns5.linode.com. If you instead decide to use your own custom name servers, you first need to create glue records on your registrar for the FQDN you wish to use with each name server. In tandem with glue records, you must also set corresponding A records with your domain's DNS records. The last step is to configure your domain to use your new custom name servers. @@ -44,7 +44,7 @@ When a domain name is resolved, your system's DNS resolvers first query the root To overcome this circular resolution, glue records are needed. Glue records are set within the domain's registrar and can map the custom domain of a name server to the IP address of that name server. To configure glue records, follow the instructions below. -1. Obtain the public IPv4 addresses for each of your custom name servers. If they are hosted on a Linode Compute Instance, see [Managing IP Addresses on a Compute Instance](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). +1. Obtain the public IPv4 addresses for each of your custom name servers. If they are hosted on a Linode Compute Instance, see [Managing IP Addresses on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). 1. Log in to your domain's registrar. diff --git a/docs/guides/networking/dns/dns-and-user-privacy/index.md b/docs/guides/networking/dns/dns-and-user-privacy/index.md index b34340b47ee..b4010ae189f 100644 --- a/docs/guides/networking/dns/dns-and-user-privacy/index.md +++ b/docs/guides/networking/dns/dns-and-user-privacy/index.md @@ -30,7 +30,7 @@ HTTPS establishes encrypted tunnels between web browsers and servers using TLS, VPNs offer somewhat better protection from snooping, since they usually tunnel all traffic, including DNS. The potential downside is that VPN security rests on the assumption that the DNS servers are trusted. Many commercial VPN services perform data mining on customers’ DNS traffic. There’s no guarantee that a commercial service isn’t monetizing or otherwise sharing DNS data. -Commercial VPN providers, and some cloud DNS providers, may even redirect DNS traffic, sending users places other than intended. In fact, Google started its popular 8.8 cloud-DNS service after another provider, OpenDNS, [began redirecting queries for Google sites to its own search engine](https://www.dnsfilter.com/blog/paul-vixie-and-peter-lowe-on-why-doh-is-politically-motivated). DNSSEC would have prevented this, but that requires a nontrivial amount of server configuration (see our guide [How to Secure DNS With DNSSEC](/docs/guides/dnssec)). +Commercial VPN providers, and some cloud DNS providers, may even redirect DNS traffic, sending users places other than intended. In fact, Google started its popular 8.8 cloud-DNS service after another provider, OpenDNS, [began redirecting queries for Google sites to its own search engine](https://www.dnsfilter.com/blog/paul-vixie-and-peter-lowe-on-why-doh-is-politically-motivated). DNSSEC would have prevented this, but that requires a nontrivial amount of server configuration (see our guide [How to Secure DNS With DNSSEC](/cloud/guides/dnssec)). In short, a VPN does not guarantee DNS privacy. Only mechanisms intended to authenticate and encrypt DNS, coupled with the use of a trusted DNS server, can do that. @@ -68,7 +68,7 @@ For users, DoT offers greater transparency. Any attempt to block or tamper with [Bind 9](https://www.isc.org/bind/), the most widely used DNS server software, natively supports both DoT (starting in version 9.17.7) and DoH (starting in version 9.17.10). This support covers Linodes running Ubuntu 22.04 LTS, since this distribution includes Bind version 9.18.1. -To add DoT support to a recursive server running Bind 9, add these lines to `/etc/bind/named.conf`. This example assumes you’ve used [Let’s Encrypt to generate a TLS certificate and key for your DNS server](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/). Substitute the full paths and names of your certificate and key files as appropriate: +To add DoT support to a recursive server running Bind 9, add these lines to `/etc/bind/named.conf`. This example assumes you’ve used [Let’s Encrypt to generate a TLS certificate and key for your DNS server](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/). Substitute the full paths and names of your certificate and key files as appropriate: ```file {title="/etc/bind/named.conf" lang="aconf"} tls mytls { @@ -175,7 +175,7 @@ So far, no major web browser natively supports DoT. Two of the most popular brow Effective DNS security depends on four elements: hardening of DNS servers, cryptographic signing of DNS zones, protection of DNS queries and responses in flight, and use of a trusted DNS server. -DNS server security requires one or more secondary servers, keys to authenticate zone updates, and possibly a hidden primary server (see How to [Configure Primary and Secondary Servers](/docs/guides/dns-primary-and-secondary-server-setup)). Signing zones with DNSSEC ensures that the sites you visit really are what they claim to be (see [How to Secure DNS With DNSSEC](/docs/guides/dnssec)). +DNS server security requires one or more secondary servers, keys to authenticate zone updates, and possibly a hidden primary server (see How to [Configure Primary and Secondary Servers](/cloud/guides/dns-primary-and-secondary-server-setup)). Signing zones with DNSSEC ensures that the sites you visit really are what they claim to be (see [How to Secure DNS With DNSSEC](/cloud/guides/dnssec)). Either DoT or DoH work well to authenticate and encrypt DNS traffic in flight. If the greatest concern is interception or forgery of DNS traffic, either mechanism protects traffic. DoH has the advantage of being enabled by default in some widely used software (e.g. Windows 11 and Google Chrome). Meanwhile, DoT has the advantage of being easier to identify and control. diff --git a/docs/guides/networking/dns/dns-overview/index.md b/docs/guides/networking/dns/dns-overview/index.md index e4c3f1d8271..e86117de3a9 100644 --- a/docs/guides/networking/dns/dns-overview/index.md +++ b/docs/guides/networking/dns/dns-overview/index.md @@ -61,7 +61,7 @@ You can also use trailing dots in domain names (for example, `example.com.`), wh mail A 12.34.56.78 www A 12.34.56.78 -Every domain's zone file contains the domain administrator's email address, the name servers, and the DNS records. Of course, you are not limited to these default entries. You can create a variety of DNS records for as many different subdomains as you wish. To learn how to add individual DNS records using the DNS Manager, read the Linode [DNS Manager Overview article](/docs/products/networking/dns-manager/) guide. +Every domain's zone file contains the domain administrator's email address, the name servers, and the DNS records. Of course, you are not limited to these default entries. You can create a variety of DNS records for as many different subdomains as you wish. To learn how to add individual DNS records using the DNS Manager, read the Linode [DNS Manager Overview article](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. ### DNS Resolution @@ -106,11 +106,11 @@ An *AAAA record* is just like an A record, but for IPv6 IP addresses. A typical An *AXFR record* is a type of DNS record used for DNS replication, although there are more modern ways to do DNS replication. AXFR records are not used in ordinary zone files. Rather, they are used on a slave DNS server to replicate the zone file from a master DNS server. -For an example of how to configure Linode's nameservers as slave DNS servers using AXFR, see our [guide on configuring DNS in cPanel](/docs/guides/set-up-dns-services-on-cpanel/#using-linodes-dns-manager-as-a-secondary-server). +For an example of how to configure Linode's nameservers as slave DNS servers using AXFR, see our [guide on configuring DNS in cPanel](/cloud/guides/set-up-dns-services-on-cpanel/#using-linodes-dns-manager-as-a-secondary-server). ### CAA -DNS Certification Authority Authorization uses DNS to allow the holder of a domain to specify which certificate authorities are allowed to issue certificates for that domain. See our [Add CAA Records in the Linode Cloud Manager](/docs/products/networking/dns-manager/guides/caa-record/) guide for a configuration walkthrough. +DNS Certification Authority Authorization uses DNS to allow the holder of a domain to specify which certificate authorities are allowed to issue certificates for that domain. See our [Add CAA Records in the Linode Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/caa-records) guide for a configuration walkthrough. ### CNAME @@ -142,9 +142,9 @@ An *MX record* or *mail exchanger record* sets the mail delivery destination for example.com MX 10 mail.example.com. mail.example.com A 12.34.56.78 -The above records direct mail for *example.com* to the *mail.example.com* server. The target domain (`mail.example.com` above) needs to have its own A record that resolves to your Linode. An MX record should ideally point to a domain that is also the [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for its server. +The above records direct mail for *example.com* to the *mail.example.com* server. The target domain (`mail.example.com` above) needs to have its own A record that resolves to your Linode. An MX record should ideally point to a domain that is also the [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) for its server. -Your MX records don't necessarily have to point to your Linode. If you're using a third-party mail service like [Google Workspace](/docs/guides/using-google-workspace-for-email/), you should use the MX records they provide. +Your MX records don't necessarily have to point to your Linode. If you're using a third-party mail service like [Google Workspace](/cloud/guides/using-google-workspace-for-email/), you should use the MX records they provide. *Priority* is another component of MX records. This is the number written between the record type and the target server (10 in the example above). Priority allows you to designate a fallback server (or servers) for mail for a particular domain. Lower numbers have a higher priority. Here's an example of a domain that has two fallback mail servers: @@ -187,7 +187,7 @@ PTR records are usually set with your hosting provider. They are not part of you As a prerequisite for adding a PTR record, you need to create a valid, live A or AAAA record that points the desired domain to that IP. If you want an IPv4 PTR record, point the domain or subdomain to your Linode's IPv4 address. If you want an IPv6 PTR record, point the domain to your Linode's IPv6 address. Beyond that, IPv4 and IPv6 PTR records work the same way. -For instructions on setting up reverse DNS on your Linode, see our [Reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/#setting-reverse-dns) guide. +For instructions on setting up reverse DNS on your Linode, see our [Reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance#setting-reverse-dns) guide. {{< note >}} It's possible to have different IPs (including both IPv4 and IPv6 addresses) that have the same domain set for reverse DNS. To do this, you will have to configure multiple A or AAAA records for that domain that point to the various IPs. @@ -220,7 +220,7 @@ An SPF record for your domain tells other receiving mail servers which outgoing example.com TXT "v=spf1 a ~all" {{< note >}} -When applying TXT records using the [Linode DNS Manager](/docs/products/networking/dns-manager/), quotation marks `"` should not be applied in the example above. +When applying TXT records using the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager), quotation marks `"` should not be applied in the example above. {{< /note >}} In your SPF record, you should list all the mail servers from which you send mail, and then exclude all the others. Your SPF record will have a domain or subdomain, type (which is TXT, or SPF if your name server supports it), and text (which starts with "v=spf1" and contains the SPF record settings). @@ -254,5 +254,5 @@ An example use of SRV records would be to set up [Federated VoIP](http://en.wiki A *TXT record* or *text record* provides information about the domain in question to other resources on the internet. It's a flexible type of DNS record that can serve many different purposes depending on the specific contents. One common use of the TXT record is to create an [SPF record](#spf) on nameservers that don't natively support SPF. Another use is to create a [DKIM record](#dkim) for mail signing. {{< note >}} -In common DNS Configurations using TXT records, quotation marks `"` are applied. When applying TXT records using the [Linode DNS Manager](/docs/products/networking/dns-manager/), quotation marks `"` should not be applied in most scenarios, as they are added automatically in cases where they are needed. +In common DNS Configurations using TXT records, quotation marks `"` are applied. When applying TXT records using the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager), quotation marks `"` should not be applied in most scenarios, as they are added automatically in cases where they are needed. {{< /note >}} diff --git a/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md b/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md index 2cbdba8c6ab..c8cd5018d3a 100644 --- a/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md +++ b/docs/guides/networking/dns/dns-primary-and-secondary-server-setup/index.md @@ -16,18 +16,18 @@ A single web server or a database going offline is a hassle, but what if all ser Because networked services depend on DNS, it’s critical to add one or more secondary name servers for redundancy. Hardening DNS servers to protect against rogue updates and hiding the primary name server also helps ensure smooth DNS operation. -Our guide [An Introduction to DNS on Linux](/docs/guides/introduction-to-dns-on-linux) explains how DNS works and how to build a primary name server. This guide configures a secondary name server for redundancy, adds secret keys for authentication, and a hidden primary name server for protection against attacks. +Our guide [An Introduction to DNS on Linux](/cloud/guides/introduction-to-dns-on-linux) explains how DNS works and how to build a primary name server. This guide configures a secondary name server for redundancy, adds secret keys for authentication, and a hidden primary name server for protection against attacks. ## Before You Begin -1. Follow our [Introduction to DNS on Linux](/docs/guides/introduction-to-dns-on-linux) guide to set up a functional primary name server (`ns1`). +1. Follow our [Introduction to DNS on Linux](/cloud/guides/introduction-to-dns-on-linux) guide to set up a functional primary name server (`ns1`). 1. Create two Compute instances for our secondary name servers. This guide requires two new Ubuntu 22.04 LTS instances (`ns2` and `ns3`) in addition to the primary name server (`ns1`). -1. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your systems. Also set the timezone, configure your hostnames, and create limited user accounts. To follow along with this guide, give your servers the hostnames `ns2` and `ns3`. Make them part of the `yourdomainhere.com` domain (e.g. `ns2.yourdomainhere.com` and `ns3.yourdomainhere.com`, replacing `yourdomainhere.com` with your actual domain name). Also be sure to configure the hosts files with your hostnames and external IP addresses. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your systems. Also set the timezone, configure your hostnames, and create limited user accounts. To follow along with this guide, give your servers the hostnames `ns2` and `ns3`. Make them part of the `yourdomainhere.com` domain (e.g. `ns2.yourdomainhere.com` and `ns3.yourdomainhere.com`, replacing `yourdomainhere.com` with your actual domain name). Also be sure to configure the hosts files with your hostnames and external IP addresses. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Prepare the Primary DNS Server @@ -178,7 +178,7 @@ The new server can be in the same data center as the primary, but it doesn’t h sudo scp root@ns1.yourdomainhere.com:/etc/nsd/nsd.conf /etc/nsd ``` -1. Gather `ns2`'s external IPv4 and IPv6 addresses. Follow this guide to [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) or use the following command: +1. Gather `ns2`'s external IPv4 and IPv6 addresses. Follow this guide to [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) or use the following command: ```command {title="ns2"} ip a @@ -410,7 +410,7 @@ There is no requirement that the hidden primary reside in the same data center a sudo scp -r root@ns1.yourdomainhere.com:/etc/nsd/zones /etc/nsd ``` -1. Gather `ns3`'s external IPv4 and IPv6 addresses. Follow this guide to [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) or use the following command: +1. Gather `ns3`'s external IPv4 and IPv6 addresses. Follow this guide to [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) or use the following command: ```command {title="ns3"} ip a diff --git a/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md b/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md index 246e55f6c79..6784a6e345a 100644 --- a/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md +++ b/docs/guides/networking/dns/how-to-set-up-cloudflare-with-linode/index.md @@ -10,7 +10,7 @@ keywords: ["cloudflare", "dns"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Cloudflare Support](https://support.cloudflare.com/hc/en-us)' - - '[DNS Records: An Introduction](/docs/guides/dns-overview/)' + - '[DNS Records: An Introduction](/cloud/guides/dns-overview/)' tags: ["dns","networking"] aliases: ['/networking/dns/how-to-set-up-cloudflare-with-linode/'] --- @@ -45,7 +45,7 @@ In addition to caching content, Cloudflare's network is engineered to absorb and When you set up Cloudflare, you should keep your Linode's IP address secret from everyone except for Cloudflare. This is because if an attacker were able to discover the IP, they could direct a DDoS towards it. To keep the address hidden, make sure that none of your domains and DNS records reference it. -If you were previously attacked and are setting up Cloudflare to protect yourself from continued attacks, [contact Linode Support](/docs/products/platform/get-started/guides/support/#contact-customer-support) and request a new IP address for your Linode for use with Cloudflare. +If you were previously attacked and are setting up Cloudflare to protect yourself from continued attacks, [contact Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support#contact-customer-support) and request a new IP address for your Linode for use with Cloudflare. If you're not sure if your Linode's IP is still directly referenced by any of your DNS records, you can run `nmap` with [the following options](https://nmap.org/nsedoc/scripts/dns-brute.html) to check for possible references. `nmap` will try to resolve a set of common subdomains on your domain: @@ -55,7 +55,7 @@ A frequent source of accidental IP exposure is when [your MX records directly re ## Set Up Cloudflare -Cloudflare offers a free tier of service which enables the benefits described in this guide. This free tier is used to explore how to sign up for the service. You will need a registered domain and [DNS record](/docs/products/networking/dns-manager/get-started/) set up on your Linode before proceeding with these steps. +Cloudflare offers a free tier of service which enables the benefits described in this guide. This free tier is used to explore how to sign up for the service. You will need a registered domain and [DNS record](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) set up on your Linode before proceeding with these steps. 1. Create an account on [Cloudflare.com](https://dash.cloudflare.com/sign-up). @@ -77,7 +77,7 @@ Cloudflare offers a free tier of service which enables the benefits described in The table displays an *orange cloud* icon for hostnames that will be routed through Cloudflare's network. A *gray cloud* denotes hostnames which bypass Cloudflare's network. You can toggle between these two options. Consult [Cloudflare's documentation](https://support.cloudflare.com/hc/en-us/articles/200169626-What-subdomains-are-appropriate-for-orange-gray-clouds-) to determine which services you should route through their network. -1. Change the [name servers](/docs/guides/dns-overview/#name-servers) configured with your domain registrar to the ones listed under the *To* heading. This sets Cloudflare's nameservers as the [*authoritative name servers*](https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server) for your domain: +1. Change the [name servers](/cloud/guides/dns-overview/#name-servers) configured with your domain registrar to the ones listed under the *To* heading. This sets Cloudflare's nameservers as the [*authoritative name servers*](https://en.wikipedia.org/wiki/Name_server#Authoritative_name_server) for your domain: ![Cloudflare setup - authoritative name servers](cloudflare-setup-name-servers.png "Cloudflare setup - authoritative name servers") @@ -115,7 +115,7 @@ In total, there are four different SSL modes: If your web server is configured to redirect all HTTP requests to HTTPS while using Cloudflare's Flexible SSL mode, visitors may encounter a redirect loop when attempting to view your site. {{< /note >}} -- **Full SSL**: All connections between your site visitors and the edge servers will be redirected to HTTPS, and the edge servers will open HTTPS connections to your origin server. This option requires that you set up SSL on your origin web server with, at minimum, a [self-signed certificate](/docs/guides/create-a-self-signed-tls-certificate/). The certificate you use on the origin server will not be validated by Cloudflare. +- **Full SSL**: All connections between your site visitors and the edge servers will be redirected to HTTPS, and the edge servers will open HTTPS connections to your origin server. This option requires that you set up SSL on your origin web server with, at minimum, a [self-signed certificate](/cloud/guides/create-a-self-signed-tls-certificate/). The certificate you use on the origin server will not be validated by Cloudflare. - **Full SSL (strict)**: All connections between your site visitors and the edge servers will be redirected to HTTPS, and the edge servers will open HTTPS connections to your origin server. This option requires that you set up SSL on your origin web server with a certificate authority that Cloudflare can validate. A valid certificate can be obtained through [Let's Encrypt](https://letsencrypt.org), or directly from [Cloudflare](https://blog.cloudflare.com/cloudflare-ca-encryption-origin/). @@ -140,13 +140,13 @@ Certificates from Cloudflare's Origin CA are only trusted within the Cloudflare Copy the contents of each into two separate files on your computer: name the certificate file `example.com.pem`, and the private key file `example.com.key`. Substitute your domain name for `example.com` in those filenames. -1. Upload these files to your Linode. You can upload files by using an SFTP client like [FileZilla](/docs/guides/filezilla/) or you can use the command line tool [rsync](/docs/guides/introduction-to-rsync/). +1. Upload these files to your Linode. You can upload files by using an SFTP client like [FileZilla](/cloud/guides/filezilla/) or you can use the command line tool [rsync](/cloud/guides/introduction-to-rsync/). 1. Configure your Linode's web server software to listen on port `443` (HTTPS) to use the new certificate and private key. Instructions for doing this can vary depending on which web server software you use: - Cloudflare has a number of guides for installing the Origin CA certificate with different software packages. Consult their [documentation](https://support.cloudflare.com/hc/en-us/sections/207182687-Origin-CA) for instructions. - - You can also adapt instructions from Linode's various [SSL Certificate guides](/docs/security/ssl/). + - You can also adapt instructions from Linode's various [SSL Certificate guides](/cloud/security/ssl/). 1. Be sure to restrict the file permissions of your certificate and private key files on your Linode so that only your web server process can read them. For example, if your files are stored in the directory `/etc/ssl/certs/example.com/`, run: diff --git a/docs/guides/networking/dns/how-to-understand-ip-addresses/index.md b/docs/guides/networking/dns/how-to-understand-ip-addresses/index.md index af07d3ad42d..5d82b60b689 100644 --- a/docs/guides/networking/dns/how-to-understand-ip-addresses/index.md +++ b/docs/guides/networking/dns/how-to-understand-ip-addresses/index.md @@ -143,7 +143,7 @@ A variety of inter-operability approaches between IPv4 and IPv6 are sometimes us ## Finding Your IP Addresses via the Linux Command Line {{< note >}} -If you are trying to find the IP addresses of a Linode Compute Instance, you can do so from the Cloud Manager. See [Managing IP Addresses on a Compute Instance](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). +If you are trying to find the IP addresses of a Linode Compute Instance, you can do so from the Cloud Manager. See [Managing IP Addresses on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). {{< /note >}} 1. On Ubuntu and most Linux systems, the `ip addr show` command displays all networking information. The IPv4 address of the system is shown in the `inet` field, while the IPv6 address is referred to as the `inet6` address. diff --git a/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md b/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md index 5a993429d27..49d4a6ada51 100644 --- a/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md +++ b/docs/guides/networking/dns/introduction-to-dns-on-linux/index.md @@ -84,25 +84,25 @@ Before diving into setup details, familiarize yourself with the different types Each record describes a different type of information. For example, "A" records associate one hostname with one IPv4 address, while "AAAA" records do the same for IPv6. -There are dozens of RR types; [this Linode guide](/docs/products/networking/dns-manager/get-started/#add-dns-records) covers some of the most common and important ones. Most authoritative name servers need at least the following RR types: +There are dozens of RR types; [this Linode guide](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager#add-dns-records) covers some of the most common and important ones. Most authoritative name servers need at least the following RR types: -- [**A**](/docs/products/networking/dns-manager/guides/a-record/): Maps a hostname to an IPv4 address. -- [**AAAA**](/docs/products/networking/dns-manager/guides/a-record/): Maps a hostname to an IPv6 address (pronounced "quad-A"). -- [**MX**](/docs/products/networking/dns-manager/guides/mx-record/): Identifies a mail server for a given zone, and gives its priority. -- [**NS**](/docs/products/networking/dns-manager/guides/ns-record/): Identifies a name server for a given zone. -- [**SOA**](/docs/products/networking/dns-manager/guides/soa-record/): (Start of Authority) lists primary name server, administrative email contact, serial number, and default timers for a given zone. +- [**A**](https://techdocs.akamai.com/cloud-computing/docs/a-and-aaaa-records): Maps a hostname to an IPv4 address. +- [**AAAA**](https://techdocs.akamai.com/cloud-computing/docs/a-and-aaaa-records): Maps a hostname to an IPv6 address (pronounced "quad-A"). +- [**MX**](https://techdocs.akamai.com/cloud-computing/docs/mx-records): Identifies a mail server for a given zone, and gives its priority. +- [**NS**](https://techdocs.akamai.com/cloud-computing/docs/ns-records): Identifies a name server for a given zone. +- [**SOA**](https://techdocs.akamai.com/cloud-computing/docs/soa-record): (Start of Authority) lists primary name server, administrative email contact, serial number, and default timers for a given zone. The above list is enough for a bare-bones setup, but other common RR types include: -- [**CNAME**](/docs/products/networking/dns-manager/guides/cname-record/): Maps a hostname alias to a hostname defined in an A or AAAA record. +- [**CNAME**](https://techdocs.akamai.com/cloud-computing/docs/cname-records): Maps a hostname alias to a hostname defined in an A or AAAA record. - [**PTR**](https://www.linode.com/community/questions/126/how-do-i-add-a-ptr-record): Maps an IP address to a hostname (sometimes referred to as "reverse DNS" or "rDNS"). -- [**TXT**](/docs/products/networking/dns-manager/guides/txt-record/): Provides information in text form and often aids in email security through use of [SPF, DKIM, and DMARC records](https://dmarcly.com/blog/how-to-implement-dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide). +- [**TXT**](https://techdocs.akamai.com/cloud-computing/docs/txt-records): Provides information in text form and often aids in email security through use of [SPF, DKIM, and DMARC records](https://dmarcly.com/blog/how-to-implement-dmarc-dkim-spf-to-stop-email-spoofing-phishing-the-definitive-guide). ## 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 is for 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 is for 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. Set the timezone, configure your hostname, and create a limited user account. To follow along with this guide, give your server the hostname `ns1` and configure the hosts file as follows: +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. Set the timezone, configure your hostname, and create a limited user account. To follow along with this guide, give your server the hostname `ns1` and configure the hosts file as follows: ```file {title="/etc/hosts"} 127.0.0.1 localhost @@ -113,7 +113,7 @@ The above list is enough for a bare-bones setup, but other common RR types inclu Replace the example IP addresses with your Linode instance's external IPv4 and IPv6 addresses, and `yourdomainhere.com` with your domain name. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Building an Authoritative Server @@ -154,7 +154,7 @@ As packaged for Ubuntu 22.04 LTS, NSD’s main configuration file (`nsd.conf`) p Since the NSD documentation already includes a fully annotated sample configuration file, copy that file and work from there. The sample file lists many options with plenty of comments, making it a useful learning tool. -1. First, gather your Linode's external IPv4 and IPv6 addresses. Follow this guide to [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) or use the following command: +1. First, gather your Linode's external IPv4 and IPv6 addresses. Follow this guide to [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) or use the following command: ```command ip a @@ -317,7 +317,7 @@ A functional authoritative name server is now set up, but it’s not yet serving - Second, notice that the records for `paul` and `stu` point to the same IP addresses, as do `ns1` and `ns2`. This underscores an important aspect of DNS: one hostname can refer to many addresses, and vice-versa. It is this capability that makes virtual hosting possible. - While `paul` and `stu` only share the same IP address for demonstration purposes, `ns1` and `ns2` sharing an IP address has actual utility. Many domain registrars require a minimum of two name servers to utilize custom DNS. Since this guide only sets up a single primary name server, having records for two name servers allows you to proceed with domain delegation. The second part of our series on DNS covers how to [set up a secondary name server on a separate Linode instance](/docs/guides/dns-primary-and-secondary-server-setup). + While `paul` and `stu` only share the same IP address for demonstration purposes, `ns1` and `ns2` sharing an IP address has actual utility. Many domain registrars require a minimum of two name servers to utilize custom DNS. Since this guide only sets up a single primary name server, having records for two name servers allows you to proceed with domain delegation. The second part of our series on DNS covers how to [set up a secondary name server on a separate Linode instance](/cloud/guides/dns-primary-and-secondary-server-setup). - Third, note that fully qualified hostnames always have a period appended, representing the parent zone: diff --git a/docs/guides/networking/dns/previewing-websites-without-dns/index.md b/docs/guides/networking/dns/previewing-websites-without-dns/index.md index 0205e26412b..e593b14b980 100644 --- a/docs/guides/networking/dns/previewing-websites-without-dns/index.md +++ b/docs/guides/networking/dns/previewing-websites-without-dns/index.md @@ -16,7 +16,7 @@ tags: ["dns","networking"] Previewing your website before updating your domain's nameservers allows you to stage and test your setup without redirecting viewers from your live site running on your old host. This is done with an entry to your local system's hosts file. -A hosts file is used to map specific hostnames to IP addresses, and takes precedence over name resolution provided by DNS queries. By manually specifying an IP/hostname pair, web traffic sent to the given domain is directed to the given IP address, regardless of the domain's actual A records. If these terms are unfamiliar, see our [DNS](/docs/guides/dns-overview/) guide for more information. +A hosts file is used to map specific hostnames to IP addresses, and takes precedence over name resolution provided by DNS queries. By manually specifying an IP/hostname pair, web traffic sent to the given domain is directed to the given IP address, regardless of the domain's actual A records. If these terms are unfamiliar, see our [DNS](/cloud/guides/dns-overview/) guide for more information. ## Find Your Linode's IP Address diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md index 1552c2fd7a3..e478d4cab79 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-5-lenny/index.md @@ -20,11 +20,11 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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 @@ -108,7 +108,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md index 22d9cd982ef..0b6ae7625bb 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-debian-6-squeeze/index.md @@ -19,11 +19,11 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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 @@ -140,7 +140,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md index 3ec2b047126..52e72a413c7 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Install Required Software @@ -102,7 +102,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: nsdc rebuild /etc/init.d/nsd restart -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). Issue the following command to test the DNS server: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). Issue the following command to test the DNS server: dig @localhost www.example.org diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md index 95961816fb9..e3ee56c0f8f 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-fedora-14/index.md @@ -20,11 +20,11 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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 @@ -106,7 +106,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: nsdc rebuild /etc/init.d/nsd restart -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). Issue the following command to test the DNS server: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). Issue the following command to test the DNS server: dig @localhost www.example.org diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md index 656747352c0..37baf96c367 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-04-lucid/index.md @@ -20,11 +20,11 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md index fbac29feb20..2bfa6eb34bf 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-10-10-maverick/index.md @@ -20,11 +20,11 @@ deprecated: true NSD is a light-weight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md index a4d25174725..9b589e0fd5e 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-11-04-natty/index.md @@ -20,11 +20,11 @@ deprecated: true NSD is a light-weight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md index b3aa3041ca4..36546329785 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-12-04/index.md @@ -22,11 +22,11 @@ deprecated: true NSD is a lightweight yet full-featured open-source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Set the Hostname -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 @@ -146,7 +146,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS server using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md index 5f991ea0404..760993fe25d 100644 --- a/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/networking/dns/provide-authoritative-dns-services-with-nsd-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true NSD is a lightweight yet full-featured open source name server daemon created to provide an alternative to BIND. -Before beginning, you should be familiar with basic [DNS terminology and records](/docs/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. +Before beginning, you should be familiar with basic [DNS terminology and records](/cloud/guides/dns-overview/). You will also need to ensure that your current Linode plan has enough memory to run the NSD daemon. Use the developer's [memory usage calculator](http://www.nlnetlabs.nl/projects/nsd/nsd-memsize.html) to determine the memory requirement for your NSD deployment. ## Enable Universe Repositories @@ -124,7 +124,7 @@ Rebuild the NSD database and restart the daemon with following command sequence: Rebuild the database and restart NSD each time you edit an existing zone or create a new one. -Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/docs/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: +Test the configuration and functionality of the DNS serve using `dig`, which provides a [command line DNS client](/cloud/guides/use-dig-to-perform-manual-dns-queries/). If `dig` is not installed, install the utility by issuing the following command: apt-get install dnsutils diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md index 331cec56b7e..afd4e75423a 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-5-lenny/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -88,7 +88,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (e.g. `#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -104,8 +104,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md index 46abe97063b..e143bc5ab5f 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-debian-6-squeeze/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -88,7 +88,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (e.g. `#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md index 7d7a06c7095..eef7143b611 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Install Unbound @@ -88,7 +88,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (`#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -104,8 +104,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md index e70d11dae0d..08cb43b1487 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-14/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -97,7 +97,7 @@ Before you can begin using your Unbound instance to resolve DNS queries, you nee If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. {{< file "/etc/resolve.conf" conf >}} nameserver 127.0.0.1 @@ -111,8 +111,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md index 677eac3968e..a84320bc03b 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-fedora-15/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -97,7 +97,7 @@ Before you can begin using your Unbound instance to resolve DNS queries, you nee If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. {{< file "/etc/resolve.conf" conf >}} nameserver 127.0.0.1 @@ -111,8 +111,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md index b98e3bb58e4..eea4593f0a0 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-04-lts-lucid/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -88,7 +88,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (e.g. `#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -104,8 +104,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md index f0f3f1970af..b9766033174 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-10-10-maverick/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -88,7 +88,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (e.g. `#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -104,8 +104,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md index 1d484a23c50..5c979c6167a 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-11-04-natty/index.md @@ -20,11 +20,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -88,7 +88,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (e.g. `#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -104,7 +104,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md index 059d45d907d..42199c52c3f 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -19,11 +19,11 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Set the Hostname -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 @@ -87,7 +87,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (e.g. `#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -103,7 +103,7 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md index cc57d9446fc..d18e8986b1a 100644 --- a/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/networking/dns/use-unbound-for-local-dns-resolution-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true In the default configuration, Linode systems are configured to query DNS resolvers provided by Linode. If you don't want to use a third party DNS service on your system, you may consider running an independent DNS resolving and caching service such as [Unbound DNS resolver](http://unbound.net). Unbound is easy to install and configure, which makes it an ideal resolver for simple deployments. -If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/docs/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/docs/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. +If you are unfamiliar with DNS, you may want to consider our [introduction to the DNS system](/cloud/guides/dns-overview/). If you simply need to configure DNS services for your domain, you may want to consider [using Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If you only need to modify the behavior of DNS for a small group of systems, consider [using /etc/hosts](/cloud/guides/linux-system-administration-basics/#configure-the-etchosts-file) to provide this functionality. ## Install Unbound @@ -96,7 +96,7 @@ Unbound is now active and functional. Before you can begin using your Unbound instance to resolve DNS queries, you need to configure your `/etc/resolv.conf` file to point to the new resolver. You can remove all existing lines from this file or comment them by prepending hash marks (`#`) to every line. -**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. +**Important:** By default, Linodes use DHCP to assign networking settings, including the public IP address and DNS resolvers. For any systems that you intend to use a custom resolver with, you must follow our instructions for [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance). This will prevent your `/etc/resolv.conf` file getting overwritten with the default resolvers after a system reboot. If you're accessing your Unbound instance over the local interface, make sure your `/etc/resolv.conf` resembles the following: @@ -112,8 +112,8 @@ You may wish to consult the following resources for additional information on th - [Unbound Home Page](http://www.unbound.net) - [Wikipedia article on Classless Interdomain Routing](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) -- [DNS Fundamentals](/docs/guides/dns-overview/) -- [Linode Manager for DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) +- [DNS Fundamentals](/cloud/guides/dns-overview/) +- [Linode Manager for DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) diff --git a/docs/guides/networking/dns/using-your-systems-hosts-file/index.md b/docs/guides/networking/dns/using-your-systems-hosts-file/index.md index 188ba8602ff..0061443feeb 100644 --- a/docs/guides/networking/dns/using-your-systems-hosts-file/index.md +++ b/docs/guides/networking/dns/using-your-systems-hosts-file/index.md @@ -47,7 +47,7 @@ There are various ways to use the hosts file and the types of associations you s A FQDN does not necessarily have any relationship to websites or other services hosted on the server (although it may if you wish). As an example, you might host `www.something.com` on your server, but the system’s FQDN might be `mars.somethingelse.com`. - The domain you assign as your system’s FQDN should have an “A” record in DNS pointing to your Linode’s IPv4 address. For IPv6, you should set up a “AAAA” record in DNS pointing to your Linode’s IPv6 address. For more information on configuring DNS, see our [DNS records](/docs/guides/dns-overview/) guide. + The domain you assign as your system’s FQDN should have an “A” record in DNS pointing to your Linode’s IPv4 address. For IPv6, you should set up a “AAAA” record in DNS pointing to your Linode’s IPv6 address. For more information on configuring DNS, see our [DNS records](/cloud/guides/dns-overview/) guide. - Debian and Ubuntu include a line in their host file for the loopback domain. However, when you change the system's hostname, the loopback domain should be changed too. If you do not, then you'll see the message *sudo: unable to resolve host* when running sudo commands. If you are not using a FQDN like shown above, then all you need to eliminate the sudo message is: diff --git a/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md b/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md index c478fcb9667..1e97241fbe1 100644 --- a/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md +++ b/docs/guides/networking/ip/how-to-use-the-linux-ip-command/index.md @@ -28,12 +28,12 @@ The `ip` command is part of the Linux [iproute2](https://en.wikipedia.org/wiki/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. {{< 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 >}} ## ip Command Concepts @@ -167,7 +167,7 @@ lo UNKNOWN 127.0.0.1/8 ::1/128 eth0 UP 178.79.148.108/24 2a01:7e00::f03c:93ff:fe60:5030/64 fe80::f03c:93ff:fe60:5030/64 {{< /output >}} {{< note >}} -There are other methods for determining the IP address of a system. For more information on how to find the IP address of a system, see the guide [How to understand IP addresses](/docs/guides/how-to-understand-ip-addresses/#finding-your-ip-addresses-via-the-linux-command-line). +There are other methods for determining the IP address of a system. For more information on how to find the IP address of a system, see the guide [How to understand IP addresses](/cloud/guides/how-to-understand-ip-addresses/#finding-your-ip-addresses-via-the-linux-command-line). {{< /note >}} ### How to Add or Delete an IP Address diff --git a/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md b/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md index c294bd01d51..2f1643d4a74 100644 --- a/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md +++ b/docs/guides/networking/linode-network/difference-between-tcp-and-udp/index.md @@ -23,7 +23,7 @@ The TCP/IP suite divides the communication channel between the source and the de - **Application Layer**: Users directly interact with the networking stack only at the application layer. Applications collect and assemble the data to transmit. Each application chooses the transport protocol that best meets its requirements. Applications such as HTTP and FTP are part of this layer. - **Transport Layer**: This layer establishes a channel for host-to-host communications. The destination can reside either on the local network or on a remote network anywhere in the world. Transport protocols can be either connection oriented or connectionless. A communication port is associated with each application using the transport layer. The main transport protocols are TCP and UDP. -- **Internet Layer**: The internet layer contains the core functionality associated with the modern internet. The Internet Protocol handles implementation of this layer. It constructs IP packets, complete with source and destination *IP addresses*, and transmits them across the network. This layer also handles the routing of packets across the network from source to destination. To learn more about the internet Layer, see our guide [How to Understand and Use IP Addresses](/docs/guides/how-to-understand-ip-addresses/). +- **Internet Layer**: The internet layer contains the core functionality associated with the modern internet. The Internet Protocol handles implementation of this layer. It constructs IP packets, complete with source and destination *IP addresses*, and transmits them across the network. This layer also handles the routing of packets across the network from source to destination. To learn more about the internet Layer, see our guide [How to Understand and Use IP Addresses](/cloud/guides/how-to-understand-ip-addresses/). - **Link Layer**: This layer handles the low-level transmission of packets across the physical layer without the use of routers. An example of a link-layer technology is Ethernet and the *media access control* (MAC) addressing system. The TCP/IP suite is hardware independent and less concerned with the specifics of packet transmission. During transmission, data is passed down from one layer to the next. At each layer, the data is encapsulated inside a new packet with header information for the layer. The application layer sends data to the transport layer, which forwards it to the internet layer. Finally, the link layer physically transmits the data. Upon reception, the order is reversed. Data is passed upward from the link layer until it arrives at the application. A full description and tutorial of the TCP/IP suite is available as an [IETF RFC](https://datatracker.ietf.org/doc/html/rfc1180). diff --git a/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md b/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md index 7ca49e5d5d0..6b992c731ba 100644 --- a/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md +++ b/docs/guides/networking/linode-network/linux-router-and-ip-forwarding/index.md @@ -29,7 +29,7 @@ Many workloads benefit from custom routing or port forwarding solutions, includi Here are the basic steps needed to configure a Linux system as a router: -1. **[Deploy *at least two* Compute Instances](#deploy-compute-instances)** (or other virtual machines) to the same data center. Connect all systems to the same private network, like a [VLAN](/docs/products/networking/vlans/). Designate one system as the router and connect it to the public internet or a different private network. +1. **[Deploy *at least two* Compute Instances](#deploy-compute-instances)** (or other virtual machines) to the same data center. Connect all systems to the same private network, like a [VLAN](https://techdocs.akamai.com/cloud-computing/docs/vlan). Designate one system as the router and connect it to the public internet or a different private network. 1. **[Enable IP Forwarding](#enable-ip-forwarding)** on the Compute Instance designated as the router. @@ -43,17 +43,17 @@ Continue reading for detailed instructions on each of these steps. To get started, use the Akamai Cloud Compute platform to deploy multiple Compute Instances. These can mimic a basic application that is operating on a private VLAN with a single router. Skip this section if you already have an application deployed and just wish to know how to configure IP forwarding or the router software. -1. Deploy two or more Compute Instances to the same region and designate one as the router. This guide uses Debian 12, but the instructions are generally applicable to other Linux distributions. On the deployment page, skip the VLAN section for now. See [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) to learn how to deploy Linode Compute Instances. +1. Deploy two or more Compute Instances to the same region and designate one as the router. This guide uses Debian 12, but the instructions are generally applicable to other Linux distributions. On the deployment page, skip the VLAN section for now. See [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) to learn how to deploy Linode Compute Instances. -1. Edit each Compute Instance's configuration profile. See [Managing Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) for information on viewing and editing configuration profiles. +1. Edit each Compute Instance's configuration profile. See [Managing Configuration Profiles](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance) for information on viewing and editing configuration profiles. - **Router Instance**: On the Compute Instance designated as the *router*, leave **eth0** as the public internet and set **eth1** as a VLAN. Enter a name for the VLAN and assign it an IP address from whichever subnet range you wish to use. For example, if you wish to use the `10.0.2.0/24` subnet range, assign the IP address `10.0.2.1/24`. By convention, the router should be assigned the value of `1` in the last segment. - **Other Instance/s**: On each Compute Instance *other than the router*, remove all existing network interfaces. Set *eth0* as a VLAN, select the VLAN you just created, and enter another IP address within your desired subnet (e.g. `10.0.2.2/24`, `10.0.2.3/24`, and so on). -1. Confirm that [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) is enabled and reboot each Compute Instance for the changes to take effect. +1. Confirm that [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking) is enabled and reboot each Compute Instance for the changes to take effect. -1. Log in to each instance and test the connectivity on each Compute Instance to ensure proper configuration. To do this, you can use [SSH](/docs/guides/connect-to-server-over-ssh/), or [Lish](/docs/products/compute/compute-instances/guides/lish/) if utilizing an Akamai Cloud Compute Instance. +1. Log in to each instance and test the connectivity on each Compute Instance to ensure proper configuration. To do this, you can use [SSH](/cloud/guides/connect-to-server-over-ssh/), or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) if utilizing an Akamai Cloud Compute Instance. - Ping the VLAN IPv4 address of another system within the same VLAN: @@ -104,7 +104,7 @@ Forwarding is disabled on most Linux systems by default. However, this must be e ``` {{< /note >}} -1. Open the `/etc/sysctl.conf` file using a command-line text editor with `sudo` permissions such as [nano](/docs/guides/use-nano-to-edit-files-in-linux/): +1. Open the `/etc/sysctl.conf` file using a command-line text editor with `sudo` permissions such as [nano](/cloud/guides/use-nano-to-edit-files-in-linux/): ```command {title="Router Instance"} sudo nano /etc/sysctl.conf @@ -330,7 +330,7 @@ Linux network utilities like nftables, iptables, and Firewalld can serve as both By default, iptables rules are ephemeral. To make your configuration changes persistent, install the `iptables-persistent` package. When you do this, the rules saved within `/etc/iptables/rules.v4` (and `rules.v6` for IPv6) are loaded when the system boots up. - You can continue making changes to iptables as normal. When you are ready to save, save the output of [iptables-save](https://linux.die.net/man/8/iptables-save) to the `/etc/iptables/rules.v4` (or `rules.v6`) file. For more information, see the relevant section in the [Controlling Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent) guide. + You can continue making changes to iptables as normal. When you are ready to save, save the output of [iptables-save](https://linux.die.net/man/8/iptables-save) to the `/etc/iptables/rules.v4` (or `rules.v6`) file. For more information, see the relevant section in the [Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent) guide. ```command {title="Router Instance"} sudo mkdir /etc/iptables | sudo iptables-save | sudo tee /etc/iptables/rules.v4 @@ -366,17 +366,17 @@ Linux network utilities like nftables, iptables, and Firewalld can serve as both The last step is to manually adjust the network configuration settings for each Compute Instance *other than* the router. -1. Log in to the [Cloud Manager](https://cloud.linode.com) and disable [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#enable-or-disable-network-helper) for each non-router Compute Instance you've deployed. While Network Helper was useful for automatically configuring the VLAN IP addresses, the configuration files controlled by Network Helper now need to be manually edited. +1. Log in to the [Cloud Manager](https://cloud.linode.com) and disable [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking#enable-or-disable-network-helper) for each non-router Compute Instance you've deployed. While Network Helper was useful for automatically configuring the VLAN IP addresses, the configuration files controlled by Network Helper now need to be manually edited. -1. Log in to each Linux system that is *not* designated as the router. To do so, you can use [SSH](/docs/guides/connect-to-server-over-ssh/) from the router, or [Lish](/docs/products/compute/compute-instances/guides/lish/) if using an Akamai Cloud Compute Instance. +1. Log in to each Linux system that is *not* designated as the router. To do so, you can use [SSH](/cloud/guides/connect-to-server-over-ssh/) from the router, or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) if using an Akamai Cloud Compute Instance. -1. Edit the configuration file that contains the settings for the private VLAN interface. The name and location of this file depends on the Linux distribution you are using. See the [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) series of guides and select the specific guide for your distribution. For a system running [ifupdown](/docs/products/compute/compute-instances/guides/ifupdown/) on Debian 12, the network configuration is typically stored within `/etc/network/interfaces`: +1. Edit the configuration file that contains the settings for the private VLAN interface. The name and location of this file depends on the Linux distribution you are using. See the [Manual Network Configuration on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) series of guides and select the specific guide for your distribution. For a system running [ifupdown](https://techdocs.akamai.com/cloud-computing/docs/network-configuration-using-ifupdown) on Debian 12, the network configuration is typically stored within `/etc/network/interfaces`: ```command {title="Other Instance/s"} sudo nano /etc/network/interfaces ``` -1. Within this file, adjust the parameter that defines the gateway for the VLAN interface. The value should be set to the IP address assigned to the *router's* VLAN interface, such as `10.0.2.1` if using the examples in this guide. For a system running [ifupdown](/docs/products/compute/compute-instances/guides/ifupdown/) on Debian 12, add the gateway parameter in the location shown in the example below: +1. Within this file, adjust the parameter that defines the gateway for the VLAN interface. The value should be set to the IP address assigned to the *router's* VLAN interface, such as `10.0.2.1` if using the examples in this guide. For a system running [ifupdown](https://techdocs.akamai.com/cloud-computing/docs/network-configuration-using-ifupdown) on Debian 12, add the gateway parameter in the location shown in the example below: ```file {title="/etc/network/interfaces" hl_lines="27"} # Generated by Linode Network Helper @@ -410,7 +410,7 @@ The last step is to manually adjust the network configuration settings for each 1. When done, press CTRL+X, followed by Y then Enter to save the file and exit `nano`. -1. Once those settings are saved, restart the Compute Instance or run the corresponding command to apply the changes. Continuing to use [ifupdown](/docs/products/compute/compute-instances/guides/ifupdown/) as an example, run the command below to apply the new network configuration settings: +1. Once those settings are saved, restart the Compute Instance or run the corresponding command to apply the changes. Continuing to use [ifupdown](https://techdocs.akamai.com/cloud-computing/docs/network-configuration-using-ifupdown) as an example, run the command below to apply the new network configuration settings: ```command {title="Other Instance/s"} sudo ifdown eth0 && sudo ip addr flush eth0 && sudo ifup eth0 diff --git a/docs/guides/networking/linode-network/set-up-an-ipv6-tunnel-on-your-linode/index.md b/docs/guides/networking/linode-network/set-up-an-ipv6-tunnel-on-your-linode/index.md index 1395bf4d938..180df1486b5 100644 --- a/docs/guides/networking/linode-network/set-up-an-ipv6-tunnel-on-your-linode/index.md +++ b/docs/guides/networking/linode-network/set-up-an-ipv6-tunnel-on-your-linode/index.md @@ -14,7 +14,7 @@ tags: ["networking","linode platform"] ![Set up an IPv6 Tunnel on Your Linode](Set_Up_an_IPv6_Tunnel_on_Your_Linode_smg.jpg) -As IPv4 address exhaustion nears, many people are making the switch to IPv6. Linode offers [native IPv6](/docs/products/compute/compute-instances/guides/ipv6/) addresses in all locations. +As IPv4 address exhaustion nears, many people are making the switch to IPv6. Linode offers [native IPv6](https://techdocs.akamai.com/cloud-computing/docs/an-overview-of-ipv6-on-linode) addresses in all locations. An IPv6 tunnel lets a system reach an IPv6 network using existing IPv4 connectivity. Follow this guide if you: @@ -34,9 +34,9 @@ Once you have signed up for a tunnel, you will need to issue a few commands on y Configuration of an IP tunnel using this method will not be persistent after reboot and will need to be reconfigured after restarting your Linode. {{< /note >}} -1. Because some of these steps will temporarily disable networking on the Linode, begin by logging in using either the [Lish](/docs/products/compute/compute-instances/guides/lish/) or [Glish](/docs/products/compute/compute-instances/guides/glish/) interface. +1. Because some of these steps will temporarily disable networking on the Linode, begin by logging in using either the [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) interface. -2. Use the `ip` tool to add the tunnel device. Ours is called `he-ipv6` to match the device described in Hurricane Electric's examples. Replace `203.0.113.10` with the endpoint of your tunnel, and `198.51.100.5` with your Linode's IP address. The information for the endpoint can be found in your tunnel broker's web interface, and your Linode's IP address can be found under the [Networking](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses) tab of the Linode Cloud Manager: +2. Use the `ip` tool to add the tunnel device. Ours is called `he-ipv6` to match the device described in Hurricane Electric's examples. Replace `203.0.113.10` with the endpoint of your tunnel, and `198.51.100.5` with your Linode's IP address. The information for the endpoint can be found in your tunnel broker's web interface, and your Linode's IP address can be found under the [Networking](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses) tab of the Linode Cloud Manager: ip tunnel add he-ipv6 mode sit remote 203.0.113.10 local 198.51.100.5 ttl 255 ip link set he-ipv6 up @@ -79,7 +79,7 @@ If everything is working, you should see ping replies. If not, go back and make The instructions in this section will allow you to manually configure your IPv6 tunnel. This can permanently affect your connectivity across reboots. Read the IPv6 documentation for your distribution before proceeding. {{< note type="alert" >}} -When manually modifying your network configuration, always disable [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) first to avoid having your changes overwritten on reboot. +When manually modifying your network configuration, always disable [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking#individual-compute-instance-setting) first to avoid having your changes overwritten on reboot. {{< /note >}} ### Debian and Ubuntu diff --git a/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md b/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md index c56e3972e85..74b9edaea45 100644 --- a/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md +++ b/docs/guides/networking/nfs/how-to-mount-nfs-shares-on-debian-9/index.md @@ -25,13 +25,13 @@ However, be aware that one limitation of NFS (versions 3 and older) is that serv This guide walks you through the setup of two Linodes; one is the NFS server, and the other acting as the client. In this example, both Linodes are in the same data center and will communicate using their private IP addresses, so your data will never leave Linode's network. **Caution**: Other NFS setups can potentially send traffic over the public internet. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 - Two Debian 9 Linodes deployed in the same data center. -- Linodes configured to use private IPs. See our [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. +- Linodes configured to use private IPs. See our [Linux Static IP Configuration](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) guide. ## NFS Server Setup diff --git a/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md b/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md index 1704f11ab0f..2afe8ab0800 100644 --- a/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md +++ b/docs/guides/networking/nfs/using-an-nfs-server-on-ubuntu2004/index.md @@ -52,14 +52,14 @@ Due to its flexibility, openness, and simple mechanisms, there are also some dra ## 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 complete the server and client configuration, two Linodes are required. One Linode serves as the NFS host and server, while the other acts as a client. Note the IP addresses of both Linodes. Throughout the following sections, replace `server_ip_addr` with the IP address of the NFS server, and `client_ip_addr` with the address of the client. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 the NFS Server and Client diff --git a/docs/guides/networking/vpn/centos-wireguard-installation-and-configuration/index.md b/docs/guides/networking/vpn/centos-wireguard-installation-and-configuration/index.md index 01bc7ae6f03..a2e42d50c6f 100644 --- a/docs/guides/networking/vpn/centos-wireguard-installation-and-configuration/index.md +++ b/docs/guides/networking/vpn/centos-wireguard-installation-and-configuration/index.md @@ -61,13 +61,13 @@ WireGuard was written by top Linux developer Jason A. Donenfeld as a new approac WireGuard works by securely encapsulating IP packets over UDP. WireGuard adds a network interface, `lime eth0` or `wlan0` under the name `wg0` and so on. You configure these with your private key and your peers' public keys. This network interface can then be configured with the usual Linux networking utilities such as `ifconfig(8)`; `ip-address(8)`; `route(8)` and `ip-route(8)`. WireGuard specific aspects are configured using the [wg(8)](https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8) tool. All key distribution and pushed configuration issues are out of WireGuard's scope. -Configuring WireGuard is as simple as [setting up SSH](/docs/guides/security). A connection is established by an exchange of public keys between server and client. Only a client that has its public key in its corresponding server configuration file is allowed to connect. +Configuring WireGuard is as simple as [setting up SSH](/cloud/guides/security). A connection is established by an exchange of public keys between server and client. Only a client that has its public key in its corresponding server configuration file is allowed to connect. ## Before You Begin -- [Deploy a Linode](/docs/products/compute/compute-instances/guides/create/) running CentOS 8. -- [Add a limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) with `sudo` privileges to your Linode. -- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- [Deploy a Linode](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) running CentOS 8. +- [Add 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` privileges to your Linode. +- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## Install WireGuard diff --git a/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md b/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md index 6e3dc8bb0df..eeb98636a54 100644 --- a/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md +++ b/docs/guides/networking/vpn/configuring-openvpn-client-devices/index.md @@ -17,13 +17,13 @@ tags: ["networking","security","vpn"] aliases: ['/networking/vpn/configuring-openvpn-client-devices/'] --- -This guide is the third of a three-part series on setting up a hardened OpenVPN environment. Though it's recommended that you first complete Parts [One](/docs/guides/set-up-a-hardened-openvpn-server/) and [Two](/docs/guides/tunnel-your-internet-traffic-through-an-openvpn-server/), this guide stands on its own as a general tutorial for configuring OpenVPN clients on various operating systems. +This guide is the third of a three-part series on setting up a hardened OpenVPN environment. Though it's recommended that you first complete Parts [One](/cloud/guides/set-up-a-hardened-openvpn-server/) and [Two](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/), this guide stands on its own as a general tutorial for configuring OpenVPN clients on various operating systems. ![Configuring OpenVPN Client Devices](configuring-openvpn-client-devices.png "Configuring OpenVPN Client Devices") ## Before You Begin -You must already have the client files listed below ready to transfer to the device. **Each client** will need its own copies. If you need client credentials, see the [VPN Certificate Authority](/docs/guides/set-up-a-hardened-openvpn-server/#vpn-certificate-authority) area of part one of this series. +You must already have the client files listed below ready to transfer to the device. **Each client** will need its own copies. If you need client credentials, see the [VPN Certificate Authority](/cloud/guides/set-up-a-hardened-openvpn-server/#vpn-certificate-authority) area of part one of this series. * `client1.key`: Exclusive to this device. * `client1.cert`: Exclusive to this device. @@ -33,7 +33,7 @@ You must already have the client files listed below ready to transfer to the dev ## Transfer Client Credentials -If you will be transferring client credentials to their respective devices over a network, you must use an encrypted transfer protocol such as [SCP or SFTP](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). FTP or telnet should **not** be used because these protocols transfer data in plaintext. Windows has no native SCP or SFTP support. See [our Filezilla guide](/docs/guides/filezilla/) for transferring the VPN credentials from a Windows computer. +If you will be transferring client credentials to their respective devices over a network, you must use an encrypted transfer protocol such as [SCP or SFTP](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). FTP or telnet should **not** be used because these protocols transfer data in plaintext. Windows has no native SCP or SFTP support. See [our Filezilla guide](/cloud/guides/filezilla/) for transferring the VPN credentials from a Windows computer. Local transfer options are Bluetooth, USB or some other external media. macOS can use iTunes to connect with iOS devices, and a Linux computer needs the package `gvfs-backends` installed to mount Android and iOS devices as external storage. @@ -211,7 +211,7 @@ If the test results show you any IP addresses other than those of your Linode an ## Revoke a VPN Client Certificate -To revoke a client device's access to the VPN, SSH into your VPN server and go back to the EasyRSA root directory. The folder `~/ca` was used in the [VPN Certificate Authority](/docs/guides/set-up-a-hardened-openvpn-server/#vpn-certificate-authority) section of part one of this series so we'll continue with that location here. +To revoke a client device's access to the VPN, SSH into your VPN server and go back to the EasyRSA root directory. The folder `~/ca` was used in the [VPN Certificate Authority](/cloud/guides/set-up-a-hardened-openvpn-server/#vpn-certificate-authority) section of part one of this series so we'll continue with that location here. 1. Change to the `easy-rsa` folder and source `vars`: diff --git a/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md b/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md index ce9e0fafc6f..0ff176629ab 100644 --- a/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md +++ b/docs/guides/networking/vpn/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/index.md @@ -27,12 +27,12 @@ Because currently, there is no Shadowsocks package available for Ubuntu or CentO ## Before You Begin -1. The commands in this guide require root privileges. To run the steps as an elevated user with sudo privileges, prepend each command with `sudo`. If two commands are presented in the same instance (separated by `&&`), remember to use `sudo` after the `&&` (ex. `sudo [command] && sudo [command]`). To create a standard user account with `sudo` privileges, complete the [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) section of our Securing your Server guide. +1. The commands in this guide require root privileges. To run the steps as an elevated user with sudo privileges, prepend each command with `sudo`. If two commands are presented in the same instance (separated by `&&`), remember to use `sudo` after the `&&` (ex. `sudo [command] && sudo [command]`). To create a standard user account with `sudo` privileges, complete the [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) section of our Securing your Server guide. 1. A working firewall is a necessary security measure. Firewall instructions [are provided](#open-firewall-port-for-shadowsocks-client) for UFW, FirewallD, and Iptables. To configure a firewall on a Linode, visit one of the following guides: - * [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) - * [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) + * [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) + * [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) ## What Is SOCKS5 Proxy Service? SOCKS5 is an internet protocol of SOCKS that helps to route packets through a proxy between a client and a server. To carry out a secure communication, SOCKS5 uses three different modes of authentication: Null authentication, GSS-API based authentication, and a username-password based authentication. diff --git a/docs/guides/networking/vpn/how-to-set-up-tinc-peer-to-peer-vpn/index.md b/docs/guides/networking/vpn/how-to-set-up-tinc-peer-to-peer-vpn/index.md index 876f3001880..4a20e58640a 100644 --- a/docs/guides/networking/vpn/how-to-set-up-tinc-peer-to-peer-vpn/index.md +++ b/docs/guides/networking/vpn/how-to-set-up-tinc-peer-to-peer-vpn/index.md @@ -22,9 +22,9 @@ From a clear two-server connection to complex mesh private network, this guide w You will need at least two Linodes for this guide. Complete the following steps for each one: -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -2. Follow the [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. +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 to create a standard user account, harden SSH access and remove unnecessary network services. This guide will use `sudo` wherever possible. Please ensure you have access to privileged user rights. diff --git a/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md b/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md index 33373bbe275..723a2817f4a 100644 --- a/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md +++ b/docs/guides/networking/vpn/install-openvpn-access-server-on-linux/index.md @@ -23,9 +23,9 @@ OpenVPN Access Server requires a paid license to use more than two connected dev ## Before You Begin - Ensure that you have not already installed OpenVPN before starting this guide. -- Ensure that you have root access to your Linode or a user account with `sudo` privilege. For information about creating a user account with `sudo` privilege, see [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account). -- Update your system. For more information, see [Install Software Updates](/docs/products/compute/compute-instances/guides/set-up-and-secure/#perform-system-updates). -- Allow TCP traffic through port `943` and UDP through port `1194` on your firewall. For more information, see [Add Rules](/docs/guides/configure-firewall-with-ufw/#add-rules). +- Ensure that you have root access to your Linode or a user account with `sudo` privilege. For information about creating a user account with `sudo` privilege, see [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). +- Update your system. For more information, see [Install Software Updates](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#perform-system-updates). +- Allow TCP traffic through port `943` and UDP through port `1194` on your firewall. For more information, see [Add Rules](/cloud/guides/configure-firewall-with-ufw/#add-rules). ## Install OpenVPN Access Server @@ -102,7 +102,7 @@ Client UI: https://192.0.2.0:943/ echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.d/99-sysctl.conf sudo sysctl -p -1. OpenVPN does not support simultaneous tunnels over IPv4 and IPv6. Follow these steps to [disable IPv6](/docs/guides/set-up-a-hardened-openvpn-server/#disable-ipv6) on your Linode. +1. OpenVPN does not support simultaneous tunnels over IPv4 and IPv6. Follow these steps to [disable IPv6](/cloud/guides/set-up-a-hardened-openvpn-server/#disable-ipv6) on your Linode. 1. Log in to the Access Server Admin UI and go to **VPN Settings**. In the **Routing** section: @@ -183,7 +183,7 @@ Alternatively, you can manually set DNS resolvers of your choice which are pushe ![DMG Finder Window.](openvpn-download-profile-ubuntu.png) {{< note respectIndent=false >}} -If you are connecting a headless machine to your OpenVPN server, such as another Linode, you will need to use `cURL` or `wget` tool to download the appropriate profile. You can do so by copying the link from the OpenVPN Access Server client page for your required profile, and then pasting it at the end of a `cURL` or [wget](/docs/guides/download-resources-from-the-command-line-with-wget/) command. +If you are connecting a headless machine to your OpenVPN server, such as another Linode, you will need to use `cURL` or `wget` tool to download the appropriate profile. You can do so by copying the link from the OpenVPN Access Server client page for your required profile, and then pasting it at the end of a `cURL` or [wget](/cloud/guides/download-resources-from-the-command-line-with-wget/) command. {{< /note >}} 1. Copy the downloaded profile to your `/etc/openvpn` folder and rename it to `client.conf`. Replace `~/Downloads/client.ovpn` with the location of your download folder, if necessary. diff --git a/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md b/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md index 26680e5a830..99b0ce4b9fe 100644 --- a/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md +++ b/docs/guides/networking/vpn/pritunl-vpn-ubuntu/index.md @@ -18,12 +18,12 @@ deprecated: true Pritunl is an open source VPN server and management panel. It gives the user the power of the OpenVPN protocol while using an intuitive web interface. This tutorial will show you how to install, configure, and connect to Pritunl VPN. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the sudo command, reference the [Users and Groups](/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, reference the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Before You Begin -1. Have a Linode running Ubuntu 14.04. Follow the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for help configuring the Linode. +1. Have a Linode running Ubuntu 14.04. Follow 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 for help configuring the Linode. 2. Ensure the Linode is up-to-date: @@ -50,7 +50,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo iptables -A INPUT -p `your protocol here` -m `your protocol here` --sport `your_port_here` --dport 1025:65355 -j ACCEPT {{< note respectIndent=false >}} -If you've configured the firewall according to the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, be sure to add these port ranges to the `/etc/iptables.firewall.rules` file. +If you've configured the firewall according to the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, be sure to add these port ranges to the `/etc/iptables.firewall.rules` file. {{< /note >}} ## Install Pritunl diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md index 28bc893be59..7b1daa8c4b2 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-centos-6/index.md @@ -27,7 +27,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -117,7 +117,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool or any [other means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should be transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should be transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md index c3cfe6bbc91..9afcd4d1127 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package, which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Install OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. The keys and certificates for the server need to be relocated to the `/etc/openvpn` directory so the OpenVPN server process can access them. These files are: diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md index 7b4cff1f5af..3683e737df0 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package, which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Install OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. We recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the GPG tool. The keys and certificates for the server need to be relocated to the `/etc/openvpn` directory so the OpenVPN server process can access them. These files are: diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md index d5c41f09a5a..c11176c72cd 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md index 96f03eb7380..fb0de80d017 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-10-10-maverick/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md index 4f58f7e0ff1..caee2f8a946 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/index.md @@ -25,10 +25,10 @@ deprecated: true OpenVPN, or Open Virtual Private Network, is a tool for creating networking tunnels between and among groups of computers that are not on the same local network. This is useful if you want to remotely access services on a local network without making them publicly accessible. By integrating with OpenSSL, OpenVPN can encrypt all VPN traffic to provide a secure connection between machines. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing on your Linode, you might be interested in our [Security Basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [Introduction to Linux Concepts Guide](/cloud/guides/introduction-to-linux-concepts/), [Beginner's Guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [Administration Basics Guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing on your Linode, you might be interested in our [Security Basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. {{< note >}} -For many private networking tasks, we suggest that you consider the functions of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. For example, see [Using SSHFS on Linux and Mac OS X](/docs/guides/using-sshfs-on-linux/) or our guide on [Setting up an SSH Tunnel](/docs/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) for more information. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. +For many private networking tasks, we suggest that you consider the functions of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. For example, see [Using SSHFS on Linux and Mac OS X](/cloud/guides/using-sshfs-on-linux/) or our guide on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) for more information. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. {{< /note >}} ## How OpenVPN Works @@ -135,7 +135,7 @@ This will be followed by a quantity of seemingly random output. Once it brings y Move all of the secure keys to their proper locations by following these instructions: -1. The `/etc/openvpn/easy-rsa/keys/` directory contains all of the keys and certificates for the server and its clients generated using the `easy-rsa` tools. Copy the following certificate and key files to the remote client machines, using **scp** or another [means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server): +1. The `/etc/openvpn/easy-rsa/keys/` directory contains all of the keys and certificates for the server and its clients generated using the `easy-rsa` tools. Copy the following certificate and key files to the remote client machines, using **scp** or another [means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server): - `ca.crt` - `client1.crt` diff --git a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md index 5632d427c64..caa6a8ef999 100644 --- a/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/networking/vpn/secure-communications-with-openvpn-on-ubuntu-9-10-karmic/index.md @@ -22,7 +22,7 @@ OpenVPN, or Open Virtual Private Network, is a tool for creating networking "tun For many private networking tasks, we urge users to consider the many capabilities of the OpenSSH package which can provide easier VPN and VPN-like services. OpenSSH is also installed and configured by default on all Linodes. Nevertheless, if your deployment requires a more traditional VPN solution like OpenVPN, this document covers the installation and configuration of the OpenVPN software. -Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) article as well. +Before installing OpenVPN, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). If you're concerned about securing and "hardening" the system on your Linode, you might be interested in our [security basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) article as well. ## Installing OpenVPN @@ -105,7 +105,7 @@ In order to authenticate to the VPN, you'll need to copy a number of certificate - `client1.crt` - `client1.key` -You can use the `scp` tool, or any [other means of transferring](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. +You can use the `scp` tool, or any [other means of transferring](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server). Be advised, these keys should transferred with the utmost attention to security. Anyone who has the key or is able to intercept an unencrypted copy of the key will be able to gain full access to your virtual private network. Typically we recommend that you encrypt the keys for transfer, either by using a protocol like SSH, or by encrypting them with the PGP tool. diff --git a/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md b/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md index 5dc6dcb7f80..77f68527aa7 100644 --- a/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md +++ b/docs/guides/networking/vpn/set-up-a-hardened-openvpn-server/index.md @@ -23,14 +23,14 @@ An OpenVPN connection consists of two flow channels between the server and clien This guide is the first of a three-part series. Part one sets up a VPN server on Debian and prepares the access credentials for client devices. This VPN can be used to host internal services such as websites, game servers or file servers. -[Part two](/docs/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) shows you how to set up a routed VPN so all traffic from client devices is tunneled through your Linode to the internet. [Part three](/docs/guides/configuring-openvpn-client-devices/) takes you through setting up the client-side software for various operating systems, including mobile platforms. +[Part two](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) shows you how to set up a routed VPN so all traffic from client devices is tunneled through your Linode to the internet. [Part three](/cloud/guides/configuring-openvpn-client-devices/) takes you through setting up the client-side software for various operating systems, including mobile platforms. ## Before You Begin -1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and set your Linode's timezone. +1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide and set your Linode's 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/) guide to create a standard user account, harden SSH access and remove unnecessary network services. Do not complete the steps in the *Creating a Firewall* section. This guide has instructions specifically for firewall rules for an OpenVPN server. +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) guide to create a standard user account, harden SSH access and remove unnecessary network services. Do not complete the steps in the *Creating a Firewall* section. This guide has instructions specifically for firewall rules for an OpenVPN server. 3. Update the system: @@ -47,7 +47,7 @@ You can manage the OpenVPN environment in [two ways](https://openvpn.net/index.p For small applications, OpenVPN Access Server is the more streamlined and user-friendly solution. The free version allows up to two simultaneous users. Although each user can have as many client devices as they like, a user's clients will all have the same keys and certificates; more can be added by buying licensing. For more advanced configurations than what the GUI offers, you would still need to edit the VPN's configuration files. -If you are interested in running OpenVPN Access Server on your Linode, see our guide: [Secure Communications with OpenVPN Access Server](/docs/guides/install-openvpn-access-server-on-linux/). **The remainder of *this* guide will focus on manual configuration using OpenVPN Community Edition.** +If you are interested in running OpenVPN Access Server on your Linode, see our guide: [Secure Communications with OpenVPN Access Server](/cloud/guides/install-openvpn-access-server-on-linux/). **The remainder of *this* guide will focus on manual configuration using OpenVPN Community Edition.** ## Networking Configuration @@ -457,4 +457,4 @@ Use `sudo journalctl -f | grep vpn` to monitor the logs of your OpenVPN server i You should now have an operational OpenVPN server and a set of certificate/key pairs for your desired client devices. If you intend to use your OpenVPN server as an extension of your local network, or for hosting services you want to access from your LAN, you would need to configure the specific applications for your use. -If you want your VPN server to forward and receive traffic to/from the internet on behalf of VPN clients, see part two of this series: [Tunnel Your Internet Traffic Through an OpenVPN Server](/docs/guides/tunnel-your-internet-traffic-through-an-openvpn-server/). To set up the connecting client devices, see part three: [Configuring OpenVPN Client Devices](/docs/guides/configuring-openvpn-client-devices/). +If you want your VPN server to forward and receive traffic to/from the internet on behalf of VPN clients, see part two of this series: [Tunnel Your Internet Traffic Through an OpenVPN Server](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/). To set up the connecting client devices, see part three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/). diff --git a/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md b/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md index fa20c655515..545ecfd94dc 100644 --- a/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md +++ b/docs/guides/networking/vpn/set-up-a-streisand-gateway/index.md @@ -20,7 +20,7 @@ aliases: ['/networking/vpn/set-up-a-streisand-gateway/'] Setting up a personal Virtual Private Network (VPN) server is a great way to avoid internet censorship, surveillance, or geolocation. Using your own server allows you to choose any protocol you want, and to have full control over the security and privacy of your connection. -However, the configuration process is time-consuming, especially for those with little experience working with remote servers. For example, Linode's guide on setting up a hardened OpenVPN server and client is a [three](/docs/guides/set-up-a-hardened-openvpn-server/) [part](/docs/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) [series](/docs/guides/configuring-openvpn-client-devices/). +However, the configuration process is time-consuming, especially for those with little experience working with remote servers. For example, Linode's guide on setting up a hardened OpenVPN server and client is a [three](/cloud/guides/set-up-a-hardened-openvpn-server/) [part](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) [series](/cloud/guides/configuring-openvpn-client-devices/). [Streisand](https://github.com/jlund/streisand) attempts to simplify this process and offer painless, high-quality security. The Streisand script creates a Linode and automatically configures OpenVPN, Shadowsocks, OpenConnect, L2TP/IPSec, Wireguard ®, a Tor bridge, and SSH. Once the server is set up, users can connect to a gateway containing detailed, personalized instructions for connecting to each of these services. diff --git a/docs/guides/networking/vpn/set-up-wireguard-vpn-on-debian/index.md b/docs/guides/networking/vpn/set-up-wireguard-vpn-on-debian/index.md index 8384625fe74..104a2185afe 100644 --- a/docs/guides/networking/vpn/set-up-wireguard-vpn-on-debian/index.md +++ b/docs/guides/networking/vpn/set-up-wireguard-vpn-on-debian/index.md @@ -52,12 +52,12 @@ Do not use WireGuard for critical applications. The project is still undergoing ## Before You Begin -- [Deploy a Linode](/docs/products/compute/compute-instances/guides/create/) running Debian 9. -- [Add a limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) with `sudo` privileges to your Linode. -- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- [Deploy a Linode](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) running Debian 9. +- [Add 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` privileges to your Linode. +- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). {{< note >}} -The `GRUB 2` kernel is required for this guide. All distributions for all new Linodes now boot with the `GRUB 2` kernel by default. However, if you are running an older distribution, you will need to check to see which kernel you are running. You can use the [Update Kernel Guide](/docs/products/compute/compute-instances/guides/manage-the-kernel/) to check your kernel version and change it using the Cloud Manager. Select `GRUB 2` from the *Boot Settings: Select a Kernel* dropdown menu in Step 4 of [Update Your Linode Kernel with Linode's Cloud Manager](/docs/products/compute/compute-instances/guides/manage-the-kernel/#view-and-modify-the-kernel-in-cloud-manager). +The `GRUB 2` kernel is required for this guide. All distributions for all new Linodes now boot with the `GRUB 2` kernel by default. However, if you are running an older distribution, you will need to check to see which kernel you are running. You can use the [Update Kernel Guide](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) to check your kernel version and change it using the Cloud Manager. Select `GRUB 2` from the *Boot Settings: Select a Kernel* dropdown menu in Step 4 of [Update Your Linode Kernel with Linode's Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance#view-and-modify-the-kernel-in-cloud-manager). {{< /note >}} ## Install WireGuard diff --git a/docs/guides/networking/vpn/set-up-wireguard-vpn-on-ubuntu/index.md b/docs/guides/networking/vpn/set-up-wireguard-vpn-on-ubuntu/index.md index b366a672ede..3d94bdc8512 100644 --- a/docs/guides/networking/vpn/set-up-wireguard-vpn-on-ubuntu/index.md +++ b/docs/guides/networking/vpn/set-up-wireguard-vpn-on-ubuntu/index.md @@ -31,10 +31,10 @@ Do not use WireGuard for critical applications. The project is still undergoing ## Before You Begin - You will need root access to your Linode, or a user account with `sudo` privilege. -- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). {{< note >}} -The `GRUB 2` kernel is required for this guide. All distributions for all new Linodes now boot with the `GRUB 2` kernel by default. However, if you are running an older distribution, you will need to check to see which kernel you are running. You can use the [Update Kernel Guide](/docs/products/compute/compute-instances/guides/manage-the-kernel/) to check your kernel version and change it using the Cloud Manager. Select `GRUB 2` from the *Boot Settings: Select a Kernel* dropdown menu in Step 4 of [Update Your Linode Kernel with Linode's Cloud Manager](/docs/products/compute/compute-instances/guides/manage-the-kernel/#view-and-modify-the-kernel-in-cloud-manager). +The `GRUB 2` kernel is required for this guide. All distributions for all new Linodes now boot with the `GRUB 2` kernel by default. However, if you are running an older distribution, you will need to check to see which kernel you are running. You can use the [Update Kernel Guide](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) to check your kernel version and change it using the Cloud Manager. Select `GRUB 2` from the *Boot Settings: Select a Kernel* dropdown menu in Step 4 of [Update Your Linode Kernel with Linode's Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance#view-and-modify-the-kernel-in-cloud-manager). {{< /note >}} ## Install WireGuard diff --git a/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md b/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md index 5fc51afc54a..9b722b00ac5 100644 --- a/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md +++ b/docs/guides/networking/vpn/strongswan-vpn-server-install/index.md @@ -21,22 +21,22 @@ The steps in this section show you how to install and configure a StrongSwan gat ### Prerequisites -1. Deploy an Ubuntu 20.04 server and follow our [Getting Started with Linode](/docs/products/platform/get-started/) guide and complete the steps for setting your Linode's hostname and timezone. +1. Deploy an Ubuntu 20.04 server and follow 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: sudo apt-get update && sudo apt-get upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 StrongSwan -1. [SSH into your Ubuntu 20.04 server](/docs/guides/connect-to-server-over-ssh-on-linux/). +1. [SSH into your Ubuntu 20.04 server](/cloud/guides/connect-to-server-over-ssh-on-linux/). -1. [Use APT](/docs/guides/apt-package-manager/) to install StrongSwan and the supporting plugins and libraries. +1. [Use APT](/cloud/guides/apt-package-manager/) to install StrongSwan and the supporting plugins and libraries. sudo apt install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins libtss2-tcti-tabrmd0 -y @@ -296,7 +296,7 @@ The client authentication process relies on the `ipsec.secrets` file located on #### Importing the VPN Root Certificate on macOS -1. Download the `ca.cert.pem` file from the StrongSwan gateway VPN server host to your macOS computer [using scp](/docs/guides/download-files-from-a-compute-instance/#download-files-with-scp). +1. Download the `ca.cert.pem` file from the StrongSwan gateway VPN server host to your macOS computer [using scp](/cloud/guides/download-files-from-a-compute-instance/#download-files-with-scp). 1. Click on the downloaded file to open **Keychain Access**. Provide your user's administrative password, to accept the certificate. Then, click **Modify Keychain**. @@ -322,7 +322,7 @@ The client authentication process relies on the `ipsec.secrets` file located on - Connection problems are frequently due to mismatched username and passwords between the host gateway VPN server (`/etc/ipsec.secrets`) and the VPN client settings. -- Connection issues can also be caused by your firewall settings. Ensure you [check your system's firewall settings](/docs/guides/configure-firewall-with-ufw/) when troubleshooting. +- Connection issues can also be caused by your firewall settings. Ensure you [check your system's firewall settings](/cloud/guides/configure-firewall-with-ufw/) when troubleshooting. - Finally, check your StrongSwan VPN server's log file (`/var/log/syslog`) to further investigate connection issues. diff --git a/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md b/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md index 2c84cc6f9c2..71f0417da91 100644 --- a/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md +++ b/docs/guides/networking/vpn/tunnel-your-internet-traffic-through-an-openvpn-server/index.md @@ -22,7 +22,7 @@ Commonly, a VPN tunnel is used to privately access the internet, evading censors ## Before You Begin -This guide is the second-part of a three-part series on setting up a hardened OpenVPN environment. The guide assumes that you already have an OpenVPN server running. If you do not: complete part one of the series: [Set Up a Hardened OpenVPN Server with Debian](/docs/guides/set-up-a-hardened-openvpn-server/). If you found this page looking for information about VPN client device configuration, see Part Three: [Configuring OpenVPN Client Devices](/docs/guides/configuring-openvpn-client-devices/). +This guide is the second-part of a three-part series on setting up a hardened OpenVPN environment. The guide assumes that you already have an OpenVPN server running. If you do not: complete part one of the series: [Set Up a Hardened OpenVPN Server with Debian](/cloud/guides/set-up-a-hardened-openvpn-server/). If you found this page looking for information about VPN client device configuration, see Part Three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/). ## OpenVPN Configuration @@ -52,7 +52,7 @@ OpenVPN's server-side configuration file is: `/etc/openvpn/server.conf`, and req ## Append Networking Rules -In [Part One](/docs/guides/set-up-a-hardened-openvpn-server/) of this series, we set iptables rules so the OpenVPN server could only accept client connections, SSH, and make system updates, all over IPv4. [IPv6 was disabled](/docs/guides/set-up-a-hardened-openvpn-server/#disable-ipv6) since OpenVPN doesn't support using both transport layers simultaneously. Leaving IPv6 disabled here prevents leaking v6 traffic which would otherwise be sent separately from your VPN's v4 tunnel. +In [Part One](/cloud/guides/set-up-a-hardened-openvpn-server/) of this series, we set iptables rules so the OpenVPN server could only accept client connections, SSH, and make system updates, all over IPv4. [IPv6 was disabled](/cloud/guides/set-up-a-hardened-openvpn-server/#disable-ipv6) since OpenVPN doesn't support using both transport layers simultaneously. Leaving IPv6 disabled here prevents leaking v6 traffic which would otherwise be sent separately from your VPN's v4 tunnel. {{< note type="alert" >}} The steps below will overwrite any custom IPv4 firewall rules you may have. {{< /note >}} @@ -149,4 +149,4 @@ COMMIT ## Next Steps -Server-side configuration is complete but now the VPN clients need to be set up. Move on to part three: [Configuring OpenVPN Client Devices](/docs/guides/configuring-openvpn-client-devices/). +Server-side configuration is complete but now the VPN clients need to be set up. Move on to part three: [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/). diff --git a/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md b/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md index 7c48915a737..f4a7620a462 100644 --- a/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md +++ b/docs/guides/networking/vpn/vpn-firewall-killswitch-for-linux-and-macos-clients/index.md @@ -24,11 +24,11 @@ For this reason, VPN clients often use firewall rules to ensure that internet tr This guide assumes that you already have an OpenVPN server running on your Linode, and have at least one client configured to connect to it. If you need help doing this, see our three-part series on setting up an OpenVPN environment: -1. [Set Up a Hardened OpenVPN Server with Debian](/docs/guides/set-up-a-hardened-openvpn-server/) +1. [Set Up a Hardened OpenVPN Server with Debian](/cloud/guides/set-up-a-hardened-openvpn-server/) -2. [Tunnel Your Internet Traffic Through an OpenVPN Server](/docs/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) +2. [Tunnel Your Internet Traffic Through an OpenVPN Server](/cloud/guides/tunnel-your-internet-traffic-through-an-openvpn-server/) -3. [Configuring OpenVPN Client Devices](/docs/guides/configuring-openvpn-client-devices/) +3. [Configuring OpenVPN Client Devices](/cloud/guides/configuring-openvpn-client-devices/) ## Gather Client Device Information @@ -107,7 +107,7 @@ iptables -A OUTPUT -j ACCEPT -o tun0 This ruleset replaces the pre-exiting iptables rules and instructs the firewall to drop every outgoing connection other than loopback traffic, the local network's subnet and UDP traffic to and from your OpenVPN server's IP on port 1194. In addition, all incoming and outgoing connections are allowed over the virtual network interface `tun0`. -Your VPN firewall is now active, but this ruleset is only temporary and will be cleared when you reboot your Linode. To make the firewall permanent, you can install the `iptables-persistent` package for Debian or Ubuntu-based distributions, or you can see our [iptables](/docs/guides/control-network-traffic-with-iptables/#deploy-your-iptables-rulesets) or [Firewalld](/docs/guides/introduction-to-firewalld-on-centos/#constructing-a-ruleset-with-firewalld) guides to create permanent rulesets and/or profiles. +Your VPN firewall is now active, but this ruleset is only temporary and will be cleared when you reboot your Linode. To make the firewall permanent, you can install the `iptables-persistent` package for Debian or Ubuntu-based distributions, or you can see our [iptables](/cloud/guides/control-network-traffic-with-iptables/#deploy-your-iptables-rulesets) or [Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/#constructing-a-ruleset-with-firewalld) guides to create permanent rulesets and/or profiles. ### VPN Firewall using ufw {{< note type="alert" >}} diff --git a/docs/guides/platform/disk-images/switch-to-a-64-bit-linux-kernel/index.md b/docs/guides/platform/disk-images/switch-to-a-64-bit-linux-kernel/index.md index bf9a081d5d8..b9b38ac0f6d 100644 --- a/docs/guides/platform/disk-images/switch-to-a-64-bit-linux-kernel/index.md +++ b/docs/guides/platform/disk-images/switch-to-a-64-bit-linux-kernel/index.md @@ -42,7 +42,7 @@ The following is a list of software with known issues running on a 32-bit distri - OpeniSCSI - Java -If you're ready to rebuild your Linode using a 64-bit distribution, you can start by following the steps to create a new disk and configuration profile in the [Managing Disks and Storage on a Linode](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk) and [Managing Configuration Profiles on a Linode](/docs/products/compute/compute-instances/guides/configuration-profiles/#create-a-configuration-profile) guide. After a new disk and configuration profile has been created, you can copy your data to the new 64-bit version and then delete your old profile and disks. +If you're ready to rebuild your Linode using a 64-bit distribution, you can start by following the steps to create a new disk and configuration profile in the [Managing Disks and Storage on a Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#create-a-disk) and [Managing Configuration Profiles on a Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#create-a-configuration-profile) guide. After a new disk and configuration profile has been created, you can copy your data to the new 64-bit version and then delete your old profile and disks. Otherwise, find your Linux distribution of choice below to check for additional known issues. @@ -52,7 +52,7 @@ For Ubuntu and Debian users, the Apt package management system will continue to ### CentOS and Fedora -When switching a 32-bit CentOS or Fedora build to use a 64-bit kernel, you need to configure the distro's package manager (Yum) to explicitly download x86 architecture builds of updates to existing and new packages. If you haven't already, we recommend CentOS users switch to the package mirrors Linode provides. The instructions to switch to Linode's package mirrors are in the [package mirrors](/docs/products/compute/compute-instances/guides/package-mirrors/) guide. Regardless of your decision to use our mirrors, you will want to run this command to ensure that only 32-bit packages are selected: +When switching a 32-bit CentOS or Fedora build to use a 64-bit kernel, you need to configure the distro's package manager (Yum) to explicitly download x86 architecture builds of updates to existing and new packages. If you haven't already, we recommend CentOS users switch to the package mirrors Linode provides. The instructions to switch to Linode's package mirrors are in the [package mirrors](https://techdocs.akamai.com/cloud-computing/docs/package-mirrors) guide. Regardless of your decision to use our mirrors, you will want to run this command to ensure that only 32-bit packages are selected: sed -i 's/$basearch/i386/g' /etc/yum.repos.d/* diff --git a/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md b/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md index 7b54ade8848..55859a5216c 100644 --- a/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/best-practices-when-migrating-to-linode/index.md @@ -12,7 +12,7 @@ tags: ["linode platform"] aliases: ['/platform/migrate-to-linode/best-practices-when-migrating-to-linode/'] --- -This guide describes the recommended strategy for migrating your services from another host to Linode. The specific steps you need to carry out vary depending on the software you use. However, the high-level outline is generally the same regardless of the nature of your service. The [Migrate to Linode](/docs/guides/platform/migrate-to-linode/) section offers other guides which describe migrating particular services in more detail. +This guide describes the recommended strategy for migrating your services from another host to Linode. The specific steps you need to carry out vary depending on the software you use. However, the high-level outline is generally the same regardless of the nature of your service. The [Migrate to Linode](/cloud/guides/platform/migrate-to-linode/) section offers other guides which describe migrating particular services in more detail. ## Deciding on a Migration Strategy @@ -40,30 +40,30 @@ There are two considerations when creating a new Linode: which data center the L - To choose a data center location, run speed tests to the different regions that Linode offers from the [speedtest page](http://www.linode.com/speedtest/). This page allows you to download a 100MB file from each location. Compare the speed of each download to determine the bandwidth between your location and the data center. - You can also run [MTR tests](/docs/guides/diagnosing-network-issues-with-mtr/) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests report latency between your location and the data center--a lower latency is more desirable. + You can also run [MTR tests](/cloud/guides/diagnosing-network-issues-with-mtr/) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests report latency between your location and the data center--a lower latency is more desirable. 1. **Plan Size** - To determine which plan to choose, review the [Linode Pricing page](http://www.linode.com/pricing#all). At a minimum, choose a plan which offers enough storage capacity for the data you store on your current hosting provider. - CPU and RAM allocations are also important since a service with a higher workload/higher traffic requires more of each. If you're not sure what your workload requires, start with a smaller Linode and then [resize your plan](/docs/products/compute/compute-instances/guides/resize/) up or down as needed. + CPU and RAM allocations are also important since a service with a higher workload/higher traffic requires more of each. If you're not sure what your workload requires, start with a smaller Linode and then [resize your plan](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) up or down as needed. ### Deploy Linux If you know which Linux distribution your current host uses, deploy that to the new Linode. If your current deployment uses an older version of a Linux distribution, deploy the newest version available for your new Linode. This ensures the latest security enhancements and software availability. -If your host offers a shared environment and you are not sure which Linux distribution is being used, then you can select any new Linux image. The most commonly used distributions on Linode are Ubuntu, Debian, and CentOS. Most Linux distributions should support the software your service uses, but a few software packages are better-suited to specific distributions. Review Linode's [Guides & Tutorials](/docs/) to see which guides have been written for the software and distributions you're interested in. +If your host offers a shared environment and you are not sure which Linux distribution is being used, then you can select any new Linux image. The most commonly used distributions on Linode are Ubuntu, Debian, and CentOS. Most Linux distributions should support the software your service uses, but a few software packages are better-suited to specific distributions. Review Linode's [Guides & Tutorials](/cloud/) to see which guides have been written for the software and distributions you're interested in. -For further details on deploying your new Linux image, follow the [Getting Started with Linode](/docs/products/platform/get-started/) guide. It is also recommended that you follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide once you have deployed your new image. +For further details on deploying your new Linux image, follow the [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. It is also recommended that you follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide once you have deployed your new image. ### Install Software -Install the same software stack that is present on your current host on your new Linode. For guidance on how to set up different kinds of software, review Linode's [Guides & Tutorials](/docs/). +Install the same software stack that is present on your current host on your new Linode. For guidance on how to set up different kinds of software, review Linode's [Guides & Tutorials](/cloud/). -If your host provides a shared environment and you're not sure which software is needed, ask your host if they can provide more information about the software they run. For example, WordPress sites are powered by PHP, a web server, and a database, so installing a [LAMP stack](/docs/guides/web-servers/lamp/) would be sufficient. +If your host provides a shared environment and you're not sure which software is needed, ask your host if they can provide more information about the software they run. For example, WordPress sites are powered by PHP, a web server, and a database, so installing a [LAMP stack](/cloud/guides/web-servers/lamp/) would be sufficient. {{< note >}} -You may want to install your software via a [configuration management tool](/docs/guides/applications/configuration-management/). Configuration management is a method for condensing your installation scripts into a *recipe* that can be run repeatedly. This results in the same deployment every time. Once you've written your recipes, configuration management can greatly speed up creating new deployments and maintenance of existing deployments. These tools also minimize the potential for human error. +You may want to install your software via a [configuration management tool](/cloud/guides/applications/configuration-management/). Configuration management is a method for condensing your installation scripts into a *recipe* that can be run repeatedly. This results in the same deployment every time. Once you've written your recipes, configuration management can greatly speed up creating new deployments and maintenance of existing deployments. These tools also minimize the potential for human error. {{< /note >}} ### Back up Your Data @@ -76,27 +76,27 @@ Locate and backup the data on your current host. Identify: If your data is stored in a database, you likely need to perform a *database dump*. This results in a file on disk that encapsulates your database data and can be copied over the network as a normal file: -- [Use mysqldump to Back Up MySQL or MariaDB](/docs/guides/mysqldump-backups/) -- [Create Physical Backups of your MariaDB or MySQL Databases](/docs/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/) -- Use [postgres dump database](/docs/guides/back-up-a-postgresql-database/) +- [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups/) +- [Create Physical Backups of your MariaDB or MySQL Databases](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/) +- Use [postgres dump database](/cloud/guides/back-up-a-postgresql-database/) If your current host is a shared environment and you do not have full administrative/command-line access to it, then your host may offer an alternative method for exporting your data. If this is the case, then you should use those tools to download the data to your local computer or some other accessible location. ### Use rsync to Transfer Your Data to Your Linode -- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/docs/guides/introduction-to-rsync/) guide is a good place to become more familiar with this tool. +- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/cloud/guides/introduction-to-rsync/) guide is a good place to become more familiar with this tool. For example, the following command uploads files from `/path/to/source_folder` on the current host to `/path/to/destination_folder` on the new Linode. Run this command from your current host. Replace `example_user` with the Linux user on your Linode, and `linode_ip_address` with your Linode's IP address: rsync -avzh /path/to/source_folder example_user@linode_ip_address:/path/to/destination_folder -- If your current host is a shared environment and you previously downloaded your data to your computer, then you should upload the data from your computer to your Linode. You can use an SFTP tool like [FileZilla](/docs/guides/filezilla/), which has clients available for Windows, Mac, and Linux. +- If your current host is a shared environment and you previously downloaded your data to your computer, then you should upload the data from your computer to your Linode. You can use an SFTP tool like [FileZilla](/cloud/guides/filezilla/), which has clients available for Windows, Mac, and Linux. - If you have uploaded a database dump file to your new Linode, you also need to *restore* the dump file so that your database software can use the data normally. The database guides linked to in the [Back up Your Data](#back-up-your-data) section include instructions for restoring those files. ### Test the New Environment -When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/docs/guides/previewing-websites-without-dns/). +When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/cloud/guides/previewing-websites-without-dns/). Take this time to perform load testing on your new service. [ApacheBench](https://en.wikipedia.org/wiki/ApacheBench) is a popular benchmarking tool for web services. If you discover that the hardware resource plan you chose originally is not enough when completing these load tests, then resize your plan and continue testing. @@ -104,9 +104,9 @@ When you have finished testing, move on to the last step in migrating: updating ## Migrating DNS Records -To direct your visitors to your Linode, associate your domain with [your new Linode's IP](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). There are two options for moving your DNS records: +To direct your visitors to your Linode, associate your domain with [your new Linode's IP](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). There are two options for moving your DNS records: -- Use Linode's fast, stable [DNS hosting](/docs/products/networking/dns-manager/) which is free as long as you have one active Linode on your account. +- Use Linode's fast, stable [DNS hosting](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) which is free as long as you have one active Linode on your account. - Continue to use your current nameserver authority and update your DNS records with your new Linode's IP address. You should check with your current provider to see if there are any costs for their DNS services. If you are using your domain name registrar's nameservers, then they are generally free. @@ -118,7 +118,7 @@ If you'd like to continue with your current nameservers, update all of the DNS r {{% content "update-dns-at-common-name-server-authorities" %}} -After DNS propagation has finished, [set reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) for your domain. This is especially important if you are running a mail server. +After DNS propagation has finished, [set reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for your domain. This is especially important if you are running a mail server. ## Next Steps diff --git a/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md b/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md index 41a238a3b97..b9c01a2ef6b 100644 --- a/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/how-to-migrate-from-gcp-to-linode/index.md @@ -29,7 +29,7 @@ There are three general strategies for migrating from another hosting provider: - If you use configuration management and orchestration tools, like Ansible, Salt, Chef, and Terraform, you can use the same tools to deploy a new Linode instance. You can use your existing configuration management files as a foundation to deploy Linode instances with the same configurations used by your GCP instance. - We have an extensive [configuration management section](/docs/applications/configuration-management/) in our Guides and Tutorials library that you can use to get started with your preferred tool. + We have an extensive [configuration management section](/cloud/applications/configuration-management/) in our Guides and Tutorials library that you can use to get started with your preferred tool. 1. **Migration Strategy 3: Transfer your Disk Images - Not Recommended** @@ -47,19 +47,19 @@ There are two considerations when creating a new Linode: which data center the L - To choose a data center location, run speed tests to the different regions that Linode offers from the [speedtest page](http://www.linode.com/speedtest/). This page allows you to download a 100MB file from each location. Compare the speed of each download to determine the bandwidth between your location and the data center. - You can also run [MTR tests](/docs/guides/diagnosing-network-issues-with-mtr/) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests will report latency between your location and the data center--a lower latency is more desirable. + You can also run [MTR tests](/cloud/guides/diagnosing-network-issues-with-mtr/) to the speed test servers at each location (e.g. `speedtest.dallas.linode.com`). These tests will report latency between your location and the data center--a lower latency is more desirable. 1. **Plan Size** - To determine which plan to choose, review the [Linode Pricing page](https://www.linode.com/pricing/). At a minimum, choose a plan which offers enough storage capacity for the data you store on your current GCP VM instance. - CPU and RAM allocations are also important since a service with a higher workload/higher traffic will require more of each. If you're not sure what your workload will require, start with a smaller Linode and then [resize your plan](/docs/products/compute/compute-instances/guides/resize/) up or down as needed. + CPU and RAM allocations are also important since a service with a higher workload/higher traffic will require more of each. If you're not sure what your workload will require, start with a smaller Linode and then [resize your plan](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) up or down as needed. ### Deploy a Linux Distribution to your Linode Determine the Linux distribution your current GCP instance uses and deploy that to your new Linode. If your current deployment uses an older version of a Linux distribution, deploy the newest version available for your new Linode to ensure the latest security enhancements and software availability. -For further details on deploying your new Linux image, follow the [Getting Started with Linode](/docs/products/platform/get-started/) guide. It is also recommended that you follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide once you have deployed your new image. +For further details on deploying your new Linux image, follow the [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. It is also recommended that you follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide once you have deployed your new image. ### Install Software on your Linode @@ -67,9 +67,9 @@ For further details on deploying your new Linux image, follow the [Getting Start apt list --installed -1. Once you have identified the software you would like to migrate to your Linode, you can reference our [Guides & Tutorials](/docs/) to learn how to set up your system's software on your new Linode. +1. Once you have identified the software you would like to migrate to your Linode, you can reference our [Guides & Tutorials](/cloud/) to learn how to set up your system's software on your new Linode. - For example, if your GCP instance is used to run a WordPress site, you should [install WordPress](/docs/guides/install-wordpress-ubuntu-18-04/), [PHP, MySQl, and Apache](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [Nginx](/docs/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) (web server) on your Linode instance. + For example, if your GCP instance is used to run a WordPress site, you should [install WordPress](/cloud/guides/install-wordpress-ubuntu-18-04/), [PHP, MySQl, and Apache](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [Nginx](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) (web server) on your Linode instance. ### Create a Snapshot of your GCP Data @@ -81,13 +81,13 @@ Locate and backup the data on your GCP instance by [creating a snapshot](https:/ If your data is stored in a database, you will likely need to perform a *database dump*. This will result in a file on disk that encapsulates your database data and can be copied over the network as a normal file: -- [Use mysqldump to Back Up MySQL or MariaDB](/docs/guides/mysqldump-backups/) -- [Create Physical Backups of your MariaDB or MySQL Databases](/docs/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/) -- Use [postgres dump database](/docs/guides/back-up-a-postgresql-database/) +- [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups/) +- [Create Physical Backups of your MariaDB or MySQL Databases](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/) +- Use [postgres dump database](/cloud/guides/back-up-a-postgresql-database/) ### Use rsync to Transfer Your GCP Data to Your Linode -- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/docs/guides/introduction-to-rsync/) guide is a good place to become more familiar with this tool. +- Transfer your data to your Linode using a network transfer tool like `rsync`. The [Introduction to rsync](/cloud/guides/introduction-to-rsync/) guide is a good place to become more familiar with this tool. For example, the following command will upload files from `/path/to/source_folder` on the current host to `/path/to/destination_folder` on the new Linode. Run this command from your current GCP instance. Replace `example_user` with the Linux user on your Linode, and `linode_ip_address` with your Linode's IP address: @@ -97,9 +97,9 @@ If your data is stored in a database, you will likely need to perform a *databas ### Test the New Environment -When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/docs/guides/previewing-websites-without-dns/). +When you have finished setting up your software and restoring your data, test the installation to make sure it works normally. At this point, you have not yet updated DNS records to point to your Linode deployment, but there are still methods for [previewing your services without DNS](/cloud/guides/previewing-websites-without-dns/). -Take this time to perform load testing on your new service. [ApacheBench](https://en.wikipedia.org/wiki/ApacheBench) is a popular benchmarking tool for web services. If you discover that the hardware resource plan you chose originally is not enough when completing these load tests, then [resize your plan](/docs/products/compute/compute-instances/guides/resize/) and continue testing. +Take this time to perform load testing on your new service. [ApacheBench](https://en.wikipedia.org/wiki/ApacheBench) is a popular benchmarking tool for web services. If you discover that the hardware resource plan you chose originally is not enough when completing these load tests, then [resize your plan](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) and continue testing. When you have finished testing, move on to the last step in migrating: updating your DNS records. @@ -107,9 +107,9 @@ When you have finished testing, move on to the last step in migrating: updating If you are managing your GCP instance with configuration management and orchestration tools, you can use the same tools to manage your Linode. This means you can use configuration management tools to execute a migration from GCP to Linode. At a high-level this process would entail -- Using an orchestration tool, like Terraform, to [deploy a Linode instance(s)](/docs/applications/configuration-management/how-to-build-your-infrastructure-using-terraform-and-linode/) of the required size and region. See the [Deploy a New Linode](#deploy-a-new-linode) section of this guide for tips on choosing a Linode data center and plan size. +- Using an orchestration tool, like Terraform, to [deploy a Linode instance(s)](/cloud/applications/configuration-management/how-to-build-your-infrastructure-using-terraform-and-linode/) of the required size and region. See the [Deploy a New Linode](#deploy-a-new-linode) section of this guide for tips on choosing a Linode data center and plan size. -- Using a configuration management tool, like Ansible, to [install system software and perform system configurations](/docs/guides/getting-started-with-ansible/). In many cases, you could use the same configuration management files to configure your Linode. For example, if you were using an [Ansible Playbook](/docs/guides/running-ansible-playbooks/) to deploy and configure a LAMP stack on your GCP instance, you can likely use the same Playbook to manage your Linode instance. +- Using a configuration management tool, like Ansible, to [install system software and perform system configurations](/cloud/guides/getting-started-with-ansible/). In many cases, you could use the same configuration management files to configure your Linode. For example, if you were using an [Ansible Playbook](/cloud/guides/running-ansible-playbooks/) to deploy and configure a LAMP stack on your GCP instance, you can likely use the same Playbook to manage your Linode instance. - [Migrating any additional GCP instance data to your new Linode instance using rsync](#use-rsync-to-transfer-your-gcp-data-to-your-linode). @@ -118,9 +118,9 @@ If you are managing your GCP instance with configuration management and orchestr {{< note respectIndent=false >}} The following configuration management and orchestration tools support Linode: -Configuration management tools: [Ansible](/docs/guides/getting-started-with-ansible/), [Salt](/docs/guides/beginners-guide-to-salt/), [Chef](/docs/guides/beginners-guide-chef/), and [Puppet](/docs/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) +Configuration management tools: [Ansible](/cloud/guides/getting-started-with-ansible/), [Salt](/cloud/guides/beginners-guide-to-salt/), [Chef](/cloud/guides/beginners-guide-chef/), and [Puppet](/cloud/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) -Orchestration tools: [Pulumi](/docs/guides/deploy-in-code-with-pulumi/), [Terraform](/docs/guides/beginners-guide-to-terraform/), [Ansible](/docs/guides/getting-started-with-ansible/) +Orchestration tools: [Pulumi](/cloud/guides/deploy-in-code-with-pulumi/), [Terraform](/cloud/guides/beginners-guide-to-terraform/), [Ansible](/cloud/guides/getting-started-with-ansible/) {{< /note >}} ## Migration Strategy 3: Transfer your Disk Images @@ -350,11 +350,11 @@ You may need to respond to some command-line prompts before the image is exporte In this section you will create a new Linode, add a new disk and configuration profile in order to boot the Linode from your GCP instance's image, import the GCP image to your Linode, and finally, boot your Linode using your GCP instance's image. {{< note >}} -You will be importing your GCP image onto a *raw* disk with the *direct disk* boot option. This will result in a working custom installation; however, it will not support advanced Linode features such as [disk resizing](/docs/products/compute/compute-instances/guides/resize/) or the [Backup Service](/docs/products/storage/backups/) by default. These features require an `ext4` formatted disk. +You will be importing your GCP image onto a *raw* disk with the *direct disk* boot option. This will result in a working custom installation; however, it will not support advanced Linode features such as [disk resizing](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) or the [Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) by default. These features require an `ext4` formatted disk. If you would like access to these features after completing your migration, ensure you complete the following steps: -- Create a Linode with **twice the storage space** of your [original disk image](#inspect-your-gcp-instances-disks). You can always resize it down later. See the [Billing Overview](/docs/products/platform/billing/#understand-how-billing-works) guide for details on how hourly billing works. +- Create a Linode with **twice the storage space** of your [original disk image](#inspect-your-gcp-instances-disks). You can always resize it down later. See the [Billing Overview](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works#understand-how-billing-works) guide for details on how hourly billing works. - Follow the steps in the optional section [Transfer Disk to ext4](#optional-transfer-disk-to-ext4). {{< /note >}} @@ -367,15 +367,15 @@ You will first create a new Linode to import your GCP image to and then, boot th 1. Access the Linode create page by clicking **Create** at the top of the screen and selecting **Linode** from the dropdown menu. -1. Create a Linode by making the desired selections on the Linode create page. For more detailed steps, see the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. +1. Create a Linode by making the desired selections on the Linode create page. For more detailed steps, see the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. {{< note respectIndent=false >}} -When selecting your Linode's plan, if you want to have access to advanced features like resizing your Linode and our [Backup Service](/docs/products/storage/backups/), choose one that will be large enough to hold twice the size of the entire expanded [disk image](#inspect-your-gcp-instances-disks) that you created from your GCP instance (not just the size of the compressed tar file). This is needed so that later you can move your installation over to an ext4 formatted disk. Once the move to an ext4 formatted disk is complete, you can delete the raw disk and [resize to a smaller plan](/docs/products/compute/compute-instances/guides/resize/). +When selecting your Linode's plan, if you want to have access to advanced features like resizing your Linode and our [Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service), choose one that will be large enough to hold twice the size of the entire expanded [disk image](#inspect-your-gcp-instances-disks) that you created from your GCP instance (not just the size of the compressed tar file). This is needed so that later you can move your installation over to an ext4 formatted disk. Once the move to an ext4 formatted disk is complete, you can delete the raw disk and [resize to a smaller plan](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance). {{< /note >}} 1. Once the Linode is finished provisioning, power it down. Click on the **Running** status at the top of the Cloud Manager and select **Power Off** from the drop down menu. -1. [Disable *Watchdog*](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/), also known as *Lassie*, which is a Linode Cloud Manager feature capable of automatically rebooting your Linode if it powers off unexpectedly. Click the **Settings** tab, then **Shutdown Watchdog**. Toggle the **Enabled** switch to **Disabled**. +1. [Disable *Watchdog*](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie), also known as *Lassie*, which is a Linode Cloud Manager feature capable of automatically rebooting your Linode if it powers off unexpectedly. Click the **Settings** tab, then **Shutdown Watchdog**. Toggle the **Enabled** switch to **Disabled**. 1. Disable your Linode's Auto Resize capability. Click the **Resize** tab and scroll to the bottom of the screen. Uncheck the box for **Auto Resize Disk**. @@ -435,7 +435,7 @@ If, for example, your GCP disk image's size is 10GB, ensure that you resize the ![Cloud Manager Reboot Into New Configuration](migrate-gcp-to-linode-reboot-custom-config.png "Cloud Manager Reboot Into New Configuration") -1. Once booting is complete, click **Launch Console** at the top of the screen. Again, this opens the `Weblish` and `Glish` console window. This time, you should have a regular [Lish shell](/docs/products/compute/compute-instances/guides/lish/). You should also be able to SSH to your Linode at this time. +1. Once booting is complete, click **Launch Console** at the top of the screen. Again, this opens the `Weblish` and `Glish` console window. This time, you should have a regular [Lish shell](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). You should also be able to SSH to your Linode at this time. {{< note respectIndent=false >}} If you are having trouble with ssh starting, you may have to run the following command to start the service from Lish: @@ -452,7 +452,7 @@ You may also need to update your SSH server's configuration file to temporarily PasswordAuthentication yes -See the [SSH guide](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) for more SSH troubleshooting tips. +See the [SSH guide](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) for more SSH troubleshooting tips. {{< /note >}} ### Remove Google Packages @@ -467,25 +467,25 @@ You disabled the Google services from calling out before creating and migrating ### Optional: Transfer Disk to ext4 -As stated above, to take advantage of features like resizing your disks in Cloud Manager and Backup Service, you'll need to move your new disk to an ext4 formatted disk. To do this, follow the procedures in the Make the System Compatible section of the [Install a Custom Distribution on a Linode guide](/docs/guides/install-a-custom-distribution/#make-the-system-compatible-with-the-linode-platform). +As stated above, to take advantage of features like resizing your disks in Cloud Manager and Backup Service, you'll need to move your new disk to an ext4 formatted disk. To do this, follow the procedures in the Make the System Compatible section of the [Install a Custom Distribution on a Linode guide](/cloud/guides/install-a-custom-distribution/#make-the-system-compatible-with-the-linode-platform). ### Cleaning Up When you're done: - [Test your new Linode environment](#test-the-new-environment) as outlined in the Migration Strategy 1 section of this guide. -- [Delete the original disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#delete-a-disk) that was created when you first deployed the Linode. If you chose to transfer your disk to ext4, delete the raw disk you created to import the GCP image. -- [Resize your Linode](/docs/products/compute/compute-instances/guides/resize/) to a smaller plan or resize your remaining ext4 disk or raw disk to take up the rest of the storage space. -- [Delete the Configurations for the original Linode](/docs/products/compute/compute-instances/guides/configuration-profiles/#delete-a-configuration-profile) when it was created. Optionally, delete the configuration for the raw disk if you created a new one for the ext4 boot disk. -- [Enable Shutdown Watchdog](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) (Lassie) under the **Settings** tab. +- [Delete the original disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#delete-a-disk) that was created when you first deployed the Linode. If you chose to transfer your disk to ext4, delete the raw disk you created to import the GCP image. +- [Resize your Linode](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) to a smaller plan or resize your remaining ext4 disk or raw disk to take up the rest of the storage space. +- [Delete the Configurations for the original Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#delete-a-configuration-profile) when it was created. Optionally, delete the configuration for the raw disk if you created a new one for the ext4 boot disk. +- [Enable Shutdown Watchdog](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) (Lassie) under the **Settings** tab. ## Additional Migration Considerations ### Migrating DNS Records -To direct your visitors to your Linode, associate your domain with [your new Linode's IP](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). There are two options for moving your DNS records: +To direct your visitors to your Linode, associate your domain with [your new Linode's IP](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). There are two options for moving your DNS records: -- Use Linode's fast, stable [DNS hosting](/docs/products/networking/dns-manager/) which is free as long as you have one active Linode on your account. +- Use Linode's fast, stable [DNS hosting](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) which is free as long as you have one active Linode on your account. - Continue to use your current nameserver authority and update your DNS records with your new Linode's IP address. You should check with your current provider to see if there are any costs for their DNS services. If you are using your domain name registrar's nameservers, then they are generally free. @@ -497,7 +497,7 @@ If you'd like to continue with your current nameservers, update all of the DNS r {{% content "update-dns-at-common-name-server-authorities" %}} -After DNS propagation has finished, [set reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) for your domain. This is especially important if you are running a mail server. +After DNS propagation has finished, [set reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for your domain. This is especially important if you are running a mail server. ## Next Steps diff --git a/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md index 7e49b794c4e..20307cad6a1 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/platform/migrate-to-linode/migrate-a-lamp-website-to-linode/'] --- -This guide describes how to migrate a website running in a [LAMP](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#what-is-a-lamp-stack) environment on another host to a new Linode. Read the [Best Practices when Migrating to Linode](/docs/guides/best-practices-when-migrating-to-linode/) guide prior to following this guide for more information about migrating your site. +This guide describes how to migrate a website running in a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#what-is-a-lamp-stack) environment on another host to a new Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode/) guide prior to following this guide for more information about migrating your site. This guide includes commands that need to be run at the command line of your current host, which may not be available if you have a shared hosting environment. Ubuntu 18.04 is used as the distribution for the new Linode deployment in this guide. If you'd like to choose another distribution, us the examples here as an approximation for the commands you'll need to run. @@ -19,13 +19,13 @@ This guide includes commands that need to be run at the command line of your cur ### Deploy Your Linode -1. Follow Linode's [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide and choose Ubuntu 18.04 as your Linux image when deploying. Choose a Linode plan with enough storage space to accommodate the website data from your current host. +1. Follow Linode's [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide and choose Ubuntu 18.04 as your Linux image when deploying. Choose a Linode plan with enough storage space to accommodate the website data from your current host. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and create a limited Linux user with `sudo` privileges. The examples below assume this user is named `linode_user`. +1. Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and create a limited Linux user with `sudo` privileges. The examples below assume this user is named `linode_user`. ### Install LAMP -1. [Connect to your Linode via SSH.](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) +1. [Connect to your Linode via SSH.](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) 1. If you did not do so previously, update your software: @@ -134,7 +134,7 @@ Go to your Linode's IP address in a web browser. Your website should appear. If your website does not load normally, one possible reason is that your IP address could be hard-coded in some areas of the website files or in the database. If this is the case, consult your PHP application framework's documentation for ways to search for and replace those values. For example, WordPress's [WP-CLI interface](https://developer.wordpress.org/cli/commands/search-replace/) and Drupal's [Drush interface](https://www.drupal.org/project/sar) provide methods that help with this task. -Another reason the site may not load is if your website configuration expects your domain name to be supplied in the HTTP headers of a web request. When you visit your IP directly, this information is not supplied in your request. The [Previewing Websites Without DNS](/docs/guides/previewing-websites-without-dns/) guide describes a workaround for this issue. When you have updated your DNS records, the workaround will no longer be necessary to view your site. +Another reason the site may not load is if your website configuration expects your domain name to be supplied in the HTTP headers of a web request. When you visit your IP directly, this information is not supplied in your request. The [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns/) guide describes a workaround for this issue. When you have updated your DNS records, the workaround will no longer be necessary to view your site. If you are seeing any other errors on your site, try reviewing Apache's error logs for further clues. The locations for these logs will be listed in your `/etc/apache2/apache2.conf` or `/etc/apache2/sites-available/` files. diff --git a/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md index a7892800940..9a614f145c4 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/index.md @@ -13,9 +13,9 @@ external_resources: aliases: ['/platform/migrate-to-linode/migrate-a-wordpressdotcom-site-to-linode/'] --- -This guide describes how to export your content from WordPress.com and self-host your WordPress website on Linode. Read the [Best Practices when Migrating to Linode](/docs/guides/best-practices-when-migrating-to-linode/) guide prior to following this guide for more information about migrating your site. +This guide describes how to export your content from WordPress.com and self-host your WordPress website on Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode/) guide prior to following this guide for more information about migrating your site. -Ubuntu 18.04 is used as the distribution for the new Linode deployment in this guide. If you'd like to choose another distribution, use the examples here as an approximation for the commands you'll need to run. You will also install either a [LAMP](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [LEMP](/docs/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) environment on your new Linode. +Ubuntu 18.04 is used as the distribution for the new Linode deployment in this guide. If you'd like to choose another distribution, use the examples here as an approximation for the commands you'll need to run. You will also install either a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [LEMP](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) environment on your new Linode. {{< note >}} WordPress.com's export feature will export pages, posts, and comments from your site, but it will not export your themes and widgets. You will need to customize your new self-hosted WordPress site's appearance after completing your migration. @@ -25,11 +25,11 @@ WordPress.com's export feature will export pages, posts, and comments from your ### Deploy Your Linode -1. Follow Linode's [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide and choose Ubuntu 18.04 as your Linux image when deploying. Choose a Linode plan with enough storage space to accommodate the website data from your current host. +1. Follow Linode's [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide and choose Ubuntu 18.04 as your Linux image when deploying. Choose a Linode plan with enough storage space to accommodate the website data from your current host. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and create a limited Linux user with `sudo` privileges. +1. Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and create a limited Linux user with `sudo` privileges. -1. Follow the [Install WordPress on Ubuntu 18.04](/docs/guides/install-wordpress-ubuntu-18-04/) guide to stand up a new web server and WordPress installation. Later in this guide you will use the WordPress credentials you create during the installation, so be sure to record them. +1. Follow the [Install WordPress on Ubuntu 18.04](/cloud/guides/install-wordpress-ubuntu-18-04/) guide to stand up a new web server and WordPress installation. Later in this guide you will use the WordPress credentials you create during the installation, so be sure to record them. ### Export Your WordPress.com Content diff --git a/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md index 18c8b64b438..839e8565360 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-cpanel-to-linode/index.md @@ -16,7 +16,7 @@ external_resources: aliases: ['/platform/migrate-to-linode/migrate-cpanel-to-linode/'] --- -This guide describes how to migrate from a server running WHM and cPanel on another hosting service to Linode. This transfer is completed using cPanel's official [Transfer Tool](https://documentation.cpanel.net/display/70Docs/Transfer+Tool). Prior to using the Transfer Tool, you will complete a basic WHM installation on a new Linode. Read the [Best Practices when Migrating to Linode](/docs/guides/best-practices-when-migrating-to-linode/) guide for more information about migrating your sites before beginning. +This guide describes how to migrate from a server running WHM and cPanel on another hosting service to Linode. This transfer is completed using cPanel's official [Transfer Tool](https://documentation.cpanel.net/display/70Docs/Transfer+Tool). Prior to using the Transfer Tool, you will complete a basic WHM installation on a new Linode. Read the [Best Practices when Migrating to Linode](/cloud/guides/best-practices-when-migrating-to-linode/) guide for more information about migrating your sites before beginning. {{< note >}} The Transfer Tool only transfers your cPanel accounts, and not your WHM settings. You will need to recreate your WHM settings on your new Linode separately. @@ -30,14 +30,14 @@ This guide does not cover how to handle cPanel deployments that are part of a DN The first step is to deploy cPanel on the Linode platform. cPanel can be installed and configured on a Linode Compute Instance using one of the following methods: -- **Akamai Quick Deploy Apps:** Deploy the [cPanel App](https://www.linode.com/marketplace/apps/cpanel/cpanel/) through Akamai Quick Deploy Apps to automatically install cPanel/WHM. This is the easiest method and enables you to quickly get up and running without needing to install cPanel manually. Review the [Deploy cPanel through the Linode Marketplace](/docs/marketplace-docs/guides/cpanel/) guide for more details. +- **Akamai Quick Deploy Apps:** Deploy the [cPanel App](https://www.linode.com/marketplace/apps/cpanel/cpanel/) through Akamai Quick Deploy Apps to automatically install cPanel/WHM. This is the easiest method and enables you to quickly get up and running without needing to install cPanel manually. Review the [Deploy cPanel through the Linode Marketplace](/cloud/marketplace-docs/guides/cpanel/) guide for more details. -- **Manual Installation:** For more control over every step of the installation process, cPanel can be manually installed on a new Compute Instance. If choosing this method, review [Install cPanel on CentOS](/docs/guides/install-cpanel-on-centos/) or reference cPanel's official [Installation Guide](https://docs.cpanel.net/installation-guide/install/). +- **Manual Installation:** For more control over every step of the installation process, cPanel can be manually installed on a new Compute Instance. If choosing this method, review [Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos/) or reference cPanel's official [Installation Guide](https://docs.cpanel.net/installation-guide/install/). Whichever method you choose, select a Linode Compute Instance plan with enough storage capacity to accommodate the data within the cPanel accounts on your current host. {{< note type="warning" >}} -When performing the initial cPanel configuration steps, use the Linode’s generic domain name for WHM’s Hostname setting. This generic domain will be listed under the **Reverse DNS** column of the *Networking* tab for your instance in the Cloud Manager and it will have the form `203-0-113-0.ip.linodeusercontent.com`. Review the [Viewing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses) guide for more details. If you set the Hostname as your domain name now, the WHM and cPanel dashboards on your new Linode will redirect to your current host and you will not be able to access the settings for your new Linode. +When performing the initial cPanel configuration steps, use the Linode’s generic domain name for WHM’s Hostname setting. This generic domain will be listed under the **Reverse DNS** column of the *Networking* tab for your instance in the Cloud Manager and it will have the form `203-0-113-0.ip.linodeusercontent.com`. Review the [Viewing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses) guide for more details. If you set the Hostname as your domain name now, the WHM and cPanel dashboards on your new Linode will redirect to your current host and you will not be able to access the settings for your new Linode. {{< /note >}} ### Use the cPanel Transfer Tool @@ -98,7 +98,7 @@ When writing this guide it was found that the SSL certificates from the test sou scp -r root@current_host_ip_address:/etc/ssl ~ - You can also use [FileZilla](/docs/guides/filezilla/) to download the files. + You can also use [FileZilla](/cloud/guides/filezilla/) to download the files. If you are not able to login as `root` to your host, login as a user with `sudo` privileges and then copy those files to the user's home folder: @@ -141,7 +141,7 @@ When writing this guide it was found that the SSL certificates from the test sou If you visit your Linode's IP address in your browser, the website served by your cPanel account will not appear. This is because the cPanel server expects your domain name to be passed in your web request, and you have not updated your DNS yet. -The [Previewing Websites Without DNS](/docs/guides/previewing-websites-without-dns/) guide describes a way to visit your domain prior to updating your DNS records. When you have updated your DNS, this workaround will no longer be necessary to view your site. +The [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns/) guide describes a way to visit your domain prior to updating your DNS records. When you have updated your DNS, this workaround will no longer be necessary to view your site. ## Migrating DNS Records diff --git a/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md b/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md index ec7529e6730..32563ba7c98 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-disk-image-using-cloud-init/index.md @@ -9,11 +9,11 @@ keywords: ['cloud-init','migrate','migration','disk image','aws','azure','google license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Linode API & CLI Documentation](https://techdocs.akamai.com/linode-api/reference/api)' -- '[Akamai Cloud-Init Guides](/docs/guides/applications/configuration-management/cloud-init/)' +- '[Akamai Cloud-Init Guides](/cloud/guides/applications/configuration-management/cloud-init/)' - '[Cloud-Init Official Documentation](https://cloudinit.readthedocs.io/en/latest/)' --- -The ability to migrate a virtual machine’s disk image across cloud providers is essential to cloud architecture durability and a key component of multi-cloud portability. There are numerous methods of migrating a disk image, several of which can be found in our documentation library: [Migrate to Linode](/docs/guides/platform/migrate-to-linode/) +The ability to migrate a virtual machine’s disk image across cloud providers is essential to cloud architecture durability and a key component of multi-cloud portability. There are numerous methods of migrating a disk image, several of which can be found in our documentation library: [Migrate to Linode](/cloud/guides/platform/migrate-to-linode/) This tutorial includes steps for deploying a disk image to a new compute instance using *cloud-init* and the Ubuntu 24.04 LTS distribution. Cloud-init is an industry standard configuration tool that helps automate the configuration of new compute instances upon initial boot. @@ -55,7 +55,7 @@ There are several requirements that must be met for your disk image to successfu The provided cloud-init configuration uses a file’s metadata to gather information and does not look for specific file extensions. {{< /note >}} -If you are using a disk image that requires direct disk to boot (i.e. an image with partitioned disks or a Master Boot Record, or MBR), you may need to take additional steps to configure your system before image creation or after deployment for full compatibility with the Akamai Cloud platform. See our guide on [Installing a Custom Distribution](/docs/guides/install-a-custom-distribution/#make-the-system-compatible-with-the-linode-platform) for guidance and configuration options for a direct disk image. +If you are using a disk image that requires direct disk to boot (i.e. an image with partitioned disks or a Master Boot Record, or MBR), you may need to take additional steps to configure your system before image creation or after deployment for full compatibility with the Akamai Cloud platform. See our guide on [Installing a Custom Distribution](/cloud/guides/install-a-custom-distribution/#make-the-system-compatible-with-the-linode-platform) for guidance and configuration options for a direct disk image. ## Upload a Disk Image to Object Storage diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md index 7349cca991e..b555353480e 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-aws-ebs-to-linode-block-storage/index.md @@ -59,7 +59,7 @@ Bandwidth for the transfer can vary according to different factors, including: When planning your migration, consider performing a bandwidth test between the two locations first. Then, use the observed bandwidth from the test to calculate the estimated migration time for the volume. -Utilities like [iperf](/docs/guides/install-iperf-to-diagnose-network-speed-in-linux/) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the EC2 instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. +Utilities like [iperf](/cloud/guides/install-iperf-to-diagnose-network-speed-in-linux/) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the EC2 instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. You can use the `dd` command to generate a sample 1GB test file: @@ -107,15 +107,15 @@ In this guide, the rsync command is run from a Linode instance and connects to a Linux distributions (on both Linode instances and EC2 instances) can have software firewalls configured inside the instance. The following guides describe some software firewalls that your instances may use: -- [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/) -- [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) -- [A Tutorial for Controlling Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) +- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) +- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) +- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/) You may also configure Cloud Firewalls to control traffic before it arrives at your Linode instance. Our [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall/) product documentation describes how to configure these rules. The [Comparing Cloud Firewalls to Linux firewall software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide further describes the difference between network firewalls and software firewalls. [AWS's product documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) describes how to configure *security groups* for EC2 instances which function as a network firewall. ### Configure SSH Key Pair -This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and EC2 instance. The [Generate an SSH Key Pair](/docs/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. +This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and EC2 instance. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. This guide assumes the public and private keys are named `id_rsa.pub` and `id_rsa`, but your keys may have different names depending on the type of key pair you are using. @@ -137,7 +137,7 @@ These instructions implement two recommended practices: Migrations can take a long time, so having them run independently of your SSH session is important. This guide uses `tmux` to create a terminal session that persists between SSH connections. By sending output and errors to log files, you can keep a record of any migration failures that may happen. -Review our [tmux guide](/docs/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. +Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. 1. Install the `tmux` utility on your Linode instance using the official tmux instructions: [Installing tmux](https://github.com/tmux/tmux/wiki/Installing#installing-tmux). diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md index e187a1f5adb..44e6cf88247 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-aws-s3-to-linode-object-storage/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/guides/migrate-to-linode-object-storage/'] external_resources: - '[Linode Object Storage product documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' -- '[Linode Object Storage guides & tutorials](/docs/guides/platform/object-storage/)' +- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage/)' --- Linode Object Storage is an Amazon S3-compatible service used for storing large amounts of unstructured data. This guide includes steps on how to migrate up to 100TB of static content from AWS S3 to Linode Object Storage using rclone, along with how to monitor your migration using rclone’s WebUI GUI. diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md index 294bac500b2..6164f3e839f 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-aws-secrets-manager-to-openbao-on-akamai-cloud/index.md @@ -30,12 +30,12 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from AWS Secrets Manager to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/docs/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/docs/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/docs/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/docs/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md index dbd812a4d9b..0cea63d000e 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-azure-blob-storage-to-linode-object-storage/index.md @@ -9,7 +9,7 @@ keywords: ['migrate','migration','object storage','azure blob storage','rclone'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Linode Object Storage product documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' -- '[Linode Object Storage guides & tutorials](/docs/guides/platform/object-storage/)' +- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage/)' --- Linode Object Storage is an Amazon S3-compatible service used for storing large amounts of unstructured data. This guide includes steps on how to migrate up to 100TB of static content from Azure Blob Storage to Linode Object Storage using rclone, along with how to monitor your migration using rclone’s WebUI GUI. diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md index 25f0741a2f2..93f6ddd56e4 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-azure-disk-storage-to-linode-block-storage/index.md @@ -98,15 +98,15 @@ In this guide, the rsync command is run from a Linode instance and connects to a Linux distributions (on both Linode instances and Azure virtual machines) can have software firewalls configured inside the instance. The following guides describe some software firewalls that your instances may use: -- [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/) -- [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) -- [A Tutorial for Controlling Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) +- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) +- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) +- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/) You may also configure Cloud Firewalls to control traffic before it arrives at your computing instance. Our [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall/) product documentation describes how to configure these rules. The [Comparing Cloud Firewalls to Linux firewall software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide further describes the difference between network firewalls and software firewalls. [Microsoft Azure's product documentation](https://learn.microsoft.com/en-us/azure/firewall/overview) describes how to configure Azure network firewalls. ### Configure SSH Key Pair -This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Azure virtual machine. The [Generate an SSH Key Pair](/docs/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. +This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Azure virtual machine. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. This guide assumes the public and private keys are named `id_rsa.pub` and `id_rsa`, but your keys may have different names depending on the type of key pair you are using. @@ -128,7 +128,7 @@ These instructions implement two recommended practices: Migrations can take a long time, so having them run independently of your SSH session is important. This guide uses `tmux` to create a terminal session that persists between SSH connections. By sending output and errors to log files, you can keep a record of any migration failures that may happen. -Review our [tmux guide](/docs/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. +Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. 1. Install the `tmux` utility on your Linode instance using the official tmux instructions: [Installing tmux](https://github.com/tmux/tmux/wiki/Installing#installing-tmux). diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md index a911ade6a16..e1560f22bd0 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-azure-key-vault-to-openbao-on-akamai-cloud/index.md @@ -27,16 +27,16 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from Azure Key Vault to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/docs/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/docs/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/docs/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) 1. Ensure that you have access to your Azure cloud platform account with sufficient permissions to work with Azure Key Vault. The [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) must also be installed and configured. 1. Install `jq`, a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/docs/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md index 0a686185a39..8ec9dbf08b4 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-hyperdisk-and-persistent-disk-to-linode-block-storage/index.md @@ -57,7 +57,7 @@ Bandwidth for the transfer can vary according to different factors, including: When planning your migration, consider performing a bandwidth test between the two locations first. Then, use the observed bandwidth from the test to calculate the estimated migration time for the disk. -Utilities like [iperf](/docs/guides/install-iperf-to-diagnose-network-speed-in-linux/) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the Compute Engine instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. +Utilities like [iperf](/cloud/guides/install-iperf-to-diagnose-network-speed-in-linux/) can be useful for performing this type of bandwidth measurement. Alternatively, you can create a test file on the Compute Engine instance, migrate it following the [instructions](#block-storage-migration-instructions) in this guide, and then view the bandwidth reported by rsync's output. You can use the `dd` command to generate a sample 1GB test file: @@ -105,15 +105,15 @@ In this guide, the rsync command is run from a Linode instance and connects to a Linux distributions (on both Linode instances and Compute Engine instances) can have software firewalls configured inside the instance. The following guides describe some software firewalls that your instances may use: -- [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/) -- [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) -- [A Tutorial for Controlling Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) +- [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) +- [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) +- [A Tutorial for Controlling Network Traffic with iptables](/cloud/guides/control-network-traffic-with-iptables/) You may also configure Cloud Firewalls to control traffic before it arrives at your Linode instance. Our [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall/) product documentation describes how to configure these rules. The [Comparing Cloud Firewalls to Linux firewall software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide further describes the difference between network firewalls and software firewalls. [GCP's product documentation](https://cloud.google.com/security/products/firewall?hl=en) describes how to configure cloud firewalls for Compute Engine instances. ### Configure SSH Key Pair -This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Compute Engine instance. The [Generate an SSH Key Pair](/docs/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. +This guide uses SSH public key authentication for the rsync connection. You must have a public and private key pair installed on the Linode instance and Compute Engine instance. The [Generate an SSH Key Pair](/cloud/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) section of the [SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) guide describes how to create and use a key pair. This guide assumes the public and private keys are named `id_rsa.pub` and `id_rsa`, but your keys may have different names depending on the type of key pair you are using. @@ -135,7 +135,7 @@ These instructions implement two recommended practices: Migrations can take a long time, so having them run independently of your SSH session is important. This guide uses `tmux` to create a terminal session that persists between SSH connections. By sending output and errors to log files, you can keep a record of any migration failures that may happen. -Review our [tmux guide](/docs/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. +Review our [tmux guide](/cloud/guides/persistent-terminal-sessions-with-tmux/) for help with other tmux commands. 1. Install the `tmux` utility on your Linode instance using the official tmux instructions: [Installing tmux](https://github.com/tmux/tmux/wiki/Installing#installing-tmux). diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md index 82f402e9c3a..3eae448e161 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-gcp-secret-manager-to-openbao-on-akamai-cloud/index.md @@ -27,16 +27,16 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from GCP Secret Manager to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/docs/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/docs/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/docs/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) 1. Ensure that you have access to your GCP account with sufficient permissions to work with GCP Secret Manager. The [gcloud CLI](https://cloud.google.com/sdk/docs/install) must also be installed and configured. 1. Install `jq`, a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/docs/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md index 066334b976f..e5063bdaa6c 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-google-cloud-storage-to-linode-object-storage/index.md @@ -9,7 +9,7 @@ keywords: ['migrate','migration','object storage','google cloud storage','rclone license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Linode Object Storage product documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' -- '[Linode Object Storage guides & tutorials](/docs/guides/platform/object-storage/)' +- '[Linode Object Storage guides & tutorials](/cloud/guides/platform/object-storage/)' --- Linode Object Storage is an Amazon S3-compatible service used for storing large amounts of unstructured data. This guide includes steps on how to migrate up to 100TB of static content from Google Cloud Storage to Linode Object Storage using rclone, along with how to monitor your migration using rclone’s WebUI GUI. diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md index 9dcd9c9914d..0a3bdadb593 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-oracle-vault-to-openbao-on-akamai-cloud/index.md @@ -27,16 +27,16 @@ This guide provides steps and considerations for how to migrate secrets stored i 1. When migrating from Oracle Vault to OpenBao on Akamai Cloud, OpenBao should be deployed before you begin. OpenBao can be installed on a single Linode instance or deployed to a multi-node cluster using Linode Kubernetes Engine (LKE). Follow the appropriate guide below based on your production needs: - - [Deploying OpenBao on a Linode Instance](/docs/guides/deploying-openbao-on-a-linode-instance/) - - [Deploy OpenBao on Linode Kubernetes Engine](/docs/guides/deploy-openbao-on-linode-kubernetes-engine/) - - [Deploying OpenBao through the Linode Marketplace](/docs/marketplace-docs/guides/openbao/) + - [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) + - [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) + - [Deploying OpenBao through the Linode Marketplace](/cloud/marketplace-docs/guides/openbao/) 1. Ensure that you have access to your Oracle Cloud platform account with sufficient permissions to work with Oracle Vault. The [OCI CLI](https://docs.oracle.com/en-us/iaas/Content/API/SDKDocs/cliinstall.htm) must also be installed and configured 1. Install `jq`, a lightweight command line JSON processor. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/docs/guides/linux-users-and-groups/) doc. +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) doc. {{< /note >}} ### Using This Guide diff --git a/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md b/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md index 2c1adbbc8e4..31ed5939828 100644 --- a/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrate-from-shared-hosting-to-linode/index.md @@ -16,7 +16,7 @@ tags: ["linode platform"] This guide walks you through the steps to migrate your website from a shared hosting provider to a Linode running a LAMP stack. A Linode server gives you much more power and flexibility than a shared host, but these advantages come at the cost of increased complexity and system administration responsibility. -The biggest change between shared hosting and Linode's cloud is that with Linode you have full administrative access to the server without intervention. This means that you will be solely responsible for keeping your software updated and your valuable data backed up. Our [Guides and Tutorials](/docs/) area contains all of the information you'll need for basic [server administration](/docs/guides/linux-system-administration-basics/), [security hardening](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [system backups](/docs/guides/backing-up-your-data/). +The biggest change between shared hosting and Linode's cloud is that with Linode you have full administrative access to the server without intervention. This means that you will be solely responsible for keeping your software updated and your valuable data backed up. Our [Guides and Tutorials](/cloud/) area contains all of the information you'll need for basic [server administration](/cloud/guides/linux-system-administration-basics/), [security hardening](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [system backups](/cloud/guides/backing-up-your-data/). ## Before You Begin @@ -24,13 +24,13 @@ This guide makes three assumptions: * You already have a [Linode account](https://login.linode.com/signup). * You know how to sign in to the [Linode Cloud Manager](https://cloud.linode.com/). -* You have a basic knowledge of [how to use SSH](/docs/guides/use-public-key-authentication-with-ssh/). +* You have a basic knowledge of [how to use SSH](/cloud/guides/use-public-key-authentication-with-ssh/). {{< note >}} Because this guide is intended to be general in nature, it does not take into account the specific dependencies or frameworks of each individual setup. If you're unsure whether or not your website is compatible with a LAMP configuration, we strongly suggest consulting your web developer before proceeding. {{< /note >}} -See our [Getting Started](/docs/products/platform/get-started/) guide for more information on signing up and setting up your Linode. +See our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for more information on signing up and setting up your Linode. ## Prepare Your Domain Name to Move @@ -48,7 +48,7 @@ When changing servers, however, you want a shorter TTL to make sure that when yo 4. Adjust your TTL to its shortest setting. For example, 300 seconds is equal to 5 minutes, so that's a good choice if it's available. -5. Make sure you wait out the original TTL from Step 3 before actually moving your domain. In the meantime, you can continue through this guide to back up your data, deploy your Linode and upload your website. For more information on domain TTL, see our [DNS guide](/docs/products/networking/dns-manager/guides/manage-dns-records/). +5. Make sure you wait out the original TTL from Step 3 before actually moving your domain. In the meantime, you can continue through this guide to back up your data, deploy your Linode and upload your website. For more information on domain TTL, see our [DNS guide](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records). ## Back Up Your Website @@ -56,7 +56,7 @@ The next step is to back up your site from your old server to your local compute You may want to explore whether the application you use for your website has its own backup instructions, such as the combination of [WordPress](https://codex.wordpress.org/WordPress_Backups) and [phpMyAdmin](http://docs.phpmyadmin.net/en/latest/faq.html?highlight=backup#how-can-i-backup-my-database-or-table), for example. Regardless of the backup method, every website is made up of files and databases so you can use the instructions in this section to back up every type of website. -If you have a MySQL or MariaDB database on your old server, you will also need to back it up. Your old host probably has a control panel that will allow you to make an easy backup of your database. Contact that host for instructions if you are not sure how to do it. If your old host does not have a database backup solution, you can follow our instructions to [Back Up Your MySQL Databases](/docs/guides/mysqldump-backups/) using the command line. +If you have a MySQL or MariaDB database on your old server, you will also need to back it up. Your old host probably has a control panel that will allow you to make an easy backup of your database. Contact that host for instructions if you are not sure how to do it. If your old host does not have a database backup solution, you can follow our instructions to [Back Up Your MySQL Databases](/cloud/guides/mysqldump-backups/) using the command line. **Shared Host's Control Panel** @@ -73,28 +73,28 @@ The exact location of your website's files may vary depending on your specific i **FileZilla (Linux / OS X / Windows)** -See [our Filezilla guide](/docs/guides/filezilla/) to use it for your site backups. +See [our Filezilla guide](/cloud/guides/filezilla/) to use it for your site backups. ## Install a Basic Web Server on Your Linode -The next step is to build the software environment needed for your site to function properly. Once that's complete, you can install a content management system of your choice such as [WordPress](https://wordpress.org/) or [Drupal](https://www.drupal.com/). There are many possibilities; see our [web servers](/docs/web-servers/) guides for available options. This guide will assume the use of a LAMP stack, one of the most common web server configurations. +The next step is to build the software environment needed for your site to function properly. Once that's complete, you can install a content management system of your choice such as [WordPress](https://wordpress.org/) or [Drupal](https://www.drupal.com/). There are many possibilities; see our [web servers](/cloud/web-servers/) guides for available options. This guide will assume the use of a LAMP stack, one of the most common web server configurations. ### LAMP Stack [LAMP](https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29) stands for the following: -* **Linux:** A LAMP stack will work on most common Linux distributions. While there will be no discernible difference to your site's users, each distro has advantages and disadvantages to consider. See our [LAMP Guides](/docs/web-servers/lamp/) section for installation instructions on various distros. +* **Linux:** A LAMP stack will work on most common Linux distributions. While there will be no discernible difference to your site's users, each distro has advantages and disadvantages to consider. See our [LAMP Guides](/cloud/web-servers/lamp/) section for installation instructions on various distros. * **Apache:** A web server that handles HTTP and HTTPS internet traffic. * **MySQL:** A database server. * **PHP:** A software language that allows you to create and configure dynamic website content. -To install a LAMP stack on Ubuntu, follow the steps in our [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. +To install a LAMP stack on Ubuntu, follow the steps in our [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. ## Get Your Website Live Once you've installed all the underlying software for your Linode, you can upload your website to the new server. This will replace the Apache test page shown by default when you first install Apache on your Linode. -1. Follow the steps in our [hosting a website](/docs/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server) guide to configure name-based virtual hosts for Apache on your Linode. +1. Follow the steps in our [hosting a website](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server) guide to configure name-based virtual hosts for Apache on your Linode. 2. Upload your website's files from your local computer to `/var/www/html/example.com/public_html` on your Linode. The process to do this is similar to how you downloaded your site's files to your local computer when creating a backup from your shared host. The only differences are the source and destination of the transfer. @@ -106,7 +106,7 @@ Once you've installed all the underlying software for your Linode, you can uploa Replace `example_user` with your Linode's user and `example.com` with your domain name. {{< /note >}} - If you have a database, you'll need to upload it to your Linode. If you're more comfortable using a control panel, you may want to [install phpMyAdmin](/docs/guides/install-mysql-phpmyadmin-ubuntu-14-04/) at this point. You can also [restore your database](/docs/guides/mysqldump-backups/#restore-a-backup) using the command line. + If you have a database, you'll need to upload it to your Linode. If you're more comfortable using a control panel, you may want to [install phpMyAdmin](/cloud/guides/install-mysql-phpmyadmin-ubuntu-14-04/) at this point. You can also [restore your database](/cloud/guides/mysqldump-backups/#restore-a-backup) using the command line. 3. Now check your website's IP address in your browser. Your website should be displayed. @@ -116,13 +116,13 @@ Your website may not yet function completely correctly if it is URL-dependent. A ### A Note About Email -A Linode can run both your web server and an [email server](/docs/guides/running-a-mail-server/) for your site. If you use a separate email host like Google Workspace, you will need to make sure you preserve the correct *MX records* for email when you move your domain. If you use a mail service at your old host, you may need to consider where you're going to move your email. See [Running a Mail Server](/docs/guides/running-a-mail-server/) for more details. +A Linode can run both your web server and an [email server](/cloud/guides/running-a-mail-server/) for your site. If you use a separate email host like Google Workspace, you will need to make sure you preserve the correct *MX records* for email when you move your domain. If you use a mail service at your old host, you may need to consider where you're going to move your email. See [Running a Mail Server](/cloud/guides/running-a-mail-server/) for more details. ## Move Your Domain The last step in your migration is to point your domain at your Linode's IP address. If you decided to shorten your TTL, make sure you've waited out the original time period. -1. Follow our instructions on [adding a domain zone](/docs/products/networking/dns-manager/guides/create-domain/) to create DNS records at Linode for your domain. +1. Follow our instructions on [adding a domain zone](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) to create DNS records at Linode for your domain. 2. If you use a third-party email service, edit the default MX records. @@ -136,9 +136,9 @@ The last step in your migration is to point your domain at your Linode's IP addr 4. Wait five minutes (or the time you set for your TTL) for the domain to propagate. If you did not shorten your TTL, this may take up to 48 hours. -5. Navigate to your domain in a web browser. It should now show the website being served from your Linode, rather than your old host. If you can't tell the difference, you can use the [DIG utility](/docs/guides/use-dig-to-perform-manual-dns-queries/). It should show the IP address for your Linode. +5. Navigate to your domain in a web browser. It should now show the website being served from your Linode, rather than your old host. If you can't tell the difference, you can use the [DIG utility](/cloud/guides/use-dig-to-perform-manual-dns-queries/). It should show the IP address for your Linode. -6. [Set reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) for your domain. +6. [Set reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for your domain. {{< note respectIndent=false >}} If you're having trouble seeing your site at the new IP address, you may need to try visiting it in a different browser, or in a private browsing session. Sometimes your browser will cache old DNS data, even if it has updated everywhere else. @@ -148,4 +148,4 @@ Your website is now fully migrated to Linode. It is a good idea to wait a few da ## Next Steps -Your server is only as secure as you make it. Follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to make sure your Linode is hardened against unauthorized access. +Your server is only as secure as you make it. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to make sure your Linode is hardened against unauthorized access. diff --git a/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md b/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md index 5da0533913e..70957aa2335 100644 --- a/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md +++ b/docs/guides/platform/migrate-to-linode/migrating-a-server-to-your-linode/index.md @@ -14,7 +14,7 @@ deprecated: true deprecated_link: '/docs/guides/best-practices-when-migrating-to-linode/' --- {{< note >}} -The process for migrating a server image to your Linode will vary depending upon how the image was created. We recommend making an `.iso` file from your existing image, and then following the steps in our updated [custom distribution](/docs/guides/install-a-custom-distribution/) guide to deploy it on a Linode. This guide is no longer being maintained, and the procedure outlined here is not recommended for new migrations. +The process for migrating a server image to your Linode will vary depending upon how the image was created. We recommend making an `.iso` file from your existing image, and then following the steps in our updated [custom distribution](/cloud/guides/install-a-custom-distribution/) guide to deploy it on a Linode. This guide is no longer being maintained, and the procedure outlined here is not recommended for new migrations. {{< /note >}} You can migrate an existing server to your Linode from another hosting provider or a local machine. This is a great option if you're moving to Linode from another hosting provider or if you've built a custom server on your local machine. You can even migrate virtualized servers created with products like VirtualBox or VMware. This guide shows you how to prepare the Linode to receive the files, copy the files from the existing server to the Linode, and then make the disks bootable. @@ -82,9 +82,9 @@ You have successfully created the configuration profile. Before you initiate the transfer, you need to start the Linode in rescue mode. Here's how: -1. Boot your Linode into Rescue Mode. For instructions, see [Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode). Be sure to set the primary disk to `/dev/sda` and the swap disk to `/dev/sdb`. -2. After the Linode has booted, connect to it via LISH. For instructions, see [Connecting to a Linode Running in rescue mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#connecting-to-a-compute-instance-running-in-rescue-mode). -3. Start SSH. For instructions, see [Start SSH](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#starting-ssh). +1. Boot your Linode into Rescue Mode. For instructions, see [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode). Be sure to set the primary disk to `/dev/sda` and the swap disk to `/dev/sdb`. +2. After the Linode has booted, connect to it via LISH. For instructions, see [Connecting to a Linode Running in rescue mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#connecting-to-a-compute-instance-running-in-rescue-mode). +3. Start SSH. For instructions, see [Start SSH](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#starting-ssh). 4. Mount the blank primary disk by entering the following command: mount -o barrier=0 /dev/sda @@ -106,7 +106,7 @@ At this point, you should stop as many services as possible on the existing serv Now it's time to copy the files from your existing server to your Linode. Here's how: 1. Connect to your existing server via SSH and log in as `root`. -2. Enter the following command to initiate the copy, replacing `123.45.67.890` with your Linode's IP address. (For instructions on finding your Linode's IP address, see [Finding the IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/).) : +2. Enter the following command to initiate the copy, replacing `123.45.67.890` with your Linode's IP address. (For instructions on finding your Linode's IP address, see [Finding the IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance).) : rsync --exclude="/sys/*" --exclude="/proc/*" -aHSKDvz -e ssh / root@123.45.67.890:/media/sda/ {{< note >}} diff --git a/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md b/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md index 7f1709e995e..da16218276f 100644 --- a/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md +++ b/docs/guides/platform/migrate-to-linode/self-hosted-vs-managed-databases/index.md @@ -263,7 +263,7 @@ And using `mysqldump`: defaultdb > outfile_mysql.sql ``` -Exported backups can also be stored in Object Storage using tools like [`rclone`](/docs/guides/rclone-object-storage-file-sync/) or [`s3cmd`](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage). This approach allows you to enforce your own retention and [access control policies](https://techdocs.akamai.com/cloud-computing/docs/define-access-and-permissions-using-bucket-policies). +Exported backups can also be stored in Object Storage using tools like [`rclone`](/cloud/guides/rclone-object-storage-file-sync/) or [`s3cmd`](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage). This approach allows you to enforce your own retention and [access control policies](https://techdocs.akamai.com/cloud-computing/docs/define-access-and-permissions-using-bucket-policies). You can also test backups by restoring them to a temporary environment to ensure data integrity. This also provides a way to benchmark recovery times and identify potential gaps in coverage. diff --git a/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md b/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md index 3b91c9e48b2..441307ff720 100644 --- a/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md +++ b/docs/guides/platform/object-storage/backing-up-compute-instance-to-object-storage/index.md @@ -18,17 +18,17 @@ In this tutorial, learn how to create full-system backups from the command line ## 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 >}} ## Back Up Your Data to a Single Archive File -There are a significant number of tools, third-party applications, and services that offer system backup solutions. Several useful methods are covered in our guide on [Backing Up Your Data](/docs/guides/backing-up-your-data/), including some methods specific to Linode instances. +There are a significant number of tools, third-party applications, and services that offer system backup solutions. Several useful methods are covered in our guide on [Backing Up Your Data](/cloud/guides/backing-up-your-data/), including some methods specific to Linode instances. Since the goal of this tutorial is to store backups on Object Storage, utilities that output a single backup file are preferred. After all, it's much easier to store and manage each backup as a single object than as many separate objects. @@ -66,11 +66,11 @@ The tar command also supports incremental backups, using its `--listed-increment With your backup made and stored in a convenient `backup.tgz` file, you can start the process of storing it on an Object Storage bucket. -The [rclone](https://rclone.org/) utility handles that process efficiently, especially when you plan on automating backups (covered in the next section). You can learn more about rclone and its usage with object storage in our guide [Use Rclone to Sync Files to Linode Object Storage](/docs/guides/rclone-object-storage-file-sync/). +The [rclone](https://rclone.org/) utility handles that process efficiently, especially when you plan on automating backups (covered in the next section). You can learn more about rclone and its usage with object storage in our guide [Use Rclone to Sync Files to Linode Object Storage](/cloud/guides/rclone-object-storage-file-sync/). Follow along with the steps here to set up rclone and store your initial backup file to a Linode Object Storage instance. -1. Create a Linode Object Storage bucket and generate access keys. Our [Object Storage - Get Started](/docs/products/storage/object-storage/get-started/) guide explains how. +1. Create a Linode Object Storage bucket and generate access keys. Our [Object Storage - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide explains how. You need to keep track of some information from this step, as it is necessary further on: @@ -80,7 +80,7 @@ Follow along with the steps here to set up rclone and store your initial backup - The access key and secret access key you generate. The Cloud Manager only displays the secret key once after generating it, so be sure to hold on to it. -1. Install rclone. You can generally do so from your system's package manager, but for the latest release of rclone, you should follow the installation instructions in our [rclone guide](/docs/guides/rclone-object-storage-file-sync/#download-and-install-rclone-on-linux-and-macos). +1. Install rclone. You can generally do so from your system's package manager, but for the latest release of rclone, you should follow the installation instructions in our [rclone guide](/cloud/guides/rclone-object-storage-file-sync/#download-and-install-rclone-on-linux-and-macos). 1. Create the `~/.config/rclone` directory if it does not yet exist. This is where your rclone configuration files will be stored. @@ -201,7 +201,7 @@ The instructions below walk you through this process. This example uses the `tar Typically, cron prefers the crontab file to end with a new line, so be sure to add one after your entry. {{< /note >}} - Learn more about scheduling tasks with cron in our guide [Using Cron to Schedule Tasks for Certain Times or Intervals](/docs/guides/schedule-tasks-with-cron/). There you can see more options for setting up cron jobs and a full breakdown of scheduling frequency. + Learn more about scheduling tasks with cron in our guide [Using Cron to Schedule Tasks for Certain Times or Intervals](/cloud/guides/schedule-tasks-with-cron/). There you can see more options for setting up cron jobs and a full breakdown of scheduling frequency. The example above schedules a daily task, so checking your Object Storage bucket the next day should show a new backup file. You can verify the results with a command like this: diff --git a/docs/guides/platform/object-storage/host-static-site-object-storage/index.md b/docs/guides/platform/object-storage/host-static-site-object-storage/index.md index 863ae16e314..6fc51b7c188 100644 --- a/docs/guides/platform/object-storage/host-static-site-object-storage/index.md +++ b/docs/guides/platform/object-storage/host-static-site-object-storage/index.md @@ -19,7 +19,7 @@ image: host-a-static-site-using-linode-object-storage.png ## Why Host a Static Site on Object Storage? -[Static site generators](/docs/guides/how-to-choose-static-site-generator/) are a popular solution for creating simple, fast, flexible, and attractive websites that are easy to update. You can contribute new pages and content to a static site in two steps: +[Static site generators](/cloud/guides/how-to-choose-static-site-generator/) are a popular solution for creating simple, fast, flexible, and attractive websites that are easy to update. You can contribute new pages and content to a static site in two steps: 1. First, write the content for your site's new page using [Markdown](https://www.markdownguide.org), an easy-to-learn and light-weight markup language. @@ -29,7 +29,7 @@ The second compilation step only needs to happen once for each time that you upd ### Benefits of Hosting on Object Storage -Traditionally, these static HTML files would be served by a web server (like [NGINX](/docs/guides/web-servers/nginx/) or [Apache](/docs/guides/web-servers/apache/)) running on a Linode. Using Object Storage to host your static site files means you do not have to worry about maintaining your site's infrastructure. It is no longer necessary to perform typical server maintenance tasks, like software upgrades, web server configuration, and security upkeep. +Traditionally, these static HTML files would be served by a web server (like [NGINX](/cloud/guides/web-servers/nginx/) or [Apache](/cloud/guides/web-servers/apache/)) running on a Linode. Using Object Storage to host your static site files means you do not have to worry about maintaining your site's infrastructure. It is no longer necessary to perform typical server maintenance tasks, like software upgrades, web server configuration, and security upkeep. Object Storage provides an HTTP REST gateway to objects, which means a unique URL over HTTP is available for every object. Once your static site is built, making it available publicly over the Internet is as easy uploading files to an Object Storage bucket. @@ -43,16 +43,16 @@ At a high-level, the required steps to host a static site using Object Storage a 1. [Upload](#upload-your-static-site-to-linode-object-storage) the static files to your Object Storage bucket to make the content publicly available over the Internet. -This guide uses [Hugo](https://gohugo.io/) to demonstrate how to create a static site and hosts it on Linode Object Storage. However, there are [many other static site generators](https://www.staticgen.com) to choose from--[Jekyll](https://jekyllrb.com/) and [Gatsby](https://www.gatsbyjs.org/) are popular choices, and the general steps outlined in this guide could be adapted to them. For more information on choosing a static site generator, see the [How to Choose a Static Site Generator](/docs/guides/how-to-choose-static-site-generator/) guide. +This guide uses [Hugo](https://gohugo.io/) to demonstrate how to create a static site and hosts it on Linode Object Storage. However, there are [many other static site generators](https://www.staticgen.com) to choose from--[Jekyll](https://jekyllrb.com/) and [Gatsby](https://www.gatsbyjs.org/) are popular choices, and the general steps outlined in this guide could be adapted to them. For more information on choosing a static site generator, see the [How to Choose a Static Site Generator](/cloud/guides/how-to-choose-static-site-generator/) guide. ## Before You Begin -1. Read the [Get Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide or take a look through all the [Object Storage guides](/docs/products/storage/object-storage/guides/) to familiarize yourself with Object Storage on Linode. Specifically, be sure that you have: +1. Read the [Get Started with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide or take a look through all the [Object Storage guides](https://techdocs.akamai.com/cloud-computing/docs/object-storage) to familiarize yourself with Object Storage on Linode. Specifically, be sure that you have: - Created your Object Storage access and secret keys. - Installed and configure the [s3cmd tool](https://s3tools.org/download). -1. [Install and configure Git](/docs/guides/how-to-install-git-and-clone-a-github-repository/#install-and-configure-git) on your local computer. +1. [Install and configure Git](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#install-and-configure-git) on your local computer. ## Install the Hugo Static Site Generator @@ -220,7 +220,7 @@ Press Ctrl+C to stop git commit -m 'Add my first post.' - Once you have used Git to track your local Hugo site files, you can easily push them to a remote Git repository, like [GitHub](https://github.com/) or [GitLab](https://about.gitlab.com/). Storing your static site files on a remote Git repository opens up many possibilities for collaboration and automating your static site's deployment to Linode Object Storage. To learn more about Git, see the [Getting Started with Git](/docs/guides/how-to-configure-git/) guide. + Once you have used Git to track your local Hugo site files, you can easily push them to a remote Git repository, like [GitHub](https://github.com/) or [GitLab](https://about.gitlab.com/). Storing your static site files on a remote Git repository opens up many possibilities for collaboration and automating your static site's deployment to Linode Object Storage. To learn more about Git, see the [Getting Started with Git](/cloud/guides/how-to-configure-git/) guide. {{< /note >}} ## Upload your Static Site to Linode Object Storage @@ -309,8 +309,8 @@ Alternatively, you can freely create a custom subdomain that does not need to ma subdomain.mydomain.tld CNAME my-new-bucket.us-east-1.linodeobjects.com -To learn about managing DNS records on Linode, see the [DNS Manager](/docs/products/networking/dns-manager/) and [DNS Records: An Introduction](/docs/guides/dns-overview/) guides. +To learn about managing DNS records on Linode, see the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) and [DNS Records: An Introduction](/cloud/guides/dns-overview/) guides. -For instructions on how to set up `https` access for your custom domain, see the [Configure a Custom Domain (with a TLS/SSL Certificate)](/docs/products/storage/object-storage/guides/custom-domain/) guide. +For instructions on how to set up `https` access for your custom domain, see the [Configure a Custom Domain (with a TLS/SSL Certificate)](https://techdocs.akamai.com/cloud-computing/docs/configure-a-custom-domain-with-a-tls-ssl-certificate) guide. As noted before, it's possible to trigger automatic deployments to the Object Storage service when you push new content updates to GitHub or GitLab. This is done by leveraging a CI/CD (continuous integration/continuous delivery) tool like [Travis CI](https://travis-ci.org). Essentially, you would build your Hugo site within the Travis environment and then run the `s3cmd sync` command from it to your bucket. diff --git a/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md b/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md index c564996b845..186cc55cebb 100644 --- a/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md +++ b/docs/guides/platform/object-storage/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/index.md @@ -21,11 +21,11 @@ You can configure Nextcloud to enable external storage devices and services, lik ## Before You Begin -1. Deploy a Nextcloud server instance. You can use the [Linode Nextcloud Quick Deploy App](/docs/marketplace-docs/guides/nextcloud/) for an easy and quick deployment. +1. Deploy a Nextcloud server instance. You can use the [Linode Nextcloud Quick Deploy App](/cloud/marketplace-docs/guides/nextcloud/) for an easy and quick deployment. -1. [Generate Object Storage access keys](/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. If you are not familiar with Linode Object Storage, review the [Get Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide or take a look through the available [Object Storage guides](/docs/products/storage/object-storage/guides/). +1. If you are not familiar with Linode Object Storage, review the [Get Started with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide or take a look through the available [Object Storage guides](https://techdocs.akamai.com/cloud-computing/docs/object-storage). ### In This Guide @@ -63,7 +63,7 @@ You must belong to the `admin` user group in order to install the External stora After enabling the External Storage Support app, you are now ready to add a new external storage mount. You configure the new external storage mount to use the Linode Object Storage service. {{< note >}} -If you have not yet [created an Object Storage access key](/docs/products/storage/object-storage/guides/access-keys/), you should do so now before proceeding with this section. +If you have not yet [created an Object Storage access key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys), you should do so now before proceeding with this section. {{< /note >}} 1. Click the user icon (or cog wheel) in the top navigation menu and select **Settings**. @@ -99,7 +99,7 @@ Linode Object Storage is *Amazon S3-compatible*. Nextcloud connects to Amazon's | Secret Key | The value of the Secret Key you created using the Linode Cloud Manager. | {{< note >}} - To view Object Storage region IDs and hostname values, review the [Access Buckets and Files through URLs](https://www.linode.com/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint) guide. + To view Object Storage region IDs and hostname values, review the [Access Buckets and Files through URLs](https://techdocs.akamai.com/cloud-computing/docs/access-buckets-and-files-through-urls#cluster-url-s3-endpoint) guide. {{< /note >}} {{< note >}} @@ -127,5 +127,5 @@ Linode Object Storage is *Amazon S3-compatible*. Nextcloud connects to Amazon's ![Your should see your uploaded file appear in the folder.](uploaded-image.png) {{< note respectIndent=false >}} -The file you uploaded is also be available through the [Linode Cloud Manager](https://cloud.linode.com/). You can verify this by following the steps in the [View Bucket Objects](/docs/products/storage/object-storage/guides/manage-buckets/) guide. You should not use the Linode Cloud Manager to remove or add files from your Nextcloud external storage Object Storage bucket. +The file you uploaded is also be available through the [Linode Cloud Manager](https://cloud.linode.com/). You can verify this by following the steps in the [View Bucket Objects](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) guide. You should not use the Linode Cloud Manager to remove or add files from your Nextcloud external storage Object Storage bucket. {{< /note >}} diff --git a/docs/guides/platform/object-storage/how-to-move-objects-between-buckets/index.md b/docs/guides/platform/object-storage/how-to-move-objects-between-buckets/index.md index 36167019552..2e723cd981f 100644 --- a/docs/guides/platform/object-storage/how-to-move-objects-between-buckets/index.md +++ b/docs/guides/platform/object-storage/how-to-move-objects-between-buckets/index.md @@ -33,7 +33,7 @@ The easiest way to move objects between buckets is using a Graphical User Interf To transfer objects within the same cluster on the same account, you need to open only one Cyberduck window. -1. Open Cyberduck and make a connection to access your buckets as described in [Using Cyberduck with Object Storage](/docs/products/storage/object-storage/guides/cyberduck/). +1. Open Cyberduck and make a connection to access your buckets as described in [Using Cyberduck with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/using-cyberduck-with-object-storage). 1. Expand the two buckets you want to transfer objects between by clicking the down arrow to the left of the folders. @@ -70,7 +70,7 @@ You can easily copy multiple items, folders, or buckets by selecting everything ## Cyberduck CLI -You can also use the Cyberduck CLI, duck, to move objects from one bucket to another using the command line. The file transfer tool duck, is available for Linux, macOS, and Windows. To transfer using duck, you need the [access keys](/docs/products/storage/object-storage/guides/access-keys/) that you generated for the source and destination buckets. +You can also use the Cyberduck CLI, duck, to move objects from one bucket to another using the command line. The file transfer tool duck, is available for Linux, macOS, and Windows. To transfer using duck, you need the [access keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) that you generated for the source and destination buckets. 1. [Install duck](https://duck.sh) using the instructions for your platform. diff --git a/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md b/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md index ab4ff395e79..869d537aa46 100644 --- a/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md +++ b/docs/guides/platform/object-storage/optimizing-obj-bucket-architecture-for-akamai-cdn/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Object Storage Product Documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage)' - '[Akamai Content Delivery Documentation](https://techdocs.akamai.com/platform-basics/docs/content-delivery)' -- '[Using Object Storage With Akamai CDN](/docs/guides/using-object-storage-with-akamai-cdn/)' +- '[Using Object Storage With Akamai CDN](/cloud/guides/using-object-storage-with-akamai-cdn/)' --- Linode Object Storage can be an efficient, cost-effective solution for streaming and data delivery applications when used as an origin point for Akamai CDN. Since Object Storage is a part of Akamai Cloud and uses the same backbone as Akamai CDN, egress can also be significantly reduced. diff --git a/docs/guides/platform/object-storage/replicate-bucket-contents-with-rclone/index.md b/docs/guides/platform/object-storage/replicate-bucket-contents-with-rclone/index.md index 80d9ac77fdd..14da8247eb9 100644 --- a/docs/guides/platform/object-storage/replicate-bucket-contents-with-rclone/index.md +++ b/docs/guides/platform/object-storage/replicate-bucket-contents-with-rclone/index.md @@ -29,7 +29,7 @@ This guide outlines benefits and considerations for cross-region replication of - **Large file counts may take longer.** The solution in this guide uses the rclone utility to sync contents from one bucket to another, and the time it takes to complete depends on the amount of files being synced. -- **The method in this guide syncs bucket contents automatically once.** After the sync occurs, multiple buckets can be managed congruently to ensure consistency between bucket contents. This can be achieved by uploading and deleting objects at the same time via the Linode CLI, the Linode API, or other [Object Storage compatible tools](/docs/products/storage/object-storage/get-started/#object-storage-tools) such as s3cmd. +- **The method in this guide syncs bucket contents automatically once.** After the sync occurs, multiple buckets can be managed congruently to ensure consistency between bucket contents. This can be achieved by uploading and deleting objects at the same time via the Linode CLI, the Linode API, or other [Object Storage compatible tools](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage#object-storage-tools) such as s3cmd. - **One-way syncing.** The method in the provided scripts runs a one-way sync from a source bucket to a destination bucket. @@ -138,7 +138,7 @@ $RCLONE_SYNC_COMMAND - **Script location:** The script is designed to be run from a Compute Instance on a supported distribution by a user with sudo permissions. -- **Bucket access:** The script requires access to both your source and destination buckets via an access key and a secret key. If you do not have an access key or secret key for your buckets, follow the instructions for generating them in our [Object Storage - Get Started](/docs/products/storage/object-storage/get-started/#generate-an-access-key) guide. +- **Bucket access:** The script requires access to both your source and destination buckets via an access key and a secret key. If you do not have an access key or secret key for your buckets, follow the instructions for generating them in our [Object Storage - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage#generate-an-access-key) guide. - **Defining bucket information:** Prior to running the script, define the following variables at the top of the script (lines 3-13) with the corresponding information for your source and destination buckets. This can be done by typing in the required information between the quotation marks after each variable. @@ -154,22 +154,22 @@ $RCLONE_SYNC_COMMAND - `DEST_SECRETKEY_PASSWORD`: The secret key for your destination bucket {{< note title="Object Storage Region IDs" >}} - A full list of region IDs and their corresponding data centers is listed under the **Availability** section of our [Object Storage](/docs/products/storage/object-storage/#availability) guide. + A full list of region IDs and their corresponding data centers is listed under the **Availability** section of our [Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage#availability) guide. {{< /note >}} ## Alternative Script Deployment Methods -Another method for running the rclone sync is to run the script functions automatically on a newly deployed Compute Instance. You can achieve this by using either our [Metadata](/docs/products/compute/compute-instances/guides/metadata/) (recommended) or [StackScripts](/docs/products/tools/stackscripts/) services. +Another method for running the rclone sync is to run the script functions automatically on a newly deployed Compute Instance. You can achieve this by using either our [Metadata](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service) (recommended) or [StackScripts](https://techdocs.akamai.com/cloud-computing/docs/stackscripts) services. The first method below uses user data with our Metadata service during instance creation, and the second method uses StackScripts to create the new instance. In both methods, the script functions are run once automatically upon initial boot. ### Deploying with Metadata -1. Begin the process of deploying a new Compute Instance using the steps in our [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. +1. Begin the process of deploying a new Compute Instance using the steps in our [Create a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. When choosing a distribution image, select one of the versions of Ubuntu that is both supported by the script (see [Running the Script](#running-the-script)) and compatible with cloud-init (denoted with a note icon). - When choosing a region, select a region where the Metadata service is available. A list of data center availability for Metadata can be found in our [Overview of the Metadata Service](/docs/products/compute/compute-instances/guides/metadata/#availability) guide. + When choosing a region, select a region where the Metadata service is available. A list of data center availability for Metadata can be found in our [Overview of the Metadata Service](https://techdocs.akamai.com/cloud-computing/docs/overview-of-the-metadata-service#availability) guide. Stop when you get to the **Add User Data** section. @@ -242,7 +242,7 @@ The first method below uses user data with our Metadata service during instance ### Deploying with StackScripts -1. Create a new StackScript using the steps in our [StackScripts - Get Started](/docs/products/tools/stackscripts/get-started/#create-the-stackscript) guide. +1. Create a new StackScript using the steps in our [StackScripts - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-stackscripts#create-the-stackscript) guide. 1. Enter your **StackScript Label** and **Description**, and select your **Target Image**. Supported distribution images are listed in the [Running the Script](#running-the-script) section. @@ -330,4 +330,4 @@ For more information on using rclone or managing Object Storage, see the below l - [Rclone official documentation](https://rclone.org/docs/) -- [Object Storage - Guides](/docs/products/storage/object-storage/guides/) \ No newline at end of file +- [Object Storage - Guides](https://techdocs.akamai.com/cloud-computing/docs/object-storage) \ No newline at end of file diff --git a/docs/guides/platform/object-storage/server-side-encryption/index.md b/docs/guides/platform/object-storage/server-side-encryption/index.md index c766c515cde..986b31a0231 100644 --- a/docs/guides/platform/object-storage/server-side-encryption/index.md +++ b/docs/guides/platform/object-storage/server-side-encryption/index.md @@ -15,14 +15,14 @@ image: UseServerSideEnc_LinObjStorage.png aliases: ['/platform/object-storage/server-side-encryption/'] --- -Server-side encryption secures data on Linode Object Storage. Using your own encryption key, Linode will encrypt your data at the object level prior to storing it to disk. Once encrypted, Linode will only decrypt data if that same encryption key is provided with the retrieval request. This enables you to use Linode Object Storage to confidently handle sensitive data like [Terraform configurations](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) that contain passwords and SSH keys. +Server-side encryption secures data on Linode Object Storage. Using your own encryption key, Linode will encrypt your data at the object level prior to storing it to disk. Once encrypted, Linode will only decrypt data if that same encryption key is provided with the retrieval request. This enables you to use Linode Object Storage to confidently handle sensitive data like [Terraform configurations](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) that contain passwords and SSH keys. In this guide, you will [write an example Python script](#python-example-script) that will upload a simple file containing the text "Hello World!" to Linode Object Storage, encrypt the file with server-side encryption using a provided encryption key (SSE-C), decrypt and retrieve the contents of the file, then delete the file. Once completed, the components of this script can be adapted to implement server side encryption for your own specific use case. ## Before You Begin -- Familiarize yourself with the basics of Linode Object Storage by reviewing the [Get Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide or taking a look through the available [Object Storage guides](/docs/products/storage/object-storage/guides/). -- [Create an Object Storage bucket](/docs/products/storage/object-storage/guides/manage-buckets/). For demonstration purposes, you can create an Object Storage bucket and delete it after completing this guide. +- Familiarize yourself with the basics of Linode Object Storage by reviewing the [Get Started with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide or taking a look through the available [Object Storage guides](https://techdocs.akamai.com/cloud-computing/docs/object-storage). +- [Create an Object Storage bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets). For demonstration purposes, you can create an Object Storage bucket and delete it after completing this guide. ## Python Example Script @@ -34,7 +34,7 @@ In this guide, you will [write an example Python script](#python-example-script) pip install boto3 -1. [Generate an Object Storage key pair](/docs/products/storage/object-storage/guides/access-keys/), saving the access key and secret key for use in your script. +1. [Generate an Object Storage key pair](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys), saving the access key and secret key for use in your script. 1. Choose a 32 character encryption key for use in your script. You can use [OpenSSL](https://www.openssl.org/) to randomly generate 32 hexadecimal characters to use as your encryption key with the following command: diff --git a/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md b/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md index caa61075a55..6dbec686721 100644 --- a/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md +++ b/docs/guides/platform/object-storage/using-object-storage-with-akamai-cdn/index.md @@ -20,7 +20,7 @@ The solution presented in this guide focuses on the architectural best practices ## Object Storage For Data Delivery -With the right [bucket architecture](/docs/guides/optimizing-obj-bucket-architecture-for-akamai-cdn/), object storage can be used to house content for effective unstructured data delivery. Object storage supports critical features such as encryption, compression, deduplication, and versioning. +With the right [bucket architecture](/cloud/guides/optimizing-obj-bucket-architecture-for-akamai-cdn/), object storage can be used to house content for effective unstructured data delivery. Object storage supports critical features such as encryption, compression, deduplication, and versioning. Its accessibility via HTTP protocols offers direct access to objects. Object storage doesn't require an intermediary proxy to serve files (i.e. Block Storage Volumes attached to a Compute Instance) and can be accessed by a wide range of APIs. @@ -103,4 +103,4 @@ When architected properly and paired with Akamai’s CDN, Object Storage on Akam To learn more about object storage bucket design for streaming and steps for CDN integration, see the following guide: -- [Optimizing Object Storage Bucket Architecture for Akamai CDN](/docs/guides/optimizing-obj-bucket-architecture-for-akamai-cdn/) +- [Optimizing Object Storage Bucket Architecture for Akamai CDN](/cloud/guides/optimizing-obj-bucket-architecture-for-akamai-cdn/) diff --git a/docs/guides/platform/object-storage/working-with-cors-linode-object-storage/index.md b/docs/guides/platform/object-storage/working-with-cors-linode-object-storage/index.md index 2b70ef9330c..10622e32c85 100644 --- a/docs/guides/platform/object-storage/working-with-cors-linode-object-storage/index.md +++ b/docs/guides/platform/object-storage/working-with-cors-linode-object-storage/index.md @@ -13,7 +13,7 @@ external_resources: - '[DreamHost Knowledge Base: Configuring (CORS) on a DreamObjects Bucket](https://help.dreamhost.com/hc/en-us/articles/216201557-How-to-setup-Cross-Origin-Resource-Sharing-CORS-on-DreamObjects)' --- -[Linode Object Storage](/docs/products/storage/object-storage/) offers a globally-available, Amazon S3-compatible storage solution. Whether you are storing critical backup files or data for a static website, Amazon S3-compatible object storage can efficiently answer the call. +[Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) offers a globally-available, Amazon S3-compatible storage solution. Whether you are storing critical backup files or data for a static website, Amazon S3-compatible object storage can efficiently answer the call. To make the most of object storage, you may need to access the data from other domains. For instance, your dynamic applications may opt to use S3 for static file storage. @@ -33,7 +33,7 @@ This is where managing CORS policies on your object storage service becomes impe ## Working with CORS Policies on Linode Object Storage -One of the best tools for managing policies for your Amazon S3-compatible storage, including Linode Object Storage, is `s3cmd`. Follow along with our guide [Using S3cmd with Object Storage](/docs/products/storage/object-storage/guides/s3cmd/) to: +One of the best tools for managing policies for your Amazon S3-compatible storage, including Linode Object Storage, is `s3cmd`. Follow along with our guide [Using S3cmd with Object Storage](https://techdocs.akamai.com/cloud-computing/docs/using-s3cmd-with-object-storage) to: 1. Install `s3cmd` on your system. The installation takes place on the system from which you intend to manage your S3 storage. @@ -73,7 +73,7 @@ The basic CORS policy above is fairly permissive, allowing access for any reques As you can see above, the Linode Cloud Manager can set up a general CORS policy for your bucket. However, if you need more fine-grained control, you need to deploy custom CORS policies. -Creating CORS policies follows a similar methodology to the one outlined in our [Define Access and Permissions using Bucket Policies](/docs/products/storage/object-storage/guides/bucket-policies/) tutorial. +Creating CORS policies follows a similar methodology to the one outlined in our [Define Access and Permissions using Bucket Policies](https://techdocs.akamai.com/cloud-computing/docs/define-access-and-permissions-using-bucket-policies) tutorial. These next sections break down the particular fields needed for CORS policies and how each affects your bucket's availability. @@ -234,4 +234,4 @@ Having CORS-related issues with your Amazon S3-compatible storage? Take these st This covers the tools and approaches you need to start managing CORS for your Linode Object Storage or other Amazon S3-compatible storage. Once you have these, addressing CORS issues is a matter of reviewing and adjusting policies against desired origins and request types. -Keep improving your resources for managing your S3 through our [object storage guides](/docs/products/storage/object-storage/guides/). +Keep improving your resources for managing your S3 through our [object storage guides](https://techdocs.akamai.com/cloud-computing/docs/object-storage). diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md index 1847bb2ae53..d3f8177d762 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-backups/index.md @@ -8,7 +8,7 @@ published: 2018-05-18 keywords: ["backups", "snapshot", "Linode backup", "beginners"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Backing Up Your Data](/docs/guides/backing-up-your-data/)' + - '[Backing Up Your Data](/cloud/guides/backing-up-your-data/)' tags: ["linux"] aliases: ['/quick-answers/linux-essentials/introduction-to-backups/'] --- @@ -25,13 +25,13 @@ Aside from protecting your files against data-loss scenarios, making periodic ba ## Linode Backups -One simple way to make sure your entire system is backed up is to use the official Linode Backup service. This is a paid add-on to your account, and it will automatically take a snapshot of your disk at regular intervals. If your data is ever lost, you can use the most recent snapshot to recover the disk. For more information, see [Linode Backups](/docs/products/storage/backups/). +One simple way to make sure your entire system is backed up is to use the official Linode Backup service. This is a paid add-on to your account, and it will automatically take a snapshot of your disk at regular intervals. If your data is ever lost, you can use the most recent snapshot to recover the disk. For more information, see [Linode Backups](https://techdocs.akamai.com/cloud-computing/docs/backup-service). ## Manual Backups If your Linode contains only a few important items (a directory with pictures or personal documents, for example), then backing up the entire disk may be overkill. -You may have made manual backups of files on your personal computer by dragging them onto a flash drive or other external device. A similar procedure can be used to save copies of your files on your Linode to your home computer, another Linode, or a [Block Storage Volume](/docs/products/storage/block-storage/). The simplest tool to use for this purpose is `scp`, which stands for *secure copy*. +You may have made manual backups of files on your personal computer by dragging them onto a flash drive or other external device. A similar procedure can be used to save copies of your files on your Linode to your home computer, another Linode, or a [Block Storage Volume](https://techdocs.akamai.com/cloud-computing/docs/block-storage). The simplest tool to use for this purpose is `scp`, which stands for *secure copy*. 1. On your Linode, use the `zip` tool to create a compressed archive of the directory you want to back up: @@ -52,15 +52,15 @@ You may have made manual backups of files on your personal computer by dragging cp backup.zip /mnt/my-volume -If you are more comfortable working on the command line, this kind of backup can be automated with a [cron job](/docs/guides/schedule-tasks-with-cron/) so that it can run automatically at a set interval. +If you are more comfortable working on the command line, this kind of backup can be automated with a [cron job](/cloud/guides/schedule-tasks-with-cron/) so that it can run automatically at a set interval. ## Database Backups Many applications, including common CMS platforms like WordPress, store their data in a database. It is crucial to make sure that this data can be restored in the event of a system compromise. Fortunately, most database systems include tools to make backing up simple and painless. -If you are using MySQL or MariaDB, read more about `mysqldump` in our [mysqldump](/docs/guides/mysqldump-backups/) guide, or try making [physical backups](/docs/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). +If you are using MySQL or MariaDB, read more about `mysqldump` in our [mysqldump](/cloud/guides/mysqldump-backups/) guide, or try making [physical backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). -If your application uses PostgreSQL, read our guide on [How to Back Up Your PostgreSQL Database](/docs/guides/back-up-a-postgresql-database/). +If your application uses PostgreSQL, read our guide on [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/). ## Third-Party Tools diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md index a0b85230bc2..f09cb50f6b0 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-function-as-a-service-faas/index.md @@ -12,11 +12,11 @@ image: IntroFunctionAsAService.png Developers are used to breaking business logic into standalone functions that an application can call when necessary. Functions as a Service (FaaS) takes advantage of cloud architectures, spinning up functions (and their system resources) only when needed. Using FaaS has several advantages, not the least of which is affordability, but it can also create more complexity. -Cloud computing's strength comes from an architecture based on composable resources. The cloud infrastructure is built from a programmatic orchestration of many sources and destinations, connected through IP addresses and [DNS](/docs/guides/networking/dns/). The architecture's puzzle pieces, sometimes called a *composable disaggregated infrastructure*, include events as well as the network, storage, compute, and communications and authentication fabrics. +Cloud computing's strength comes from an architecture based on composable resources. The cloud infrastructure is built from a programmatic orchestration of many sources and destinations, connected through IP addresses and [DNS](/cloud/guides/networking/dns/). The architecture's puzzle pieces, sometimes called a *composable disaggregated infrastructure*, include events as well as the network, storage, compute, and communications and authentication fabrics. Composable architectures use resources sparingly, by design. FaaS gets attention as a cost saver, but it's the overall model that is appealing. FaaS is highlighted by scalability, affordability, and its ability to be maintained as a sum of integrated parts, as contrasted to the top-down maintenance of monolithic architectures. -FaaS are functional ad-hoc processing elements as a composable component building block, and are part of a model called [serverless computing](/docs/guides/what-is-serverless-computing/). Rather than bearing the costs of having instances ready to handle processing 24/7, FaaS are built once, then used only when needed, as triggered by an event. A FaaS is dormant and stateless, consuming no resources (such as CPU or disk storage). Because they don't exist (until called for), these functions are not-billed-for until they're used, and billed only until their process terminates. This saves money, and allows applications to be rapidly composed, executed, and become dormant (and not billed). +FaaS are functional ad-hoc processing elements as a composable component building block, and are part of a model called [serverless computing](/cloud/guides/what-is-serverless-computing/). Rather than bearing the costs of having instances ready to handle processing 24/7, FaaS are built once, then used only when needed, as triggered by an event. A FaaS is dormant and stateless, consuming no resources (such as CPU or disk storage). Because they don't exist (until called for), these functions are not-billed-for until they're used, and billed only until their process terminates. This saves money, and allows applications to be rapidly composed, executed, and become dormant (and not billed). FaaS are constantly available, called when needed, and are then terminated/destroyed. Whether publicly available, or functions you've uploaded, FaaS don't exist until your framework calls them. Ultimately, FaaS are an ephemeral tool in the serverless architecture. @@ -73,7 +73,7 @@ To summarize the FaaS advantages: - No dedicated resources are required to meet high demand. FaaS instances are stacked and scale linearly. - Security steps, such as multiple varying types of authentication, can be managed from multiple sources, concurrently, by using different FaaS for each family of authentication methodology. - High availability is achievable. Use multiple cloud providers for redundancy. -- FaaS is part of the DevOps culture. Changing the function lends itself to the modular, [continuous delivery](/docs/guides/introduction-ci-cd/) philosophies. +- FaaS is part of the DevOps culture. Changing the function lends itself to the modular, [continuous delivery](/cloud/guides/introduction-ci-cd/) philosophies. - Better support for different regions and language handling. Use one FaaS for an EU audience and another for North America, for instance. - You can choose any language, any framework, any cloud vendor. diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md index 088831c0121..730a5f06907 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-linux-administration/index.md @@ -9,7 +9,7 @@ keywords: ["linux", "sysadmin", "administration"] tags: ["linux"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Linux System Administration Basics](/docs/guides/linux-system-administration-basics/)' + - '[Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/)' - '[Linode API Documentation](https://techdocs.akamai.com/linode-api/reference/api)' aliases: ['/quick-answers/linux-essentials/introduction-to-linux-administration/'] --- @@ -24,25 +24,25 @@ You will have to choose the best region, plan size, type, and Linux distribution If you will be the only one working on your project, a single standard user account with `sudo` access should be all you need. However, if you have multiple users, you must create accounts for each of them and make sure they have the correct permissions. Every directory and file in a Linux system has permissions setting specifying who can read, write, or execute the file. -Limited user accounts can only write to files in their home directories by default (located at `/home/username` for each user). In a common use case like hosting a website, the files for the website are often kept in `/var/www/html` or a similar directory. You can create a `web` group for editing the website and give that group access to the website files. Then you can add the user accounts for each collaborator to the `web` group. For more information, see our [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide. +Limited user accounts can only write to files in their home directories by default (located at `/home/username` for each user). In a common use case like hosting a website, the files for the website are often kept in `/var/www/html` or a similar directory. You can create a `web` group for editing the website and give that group access to the website files. Then you can add the user accounts for each collaborator to the `web` group. For more information, see our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. ## Backups -Making sure that all important data is backed up is one of a system administrator's most important tasks. Our [Introduction to Backups](/docs/guides/introduction-to-backups/) guide explains how to find the best backup solution for your needs. +Making sure that all important data is backed up is one of a system administrator's most important tasks. Our [Introduction to Backups](/cloud/guides/introduction-to-backups/) guide explains how to find the best backup solution for your needs. ## Monitoring and Diagnostic Tools -The dashboard in the Linode Manager provides basic information about your Linode's status, CPU and memory usage, and network traffic. Linode also offers the [Longview](/docs/products/tools/longview/get-started/) service, which provides much more detailed insight into your Linode. Sometimes, however, issues will occur on your system and you will have to investigate to determine their cause. +The dashboard in the Linode Manager provides basic information about your Linode's status, CPU and memory usage, and network traffic. Linode also offers the [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service, which provides much more detailed insight into your Linode. Sometimes, however, issues will occur on your system and you will have to investigate to determine their cause. -Simple tools like `ping` and [MTR](/docs/guides/diagnosing-network-issues-with-mtr/), which are available on most Linux distributions, are helpful in diagnosing network issues. There are also [shell commands](/docs/guides/linux-system-administration-basics/#system-diagnostics) used for checking memory usage, disk allocation, and running processes. +Simple tools like `ping` and [MTR](/cloud/guides/diagnosing-network-issues-with-mtr/), which are available on most Linux distributions, are helpful in diagnosing network issues. There are also [shell commands](/cloud/guides/linux-system-administration-basics/#system-diagnostics) used for checking memory usage, disk allocation, and running processes. -Larger projects can benefit from more advanced monitoring tools, such as the [Elastic Stack](/docs/guides/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/). The Elastic Stack provides dozens of services and plugins that can be used to record, index, and search different types of data, from webserver logs to geolocation data. +Larger projects can benefit from more advanced monitoring tools, such as the [Elastic Stack](/cloud/guides/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/). The Elastic Stack provides dozens of services and plugins that can be used to record, index, and search different types of data, from webserver logs to geolocation data. ### Log Management Linux systems and applications maintain a number of logs, usually stored in `/var/log/`. Reviewing these logs with commands like `sudo tail -f /var/log/auth.log` is good first step to take when troubleshooting a problem. -Over time, or with more complicated applications, log files can become difficult to keep track of. In this case it is a good idea to install [logrotate](/docs/guides/use-logrotate-to-manage-log-files/) to manage your log files. +Over time, or with more complicated applications, log files can become difficult to keep track of. In this case it is a good idea to install [logrotate](/cloud/guides/use-logrotate-to-manage-log-files/) to manage your log files. ## Containers and Orchestration @@ -50,20 +50,20 @@ It has become increasingly common practice to encapsulate components of an appli ### Docker -Docker is the most commonly used container platform. [Docker Hub](https://hub.docker.com) is a public repository of thousands of images that can be used to easily build containers to run common applications, and [Docker Compose](/docs/guides/how-to-use-docker-compose/) is a tool for running multi-container applications. +Docker is the most commonly used container platform. [Docker Hub](https://hub.docker.com) is a public repository of thousands of images that can be used to easily build containers to run common applications, and [Docker Compose](/cloud/guides/how-to-use-docker-compose/) is a tool for running multi-container applications. -Read our guide on [When and Why to Use Docker](/docs/guides/when-and-why-to-use-docker/) to see if docker is a good choice for your project. To install and start working with Docker, use our [Install Docker](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide. +Read our guide on [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/) to see if docker is a good choice for your project. To install and start working with Docker, use our [Install Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/) guide. ### Orchestration Tools -For larger-scale projects, orchestration tools can be very helpful. These tools allow you to manage clusters of Linodes, including giving you the ability to quickly scale or perform rolling upgrades. If your application's audience is growing rapidly, having to manually create new Linodes, deploy your application to them, then connect each new Linode to your existing cluster is time consuming and error-prone. Similarly, making sure that a large fleet of Linodes is running the most up-to-date system packages and software versions can cause a lot of difficulty. With tools like [Kubernetes](https://kubernetes.io/), [Salt](/docs/guides/getting-started-with-salt-basic-installation-and-setup/), and [Terraform](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/), building out and managing your infrastructure becomes much easier. +For larger-scale projects, orchestration tools can be very helpful. These tools allow you to manage clusters of Linodes, including giving you the ability to quickly scale or perform rolling upgrades. If your application's audience is growing rapidly, having to manually create new Linodes, deploy your application to them, then connect each new Linode to your existing cluster is time consuming and error-prone. Similarly, making sure that a large fleet of Linodes is running the most up-to-date system packages and software versions can cause a lot of difficulty. With tools like [Kubernetes](https://kubernetes.io/), [Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/), and [Terraform](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/), building out and managing your infrastructure becomes much easier. ## Advanced Topics ### Load Balancing -In a larger application with many users, it often becomes important to distribute the requests received across multiple web servers. Typically, a single server, known as a *load balancer*, will listen for requests on your IP address or domain name. The balancer then forwards the requests to backend servers. Linode includes a [NodeBalancer](/docs/products/networking/nodebalancers/get-started/) service that will automatically balance load between attached backend nodes, and also includes monitoring and other features. If you would prefer to configure your own load balancers, start with our [HAProxy](/docs/guides/how-to-use-haproxy-for-load-balancing/) guide. +In a larger application with many users, it often becomes important to distribute the requests received across multiple web servers. Typically, a single server, known as a *load balancer*, will listen for requests on your IP address or domain name. The balancer then forwards the requests to backend servers. Linode includes a [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) service that will automatically balance load between attached backend nodes, and also includes monitoring and other features. If you would prefer to configure your own load balancers, start with our [HAProxy](/cloud/guides/how-to-use-haproxy-for-load-balancing/) guide. ### Set Up an Email Server -With a Linode and a fully-qualified domain name (FQDN), you can set up a private email server with @your-domain.com addresses. Email server configuration can be quite complex, but fortunately there are free third-party solutions that can simplify the process. Start with our [Running a Mail Server](/docs/guides/running-a-mail-server/) guide, or consider [Mail-in-a-Box](/docs/guides/mail-in-a-box-email-server/) for an all-in-one solution. +With a Linode and a fully-qualified domain name (FQDN), you can set up a private email server with @your-domain.com addresses. Email server configuration can be quite complex, but fortunately there are free third-party solutions that can simplify the process. Start with our [Running a Mail Server](/cloud/guides/running-a-mail-server/) guide, or consider [Mail-in-a-Box](/cloud/guides/mail-in-a-box-email-server/) for an all-in-one solution. diff --git a/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md b/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md index c3c4cc29b21..00f6aaf1b60 100644 --- a/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md +++ b/docs/guides/quick-answers/linux-essentials/introduction-to-systemctl/index.md @@ -20,7 +20,7 @@ aliases: ['/quick-answers/linux-essentials/introduction-to-systemctl/'] `systemctl` is a controlling interface and inspection tool for the widely-adopted init system and service manager systemd. This guide will cover how to use `systemctl` to manage systemd services, work with systemd Targets and extract meaningful information about your system's overall state. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Managing Services diff --git a/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md b/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md index dd4e294a824..e4a375d95c3 100644 --- a/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md +++ b/docs/guides/quick-answers/linux-essentials/multi-cloud-vs-hybrid-cloud/index.md @@ -85,6 +85,6 @@ You can boil this decision down by answering a simple question. Decide whether c The type of cloud strategy that you use is a decision to make upfront. It's important to understand that you can, at any time, switch routes. If you already have a multicloud environment, you can layer on a private cloud and turn the multi to a hybrid cloud deployment. Cloud host providers like Linode make adopting either as simple as signing up for your account, deploying your services, and then bridging those together with your other cloud deployments. -There's plenty of [documentation](/docs/) to help you make this a reality. +There's plenty of [documentation](/cloud/) to help you make this a reality. If you find the multicloud costs too much, or that it does not give you the control or security your company demands, you're just a private cloud deployment away from solving that problem. diff --git a/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md b/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md index 773e945fec9..6c56bec09d4 100644 --- a/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md +++ b/docs/guides/quick-answers/linux-essentials/what-is-linux/index.md @@ -98,8 +98,8 @@ For a comprehensive list of available package managers, visit [Wikipedia](https: There are many avenues to explore when first using Linux. Our Guides & Tutorials provide a great starting point for learning more: -- The [Introduction to Linux Concepts](/docs/guides/introduction-to-linux-concepts/) guide will give you a more detailed and technical orientation on Linux and ways to start using it with a Linode. +- The [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts/) guide will give you a more detailed and technical orientation on Linux and ways to start using it with a Linode. -- Once you’re familiar with Linux and the Command Line, you can learn basic [Linux System Administration](/docs/guides/linux-system-administration-basics/). +- Once you’re familiar with Linux and the Command Line, you can learn basic [Linux System Administration](/cloud/guides/linux-system-administration-basics/). -- If you’re interested in getting started with development, the [Why use Linux for Development?](/docs/guides/why-use-linux-for-development/) guide will give you a useful primer for making a choice about a development system. +- If you’re interested in getting started with development, the [Why use Linux for Development?](/cloud/guides/why-use-linux-for-development/) guide will give you a useful primer for making a choice about a development system. diff --git a/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md b/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md index c78ea7d72a3..4b7737c9e65 100644 --- a/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md +++ b/docs/guides/quick-answers/linux-essentials/what-is-serverless-computing/index.md @@ -14,7 +14,7 @@ Serverless computing is a type of application deployment architecture that allow Serverless applications are often referred to as *functions*. That is because the applications are very often simple applets that do one thing, a single function. They are not comprised of complex functions like server-side applications. -In many ways, serverless computing (often shortened to just *serverless*) is a natural evolution of [Platform-as-a-Service (PaaS)](/docs/guides/what-is-cloud-computing/#cloud-computing-models). Whereas Infrastructure-as-a-Service (IaaS) is the basic cloud service that offers storage, networking, and virtualization, PaaS is an operating system plus a development tool environment for building applications. All back-end operations are handled by the cloud provider so the developer only has to worry about their application. To learn more about IaaS and Paas, you can view our guide [What is Cloud Computing?](https://www.linode.com/what-is-cloud-computing/) or our [Glossary of Cloud Computing Terms](https://www.linode.com/cloud-computing-terms/). +In many ways, serverless computing (often shortened to just *serverless*) is a natural evolution of [Platform-as-a-Service (PaaS)](/cloud/guides/what-is-cloud-computing/#cloud-computing-models). Whereas Infrastructure-as-a-Service (IaaS) is the basic cloud service that offers storage, networking, and virtualization, PaaS is an operating system plus a development tool environment for building applications. All back-end operations are handled by the cloud provider so the developer only has to worry about their application. To learn more about IaaS and Paas, you can view our guide [What is Cloud Computing?](https://www.linode.com/what-is-cloud-computing/) or our [Glossary of Cloud Computing Terms](https://www.linode.com/cloud-computing-terms/). Serverless is similar to PaaS. It offers a fully-managed platform that frees developers from the need to maintain a server and to deal with system resources. This means the application is no longer tied to a specific server; the software runs on whatever server is available. diff --git a/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md b/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md index 9de1af3eaf9..a0e9acc4b24 100644 --- a/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md +++ b/docs/guides/quick-answers/linux-essentials/what-is-systemd/index.md @@ -20,7 +20,7 @@ systemd is a Linux initialization system and service manager that includes featu systemd is the default init system for the major Linux distributions but is backwards compatible with SysV init scripts. SysVinit is an initialization system which predates systemd and uses a simplified approach to service startup. systemd not only manages system initialization, but also provides alternatives for other well known utilities, like cron and syslog. Because systemd does several things within the Linux user space, many have criticized it for violating [the Unix philosophy](https://en.wikipedia.org/wiki/Unix_philosophy), which emphasizes simplicity and modularity. -This guide provides an introduction to systemd by taking a closer look at systemd units. The [Mount Units](/docs/guides/what-is-systemd/#mount-units) section will analyze a unit file that is shipped by default with systemd on an Ubuntu 18.04 system, while the [Timer Units](/docs/guides/what-is-systemd/#timer-units) section will create a custom unit file on the same system. +This guide provides an introduction to systemd by taking a closer look at systemd units. The [Mount Units](/cloud/guides/what-is-systemd/#mount-units) section will analyze a unit file that is shipped by default with systemd on an Ubuntu 18.04 system, while the [Timer Units](/cloud/guides/what-is-systemd/#timer-units) section will create a custom unit file on the same system. {{< note >}} All examples in this guide were created with a Linode running Ubuntu 18.04. @@ -158,11 +158,11 @@ A mount unit file must contain a `[Mount]` section. The example mount unit file The official systemd manual notes that configuring mount points through `/etc/fstab` is the recommended approach. systemd has a `system-fstab-generator` that translates the information in the fstab file into systemd mount and swap units at runtime. {{< /note >}} -There are many other unit file types available in systemd. Read the [Use systemd to Start a Linux Service at Boot](/docs/guides/start-service-at-boot/) guide to become more familiar with the service unit type. +There are many other unit file types available in systemd. Read the [Use systemd to Start a Linux Service at Boot](/cloud/guides/start-service-at-boot/) guide to become more familiar with the service unit type. ### Timer Units -You can use systemd timer unit files to automate tasks, similarly to how [cron jobs](/docs/guides/schedule-tasks-with-cron/) are used. However, with timer units you will also have access to systemd's powerful logging capabilities. +You can use systemd timer unit files to automate tasks, similarly to how [cron jobs](/cloud/guides/schedule-tasks-with-cron/) are used. However, with timer units you will also have access to systemd's powerful logging capabilities. To better understand systemd timer units, this section will outline how a timer unit can be used to create periodic backups for a mysql database. @@ -241,8 +241,8 @@ When you start the timer unit, systemd will start it right away. To do this, iss systemd makes common system administration tasks easier to manage with its `systemctl` and `journalctl` commands. `systemctl` can be used to gather detailed information about the overall state of your server and any individual unit type. It can stop and start the server and modify the system state. In the Timer Unit Files section `systemctl` is used to enable and start an individual timer unit. systemd can be used in a similar way for any unit. -Read our *[Introduction to systemctl](/docs/guides/introduction-to-systemctl/)* guide for a deeper dive into this systemd tool. +Read our *[Introduction to systemctl](/cloud/guides/introduction-to-systemctl/)* guide for a deeper dive into this systemd tool. systemd's `journalctl` tool provides a centralized process and system logging tool. This command allows you to query the systemd journal, which creates and maintains indexed journals from logging information that is pooled from different areas within the system; areas like standard output and standard error of service units, log messages via syslog, and kernel log messages. In this way, system administrators can use a single tool to monitor and debug a server. -To learn some commonly used `journalctl` commands, see our guide *[Use journalctl to View Your System's Logs](/docs/guides/how-to-use-journalctl/)*. +To learn some commonly used `journalctl` commands, see our guide *[Use journalctl to View Your System's Logs](/cloud/guides/how-to-use-journalctl/)*. diff --git a/docs/guides/quick-answers/linux-essentials/why-use-linux-for-development/index.md b/docs/guides/quick-answers/linux-essentials/why-use-linux-for-development/index.md index f9c5843946d..3cd1855bf7a 100644 --- a/docs/guides/quick-answers/linux-essentials/why-use-linux-for-development/index.md +++ b/docs/guides/quick-answers/linux-essentials/why-use-linux-for-development/index.md @@ -49,4 +49,4 @@ There are a number of ways to adopt Linux as your development OS. It’s not nec - Purchase a [Raspberry Pi](https://www.raspberrypi.org/). Raspberry Pis are small, affordable computers which are an easy introduction to Linux. There is an active Raspberry Pi community, and many [example projects](https://projects.raspberrypi.org/en/) to learn from and follow. -- [Create a Linode](/docs/products/platform/get-started/) and work with the Linux command line remotely. The Linode platform offers a fast and cost-effective way to create Linux servers. You can easily create a Linode, test something out, then restart with a fresh Linode to try something else out. +- [Create a Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and work with the Linux command line remotely. The Linode platform offers a fast and cost-effective way to create Linux servers. You can easily create a Linode, test something out, then restart with a fresh Linode to try something else out. diff --git a/docs/guides/quick-answers/linux/benefits-of-linux/index.md b/docs/guides/quick-answers/linux/benefits-of-linux/index.md index 327fb7c8ebf..117386c3255 100644 --- a/docs/guides/quick-answers/linux/benefits-of-linux/index.md +++ b/docs/guides/quick-answers/linux/benefits-of-linux/index.md @@ -44,7 +44,7 @@ One of the pros of Linux is that the Linux kernel is free and it comes under the ### Fantastic Terminal Support -You don’t need to install special software to contact the backend servers for your project using add-on software with Linux. All you need is the Secure Shell (SSH) utility to access the server securely. In addition, you have access to editors like [Emacs](/docs/guides/emacs-evil-mode/), [Nano](/docs/guides/use-nano-text-editor-commands/), and [Vim](/docs/guides/introduction-to-vim-customization/) that allow you to update config files or hosted Python scripts on the fly. These advantages of using Linux mean that developers spend more time writing and testing code than figuring out some arcane process to complete tasks. +You don’t need to install special software to contact the backend servers for your project using add-on software with Linux. All you need is the Secure Shell (SSH) utility to access the server securely. In addition, you have access to editors like [Emacs](/cloud/guides/emacs-evil-mode/), [Nano](/cloud/guides/use-nano-text-editor-commands/), and [Vim](/cloud/guides/introduction-to-vim-customization/) that allow you to update config files or hosted Python scripts on the fly. These advantages of using Linux mean that developers spend more time writing and testing code than figuring out some arcane process to complete tasks. ### Amazing Driver Support diff --git a/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md b/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md index 16fd0e0df5f..9c0c498b6f3 100644 --- a/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md +++ b/docs/guides/quick-answers/linux/delete-file-linux-command-line/index.md @@ -95,7 +95,7 @@ Add the `f` flag to a recursive `rm` command to skip all confirmation prompts: ### Remove Old Files Using find and rm -Combine the [find command](/docs/guides/find-files-in-linux-using-the-command-line/)'s `-exec` option with `rm` to find and remove all files older than 28 days old. The files that match are printed on the screen (`-print`): +Combine the [find command](/cloud/guides/find-files-in-linux-using-the-command-line/)'s `-exec` option with `rm` to find and remove all files older than 28 days old. The files that match are printed on the screen (`-print`): find filename* -type f -mtime +28 -exec rm '{}' ';' -print diff --git a/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md b/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md index bce9b01d5a4..b16e77e7e9e 100644 --- a/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md +++ b/docs/guides/quick-answers/linux/drupal-with-docker-compose/index.md @@ -139,4 +139,4 @@ The `docker-compose.yml` specifies the `latest` version of the Drupal image, so ## Next Steps -More extensive documentation on Docker is available in the [Containers](/docs/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/applications/containers/) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md b/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md index 80534729842..5a3b16b1389 100644 --- a/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md +++ b/docs/guides/quick-answers/linux/find-and-terminate-processes-from-the-linux-or-macos-command-line/index.md @@ -42,6 +42,6 @@ There may be cases where there are multiple instances of the same program runnin killall [process name] -For a more information on `kill` and `killall`, see our guide on how to [Use Killall and Kill Commands to Stop Processes on Linux](/docs/guides/use-killall-and-kill-to-stop-processes-on-linux/). +For a more information on `kill` and `killall`, see our guide on how to [Use Killall and Kill Commands to Stop Processes on Linux](/cloud/guides/use-killall-and-kill-to-stop-processes-on-linux/). diff --git a/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md b/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md index bb6e34d0eb2..b64317071c3 100644 --- a/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md +++ b/docs/guides/quick-answers/linux/how-to-add-directory-to-path/index.md @@ -21,9 +21,9 @@ These are the problems the `PATH` variable is designed to solve. In this tutoria ## 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 @@ These are the problems the `PATH` variable is designed to solve. In this tutoria sudo dnf upgrade -1. You may want to take a refresher on environmental variables. You can get everything you need to know from our guide [How to Set and Use Linux Environmental Variables](/docs/guides/how-to-set-linux-environment-variables/). +1. You may want to take a refresher on environmental variables. You can get everything you need to know from our guide [How to Set and Use Linux Environmental Variables](/cloud/guides/how-to-set-linux-environment-variables/). {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 PATH Variable? diff --git a/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md b/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md index 560268cb5a0..deffc7bda5d 100644 --- a/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md +++ b/docs/guides/quick-answers/linux/how-to-add-linux-alias-command-in-bashrc-file/index.md @@ -24,7 +24,7 @@ This guide covers two ways to alias commands: There are two ways to create aliases for your use, temporary and permanent. Temporary aliases are only available to use until you close your current terminal session. Permanent aliases are saved to the shell configuration file and are available for every new session you create. -Again, temporary aliases are only good for the current terminal session. Once you close that session, they are no longer available. To make them permanent, you can save your aliases in the shell configuration file. You can read more about temporary aliases in our general guide on aliases, [How to Use the Linux alias Command](/docs/guides/how-to-use-the-linux-alias-command/). +Again, temporary aliases are only good for the current terminal session. Once you close that session, they are no longer available. To make them permanent, you can save your aliases in the shell configuration file. You can read more about temporary aliases in our general guide on aliases, [How to Use the Linux alias Command](/cloud/guides/how-to-use-the-linux-alias-command/). In the Bash shell, you can save aliases directly in a configuration file. There are several files you can save aliases to: @@ -150,4 +150,4 @@ Then run the function with the following syntax: You are changed into that directory and get a directory listing with common options with a single command. -These are a simplistic examples meant to illustrate what you can achieve with aliasing. Bash functions are powerful and allow you to do much more complex operations. For more on Bash shell scripting, see the guide series starting with [Introduction to Bash Shell Scripting](/docs/guides/intro-bash-shell-scripting/). +These are a simplistic examples meant to illustrate what you can achieve with aliasing. Bash functions are powerful and allow you to do much more complex operations. For more on Bash shell scripting, see the guide series starting with [Introduction to Bash Shell Scripting](/cloud/guides/intro-bash-shell-scripting/). diff --git a/docs/guides/quick-answers/linux/how-to-change-selinux-modes/index.md b/docs/guides/quick-answers/linux/how-to-change-selinux-modes/index.md index 32a03046dd4..65a84cecde6 100644 --- a/docs/guides/quick-answers/linux/how-to-change-selinux-modes/index.md +++ b/docs/guides/quick-answers/linux/how-to-change-selinux-modes/index.md @@ -21,7 +21,7 @@ external_resources: Ideally, you want to keep SELinux in enforcing mode, but there may be times when you need to set it to permissive mode, or disable it altogether. Note that the *disabled* state means the daemon is still running and is still enforcing rules for [discretionary access control](https://en.wikipedia.org/wiki/Discretionary_access_control), however no MAC security policies are being used, and no violations are being logged. {{< note >}} -To use SELinux on CentOS or Fedora, you must use the distribution-supplied *upstream* kernel (as opposed to the Linode-supplied kernel, which does not support SELinux). All recently created Linodes run an upstream kernel by default. Review the [How to Change your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) guide for more information on upstream kernels, the Linode kernel, and how to switch between them. +To use SELinux on CentOS or Fedora, you must use the distribution-supplied *upstream* kernel (as opposed to the Linode-supplied kernel, which does not support SELinux). All recently created Linodes run an upstream kernel by default. Review the [How to Change your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) guide for more information on upstream kernels, the Linode kernel, and how to switch between them. {{< /note >}} 1. View the current enforcement mode of SELinux on your system using `sestatus`. You can see below that SELinux is set to permissive mode. diff --git a/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md b/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md index 24d164056b0..0404c917dfe 100644 --- a/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md +++ b/docs/guides/quick-answers/linux/how-to-install-selinux-on-debian-10/index.md @@ -23,9 +23,9 @@ Ubuntu has a Mandatory Access Control (MAC) system similar to [SELinux](https:// ## 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. +1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Update your system: @@ -33,7 +33,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt update {{< note respectIndent=false >}} -The Linode kernel does not support SELinux by default. If your system is running a Linode kernel, you will need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) for more steps. Once you're kernel is set to the upstream kernel, continue on with the steps in this guide. +The Linode kernel does not support SELinux by default. If your system is running a Linode kernel, you will need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) for more steps. Once you're kernel is set to the upstream kernel, continue on with the steps in this guide. {{< /note >}} ### Remove AppArmor @@ -148,4 +148,4 @@ If you do not see the this entry, open the port with the following command: {{< /note >}} ## Next Steps -After installing SELinux on your system, use our [Getting Started with SELinux Guide](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/) to learn the basics of SELinux security. +After installing SELinux on your system, use our [Getting Started with SELinux Guide](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) to learn the basics of SELinux security. diff --git a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md index dcf40da6ec9..0e6bd66c99c 100644 --- a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md +++ b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-18-04/index.md @@ -23,9 +23,9 @@ Ubuntu has a Mandatory Access Control (MAC) system similar to [SELinux](https:// ## 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. +1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check the [Users and Groups](/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 the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} 1. Update the system: @@ -33,9 +33,9 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt update {{< note respectIndent=false >}} -The Linode kernel does not support SELinux by default. If the system is running a Linode kernel, you need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) for more steps. Once the kernel is set to the upstream kernel, continue with the steps in this guide. +The Linode kernel does not support SELinux by default. If the system is running a Linode kernel, you need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) for more steps. Once the kernel is set to the upstream kernel, continue with the steps in this guide. {{< /note >}} -1. Install [MySQL/MariaDB on Ubuntu](/docs/guides/install-mysql-on-ubuntu-14-04) +1. Install [MySQL/MariaDB on Ubuntu](/cloud/guides/install-mysql-on-ubuntu-14-04) ### Remove AppArmor @@ -276,4 +276,4 @@ If you wish to permanently disable SELinux even when the system reboots, make ch And, now if you restart the system, SELinux and its policies won’t be in place anymore. ## Next Steps -After installing SELinux on the system, use the [Getting Started with SELinux Guide](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/) to learn the basics of SELinux security. +After installing SELinux on the system, use the [Getting Started with SELinux Guide](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) to learn the basics of SELinux security. diff --git a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md index 174d810f63d..d9b34ae50a9 100644 --- a/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md +++ b/docs/guides/quick-answers/linux/how-to-install-selinux-on-ubuntu-22-04/index.md @@ -20,12 +20,12 @@ According to [the official Security Enhanced Linux project page](http://www.seli ## 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. -2. 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. +2. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 >}} ## SELinux Installation @@ -131,7 +131,7 @@ The presence of `/etc/selinux/config` is a sign that the host is ready for confi ## SELinux Management -[SELinux has several options](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/) beyond the scope of this guide. Configuration is commonly achieved through configuration files rather than graphical user interface (GUI) or command line applications. +[SELinux has several options](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) beyond the scope of this guide. Configuration is commonly achieved through configuration files rather than graphical user interface (GUI) or command line applications. ### Enabling SELinux diff --git a/docs/guides/quick-answers/linux/how-to-use-fsck-qa/index.md b/docs/guides/quick-answers/linux/how-to-use-fsck-qa/index.md index bacb5ef7e89..15e3378c21b 100644 --- a/docs/guides/quick-answers/linux/how-to-use-fsck-qa/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-fsck-qa/index.md @@ -24,7 +24,7 @@ On some systems, fsck runs automatically after an unclean shutdown or after a ce Use fsck to check your file system if your system fails to boot, if files on a specific disk become corrupt, or if an attached drive does not act as expected. {{< note >}} -To run this utility you will want to boot into rescue mode. Please see our [Troubleshooting Guide: Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) for guidance. +To run this utility you will want to boot into rescue mode. Please see our [Troubleshooting Guide: Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) for guidance. {{< /note >}} ### Verify Disks are Unmounted diff --git a/docs/guides/quick-answers/linux/how-to-use-fsck-to-fix-disk-problems/index.md b/docs/guides/quick-answers/linux/how-to-use-fsck-to-fix-disk-problems/index.md index badc726a1cd..a2e7f08cd77 100644 --- a/docs/guides/quick-answers/linux/how-to-use-fsck-to-fix-disk-problems/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-fsck-to-fix-disk-problems/index.md @@ -27,7 +27,7 @@ fsck, short for file system consistency check, is a utility that examines the fi On some systems, fsck runs automatically after an unclean shutdown or after a certain number of reboots. {{< note >}} -`fsck` is not installed by default when using Linode's rescue mode, and instead the `e2fsck` tool, which fsck functions as a frontend for, will need to be called directly for standard `ext` filesystems. Please see our [Troubleshooting Guide: Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) for guidance. +`fsck` is not installed by default when using Linode's rescue mode, and instead the `e2fsck` tool, which fsck functions as a frontend for, will need to be called directly for standard `ext` filesystems. Please see our [Troubleshooting Guide: Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) for guidance. {{< /note >}} ## When to Use fsck @@ -58,7 +58,7 @@ Unmount the target disk first. You risk corrupting your file system and losing d ### Boot into Rescue Mode -If you are using fsck on a Linode, the easiest and safest way to unmount your disk is to use Rescue Mode. Visit our [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) guide for instructions on how to boot your Linode into Rescue Mode. If you're working on a local machine, consider using the distribution's recovery mode or a live distribution to avoid working on a mounted disk. fsck should be run only as a user with root permissions. +If you are using fsck on a Linode, the easiest and safest way to unmount your disk is to use Rescue Mode. Visit our [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide for instructions on how to boot your Linode into Rescue Mode. If you're working on a local machine, consider using the distribution's recovery mode or a live distribution to avoid working on a mounted disk. fsck should be run only as a user with root permissions. ### View Mounted Disks and Verify Disk Location @@ -74,7 +74,7 @@ If you are using fsck on a Linode, the easiest and safest way to unmount your di ### Configuration Profile -If you are working on a Linode but do not wish to use Rescue Mode, shut down the Linode from the Linode Manager. Unmount the disk from the [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/). Apply the changes and reboot the Linode. +If you are working on a Linode but do not wish to use Rescue Mode, shut down the Linode from the Linode Manager. Unmount the disk from the [Configuration Profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance). Apply the changes and reboot the Linode. ### Manual Unmount diff --git a/docs/guides/quick-answers/linux/how-to-use-git/index.md b/docs/guides/quick-answers/linux/how-to-use-git/index.md index 651b0df4aeb..c5f7938bd31 100644 --- a/docs/guides/quick-answers/linux/how-to-use-git/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-git/index.md @@ -16,7 +16,7 @@ external_resources: - '[Github Guides](https://guides.github.com/)' --- -Git is a [version control system](https://en.wikipedia.org/wiki/Version_control) that can be used to manage software projects. This guide's six steps will show you how to initialize a Git repository, stage files for a commit, and commit these files to a local Git repository. For fuller instruction, refer to our more robust guide on [Git Source Control Management](/docs/guides/how-to-install-git-on-linux-mac-and-windows/). +Git is a [version control system](https://en.wikipedia.org/wiki/Version_control) that can be used to manage software projects. This guide's six steps will show you how to initialize a Git repository, stage files for a commit, and commit these files to a local Git repository. For fuller instruction, refer to our more robust guide on [Git Source Control Management](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/). 1. Create a folder in which to store your files, then initialize a Git repository in that folder: diff --git a/docs/guides/quick-answers/linux/how-to-use-grep/index.md b/docs/guides/quick-answers/linux/how-to-use-grep/index.md index 20c058aebbe..b6a3f8b5fb3 100644 --- a/docs/guides/quick-answers/linux/how-to-use-grep/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-grep/index.md @@ -32,4 +32,4 @@ In this guide, you'll learn how to use the `grep` command. When performing admin This example will search the `/etc/ssh/sshd_config` file for strings of alphabetic characters that are 16-20 characters long, but you can use any regex pattern you like. -These are simply a few basic ways to use `grep`. Many other options exist, and in combination with other tools, it serves as an invaluable utility for performing administrative tasks on your Linode. For more information on some of `grep`'s advanced features, check out our guide on how to [search and filter text with grep](/docs/guides/how-to-use-grep-command/). +These are simply a few basic ways to use `grep`. Many other options exist, and in combination with other tools, it serves as an invaluable utility for performing administrative tasks on your Linode. For more information on some of `grep`'s advanced features, check out our guide on how to [search and filter text with grep](/cloud/guides/how-to-use-grep-command/). diff --git a/docs/guides/quick-answers/linux/how-to-use-head/index.md b/docs/guides/quick-answers/linux/how-to-use-head/index.md index 32da1dcf83a..48c3d43773e 100644 --- a/docs/guides/quick-answers/linux/how-to-use-head/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-head/index.md @@ -40,4 +40,4 @@ In this guide, you'll learn how to use the `head` command. Using `head` is a sim This command would search the first ten lines of your access log and only display those that contain the IP address `198.51.100.1`. You can also apply options to `head` for an even more specific output. -These are just the basics of how to use `head`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the head command](/docs/guides/view-the-beginning-of-text-files-with-head/). +These are just the basics of how to use `head`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the head command](/cloud/guides/view-the-beginning-of-text-files-with-head/). diff --git a/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md b/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md index 7a855c82d53..2f340cd8857 100644 --- a/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-journalctl/index.md @@ -31,7 +31,7 @@ If you do not see output, try running it with `sudo`: sudo journalctl -If your Linux user does not have sudo privileges, [add your user to the sudo group](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account). +If your Linux user does not have sudo privileges, [add your user to the sudo group](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). ### Default Log Format and Ordering @@ -47,7 +47,7 @@ Your logs will be displayed from oldest to newest. To reverse this order and dis ### Paging through Your Logs -journalctl pipes its output to [the `less` command](/docs/guides/how-to-use-less/), which shows your logs one page at a time in your terminal. If a log line exceeds the horizontal width of your terminal window, you can use the left and right arrow keys to scroll horizontally and see the rest of the line: +journalctl pipes its output to [the `less` command](/cloud/guides/how-to-use-less/), which shows your logs one page at a time in your terminal. If a log line exceeds the horizontal width of your terminal window, you can use the left and right arrow keys to scroll horizontally and see the rest of the line: Furthermore, your logs can be navigated and searched by using all the same key commands available in `less`: diff --git a/docs/guides/quick-answers/linux/how-to-use-tail/index.md b/docs/guides/quick-answers/linux/how-to-use-tail/index.md index 630f2e951e4..cf72a315ecb 100644 --- a/docs/guides/quick-answers/linux/how-to-use-tail/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-tail/index.md @@ -40,4 +40,4 @@ In this guide, you'll learn how to use the `tail` command. Using `tail` is a sim This command would search the last ten lines of your access log and only display those that contain the IP address `198.51.100.1`. You can also apply options to `tail` in order to show more or less lines, view the filtered results in real time, and more. -These are just the basics of how to use `tail`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the tail command](/docs/guides/view-and-follow-the-end-of-text-files-with-tail/). +These are just the basics of how to use `tail`. It is an incredibly useful tool with many more options than we've listed here. To learn more advanced techniques, please check out our full guide on [the tail command](/cloud/guides/view-and-follow-the-end-of-text-files-with-tail/). diff --git a/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md b/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md index c44a9ced9dd..5a4f71529dc 100644 --- a/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md +++ b/docs/guides/quick-answers/linux/how-to-use-the-linux-alias-command/index.md @@ -136,4 +136,4 @@ Here are some helpful `alias` examples that you may wish to save: ## Next Steps -To learn more about saving permanent aliases in Bash configuration files as well as using arguments in aliases utilizing Bash functions, see the guide [How to Add the Linux alias Command in the .bashrc File](/docs/guides/how-to-add-linux-alias-command-in-bashrc-file/). +To learn more about saving permanent aliases in Bash configuration files as well as using arguments in aliases utilizing Bash functions, see the guide [How to Add the Linux alias Command in the .bashrc File](/cloud/guides/how-to-add-linux-alias-command-in-bashrc-file/). diff --git a/docs/guides/quick-answers/linux/linux-command-line-tips/index.md b/docs/guides/quick-answers/linux/linux-command-line-tips/index.md index e97db0a91f2..d87375690f1 100644 --- a/docs/guides/quick-answers/linux/linux-command-line-tips/index.md +++ b/docs/guides/quick-answers/linux/linux-command-line-tips/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' tags: ["linux"] --- -These are just a few of the many commands and tricks available in the Linux terminal. Visit our guide for a deeper [introduction to Linux concepts](/docs/guides/introduction-to-linux-concepts/). +These are just a few of the many commands and tricks available in the Linux terminal. Visit our guide for a deeper [introduction to Linux concepts](/cloud/guides/introduction-to-linux-concepts/). ## Basic Linux Terminal Things to Know diff --git a/docs/guides/quick-answers/linux/linux-mount-command/index.md b/docs/guides/quick-answers/linux/linux-mount-command/index.md index ee0cada9b7c..d194ae7a239 100644 --- a/docs/guides/quick-answers/linux/linux-mount-command/index.md +++ b/docs/guides/quick-answers/linux/linux-mount-command/index.md @@ -31,7 +31,7 @@ mount [-fnrsvw] [-t fstype] [-o options] device mountpoint There are other, less used, combinations that the [mount command supports](https://man7.org/linux/man-pages/man8/mount.8.html). This guide uses the term "operation" to indicate a task that the `mount` command performs and the term "option" to indicate how the `mount` command performs the task. -When looking at the command line syntax, [`-fnrsvw`] represents a list of operations you can perform. However, you can perform only one at a time. Of the options shown, `-f` (fake) allows you to perform a dry run of the operation to ensure it works before you perform the actual operation. The `-t` option (which stands for the type of file system, or how the mount command creates the connection) is discussed in the [A Quick Overview of File Systems](/docs/guides/linux-mount-command/#a-quick-overview-of-file-systems) section. +When looking at the command line syntax, [`-fnrsvw`] represents a list of operations you can perform. However, you can perform only one at a time. Of the options shown, `-f` (fake) allows you to perform a dry run of the operation to ensure it works before you perform the actual operation. The `-t` option (which stands for the type of file system, or how the mount command creates the connection) is discussed in the [A Quick Overview of File Systems](/cloud/guides/linux-mount-command/#a-quick-overview-of-file-systems) section. The `mount` command also comes with a number of options that don’t deal with the file system type. You use the `-o` switch to specify one or more options, with each option comma-separated. Not all options work with all operations, as explained later. The following are the most commonly used options: @@ -83,7 +83,7 @@ umount -h|-V When looking at the command line syntax, [`-dflnrv`] represents a list of operations you can perform. However, you can perform only one at a time. Of the options shown, `-f` (fake) allows you to perform a dry run of the operation to ensure it works before you do it for real. As with the mount command, you can specify a particular file system using the `-t` option. Since the server already knows about the special file system, you use this option less often than when working with the mount command. -The main concern when using `umount` is ensuring the device you want to unmount is in a stable state with no users connected to it. The following is a list of operations you can perform with `umount` and options to modify `umount` behavior. Some of the operations are covered in more detail in the [How to Use the Linux Umount Command](/docs/guides/linux-mount-command/#how-to-use-the-linux-umount-command) section. The operations are case-sensitive so that `-a` is different from `-A`: +The main concern when using `umount` is ensuring the device you want to unmount is in a stable state with no users connected to it. The following is a list of operations you can perform with `umount` and options to modify `umount` behavior. Some of the operations are covered in more detail in the [How to Use the Linux Umount Command](/cloud/guides/linux-mount-command/#how-to-use-the-linux-umount-command) section. The operations are case-sensitive so that `-a` is different from `-A`: - `-a`, `--all`: Unmounts all of the file systems described in the `/proc/self/mountinfo` file except file systems of type `proc`, `devfs`, `devpts`, `sysfs`, `rpc_pipefs`, and `nfsd`. As an alternative, you can use the `-t` option to specify particular file system types. @@ -95,11 +95,11 @@ The main concern when using `umount` is ensuring the device you want to unmount - `--fake`: Performs all the required tasks for an unmount except for the actual unmounting process. This option allows you to see what happens when you run the command without using the `--fake` switch. -- `-f`, `--force`: Forces an unmount to occur. Using this option can cause umount to hang. The [Performing a Forced Unmount](/docs/guides/linux-mount-command/#performing-a-forced-unmount) section covers this operation in more detail. +- `-f`, `--force`: Forces an unmount to occur. Using this option can cause umount to hang. The [Performing a Forced Unmount](/cloud/guides/linux-mount-command/#performing-a-forced-unmount) section covers this operation in more detail. - `-i`, `--internal-only`: Doesn’t call the `umount.` helper code found in the `/sbin` directory, even if it exists. If you perform a directory command on the `/sbin` directory you may see files such as `mount.cifs` and `umount.udisks2` that are helpers. The mount or umount part of the helper filename references the command, while the `cifs` and `udisks2` part of the filename reference the file system. This option can be helpful when an unprivileged help hangs when attempting to unmount a drive. -- `-l`, `--lazy`: Unmounts the file system from the file hierarchy immediately, but cleans up the references later to allow the umount command to return earlier so the system isn't blocked. The[ Performing a Lazy Unmount](/docs/guides/linux-mount-command/#performing-a-lazy-unmount) section provides more details on this operation. +- `-l`, `--lazy`: Unmounts the file system from the file hierarchy immediately, but cleans up the references later to allow the umount command to return earlier so the system isn't blocked. The[ Performing a Lazy Unmount](/cloud/guides/linux-mount-command/#performing-a-lazy-unmount) section provides more details on this operation. - `-N`, `--namespace ns`: Unmounts the [mount namespace](https://man7.org/linux/man-pages/man7/mount_namespaces.7.html) specified by `ns`, where `ns` is either a Process ID (PID) running in the [target namespace](https://www.redhat.com/sysadmin/mount-namespaces), or it’s a special file representing the namespace. The umount command switches to the target namespace to read from `/etc/fstab`, write to `/etc/mtab` or `/run/mount`, or perform the umount system call. Otherwise, it uses the original namespace so that the target namespace doesn’t have to contain any special libraries. diff --git a/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md b/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md index 48c13b2b927..498b00759aa 100644 --- a/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md +++ b/docs/guides/quick-answers/linux/linux-mount-smb-share/index.md @@ -18,11 +18,11 @@ Determining how to share files and directories between computers is a common pro This guide covers the Server Message Block (SMB) protocol. Specifically, it discusses using the SMB protocol to mount a Windows SMB share (a shared directory) to a Linux system. By following this guide, you will be able to access all of your files within a Windows folder (such as `C:\My_Files`) on your Linux system at whichever directory you choose as a mount point (such as `/mnt/my_files`). This method of file sharing is appropriate when you need to access entire Windows directories remotely as if they were local resources. In most cases, SMB is a native (or easily installed) file sharing solution for users that need access to the same directory and is commonly shared through a corporate intranet or the same private network. {{< note >}} -Network File System (NFS) is another distributed file system protocol that's similar to SMB. While SMB is more commonly used in primarily Windows environments and NFS is used in primary Linux environments, both have cross-platform support. This guide does not cover NFS, but you can learn more about it by reading through our [NFS guides](/docs/guides/networking/nfs/). If you are not in a Windows environment and are looking to share directories between Linux systems, consider using NFS. +Network File System (NFS) is another distributed file system protocol that's similar to SMB. While SMB is more commonly used in primarily Windows environments and NFS is used in primary Linux environments, both have cross-platform support. This guide does not cover NFS, but you can learn more about it by reading through our [NFS guides](/cloud/guides/networking/nfs/). If you are not in a Windows environment and are looking to share directories between Linux systems, consider using NFS. {{< /note >}} {{< note type="warning" >}} -While security and performance of the SMB protocol has improved over time, it is often still a concern when connecting to an SMB share over the internet. This is typically not recommended unless you are using [SMB over QUIC](https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-over-quic) (recently introduced on Windows 11 and Windows Server 2022), intend to always use the latest protocol version (3.1.1 as of this writing), or are connected through a personal or corporate VPN. If you are not able to implement these recommendations and still wish to share files over the internet, consider if the [SFTP](/docs/guides/sftp-linux/) protocol would work for you instead. +While security and performance of the SMB protocol has improved over time, it is often still a concern when connecting to an SMB share over the internet. This is typically not recommended unless you are using [SMB over QUIC](https://learn.microsoft.com/en-us/windows-server/storage/file-server/smb-over-quic) (recently introduced on Windows 11 and Windows Server 2022), intend to always use the latest protocol version (3.1.1 as of this writing), or are connected through a personal or corporate VPN. If you are not able to implement these recommendations and still wish to share files over the internet, consider if the [SFTP](/cloud/guides/sftp-linux/) protocol would work for you instead. {{< /note >}} ## Overview of the SMB Protocol @@ -97,8 +97,8 @@ The LinuxCIFS utils package provides the tools needed to connect to a share and All files in Linux are accessible on a single giant hierarchical directory tree, which starts at the root (`/`). The mount command (used in this tutorial) enables you to access other storage devices or file systems from that same tree. These other storage resources do not have to be physical disks and they do not have to be using the same file system. To learn more about the mount command, review the following guides: -- [Quick Guide to the Linux Mount Command](/docs/guides/linux-mount-command/) -- [Mount a File System on Linux](/docs/guides/mount-file-system-on-linux/) +- [Quick Guide to the Linux Mount Command](/cloud/guides/linux-mount-command/) +- [Mount a File System on Linux](/cloud/guides/mount-file-system-on-linux/) The following sections detail how to mount an SMB share on Ubuntu, but the essential process is the same for other Linux distributions. diff --git a/docs/guides/quick-answers/linux/linux-vs-windows/index.md b/docs/guides/quick-answers/linux/linux-vs-windows/index.md index 2a8f1f500b4..846428519fe 100644 --- a/docs/guides/quick-answers/linux/linux-vs-windows/index.md +++ b/docs/guides/quick-answers/linux/linux-vs-windows/index.md @@ -60,11 +60,11 @@ Although Linux users have been waiting for the “Year of the Linux Desktop”, ## Web Server Technologies: Windows vs. Linux -Linux dominates Windows when it comes to web services, thanks to the success of the [Apache web server](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/), the [Docker container runtime](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/), the [Kubernetes container orchestration system](/docs/guides/beginners-guide-to-kubernetes/), and [WordPress publishing platform](/docs/guides/how-to-install-wordpress-ubuntu-2004/). +Linux dominates Windows when it comes to web services, thanks to the success of the [Apache web server](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/), the [Docker container runtime](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/), the [Kubernetes container orchestration system](/cloud/guides/beginners-guide-to-kubernetes/), and [WordPress publishing platform](/cloud/guides/how-to-install-wordpress-ubuntu-2004/). Web hosting and other internet services are changing. Microsoft server editions, which can be expensive, host both non-Microsoft web server products as well as its own products. Microsoft attempts to make its offerings including client-side browsers, browser support, web services programming, and hosting models, highly proprietary. -Linux dominates web services partially because of the [LAMP stack (Linux, Apache, MySQL, and Perl/PHP)](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/). Today, the LAMP stack and variants are a systematic, highly-deployed, go-to development stack. Many of the word's web applications use variants of the LAMP stack to server their content to the Internet. +Linux dominates web services partially because of the [LAMP stack (Linux, Apache, MySQL, and Perl/PHP)](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/). Today, the LAMP stack and variants are a systematic, highly-deployed, go-to development stack. Many of the word's web applications use variants of the LAMP stack to server their content to the Internet. Both Apache and [NGINX web servers] dominate the world-wide web, far eclipsing Microsoft’s Internet Information Server/IIS. Both Apache and NGINX FOSS web servers run freely on Windows Server platform, and do so at a highly-scalable and license-cost-free model. diff --git a/docs/guides/quick-answers/linux/log-in-to-coreos-container-linux/index.md b/docs/guides/quick-answers/linux/log-in-to-coreos-container-linux/index.md index 4b9f4933582..b1e74668257 100644 --- a/docs/guides/quick-answers/linux/log-in-to-coreos-container-linux/index.md +++ b/docs/guides/quick-answers/linux/log-in-to-coreos-container-linux/index.md @@ -34,5 +34,5 @@ The `root` user is not active by default in Container Linux, so root login is no 2. At the `password:` prompt, enter the `core` user's password you assigned when first having deployed Container Linux. {{< note >}} -If you are not already familiar with the serial and graphical Linode shells, see the [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/) and [Access Your Linux Desktop Using Glish](/docs/products/compute/compute-instances/guides/glish/) guides. +If you are not already familiar with the serial and graphical Linode shells, see the [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and [Access Your Linux Desktop Using Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) guides. {{< /note >}} diff --git a/docs/guides/quick-answers/linux/open-source-software-benefits/index.md b/docs/guides/quick-answers/linux/open-source-software-benefits/index.md index 6072d47c4e7..c001ed41010 100644 --- a/docs/guides/quick-answers/linux/open-source-software-benefits/index.md +++ b/docs/guides/quick-answers/linux/open-source-software-benefits/index.md @@ -61,7 +61,7 @@ This lack of vendor lock-in plays into cost, reliability, and flexibility. Any c ## More Web-Based Tools -The world depends on the cloud and other web-based systems. Although many traditional administrators still prefer to configure and manage from the command-line, the tide is shifting to a web-based frontier. Many open-source operating systems, such as Red Hat, Alma Linux, and Rocky Linux, now ship with Cockpit, a web-based admin GUI, installed by default. The Linux operating system is turning more toward web-based tools for those users who prefer them. Tools like Cockpit, [Webmin](/docs/marketplace-docs/guides/webmin/), [phpMyAdmin](/docs/marketplace-docs/guides/phpmyadmin/), [cPanel](/docs/marketplace-docs/guides/cpanel/), VestaCP, Ajenti, froxlor, aaPanel, ISPConfig, and Sentora, provide companies with centralized administration of their servers and services. +The world depends on the cloud and other web-based systems. Although many traditional administrators still prefer to configure and manage from the command-line, the tide is shifting to a web-based frontier. Many open-source operating systems, such as Red Hat, Alma Linux, and Rocky Linux, now ship with Cockpit, a web-based admin GUI, installed by default. The Linux operating system is turning more toward web-based tools for those users who prefer them. Tools like Cockpit, [Webmin](/cloud/marketplace-docs/guides/webmin/), [phpMyAdmin](/cloud/marketplace-docs/guides/phpmyadmin/), [cPanel](/cloud/marketplace-docs/guides/cpanel/), VestaCP, Ajenti, froxlor, aaPanel, ISPConfig, and Sentora, provide companies with centralized administration of their servers and services. The need for more web-based tools is continuing to rise because more companies are migrating their servers from on-premises data centers to third-party hosting services, where Linux enjoys the largest deployment market share. @@ -81,7 +81,7 @@ The advantage of open-source software support is that it's everywhere. Most Linu ## Containers -Nearly every business now depends on [containers](/docs/guides/applications/containers/). Containerized applications make it possible for businesses to be more agile, more highly scalable, save money, deploy more reliable applications and services, and better lean into cloud-native development. +Nearly every business now depends on [containers](/cloud/guides/applications/containers/). Containerized applications make it possible for businesses to be more agile, more highly scalable, save money, deploy more reliable applications and services, and better lean into cloud-native development. Containers and open-source go hand-in-hand. They are built with open-source software and deployed on open-source platforms. In fact, without open-source, containers would either not exist or be as readily available. According to the "[Application Container Market - Growth, Trends, COVID-19 Impact, and Forecast (2021-2026)](https://www.researchandmarkets.com/reports/4845968/application-container-market-growth-trends)" the container market is expected to register a compound annual growth rate of 29% between 2021-2026. That's significant and means more businesses will come to depend on containerized technology. This wouldn't be possible without open-source. diff --git a/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md b/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md index 36ad8d6bd81..0f07228801f 100644 --- a/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md +++ b/docs/guides/quick-answers/linux/open-source-vs-closed-source/index.md @@ -23,7 +23,7 @@ That’s fine for users. For programmers, it was another story. Instead of shari One developer who was especially annoyed at closed-source software was MIT’s Richard M. Stallman. He created a new legal approach, the GNU Public Library (GPL) for what he called “Free Software.” This framework would prove the launch-pad for open-source software. -Over the last 30-years, open-source software made a comeback. First, the rise of the commercial Internet and web made it easier for developers to work together. Then, open-source programs such as the Linux operating system and the [Apache HTTP Server](/docs/guides/web-servers/apache-tips-and-tricks/) showed that this kind of software could be far cheaper, better, and more secure than their closed-source rivals. +Over the last 30-years, open-source software made a comeback. First, the rise of the commercial Internet and web made it easier for developers to work together. Then, open-source programs such as the Linux operating system and the [Apache HTTP Server](/cloud/guides/web-servers/apache-tips-and-tricks/) showed that this kind of software could be far cheaper, better, and more secure than their closed-source rivals. Since then, many popular end-user programs such as Firefox, LibreOffice, and Thunderbird often replace, or rival, closed-source programs such as Internet Explorer, Microsoft Office, and Outlook. diff --git a/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md b/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md index 67c2a33bc8f..d6bb91b12a5 100644 --- a/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md +++ b/docs/guides/quick-answers/linux/ssh-key-authentication-how-to-troubleshoot-permission-issues/index.md @@ -60,7 +60,7 @@ debug1: identity file /Users/username/.ssh/id_rsa type 0 ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no @ -1. If you were able to gain access to your Linode in the previous step, follow our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/docs/guides/use-public-key-authentication-with-ssh/) guide to properly configure public key authentication. +1. If you were able to gain access to your Linode in the previous step, follow our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh/) guide to properly configure public key authentication. 1. (**Optional**) If you do not want to use public-key authentication in the future, turn off `PubKeyAuthentication` in the `/etc/ssh/sshd_config` file. @@ -88,9 +88,9 @@ Specify the exact key pair using the following command: ### The SSH Client Does Not Possess the Correct Private Key -This section covers the situation where the client does not have the correct private key and password authentication is not enabled on the server. In this case, use the [Linode Shell](/docs/products/compute/compute-instances/guides/lish/), also known as the LISH Console, to access the Linode. +This section covers the situation where the client does not have the correct private key and password authentication is not enabled on the server. In this case, use the [Linode Shell](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish), also known as the LISH Console, to access the Linode. -1. Log in to the Linode using the [LISH Console](/docs/products/compute/compute-instances/guides/lish/). The LISH Console can be accessed from the [*Linode Cloud Manager*](https://cloud.linode.com/). Select the appropriate Linode, and click the **Launch LISH Console** link at the top right-hand side of the page. +1. Log in to the Linode using the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). The LISH Console can be accessed from the [*Linode Cloud Manager*](https://cloud.linode.com/). Select the appropriate Linode, and click the **Launch LISH Console** link at the top right-hand side of the page. 1. Edit the file located at `/etc/ssh/sshd_config` and change the value of `PasswordAuthentication` to `Yes`. If you are not planning to generate and use an SSH private key in the near future, change `PubKeyAuthentication` to `No` at the same time. @@ -111,7 +111,7 @@ PasswordAuthentication Yes ### The Target Server Does Not Have a Copy of the Public Key -This situation arises because the target server does not have your public key. Without that information, it cannot locate the key when it receives the SSH request. To correct this, copy the public key into the `authorized_keys` file in your directory on the Linode. For more information on how to generate a public key, see our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/docs/guides/use-public-key-authentication-with-ssh/) guide. +This situation arises because the target server does not have your public key. Without that information, it cannot locate the key when it receives the SSH request. To correct this, copy the public key into the `authorized_keys` file in your directory on the Linode. For more information on how to generate a public key, see our [Use SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh/) guide. 1. Locate the file containing the public key file on your client. The file is usually named `id_rsa.pub`. On macOS devices, it is typically located at `/Users//.ssh/`, while on Linux systems it can be found at `/home//.ssh/`. On Windows systems, the file location is user-defined. @@ -131,7 +131,7 @@ yQdSj8l9dCN9Zf8GBLQTbryHgaSEoinpX5SFmNkdT7yN8TJkv1Z61gpB+NJ3+aJBGH Jvl72P8ePqG2nIvSqHsm/4OfdJshaXHA+j6DpvSQ== user@userdevice.local {{< /file >}} -1. Log in to the Linode through the [LISH Console](/docs/products/compute/compute-instances/guides/lish/). Access the LISH Console through the [*Linode Cloud Manager*](https://cloud.linode.com/). Select the Linode to access, then click the **Launch LISH Console** link at the top right-hand side of the page. +1. Log in to the Linode through the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Access the LISH Console through the [*Linode Cloud Manager*](https://cloud.linode.com/). Select the Linode to access, then click the **Launch LISH Console** link at the top right-hand side of the page. 1. Display the contents of the `~/.ssh/authorized_keys` file. diff --git a/docs/guides/quick-answers/linux/start-service-at-boot/index.md b/docs/guides/quick-answers/linux/start-service-at-boot/index.md index 8fc202426cb..2bf897e2175 100644 --- a/docs/guides/quick-answers/linux/start-service-at-boot/index.md +++ b/docs/guides/quick-answers/linux/start-service-at-boot/index.md @@ -154,7 +154,7 @@ It is simple to create a custom systemd service that will run any script or proc May 02 15:03:37 localhost bash[2973]: Looping... ``` - For more information about using `systemctl` commands, see the [systemctl guide](/docs/guides/introduction-to-systemctl). + For more information about using `systemctl` commands, see the [systemctl guide](/cloud/guides/introduction-to-systemctl). ## Troubleshooting diff --git a/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md b/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md index 156e8ee0330..4a2ed320fcf 100644 --- a/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md +++ b/docs/guides/quick-answers/linux/use-nano-to-edit-files-in-linux/index.md @@ -9,7 +9,7 @@ keywords: ["nano", "terminal", "command line", "shell"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/quick-answers/use-nano-to-edit-files-in-linux/','/quick-answers/linux/use-nano-to-edit-files-in-linux/'] external_resources: - - '[Using nano](/docs/guides/use-nano-text-editor-commands/)' + - '[Using nano](/cloud/guides/use-nano-text-editor-commands/)' - '[nano help](https://www.nano-editor.org/dist/v2.8/nano.html)' - '[Emacs, nano, or Vim: Choose your Terminal-Based Test Editor Wisely](https://medium.com/linode-cube/emacs-nano-or-vim-choose-your-terminal-based-text-editor-wisely-8f3826c92a68)' tags: ["linux"] @@ -17,7 +17,7 @@ tags: ["linux"] GNU nano, or more commonly, nano is the basic, built-in editor for most Linux distributions. In this QuickAnswer, we'll cover some of the essentials to help you get started. -To learn more, visit our full guide on [using nano](/docs/guides/use-nano-text-editor-commands/). +To learn more, visit our full guide on [using nano](/cloud/guides/use-nano-text-editor-commands/). ## Use nano to Open a System File diff --git a/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md b/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md index bf5f4b4ae17..15538a237e9 100644 --- a/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md +++ b/docs/guides/quick-answers/linux/use-the-ps-aux-command-in-linux/index.md @@ -9,7 +9,7 @@ published: 2021-01-25 keywords: ["ps aux command"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Backing Up Your Data](/docs/guides/backing-up-your-data/)' + - '[Backing Up Your Data](/cloud/guides/backing-up-your-data/)' tags: ["linux"] --- The `ps aux` command is a tool to monitor processes running on your Linux system. A *process* is associated with any program running on your system, and is used to manage and monitor a program's memory usage, processor time, and I/O resources. Since the `ps aux` command displays an overview of all the processes that are running, it is a great tool to understand and troubleshoot the health and state of your Linux system. This guide provides an introduction to the `ps aux` command with brief examples to help you interpret its output. @@ -161,5 +161,5 @@ The `ps` command has many other available options. For example, `ps` allows you ### Use `top` as an Alternative to the `ps` Command -The `top` command is also a good tool to use to monitor your system's processes. One benefit to the `top` command is that it updates its values and statistics in real time. You can also sort its output by CPU usage, and it allows you to kill a process using a semi-graphical UI. If you'd like to learn more about the `top` command, check out the [Using top to Monitor Server Performance](/docs/guides/top-htop-iotop/) guide. +The `top` command is also a good tool to use to monitor your system's processes. One benefit to the `top` command is that it updates its values and statistics in real time. You can also sort its output by CPU usage, and it allows you to kill a process using a semi-graphical UI. If you'd like to learn more about the `top` command, check out the [Using top to Monitor Server Performance](/cloud/guides/top-htop-iotop/) guide. diff --git a/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md b/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md index e6d9eff0861..aac7c66df09 100644 --- a/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md +++ b/docs/guides/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/index.md @@ -17,12 +17,12 @@ aliases: ['/quick-answers/linux/using-e2fsck-to-fix-ext-disk-issues/'] ## What is e2fsck? -**e2fsck** is a utility that examines `ext2`, `ext3`, and `ext4` filesystems for errors, and attempts to repair them if possible. It is the backend tool that the popular [fsck](/docs/guides/how-to-use-fsck-to-fix-disk-problems/) frontend utility calls for a combination of tasks related to `ext` filesystems. +**e2fsck** is a utility that examines `ext2`, `ext3`, and `ext4` filesystems for errors, and attempts to repair them if possible. It is the backend tool that the popular [fsck](/cloud/guides/how-to-use-fsck-to-fix-disk-problems/) frontend utility calls for a combination of tasks related to `ext` filesystems. On some systems, e2fsck runs automatically after an unclean shutdown or after a certain number of reboots. {{< note >}} -When booting into rescue mode on the Linode Platform, the `e2fsck` tool will be installed as the default disk repair utility. For instructions specific to performing a filesystem check on the Linode platform, see our [Troubleshooting Guide: Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) for guidance. +When booting into rescue mode on the Linode Platform, the `e2fsck` tool will be installed as the default disk repair utility. For instructions specific to performing a filesystem check on the Linode platform, see our [Troubleshooting Guide: Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) for guidance. {{< /note >}} ## When to Use e2fsck @@ -63,7 +63,7 @@ Unmount the target disk first. You risk corrupting your file system and losing d ### Boot into Rescue Mode -If you are using e2fsck on a Linode, the easiest and safest way to unmount your disk is to use Rescue Mode. Visit our [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) guide for instructions on how to boot your Linode into Rescue Mode. If you're working on a local machine, consider using the distribution's recovery mode or a live distribution to avoid working on a mounted disk. e2fsck should be run only as a user with root permissions. +If you are using e2fsck on a Linode, the easiest and safest way to unmount your disk is to use Rescue Mode. Visit our [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide for instructions on how to boot your Linode into Rescue Mode. If you're working on a local machine, consider using the distribution's recovery mode or a live distribution to avoid working on a mounted disk. e2fsck should be run only as a user with root permissions. ### View Mounted Disks and Verify Disk Location @@ -79,7 +79,7 @@ If you are using e2fsck on a Linode, the easiest and safest way to unmount your ### Configuration Profile -If you are working on a Linode but do not wish to use Rescue Mode, shut down the Linode from the Linode Manager. Unmount the disk from the [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/). Apply the changes and reboot the Linode. +If you are working on a Linode but do not wish to use Rescue Mode, shut down the Linode from the Linode Manager. Unmount the disk from the [Configuration Profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance). Apply the changes and reboot the Linode. ### Manual Unmount diff --git a/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md b/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md index 6a0390800df..78c9550e0ab 100644 --- a/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md +++ b/docs/guides/quick-answers/linux/wordpress-with-docker-compose/index.md @@ -95,7 +95,7 @@ volumes: ![WordPress setup screen in the web browser](docker-compose-wordpress-wizard.png "WordPress setup screen in the web browser") -5. You can optionally set up a domain for your WordPress site. Our [DNS Manager Overview](/docs/products/networking/dns-manager/) guide includes instructions for associating your domain with your Linode's IP address. +5. You can optionally set up a domain for your WordPress site. Our [DNS Manager Overview](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide includes instructions for associating your domain with your Linode's IP address. Once you set up your DNS records, you should also replace your IP address with your domain in the WordPress Settings screen: @@ -125,4 +125,4 @@ The `docker-compose.yml` specifies the `latest` version of the WordPress image, ## Next Steps -More extensive documentation on Docker is available in the [Containers](/docs/guides/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/guides/applications/containers/) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md b/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md index 6bcddae2d82..1dadc437cc8 100644 --- a/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md +++ b/docs/guides/quick-answers/websites/how-to-enable-disable-website/index.md @@ -24,7 +24,7 @@ Taking a site offline, even temporarily, can affect its *Search Engine Optimizat ## Disable and Enable a Website on the NGINX Web Server -By default, [*NGINX*](https://www.nginx.com/) installed on Ubuntu and Debian systems uses the `sites-available` and `sites-enabled` directories or folders to control website access. This approach is often used even on other Linux systems. If the Linode instance is already using these two directories, follow the instructions in the [Use the Sites-Enabled Directory](#use-the-sites-enabled-directory) subsection. Otherwise, skip to the [Use the Virtual Host File on the NGINX Web Server](/docs/guides/how-to-enable-disable-website/#use-the-virtual-host-file-on-the-nginx-web-server) subsection. +By default, [*NGINX*](https://www.nginx.com/) installed on Ubuntu and Debian systems uses the `sites-available` and `sites-enabled` directories or folders to control website access. This approach is often used even on other Linux systems. If the Linode instance is already using these two directories, follow the instructions in the [Use the Sites-Enabled Directory](#use-the-sites-enabled-directory) subsection. Otherwise, skip to the [Use the Virtual Host File on the NGINX Web Server](/cloud/guides/how-to-enable-disable-website/#use-the-virtual-host-file-on-the-nginx-web-server) subsection. ### Use the Sites-Enabled Directory @@ -107,7 +107,7 @@ Some Linux systems do not use the `sites-available` and `sites-enabled` director 1. Reload NGINX and confirm the site is accessible again. {{< note >}} -There could be cases where a website does not have a separate virtual host file. This might occur if it is the only site on the Linode instance, or if the system is using a non-standard configuration. In this case, comment out all the lines in the website's vhost entry, using the `#` symbol. See the [Use the Virtual Host File on the Apache Web Server](/docs/guides/how-to-enable-disable-website/#use-the-virtual-host-file-on-the-apache-web-server) section of this guide for more information. +There could be cases where a website does not have a separate virtual host file. This might occur if it is the only site on the Linode instance, or if the system is using a non-standard configuration. In this case, comment out all the lines in the website's vhost entry, using the `#` symbol. See the [Use the Virtual Host File on the Apache Web Server](/cloud/guides/how-to-enable-disable-website/#use-the-virtual-host-file-on-the-apache-web-server) section of this guide for more information. {{< /note >}} ## Disable and Enable a Website on the Apache Web Server diff --git a/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md b/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md index d950f7da83b..a16b66a1e86 100644 --- a/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md +++ b/docs/guides/quick-answers/websites/transferring-a-mern-application-to-a-new-server/index.md @@ -14,7 +14,7 @@ external_resources: - '[NPM](https://www.npmjs.com/)' --- -The [Quick Deploy App](/docs/marketplace-docs/guides/mern-stack/) for the MERN stack (MongoDB, Express, React, Node.js) is a great way to create the base configuration equipped with all the essentials for a MERN stack quickly, however the Akamai Quick Deploy App itself will still require tuning to host your MERN application. Transferring an application to a new host for example, can be a complex process depending on the specifics of your configuration. This guide was designed to serve as reference for users currently undergoing the migration process, and aims to clear up potential confusion and common issues that can occur. +The [Quick Deploy App](/cloud/marketplace-docs/guides/mern-stack/) for the MERN stack (MongoDB, Express, React, Node.js) is a great way to create the base configuration equipped with all the essentials for a MERN stack quickly, however the Akamai Quick Deploy App itself will still require tuning to host your MERN application. Transferring an application to a new host for example, can be a complex process depending on the specifics of your configuration. This guide was designed to serve as reference for users currently undergoing the migration process, and aims to clear up potential confusion and common issues that can occur. ## Transferring the Application @@ -26,7 +26,7 @@ Before proceeding with any migration, it is first recommended that the Akamai Qu - Node.js - NPM {{< note >}} -Users who prefer building applications with alternative package Managers for Node.js like [Yarn](/docs/guides/install-and-use-the-yarn-package-manager/) will need to install the package manager manually. +Users who prefer building applications with alternative package Managers for Node.js like [Yarn](/cloud/guides/install-and-use-the-yarn-package-manager/) will need to install the package manager manually. {{< /note >}} Additionally, this will install the default `hello-world` react application which you may opt to remove to. @@ -44,7 +44,7 @@ The default `hello-world` Flask application included as part of the MERN Quick D ## Preparing for The Transfer -Before, proceeding with any remote transfer, it is strongly recommended the original host that will be transferring data to the Linode has [Backups](/docs/guides/backing-up-your-data/) available to restore from. While standard backup solutions will work for the majority of the MERN Stack, a database dump for MongoDB should be performed by using the [mongodump](https://docs.mongodb.com/database-tools/mongodump/) command. +Before, proceeding with any remote transfer, it is strongly recommended the original host that will be transferring data to the Linode has [Backups](/cloud/guides/backing-up-your-data/) available to restore from. While standard backup solutions will work for the majority of the MERN Stack, a database dump for MongoDB should be performed by using the [mongodump](https://docs.mongodb.com/database-tools/mongodump/) command. {{< note >}} If using a Cloud-Native database like **MongoDB Atlas**, the steps for transferring your database may differ, and users should consult the documentation of their database host. @@ -95,7 +95,7 @@ The packages installed using the `npm install` command will install all node mod Once these steps are completed, your node configuration should successfully be running. {{< note >}} -Some MERN applications are dependent on a specific version of Node in order to serve content. If you encounter errors related to your version of Node, you can additionally install tools like the [Node Version Manager(NVM)](/docs/guides/how-to-install-use-node-version-manager-nvm/) in order to easily switch to your needed version of Node. +Some MERN applications are dependent on a specific version of Node in order to serve content. If you encounter errors related to your version of Node, you can additionally install tools like the [Node Version Manager(NVM)](/cloud/guides/how-to-install-use-node-version-manager-nvm/) in order to easily switch to your needed version of Node. {{< /note >}} diff --git a/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md b/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md index aea9bde363c..f6955d22001 100644 --- a/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md +++ b/docs/guides/security/authentication/create-an-oauth-app-with-the-python-api-library/index.md @@ -169,7 +169,7 @@ def index(): ) ``` -It is important to note that the two API queries in the above code are slightly different from one another. The `client.regions` method is a top-level method, just as it appears in the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary#regions-list). The `client.linode.types` method, on the other hand, is part of the Linode group, which is a collection of methods that deal with Linodes. Again, this is because Linode endpoints are grouped that way in the [API](/docs/api/linode-types/#types-list). Some methods in the Linode Python library are top level, such as `domain_create`, while others, like `networking.ip_assign`, are part of a group. For more information on the top-level methods and groupings, consult the [library documentation](https://linode-api4.readthedocs.io/en/latest/linode_api4/linode_client.html#grouping). +It is important to note that the two API queries in the above code are slightly different from one another. The `client.regions` method is a top-level method, just as it appears in the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary#regions-list). The `client.linode.types` method, on the other hand, is part of the Linode group, which is a collection of methods that deal with Linodes. Again, this is because Linode endpoints are grouped that way in the [API](/cloud/api/linode-types/#types-list). Some methods in the Linode Python library are top level, such as `domain_create`, while others, like `networking.ip_assign`, are part of a group. For more information on the top-level methods and groupings, consult the [library documentation](https://linode-api4.readthedocs.io/en/latest/linode_api4/linode_client.html#grouping). In addition to querying the API, the above route also renders the `configure.html` template by passing it the types, regions, application name, and StackScript object. The StackScript object contains a list of StackScript compatible images. We will cover templating in a later section. @@ -210,7 +210,7 @@ Below is a list of available scopes: - OAuthScopes.ObjectStorage - OAuthScopes.Images -Each scope is broken into five permissions: `ready_only`, and `read_write`. For more information about the scopes and permissions see, [OAuth reference](/docs/api/#oauth-reference) documentation. +Each scope is broken into five permissions: `ready_only`, and `read_write`. For more information about the scopes and permissions see, [OAuth reference](/cloud/api/#oauth-reference) documentation. {{< /note >}} ### Manage the OAuth 2 Callback URL diff --git a/docs/guides/security/authentication/freeipa-for-identity-management/index.md b/docs/guides/security/authentication/freeipa-for-identity-management/index.md index 7edd2693ebd..2b0f70da2e8 100644 --- a/docs/guides/security/authentication/freeipa-for-identity-management/index.md +++ b/docs/guides/security/authentication/freeipa-for-identity-management/index.md @@ -34,10 +34,10 @@ FreeIPA is the Linux version or implementation of Active Directory, which featur This guide assumes: - Two fully functional Linodes equal to a [2GB Plan](https://www.linode.com/pricing/) or greater must be created using CentOS 7 or later. One will host the FreeIPA server, while the other will host the client. -- You have followed the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. One will host the FreeIPA server, while the other will host the client. -- You are familiar with the [command line](/docs/guides/introduction-to-linux-concepts/#so-youre-staring-at-a-shell-prompt) -- FreeIPA requires that the user has possession of their own fully qualified domain name (FQDN) with an active subdomain for both the client and server. Before proceeding, ensure that each Linode has A/AAAA records configured using a [Unique Subdomain](/docs/products/networking/dns-manager/) for both the server and client Linode respectively. -- [Set up Reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) for each Linode using their full unique subdomain. +- You have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. One will host the FreeIPA server, while the other will host the client. +- You are familiar with the [command line](/cloud/guides/introduction-to-linux-concepts/#so-youre-staring-at-a-shell-prompt) +- FreeIPA requires that the user has possession of their own fully qualified domain name (FQDN) with an active subdomain for both the client and server. Before proceeding, ensure that each Linode has A/AAAA records configured using a [Unique Subdomain](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for both the server and client Linode respectively. +- [Set up Reverse DNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for each Linode using their full unique subdomain. ## Prepare the Client and Server @@ -49,7 +49,7 @@ First, the FreeIPA Server and Client Linodes must be prepared for the installati sudo hostname ipa.example.com ``` -1. [Edit the systems hosts file](/docs/guides/using-your-systems-hosts-file/) to reflect the new hostname. +1. [Edit the systems hosts file](/cloud/guides/using-your-systems-hosts-file/) to reflect the new hostname. ```file {title="/etc/hosts" lang="conf"} 127.0.0.1 localhost.localdomain localhost @@ -66,7 +66,7 @@ First, the FreeIPA Server and Client Linodes must be prepared for the installati | 53 | DNS | TCP/UDP | | 123 | NTP | UDP | - All of the above ports can be opened using the commands in[firewalld cmd list](/docs/guides/introduction-to-firewalld-on-centos/). Type the following command: + All of the above ports can be opened using the commands in[firewalld cmd list](/cloud/guides/introduction-to-firewalld-on-centos/). Type the following command: ```command firewall-cmd --permanent --add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,464/tcp,53/tcp,88/udp,464/udp,53/udp,123/udp} diff --git a/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md b/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md index 2f8c21f0c9e..5137cc1c966 100644 --- a/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md +++ b/docs/guides/security/authentication/how-to-self-host-the-vaultwarden-password-manager/index.md @@ -30,15 +30,15 @@ Ubuntu 20.04 is the distribution used in this guide. Generally speaking, any Lin ### Before You Begin -1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for setting the 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 the hostname and timezone. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide in order to harden the Linode against malicious users. This step is important to ensure Vaultwarden is secured. +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 in order to harden the Linode against malicious users. This step is important to ensure Vaultwarden is secured. {{< note respectIndent=false >}} -If you choose to configure a firewall, remember to open ports 80 and 443 for the Caddy server. The [Configure a Firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) section of the guide outlines different firewall software options. +If you choose to configure a firewall, remember to open ports 80 and 443 for the Caddy server. The [Configure a Firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) section of the guide outlines different firewall software options. {{< /note >}} -1. Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/docs/guides/dns-overview/#a-and-aaaa) DNS records that point to the public [IPv4 and IPv6 addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) of the Linode. Consult the [DNS Records: An Introduction](/docs/guides/dns-overview/) and [DNS Manager](/docs/products/networking/dns-manager/) guides for help with setting up a domain. A proper domain name is important to acquire a certificate for HTTPS connectivity. +1. Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/cloud/guides/dns-overview/#a-and-aaaa) DNS records that point to the public [IPv4 and IPv6 addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of the Linode. Consult the [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up a domain. A proper domain name is important to acquire a certificate for HTTPS connectivity. ## Install Docker @@ -235,7 +235,7 @@ As an additional security precaution, you may elect to disable user registration Before relying on this service for any important data, you should take additional steps to safeguard the data stored within Vaultwarden. Encrypted data is stored within a flat file sqlite3 database. In order to reliably backup this data, you should *not* simply copy the file. Instead, use the sqlite3 `.backup` command. This command ensures that the database is in a consistent state when the backup is taken. -1. Review the [Backing Up Your Data](/docs/guides/backing-up-your-data/) guide in order to determine the best location to store the backups. In this example, a local file system path is used. +1. Review the [Backing Up Your Data](/cloud/guides/backing-up-your-data/) guide in order to determine the best location to store the backups. In this example, a local file system path is used. {{< note respectIndent=false >}} In a more resilient setup, these local backups should be replicated onto another service or host to guard against single-host failure. @@ -321,7 +321,7 @@ The `Persistent=true` line instructs systemd to fire the timer if the timer was This indicates that a backup is taken in 5 hours and 50 minutes. {{< note type="alert" >}} -Ensure that the backups are kept on a volume or host independent of the Linode in case of a disaster recover recovery scenario. Consider using [Linode Block Storage](/docs/products/storage/block-storage/) as one potential solution for permanent backup storage and archival. +Ensure that the backups are kept on a volume or host independent of the Linode in case of a disaster recover recovery scenario. Consider using [Linode Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) as one potential solution for permanent backup storage and archival. {{< /note >}} ## Using Vaultwarden diff --git a/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md b/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md index 9c0699a7013..289d32b428f 100644 --- a/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md +++ b/docs/guides/security/authentication/secure-instance-with-fido2-key/index.md @@ -20,7 +20,7 @@ Password authentication has long been a common target of brute-force attacks by Launched in 2013, the FIDO Alliance set out to develop stronger authentication; FIDO2 is the latest version of the standard. FIDO2 authentication is based on private/public key cryptography, does not depend on shared secrets, and ensures that the authentication challenge follows the same path as the request. Using the FIDO2 standard, the likelihood of successful system access with stolen keys or passwords is reduced significantly. FIDO2, in its native forms, is optimized for browser based accesses, but with recent changes to OpenSSH, FIDO2 can now be used to protect SSH logins. The additional benefit of using FIDO2 with SSH is that your private key is no longer stored on your local machine. -Linode's [Cloud Manager](/docs/products/tools/cloud-manager/) recently extended the support of SSH key types for account-wide remote access. Now, users can import SSH keys generated by mobile applications based on the FIDO2 standard. When a new instance is deployed, the FIDO2-generated SSH keys are stored in the server and are available to authenticate users. This enhancement allows users to use an innovative FIDO2 authenticator that is at the core of Akamai MFA. +Linode's [Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/cloud-manager) recently extended the support of SSH key types for account-wide remote access. Now, users can import SSH keys generated by mobile applications based on the FIDO2 standard. When a new instance is deployed, the FIDO2-generated SSH keys are stored in the server and are available to authenticate users. This enhancement allows users to use an innovative FIDO2 authenticator that is at the core of Akamai MFA. [Akamai MFA](https://www.akamai.com/products/akamai-mfa) is a full-service MFA solution for the workforce, featuring a phishing-proof FIDO2 authentication factor. However, the full Akamai MFA service is not required in order to support MFA for your Compute Instances. Rather, you only need the free Akamai MFA mobile app and Akamai's Krypton akr SSH agent. Krypton is an SSH agent that cooperates with the Akamai MFA mobile app to perform FIDO2-based authentication. Akamai akr serves as a bridge between your local machine and the Akamai MFA mobile app on your phone, while the Akamai MFA mobile app turns your phone into a FIDO2 authenticator. The FIDO2 private key that serves as your credential is securely stored on your phone (and never leaves the phone) while the actual challenge is presented to you as a phone notification. @@ -154,7 +154,7 @@ When you have Akamai akr installed, you can follow the steps outlined here to se Now that your mobile device has been paired and your Akamai-compatible FIDO2 SSH Key has been generated, you can configure your remote systems to use the new key. This section covers adding the SSH key to your Linode account and installing it on a new Compute Instance. -1. Add the SSH key to your Linode user account, which enables you to automatically install it on new Compute Instances. For more detailed instructions on adding an SSH key to your account, see [Manage SSH Keys](/docs/products/platform/accounts/guides/manage-ssh-keys/#add-a-public-key). +1. Add the SSH key to your Linode user account, which enables you to automatically install it on new Compute Instances. For more detailed instructions on adding an SSH key to your account, see [Manage SSH Keys](https://techdocs.akamai.com/cloud-computing/docs/manage-ssh-keys#add-a-public-key). {{< tabs >}} {{< tab "Cloud Manager" >}} @@ -176,7 +176,7 @@ Now that your mobile device has been paired and your Akamai-compatible FIDO2 SSH --ssh_key "[public-key]" ``` - For more details, review the CLI request sample on the [SSH Key Add API reference](/docs/api/profile/#ssh-key-add). + For more details, review the CLI request sample on the [SSH Key Add API reference](/cloud/api/profile/#ssh-key-add). {{< /tab >}} {{< tab "Linode API" >}} Perform the API request below, replacing *[public-key]* with the SSH key that was generated by the akr tool. @@ -191,16 +191,16 @@ Now that your mobile device has been paired and your Akamai-compatible FIDO2 SSH https://api.linode.com/v4/profile/sshkeys ``` - For more details, review the shell request sample on the [SSH Key Add API reference](/docs/api/profile/#ssh-key-add). + For more details, review the shell request sample on the [SSH Key Add API reference](/cloud/api/profile/#ssh-key-add). {{< /tab >}} {{< /tabs >}} -1. Create a new Compute Instance, making sure to select your user under SSH Keys. See [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/#create-a-password-and-add-ssh-keys) for full instructions. +1. Create a new Compute Instance, making sure to select your user under SSH Keys. See [Create a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance#create-a-password-and-add-ssh-keys) for full instructions. -1. When the Compute Instance has finished provisioning and is in a running state, you can [connect to it via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). After the host public key fingerprint is validated, you'll receive a push-based prompt on your phone to verify the connection attempt. Once the connect request is approved, you should be successfully logged in to the remote system. +1. When the Compute Instance has finished provisioning and is in a running state, you can [connect to it via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). After the host public key fingerprint is validated, you'll receive a push-based prompt on your phone to verify the connection attempt. Once the connect request is approved, you should be successfully logged in to the remote system. {{< note >}} -You can also use your FIDO2 SSH key on existing Compute Instances or other Linux systems. See the [Using SSH Public Key Authentication on Linux, macOS, and Windows](/docs/guides/use-public-key-authentication-with-ssh/#upload-the-public-key) guide for instructions on copying your SSH key. +You can also use your FIDO2 SSH key on existing Compute Instances or other Linux systems. See the [Using SSH Public Key Authentication on Linux, macOS, and Windows](/cloud/guides/use-public-key-authentication-with-ssh/#upload-the-public-key) guide for instructions on copying your SSH key. {{< /note >}} ## Additional SSH Configuration diff --git a/docs/guides/security/backups/backing-up-your-data/index.md b/docs/guides/security/backups/backing-up-your-data/index.md index 7ea1249a98f..ab599eadb2e 100644 --- a/docs/guides/security/backups/backing-up-your-data/index.md +++ b/docs/guides/security/backups/backing-up-your-data/index.md @@ -91,18 +91,18 @@ This guide will evaluate six different backup utilities to see how they meet the - **Where**: The files are stored in our secure data centers. - **Rotation**: Backups are rotated automatically so you'll always have a daily, weekly, and bi-weekly backup. You can also store one snapshot of your choice indefinitely. -To configure Linode's Backup Service for your Linode, follow [these instructions](/docs/products/storage/backups/). +To configure Linode's Backup Service for your Linode, follow [these instructions](https://techdocs.akamai.com/cloud-computing/docs/backup-service). ### Linode's Disks -You can use the Cloud Manager to [duplicate/clone your Linode's disk](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance). This is not a backup utility, but it is a quick and easy way to create a full snapshot of your Linode. Once you've duplicated the disk, you can boot it or clone it to a different Linode. +You can use the Cloud Manager to [duplicate/clone your Linode's disk](https://techdocs.akamai.com/cloud-computing/docs/clone-a-compute-instance#clone-to-an-existing-compute-instance). This is not a backup utility, but it is a quick and easy way to create a full snapshot of your Linode. Once you've duplicated the disk, you can boot it or clone it to a different Linode. - **What**: Full-server file system backup. - **When**: Duplicate disks are created manually. You have to shut down your server to make a new disk. - **Where**: The disk is stored on your Linode. - **Rotation**: Manual. The number of backups you can store at once depends on how small you make the disks. -See [Managing Disks and Storage on a Linode](/docs/products/compute/compute-instances/guides/disks-and-storage/) to learn more about disks. +See [Managing Disks and Storage on a Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) to learn more about disks. ### Rsync @@ -120,7 +120,7 @@ You need a basic level of comfort with the command line to make the initial back - **Rotation**: Basic rotation is manual. However, with the right options, you can store all of your old backups in a minimal amount of space. This will be covered later. -Rsync will be covered in more detail later in this guide. You can also read our [rsync guide](/docs/guides/introduction-to-rsync/) for more information. +Rsync will be covered in more detail later in this guide. You can also read our [rsync guide](/cloud/guides/introduction-to-rsync/) for more information. ### MySQL Backups @@ -132,7 +132,7 @@ The data stored in your database can change quickly. Running a MySQL dump is arg - **Where**: The backup file is saved on your server or downloaded to your home computer by default. You can move the file somewhere else if you want it stored in a different location. - **Rotation**: Basic rotation is manual. -To make human-readable backups of your databases that can be imported to a new database server, [follow these instructions](/docs/guides/mysqldump-backups/). +To make human-readable backups of your databases that can be imported to a new database server, [follow these instructions](/cloud/guides/mysqldump-backups/). ### Tar @@ -161,7 +161,7 @@ Explanation of flags: - v or --verbose: Shows which files were processed - f or --file=ARCHIVE: Tells us that the next argument is the name for the new archive file -For a more detailed discussion of tar and more examples, see [Archiving and Compressing files with GNU Tar and GNU Zip](/docs/guides/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/). +For a more detailed discussion of tar and more examples, see [Archiving and Compressing files with GNU Tar and GNU Zip](/cloud/guides/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/). ### Rdiff-backup @@ -172,7 +172,7 @@ Rdiff-backup is a utility designed to make incremental backups. As their [websit - **Where** : You set the destination. You can back up to a different folder on your server, a different Linux server, or your home computer. - **Rotation**: Both old and new files are kept. -For information, see [Using Rdiff-backup with SSHFS](/docs/guides/using-rdiff-backup-with-sshfs/). +For information, see [Using Rdiff-backup with SSHFS](/cloud/guides/using-rdiff-backup-with-sshfs/). ## Manual Backup via Rsync @@ -272,7 +272,7 @@ If this is your first time running the command, select your favorite text editor 0 3 * * * rsync -ahvz --delete --link-dest=~/backups/public_orig user@production_server:~/public ~/backups/public_$(date -I) {{< note respectIndent=false >}} -For more information about cron, and to learn how to create a custom schedule for your rsync command, see [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/). +For more information about cron, and to learn how to create a custom schedule for your rsync command, see [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/). {{< /note >}} Congratulations! You have now configured daily automatic snapshot-style backups. If something goes wrong with your server, you'll be able to restore from a backup at any time. @@ -498,7 +498,7 @@ The `copyfrom` location is the path to what you want to back up on your producti Since you're trying to copy from a remote server (the production server), you should provide the SSH login credentials first. Then use a colon (`:`), followed by an absolute file path to the folder you want to back up. -In this example, you're backing up the `~/public` directory, which is where your websites should be located if you followed the [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide. `~` is a shortcut for `/home/user/`. The trailing `/` is omitted from the final directory because you want to include the `public` folder itself in the backup, not just its contents. +In this example, you're backing up the `~/public` directory, which is where your websites should be located if you followed the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. `~` is a shortcut for `/home/user/`. The trailing `/` is omitted from the final directory because you want to include the `public` folder itself in the backup, not just its contents. If you want to do a full-server backup from root, you should use `/*` as your path. You should also exclude some folders from the backup so you don't get a lot of warnings and errors every time you run it. `/dev`, `/proc`, `/sys`, `/tmp`, and `/run` do not contain permanent data, and `/mnt` is the mount point for other file systems. To make an exclusion, add the `--exclude` option at the very end of the rsync command, after everything else. diff --git a/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md b/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md index dce0d8e61c9..e8a23fbcb32 100644 --- a/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md +++ b/docs/guides/security/backups/backup-filesystem-to-object-storage-with-restic/index.md @@ -23,18 +23,18 @@ To be successful, backups should be automatic, reliable, and secure. This guide Restic is a backup utility written in Go. It is cross-platform and works on most Linux distributions with a kernel newer than 2.6.23. Each backup is stored as a *snapshot* in a *repository*. The repository can be stored on most cloud storage providers, or even in a separate directory on your Linode (not recommended.) This guide explains how to use Linode Object Storage to hold your backup repository. {{< note >}} -The steps in this guide require root privileges, and commands are run with `sudo` unless otherwise noted. For more information on privileges, see our [Users and Groups](/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. 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. +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. -1. Create an Object Storage bucket to hold your backup repository. Follow the [Create a Bucket](/docs/products/storage/object-storage/get-started/#create-a-bucket) section of the [How to Use Linode Object Storage](/docs/products/storage/object-storage/get-started/) 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/getting-started-with-object-storage#create-a-bucket) section of the [How to Use Linode Object Storage](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) 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: @@ -141,7 +141,7 @@ System Cron jobs exist as entries in the `/etc/crontab` file. Open your systems sudo crontab -e ``` -Add a line pointing to your backup script. This example runs the backup at 12am every day. See the [Schedule tasks with Cron](/docs/guides/schedule-tasks-with-cron/) article for additional scheduling options. +Add a line pointing to your backup script. This example runs the backup at 12am every day. See the [Schedule tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) article for additional scheduling options. ```command 0 0 * * * /usr/local/bin/backup_files > /tmp/backup-log.txt 2>&1 @@ -219,7 +219,7 @@ It can get tedious typing out the arguments to the Restic command. To make life Because the credentials that Restic uses were created under the root user's home folder, the example alias in this section only works for the root user. {{< /note >}} -In your `root` user's `.profile` file, add the lines in the example. For example, on an Ubuntu system this file is located in `/root/.profile`. To learn more about creating reusable aliases, see the [How to Add the Linux alias Command in the .bashrc File](/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. ```file {title="/root/.profile"} ... diff --git a/docs/guides/security/backups/create-restic-repository-shortguide/index.md b/docs/guides/security/backups/create-restic-repository-shortguide/index.md index 4bc5a0bc7b5..057d1979919 100644 --- a/docs/guides/security/backups/create-restic-repository-shortguide/index.md +++ b/docs/guides/security/backups/create-restic-repository-shortguide/index.md @@ -12,7 +12,7 @@ show_on_rss_feed: false --- {{< note >}} -[Create an Object Storage access key pair](/docs/products/storage/object-storage/guides/access-keys/) if you have not done so already. Should you choose to restrict the access key's permissions, it will require "Read/Write" permission to the bucket you will use to store your Restic repository. +[Create an Object Storage access key pair](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) if you have not done so already. Should you choose to restrict the access key's permissions, it will require "Read/Write" permission to the bucket you will use to store your Restic repository. {{< /note >}} 1. Configure Restic to use your Object Storage access key pair and to use the bucket you created in the [Before You Begin](#before-you-begin) section of this guide. Replace `your-key`, `your-secret`, and `us-east-1.linodeobjects.com/your-bucket-name` with your own values. @@ -52,7 +52,7 @@ Store this password securely and somewhere other than your Linode. Your backups Your access key, secret key, and password are required every time Restic communicates with your repository. To make it easier to work with your repository, create a shell script containing your credentials. {{< note >}} -The examples in this section use the Nano text editor. Refer to the [Nano Text Editor Commands](/docs/guides/use-nano-text-editor-commands/) guide if you're not familiar with Nano. +The examples in this section use the Nano text editor. Refer to the [Nano Text Editor Commands](/cloud/guides/use-nano-text-editor-commands/) guide if you're not familiar with Nano. {{< /note >}} 1. To keep your credentials secure, using a text editor, create the example script in the root user's home directory, and run all your Restic scripts as the root user. The example uses the Nano text editor. diff --git a/docs/guides/security/basics/advanced-ssh-server-security/index.md b/docs/guides/security/basics/advanced-ssh-server-security/index.md index f99030262c2..d4c61bf6d78 100644 --- a/docs/guides/security/basics/advanced-ssh-server-security/index.md +++ b/docs/guides/security/basics/advanced-ssh-server-security/index.md @@ -18,7 +18,7 @@ There's a good chance you've been using SSH (Secure Shell) to access your Linode ![Use Advanced OpenSSH Features to Harden Access to Your Linode](advanced-ssh-server-security.png "Use Advanced OpenSSH Features to Harden Access to Your Linode") -[OpenSSH](http://www.openssh.com/) is a suite of connectivity tools that sysadmins use daily to access remote servers. From a security point of view, it's the 'front door' for remote logins so it is extremely important to harden SSH as much as possible. The aim of this guide is to build upon our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide with easy steps that can be implemented in just a few minutes. +[OpenSSH](http://www.openssh.com/) is a suite of connectivity tools that sysadmins use daily to access remote servers. From a security point of view, it's the 'front door' for remote logins so it is extremely important to harden SSH as much as possible. The aim of this guide is to build upon our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide with easy steps that can be implemented in just a few minutes. **Assumptions:** @@ -27,9 +27,9 @@ There's a good chance you've been using SSH (Secure Shell) to access your Linode ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -2. Follow the [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, create a basic firewall rule set and remove unnecessary network services. +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 to create a standard user account, harden SSH access, create a basic firewall rule set and remove unnecessary network services. 3. Log in to your Linode via SSH and check for updates using the corresponding package manager: `apt` (Ubuntu/Debian) or `yum` (RHEL/CentOS) . @@ -40,7 +40,7 @@ There's a good chance you've been using SSH (Secure Shell) to access your Linode sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.BACKUP {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/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 our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Use a Stronger Diffie-Hellman Algorithm @@ -111,7 +111,7 @@ Remember to restart your SSH service after changes have been made: ## Use a Strong Password for your Key-pair -In the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, you're encouraged to use SSH Key Pair Authentication. This is not optional if you are serious about security. But what about remote users that connect to the server with their laptops, which are susceptible to be stolen or lost? Here is where protecting your private key with a strong password or passphrase comes in, at least to gain time before changing the server keys. A strong password shouldn't be dictionary based. If security is your main concern, the convenience of an easy to remember password isn't adequate. [OpenSSL](https://www.openssl.org/) offers an easy way to generate pseudo-random passwords: +In the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, you're encouraged to use SSH Key Pair Authentication. This is not optional if you are serious about security. But what about remote users that connect to the server with their laptops, which are susceptible to be stolen or lost? Here is where protecting your private key with a strong password or passphrase comes in, at least to gain time before changing the server keys. A strong password shouldn't be dictionary based. If security is your main concern, the convenience of an easy to remember password isn't adequate. [OpenSSL](https://www.openssl.org/) offers an easy way to generate pseudo-random passwords: openssl rand -base64 32 @@ -127,7 +127,7 @@ To add the generated password to your existing private key: This assumes you keep your client's private SSH key in its default location, `~/.ssh/id_rsa`. You can modify the file location as needed and use the same command to change your password in the future. -An alternative to this method is the use of a [GPG smartcard](https://en.wikipedia.org/wiki/OpenPGP_card) or [YubiKey](https://www.yubico.com/products/yubikey-hardware/) which should be stored in a different place from your laptop. You can find more information about this implementation in the guide [How to use a GPG key for SSH authentication](/docs/guides/gpg-key-for-ssh-authentication/) +An alternative to this method is the use of a [GPG smartcard](https://en.wikipedia.org/wiki/OpenPGP_card) or [YubiKey](https://www.yubico.com/products/yubikey-hardware/) which should be stored in a different place from your laptop. You can find more information about this implementation in the guide [How to use a GPG key for SSH authentication](/cloud/guides/gpg-key-for-ssh-authentication/) ## Chroot Users diff --git a/docs/guides/security/basics/app-security-testing-tools/index.md b/docs/guides/security/basics/app-security-testing-tools/index.md index f1bbf953d22..d789b76ac5e 100644 --- a/docs/guides/security/basics/app-security-testing-tools/index.md +++ b/docs/guides/security/basics/app-security-testing-tools/index.md @@ -14,7 +14,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' Application security testing products come in two basic groups and you need more than one. The umbrella groups: testing and shielding. The former run various automated and manual tests on your code to identify security weaknesses. The application shielding products are used to harden your apps to make attacks more difficult to implement. These products go beyond the testing process and are used to be more proactive in your protection and flag bad spots as you write the code within your development environment. -The two previous guides in this series explained [why automation is useful for application developers](/docs/guides/security-automation-business) and what are two common app security problems that can lead towards security issues. This guide delves into the differences between the tools and reviews and recommends a series of application security testing products. +The two previous guides in this series explained [why automation is useful for application developers](/cloud/guides/security-automation-business) and what are two common app security problems that can lead towards security issues. This guide delves into the differences between the tools and reviews and recommends a series of application security testing products. The testing tools fall into three different categories: diff --git a/docs/guides/security/basics/cloud-security-checklist/index.md b/docs/guides/security/basics/cloud-security-checklist/index.md index bedfc954568..58925720287 100644 --- a/docs/guides/security/basics/cloud-security-checklist/index.md +++ b/docs/guides/security/basics/cloud-security-checklist/index.md @@ -60,7 +60,7 @@ Misconfigurations are the most common reason for breaches, but not the only one. ### Have a Comprehensive Data Backup and Recovery Plan -Data can be lost on-premise as well as in the cloud due to a variety of reasons, from hardware failure to malicious actions such as ransomware. A comprehensive backup and restoration plan spanning on-premise to the cloud is an essential part of an organization’s data protection plan to survive and recover from a security event. Create an extensive backup strategy that defines which data must be backed up, how often that data must be backed up, and monitor backup and recovery tasks. Backups can be done on-premise, off-site, or through your CSP. See the [How to Prevent a Ransomware Attack](/docs/guides/ransomware-attack/#how-to-prevent-a-ransomware-attack) section of our guide on preventing ransomware attacks for more information. +Data can be lost on-premise as well as in the cloud due to a variety of reasons, from hardware failure to malicious actions such as ransomware. A comprehensive backup and restoration plan spanning on-premise to the cloud is an essential part of an organization’s data protection plan to survive and recover from a security event. Create an extensive backup strategy that defines which data must be backed up, how often that data must be backed up, and monitor backup and recovery tasks. Backups can be done on-premise, off-site, or through your CSP. See the [How to Prevent a Ransomware Attack](/cloud/guides/ransomware-attack/#how-to-prevent-a-ransomware-attack) section of our guide on preventing ransomware attacks for more information. ### Security Patches and Updates diff --git a/docs/guides/security/basics/confidential-computing/index.md b/docs/guides/security/basics/confidential-computing/index.md index 90836255b85..47f8c08dd7a 100644 --- a/docs/guides/security/basics/confidential-computing/index.md +++ b/docs/guides/security/basics/confidential-computing/index.md @@ -20,7 +20,7 @@ The Consortium was launched in August, 2019 under the wing of the Linux Foundati Cloud computing technology walls off sensitive data in a protected enclave in a CPU during processing – aka data in use. The data tucked inside – and the processing munching on it – are only accessible by authorized computer code. No one and nothing else can detect its presence. Think of it as a black box. Once the processing is done, the data reverts to another state – either at rest (stored) or in transit (migrating to another destination). -The primary goal is to make accessing data stored in the cloud and allowing cloud services to access sensitive data residing anywhere, safe for the most sensitive of data and workloads. It’s a tall order in an age with an increasing amount of [cyber attacks](/docs/guides/types-of-cyber-attacks/#the-major-cyber-attacks). But that’s exactly why a new approach and a team of protectors are so sorely needed. +The primary goal is to make accessing data stored in the cloud and allowing cloud services to access sensitive data residing anywhere, safe for the most sensitive of data and workloads. It’s a tall order in an age with an increasing amount of [cyber attacks](/cloud/guides/types-of-cyber-attacks/#the-major-cyber-attacks). But that’s exactly why a new approach and a team of protectors are so sorely needed. ## Confidential Computing Use Cases diff --git a/docs/guides/security/basics/cpanel-security/index.md b/docs/guides/security/basics/cpanel-security/index.md index fb6a5120030..d06e4efedd5 100644 --- a/docs/guides/security/basics/cpanel-security/index.md +++ b/docs/guides/security/basics/cpanel-security/index.md @@ -31,9 +31,9 @@ In order to secure your cPanel account, you need to have a Linux server with the - cPanel -For a quick an easy way to install cPanel on Linode, check out our guide on [How to Deploy cPanel with Quick Deploy Apps](/docs/marketplace-docs/guides/cpanel/). +For a quick an easy way to install cPanel on Linode, check out our guide on [How to Deploy cPanel with Quick Deploy Apps](/cloud/marketplace-docs/guides/cpanel/). -Otherwise, you can find instructions on how to manually install cPanel in our guide on [How to Install cPanel on CentOS](/docs/guides/install-cpanel-on-centos/). +Otherwise, you can find instructions on how to manually install cPanel in our guide on [How to Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos/). This guide provides instructions on how to secure a cPanel account. Once cPanel is installed, log in as the `root` user and complete the steps to [Create a New Account](https://docs.cpanel.net/whm/account-functions/create-a-new-account/). If you are running cPanel on a Linode as a reseller, you can provide this guide to your account holders to assist them in managing their accounts securely. @@ -101,7 +101,7 @@ You can specify SSH access through the use of SSH keys for authentication. This 1. Click **Manage SSH Keys**. -1. You have the options of importing an already created key generating your own key pair. For guidance and information on using and creating SSH Keys, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +1. You have the options of importing an already created key generating your own key pair. For guidance and information on using and creating SSH Keys, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). ![Select 'Generate a New Key' or 'Import Key'.](cpanel-ssh-access.png "Select 'Generate a New Key' or 'Import Key'.") diff --git a/docs/guides/security/basics/dnssec/index.md b/docs/guides/security/basics/dnssec/index.md index 044ca985e81..3053ffbdcb9 100644 --- a/docs/guides/security/basics/dnssec/index.md +++ b/docs/guides/security/basics/dnssec/index.md @@ -78,14 +78,14 @@ The chain of trust is a key concept in DNSSEC. It establishes that each DNSSEC-e ## 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 is for 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 is for 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. Set the timezone, configure your hostname, and create a limited user account. To follow along with this guide, give your server the hostname `ns1.yourdomainhere.com`, replacing `yourdomainhere.com` with your own domain name. Also be sure to configure the hosts file with your hostname and external IP addresses. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. Set the timezone, configure your hostname, and create a limited user account. To follow along with this guide, give your server the hostname `ns1.yourdomainhere.com`, replacing `yourdomainhere.com` with your own domain name. Also be sure to configure the hosts file with your hostname and external IP addresses. -1. Follow our Introduction to [DNS on Linux](/docs/guides/introduction-to-dns-on-linux) guide to set up a functional primary name server. +1. Follow our Introduction to [DNS on Linux](/cloud/guides/introduction-to-dns-on-linux) guide to set up a functional primary name server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Enable DNSSEC Using NSD @@ -134,7 +134,7 @@ This guide uses the `yourdomianhere.com` domain as an example. Replace this addr export KSK=`/usr/bin/ldns-keygen -k -a ECDSAP256SHA256 -b 2048 yourdomainehere.com` ``` -1. **Optional**: Capture the ZSK and KSK variables for later reuse in the [Zone Maintenance](/docs/guides/dnssec/#zone-maintenance) section. +1. **Optional**: Capture the ZSK and KSK variables for later reuse in the [Zone Maintenance](/cloud/guides/dnssec/#zone-maintenance) section. ```command echo $ZSK > yourdomainhere.com.zsk diff --git a/docs/guides/security/basics/docker-security-essentials/index.md b/docs/guides/security/basics/docker-security-essentials/index.md index cc30b741126..2393c8ed2cd 100644 --- a/docs/guides/security/basics/docker-security-essentials/index.md +++ b/docs/guides/security/basics/docker-security-essentials/index.md @@ -21,25 +21,25 @@ Docker utilizes the host OS Kernel, which makes Docker containers more efficient ## Prerequisites and Requirements -In order to secure Docker containers, you need to have a Linux server with Docker running. For a quick an easy way to install Docker on Linode, check out our guide on [How to Deploy Docker with Quick Deploy Apps](/docs/marketplace-docs/guides/docker/). Otherwise, you can find instructions on how to manually install Docker in [Installing and Using Docker on Ubuntu and Debian](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/). +In order to secure Docker containers, you need to have a Linux server with Docker running. For a quick an easy way to install Docker on Linode, check out our guide on [How to Deploy Docker with Quick Deploy Apps](/cloud/marketplace-docs/guides/docker/). Otherwise, you can find instructions on how to manually install Docker in [Installing and Using Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). {{< note >}} This demonstration has been performed on Ubuntu 18.04. All techniques demonstrated are distribution agnostic with the exception of package names and package managers. {{< /note >}} -This guide assumes you are familiar with using Docker and Dockerfiles. For additional guidance, see our guide on [How to Use Dockerfiles](/docs/guides/how-to-use-dockerfiles/). +This guide assumes you are familiar with using Docker and Dockerfiles. For additional guidance, see our guide on [How to Use Dockerfiles](/cloud/guides/how-to-use-dockerfiles/). ## 8 Best Practices for Docker Host Security The security of the host kernel and operating system directly correlates to the security of your Docker containers given their utilization of the host kernel. It is therefore vitally important to keep your host secure. The following steps outline various security best practices to consider for securing your Docker host: -1. [Secure and harden](/docs/products/compute/compute-instances/guides/set-up-and-secure/) your host OS. +1. [Secure and harden](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) your host OS. 1. Ensure your host is kept updated. 1. Ensure you have the latest version of Docker running. 1. Consider the use of a minimal Linux distribution such as Alpine that offers a much smaller threat surface. 1. Add your host and containers to a robust vulnerability management plan and constantly scan your host and containers for vulnerabilities. 1. Only run the services you need to run. -1. Ensure your kernel is [up to date](/docs/products/compute/compute-instances/guides/manage-the-kernel/). +1. Ensure your kernel is [up to date](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance). 1. Keep up with the latest vulnerability news for the Linux kernel and the Docker platform. ## Running Docker Containers with an Unprivileged User diff --git a/docs/guides/security/basics/how-to-configure-automated-security-updates-centos/index.md b/docs/guides/security/basics/how-to-configure-automated-security-updates-centos/index.md index 59287f834f3..0778e1b9e70 100644 --- a/docs/guides/security/basics/how-to-configure-automated-security-updates-centos/index.md +++ b/docs/guides/security/basics/how-to-configure-automated-security-updates-centos/index.md @@ -22,15 +22,15 @@ Keeping your system up-to-date with the latest packages and security updates can ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, and harden SSH access. +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 create a standard user account, and harden SSH access. 1. Log into your Linode via SSH and update. 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, see 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, see our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install dnf-automatic diff --git a/docs/guides/security/basics/how-to-configure-automated-security-updates-debian/index.md b/docs/guides/security/basics/how-to-configure-automated-security-updates-debian/index.md index c896ac5dced..891465e4522 100644 --- a/docs/guides/security/basics/how-to-configure-automated-security-updates-debian/index.md +++ b/docs/guides/security/basics/how-to-configure-automated-security-updates-debian/index.md @@ -22,15 +22,15 @@ Keeping your system up-to-date with the latest packages and security updates can ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, and harden SSH access. +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 create a standard user account, and harden SSH access. 1. Log into your Linode via SSH and update and upgrade. sudo apt update && sudo apt upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/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 our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Unattended Upgrades diff --git a/docs/guides/security/basics/how-to-configure-automated-security-updates-ubuntu/index.md b/docs/guides/security/basics/how-to-configure-automated-security-updates-ubuntu/index.md index 14ffeaae26b..e5d9cf4e779 100644 --- a/docs/guides/security/basics/how-to-configure-automated-security-updates-ubuntu/index.md +++ b/docs/guides/security/basics/how-to-configure-automated-security-updates-ubuntu/index.md @@ -22,15 +22,15 @@ Keeping your system up-to-date with the latest packages and security updates can ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, and harden SSH access. +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 create a standard user account, and harden SSH access. 1. Log into your Linode via SSH and update and upgrade. sudo apt update && sudo apt upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/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 our [Users and Groups](/cloud/guides/linux-users-and-groups) guide. {{< /note >}} ## Install Unattended Upgrades diff --git a/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md b/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md index 6a60caf77cb..0bdd94cb57c 100644 --- a/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md +++ b/docs/guides/security/basics/how-to-secure-phpmyadmin/index.md @@ -133,7 +133,7 @@ After restarting Apache2, the homepage for phpMyAdmin, will be freely accessible Login can be completed using the credentials that were created at the prompt when installing phpMyAdmin. {{< note >}} -While not included in this guide or a base installation of phpMyAdmin, it is strongly recommended that [SSL/TLS is installed](/docs/guides/ssl-apache2-debian-ubuntu/) before entering any credentials over `http`, using only `https` on port `443` instead. +While not included in this guide or a base installation of phpMyAdmin, it is strongly recommended that [SSL/TLS is installed](/cloud/guides/ssl-apache2-debian-ubuntu/) before entering any credentials over `http`, using only `https` on port `443` instead. {{< /note >}} ## Changing phpMyAdmin Alias diff --git a/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md b/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md index 1788efe5e8a..deca6ac0bc1 100644 --- a/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md +++ b/docs/guides/security/basics/how-to-use-fail2ban-for-ssh-brute-force-protection/index.md @@ -22,15 +22,15 @@ Brute-force attacks can be extremely powerful and may result in thousands of fai This guide uses Ubuntu, but the commands are similar for other systems. {{< /note >}} -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -1. Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, and harden SSH access, but do not create a basic firewall. +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 create a standard user account, and harden SSH access, but do not create a basic firewall. 1. Log into your Linode via SSH and update and upgrade. sudo apt update && sudo apt upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see our [Users and Groups](/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 our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Installing And Configuring Fail2Ban @@ -198,4 +198,4 @@ You have successfully been able to set up, implement, test, and analyze Fail2Ban ## Next Steps -For more detailed information on Fail2Ban, including setting up email alerts and writing regular expressions to filter and parse log files, see the [Using Fail2ban to Secure Your Server - A Tutorial](/docs/products/compute/compute-instances/guides/set-up-and-secure/#use-fail2ban-for-ssh-login-protection) guide. +For more detailed information on Fail2Ban, including setting up email alerts and writing regular expressions to filter and parse log files, see the [Using Fail2ban to Secure Your Server - A Tutorial](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#use-fail2ban-for-ssh-login-protection) guide. diff --git a/docs/guides/security/basics/ransomware-attack/index.md b/docs/guides/security/basics/ransomware-attack/index.md index 35a16623669..3c7b595172b 100644 --- a/docs/guides/security/basics/ransomware-attack/index.md +++ b/docs/guides/security/basics/ransomware-attack/index.md @@ -40,7 +40,7 @@ The ability of intruders to access the network, and then wait undetected, before A [Twitter thread by security researcher Ming Zhao](https://twitter.com/FabiusMercurius/status/1413601716918910978) shows the depth of the ransomware marketplace and the variety of actors. The flow of funds from victims to criminals, how their attacks have grown, and how the price of cryptocurrency influences their actions, are also revealed in this thread. -Ransomware criminals count on several weak links in an IT department’s governance that often leave entry points easily exposed. For example, there are [numerous open network ports](/docs/guides/check-linux-ports-in-use/) that aren’t carefully monitored, or infrastructure that isn’t consistently managed or maintained with delays in patching and deploying system updates. The role of backups has completely changed in the ransomware era. Attackers are more adept at penetrating networks which forces backup strategies to become more sophisticated and cover a wider variety of circumstances, threat models, and conditions. As more of us use our smartphones for work purposes, this means that we store data on our phones, making corporate backup solutions ineffective if our phones are lost or stolen. Backup tools also weren't initially designed for heavily virtualized and cloud computing environments, which makes them difficult to scale as virtual and cloud servers are brought online. +Ransomware criminals count on several weak links in an IT department’s governance that often leave entry points easily exposed. For example, there are [numerous open network ports](/cloud/guides/check-linux-ports-in-use/) that aren’t carefully monitored, or infrastructure that isn’t consistently managed or maintained with delays in patching and deploying system updates. The role of backups has completely changed in the ransomware era. Attackers are more adept at penetrating networks which forces backup strategies to become more sophisticated and cover a wider variety of circumstances, threat models, and conditions. As more of us use our smartphones for work purposes, this means that we store data on our phones, making corporate backup solutions ineffective if our phones are lost or stolen. Backup tools also weren't initially designed for heavily virtualized and cloud computing environments, which makes them difficult to scale as virtual and cloud servers are brought online. There are a variety of delivery systems for ransomware. Phished email is most common, but there are other mechanisms that involve malware-infected smartphone apps that masquerade as innocent tools or games, infected software injected into supply chains, or websites that contain malware that can be inadvertently downloaded. Phishing can also come from a poisoned SMS text (Smishing), a voicemail message (vishing) or an instant message. diff --git a/docs/guides/security/basics/remove-unused-network-facing-services/index.md b/docs/guides/security/basics/remove-unused-network-facing-services/index.md index da14fb1bad7..2df6939b8cc 100644 --- a/docs/guides/security/basics/remove-unused-network-facing-services/index.md +++ b/docs/guides/security/basics/remove-unused-network-facing-services/index.md @@ -42,7 +42,7 @@ UDP sockets are *[stateless](https://en.wikipedia.org/wiki/Stateless_protocol)*, A basic TCP and UDP [nmap](https://nmap.org/) scan of your Linode without a firewall enabled would show SSH and possibly other services listening for incoming connections. By [configuring a firewall](#configure-a-firewall) you can filter those ports to your requirements. Ideally, the unused services should be disabled. -You will likely be administering your server primarily through an SSH connection, so that service needs to stay. As mentioned above, [RSA keys](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key) and [Fail2Ban](/docs/products/compute/compute-instances/guides/set-up-and-secure/#use-fail2ban-for-ssh-login-protection) can help protect SSH. System services like `chronyd`, `systemd-resolved`, and `dnsmasq` are usually listening on localhost and only occasionally contacting the outside world. Services like this are part of your operating system and will cause problems if removed and not properly substituted. +You will likely be administering your server primarily through an SSH connection, so that service needs to stay. As mentioned above, [RSA keys](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key) and [Fail2Ban](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#use-fail2ban-for-ssh-login-protection) can help protect SSH. System services like `chronyd`, `systemd-resolved`, and `dnsmasq` are usually listening on localhost and only occasionally contacting the outside world. Services like this are part of your operating system and will cause problems if removed and not properly substituted. However, some services are unnecessary and should be removed unless you have a specific need for them. Some examples could be [Exim](https://www.exim.org/), [Apache](https://httpd.apache.org/) and [RPC](https://en.wikipedia.org/wiki/Open_Network_Computing_Remote_Procedure_Call). diff --git a/docs/guides/security/basics/secure-web-server/index.md b/docs/guides/security/basics/secure-web-server/index.md index 6e0db40ea48..07f3c7cd977 100644 --- a/docs/guides/security/basics/secure-web-server/index.md +++ b/docs/guides/security/basics/secure-web-server/index.md @@ -40,7 +40,7 @@ Users generate requests from their web browsers and this entire software infrast Server security is just one aspect of overall digital security ethos. It includes using network firewalls to protect overall network infrastructure, and using anti-malware software to protect endpoint computers, among other tools. Security risks to web servers involve a series of [these general kinds of attacks](https://blog.avast.com/create-a-secure-web-server-avast), which are described in more detail in the next section. -First, be concerned if you are **not using the basic secure socket layer/transport layer security (SSL/TLS) protocols** to encrypt traffic across the internet. Hackers can launch various man-in-the-middle attacks and inject their own commands into the server control dialogues. They could also create backdoors to launch attacks against any online business. In a [report from the Synopsys Software Integrity Group](https://www.synopsys.com/software-integrity/resources/analyst-reports/software-vulnerability-trends.html), 80% of surveyed respondents said the most prevalent vulnerability was based on weak SSL/TLS configurations. Google already began forcing web servers to run HTTPS, which encrypts traffic between servers and browsers, rather than the unprotected HTTP protocol. For a basic tutorial about how and why to employ cryptography, [check out this guide](/docs/guides/what-is-cryptography/). +First, be concerned if you are **not using the basic secure socket layer/transport layer security (SSL/TLS) protocols** to encrypt traffic across the internet. Hackers can launch various man-in-the-middle attacks and inject their own commands into the server control dialogues. They could also create backdoors to launch attacks against any online business. In a [report from the Synopsys Software Integrity Group](https://www.synopsys.com/software-integrity/resources/analyst-reports/software-vulnerability-trends.html), 80% of surveyed respondents said the most prevalent vulnerability was based on weak SSL/TLS configurations. Google already began forcing web servers to run HTTPS, which encrypts traffic between servers and browsers, rather than the unprotected HTTP protocol. For a basic tutorial about how and why to employ cryptography, [check out this guide](/cloud/guides/what-is-cryptography/). Second, do not ignore **weaknesses in other internet protocols that could lead to security issues, including the Domain Name System (DNS)**. Attacks leveraging DNS can lead to Distributed Denial of Service (DDoS), for example. According to the [2019 Global DNS Threat Report from IDC](https://www.efficientip.com/resources/idc-dns-threat-report-2019/), most survey respondents have suffered a DNS-related attack in the past two years. An average of nearly ten attacks per company were reported, affecting almost half of the respondents’ websites. @@ -56,7 +56,7 @@ These methods can be, and are, combined in interesting ways in specific attacks. The [Open Web Application Security Project tracks the top ten exploits](https://owasp.org/www-project-top-ten/) and chronicles a broad consensus among application developers on the most critical security risks. It uses this as a reference to help eliminate these problems. The current list places **broken access controls** at the top of the list. One reason why it tops the list is because almost everyone has an application with faulty controls. They also appear more frequently than any other exploit in the [Mitre Common Weakness Enumeration data set](https://cwe.mitre.org/), an industry-wide collection of exploits. An example of this could be a server that has a simple or otherwise vulnerable administrative password, or an open storage container. -Another popular exploit method is [**SQL and other injection attacks**](/docs/guides/sql-injection-attack/). These are not new. The first mention of this attack was [back in 1998 in Phrack magazine](http://phrack.org/issues/54/8.html). The reason why injections remain popular is because it is relatively easy to fool a database server into thinking it is receiving a trusted query. This can lead towards eventual control over a web server and further data stealing. You don't need any specialized tools other than a web browser, and you don't need any specialized skills either. All a hacker has to do is use Google to search for the command sequence. It also doesn't take much time to launch an attack, and the payoffs can be huge. If successful, an intruder can easily obtain a copy of your most sensitive data in a few minutes. +Another popular exploit method is [**SQL and other injection attacks**](/cloud/guides/sql-injection-attack/). These are not new. The first mention of this attack was [back in 1998 in Phrack magazine](http://phrack.org/issues/54/8.html). The reason why injections remain popular is because it is relatively easy to fool a database server into thinking it is receiving a trusted query. This can lead towards eventual control over a web server and further data stealing. You don't need any specialized tools other than a web browser, and you don't need any specialized skills either. All a hacker has to do is use Google to search for the command sequence. It also doesn't take much time to launch an attack, and the payoffs can be huge. If successful, an intruder can easily obtain a copy of your most sensitive data in a few minutes. **DDoS attacks** also continue to be popular. Much due of the proliferation of various hacking tools that can quickly set them up for less than $100 a month in many cases. The attacks are designed to flood your servers with random traffic so they can’t respond to legitimate user queries. The [A10 Networks DDoS Threat Report for 2022](https://www.a10networks.com/wp-content/uploads/A10-EB-2022-DDoS-Threat-Report.pdf) reports that more than 15 million unique DDoS weapons were discovered during 2021. That's a huge increase from before the pandemic began. @@ -74,11 +74,11 @@ Many IT managers readily admit that their [**Active Directories are outdated**]( Next, **log all access events** and be able to highlight and then investigate unsuccessful attempts. Review your logs periodically. Don’t fall into the trap described in [Don Bowman's blog post, which shows how some attacks happen thanks to poor logging practice](https://blog.donbowman.ca/2018/09/17/they-got-in-via-the-logging-remote-exploits-and-ddos-using-the-security-logs/). There are a number of [log analyzers for Apache web servers](https://www.dnsstuff.com/apache-log-analyzer-tools), for example, that help you filter this data into more actionable intelligence. -**[**Minimize unused or unneeded services**](/docs/guides/remove-unused-network-facing-services/), plug-ins and other ancillary pieces of software** from your production servers. The unneeded plug-ins advice is particularly relevant to WordPress installations. Close down all unused ports and understand the purpose by which remaining IP ports are open. Read this [warning by the FBI about a 2017 breach](https://www.networkworld.com/article/3185873/fbi-warns-of-attacks-on-anonymous-ftp-servers.html) using FTP. This not only improves security but also increases overall server performance. +**[**Minimize unused or unneeded services**](/cloud/guides/remove-unused-network-facing-services/), plug-ins and other ancillary pieces of software** from your production servers. The unneeded plug-ins advice is particularly relevant to WordPress installations. Close down all unused ports and understand the purpose by which remaining IP ports are open. Read this [warning by the FBI about a 2017 breach](https://www.networkworld.com/article/3185873/fbi-warns-of-attacks-on-anonymous-ftp-servers.html) using FTP. This not only improves security but also increases overall server performance. -**Validate your inputs and strings** sent between your web and database servers, such as testing for range limits. Carefully scrutinize any inputs coming from web sources. This is typically done as part of the development environment that [you use to check your application code](/docs/guides/app-security-testing-tools/). +**Validate your inputs and strings** sent between your web and database servers, such as testing for range limits. Carefully scrutinize any inputs coming from web sources. This is typically done as part of the development environment that [you use to check your application code](/cloud/guides/app-security-testing-tools/). -**Have a [comprehensive program to manage all of your secrets](/docs/guides/how-to-setup-and-use-a-vault-server/)**. Do not store your encryption keys, administrator passwords, and [API keys](https://www.csoonline.com/article/3527858/apis-are-becoming-a-major-target-for-credential-stuffing-attacks.html) in a local text file or on a Post-It note. You want to protect these pieces of data and share them with the fewest possible number of authorized developers. Services such as [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), [AWS Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html), [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/), and [Hashicorp Vault](https://www.vaultproject.io/) are some examples of robust and scalable secrets management tools. +**Have a [comprehensive program to manage all of your secrets](/cloud/guides/how-to-setup-and-use-a-vault-server/)**. Do not store your encryption keys, administrator passwords, and [API keys](https://www.csoonline.com/article/3527858/apis-are-becoming-a-major-target-for-credential-stuffing-attacks.html) in a local text file or on a Post-It note. You want to protect these pieces of data and share them with the fewest possible number of authorized developers. Services such as [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/), [AWS Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html), [Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/), and [Hashicorp Vault](https://www.vaultproject.io/) are some examples of robust and scalable secrets management tools. Finally, **protect your DNS infrastructure**. This is important, and a basic internet building block. As part of this process, you are protecting all of your internet applications, not just the web-related ones. To do this properly, assess where your DNS bottlenecks lie and where internet-sourced traffic comes from. There are a number of tools that help in this analysis, such as [these free or inexpensive tools and online services](https://geekflare.com/dns-cdn-performance-comparison/). For example, DNSPerf shows you various metrics over the last month. This data is assembled by testing each provider every minute from 200 locations around the world. There are several ways to harden your DNS, such as using a public DNS provider that supports DNS security extensions. These providers have memorable DNS configurations, including Cloudflare (1.1.1.1), Google (8.8.8.8), and Quad 9 (9.9.9.9.). The cloud providers also have specific DNS service offerings: [Google has its Cloud DNS](https://cloud.google.com/dns/docs), Amazon has [AWS Route 53](https://aws.amazon.com/route53/?nc2=h_m1), and Microsoft has [Azure DNS](https://azure.microsoft.com/en-us/services/dns/). diff --git a/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md b/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md index 119842de5e3..0c8117320a6 100644 --- a/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md +++ b/docs/guides/security/basics/securing-apache2-with-modsecurity/index.md @@ -28,7 +28,7 @@ In order to install and configure ModSecurity, you need to have a Linux server w - Apache 2 -For instructions, see our guide on [How to Install Apache Web Server on Ubuntu](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. +For instructions, see our guide on [How to Install Apache Web Server on Ubuntu](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. {{< note >}} This demonstration has been performed on Ubuntu 20.04. However, all techniques demonstrated are distribution agnostic with the exception of package names and package managers. @@ -144,7 +144,7 @@ To begin using ModSecurity, enable it in the Apache configuration file by follow ``` - If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/docs/guides/ssl-apache2-debian-ubuntu/#configure-apache-to-use-the-ssl-certificate) for more information. + If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/#configure-apache-to-use-the-ssl-certificate) for more information. 1. Restart the apache2 service to apply the configuration: ``` diff --git a/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md b/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md index 39856f112cd..435f369dad0 100644 --- a/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md +++ b/docs/guides/security/basics/securing-nginx-with-modsecurity/index.md @@ -30,7 +30,7 @@ In order to install and configure ModSecurity, you need to have a Linux server w - Nginx -For instructions, see our guide on [How to Install NGINX on Ubuntu 18.04 LTS](/docs/guides/how-to-install-nginx-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. +For instructions, see our guide on [How to Install NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. {{< note >}} This demonstration has been performed on Ubuntu 18.04. However, all techniques demonstrated are distribution agnostic with the exception of package names and package managers. diff --git a/docs/guides/security/basics/securing-your-lamp-stack/index.md b/docs/guides/security/basics/securing-your-lamp-stack/index.md index c9f7d7468a6..f57c51e3a6c 100644 --- a/docs/guides/security/basics/securing-your-lamp-stack/index.md +++ b/docs/guides/security/basics/securing-your-lamp-stack/index.md @@ -27,9 +27,9 @@ In order to secure a LAMP stack, you need to have a Linux server with the follow - MySQL - PHP -For a quick an easy way to install a LAMP stack on Linode, check out our guide on [How to Deploy a LAMP Stack with Quick Deploy Apps](/docs/marketplace-docs/guides/lamp-stack/). +For a quick an easy way to install a LAMP stack on Linode, check out our guide on [How to Deploy a LAMP Stack with Quick Deploy Apps](/cloud/marketplace-docs/guides/lamp-stack/). -Otherwise, you can find instructions on how to manually install a LAMP stack in our guide on [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. +Otherwise, you can find instructions on how to manually install a LAMP stack in our guide on [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/). Installation instructions for several other Linux distributions are also accessible from this guide. {{< note >}} This demonstration has been performed on Ubuntu 18.04. However, all techniques demonstrated are distribution agnostic with the exception of package names and package managers. @@ -233,7 +233,7 @@ Permission denied, please try again. Key-based authentication utilizes asymmetric encryption to generate two keys that are used for the encryption and decryption of data. These two keys are called the public key and the private key. Together, they are called a public-private key-pair. -The public key is used to encrypt data which only the corresponding private key can decrypt. This process can also be repeated vice versa. As a result, the private key must be kept private and secure, whereas the public key can be shared. For more information, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +The public key is used to encrypt data which only the corresponding private key can decrypt. This process can also be repeated vice versa. As a result, the private key must be kept private and secure, whereas the public key can be shared. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). SSH key-pairs can be generated on your local machine by using the `ssh-keygen` utility, Then, you can upload the public key to your LAMP stack machine. @@ -244,12 +244,12 @@ SSH key-pairs can be generated on your local machine by using the `ssh-keygen` u If you've already created a key pair, skip this step. To check for existing keys, run `ls ~/.ssh/id_rsa*`. -If you accidentally lock yourself out of the SSH service on your Linode, you can still use the [Lish](/docs/products/compute/compute-instances/guides/lish/) console to login to your server. After you've logged in via Lish, update your `authorized_keys` file to use your new public key. This should re-establish normal SSH access. +If you accidentally lock yourself out of the SSH service on your Linode, you can still use the [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) console to login to your server. After you've logged in via Lish, update your `authorized_keys` file to use your new public key. This should re-establish normal SSH access. {{< /note >}} ssh-keygen -b 4096 -1. Enter the default names and directories for the private key `id_rsa` and the public key `id_rsa.pub`. You can optionally set a [private key passphrase](/docs/guides/use-public-key-authentication-with-ssh/#ssh-private-key-passphrases) for an additional layer of security. +1. Enter the default names and directories for the private key `id_rsa` and the public key `id_rsa.pub`. You can optionally set a [private key passphrase](/cloud/guides/use-public-key-authentication-with-ssh/#ssh-private-key-passphrases) for an additional layer of security. 1. The key-pair is generated and saved in your ssh directory in `~/.ssh`. @@ -450,7 +450,7 @@ Data read: 0.95 MB (ratio 2.55:1) Time: 68.775 sec (1 m 8 s) {{< /output >}} -For more instructions on using ClamAV, see our guide on [Scanning for Vulnerabilities with ClamAV](/docs/guides/scanning-your-linode-for-malware/). +For more instructions on using ClamAV, see our guide on [Scanning for Vulnerabilities with ClamAV](/cloud/guides/scanning-your-linode-for-malware/). ## Configuring ModSecurity on Apache2 @@ -555,7 +555,7 @@ To begin using ModSecurity, enable it in the Apache configuration file by follow {{< /file >}} - If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/docs/guides/ssl-apache2-debian-ubuntu/#configure-apache-to-use-the-ssl-certificate) for more information. + If you are running a website that uses SSL, add `SecRuleEngine` directive to that website's configuration file as well. See our guide on [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/#configure-apache-to-use-the-ssl-certificate) for more information. 1. Restart the apache2 service to apply the configuration: diff --git a/docs/guides/security/basics/security-automation-business/index.md b/docs/guides/security/basics/security-automation-business/index.md index 932f74b6974..2857df02e52 100644 --- a/docs/guides/security/basics/security-automation-business/index.md +++ b/docs/guides/security/basics/security-automation-business/index.md @@ -20,7 +20,7 @@ There are several trends that make this already difficult situation all the more - **Attacks continue to happen with regularity**, because bad actors are getting better at hiding inside networks without being detected. The [SolarWinds compromises happened months](https://www.csoonline.com/article/3613571/the-solarwinds-hack-timeline-who-knew-what-and-when.html) after the initial penetration of their networks, and was covered widely in the news. Other malware campaigns, such as [RotaJakiro that has remained hidden inside numerous Linux-based systems for years](https://www.zdnet.com/article/rotajakiro-a-linux-backdoor-that-has-flown-under-the-radar-for-years/), is also notable. -- **Enterprise apps are constantly being updated, creating protection challenges**. The days when an IT shop would take months to refine requirements and then build and test prototypes are a thing of the past. Now, daily and sometimes hourly builds are commonplace. This means that security tools have to work in this ever-changing world and find issues with code quickly. A delay of several hours is no longer effective. Take the example of a common error whereby a piece of code accepts unverified inputs. This can lead towards an [attack type called SQL injection](https://portswigger.net/web-security/sql-injection), something that has been around for decades, and which could lead to data leaks or account takeovers or lost revenues. Some of the common attack methods are discussed in the [Eight Common Types of Cyber Attacks and How to Prevent Them](/docs/guides/types-of-cyber-attacks/) guide. +- **Enterprise apps are constantly being updated, creating protection challenges**. The days when an IT shop would take months to refine requirements and then build and test prototypes are a thing of the past. Now, daily and sometimes hourly builds are commonplace. This means that security tools have to work in this ever-changing world and find issues with code quickly. A delay of several hours is no longer effective. Take the example of a common error whereby a piece of code accepts unverified inputs. This can lead towards an [attack type called SQL injection](https://portswigger.net/web-security/sql-injection), something that has been around for decades, and which could lead to data leaks or account takeovers or lost revenues. Some of the common attack methods are discussed in the [Eight Common Types of Cyber Attacks and How to Prevent Them](/cloud/guides/types-of-cyber-attacks/) guide. - **Hacking tools are now commodities**. Almost anyone can download an attack tool from numerous online sources and target your business network with just a few clicks of the mouse. Gartner, in its [report on the app security hype cycle](https://www.gartner.com/doc/3884178/hype-cycle-application-security-) said that IT managers “need to go beyond identifying common application development security errors and protecting against common attack techniques.” @@ -43,6 +43,6 @@ Automated detection makes sense, particularly as attackers get better at hiding There are numerous application security tools that integrate into your application development environment that can make the coding process and workflow simpler, more secure, and more effective. These tools are also useful if you are doing compliance audits, since they can save time and expense by catching problems before the auditors find them. But they are also useful in protecting your application's infrastructure. -In the [Understanding Total App Security](/docs/guides/security-weaknesses-in-web-apps/) guide, you learn about the typical coding mistakes that can lend towards security breaches. In the [final guide of this series](/docs/guides/app-security-testing-tools), you learn about some of the tools that can be used to help automate applications security. +In the [Understanding Total App Security](/cloud/guides/security-weaknesses-in-web-apps/) guide, you learn about the typical coding mistakes that can lend towards security breaches. In the [final guide of this series](/cloud/guides/app-security-testing-tools), you learn about some of the tools that can be used to help automate applications security. diff --git a/docs/guides/security/basics/security-testing/index.md b/docs/guides/security/basics/security-testing/index.md index 480eba782af..52726837787 100644 --- a/docs/guides/security/basics/security-testing/index.md +++ b/docs/guides/security/basics/security-testing/index.md @@ -50,7 +50,7 @@ Dynamic application security testing (DAST) tools examine applications while the One popular technique employed by DAST tools is the use of fuzzing. This is the practice of deliberately providing software with unexpected or illegal values, often at high rates and/or in high volumes. -Consider the example of network routing software. A fuzzing tool might bombard routing software with illegal and constantly iterating values for every field in the [IP header of every packet](/docs/guides/how-to-understand-ip-addresses/#what-is-an-internet-protocol). Fuzzing tests often expose memory leaks or trigger hangs and reboots. They represent an excellent way to detect problems relatively early in development. +Consider the example of network routing software. A fuzzing tool might bombard routing software with illegal and constantly iterating values for every field in the [IP header of every packet](/cloud/guides/how-to-understand-ip-addresses/#what-is-an-internet-protocol). Fuzzing tests often expose memory leaks or trigger hangs and reboots. They represent an excellent way to detect problems relatively early in development. Examples of DAST tools include [Acunetix](https://www.acunetix.com/plp/dast/), [AppSider](https://www.rapid7.com/products/appspider/), [CheckMarx AST](https://checkmarx.com/product/application-security-platform/), [GitLab](https://about.gitlab.com/enterprise/), [InsightAppSec](https://www.rapid7.com/products/insightappsec/), [Stackhawk](https://www.stackhawk.com/product/), and [Veracode](https://www.veracode.com/products/dynamic-analysis-dast). @@ -68,7 +68,7 @@ SQL injection test tools exist as a standalone category because injection attack For example, a successful SQL injection attack modifies a database by adding, updating, or deleting fields. It may expose personally identifiable information (PII) such as credit-card numbers or medical records. In some cases, SQL injection attacks also send commands to the underlying operating system. -Because SQL injection attacks are so common, numerous tools exist to automate testing of this class of vulnerabilities. Some examples include [SQLmap](https://sqlmap.org/), [jSQL Injection](https://github.com/ron190/jsql-injection), and [BBQSQL](https://github.com/CiscoCXSecurity/bbqsql). Another open-source tool, [NoSQLMap](https://github.com/codingo/NoSQLMap), automates testing of code-injection vulnerabilities in NoSQL databases such as [CouchDB](/docs/guides/install-couchdb-20-on-ubuntu/) and [MongoDB](/docs/guides/mongodb-introduction/). +Because SQL injection attacks are so common, numerous tools exist to automate testing of this class of vulnerabilities. Some examples include [SQLmap](https://sqlmap.org/), [jSQL Injection](https://github.com/ron190/jsql-injection), and [BBQSQL](https://github.com/CiscoCXSecurity/bbqsql). Another open-source tool, [NoSQLMap](https://github.com/codingo/NoSQLMap), automates testing of code-injection vulnerabilities in NoSQL databases such as [CouchDB](/cloud/guides/install-couchdb-20-on-ubuntu/) and [MongoDB](/cloud/guides/mongodb-introduction/). ### Software Composition Analysis @@ -98,7 +98,7 @@ The list below includes five ways that you can make optimal use of AST tools. - **Don’t trust third-party code**. Virtually all networked applications today include third-party components. [As a famous comic wryly observed](https://xkcd.com/2347/), modern infrastructure today might well depend on, “a project some random person in Nebraska has been thanklessly maintaining since 2003.” There are many excellent third-party components available, but the onus is on development teams to ensure any outsourced code is free from known vulnerabilities and kept up to date. SCA tools should be an essential part of any AST toolkit. -- **Integrate patch management into CI/CD processes**. With the proliferation of zero-day vulnerabilities, it’s no longer sufficient to task IT managers with patch management, the practice of continually updating software to guard against newly discovered attack vectors in software. Certainly patch management is important in production settings, but it’s also critical in earlier stages of the software lifecycle. [Continuous development and integration (CI/CD)](/docs/guides/introduction-ci-cd/) teams need to include patching as part of their development processes, and ensure vulnerabilities are mitigated as soon as they’re discovered. This is particularly true when incorporating third-party components such as open-source libraries; those also need to be patched as soon as those projects announce fixes for known vulnerabilities. +- **Integrate patch management into CI/CD processes**. With the proliferation of zero-day vulnerabilities, it’s no longer sufficient to task IT managers with patch management, the practice of continually updating software to guard against newly discovered attack vectors in software. Certainly patch management is important in production settings, but it’s also critical in earlier stages of the software lifecycle. [Continuous development and integration (CI/CD)](/cloud/guides/introduction-ci-cd/) teams need to include patching as part of their development processes, and ensure vulnerabilities are mitigated as soon as they’re discovered. This is particularly true when incorporating third-party components such as open-source libraries; those also need to be patched as soon as those projects announce fixes for known vulnerabilities. - **Think negative thoughts**. Especially in early-stage unit testing, it’s all too common to design tests that merely verify a component works as intended. Attackers don’t think this way, and neither should developers. Negative testing – presenting applications with unexpected values – should be part of every test plan. @@ -106,7 +106,7 @@ The list below includes five ways that you can make optimal use of AST tools. ## Conclusion -To reduce the risk of malicious attacks on your applications, it's important to use application security testing tools to mitigate any vulnerabilities. This guide covered some of the most important areas of AST, like static application security testing, dynamic application security testing, and SQL injecting testing. These areas help cover security throughout an application's technology stack and the software development lifecycle. See the [security basics](/docs/guides/security/basics/) section our documentation library to learn more about security best practices in information technology. +To reduce the risk of malicious attacks on your applications, it's important to use application security testing tools to mitigate any vulnerabilities. This guide covered some of the most important areas of AST, like static application security testing, dynamic application security testing, and SQL injecting testing. These areas help cover security throughout an application's technology stack and the software development lifecycle. See the [security basics](/cloud/guides/security/basics/) section our documentation library to learn more about security best practices in information technology. diff --git a/docs/guides/security/basics/security-weaknesses-in-web-apps/index.md b/docs/guides/security/basics/security-weaknesses-in-web-apps/index.md index c1862b462a3..dfeb3f53491 100644 --- a/docs/guides/security/basics/security-weaknesses-in-web-apps/index.md +++ b/docs/guides/security/basics/security-weaknesses-in-web-apps/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/guides/understanding-total-app-security/'] --- -The [Why Security Automation is Needed for Today’s Modern Business](/docs/guides/security-automation-business) guide discusses the need for automating application security. Many developers are [moving “left” towards the earliest possible moment](https://tldrsec.com/blog/score-bot-shift-left-at-scale/) in the application development life cycle to ensure the most secure code. This guide discusses ways to approach coding your app more critically. It also outlines some of the more common security weaknesses and coding errors that could lead to subsequent problems. +The [Why Security Automation is Needed for Today’s Modern Business](/cloud/guides/security-automation-business) guide discusses the need for automating application security. Many developers are [moving “left” towards the earliest possible moment](https://tldrsec.com/blog/score-bot-shift-left-at-scale/) in the application development life cycle to ensure the most secure code. This guide discusses ways to approach coding your app more critically. It also outlines some of the more common security weaknesses and coding errors that could lead to subsequent problems. One way to keep aware of the software vulnerabilities that attackers are likely to exploit is [MITRE's annual Common Weakness Enumeration (CWE) Most Dangerous Software Weaknesses](https://cwe.mitre.org/top25/archive/2020/2020_cwe_top25.html) list. MITRE tracks these by assigning them a number that indicates their severity and how likely it is that each may occur. @@ -52,4 +52,4 @@ Take a look at the book [Alice and Bob Learn Application Security](https://www.a Some sources for online instruction are app sec classes at [Coursera](https://www.coursera.org/courses?query=application%2520security), [OWASP](https://training.owasp.org/), and [SANS](https://www.sans.org/cyber-security-courses/?msc=main-nav). -The next guide in this series,[An Overview of App Security Testing Tool](/docs/guides/app-security-testing-tools), discusses different types of security testing tools with links to various application testing and shielding products. \ No newline at end of file +The next guide in this series,[An Overview of App Security Testing Tool](/cloud/guides/app-security-testing-tools), discusses different types of security testing tools with links to various application testing and shielding products. \ No newline at end of file diff --git a/docs/guides/security/basics/software-security-best-practices/index.md b/docs/guides/security/basics/software-security-best-practices/index.md index 36f112324a7..7f044b5a8bc 100644 --- a/docs/guides/security/basics/software-security-best-practices/index.md +++ b/docs/guides/security/basics/software-security-best-practices/index.md @@ -54,7 +54,7 @@ There are a number of best practices you can employ to access the highest applic - **Catalog your software assets** and how they are protected. This exercise isn’t trivial, because it can help you quickly locate a compromised computer and have you block any future unauthorized access. -- **Use encryption often**. Use hashes to store private data, [use HTTPS to encrypt your web traffic](/docs/guides/enabling-https-using-certbot/) everywhere, and choose the strongest possible encryption algorithms whenever possible. +- **Use encryption often**. Use hashes to store private data, [use HTTPS to encrypt your web traffic](/cloud/guides/enabling-https-using-certbot/) everywhere, and choose the strongest possible encryption algorithms whenever possible. - On a related note, **secure your secrets**. Ensure that your tokens for third-party encryption services are secured properly and managed by the right trusted staffers. @@ -84,6 +84,6 @@ A more complete catalog of these tools can be found in these sources: ## Conclusion -To learn more about application security, [check out this guide which discusses two of the more common application exploits](/docs/guides/security-weaknesses-in-web-apps/) that can be prevented by using some of the above tools. You can also refer to this author's [more in depth discussion about the need for application security](/docs/guides/security-weaknesses-in-web-apps/). For more details about best practices in container security, read the [How to Improve Container Security](https://www.csoonline.com/article/3388025/how-to-improve-container-security.html) article. +To learn more about application security, [check out this guide which discusses two of the more common application exploits](/cloud/guides/security-weaknesses-in-web-apps/) that can be prevented by using some of the above tools. You can also refer to this author's [more in depth discussion about the need for application security](/cloud/guides/security-weaknesses-in-web-apps/). For more details about best practices in container security, read the [How to Improve Container Security](https://www.csoonline.com/article/3388025/how-to-improve-container-security.html) article. -You can also checkout our [documentation library's security section](/docs/guides/security/) to find guides on installing and using popular open source security tools. +You can also checkout our [documentation library's security section](/cloud/guides/security/) to find guides on installing and using popular open source security tools. diff --git a/docs/guides/security/basics/sql-injection-attack/index.md b/docs/guides/security/basics/sql-injection-attack/index.md index fb2ea6dcc11..f3bdb2649ab 100644 --- a/docs/guides/security/basics/sql-injection-attack/index.md +++ b/docs/guides/security/basics/sql-injection-attack/index.md @@ -42,7 +42,7 @@ No matter the purpose of the attack, it can inflict tremendous consequences upon Any organization can be targeted, even personal websites and small forums. According to the [*Wikipedia SQL Injection page*](https://en.wikipedia.org/wiki/SQL_injection), the average web application is attacked around four times per month. New exploits are always being developed, and it is difficult to design a truly bulletproof site. However, many hackers target sites indiscriminately using brute force. A database that has been secured through a few basic techniques is much more secure and difficult to compromise. {{< note >}} -This guide is intended as an introduction to SQL injections and does not cover every possible type of attack. [Web security](/docs/guides/software-security-best-practices/) is a very complex field, and many possible attacks demand careful consideration. You should consult with web security professionals before launching any application that stores private personal or financial information. +This guide is intended as an introduction to SQL injections and does not cover every possible type of attack. [Web security](/cloud/guides/software-security-best-practices/) is a very complex field, and many possible attacks demand careful consideration. You should consult with web security professionals before launching any application that stores private personal or financial information. {{< /note >}} ### What is a SQL Query? @@ -165,7 +165,7 @@ To ensure a web application is not vulnerable to common web attacks, consider se - During the design specification process, document how to handle security threats. - At the implementation stage, build common classes or functions to sanitize input and detect suspicious data. Every client should call these routines to ensure every case is covered. -- Develop a strategy for input validation, also known as sanitization, to detect malicious input. All user-provided data should be verified to ensure it is legitimate. At the same time, valid input must still be allowed. See the section on [Preventing a SQL Injection Attack](/docs/guides/sql-injection-attack/#preventing-a-sql-injection-attack) for more information. +- Develop a strategy for input validation, also known as sanitization, to detect malicious input. All user-provided data should be verified to ensure it is legitimate. At the same time, valid input must still be allowed. See the section on [Preventing a SQL Injection Attack](/cloud/guides/sql-injection-attack/#preventing-a-sql-injection-attack) for more information. - Use established quality assurance techniques and tools to ensure common SQLi attacks are blocked. Build automated test and regression scripts to validate fixes and ensure security holes are not introduced. - Stay informed about new security issues and emerging threats. Keep the web server and RDBMS updated to the most recent release using the latest security updates. @@ -185,7 +185,7 @@ Several basic coding principles can greatly enhance database security. Most atta - **Use stored procedures**: This is an alternative to parameterized queries with the same goal. Stored procedures are saved inside the database, allowing the application to use them at any time. Typically, the procedures automatically parameterize the code. As an added precaution, only a user who has `execute` privileges can run these procedures. Unfortunately, there might be cases where this technique is not completely foolproof. Consult the user documentation for the RDBMS for more information. - **Use non-standard names for tables and columns**: Many attackers look for standard tables such as `customers` or fields including `username` and `password`. Adding a prefix or suffix to each string or column provides additional protection at the cost of a bit of extra complexity and longer strings for each name. - **Escape the input fields**: This technique is not considered effective on its own, but provides another layer of protection as part of a total security strategy. Every RDBMS has a method of escaping user-supplied data. This involves recalculating the input so it is treated as pure text, rather than keywords or application-specific symbols. Some applications convert the input characters into their hex equivalents. The PHP programming language, which is often used in conjunction with SQL, also provides tools for escaping SQL queries. -- **Restrict the access privileges of the database user**: Determine the level of access every account requires and configure the user roles accordingly. This limits the damage any individual user can inflict. A similar optimization is to limit the system privileges of the database owner. Even if a user gains access to an administrative account, they cannot use it to gain further access to the server. SQL views can also be used to further limit access. Our guide [SQL Database Security: User Management](/docs/guides/sql-security/) discusses how to develop an access management strategy for an RDBMS. +- **Restrict the access privileges of the database user**: Determine the level of access every account requires and configure the user roles accordingly. This limits the damage any individual user can inflict. A similar optimization is to limit the system privileges of the database owner. Even if a user gains access to an administrative account, they cannot use it to gain further access to the server. SQL views can also be used to further limit access. Our guide [SQL Database Security: User Management](/cloud/guides/sql-security/) discusses how to develop an access management strategy for an RDBMS. ## Conclusion diff --git a/docs/guides/security/basics/types-of-cyber-attacks/index.md b/docs/guides/security/basics/types-of-cyber-attacks/index.md index d5c1e1705d1..478cc15ddf7 100644 --- a/docs/guides/security/basics/types-of-cyber-attacks/index.md +++ b/docs/guides/security/basics/types-of-cyber-attacks/index.md @@ -59,7 +59,7 @@ Keyloggers and spyware both fall into the same category. They lurk in your compu #### Keyloggers and Spyware Mitigation -Common sense is key in not opening emails from unknown sources. Regular antivirus scans pick up spyware. Network monitoring tools watch for suspicious outbound traffic. You can also check for unusual activity using a [system monitoring tool like gtop](/docs/guides/installing-and-using-gtop-on-linux/). +Common sense is key in not opening emails from unknown sources. Regular antivirus scans pick up spyware. Network monitoring tools watch for suspicious outbound traffic. You can also check for unusual activity using a [system monitoring tool like gtop](/cloud/guides/installing-and-using-gtop-on-linux/). ### Rootkits diff --git a/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md b/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md index a4887da8bf1..a986e8e5b4a 100644 --- a/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md +++ b/docs/guides/security/basics/using-fail2ban-to-secure-your-server-a-tutorial/index.md @@ -25,7 +25,7 @@ When an attempted compromise is located, using the defined parameters, Fail2ban Fail2ban is primarily focused on SSH attacks, although it can be further configured to work for any service that uses log files and can be subject to a compromise. {{< 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 >}} {{< note type="alert" >}} @@ -34,7 +34,7 @@ Fail2ban is intended to be used in conjunction with an already-hardened server a ## How to Install Fail2ban -Follow the [Getting Started](/docs/products/platform/get-started/) guide to configure your basic server. You may also want to review the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before beginning. +Follow the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide to configure your basic server. You may also want to review the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide before beginning. ### CentOS/CentOS Stream/RHEL Based Operating Systems @@ -240,7 +240,7 @@ action_mwl = %(banaction)s... For example, if you set the `usedns` setting to `no`, Fail2ban does not use reverse DNS to set its bans, and instead bans the IP address. When set as `warn`, Fail2ban performs a reverse lookup of the hostname and uses it to perform a ban. -The `chain` setting refers to the series of [iptables](/docs/guides/what-is-iptables/) rules where jumps should be added in ban-actions. By default, this is set to the `INPUT` chain. You can read more about iptables chains in our [What is iptables](/docs/guides/what-is-iptables/#chains) guide. +The `chain` setting refers to the series of [iptables](/cloud/guides/what-is-iptables/) rules where jumps should be added in ban-actions. By default, this is set to the `INPUT` chain. You can read more about iptables chains in our [What is iptables](/cloud/guides/what-is-iptables/#chains) guide. ### Fail2ban Chain Traffic Drop Configuration @@ -571,7 +571,7 @@ For additional information about `fail2ban-client` commands, see the [Fail2ban w ## Lockout Recovery -In the event that you find yourself locked out of your Linode due to fail2ban, you can still gain access by using our out-of-band [Lish Console](/docs/products/compute/compute-instances/guides/lish/). +In the event that you find yourself locked out of your Linode due to fail2ban, you can still gain access by using our out-of-band [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). From here, you can view your firewall rules to ensure that it is fail2ban that blocked your IP, and not something else. To do this, enter the following command: diff --git a/docs/guides/security/basics/what-is-cryptography/index.md b/docs/guides/security/basics/what-is-cryptography/index.md index 7e05ddd625a..6c0379f6924 100644 --- a/docs/guides/security/basics/what-is-cryptography/index.md +++ b/docs/guides/security/basics/what-is-cryptography/index.md @@ -16,7 +16,7 @@ Cryptography is a cornerstone of modern secure communication practices. From dig The discipline of cryptography includes the study and practice of transforming data from its original format into an unintelligible format. The goal of cryptography is to keep information secure at rest and during its transfer. In the context of computer science, cryptography focuses on the mathematical concepts and algorithms that keep communications hidden from unauthorized viewers. There are three basic types of cryptographic algorithms that are used: secret key, public key, and hash function algorithms. Data encryption applies the principles of cryptography and refers to the method used to encode data into an unintelligible format. -Cryptography enables cybersecurity professionals to [secure sensitive company information](/docs/guides/cloud-security-checklist/#protect-your-data-and-your-cloud-environment). Well-known examples of cryptographic techniques used in cybersecurity are digital signatures, time stamping, the SSL protocol, and [public key authentication with secure shell (SSH)](/docs/guides/use-public-key-authentication-with-ssh/). +Cryptography enables cybersecurity professionals to [secure sensitive company information](/cloud/guides/cloud-security-checklist/#protect-your-data-and-your-cloud-environment). Well-known examples of cryptographic techniques used in cybersecurity are digital signatures, time stamping, the SSL protocol, and [public key authentication with secure shell (SSH)](/cloud/guides/use-public-key-authentication-with-ssh/). ### History of Cryptography @@ -54,7 +54,7 @@ The key must be transmitted when the sender and receiver are not in the same loc By comparison, asymmetric cryptography uses two linked keys, one public and the other private, on each side of the conversation or transaction. Both sender and receiver have a private key in their possession alone. Each also has a public key – meaning a unique key of their own made public only by virtue of being exchanged with another person. The sender uses the recipient’s public key to encrypt the file. The recipient then uses their private key to decrypt it. Only the recipient can decrypt the file because no one else has access to that person’s private key. Asymmetric encryption also enables digital signature authentication. -Examples of asymmetric cryptography in everyday use include [RSA](https://csrc.nist.gov/glossary/term/rsa), the [Digital Signature Standard (DSS/DSA)](https://csrc.nist.gov/glossary/term/digital_signature_algorithm), and the [TLS/SSL protocol](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/). +Examples of asymmetric cryptography in everyday use include [RSA](https://csrc.nist.gov/glossary/term/rsa), the [Digital Signature Standard (DSS/DSA)](https://csrc.nist.gov/glossary/term/digital_signature_algorithm), and the [TLS/SSL protocol](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/). Both forms are considered secure, but the level of security in any given encrypted message has more to do with the size of the key(s) than the form of encryption. Just like passwords, keys must be complex, difficult to obtain, decode, or reveal. @@ -66,7 +66,7 @@ Of these goals, confidentiality carries the most weight. The need to ensure that Data integrity is vital to ensure that the message has not been altered in some way. Otherwise, the receiving party could be manipulated into taking a wrong or undesirable action. Whether a spy is sending a message to their country’s leadership, or a company is sending instructions to a field office, both sender and receiver need assurance that the message sent is identical to the message received. -Authenticity is essential to ensure that the user or system is known and trusted. Establishing the identity of the user (sender or recipient) is the crux of this assurance. However, the system must also be known in order to [prevent ransomware attacks](/docs/guides/ransomware-attack) that involve phishing (fraudulent emails), vishing (fraudulent voice mails and phone calls), smishing (fraudulent texts), and other deceptive forms of communication. +Authenticity is essential to ensure that the user or system is known and trusted. Establishing the identity of the user (sender or recipient) is the crux of this assurance. However, the system must also be known in order to [prevent ransomware attacks](/cloud/guides/ransomware-attack) that involve phishing (fraudulent emails), vishing (fraudulent voice mails and phone calls), smishing (fraudulent texts), and other deceptive forms of communication. ## Types of Cryptography @@ -74,7 +74,7 @@ There are three types of cryptography: secret key cryptography, public key crypt The least complicated and fastest to use is secret key cryptography, also known as symmetric cryptography. This type uses one key to encrypt and decrypt communications. It protects data at rest and data in transit, and is most often used on data at rest. The most well-known algorithms used in secret key cryptography are [Advanced Encryption Standard (AES)](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard), [Triple Data Encryption Standard (3DES)](https://en.wikipedia.org/wiki/Triple_DES), and [Rivest Cipher 4 (RC4)](https://en.wikipedia.org/wiki/RC4). -Public key cryptography, or asymmetric cryptography, uses two keys on each end of the communication. Each pair consists of a public and a private key. Public keys are exchanged between sender and recipient. The sender then uses the recipient’s public key to encrypt the message. The recipient uses their private key to decrypt the message. Examples of public key use are plentiful in just about any communication over the Internet such as [HTTPS](/docs/guides/introducing-http-2/), [SSH](/docs/guides/connect-to-server-over-ssh-on-linux/), [OpenPGP](https://www.openpgp.org/), [S/MIME](https://en.wikipedia.org/wiki/S/MIME), and a [website’s SSL/TLS certificate](/docs/guides/what-is-a-tls-certificate/). +Public key cryptography, or asymmetric cryptography, uses two keys on each end of the communication. Each pair consists of a public and a private key. Public keys are exchanged between sender and recipient. The sender then uses the recipient’s public key to encrypt the message. The recipient uses their private key to decrypt the message. Examples of public key use are plentiful in just about any communication over the Internet such as [HTTPS](/cloud/guides/introducing-http-2/), [SSH](/cloud/guides/connect-to-server-over-ssh-on-linux/), [OpenPGP](https://www.openpgp.org/), [S/MIME](https://en.wikipedia.org/wiki/S/MIME), and a [website’s SSL/TLS certificate](/cloud/guides/what-is-a-tls-certificate/). The math connecting public and private keys makes it impossible to derive the private key from the public key. However, the public key is derived from the private key, which is why private keys should never be shared. @@ -92,9 +92,9 @@ The central assumption with cryptography is that other parties are going to try Other forms of cybersecurity focus on other fronts such as protecting the network, limiting or stopping access to data, and protecting data from manipulation, i.e. deliberate corruption of meaning or readability. -[Layers of different cybersecurity methods](/docs/guides/cloud-security-checklist/) work in tandem to provide a better, stronger defense. Even so, encrypting data is a primary defense used across all efforts in protecting data. Its use is of particular value to secure communications which by necessity must be shared with parties beyond secure company walls. +[Layers of different cybersecurity methods](/cloud/guides/cloud-security-checklist/) work in tandem to provide a better, stronger defense. Even so, encrypting data is a primary defense used across all efforts in protecting data. Its use is of particular value to secure communications which by necessity must be shared with parties beyond secure company walls. ## Conclusion -Cybersecurity and encryption are tasks that require research, time, and effort in order to be effective. Many companies prefer to leverage the efforts of vendor teams rather than overburden their internal cybersecurity teams to develop these additional layers of protection. However, there are many tools available to encrypt areas of your infrastructure and network. For example, you can use [LUKS to encrypt a Linux server's filesystem disk](/docs/guides/use-luks-for-full-disk-encryption/). Similarly, you can use [GPG keys to send encrypted messages via email](/docs/guides/gpg-keys-to-send-encrypted-messages/). +Cybersecurity and encryption are tasks that require research, time, and effort in order to be effective. Many companies prefer to leverage the efforts of vendor teams rather than overburden their internal cybersecurity teams to develop these additional layers of protection. However, there are many tools available to encrypt areas of your infrastructure and network. For example, you can use [LUKS to encrypt a Linux server's filesystem disk](/cloud/guides/use-luks-for-full-disk-encryption/). Similarly, you can use [GPG keys to send encrypted messages via email](/cloud/guides/gpg-keys-to-send-encrypted-messages/). diff --git a/docs/guides/security/basics/what-is-data-breach/index.md b/docs/guides/security/basics/what-is-data-breach/index.md index 05217714f6c..3d2df5efee8 100644 --- a/docs/guides/security/basics/what-is-data-breach/index.md +++ b/docs/guides/security/basics/what-is-data-breach/index.md @@ -36,7 +36,7 @@ While credit card information is the most obvious target for malicious attacks, Intellectual property theft is often the goal of these attacks. Actual attacks on your business processes, where databases are corrupted and line-of-business applications are shut down or infected and used as vectors to deploy and hide additional malware, present clear targets. The injection of ransomware into your environment is now an ever-present danger. -Some businesses invest in [ransomware insurance](https://www.techtarget.com/searchsecurity/tip/How-to-find-ransomware-cyber-insurance-coverage) or simply set aside a part of their budget to pay off a ransomware attackers. But especially in the SMB space, the costs to do so can be ruinous, so planning to protect your data is a much more cost effective solution. Beyond simply doing all you can to prevent breaches, investing in strong data protection and [backup schemes](/docs/products/storage/backups/) designed to protect your data from threats (including ransomware), is simply a good idea. +Some businesses invest in [ransomware insurance](https://www.techtarget.com/searchsecurity/tip/How-to-find-ransomware-cyber-insurance-coverage) or simply set aside a part of their budget to pay off a ransomware attackers. But especially in the SMB space, the costs to do so can be ruinous, so planning to protect your data is a much more cost effective solution. Beyond simply doing all you can to prevent breaches, investing in strong data protection and [backup schemes](https://techdocs.akamai.com/cloud-computing/docs/backup-service) designed to protect your data from threats (including ransomware), is simply a good idea. Keep in mind these attacks cause additional damage to your business if you are in a highly regulated business such as finance or healthcare. According to [reports made to the federal government](https://www.healthcareitnews.com/news/biggest-healthcare-data-breaches-2021) in 2021, over 40 million patient records were exposed in data breaches, just in this single industry. @@ -48,7 +48,7 @@ The longer an attacker has unfettered access, the longer it is going to take you Despite all your good intentions, a data breach can still happen. What should you do upon discovering a data breach? Don’t panic. -When a data breach is reported to IT, be ready to implement your incident response plan. For most businesses this means [ramping up the incident response team](/docs/guides/information-security-risk-management/#developing-an-isrm-plan), your group of IT personnel who have specific roles focused on quickly shutting down potential problems. The speed of your response may have a major impact on the effects of the breach. +When a data breach is reported to IT, be ready to implement your incident response plan. For most businesses this means [ramping up the incident response team](/cloud/guides/information-security-risk-management/#developing-an-isrm-plan), your group of IT personnel who have specific roles focused on quickly shutting down potential problems. The speed of your response may have a major impact on the effects of the breach. Specific roles and plans to make use of personnel should already be in place. Networking teams should be ready to identify and isolate impacted systems, and data management specialists should be in place to secure company databases and data repositories. IT staff responsible for backup and data protection should be checking that data backups are intact and uncorrupted. Cloud specialists should be in a position to check on the integrity of cloud stored data. diff --git a/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md b/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md index afa3b4709af..29d7a70defe 100644 --- a/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md +++ b/docs/guides/security/data-portability/download-files-from-a-compute-instance/index.md @@ -18,7 +18,7 @@ Periodically, you may wish to download files from a Compute Instance to retain a If you intend to download lots of files, consider compressing them into a single archive file before continuing with this guide. This results in a faster and smoother download when compared with large numbers of individual files. Once the archive file has been downloaded, you can extract it and view the individual files on your local system. -To create an archive and compress it, [log in to your Compute Instance](/docs/products/compute/compute-instances/get-started/#connect-to-the-instance) and run the following command. Replace *[archive-name]* with the file name to use for the new file and *[file-or-directory]* with the path of the directory or the path and name of the file you'd like to archive. This command creates a tar file (also called a tarball) and compresses it with gzip. Most modern operating systems can extract tar files. +To create an archive and compress it, [log in to your Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances#connect-to-the-instance) and run the following command. Replace *[archive-name]* with the file name to use for the new file and *[file-or-directory]* with the path of the directory or the path and name of the file you'd like to archive. This command creates a tar file (also called a tarball) and compresses it with gzip. Most modern operating systems can extract tar files. ```command tar -czvf [archive-name].tar.gz [fle-or-directory] @@ -30,7 +30,7 @@ For example, to archive all of website data stored in `/var/www/example.com` to tar -czvf ~/example-com-backup.tar.gz /var/www/example.com/ ``` -To learn more about creating tar files, see [Archive, Compress, and Extract Files in Linux Using the Command Line](/docs/guides/compress-files-using-the-command-line/). +To learn more about creating tar files, see [Archive, Compress, and Extract Files in Linux Using the Command Line](/cloud/guides/compress-files-using-the-command-line/). ## Download Files with an FTP Client @@ -45,11 +45,11 @@ FTP clients are a user-friendly way to access, download, and upload files from y Whichever client you choose, you can connect to your Compute Instance using the same credentials you would use for SSH. Once connected, you should be presented with a visual file explorer of your remote system. From here, you can navigate to the directory where your files are located and then download those files. -For further instructions, see our [Transfer Files with FileZilla](/docs/guides/filezilla/) guide. +For further instructions, see our [Transfer Files with FileZilla](/cloud/guides/filezilla/) guide. ## Download Files with SCP -You can use SCP (Secure Copy Protocol) to retrieve a specific directory or file via the command-line. SCP is installed by default on most macOS and Linux systems and is available with [Cygwin or PuTTY](/docs/guides/connect-to-server-over-ssh-on-windows/) for Windows. +You can use SCP (Secure Copy Protocol) to retrieve a specific directory or file via the command-line. SCP is installed by default on most macOS and Linux systems and is available with [Cygwin or PuTTY](/cloud/guides/connect-to-server-over-ssh-on-windows/) for Windows. - The syntax for using SCP to copy a file from your Linode into a directory on another computer is: @@ -95,24 +95,24 @@ For example: scp -r your_linode_username@your_linode_ip:/var/www/html/ ~/html_backup ``` -If you intend to repeat this process regularly, consider [using rsync](/docs/guides/backing-up-your-data/#understand-the-rsync-command) to create additional local copies of your data. rsync is capable of performing incremental file copies, which means you do not have to fully transfer each file every time you download your data. +If you intend to repeat this process regularly, consider [using rsync](/cloud/guides/backing-up-your-data/#understand-the-rsync-command) to create additional local copies of your data. rsync is capable of performing incremental file copies, which means you do not have to fully transfer each file every time you download your data. ## Download a Database Special care is needed when downloading data from a database. Before it can be downloaded, the data in a database needs to first be *dumped* to a file. This database dump file can then be transferred just as any other normal file type. -- To create a dump of a MySQL (or MariaDB) database, [use the `mysqldump` command](/docs/guides/mysqldump-backups/). **You can only use this tool if your database process is accessible and running.** +- To create a dump of a MySQL (or MariaDB) database, [use the `mysqldump` command](/cloud/guides/mysqldump-backups/). **You can only use this tool if your database process is accessible and running.** -- If your MySQL database won't run for some reason, follow the instructions for creating [*physical* backups](/docs/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). +- If your MySQL database won't run for some reason, follow the instructions for creating [*physical* backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). -- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/docs/guides/back-up-a-postgresql-database/) guide. +- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) guide. ## Download a Disk -Downloading your disk will copy a `.img` file to your computer that encapsulates all of the data that is on your Linode’s disk. This *disk image* can later be re-uploaded to the Linode service at a later date, which can be useful if you'd like to temporarily remove your Linode and stop service. Follow our [Copy a Disk over SSH](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/) guide for further instructions. +Downloading your disk will copy a `.img` file to your computer that encapsulates all of the data that is on your Linode’s disk. This *disk image* can later be re-uploaded to the Linode service at a later date, which can be useful if you'd like to temporarily remove your Linode and stop service. Follow our [Copy a Disk over SSH](https://techdocs.akamai.com/cloud-computing/docs/copy-a-disk-over-ssh) guide for further instructions. ## Download Data from a Block Storage Volume -1. [Attach and mount](/docs/products/storage/block-storage/guides/attach-and-detach/) the block storage volume. +1. [Attach and mount](https://techdocs.akamai.com/cloud-computing/docs/attach-and-detach-a-volume) the block storage volume. 2. Download files from it by following the same instructions in the [Download Specific Files or Directories over SSH](#download-specific-files-or-directories-over-ssh) section of this guide. \ No newline at end of file diff --git a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md index 306b95cce75..de0b36ad2f4 100644 --- a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md +++ b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-centos-8/index.md @@ -21,7 +21,7 @@ relations: ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. ## Create the Certificate @@ -77,4 +77,4 @@ Email Address []:admin@example.com chmod 400 /root/certs/MyKey.key -4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/docs/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** +4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** diff --git a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md index fcfc8f03977..e7904bbc64e 100644 --- a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md +++ b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-tls-debian-10/index.md @@ -21,7 +21,7 @@ relations: ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. ## Create the Certificate @@ -77,4 +77,4 @@ Email Address []:admin@example.com chmod 400 /root/certs/MyKey.key -4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/docs/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** +4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** diff --git a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md index f8b313c38a7..dbb9b08b4df 100644 --- a/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md +++ b/docs/guides/security/encryption/create-a-self-signed-tls-certificate-ubuntu-18-04/index.md @@ -21,7 +21,7 @@ relations: ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. ## Create the Certificate @@ -77,4 +77,4 @@ Email Address []:admin@example.com chmod 400 /root/certs/MyKey.key -4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/docs/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** +4. Back up your certificate and key to external storage. For instructions see our guide on [How to Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) **This is an important step. Do not skip it!** diff --git a/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md b/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md index 097edf249de..0b959ca1bfb 100644 --- a/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md +++ b/docs/guides/security/encryption/encrypt-data-disk-with-dm-crypt/index.md @@ -23,16 +23,16 @@ dm-crypt is a transparent disk encryption subsystem. In this guide you will lear ## Before You Begin {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide, deploy a Debian image. +1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide, deploy a Debian image. -1. [Resize the disk][/docs/guides/resize-a-linode-disk/] and reserve approximately 4096 MB for your operating system so that you can use the rest of your available disk space as encrypted storage: +1. [Resize the disk](/cloud/guides/resize-a-linode-disk/) and reserve approximately 4096 MB for your operating system so that you can use the rest of your available disk space as encrypted storage: -1. [Create a new disk][/docs/guides/disks-and-storage/#creating-a-disk] and select **raw** under **Filesystem**: +1. [Create a new disk](/cloud/guides/disks-and-storage/#creating-a-disk) and select **raw** under **Filesystem**: -1. Open your [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) and review your **Block Device Assignment**. Add any additional disk(s) and/or block storage devices if they aren't already included. Throughout this guide replace `/dev/sdX` with the device name of your storage disk. +1. Open your [configuration profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance) and review your **Block Device Assignment**. Add any additional disk(s) and/or block storage devices if they aren't already included. Throughout this guide replace `/dev/sdX` with the device name of your storage disk. 1. After your block device assignments are configured, boot your Linode. @@ -48,7 +48,7 @@ The steps in this guide require root privileges. Be sure to run the steps below apt install cryptsetup ``` {{< note >}} -Another way to set up an encrypted data partition is by attaching a [Block Storage](/docs/products/storage/block-storage/) volume to your Linode, and skipping the instructions for creating a filesystem and mounting the device, since that will be done on the virtual device mapped by dm-crypt. +Another way to set up an encrypted data partition is by attaching a [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) volume to your Linode, and skipping the instructions for creating a filesystem and mounting the device, since that will be done on the virtual device mapped by dm-crypt. {{< /note >}} ## How to Map Whole Disks, Partitions and Files diff --git a/docs/guides/security/encryption/full-disk-encryption-xen/index.md b/docs/guides/security/encryption/full-disk-encryption-xen/index.md index eace3aed639..e9d28174019 100644 --- a/docs/guides/security/encryption/full-disk-encryption-xen/index.md +++ b/docs/guides/security/encryption/full-disk-encryption-xen/index.md @@ -24,7 +24,7 @@ Full disk encryption protects the information stored on your Linode's disks by c ## Potential Drawbacks -Full disk encryption does a great job of keeping your data secure, but there are a few caveats. To decrypt and mount the disk, you'll need to enter the encryption passphrase in the console every time your Linode boots. And some Linode Manager tools may not work as expected if your disks are encrypted. You'll need to manually resize your filesystem if you want to resize your disk. You'll also need to implement your own backup solution since the [Linode Backup Service](/docs/products/storage/backups/) can't mount encrypted disks. +Full disk encryption does a great job of keeping your data secure, but there are a few caveats. To decrypt and mount the disk, you'll need to enter the encryption passphrase in the console every time your Linode boots. And some Linode Manager tools may not work as expected if your disks are encrypted. You'll need to manually resize your filesystem if you want to resize your disk. You'll also need to implement your own backup solution since the [Linode Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) can't mount encrypted disks. ## Getting Started @@ -37,7 +37,7 @@ Ready to encrypt your Linode's disks? Here's how to prepare a Linode for full di - A swap image. You'll need to choose an appropriate swap size based your particular needs. - A `root` image to store the files in the root of your filesystem. -3. After you have created these disks, you'll want to [boot into Finnix from the Rescue tab](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode). Ensure that your disks are attached as follows: +3. After you have created these disks, you'll want to [boot into Finnix from the Rescue tab](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode). Ensure that your disks are attached as follows: - /boot xvda - swap xvdb @@ -49,7 +49,7 @@ You've successfully created the disks for your Linode. Next, you'll need to create a configuration profile for the new Linode. Here's how to do it: -1. [Create a new configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#create-a-configuration-profile) in the Linode Manager. +1. [Create a new configuration profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#create-a-configuration-profile) in the Linode Manager. 2. Select the `pv-grub-x86_64` kernel from the **Kernel** menu. 3. In the **Block Device Assignment** section, select the disks you created in the previous section of this guide. 4. Disable the **Automount devtmpfs** and **Distro Helper** settings. @@ -61,8 +61,8 @@ Congratulations! You're now ready to set up full disk encryption on your Linode. Now you're ready to enable full disk encryption on your Linode running Debian 7 (Wheezy). Here's how to do it: -1. [Reboot into Finnix](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) from the **Rescue** tab in the Linode Manager. -2. [Connect to LISH](/docs/products/compute/compute-instances/guides/lish/), which will allow you to access the Linode's virtual console. +1. [Reboot into Finnix](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) from the **Rescue** tab in the Linode Manager. +2. [Connect to LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish), which will allow you to access the Linode's virtual console. 3. Enter the following command to create an encrypted volume. You'll be prompted for a passphrase. Make sure that you enter a very strong passphrase, and that you store the passphrase in a physically secure location. Or better yet, memorize the passphrase and don't store it anywhere! : cryptsetup luksFormat /dev/xvdc @@ -197,4 +197,4 @@ You're almost finished! Just a couple more steps and you'll have a Linode with e ^a^d reboot 1 -If everything is configured properly your Linode will boot and prompt you for the encryption passphrase. Enter the passphrase on your console to mount your encrypted disk and boot your Linode. Now you'll want to follow the steps in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +If everything is configured properly your Linode will boot and prompt you for the encryption passphrase. Enter the passphrase on your console to mount your encrypted disk and boot your Linode. Now you'll want to follow the steps in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. diff --git a/docs/guides/security/encryption/gpg-keys-to-send-encrypted-messages/index.md b/docs/guides/security/encryption/gpg-keys-to-send-encrypted-messages/index.md index 80f308534a0..982b35a0974 100644 --- a/docs/guides/security/encryption/gpg-keys-to-send-encrypted-messages/index.md +++ b/docs/guides/security/encryption/gpg-keys-to-send-encrypted-messages/index.md @@ -19,7 +19,7 @@ aliases: ['/security/encryption/gpg-keys-to-send-encrypted-messages/'] GNU Privacy Guard (GnuPG), also known as GPG, is a tool for secure communication that was created by Werner Koch as [Free Software](https://www.gnu.org/philosophy/free-sw.en.html) under the [GNU Project](https://www.gnu.org/gnu/thegnuproject.en.html). GnuPG follows the [OpenPGP protocol](https://www.openpgp.org/about/standard/), which defines and standardizes all the necessary components involved in sending encrypted messages--signatures, private keys, and public key certificates. This piece of free software is notably used by journalists around the world to ensure that their sensitive email communication is kept secure and private. -GPG uses a combination of symmetric-key cryptography and public-key cryptography. Public key cryptography is likely already familiar to you since it is the recommended way to authenticate when [SSHing in to your Linode](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access). Public-key cryptography uses a key-pair system where any single user has a private and public key pair. The public key can be shared with anyone, while the private key should be protected and secret to maintain the integrity of the system. +GPG uses a combination of symmetric-key cryptography and public-key cryptography. Public key cryptography is likely already familiar to you since it is the recommended way to authenticate when [SSHing in to your Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). Public-key cryptography uses a key-pair system where any single user has a private and public key pair. The public key can be shared with anyone, while the private key should be protected and secret to maintain the integrity of the system. This asymmetric cryptographic system is ideal for secure communication, because all it requires is that the sender of the message have a copy of the receiver's public key before encrypting and sending the message. The recipient can then use their private key to decrypt the message. This means anyone can send you a secure message if they have a copy of your public key. diff --git a/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md b/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md index 0de8f242366..daf9bcf7f40 100644 --- a/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md +++ b/docs/guides/security/encryption/post-quantum-encryption-nginx-debian11/index.md @@ -24,7 +24,7 @@ In August 2024, the National Institute of Standards and Technology (NIST) [relea Deploying this algorithm for your web server currently requires the use of a recent library that implements the hybrid key exchange, such as the [Open Quantum Safe OpenSSL provider](https://openquantumsafe.org/applications/tls.html#oqs-openssl-provider) or [OpenSSL 3.5.0](https://github.com/openssl/openssl/releases/tag/openssl-3.5.0). This guide shows how to deploy this algorithm with NGINX on Debian 11. {{< note >}} -On Debian 11, the versions of OpenSSL and NGINX available from apt are not compatible with post quantum encryption, so this guide shows how to build them from source instead. You can also check the [guide for Ubuntu 24.04](/docs/guides/post-quantum-encryption-nginx-ubuntu2404/), which explains how to configure the encryption algorithm on that distribution. +On Debian 11, the versions of OpenSSL and NGINX available from apt are not compatible with post quantum encryption, so this guide shows how to build them from source instead. You can also check the [guide for Ubuntu 24.04](/cloud/guides/post-quantum-encryption-nginx-ubuntu2404/), which explains how to configure the encryption algorithm on that distribution. {{< /note >}} ## Before You Begin @@ -35,10 +35,10 @@ On Debian 11, the versions of OpenSSL and NGINX available from apt are not compa 1. To implement the algorithm in NGINX, a TLS certificate is required. When using a certificate from a public certificate authority, a domain name or subdomain must be assigned to your Linode instance. Visit your domain name registrar's website to assign a new record to your Linode instance's IP address. Your IP address is [displayed in the cloud manager](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). If you use the Linode DNS Manager, visit the [manage DNS records](https://techdocs.akamai.com/cloud-computing/docs/manage-domains) product documentation to view instructions for assigning a new A/AAAA record to your IP address. -1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/docs/guides/what-is-a-tls-certificate/) guide. +1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Dependencies @@ -486,9 +486,9 @@ A couple of libraries are required before building NGINX: Ensure that you include the necessary certificates (whether self-signed or from a trusted Certificate Authority) to enable proper TLS/SSL functionality. Without certificates, you won’t be able to establish a secure HTTPS connection. -- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) to properly configure the NGINX server. +- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) to properly configure the NGINX server. -- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide, or create certificates using the following command: +- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide, or create certificates using the following command: 1. First create the directory for your certificates: diff --git a/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md b/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md index e5b0024c144..c6307192853 100644 --- a/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md +++ b/docs/guides/security/encryption/post-quantum-encryption-nginx-ubuntu2404/index.md @@ -33,10 +33,10 @@ On Ubuntu 24.04, the versions of OpenSSL and NGINX available from apt are not co 1. To implement the algorithm in NGINX, a TLS certificate is required. When using a certificate from a public certificate authority, a domain name or subdomain must be assigned to your Linode instance. Visit your domain name registrar's website to assign a new record to your Linode instance's IP address. Your IP address is [displayed in the cloud manager](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). If you use the Linode DNS Manager, visit the [manage DNS records](https://techdocs.akamai.com/cloud-computing/docs/manage-domains) product documentation to view instructions for assigning a new A/AAAA record to your IP address. -1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/docs/guides/what-is-a-tls-certificate/) guide. +1. For an overview of how TLS encryption works, review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Dependencies @@ -483,9 +483,9 @@ A couple of libraries are required before building NGINX: Ensure that you include the necessary certificates (whether self-signed or from a trusted Certificate Authority) to enable proper TLS/SSL functionality. Without certificates, you won’t be able to establish a secure HTTPS connection. -- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) to properly configure the NGINX server. +- **Using Let's Encrpyt (Recommended for Production)**: To use automatic certificate renewal with Let's Encrypt, follow [Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) to properly configure the NGINX server. -- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide, or create certificates using the following command: +- **Using Self-Signed Certificate (Suitable for Testing/Development)**: To use a self-signed certificate, see our [Enable TLS/SSL for HTTPS](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) guide, or create certificates using the following command: 1. First create the directory for your certificates: diff --git a/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md b/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md index de4326883a1..f26620d14cc 100644 --- a/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md +++ b/docs/guides/security/encryption/use-luks-for-full-disk-encryption/index.md @@ -22,25 +22,25 @@ The Debian 8 guided encryption option in this guide makes use of a process commo {{< note type="alert" >}} Full disk encryption does a great job of keeping your data secure, but there are a few caveats. To decrypt and mount the disk, you'll need to enter the encryption passphrase in the console every time your Linode boots. -Since this setup makes use of raw disk images, it will not be possible to reduce the disk image space at a later date, and you'll need to manually increase the size of your filesystem should you choose to expand the raw disk size. You'll also need to implement your own backup solution since the [Linode Backup Service](/docs/products/storage/backups/) can't mount encrypted disks. +Since this setup makes use of raw disk images, it will not be possible to reduce the disk image space at a later date, and you'll need to manually increase the size of your filesystem should you choose to expand the raw disk size. You'll also need to implement your own backup solution since the [Linode Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) can't mount encrypted disks. -Please note that this is an non-standard configuration. Troubleshooting encrypted disk configurations falls outside the scope of [Linode Support](/docs/products/platform/get-started/guides/support/). +Please note that this is an non-standard configuration. Troubleshooting encrypted disk configurations falls outside the scope of [Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support). {{< /note >}} ## Before you Begin 1. Create a Linode in the data center of your choice. -2. [Delete the disks](/docs/products/compute/compute-instances/guides/disks-and-storage/#delete-a-disk) in the Linode that you created. +2. [Delete the disks](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#delete-a-disk) in the Linode that you created. 3. Determine the installation media you'll be using to deploy your custom distribution, and take note of its size. In this example, we're using Debian's [network boot](http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/) option. ## Prepare Your Linode for Encrypted Debian Installation -1. [Create two raw disk images](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk) from the Linode's Dashboard: +1. [Create two raw disk images](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#create-a-disk) from the Linode's Dashboard: * A disk labeled **Installer**. The size of this disk will depend upon the size of your distribution's installer, but it's recommended to make it slightly larger than the space taken up by the install media itself. For this example, the installer disk will be 300MB in size, giving us plenty of room for the Debian network installer. * A disk labeled **Boot**. This will take up the rest of the free space available on your Linode. -2. [Create two configuration profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#create-a-configuration-profile) and disable the options under **Filesystem / Boot Helpers** for each of them, as well as the [Lassie](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) shutdown watchdog under the **Settings** menu. Both profiles will use the **Direct Disk** option from the **Kernel** drop down menu: +2. [Create two configuration profiles](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#create-a-configuration-profile) and disable the options under **Filesystem / Boot Helpers** for each of them, as well as the [Lassie](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) shutdown watchdog under the **Settings** menu. Both profiles will use the **Direct Disk** option from the **Kernel** drop down menu: **Installer profile** @@ -57,7 +57,7 @@ Please note that this is an non-standard configuration. Troubleshooting encrypte - /dev/sda: *Boot* disk image. - root / boot device: Standard /dev/sda -3. Boot into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) with your *Installer* disk mounted to `/dev/sda`, and connect to your Linode using the [Lish Console](/docs/products/compute/compute-instances/guides/lish/). +3. Boot into [Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) with your *Installer* disk mounted to `/dev/sda`, and connect to your Linode using the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 4. Once in Rescue Mode, download the Debian installation media and copy it to your *Installer* disk: @@ -68,7 +68,7 @@ As an additional security step, you can use the keys provided in the same direct wget http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/mini.iso dd if=mini.iso of=/dev/sda -5. Reboot into your *Installer* configuration profile, and open the [Glish](/docs/products/compute/compute-instances/guides/glish/) graphical console from your Linode's Dashboard. +5. Reboot into your *Installer* configuration profile, and open the [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) graphical console from your Linode's Dashboard. ## Install the Operating System @@ -142,7 +142,7 @@ If you lose or forget this password, the data on this disk image will be **irrec ![Debian 8 Write Partition Confirmation](fde-disk-formatting.png) -16. The installer will begin deploying the base system. Once it completes, you'll have the option to choose specific software packages. The only packages required for the server are `SSH server` and `standard system utilities`, but you can select additional options as needed. If you wish to make use of a graphical shell over [VNC](/docs/guides/install-vnc-on-ubuntu-16-04/) or the Glish console, select the desktop environment of your choice. Once you've confirmed your selections, hit **Continue**: +16. The installer will begin deploying the base system. Once it completes, you'll have the option to choose specific software packages. The only packages required for the server are `SSH server` and `standard system utilities`, but you can select additional options as needed. If you wish to make use of a graphical shell over [VNC](/cloud/guides/install-vnc-on-ubuntu-16-04/) or the Glish console, select the desktop environment of your choice. Once you've confirmed your selections, hit **Continue**: ![Debian 8 Software Selection](fde-software-selection.png) @@ -204,4 +204,4 @@ Your output will be similar to this: mode: read/write -You now have a securely LUKS-encrypted Debian installation. You can follow the steps in our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to begin configuring your Linode. +You now have a securely LUKS-encrypted Debian installation. You can follow the steps in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to begin configuring your Linode. diff --git a/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md b/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md index 58d529556f5..19fd60e11c7 100644 --- a/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md +++ b/docs/guides/security/firewalls/comparing-network-firewall-solutions/index.md @@ -31,7 +31,7 @@ nftables uses a *tables -> chains -> rules* structure for managing network rules Because nftables has superseded iptables, you should opt to use it when possible. The main exception is older Linux systems, many of which do not support nftables. Alternatively, you may prefer a high-level tool like those covered [below](#high-level-firewall-configuration-managers). -You can learn more about nftables and its usage in our [Getting Started with nftables](/docs/guides/how-to-use-nftables/) guide. +You can learn more about nftables and its usage in our [Getting Started with nftables](/cloud/guides/how-to-use-nftables/) guide. ### iptables @@ -39,7 +39,7 @@ You can learn more about nftables and its usage in our [Getting Started with nft Even though nftables has replaced iptables as the default, some systems, particularly ones using older Linux versions, only support iptables. Unless you are looking for higher-level firewall configuration (see [High-Level Firewall Configuration Managers](#high-Level-firewall-configuration-managers) section below), you need to use iptables in those cases. -You can learn more about iptables and how to configure network rules with them in our [Controlling Network Traffics with iptables](/docs/guides/control-network-traffic-with-iptables/) guide. +You can learn more about iptables and how to configure network rules with them in our [Controlling Network Traffics with iptables](/cloud/guides/control-network-traffic-with-iptables/) guide. ## High-Level Firewall Configuration Managers @@ -51,7 +51,7 @@ To some users, low-level tools may prove overly cumbersome. High-level tools off What especially sets UFW apart is the simplicity its commands bring to firewall configuration. Setting up your desired firewall rules and enabling the firewall follows an *uncomplicated* set of commands. -See more on UFW and steps for getting started in our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide. +See more on UFW and steps for getting started in our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. ### Firewalld @@ -59,17 +59,17 @@ See more on UFW and steps for getting started in our [How to Configure a Firewal Firewalld supports most Linux distributions, and it is included by default on RHEL-related systems (e.g., CentOS, Fedora, AlmaLinux, Rocky Linux) and openSUSE. -Take a look at our [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/) guide to find out more about using firewalld. +Take a look at our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide to find out more about using firewalld. ## Managed Cloud Firewall Service -Cloud firewall services, like Akamai's [Cloud Firewall](/docs/products/networking/cloud-firewall/), offer a different approach to cloud security and have some advantages over local software firewalls. For instance, Akamai's Cloud Firewall can configure and manage firewall rules across multiple cloud instances. +Cloud firewall services, like Akamai's [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall), offer a different approach to cloud security and have some advantages over local software firewalls. For instance, Akamai's Cloud Firewall can configure and manage firewall rules across multiple cloud instances. That said, cloud firewalls often do not cover all of the features of software firewalls. Typically, a software firewall can offer more configuration options and advanced control of network traffic. One solution — cloud or software firewall — is likely to better fit your needs than the other. But often you can get the best results by using both together. As an example, you can use a cloud firewall to apply "absolute" network rules across multiple cloud instances and prevent unwanted traffic from ever reaching your servers. Then, use a software firewall to fine-tune your network filtering on each server. -Learn more about cloud firewalls and how they compare to software firewalls in our [Comparing Cloud Firewalls to Linux Firewall Software](/docs/products/networking/cloud-firewall/guides/comparing-firewalls/) guide. +Learn more about cloud firewalls and how they compare to software firewalls in our [Comparing Cloud Firewalls to Linux Firewall Software](https://techdocs.akamai.com/cloud-computing/docs/comparing-cloud-firewalls-to-linux-firewall-software) guide. ## Basic Usage Comparison diff --git a/docs/guides/security/firewalls/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/index.md b/docs/guides/security/firewalls/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/index.md index af795ea3abe..8d8ccaf0947 100644 --- a/docs/guides/security/firewalls/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/index.md +++ b/docs/guides/security/firewalls/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/index.md @@ -15,7 +15,7 @@ deprecated: true Firewall software is designed to limit access to network resources running on your Linode to authorized parties. Some services, such as a public web server, may be accessible to anyone. Others might be more restricted, such as an SSH daemon for remote system administration. -This guide will help you get the `arno-iptables-firewall` package installed and configured under Debian 5 (Lenny). For purposes of this tutorial, we assume the user is logged in as root via SSH, and that the prerequisite steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) have already been followed. +This guide will help you get the `arno-iptables-firewall` package installed and configured under Debian 5 (Lenny). For purposes of this tutorial, we assume the user is logged in as root via SSH, and that the prerequisite steps in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) have already been followed. ## Installing the Firewall diff --git a/docs/guides/security/firewalls/configure-firewall-with-ufw/index.md b/docs/guides/security/firewalls/configure-firewall-with-ufw/index.md index 31d996210d1..2857cf18cd0 100644 --- a/docs/guides/security/firewalls/configure-firewall-with-ufw/index.md +++ b/docs/guides/security/firewalls/configure-firewall-with-ufw/index.md @@ -25,9 +25,9 @@ If you are running Docker, by default Docker directly manipulates iptables. Any ## 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. Ensure that you complete the sections of [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. When you reach the [Configure a Firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) section return to this guide. +1. Ensure that you complete the sections of [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. 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 return to this guide. This guide lists the commands for Arch Linux, Debian or Ubuntu distributions only. However, you can use the relevant commands for the outlined tasks on various Linux distributions. diff --git a/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md b/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md index feac0d00270..8721bb3a68c 100644 --- a/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md +++ b/docs/guides/security/firewalls/control-network-traffic-with-iptables/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/networking/firewalls/control-network-traffic-with-iptables/','/security/firewalls/iptables/','/security/firewalls/control-network-traffic-with-iptables/'] bundles: ['debian-security', 'centos-security', 'network-security'] external_resources: - - '[Security Basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/)' - - '[Using the Linode Shell (Lish)](/docs/networking/using-the-linode-shell-lish)' + - '[Security Basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance)' + - '[Using the Linode Shell (Lish)](/cloud/networking/using-the-linode-shell-lish)' - '[iptables: Linux firewall rules for a basic Web Server](http://bencane.com/2012/09/17/iptables-linux-firewall-rules-for-a-basic-web-server/)' - '[Linux Firewalls with iptables](http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables)' tags: ["networking","security"] @@ -133,7 +133,7 @@ Deleting a rule is also done using the rule number. For example, to delete the r sudo iptables -D INPUT 7 {{< note type="alert" >}} -Editing rules does not automatically save them. See our section on [deploying rulesets](/docs/guides/control-network-traffic-with-iptables/#deploy-your-iptables-rulesets) for the specific instructions for your distribution. +Editing rules does not automatically save them. See our section on [deploying rulesets](/cloud/guides/control-network-traffic-with-iptables/#deploy-your-iptables-rulesets) for the specific instructions for your distribution. {{< /note >}} ### View Your Current iptables Rules @@ -334,7 +334,7 @@ COMMIT {{< /file >}} -**Optional:** If you plan to use [Linode Longview](/docs/products/tools/longview/get-started/) or [Linode's NodeBalancers](/docs/products/networking/nodebalancers/get-started/), add the respective rule after the section for allowing HTTP and HTTPS connections: +**Optional:** If you plan to use [Linode Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) or [Linode's NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers), add the respective rule after the section for allowing HTTP and HTTPS connections: # Allow incoming Longview connections from longview.linode.com -A INPUT -s 96.126.119.66 -m state --state NEW -j ACCEPT @@ -394,7 +394,7 @@ The process for deploying iptables rulesets varies depending on which Linux dist ### Debian / Ubuntu -UFW is the iptables controller included with Ubuntu, but it is also available in Debian's repositories. If you prefer to use UFW instead of iptables, see our guide: [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +UFW is the iptables controller included with Ubuntu, but it is also available in Debian's repositories. If you prefer to use UFW instead of iptables, see our guide: [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). 1. Create the files `/tmp/v4` and `/tmp/v6`. Paste the [above rulesets](#basic-iptables-rulesets-for-ipv4-and-ipv6) into their respective files. @@ -403,13 +403,13 @@ UFW is the iptables controller included with Ubuntu, but it is also available in sudo iptables-restore < /tmp/v4 sudo ip6tables-restore < /tmp/v6 -3. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/docs/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent). +3. To apply your iptables rules automatically on boot, see our section on configuring [iptables-persistent](/cloud/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent). ### CentOS / Fedora **CentOS 7 or Fedora 20 and above** -In these distros, FirewallD is used to implement firewall rules instead of using the iptables command. If you prefer to use it over iptables, see our guide: [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/). +In these distros, FirewallD is used to implement firewall rules instead of using the iptables command. If you prefer to use it over iptables, see our guide: [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). 1. If you prefer to use iptables, FirewallD must first be stopped and disabled. @@ -619,7 +619,7 @@ To verify the rules are applied and available after the system reboot use the co ## Network Lock-out -When you're applying network rules, especially with both IPv4 and IPv6 and multiple interfaces, it is easy to lock yourself out. In the event you apply the rule and are unable to access your server, you may gain access through [Lish](/docs/products/compute/compute-instances/guides/lish/) in the Linode Manager. The following steps will guide you through using the graphical interface of your Linode to gain access to your server: +When you're applying network rules, especially with both IPv4 and IPv6 and multiple interfaces, it is easy to lock yourself out. In the event you apply the rule and are unable to access your server, you may gain access through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) in the Linode Manager. The following steps will guide you through using the graphical interface of your Linode to gain access to your server: 1. Connect to the Linode Cloud Manager. 2. Select the Linode you wish to gain access to. diff --git a/docs/guides/security/firewalls/firewall-best-practices-for-securing-your-cloud-based-applications/index.md b/docs/guides/security/firewalls/firewall-best-practices-for-securing-your-cloud-based-applications/index.md index 0f3a3f65686..1d148c762b1 100644 --- a/docs/guides/security/firewalls/firewall-best-practices-for-securing-your-cloud-based-applications/index.md +++ b/docs/guides/security/firewalls/firewall-best-practices-for-securing-your-cloud-based-applications/index.md @@ -9,7 +9,7 @@ keywords: ['cloud-based firewall','block malicious traffic','stop ddos attacks', license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -Moving to the cloud has many advantages, including flexibility, reduced management overhead, performance, and security. [Cloud-based firewalls](/docs/products/networking/cloud-firewall/) can offer finer-grained access control and more comprehensive threat mitigation than their traditional hardware-based counterparts. +Moving to the cloud has many advantages, including flexibility, reduced management overhead, performance, and security. [Cloud-based firewalls](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) can offer finer-grained access control and more comprehensive threat mitigation than their traditional hardware-based counterparts. This guide outlines best practices for cloud-based firewall deployment. This includes network design review, creation of a security policy, firewall rule ordering, log analysis, and regular auditing. diff --git a/docs/guides/security/firewalls/how-to-install-bcc/index.md b/docs/guides/security/firewalls/how-to-install-bcc/index.md index 499e8e67425..18b17a9d4db 100644 --- a/docs/guides/security/firewalls/how-to-install-bcc/index.md +++ b/docs/guides/security/firewalls/how-to-install-bcc/index.md @@ -16,12 +16,12 @@ external_resources: You need the following: -1. A system running on a Linux distribution and a Linux kernel version 4.1 or later. Review the Getting Started guide if you do not yet have a compatible system. For more information, review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. +1. A system running on a Linux distribution and a Linux kernel version 4.1 or later. Review the Getting Started guide if you do not yet have a compatible system. For more information, review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## What is eBPF? diff --git a/docs/guides/security/firewalls/how-to-use-nftables/index.md b/docs/guides/security/firewalls/how-to-use-nftables/index.md index 7e5be92ce08..bde6ae6442e 100644 --- a/docs/guides/security/firewalls/how-to-use-nftables/index.md +++ b/docs/guides/security/firewalls/how-to-use-nftables/index.md @@ -16,7 +16,7 @@ external_resources: - '[Configuring Chains in nftables](https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains)' --- -[*nftables*](https://netfilter.org/projects/nftables/) replaces the successful [iptables](/docs/guides/what-is-iptables/) and its related frameworks built on Netfilter. With nftables come improvements to performance and usability, but also significant changes to syntax and usage. Use this guide to get started learning about what nftables is and how it differs from iptables. Follow along with this guide's example to implement your own rules in nftables and get a hands-on idea of what it can do. +[*nftables*](https://netfilter.org/projects/nftables/) replaces the successful [iptables](/cloud/guides/what-is-iptables/) and its related frameworks built on Netfilter. With nftables come improvements to performance and usability, but also significant changes to syntax and usage. Use this guide to get started learning about what nftables is and how it differs from iptables. Follow along with this guide's example to implement your own rules in nftables and get a hands-on idea of what it can do. ## What are nftables? @@ -50,12 +50,12 @@ Otherwise, you can manually install nftables using the following steps. These 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. {{< 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 >}} ### Installation Steps diff --git a/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md b/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md index 69d2cb65f3f..7776b7cc329 100644 --- a/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md +++ b/docs/guides/security/firewalls/introduction-to-firewalld-on-centos/index.md @@ -307,4 +307,4 @@ To see all custom chains or rules added to firewalld: firewall-cmd --direct --get-all-chains firewall-cmd --direct --get-all-rules -Discussing iptables syntax details goes beyond the scope of this guide. If you want to learn more, you can review our [iptables guide](/docs/guides/control-network-traffic-with-iptables/). +Discussing iptables syntax details goes beyond the scope of this guide. If you want to learn more, you can review our [iptables guide](/cloud/guides/control-network-traffic-with-iptables/). diff --git a/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md b/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md index a23ba269ab9..071a93202c7 100644 --- a/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md +++ b/docs/guides/security/firewalls/network-firewalls-vs-application-firewalls/index.md @@ -25,7 +25,7 @@ Today, there are three new types of firewalls, with considerable overlap between - **Cloud-Based Firewalls** may be an NGFW, WAF, or some combination of the two. You typically deploy cloud-based NGFWs at the perimeter of cloud deployments, and WAFs close to application servers. Importantly, this is not an either/or scenario, as the two working together provide more defense than either working alone. -Regardless of type, you may provision a cloud-based firewall as a firewall-as-a-service (FWaaS) or an application running on a VM. [Akamai offers FWaaS products](/docs/products/networking/cloud-firewall/) that protect hosts anywhere in the cloud, even across multiple data centers. FWaaS offerings have the advantage of offloading system maintenance onto the provider. +Regardless of type, you may provision a cloud-based firewall as a firewall-as-a-service (FWaaS) or an application running on a VM. [Akamai offers FWaaS products](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) that protect hosts anywhere in the cloud, even across multiple data centers. FWaaS offerings have the advantage of offloading system maintenance onto the provider. Firewall applications may be software versions of commercial firewalls or open source packages included with Linux or BSD distributions. As applications running on a VM, these firewalls work similarly to their non-cloud versions. @@ -37,11 +37,11 @@ There are two key differences between network and application firewalls: how the A useful metaphor is that of a large office building, with network firewalls playing the role of security staff at the building entrances. In contrast, application firewalls are more like the locks or badge readers on interior doors. Here, network firewalls cover the entire building, while application firewalls cover specific rooms. -Network firewalls generally make access-control decisions using criteria at the network and/or transport layers, or Layers 3 and 4 of [the seven-layer OSI model](/docs/guides/introduction-to-osi-networking-model/). +Network firewalls generally make access-control decisions using criteria at the network and/or transport layers, or Layers 3 and 4 of [the seven-layer OSI model](/cloud/guides/introduction-to-osi-networking-model/). It’s best practice to place network firewalls at or close to the perimeter of each data center in your cloud network. Think of these as gatekeepers, blocking malicious traffic before it enters your network. -Just as importantly, a firewall at the network edge also manages which traffic can leave. A common error in firewall configuration is to allow all outbound traffic from protected hosts. To protect against malware and rogue applications that "phone home", your firewalls should only allow the minimal amount of outbound traffic your security policy permits. See [Firewall Best Practices for Securing Your Cloud-based Applications](/docs/guides/firewall-best-practices-for-securing-your-cloud-based-applications/) for more information. +Just as importantly, a firewall at the network edge also manages which traffic can leave. A common error in firewall configuration is to allow all outbound traffic from protected hosts. To protect against malware and rogue applications that "phone home", your firewalls should only allow the minimal amount of outbound traffic your security policy permits. See [Firewall Best Practices for Securing Your Cloud-based Applications](/cloud/guides/firewall-best-practices-for-securing-your-cloud-based-applications/) for more information. Because cloud-based firewalls allow for microsegmentation, it’s best practice to deploy network firewalls *between* network segments in addition to the periphery. This is a defense-in-depth approach to network design. diff --git a/docs/guides/security/firewalls/protecting-your-linode-using-tcp-wrappers/index.md b/docs/guides/security/firewalls/protecting-your-linode-using-tcp-wrappers/index.md index 52ad40004c1..c79f785077b 100644 --- a/docs/guides/security/firewalls/protecting-your-linode-using-tcp-wrappers/index.md +++ b/docs/guides/security/firewalls/protecting-your-linode-using-tcp-wrappers/index.md @@ -17,7 +17,7 @@ TCP wrappers are a host-based access control system. They are used to prevent un ## Why use TCP wrappers? -TCP wrappers create an additional layer of security between your server and any potential attacker. They provide logging and hostname verification in addition to access control features. TCP wrappers will work out-of-the-box on most Linux and UNIX-based operating systems, which makes them easy to set up, and a perfect compliment to your [existing firewall implementation](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). +TCP wrappers create an additional layer of security between your server and any potential attacker. They provide logging and hostname verification in addition to access control features. TCP wrappers will work out-of-the-box on most Linux and UNIX-based operating systems, which makes them easy to set up, and a perfect compliment to your [existing firewall implementation](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall). ### How do I know if a program will work with TCP wrappers? @@ -81,7 +81,7 @@ This example *hosts.deny* file will block all client from all processes. ALL : ALL -We could express this rule in a sentence like this, "Deny access to all daemons from all clients". This rule will deny all traffic to the server regardless of the source. Utilizing this rule on its own is not recommended, as it will deny you access to your own server, excepting [LISH](/docs/products/compute/compute-instances/guides/lish/). +We could express this rule in a sentence like this, "Deny access to all daemons from all clients". This rule will deny all traffic to the server regardless of the source. Utilizing this rule on its own is not recommended, as it will deny you access to your own server, excepting [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). ### Allow exceptions diff --git a/docs/guides/security/firewalls/what-is-iptables/index.md b/docs/guides/security/firewalls/what-is-iptables/index.md index 5e096a8b401..64bd13306a5 100644 --- a/docs/guides/security/firewalls/what-is-iptables/index.md +++ b/docs/guides/security/firewalls/what-is-iptables/index.md @@ -197,4 +197,4 @@ If you want to clear all the rules that you have added to start over, you can us ## Next Steps -For more detailed information on iptables, including using ip6tables, rulesets, and iptables-persistent, see the [Controlling Network Traffic with iptables - A Tutorial](/docs/guides/control-network-traffic-with-iptables/) guide. +For more detailed information on iptables, including using ip6tables, rulesets, and iptables-persistent, see the [Controlling Network Traffic with iptables - A Tutorial](/cloud/guides/control-network-traffic-with-iptables/) guide. diff --git a/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md b/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md index ba6756440be..e340063569d 100644 --- a/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md +++ b/docs/guides/security/mitigations/mitigating-memcached-amplification-attacks/index.md @@ -31,7 +31,7 @@ Memcached should not be exposed to the internet. There are a few basic steps you 1. Bind memcached to a specific private IP address and port. - 2. Configure your Linode's firewall accordingly. If you need help setting up a firewall, see [our firewall guides](/docs/security/firewalls/) for more information. + 2. Configure your Linode's firewall accordingly. If you need help setting up a firewall, see [our firewall guides](/cloud/security/firewalls/) for more information. * If you do not require memcached to communicate over any network connection, disable UDP for memcached and ensure it is only listening on `localhost`. diff --git a/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md b/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md index 7fcb0d87f63..71f51ecf744 100644 --- a/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md +++ b/docs/guides/security/mitigations/understanding-and-mitigating-log4j-vulnerabilities/index.md @@ -53,6 +53,6 @@ The following commands may also be used towards manually identifying log4j packa If log4j is detected on your system, mitigation can be performed by immediately installing the [Latest Software Version](https://logging.apache.org/log4j/2.x/download.html) which will include the latest available software patches. Installing `log4j 2.16.0` for example will completely disables JNDI by default and removes support for Message Lookups to apply mitigation. If patching your system is not possible by updating your version of log4j, then users should follow CISA's [Recommended Workarounds](https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance) with the understanding that a full log4j software version update is recommended. -If you believe a compromise has occurred, we recommend following the steps in our guide for [Recovering From a System Compromise](/docs/guides/recovering-from-a-system-compromise/). +If you believe a compromise has occurred, we recommend following the steps in our guide for [Recovering From a System Compromise](/cloud/guides/recovering-from-a-system-compromise/). As log4j is, at the time of this writing, still a developing issue, it is recommended that users continue to regularly monitor the situation from both CISA's [Guidance Page](https://www.cisa.gov/uscert/apache-log4j-vulnerability-guidance) and [Apache's log4j Vulnerabilities Page](https://logging.apache.org/log4j/2.x/security.html) \ No newline at end of file diff --git a/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md b/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md index 4e4eeb03508..d1ec8a4d409 100644 --- a/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md +++ b/docs/guides/security/monitoring/create-a-pop-email-notification-system-using-twilio/index.md @@ -41,15 +41,15 @@ The auto-forwarding system leverages the API of Twilio, a cloud communications s 1. This guide shows how to set up the email-to-text forwarding system on a Linode instance. A Linode instance is used because it can remain powered on at all times. - If you want to implement the notification system, [create a Linode in the Cloud Manager](/docs/products/compute/compute-instances/get-started/). The lowest cost Shared CPU instance type is appropriate for this guide. If you already have a Linode instance that you want to set up the notification system on, you can use that instead of a new instance. This guide was tested with Ubuntu 20.04, but should also work with other Linux distributions and versions. + If you want to implement the notification system, [create a Linode in the Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances). The lowest cost Shared CPU instance type is appropriate for this guide. If you already have a Linode instance that you want to set up the notification system on, you can use that instead of a new instance. This guide was tested with Ubuntu 20.04, but should also work with other Linux distributions and versions. - After you create your Linode, follow our [Securing your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. + After you create your Linode, follow our [Securing your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. -1. Another guide in our library, [How to Use the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/docs/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/docs/guides/how-to-use-the-linode-api-with-twilio/#install-the-twilio-python-helper-library) section. +1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/cloud/guides/how-to-use-the-linode-api-with-twilio/#install-the-twilio-python-helper-library) section. The guide instructs you to install the Twilio API client for Python. When following these instructions, run the commands under the limited Linux user on your Linode instance. -1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/docs/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). +1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). 1. Your email service needs to support POP, and support for POP may need to be manually enabled. For example, [Gmail has an option to turn on POP access in its settings](https://support.google.com/mail/answer/7104828). @@ -61,7 +61,7 @@ The script in this section is updated in the next section to incorporate auto-fo ### Import Modules and Initialize Service Credentials -1. Log into your Linode under your limited Linux user [using SSH](/docs/guides/connect-to-server-over-ssh/). +1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Create a new file named `forward-last-email-to-text-message.py` with your preferred terminal text editor. For example, when using `nano`, run: @@ -341,7 +341,7 @@ The code example is now complete. Your script should now look like the code in [ ### Run the Code -1. Before you run the script, set the [environment variables](/docs/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: export TWILIO_ACCOUNT_SID= export TWILIO_AUTH_TOKEN= @@ -367,9 +367,9 @@ export EMAIL_SERVER=pop.yourdomain.com | Variable | Value | |----------|-------| - | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/docs/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | - | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/docs/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/docs/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | + | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | + | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | + | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | | TWILIO_TO_PHONE_NUMBER | Your personal or testing phone number that you signed up to Twilio with. The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | | EMAIL_USERNAME | Your email address. | | EMAIL_PASSWORD | Your password for your email. Note that some services may require you to create an app-specific password for the POP connection. For example, [Google requires you to create an app-specific password](https://support.google.com/accounts/answer/185833) if you use 2-step verification/2FA on your account. | @@ -429,7 +429,7 @@ This auto-forwarding system has two parts: - The example code is [updated to forward multiple recent Linode Alert emails](#forward-all-linode-alert-emails-within-last-minute), instead of stopping after the most recent email is found. Specifically, it fetches the content for any Linode Alert email from the previous minute and forwards it to Twilio. -- A [cron](/docs/guides/schedule-tasks-with-cron/) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. +- A [cron](/cloud/guides/schedule-tasks-with-cron/) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. The updated example code looks for email in the last full minute prior to when the script is run. The example code does *not* check for email in the 60 seconds that preceded the script's execution time. Consider this example: @@ -592,7 +592,7 @@ The example code is similar to the code from the previous section. The updated l ### Set Up a Cron Job -[Cron](/docs/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different scheduled times that you specify. Follow these instructions to set up a cron job for the new script: +[Cron](/cloud/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different scheduled times that you specify. Follow these instructions to set up a cron job for the new script: 1. In your SSH session, start the *crontab* editor: @@ -699,25 +699,25 @@ Your script should now look like the code in [this file](autoforward-email-with- 1. The updated script is automatically run by the cron job. CPU usage alerts are sent when a Linode on your account exceeds a threshold percentage. The Linodes on your account may or may not currently this threshold, so you may not receive any notifications. - You can test that the update code works by temporarily [lowering the CPU usage alert threshold](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/) for one of your Linodes. By default, this value is set to 90%. + You can test that the update code works by temporarily [lowering the CPU usage alert threshold](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances) for one of your Linodes. By default, this value is set to 90%. ## Next Steps -The auto-forwarding system is now complete, and it includes email filtering by subject keyword. You can make adjustments to the search criterion to change this filtering behavior. For example, you could search for the string `traffic rate` to only forward notifications about spikes in your Linodes' networking. You can also tweak the [alert threshold values](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/) for different resources in the Cloud Manager. +The auto-forwarding system is now complete, and it includes email filtering by subject keyword. You can make adjustments to the search criterion to change this filtering behavior. For example, you could search for the string `traffic rate` to only forward notifications about spikes in your Linodes' networking. You can also tweak the [alert threshold values](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances) for different resources in the Cloud Manager. -In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/) and [Monitor your Linode's Network Transfer Pool with Twilio](/docs/guides/monitor-linode-network-transfer-pool-with-twilio/) guides show how to combine the Linode and Twilio APIs. +In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) and [Monitor your Linode's Network Transfer Pool with Twilio](/cloud/guides/monitor-linode-network-transfer-pool-with-twilio/) guides show how to combine the Linode and Twilio APIs. Twilio's API offers many other features as well. For example, you can forward notifications to more than one phone number using the [Messaging Service resource](https://www.twilio.com/docs/messaging/services/api#messaging-services-resource). Twilio's [quick start guides](https://www.twilio.com/docs/quickstart) are helpful when exploring the Twilio API. ## Troubleshooting -Several troubleshooting scenarios are outlined in the [Troubleshooting](/docs/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. +Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. When troubleshooting email forwarding, remember that you can trigger new Linode system notifications by: - Rebooting a Linode in the Cloud Manager. -- Temporarily lowering [alert threshold values](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/). +- Temporarily lowering [alert threshold values](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances). As well, the following possible solutions may help: diff --git a/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md b/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md index e267e641338..f88d8ff4544 100644 --- a/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md +++ b/docs/guides/security/monitoring/how-to-use-the-linode-api-with-twilio/index.md @@ -24,15 +24,15 @@ This guide shows a first example of how to send data from the Linode API to the 1. The code example in this guide uses Python 3. The examples were tested on version 3.6. Make sure you install Python 3.6 or newer on your workstation. Linode has guides that show how to install Python 3 or verify that you have it installed on several Linux distributions: - - [How to Install Python 3 on Ubuntu 20.04](/docs/guides/how-to-install-python-on-ubuntu-20-04) + - [How to Install Python 3 on Ubuntu 20.04](/cloud/guides/how-to-install-python-on-ubuntu-20-04) - - [How to Install Python 3 on Debian 10](/docs/guides/how-to-install-python-on-debian-10) + - [How to Install Python 3 on Debian 10](/cloud/guides/how-to-install-python-on-debian-10) - - [How to Install Python 3 on CentOS 8](/docs/guides/how-to-install-python-on-centos-8) + - [How to Install Python 3 on CentOS 8](/cloud/guides/how-to-install-python-on-centos-8) On Windows, Python can be downloaded [from the Windows Store](https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7?activetab=pivot:overviewtab). -1. This guide uses the [pip3](https://pip.pypa.io/en/stable/installation/) tool to install dependencies for the example code. Our [Managing Python Packages and Versions on Linux](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/) guide shows how to install and use pip3 on Linux. On Windows, pip3 is automatically installed when you install Python [from the Windows Store](https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7?activetab=pivot:overviewtab). This guide does not use a [Python virtual environment](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/#manage-virtual-environments-in-linux), but you can alter the instructions if you prefer to use one. +1. This guide uses the [pip3](https://pip.pypa.io/en/stable/installation/) tool to install dependencies for the example code. Our [Managing Python Packages and Versions on Linux](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/) guide shows how to install and use pip3 on Linux. On Windows, pip3 is automatically installed when you install Python [from the Windows Store](https://www.microsoft.com/en-us/p/python-39/9p7qfqmjrfp7?activetab=pivot:overviewtab). This guide does not use a [Python virtual environment](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#manage-virtual-environments-in-linux), but you can alter the instructions if you prefer to use one. 1. An active phone number is needed to sign up for a Twilio account, so be sure to have one if you want to implement the code example. @@ -98,7 +98,7 @@ Before you can work with the Linode API, you need a personal access token that i Your Linode account does not have any personal access tokens by default. To create a new token: -1. Follow our [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) instructions. For the code example in this guide, you should create a token that has **Read Only** access to the **Account** resource. +1. Follow our [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) instructions. For the code example in this guide, you should create a token that has **Read Only** access to the **Account** resource. 1. When you have created the token, it is displayed in your browser. Unlike the Twilio access token, you are not able to view the token in your browser after you have closed this page. Be sure to copy the token into a temporary text file or a password manager on your computer. Later in this guide, you add this token to the example code. @@ -262,7 +262,7 @@ The code example is now complete. The completed example should look like the cod ### Run the Code -1. Before you run the script, set the [environment variables](/docs/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal: {{< tabs >}} {{< tab "Linux and macOS" >}} diff --git a/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md b/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md index dce1b7faa68..3f79f624770 100644 --- a/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md +++ b/docs/guides/security/monitoring/monitor-linode-network-transfer-pool-with-twilio/index.md @@ -14,16 +14,16 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' Each Linode account has a monthly *outbound* network transfer pool. The network transfer pool is the total amount of free outbound bandwidth that is shared between all the Linode services in your account. {{< note >}} -For more information on how your network transfer pool's size is computed, and which services can consume your outbound network transfer pool, review the [Transfer Allowance](/docs/products/platform/get-started/guides/network-transfer/#transfer-allowance) section of the [Network Transfer Usage and Costs](/docs/products/platform/get-started/guides/network-transfer/) guide. +For more information on how your network transfer pool's size is computed, and which services can consume your outbound network transfer pool, review the [Transfer Allowance](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs#transfer-allowance) section of the [Network Transfer Usage and Costs](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs) guide. {{< /note >}} It's important to keep track of how much bandwidth your account has. If you use more than your pool size in a given month, then you are billed an overage fee for that month. If you observe that you have used a high percentage of your transfer pool, then you can start to plan or budget for a possible transfer overage. Linode provides a few ways to monitor your transfer usage: -- The [Cloud Manager](/docs/products/platform/get-started/guides/network-transfer/#cloud-manager) displays your current transfer usage. +- The [Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs#cloud-manager) displays your current transfer usage. -- The [Linode CLI](/docs/products/platform/get-started/guides/network-transfer/#linode-cli) can report your current transfer usage. +- The [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs#linode-cli) can report your current transfer usage. -- Linode sends [email alerts](/docs/products/platform/get-started/guides/network-transfer/#email-alerts) at 80%, 90%, and 100% of your transfer usage. +- Linode sends [email alerts](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs#email-alerts) at 80%, 90%, and 100% of your transfer usage. Using Twilio, you can also build a custom text message notification system for your transfer usage. Such a system would periodically send notifications to help you be aware of your transfer usage without manually checking on it. You can also configure the system to send notifications at custom transfer usage percents, instead of the standard 80%, 90%, and 100% Linode email alerts. This custom notification system relies on the [Network Transfer View endpoint](https://techdocs.akamai.com/linode-api/reference/api-summary#network-transfer-view) of the Linode API. @@ -41,19 +41,19 @@ Using Twilio, you can also build a custom text message notification system for y 1. This guide shows how to set up the notification system on a Linode instance. A Linode instance is used because it can remain powered on at all times. - If you want to implement the notification system, [create a Linode in the Cloud Manager](/docs/products/compute/compute-instances/get-started/). The lowest-cost Shared CPU instance type is appropriate for this guide. If you already have a Linode instance that you want to set up the notification system on, you can use that instead of a new instance. This guide was tested with Ubuntu 20.04, but should also work with other Linux distributions and versions. + If you want to implement the notification system, [create a Linode in the Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances). The lowest-cost Shared CPU instance type is appropriate for this guide. If you already have a Linode instance that you want to set up the notification system on, you can use that instead of a new instance. This guide was tested with Ubuntu 20.04, but should also work with other Linux distributions and versions. - After you create your Linode, follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. + After you create your Linode, follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. -1. Another guide in our library, [How to Use the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Linode API and Twilio API together. Follow this guide, starting with its [Before You Begin](/docs/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Python Bindings for the Linode API](/docs/guides/how-to-use-the-linode-api-with-twilio/#install-the-python-bindings-for-the-linode-api) section. +1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Linode API and Twilio API together. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Python Bindings for the Linode API](/cloud/guides/how-to-use-the-linode-api-with-twilio/#install-the-python-bindings-for-the-linode-api) section. The guide instructs you to install the Linode API and Twilio API clients for Python. When following these instructions, run the commands under the limited Linux user on your Linode instance. {{< note respectIndent=false >}} -The prerequisite guide instructs you to select the **Account** resource [when creating the Linode API key](/docs/guides/how-to-use-the-linode-api-with-twilio/#get-a-linode-api-token). This resource is also used for the [Network Transfer View endpoint](https://techdocs.akamai.com/linode-api/reference/api-summary#network-transfer-view) that's accessed by the network transfer usage notification system in the current guide. +The prerequisite guide instructs you to select the **Account** resource [when creating the Linode API key](/cloud/guides/how-to-use-the-linode-api-with-twilio/#get-a-linode-api-token). This resource is also used for the [Network Transfer View endpoint](https://techdocs.akamai.com/linode-api/reference/api-summary#network-transfer-view) that's accessed by the network transfer usage notification system in the current guide. {{< /note >}} -1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/docs/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). +1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). ## Send Network Transfer Usage in a Text Message @@ -63,7 +63,7 @@ The last part of this section shows how to run the script manually to deliver a ### Import Modules and Initialize Service Credentials -1. Log into your Linode under your limited Linux user [using SSH](/docs/guides/connect-to-server-over-ssh/). +1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Create a new file named `transfer-pool-notification-twilio.py` with your preferred terminal text editor. For example, when using `nano`, run: @@ -209,7 +209,7 @@ The code example is now complete. Your script should now look like the code in [ ### Run the Code -1. Before you run the script, set the [environment variables](/docs/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: export TWILIO_ACCOUNT_SID= export TWILIO_AUTH_TOKEN= @@ -231,11 +231,11 @@ export LINODE_API_TOKEN=bKfoAoV8Awo8e9CVTFTYKEdojkpHdD8BNU6UvV66izq6KjduPikfQTGH | Variable | Value | |----------|-------| - | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/docs/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | - | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/docs/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/docs/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | + | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | + | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | + | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | | TWILIO_TO_PHONE_NUMBER | Your personal or testing phone number that you signed up to Twilio with. The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | LINODE_API_TOKEN | [The Linode API token that you generated](/docs/guides/how-to-use-the-linode-api-with-twilio/#get-a-linode-api-token) and recorded | + | LINODE_API_TOKEN | [The Linode API token that you generated](/cloud/guides/how-to-use-the-linode-api-with-twilio/#get-a-linode-api-token) and recorded | 1. Run the script: @@ -265,7 +265,7 @@ https://www.linode.com/docs/products/platform/get-started/guides/network-transfe The notification system should be set up to run periodically on its own. By sending periodic notifications, you can be informed of your transfer usage throughout the month. -To run the Python script automatically, set up a cron job on your Linode. [Cron](/docs/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different time intervals that you specify. +To run the Python script automatically, set up a cron job on your Linode. [Cron](/cloud/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different time intervals that you specify. 1. In your SSH session, start the *crontab* editor: @@ -311,7 +311,7 @@ You might want to be informed of your network transfer usage more frequently, or - Using `* * * * *` would run the task every minute. This is useful if you're testing the script to make sure it works as expected. You probably would not want to keep this schedule after you've finished testing. -Our [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) guide shows how other scheduled times can be set. +Our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide shows how other scheduled times can be set. After changing the scheduling string, save the crontab file in your text editor and exit the editor. @@ -494,7 +494,7 @@ elif pool_used_ratio > USAGE_NOTIFICATION_THRESHOLD_RATIO: {{< note type="secondary" title="About the code" isCollapsible=true >}} - Line 3 defines a new overage notification threshold ratio and sets it to `1` (representing 100% of your transfer pool size). - - Line 4 defines a variable to store the cost of network transfer overage, which is [$.01 per GB](/docs/products/platform/get-started/guides/network-transfer/#usage-costs). + - Line 4 defines a variable to store the cost of network transfer overage, which is [$.01 per GB](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs#usage-costs). - On line 6, the computed `pool_used_ratio` is compared with the overage threshold ratio number. @@ -541,7 +541,7 @@ When testing, it can also be helpful to change the cron job schedule to run ever ## Troubleshooting -Several troubleshooting scenarios are outlined in the [Troubleshooting](/docs/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. +Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. As well, the following possible solution may help: diff --git a/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md b/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md index 0fb0addf2d5..54bcbfe5538 100644 --- a/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md +++ b/docs/guides/security/monitoring/monitor-server-activities-using-beats/index.md @@ -11,7 +11,7 @@ external_resources: - '[Beats](https://www.elastic.co/beats/)' - '[Packetbeat](https://www.elastic.co/beats/packetbeat)' - '[Auditbeat](https://www.elastic.co/beats/auditbeat)' -- '[Elasticsearch](/docs/guides/a-guide-to-elasticsearch-plugins/#elasticsearch)' +- '[Elasticsearch](/cloud/guides/a-guide-to-elasticsearch-plugins/#elasticsearch)' - '[Kibana Query Language (KQL)](https://www.elastic.co/guide/en/kibana/current/kuery-query.html)' - '[File Integrity Module](https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-module-file_integrity.html)' --- @@ -58,13 +58,13 @@ These industries use often cross-categories. For example, [John Deere](https://w ## Run Filebeat from the Command Line and Kibana -To begin using the Beats products, create a simple setup and then experiment with it. Creating a Filebeat command line interface gives you an essential understanding of how the various Beats products work without investing a lot of time in configuration and setup. This section relies on a Linode 4 GB plan on an Ubuntu 22.04 LTS distribution, which is the smallest setup that works. The process works best with a [non-root user who has sudo access](/docs/guides/how-to-add-and-remove-sudo-access-in-ubuntu/). Before installing Filebeat, ensure you have logged in as a non-root user, and you install the following prerequisites: +To begin using the Beats products, create a simple setup and then experiment with it. Creating a Filebeat command line interface gives you an essential understanding of how the various Beats products work without investing a lot of time in configuration and setup. This section relies on a Linode 4 GB plan on an Ubuntu 22.04 LTS distribution, which is the smallest setup that works. The process works best with a [non-root user who has sudo access](/cloud/guides/how-to-add-and-remove-sudo-access-in-ubuntu/). Before installing Filebeat, ensure you have logged in as a non-root user, and you install the following prerequisites: -- [OpenJDK](/docs/guides/how-to-install-openjdk-ubuntu-22-04/): Ensure you install Java 11, as newer versions may not be compatible. +- [OpenJDK](/cloud/guides/how-to-install-openjdk-ubuntu-22-04/): Ensure you install Java 11, as newer versions may not be compatible. -- [Nginx](/docs/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/): Ensure you stop after completing the **Install NGINX** section. +- [Nginx](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/): Ensure you stop after completing the **Install NGINX** section. -- [Elasticsearch](/docs/guides/a-guide-to-elasticsearch-plugins/#elasticsearch): There have been recent modifications to the standard installation procedure due to changes in the security setup for Ubuntu. Follow the updated command instead for step 1 for installing the signing key: +- [Elasticsearch](/cloud/guides/a-guide-to-elasticsearch-plugins/#elasticsearch): There have been recent modifications to the standard installation procedure due to changes in the security setup for Ubuntu. Follow the updated command instead for step 1 for installing the signing key: ```command curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch |sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg @@ -352,7 +352,7 @@ Filebeat monitors the logs that containerized applications produce. To make this ## Check Activity Levels Using Metricbeat -Tracking your servers’ resource use and activity levels helps to determine server health and allows potential problem remediation before the server goes down. As with Filebeat, you can [install Metricbeat](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation-configuration.html#install) using a self-managed configuration (see the [Run Filebeat from the Command Line and Kibana](/docs/guides/monitor-server-activities-using-beats/#run-filebeat-from-the-command-line-and-kibana) section of this guide for details). The Metricbeat configuration information resides in the `/etc/metricbeat/metricbeat.yml` file. Metricbeat appears in your Kibana dashboard and you can use the filtering options to select the metrics you want to see. +Tracking your servers’ resource use and activity levels helps to determine server health and allows potential problem remediation before the server goes down. As with Filebeat, you can [install Metricbeat](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-installation-configuration.html#install) using a self-managed configuration (see the [Run Filebeat from the Command Line and Kibana](/cloud/guides/monitor-server-activities-using-beats/#run-filebeat-from-the-command-line-and-kibana) section of this guide for details). The Metricbeat configuration information resides in the `/etc/metricbeat/metricbeat.yml` file. Metricbeat appears in your Kibana dashboard and you can use the filtering options to select the metrics you want to see. ### Understanding the Kinds of Metrics You Can Collect @@ -372,7 +372,7 @@ Metricbeat also works with modules so you can work with services. Each module pr ## Ensuring a Secure Environment with Auditbeat -Creating a paper trail of activities on your system helps show patterns that may indicate unwanted actions by actors who access the system. As with Filebeat, you can install Auditbeat as a [self-managed](https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-installation-configuration.html#install) application (see the [Run Filebeat from the Command Line and Kibana](/docs/guides/monitor-server-activities-using-beats/#run-filebeat-from-the-command-line-and-kibana) section of this guide). Unlike the other Beats, Auditbeat always relies on modules to determine which information to collect and these modules are platform-specific. To modify the modules that Auditbeat uses, modify the contents of the `/etc/auditbeat/auditbeat.yml` file. Like Metricbeat, Auditbeat requires that you [configure modules individually](https://www.elastic.co/guide/en/beats/auditbeat/current/configuration-auditbeat.html). +Creating a paper trail of activities on your system helps show patterns that may indicate unwanted actions by actors who access the system. As with Filebeat, you can install Auditbeat as a [self-managed](https://www.elastic.co/guide/en/beats/auditbeat/current/auditbeat-installation-configuration.html#install) application (see the [Run Filebeat from the Command Line and Kibana](/cloud/guides/monitor-server-activities-using-beats/#run-filebeat-from-the-command-line-and-kibana) section of this guide). Unlike the other Beats, Auditbeat always relies on modules to determine which information to collect and these modules are platform-specific. To modify the modules that Auditbeat uses, modify the contents of the `/etc/auditbeat/auditbeat.yml` file. Like Metricbeat, Auditbeat requires that you [configure modules individually](https://www.elastic.co/guide/en/beats/auditbeat/current/configuration-auditbeat.html). ### Using Auditbeat as a auditd Replacement diff --git a/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md b/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md index 27243d785d6..7ddb96f6d2a 100644 --- a/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md +++ b/docs/guides/security/monitoring/monitoring-and-securing-cloud-workloads-with-wazuh/index.md @@ -55,7 +55,7 @@ Wazuh features dashboards for exploring the MITRE ATT&CK framework and associate There are a number of ways to install Wazuh, depending on where you want it to run, what other services you want to use with Wazuh, and the amount of traffic you need to handle: -- Use [our Wazuh Quick Deploy App](/docs/marketplace-docs/guides/wazuh/) for a fast deployment. This option fully deploys in about 15 minutes and requires minimal configuration information. +- Use [our Wazuh Quick Deploy App](/cloud/marketplace-docs/guides/wazuh/) for a fast deployment. This option fully deploys in about 15 minutes and requires minimal configuration information. - Using [Wazuh's Quickstart instructions](https://documentation.wazuh.com/current/quickstart.html#installing-wazuh) along with their installation assistant, you can create an all-in-one, single node deployment. This deploys Wazuh on a single server that can monitor up to 100 endpoints. diff --git a/docs/guides/security/monitoring/security-auditing-with-lynis/index.md b/docs/guides/security/monitoring/security-auditing-with-lynis/index.md index ebbfdf497a2..2064d280b64 100644 --- a/docs/guides/security/monitoring/security-auditing-with-lynis/index.md +++ b/docs/guides/security/monitoring/security-auditing-with-lynis/index.md @@ -16,7 +16,7 @@ image: Security_auditing_with_Lynis.png This guide was written specifically for Debian and Ubuntu operating systems, however can be adapted to apply to all other operating systems that [Lynis currently supports](https://cisofy.com/documentation/lynis/get-started/). -Ensure that you have followed our [Getting Started](/docs/products/platform/get-started/) guide before proceeding. +Ensure that you have followed our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide before proceeding. ## Installing Lynis diff --git a/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md b/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md index e36657d7615..fc048252b71 100644 --- a/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md +++ b/docs/guides/security/monitoring/twilio-email-notifications-imap/index.md @@ -44,15 +44,15 @@ The auto-forwarding system leverages the API of Twilio, a cloud communications s 1. This guide shows how to set up the email-to-text forwarding system on a Linode instance. A Linode instance is used because it can remain powered on at all times. - If you want to implement the notification system, [create a Linode in the Cloud Manager](/docs/products/compute/compute-instances/get-started/). The lowest cost Shared CPU instance type is appropriate for this guide. If you already have a Linode instance that you want to set up the notification system on, you can use that instead of a new instance. This guide was tested with Ubuntu 20.04, but should also work with other Linux distributions and versions. + If you want to implement the notification system, [create a Linode in the Cloud Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances). The lowest cost Shared CPU instance type is appropriate for this guide. If you already have a Linode instance that you want to set up the notification system on, you can use that instead of a new instance. This guide was tested with Ubuntu 20.04, but should also work with other Linux distributions and versions. - After you create your Linode, follow our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. + After you create your Linode, follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to reduce the threat of a system compromise. Specifically, make sure you [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to the Linode. The notification system in this guide should be installed under a limited Linux user. -1. Another guide in our library, [How to Use the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/docs/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/docs/guides/how-to-use-the-linode-api-with-twilio/#install-the-twilio-python-helper-library) section. +1. Another guide in our library, [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/), shows the prerequisite steps for using the Twilio API. Follow this guide, starting with its [Before You Begin](/cloud/guides/how-to-use-the-linode-api-with-twilio/#before-you-begin) section, up to and including the [Install the Twilio Python Helper Library](/cloud/guides/how-to-use-the-linode-api-with-twilio/#install-the-twilio-python-helper-library) section. The guide instructs you to install the Twilio API client for Python. When following these instructions, run the commands under the limited Linux user on your Linode instance. -1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/docs/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). +1. This guide instructs you to create a Python script from within an SSH session on your Linode. You need to install and use a terminal text editor to write the script on your Linode. Common text editors include [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) (the easiest option for terminal beginners), [emacs](https://www.gnu.org/software/emacs/), and [vim](https://www.vim.org/). 1. Your email service needs to support IMAP, and support for IMAP may need to be manually enabled. For example, [Gmail has an option to turn on IMAP access in its settings](https://support.google.com/mail/answer/7126229?hl=en#zippy=%2Cstep-check-that-imap-is-turned-on). @@ -64,7 +64,7 @@ The script in this section is updated in the next section to incorporate auto-fo ### Import Modules and Initialize Service Credentials -1. Log into your Linode under your limited Linux user [using SSH](/docs/guides/connect-to-server-over-ssh/). +1. Log into your Linode under your limited Linux user [using SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Create a new file named `forward-last-email-to-text-message.py` with your preferred terminal text editor. For example, when using `nano`, run: @@ -349,7 +349,7 @@ The code example is now complete. Your script should now look like the code in [ ### Run the Code -1. Before you run the script, set the [environment variables](/docs/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: +1. Before you run the script, set the [environment variables](/cloud/guides/how-to-set-linux-environment-variables/) that the script expects in your terminal. In your SSH session with your Linode, run the following commands. After the `=` symbol in each command, insert the corresponding value: export TWILIO_ACCOUNT_SID= export TWILIO_AUTH_TOKEN= @@ -375,9 +375,9 @@ export EMAIL_SERVER=imap.yourdomain.com | Variable | Value | |----------|-------| - | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/docs/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | - | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/docs/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | - | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/docs/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | + | TWILIO_ACCOUNT_SID | The Twilio account SID [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials) | + | TWILIO_AUTH_TOKEN | The Twilio auth token [located in your Twilio console](/cloud/guides/how-to-use-the-linode-api-with-twilio/#locate-your-twilio-api-credentials). The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | + | TWILIO_FROM_PHONE_NUMBER | The new number that you selected in the Twilio console [when you first signed up](/cloud/guides/how-to-use-the-linode-api-with-twilio/#sign-up-for-twilio) | | TWILIO_TO_PHONE_NUMBER | Your personal or testing phone number that you signed up to Twilio with. The phone number needs to be entered using [E.164](https://www.twilio.com/docs/glossary/what-e164) formatting. | | EMAIL_USERNAME | Your email address. | | EMAIL_PASSWORD | Your password for your email. Note that some services may require you to create an app-specific password for the IMAP connection. For example, [Google requires you to create an app-specific password](https://support.google.com/accounts/answer/185833) if you use 2-step verification/2FA on your account. | @@ -427,7 +427,7 @@ This auto-forwarding system has two parts: - The example code is [updated to search recent email by date](#iterate-through-recent-emails). The script iterates through the matching emails and creates a text message for each of them, instead of just forwarding the single most recent email. Specifically, it fetches the content for any Linode Alert email from the past 60 seconds and forwards it to Twilio. -- A [cron](/docs/guides/schedule-tasks-with-cron/) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. +- A [cron](/cloud/guides/schedule-tasks-with-cron/) job is created to run the script every minute. This means that every time the script is run, it checks for emails that have been received since the last time the script was run. ### Search Email by Date with Imaplib @@ -557,7 +557,7 @@ The example code is similar to the code from the previous section. The updated l ### Set Up a Cron Job -[Cron](/docs/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different time intervals that you specify. Follow these instructions to set up a cron job for the new script: +[Cron](/cloud/guides/schedule-tasks-with-cron/) is a Linux tool that runs processes at different time intervals that you specify. Follow these instructions to set up a cron job for the new script: 1. In your SSH session, start the *crontab* editor: @@ -650,25 +650,25 @@ Your script should now look like the code in [this file](autoforward-email-with- 1. The updated script is automatically run by the cron job. CPU usage alerts are sent when a Linode on your account exceeds a threshold percentage. The Linodes on your account may or may not currently this threshold, so you may not receive any notifications. - You can test that the update code works by temporarily [lowering the CPU usage alert threshold](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/) for one of your Linodes. By default, this value is set to 90%. + You can test that the update code works by temporarily [lowering the CPU usage alert threshold](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances) for one of your Linodes. By default, this value is set to 90%. ## Next Steps -The auto-forwarding system is now complete, and it includes email filtering by subject keyword. You can make adjustments to the search criterion to change this filtering behavior. For example, you could search for the string `traffic rate` to only forward notifications about spikes in your Linodes' networking. You can also tweak the [alert threshold values](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/) for different resources in the Cloud Manager. +The auto-forwarding system is now complete, and it includes email filtering by subject keyword. You can make adjustments to the search criterion to change this filtering behavior. For example, you could search for the string `traffic rate` to only forward notifications about spikes in your Linodes' networking. You can also tweak the [alert threshold values](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances) for different resources in the Cloud Manager. -In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/) and [Monitor your Linode's Network Transfer Pool with Twilio](/docs/guides/monitor-linode-network-transfer-pool-with-twilio/) guides show how to combine the Linode and Twilio APIs. +In addition to forwarding emails to text, you may want to forward information from the Linode API to text. The [Using the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) and [Monitor your Linode's Network Transfer Pool with Twilio](/cloud/guides/monitor-linode-network-transfer-pool-with-twilio/) guides show how to combine the Linode and Twilio APIs. Twilio's API offers many other features as well. For example, you can forward notifications to more than one phone number using the [Messaging Service resource](https://www.twilio.com/docs/messaging/services/api#messaging-services-resource). Twilio's [quick start guides](https://www.twilio.com/docs/quickstart) are helpful when exploring the Twilio API. ## Troubleshooting -Several troubleshooting scenarios are outlined in the [Troubleshooting](/docs/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/docs/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. +Several troubleshooting scenarios are outlined in the [Troubleshooting](/cloud/guides/how-to-use-the-linode-api-with-twilio/#troubleshooting) section of the [How to Use the Linode API with Twilio](/cloud/guides/how-to-use-the-linode-api-with-twilio/) guide. Review that section for possible solutions. When troubleshooting email forwarding, remember that you can trigger new Linode system notifications by: - Rebooting a Linode in the Cloud Manager. -- Temporarily lowering [alert threshold values](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/). +- Temporarily lowering [alert threshold values](https://techdocs.akamai.com/cloud-computing/docs/configure-email-alerts-for-resource-usage-on-compute-instances). As well, the following possible solution may help: diff --git a/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md b/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md index 404091a8d47..119dae0f50e 100644 --- a/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md +++ b/docs/guides/security/monitoring/visualize-server-security-on-centos-7-with-an-elastic-stack-and-wazuh/index.md @@ -41,28 +41,28 @@ Wazuh is an open source branch of the original [OSSEC HIDS](https://ossec.github ## Before You Begin -1. Many of the steps in this guide require root privileges. Complete the sections of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) to create a standard user account, harden SSH access and remove unnecessary network services. Use `sudo` wherever necessary. +1. Many of the steps in this guide require root privileges. Complete the sections of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. Use `sudo` wherever necessary. 2. Your Linode should have at least [8GB of RAM](https://www.linode.com/pricing). While an Elastic Stack will run on less RAM, the Wazuh Manager will crash if RAM is depleted at any time during use. -3. Add a domain zone, NS record, and A/AAA record for the domain you will use to access your Kibana installation. See the [DNS Manager](/docs/products/networking/dns-manager/) guide for details. If you will access your Kibana instance via your Linode's IP address, you can skip this step. +3. Add a domain zone, NS record, and A/AAA record for the domain you will use to access your Kibana installation. See the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for details. If you will access your Kibana instance via your Linode's IP address, you can skip this step. -4. [Create an SSL Certificate](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/), if you will be using SSL encryption for your domain. +4. [Create an SSL Certificate](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/), if you will be using SSL encryption for your domain. 5. Install NGINX or Apache. Visit our guides on how to install a LEMP or LAMP stack for CentOS for help: - - [Install a LEMP Stack on CentOS 7 with FastCGI](/docs/guides/lemp-stack-on-centos-7-with-fastcgi/) - - [LAMP stack on CentOS 7](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/) + - [Install a LEMP Stack on CentOS 7 with FastCGI](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi/) + - [LAMP stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) 6. Configure your webserver for virtual domain hosting: **NGINX** - - [How to Configure NGINX](/docs/guides/how-to-configure-nginx/) + - [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) **Apache** - - [Apache Configuration Basics](/docs/guides/apache-configuration-basics/) + - [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) ## Update System and Install Prerequisites diff --git a/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md b/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md index 3ec701997f8..63c98dafa1d 100644 --- a/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md +++ b/docs/guides/security/recovery/recovering-from-a-system-compromise/index.md @@ -35,17 +35,17 @@ This is the easiest option, but also the most destructive. It will wipe all of t 5. Choose your new distribution, disk size, swap disk, and root password. 6. Click **Rebuild**. -This will delete your current images and deploy fresh disks. All data that was stored on the Linode will be unrecoverable, but your system will be free of compromise. At this point, you should follow the instructions in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to disable root logins via SSH and disable password logins for all accounts. +This will delete your current images and deploy fresh disks. All data that was stored on the Linode will be unrecoverable, but your system will be free of compromise. At this point, you should follow the 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 to disable root logins via SSH and disable password logins for all accounts. ## Copy Data Offsite -If there is data on the compromised Linode that you need to retain, you can use the [Finnix rescue environment](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) to examine your old disks first. Once you have verified the integrity of your data, copy it to the appropriate location on your new server or another offsite location. Our [SSH disk copy guide](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/) explains how to copy your entire disk offsite. +If there is data on the compromised Linode that you need to retain, you can use the [Finnix rescue environment](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild) to examine your old disks first. Once you have verified the integrity of your data, copy it to the appropriate location on your new server or another offsite location. Our [SSH disk copy guide](https://techdocs.akamai.com/cloud-computing/docs/copy-a-disk-over-ssh) explains how to copy your entire disk offsite. ## Use a Second Linode You can use a second Linode for the most seamless transition to a new system. -1. Add a new Linode to your account. See the [Getting Started](/docs/products/platform/get-started/) guide for instructions. +1. Add a new Linode to your account. See the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide for instructions. 2. Set a strong password for **root** and all user accounts, making sure not to reuse any passwords from the compromised system. 3. Upgrade all system packages: @@ -57,7 +57,7 @@ You can use a second Linode for the most seamless transition to a new system. sudo yum update -4. Follow the instructions in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to harden SSH access and activate the firewall. +4. Follow the 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 to harden SSH access and activate the firewall. ### Rebuild Your Configuration @@ -72,28 +72,28 @@ Rebuild your production server's configuration on the new Linode. The next task is to copy your data to the new Linode, and make sure that all compromised portions have been purged. 1. Create a temporary directory on the new Linode. -2. Copy any needed user and configuration data from the compromised Linode using [rsync](/docs/guides/introduction-to-rsync/) or `scp`. +2. Copy any needed user and configuration data from the compromised Linode using [rsync](/cloud/guides/introduction-to-rsync/) or `scp`. {{< note type="alert" respectIndent=false >}} Do not log in to the new Linode from the compromised Linode. Files should be pulled from the compromised server to your new setup instead. {{< /note >}} -3. Audit your data using tools such as `rkhunter` and [`clamav`](/docs/guides/scanning-your-linode-for-malware/). You can use additional malware scanners to be certain you aren't retaining tainted files. Examine all system scripts manually for contaminated code, and replace all suspicious executable files with known good copies. +3. Audit your data using tools such as `rkhunter` and [`clamav`](/cloud/guides/scanning-your-linode-for-malware/). You can use additional malware scanners to be certain you aren't retaining tainted files. Examine all system scripts manually for contaminated code, and replace all suspicious executable files with known good copies. -If you're not comfortable copying from the compromised system prior to auditing the data, you can instead use the [Finnix rescue environment](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) to examine your old disks. Once you have verified the integrity of your data, copy it to the appropriate location on your new server. +If you're not comfortable copying from the compromised system prior to auditing the data, you can instead use the [Finnix rescue environment](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild) to examine your old disks. Once you have verified the integrity of your data, copy it to the appropriate location on your new server. ### Swap IP Addresses -Swap IP addresses so the new Linode uses the IP address assigned to the old Linode. If you have configured any network services to use the new Linode's IP address, you should modify their configurations to use the old Linode's IP instead. For instructions, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#transferring-ip-addresses). +Swap IP addresses so the new Linode uses the IP address assigned to the old Linode. If you have configured any network services to use the new Linode's IP address, you should modify their configurations to use the old Linode's IP instead. For instructions, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#transferring-ip-addresses). {{< note >}} To swap IP addresses, both Linodes must be located in the same data center. {{< /note >}} -Alternatively, you can [update your DNS entries](/docs/products/networking/dns-manager/guides/manage-dns-records/) to point to the new Linode's IP address instead. DNS propagation across the Internet may take some time. Boot the new Linode to resume normal operations. +Alternatively, you can [update your DNS entries](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) to point to the new Linode's IP address instead. DNS propagation across the Internet may take some time. Boot the new Linode to resume normal operations. ### Preserving Data for Forensics and Linode Cancellation -You may want to download a complete copy of the compromised Linode's disk(s) for forensic analysis. To do this, follow the instructions in our [SSH disk copy guide](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/). If you don't need a full copy of the affected disks, you may still want to make a copy of all system log files for later review. +You may want to download a complete copy of the compromised Linode's disk(s) for forensic analysis. To do this, follow the instructions in our [SSH disk copy guide](https://techdocs.akamai.com/cloud-computing/docs/copy-a-disk-over-ssh). If you don't need a full copy of the affected disks, you may still want to make a copy of all system log files for later review. -When you no longer need the old Linode's disks, you should [remove the Linode](/docs/products/platform/billing/guides/stop-billing/). Your account will only be invoiced for the time the Linode was present on your account since the last invoice. For more information, see [Understanding Billing and Payments](/docs/products/platform/billing/). +When you no longer need the old Linode's disks, you should [remove the Linode](https://techdocs.akamai.com/cloud-computing/docs/stop-further-billing). Your account will only be invoiced for the time the Linode was present on your account since the last invoice. For more information, see [Understanding Billing and Payments](https://techdocs.akamai.com/cloud-computing/docs/understanding-how-billing-works). diff --git a/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md b/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md index 4610ec4c353..16cde02734c 100644 --- a/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md +++ b/docs/guides/security/secrets-management/deploy-openbao-on-linode-kubernetes-engine/index.md @@ -14,7 +14,7 @@ external_resources: [OpenBao](https://openbao.org/) is an open source secrets management solution and fork of HashiCorp Vault. This guide walks through how to deploy [OpenBao on Kubernetes](https://openbao.org/docs/platform/k8s/) with Linode Kubernetes Engine (LKE) on Akamai Cloud using the [OpenBao Helm chart](https://github.com/openbao/openbao-helm). -For a single-instance manual deployment, see our [Deploying OpenBao on a Linode Instance](/docs/guides/deploying-openbao-on-a-linode-instance/) guide. If you prefer an automated one-click, single-instance deployment, see our [OpenBao Quick Deploy App](/docs/marketplace-docs/guides/openbao/). +For a single-instance manual deployment, see our [Deploying OpenBao on a Linode Instance](/cloud/guides/deploying-openbao-on-a-linode-instance/) guide. If you prefer an automated one-click, single-instance deployment, see our [OpenBao Quick Deploy App](/cloud/marketplace-docs/guides/openbao/). ## Before You Begin @@ -31,7 +31,7 @@ For a single-instance manual deployment, see our [Deploying OpenBao on a Linode 1. Install the [OpenBao CLI](https://openbao.org/docs/install/) on your workstation. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Provision an LKE Cluster diff --git a/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md b/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md index 2088a298413..ea99ae509ce 100644 --- a/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md +++ b/docs/guides/security/secrets-management/deploying-openbao-on-a-linode-instance/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' [OpenBao](https://openbao.org/) is an open source secrets management solution and fork of HashiCorp Vault. This guide walks through a manual installation of OpenBao on a single Linode instance running the Ubuntu 24.04 LTS distribution. -For a Kubernetes cluster deployment, see our [Deploy OpenBao on Linode Kubernetes Engine](/docs/guides/deploy-openbao-on-linode-kubernetes-engine/) guide. If you prefer an automated one-click deployment, see our [OpenBao Quick Deploy App](/docs/marketplace-docs/guides/openbao/). +For a Kubernetes cluster deployment, see our [Deploy OpenBao on Linode Kubernetes Engine](/cloud/guides/deploy-openbao-on-linode-kubernetes-engine/) guide. If you prefer an automated one-click deployment, see our [OpenBao Quick Deploy App](/cloud/marketplace-docs/guides/openbao/). ## Before You Begin @@ -45,7 +45,7 @@ For a Kubernetes cluster deployment, see our [Deploy OpenBao on Linode Kubernete 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system and create a limited user account. You may also wish to set the timezone, configure your hostname, and harden SSH access. {{< note >}} - This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 OpenBao diff --git a/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md b/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md index c597fcffc79..553a62a7638 100644 --- a/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md +++ b/docs/guides/security/secrets-management/how-to-setup-and-use-a-vault-server/index.md @@ -26,7 +26,7 @@ This guide covers the fundamentals of using Vault and the process of setting up A secret is a credential or key that allows you to gain access to a particular resource or to a system, for example: a password, API key, access token, or database passwords. ## 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). @@ -42,7 +42,7 @@ A secret is a credential or key that allows you to gain access to a particular r ``` {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} {{< note >}} diff --git a/docs/guides/security/security-patches/dirty-frag-mitigation/index.md b/docs/guides/security/security-patches/dirty-frag-mitigation/index.md index 404d2aab01b..263230c132e 100644 --- a/docs/guides/security/security-patches/dirty-frag-mitigation/index.md +++ b/docs/guides/security/security-patches/dirty-frag-mitigation/index.md @@ -10,7 +10,7 @@ keywords: ['dirtyfrag','dirty','frag','mitigation','patch','CVE-2026-43500','CVE license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -The "[DirtyFrag](https://github.com/V4bel/dirtyfrag)" (CVE-2026-43500, CVE-2026-43284) vulnerabilities are the second in a new series of local privilege escalations in the Linux kernel that have recently been published and which exploit the ability for an unprivileged user to write to the page cache. Similar to the "[CopyFail](/docs/guides/cve-2026-31431-copy-fail-mitigation/)" (CVE-2026-31431) vulnerability in nature, these new attack vectors exploit the esp4/esp6 (used by, e.g., [IPSec ESP](https://en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload)) and `rxrpc` (used by, e.g., the Andrew File System) components to write attacker controlled data to the page cache. Much like CopyFail as well, these vulnerabilities are easy and reliable to exploit on affected systems and impact most major Linux distributions. +The "[DirtyFrag](https://github.com/V4bel/dirtyfrag)" (CVE-2026-43500, CVE-2026-43284) vulnerabilities are the second in a new series of local privilege escalations in the Linux kernel that have recently been published and which exploit the ability for an unprivileged user to write to the page cache. Similar to the "[CopyFail](/cloud/guides/cve-2026-31431-copy-fail-mitigation/)" (CVE-2026-31431) vulnerability in nature, these new attack vectors exploit the esp4/esp6 (used by, e.g., [IPSec ESP](https://en.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload)) and `rxrpc` (used by, e.g., the Andrew File System) components to write attacker controlled data to the page cache. Much like CopyFail as well, these vulnerabilities are easy and reliable to exploit on affected systems and impact most major Linux distributions. Unfortunately, these two vulnerabilities were disclosed before upstream Linux distributions had a chance to provide kernel updates, requiring a more dynamic incident response. This early disclosure was triggered by an independent researcher identifying and publishing vulnerability details without coordination before the embargoed details could be reacted to. Given the recent developments in the area of AI-assisted vulnerability research, this parallel discovery of adjacent attack vectors to a once-published vulnerability (CopyFail in this case) is not surprising, but should serve as warning and stress the importance to develop nimble defensive capabilities to rapidly respond to new findings. The time window on embargoed vulnerabilities is shrinking rapidly. @@ -20,7 +20,7 @@ To wit: Only a few days after the disclosure of DirtyFrag, a new variant termed A complete fix for these vulnerabilities requires a kernel update. However, patches to address DirtyFrag may not yet be available from all upstream OS providers. If your distribution has no upstream release available, you may be able to apply temporary mitigations as explained below. -You may note that these mitigations are quite similar to those we documented for the recent [CopyFail](/docs/guides/cve-2026-31431-copy-fail-mitigation/) vulnerability. Since the exploitation paths for DirtyFrag affect different capabilities, the impact of the removal of a given kernel module will also differ. Please keep this in mind while reviewing the mitigations provided below: +You may note that these mitigations are quite similar to those we documented for the recent [CopyFail](/cloud/guides/cve-2026-31431-copy-fail-mitigation/) vulnerability. Since the exploitation paths for DirtyFrag affect different capabilities, the impact of the removal of a given kernel module will also differ. Please keep this in mind while reviewing the mitigations provided below: As noted above, DirtyFail can be triggered via two distinct attack paths: IPsec ESP and RxRPC. (Fragnesia and its variations use the same ESP attack vector, so can be mitigated in the same manner.) diff --git a/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md b/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md index 4324ba863a3..0d7972fc274 100644 --- a/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md +++ b/docs/guides/security/security-patches/disabling-sslv3-for-poodle/index.md @@ -14,7 +14,7 @@ deprecated: true --- ![Disabling_sslv3_for_poodle](Disabling_SSLv3_for_POODLE_smg.jpg) -Padding Oracle On Downgraded Legacy Encryption (POODLE) was released with the CVE identifier of [CVE-2014-3566](http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3566). The vulnerability was found in SSL protocol 3.0, unlike [Heartbleed](/docs/guides/patching-openssl-for-the-heartbleed-vulnerability/) which was found in OpenSSL. +Padding Oracle On Downgraded Legacy Encryption (POODLE) was released with the CVE identifier of [CVE-2014-3566](http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3566). The vulnerability was found in SSL protocol 3.0, unlike [Heartbleed](/cloud/guides/patching-openssl-for-the-heartbleed-vulnerability/) which was found in OpenSSL. SSL protocol 3.0 makes use of CBC-mode ciphers that allow for man-in-the-middle attacks using padding-oracle stacks. These attacks target the CBC ciphers to retrieve plain-text output from otherwise encrypted information. diff --git a/docs/guides/security/security-patches/meltdown-and-spectre/index.md b/docs/guides/security/security-patches/meltdown-and-spectre/index.md index 5b76bc117df..212dc331fbd 100644 --- a/docs/guides/security/security-patches/meltdown-and-spectre/index.md +++ b/docs/guides/security/security-patches/meltdown-and-spectre/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' promo_default: false external_resources: - '[MeltdownAttack.com](https://meltdownattack.com/)' - - '[How to Install Software Updates](/docs/products/compute/compute-instances/guides/set-up-and-secure/#perform-system-updates)' - - '[Reboot Survival Guide](/docs/guides/reboot-survival-guide/)' + - '[How to Install Software Updates](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#perform-system-updates)' + - '[Reboot Survival Guide](/cloud/guides/reboot-survival-guide/)' - '[Linode Blog: CPU Vulnerabilities: Meltdown & Spectre](https://blog.linode.com/2018/01/03/cpu-vulnerabilities-meltdown-spectre/)' tags: ["security"] deprecated: true @@ -59,7 +59,7 @@ Yes, but while rebooting with the new kernel will help prepare your Linode for t ## What Should I Do? -* Visit our [Reboot Survival Guide](/docs/guides/reboot-survival-guide/) to prepare for a graceful reboot. +* Visit our [Reboot Survival Guide](/cloud/guides/reboot-survival-guide/) to prepare for a graceful reboot. * [Update your kernel](#how-to-reboot-into-an-updated-linode-kernel) and reboot. * [Follow our blog for updates](https://blog.linode.com/2018/01/03/cpu-vulnerabilities-meltdown-spectre/). diff --git a/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md b/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md index d926f42617f..d065121de28 100644 --- a/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md +++ b/docs/guides/security/security-patches/patching-openssl-for-the-heartbleed-vulnerability/index.md @@ -19,7 +19,7 @@ deprecated: true A security vulnerability in OpenSSL dubbed **Heartbleed** has been found. This vulnerability was only recently discovered openly, but has been "in the wild" for over a year. It's important to update your local version of OpenSSL to correct this issue. This brief guide will walk you through ensuring that the patch is installed on your Linode, and suggest additional steps you can take to ensure your server's security. As always, we suggest having backups of your system prior to making any changes. -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 the Patched Version @@ -120,7 +120,7 @@ Here are the steps for ensuring you have the patched versions of OpenSSL on our The Heartbleed security bug would allow an attacker to read a portion of the memory on an unprotected system, including private keys used in SSL key pairs. It's suggested that you reissue all key pairs, and revoke ones made previously. This can include keys used to create SSL certificates for web and mail servers. This means new SSL certificates should be generated or purchased. -You can follow the instructions [here](/docs/guides/obtain-a-commercially-signed-tls-certificate/#create-a-certificate-signing-request-csr) to create a new certificate signing request (CSR) and key. +You can follow the instructions [here](/cloud/guides/obtain-a-commercially-signed-tls-certificate/#create-a-certificate-signing-request-csr) to create a new certificate signing request (CSR) and key. ## Additional Security Steps diff --git a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md index d905a7edcfe..3482389b15a 100644 --- a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md +++ b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-7/index.md @@ -34,9 +34,9 @@ SELinux defaults to denying anything that is not explicitly allowed. SELinux has ## 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. +1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Update your system: @@ -46,7 +46,7 @@ This guide is written for a non-root user. Commands that require elevated privil {{< note respectIndent=false >}} The Linode kernel does not support SELinux by default. However, all new Linodes running CentOS 7 use the distribution provided kernel, which has **SELinux enabled by default**. -If your system is running a Linode kernel, you will need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) for more steps. Once you're kernel is set to the upstream kernel, continue on with the steps in this guide. +If your system is running a Linode kernel, you will need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) for more steps. Once you're kernel is set to the upstream kernel, continue on with the steps in this guide. {{< /note >}} ## Install Supporting SELinux Packages @@ -107,7 +107,7 @@ You can update the `SELINUX` directive with any of the available SELinux [states sudo reboot -- Connect to your Linode via SSH (replace `192.0.2.0` with your own [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/)) and verify your SELinux installation's status: +- Connect to your Linode via SSH (replace `192.0.2.0` with your own [Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance)) and verify your SELinux installation's status: ssh example_user@192.0.2.0 sudo sestatus @@ -146,7 +146,7 @@ If SELinux is currently disabled, update your SELinux configuration file with th sudo sealert -a /var/log/audit/audit.log - The output resembles the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/#apache) with a virtual hosts configuration. + The output resembles the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#apache) with a virtual hosts configuration. {{< output >}} SELinux is preventing /usr/sbin/httpd from write access on the directory logs. diff --git a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md index d863b6d7ff4..14b3b7b1417 100644 --- a/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md +++ b/docs/guides/security/selinux/a-beginners-guide-to-selinux-on-centos-8/index.md @@ -33,9 +33,9 @@ SELinux defaults to denying anything that is not explicitly allowed. SELinux has ## 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. +1. Ensure that you have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Update your system: @@ -44,7 +44,7 @@ This guide is written for a non-root user. Commands that require elevated privil {{< note respectIndent=false >}} The Linode kernel does not support SELinux by default. However, all new Linodes running CentOS 8 use the distribution provided kernel, which has **SELinux enabled by default**. -If your system is running a Linode kernel, you will need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) for more steps. Once you're kernel is set to the upstream kernel, continue on with the steps in this guide. +If your system is running a Linode kernel, you will need to change to an upstream kernel in order to use SELinux. See the [How to Change Your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) for more steps. Once you're kernel is set to the upstream kernel, continue on with the steps in this guide. {{< /note >}} ## Install Supporting SELinux Packages @@ -105,7 +105,7 @@ You can update the `SELINUX` directive with any of the available SELinux [states sudo reboot -- Connect to your Linode via SSH (replace `192.0.2.0` with your own [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/)) and verify your SELinux installation's status: +- Connect to your Linode via SSH (replace `192.0.2.0` with your own [Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance)) and verify your SELinux installation's status: ssh example_user@192.0.2.0 sudo sestatus @@ -144,7 +144,7 @@ If SELinux is currently disabled, update your SELinux configuration file with th sudo sealert -a /var/log/audit/audit.log - The output will resemble the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/#apache) with a virtual hosts configuration. + The output will resemble the example, however, it varies depending on the programs and configurations on your system. The example was generated using a [Linode running the Apache webserver](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#apache) with a virtual hosts configuration. {{< output >}} SELinux is preventing /usr/sbin/httpd from write access on the directory logs. diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md index 0086014b915..c6d7dbeb9ba 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-chrome/index.md @@ -23,7 +23,7 @@ This article covers the basics of connecting to a remote server (such as a Linod ## Before You Begin -1. Ensure you have a Linux system with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to create a Linode. +1. Ensure you have a Linux system with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode. 1. Install the [Chrome web browser](https://www.google.com/chrome/) on your local Windows, Mac, or Linux computer. You can skip this step if using ChromeOS. @@ -62,7 +62,7 @@ This article covers the basics of connecting to a remote server (such as a Linod Are you sure you want to continue connecting (yes/no/[fingerprint])? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/docs/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, revoke the key for that IP address. @@ -80,7 +80,7 @@ This article covers the basics of connecting to a remote server (such as a Linod 1. You are then prompted for your password. Type in the correct password for the remote user and press enter. -Once you have successfully connected, the Secure Shell extension displays a terminal that's using the remote shell environment for the server. The command prompt should show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/docs/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, the Secure Shell extension displays a terminal that's using the remote shell environment for the server. The command prompt should show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -99,10 +99,10 @@ Type `x` to close the tab, `r` to reconnect to the same server, or `c` to be pre ### Troubleshooting SSH Connection Issues -If SSH isn't connecting you to your Linode, it is possible that it needs to be looked at on the server. See the guide [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) for assistance. +If SSH isn't connecting you to your Linode, it is possible that it needs to be looked at on the server. See the guide [Troubleshooting SSH](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) for assistance. ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/docs/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md index 4a1b0961856..6b9e5935265 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-linux/index.md @@ -24,7 +24,7 @@ This article covers the basics of connecting to a remote server (such as a Linod ## Before You Begin -1. Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to create a Linode. +1. Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode. 1. Your local computer needs an SSH client that can be used through a terminal application. Most modern Linux distributions have SSH installed and ready to use. @@ -65,7 +65,7 @@ If this key combination does not work for you, other instructions for opening a Are you sure you want to continue connecting (yes/no)? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/docs/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, revoke the key for that IP address. @@ -81,7 +81,7 @@ If this key combination does not work for you, other instructions for opening a Warning: Permanently added 'example' (ECDSA) to the list of known hosts. ``` -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/docs/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -126,10 +126,10 @@ It's recommended to disable root access over SSH and only log in to your remote ### Troubleshooting SSH Connection Issues -If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) for assistance. +If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) for assistance. ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/docs/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md index 20fe3418be6..28825396b50 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-mac/index.md @@ -23,7 +23,7 @@ This article covers the basics of connecting to a remote server (such as a Linod ## Before You Begin -Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to create a Linode. +Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode. ## Open the Terminal @@ -61,7 +61,7 @@ As alternatives to the Terminal app, other popular and highly customizable macOS Are you sure you want to continue connecting (yes/no)? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/docs/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, revoke the key for that IP address. @@ -77,7 +77,7 @@ As alternatives to the Terminal app, other popular and highly customizable macOS Warning: Permanently added 'example' (ECDSA) to the list of known hosts. ``` -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/docs/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -122,10 +122,10 @@ It's recommended to disable root access over SSH and only log in to your remote ### Troubleshooting SSH Connection Issues -If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) for assistance. +If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) for assistance. ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/docs/guides/advanced-ssh-server-security/) for more information on making it even more secure. +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md index 8bf2a9dd43f..957456eabce 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-on-windows/index.md @@ -25,7 +25,7 @@ This article walks you through how to use SSH from Windows, covering the basics ## Before You Begin -1. Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to create a Linode. +1. Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode. 1. If using Windows 10 or Windows 11, install any pending updates to ensure you are running the latest version of Windows before you enable SSH. @@ -73,10 +73,10 @@ Once everything has been configured, you can use the WSL environment by opening ### PuTTY - Windows 8, 7, Vista, and XP -There is no native SSH client in Windows 8 and earlier. Instead, you'll need to use a third party application, such as [PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/), [Cygwin](https://www.cygwin.com/), the [Secure Shell extension for Google Chrome](/docs/guides/connect-to-server-over-ssh-on-chrome/), or any other SSH-enabled terminal emulator: +There is no native SSH client in Windows 8 and earlier. Instead, you'll need to use a third party application, such as [PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/), [Cygwin](https://www.cygwin.com/), the [Secure Shell extension for Google Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome/), or any other SSH-enabled terminal emulator: -- [Connecting to a Remote Server Over SSH using PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/) -- [Connecting to a Remote Server Over SSH on Chrome](/docs/guides/connect-to-server-over-ssh-on-chrome/) +- [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) +- [Connecting to a Remote Server Over SSH on Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome/) ## Connecting to the Remote Server Over SSH from Windows @@ -106,7 +106,7 @@ Once you've opened your preferred Windows SSH client (Command Prompt, PowerShell Are you sure you want to continue connecting (yes/no)? ``` - You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/docs/guides/verifying-the-authenticity-of-remote-host/) guide. + You can verify the fingerprint by following the instructions on the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. 1. Accept the prompt by entering `y` or `yes`, which results in a one-time warning that is similar to: @@ -114,7 +114,7 @@ Once you've opened your preferred Windows SSH client (Command Prompt, PowerShell Warning: Permanently added 'example' (ECDSA) to the list of known hosts. ``` -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/docs/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. ## Ending the SSH Session @@ -159,10 +159,10 @@ It's recommended to disable root access over SSH and only log in to your remote ### Troubleshooting SSH Connection Issues -If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) for assistance. +If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) for assistance. ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/docs/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md index 449ede5427f..2b6a0b7b738 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh-using-putty/index.md @@ -23,12 +23,12 @@ A *secure shell* (SSH) is used for secure communication between devices. When mo This article covers the basics of connecting to a remote server (such as a Linode) over SSH using the PuTTY application. PuTTY is a free and open source SSH client that provides a graphic interface for connecting to remote servers. It is compatible with Windows XP and later systems, including Windows Vista, 7, 8 and 10. It is also compatible with most UNIX systems. {{< note >}} -While PuTTY is compatible with Windows 10, you may want to review the [Connecting to a Remote Server Over SSH on Windows](/docs/guides/connect-to-server-over-ssh-on-windows/) guide for alternatives to PuTTY that may better suit your needs and preferences. +While PuTTY is compatible with Windows 10, you may want to review the [Connecting to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows/) guide for alternatives to PuTTY that may better suit your needs and preferences. {{< /note >}} ## Before You Begin -1. Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide to create a Linode. +1. Ensure you have a Linux server with an SSH server (like OpenSSH) installed. Most Linux distributions have an SSH server preinstalled. If you wish to deploy a new server, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide to create a Linode. 1. Install [PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) on your local Windows or Linux system. @@ -54,7 +54,7 @@ While PuTTY is compatible with Windows 10, you may want to review the [Connectin ![Screenshot of dialog box asking to confirm host key's fingerprint](putty-security-alert.png "Confirm the host key's fingerprint") - If you trust this connection, press the **Accept** button to continue connecting to the remote server. You can verify the fingerprint by following the instructions under the [Verifying the Authenticity of a Remote Server](/docs/guides/verifying-the-authenticity-of-remote-host/) guide. + If you trust this connection, press the **Accept** button to continue connecting to the remote server. You can verify the fingerprint by following the instructions under the [Verifying the Authenticity of a Remote Server](/cloud/guides/verifying-the-authenticity-of-remote-host/) guide. {{< note >}} If you recently rebuilt your server, you might receive an error message when you try to connect. This happens when the remote host key changes. To fix this, you must remove the IP addresses manually from the following registry entry: @@ -66,20 +66,20 @@ While PuTTY is compatible with Windows 10, you may want to review the [Connectin 1. PuTTY now prompts you to enter the remote user and the password for that user. -Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/docs/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. +Once you have successfully connected, your terminal should be using the remote shell environment for the server. Your command prompt should now show the username and hostname configured for the server. You can now run any commands that you have available on that server. This includes many of the basic Linux commands, such as `ls`, `cd`, `rm`, and those covered in [Using the Terminal](/cloud/guides/using-the-terminal/) guide. Getting to know these commands will help you navigate around your server. ## Going Further ### Troubleshooting SSH Connection Issues -If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) for assistance. +If SSH isn't connecting you to your Linode, you may need to investigate the state of your server. See the guide [Troubleshooting SSH](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) for assistance. ### Increasing Security -- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/). +- Now that you can connect from your Linux machine to the Linode over SSH, save not only time but also make the connection even more secure by using SSH public key authentication. For more information, see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/). -- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/docs/guides/advanced-ssh-server-security/) for more information on making it even more secure. +- See the "Harden SSH Access" section of [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to review how to secure SSH on the server's side, and the [Advanced SSH Server Security](/cloud/guides/advanced-ssh-server-security/) for more information on making it even more secure. ### Additional PuTTY Guides -- [Create an SSH Tunnel for MySQL Remote Access](/docs/guides/create-an-ssh-tunnel-for-mysql-remote-access/): This guide uses PuTTY to create a secure SSH tunnel to access the MySQL command prompt on remote server. \ No newline at end of file +- [Create an SSH Tunnel for MySQL Remote Access](/cloud/guides/create-an-ssh-tunnel-for-mysql-remote-access/): This guide uses PuTTY to create a secure SSH tunnel to access the MySQL command prompt on remote server. \ No newline at end of file diff --git a/docs/guides/security/ssh/connect-to-server-over-ssh/index.md b/docs/guides/security/ssh/connect-to-server-over-ssh/index.md index 0b7a98e4806..16b1fd4cd43 100644 --- a/docs/guides/security/ssh/connect-to-server-over-ssh/index.md +++ b/docs/guides/security/ssh/connect-to-server-over-ssh/index.md @@ -17,8 +17,8 @@ A *secure shell* (SSH) is used for secure communication between devices. When mo The following articles cover the basics of connecting to a remote server (such as a Linode) over SSH from different environments: -- [How to Connect to a Remote Server Over SSH on Linux](/docs/guides/connect-to-server-over-ssh-on-linux/) -- [How to Connect to a Remote Server Over SSH on a Mac](/docs/guides/connect-to-server-over-ssh-on-mac/) -- [How to Connect to a Remote Server Over SSH on Windows](/docs/guides/connect-to-server-over-ssh-on-windows/) -- [How to Connect to a Remote Server Over SSH using PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/) -- [How to Connect to a Remote Server Over SSH on Chrome](/docs/guides/connect-to-server-over-ssh-on-chrome/) \ No newline at end of file +- [How to Connect to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux/) +- [How to Connect to a Remote Server Over SSH on a Mac](/cloud/guides/connect-to-server-over-ssh-on-mac/) +- [How to Connect to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows/) +- [How to Connect to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/) +- [How to Connect to a Remote Server Over SSH on Chrome](/cloud/guides/connect-to-server-over-ssh-on-chrome/) \ No newline at end of file diff --git a/docs/guides/security/ssh/enable-ssh-ubuntu/index.md b/docs/guides/security/ssh/enable-ssh-ubuntu/index.md index 424e3f3ded1..8f88aa10d07 100644 --- a/docs/guides/security/ssh/enable-ssh-ubuntu/index.md +++ b/docs/guides/security/ssh/enable-ssh-ubuntu/index.md @@ -16,12 +16,12 @@ On Linode's Ubuntu 20.04 LTS instances, the installation of `ssh` (client) 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. {{< note >}} -This guide is written for a non-root 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 SSH? diff --git a/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md b/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md index acfef80d581..ec304a31107 100644 --- a/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md +++ b/docs/guides/security/ssh/gpg-key-for-ssh-authentication/index.md @@ -16,7 +16,7 @@ external_resources: ![GPG key for SSH Authentication](How_to_use_a_GPG_key_smg.jpg) -You may be familiar with [public key authentication](/docs/guides/use-public-key-authentication-with-ssh/) for Secure Shell (SSH) on your Linode. But you may not have known that you can also use a GNU Privacy Guard (GPG) keypair to authenticate with SSH. +You may be familiar with [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) for Secure Shell (SSH) on your Linode. But you may not have known that you can also use a GNU Privacy Guard (GPG) keypair to authenticate with SSH. The chief benefit of this method is that instead of having separate keys for GPG messaging and SSH authentication, they can both belong to the same GPG keyring. This configuration really shines, however, when used with a [GPG smartcard](https://en.wikipedia.org/wiki/OpenPGP_card) or [YubiKey](https://www.yubico.com/products/yubikey-hardware/), because the card/dongle can store the underlying private key and only authenticate SSH sessions when it's plugged in. WIRED reported that [engineers at Facebook use this method](http://www.wired.com/2013/10/facebook-yubikey/) for authenticating with local servers, so why shouldn't you? @@ -30,10 +30,10 @@ This guide will only work on UNIX-based (Linux & OS X) machines! The process is This guide assumes: - You have a fully functional Linode - - 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 updated your Linode with `sudo apt-get update && sudo apt-get upgrade`) - - You are familiar with the [command line](/docs/guides/introduction-to-linux-concepts/#so-youre-staring-at-a-shell-prompt) + - You have followed the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) and [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides, and updated your Linode with `sudo apt-get update && sudo apt-get upgrade`) + - You are familiar with the [command line](/cloud/guides/introduction-to-linux-concepts/#so-youre-staring-at-a-shell-prompt) -You don't necessarily need to be familiar with [SSH public key authentication](/docs/guides/use-public-key-authentication-with-ssh/) or [GPG encryption](https://en.wikipedia.org/wiki/GNU_Privacy_Guard), but an understanding of their operation will help you out if you run into problems. +You don't necessarily need to be familiar with [SSH public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) or [GPG encryption](https://en.wikipedia.org/wiki/GNU_Privacy_Guard), but an understanding of their operation will help you out if you run into problems. ## Generate a GPG Keypair @@ -238,7 +238,7 @@ Your terminal should now look like this: ### Secure Your GPG Key {{< note type="alert" >}} -If you fail to back up or otherwise secure your key, any hardware failure will lead to you being unable to access your Linode with this key. If you lock out password access through SSH, you'll need to use [Lish](/docs/products/compute/compute-instances/guides/lish/) to regain access. +If you fail to back up or otherwise secure your key, any hardware failure will lead to you being unable to access your Linode with this key. If you lock out password access through SSH, you'll need to use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to regain access. {{< /note >}} You should always have a backup of your private key in case something goes wrong and you end up locked out of everything that requires it. This private key, along with the instructions in this guide, will be enough to get your setup working again if you need to start afresh on a new computer. diff --git a/docs/guides/security/ssh/how-to-use-yubikey-for-two-factor-ssh-authentication/index.md b/docs/guides/security/ssh/how-to-use-yubikey-for-two-factor-ssh-authentication/index.md index 43ccb64f401..ec1d08ddb90 100644 --- a/docs/guides/security/ssh/how-to-use-yubikey-for-two-factor-ssh-authentication/index.md +++ b/docs/guides/security/ssh/how-to-use-yubikey-for-two-factor-ssh-authentication/index.md @@ -27,9 +27,9 @@ If you want to work through this guide but don't have a YubiKey, you can find on ## Before You Begin -1. Make sure you have a complete and working Linode as per the instructions in the [Getting Started](/docs/products/platform/get-started/) guide. +1. Make sure you have a complete and working Linode as per the instructions in the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -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 local system. Then update your server using the following: diff --git a/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md b/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md index d848e95958e..fc4de8e94d2 100644 --- a/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md +++ b/docs/guides/security/ssh/install-mosh-server-as-ssh-alternative-on-linux/index.md @@ -32,7 +32,7 @@ Ready to get started? Let's go! ## Preparing Your Firewall -Before installing Mosh, you should verify that your Linode's firewall will allow the Mosh client and server to communicate. If you [followed our instructions](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) to create a firewall with `iptables`, you'll need to edit `/etc/iptables.firewall.rules` and add another rule to allow the Mosh client to connect to your Linode over UDP ports 60000–61000. +Before installing Mosh, you should verify that your Linode's firewall will allow the Mosh client and server to communicate. If you [followed our instructions](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) to create a firewall with `iptables`, you'll need to edit `/etc/iptables.firewall.rules` and add another rule to allow the Mosh client to connect to your Linode over UDP ports 60000–61000. {{< file "/etc/iptables.firewall.rules" >}} -A INPUT -p udp --dport 60000:61000 -j ACCEPT @@ -98,7 +98,7 @@ Now you need to install Mosh on your desktop computer. Find the instructions for ### Linux -Follow the instructions for your distribution listed in the [Installing Mosh on Your Linode](/docs/guides/install-mosh-server-as-ssh-alternative-on-linux/#install-mosh-on-your-linode) section, or see the [Mosh website](http://mosh.mit.edu/). +Follow the instructions for your distribution listed in the [Installing Mosh on Your Linode](/cloud/guides/install-mosh-server-as-ssh-alternative-on-linux/#install-mosh-on-your-linode) section, or see the [Mosh website](http://mosh.mit.edu/). ### Mac OS X diff --git a/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md b/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md index c7265633e8b..5f18cdd13a9 100644 --- a/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md +++ b/docs/guides/security/ssh/secure-ssh-access-with-2fa/index.md @@ -25,18 +25,18 @@ This guide explains how to install the necessary software, configure your system ## 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), [updating your system's hosts file](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file), and setting the [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), [updating your system's hosts file](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file), and setting the [timezone](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#set-the-timezone). -1. Review the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to update your system and create a limited user. This guide will explain a different way to harden SSH access, but you can also [use public key authentication](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key) in addition for even greater protection. That method will be covered in the optional section [Combine Two-Factor and Public Key Authentication](#combine-two-factor-and-public-key-authentication-optional). +1. Review the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system and create a limited user. This guide will explain a different way to harden SSH access, but you can also [use public key authentication](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key) in addition for even greater protection. That method will be covered in the optional section [Combine Two-Factor and Public Key Authentication](#combine-two-factor-and-public-key-authentication-optional). {{< note respectIndent=false >}} -If you plan on [combining two-factor and public key authentication](#combine-two-factor-and-public-key-authentication-optional), ensure you [upload your computer's public key](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key) to your Linode's [standard user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) before beginning the steps in this guide. +If you plan on [combining two-factor and public key authentication](#combine-two-factor-and-public-key-authentication-optional), ensure you [upload your computer's public key](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key) to your Linode's [standard user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) before beginning the steps in this guide. {{< /note >}} 1. You will need a smartphone or another client device with an authenticator application such as [Google Authenticator](https://en.wikipedia.org/wiki/Google_Authenticator) or [Authy](https://www.authy.com/). Many other options exist, and this guide should be compatible with nearly all of them. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 Google Authenticator @@ -135,7 +135,7 @@ You have finished generating your key and adding it to your client, but some add The TOTP authentication methods in this guide use *PAM*, or Pluggable Authentication Modules. [PAM](http://www.linux-pam.org/) integrates low-level authentication mechanisms into modules that can be configured for different applications and services. Because you're using additional software (i.e., programs that aren't built into the Linux distro), you'll need to configure PAM to properly authenticate users. {{< note type="alert" >}} -- It is strongly recommended that you have another terminal session open while configuring your authentication settings. This way, if you disconnect to test authentication and something is not properly configured, you won't be locked out of your Linode. You can also use [Lish](/docs/products/compute/compute-instances/guides/lish/) to regain access. +- It is strongly recommended that you have another terminal session open while configuring your authentication settings. This way, if you disconnect to test authentication and something is not properly configured, you won't be locked out of your Linode. You can also use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to regain access. - If you or a user on your system use this method, be sure that the SSH key and authenticator app are on different devices. This way, if one device is lost or compromised, your credentials will still be separate and the security of two-factor authentication will remain intact. {{< /note >}} @@ -197,10 +197,10 @@ If your SSH client disconnects before you can enter your two-factor token, check ## Combine Two-Factor and Public Key Authentication (Optional) -This section is optional. If you'd like to use [public key authentication](/docs/guides/use-public-key-authentication-with-ssh/) instead of a password authentication with TOTP, follow the steps in this section. +This section is optional. If you'd like to use [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/) instead of a password authentication with TOTP, follow the steps in this section. {{< note >}} -Before completing this section, ensure that your computer's [public key has been uploaded to your Linode](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key). Public keys are normally stored in your home directory's `authorized_keys` file. +Before completing this section, ensure that your computer's [public key has been uploaded to your Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key). Public keys are normally stored in your home directory's `authorized_keys` file. ```command cat ~/.ssh/authorized_keys @@ -237,8 +237,8 @@ cat ~/.ssh/authorized_keys ## Next Steps -First, be sure you have followed our guide to [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Although there is no single, foolproof method to protect your data, firewalls and services like [Fail2Ban](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/) are a great means to minimize risk. +First, be sure you have followed our guide to [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Although there is no single, foolproof method to protect your data, firewalls and services like [Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/) are a great means to minimize risk. -When you use two-factor authentication with TOTPs, an important point to consider is the physical security of the device on which you've configured your authenticator app. Be sure your phone or device is secured with a passphrase, so that even if it falls into the wrong hands, it can't easily be used to compromise your server. If you lose the phone or device that stores your credentials, you can use [Lish](/docs/products/compute/compute-instances/guides/lish/) to access your Linode and disable two-factor authentication. If this happens, you should switch to a different, hardened method of SSH access, such as [public key authentication](/docs/guides/use-public-key-authentication-with-ssh/), in the interim. +When you use two-factor authentication with TOTPs, an important point to consider is the physical security of the device on which you've configured your authenticator app. Be sure your phone or device is secured with a passphrase, so that even if it falls into the wrong hands, it can't easily be used to compromise your server. If you lose the phone or device that stores your credentials, you can use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to access your Linode and disable two-factor authentication. If this happens, you should switch to a different, hardened method of SSH access, such as [public key authentication](/cloud/guides/use-public-key-authentication-with-ssh/), in the interim. While two-factor authentication may be a valuable security feature, total security is an ongoing process not an end goal that can be achieved by adding extra layers of authentication. To provide the best protection for your data, take care to follow security best practices at all times. \ No newline at end of file diff --git a/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md b/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md index 8826db991c7..5419ab49007 100644 --- a/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md +++ b/docs/guides/security/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/index.md @@ -116,7 +116,7 @@ Keep these considerations in mind when you use SSH tunneling. 6. Leave the `about:config window` by typing any URL in the location bar or closing Firefox. - If the access to SSH is blocked in the public network you are using, it will not be possible to establish the tunnel. A workaround for this is to run your SSH server on a different port, more likely to be open; for example port 80 (HTTP). -- If you are already in a public network that blocks your access to SSH, to edit the server settings you can use the [Lish console](/docs/products/compute/compute-instances/guides/lish/). +- If you are already in a public network that blocks your access to SSH, to edit the server settings you can use the [Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). - Sometimes, the traffic through the tunnel could be a bit slower than browsing the web without it; but remember, it's a small price to pay when your privacy is at risk. - This is a simple and quick way to establish a secure connection for web browsing, a kind of “poor man's VPN” solution. -- If you often access the web using untrusted public networks or if you need to secure other applications and not just the browser, then this method will fall short and you will need to set up a VPN on your server. Take a look at one of our [OpenVPN](/docs/networking/vpn/) guides for instructions about that topic. +- If you often access the web using untrusted public networks or if you need to secure other applications and not just the browser, then this method will fall short and you will need to set up a VPN on your server. Take a look at one of our [OpenVPN](/cloud/networking/vpn/) guides for instructions about that topic. diff --git a/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md b/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md index 926c6ba7a32..877e190171c 100644 --- a/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md +++ b/docs/guides/security/ssh/use-public-key-authentication-with-ssh/index.md @@ -21,12 +21,12 @@ image: use_public_key_authentication_with_ssh.png - If a server that uses SSH keys is compromised by a hacker, no authorization credentials are at risk of being exposed. -- Since a password isn't required, you can log in to servers from within scripts or automation tools that you need to run unattended. For example, you can set up periodic updates for your servers with a configuration management tool like [Ansible](/docs/guides/running-ansible-playbooks/), and you can run those updates without having to be physically present. +- Since a password isn't required, you can log in to servers from within scripts or automation tools that you need to run unattended. For example, you can set up periodic updates for your servers with a configuration management tool like [Ansible](/cloud/guides/running-ansible-playbooks/), and you can run those updates without having to be physically present. This guide explains how the SSH key login scheme works, how to generate an SSH key, and how to use those keys with a Linode Linux server. {{< note >}} -If you're unfamiliar with logging in to a remote machine with SSH, review the [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) guide that corresponds with the operating system of your local workstation. You can also review the instructions for connecting to a Compute Instance over SSH within our [Set Up and Secure](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) guide. +If you're unfamiliar with logging in to a remote machine with SSH, review the [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) guide that corresponds with the operating system of your local workstation. You can also review the instructions for connecting to a Compute Instance over SSH within our [Set Up and Secure](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) guide. {{< /note >}} ## How Does SSH Public Key Authentication Work? @@ -125,7 +125,7 @@ This section covers using the [ssh-keygen](https://man7.org/linux/man-pages/man1 {{< note type="alert" >}} If you've already created a key pair using the default name (or a custom one that you've entered), **the file will be overwritten and you may be locked out of your remote systems**. For this reason, you may want to check for existing keys before continuing, run `ls ~/.ssh/id_ed25519*`. - If you accidentally lock yourself out of the SSH service on your Compute Instance, you can still use the [Lish](/docs/products/compute/compute-instances/guides/lish/) console to login to your server. After you've logged in via Lish, update your `authorized_keys` file to use your new public key. This should re-establish normal SSH access. + If you accidentally lock yourself out of the SSH service on your Compute Instance, you can still use the [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) console to login to your server. After you've logged in via Lish, update your `authorized_keys` file to use your new public key. This should re-establish normal SSH access. {{< /note >}} 1. Next, enter a passphrase, which is used to encrypt (and decrypt) your private key locally. This is optional but is generally recommended unless you are using the key for automation purposes. Each time you log in using that key, you must enter the passphrase (unless you save that passphrase to your local machine's keychain manager or through the ssh-add tool). Leave this field blank if you don't want to use a passphrase. @@ -212,7 +212,7 @@ You can also manually add an SSH key to a server: chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys ``` -1. Open the `authorized_keys` file with the text editor of your choice ([such as nano](/docs/quick-answers/linux/use-nano-to-edit-files-in-linux/)). +1. Open the `authorized_keys` file with the text editor of your choice ([such as nano](/cloud/quick-answers/linux/use-nano-to-edit-files-in-linux/)). ```command nano ~/.ssh/authorized_keys @@ -277,9 +277,9 @@ These instructions are only recommended if you do not yet have any authorized ke For more in-depth instructions on using SSH to connect to a remote system, review the following guides: - - [How to Connect to a Remote Server Over SSH on Linux](/docs/guides/connect-to-server-over-ssh-on-linux/) - - [How to Connect to a Remote Server Over SSH on a Mac](/docs/guides/connect-to-server-over-ssh-on-mac/) - - [How to Connect to a Remote Server Over SSH on Windows](/docs/guides/connect-to-server-over-ssh-on-windows/) + - [How to Connect to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux/) + - [How to Connect to a Remote Server Over SSH on a Mac](/cloud/guides/connect-to-server-over-ssh-on-mac/) + - [How to Connect to a Remote Server Over SSH on Windows](/cloud/guides/connect-to-server-over-ssh-on-windows/) 1. By default, your SSH keys will be tried *before* defaulting back to a password. If everything is configured properly, the SSH key that you generated and uploaded in previous sections will be used. If you entered a passphrase for the key, you will be prompted for it. @@ -312,7 +312,7 @@ These instructions are only recommended if you do not yet have any authorized ke ## Public Key Authentication with PuTTY on Windows -The following instructions use the [PuTTY](https://www.putty.org) software to connect over SSH, but [other options](/docs/guides/connect-to-server-over-ssh-on-windows/) are available on Windows too. +The following instructions use the [PuTTY](https://www.putty.org) software to connect over SSH, but [other options](/cloud/guides/connect-to-server-over-ssh-on-windows/) are available on Windows too. ### Generate a Key Pair with PuTTY @@ -367,7 +367,7 @@ The following instructions use the [PuTTY](https://www.putty.org) software to co chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys ``` -1. Open the `authorized_keys` file with the text editor of your choice ([`nano`, for example](/docs/quick-answers/linux/use-nano-to-edit-files-in-linux/)). Then, paste the contents of your public key that you copied in step one on a new line at the end of the file. +1. Open the `authorized_keys` file with the text editor of your choice ([`nano`, for example](/cloud/quick-answers/linux/use-nano-to-edit-files-in-linux/)). Then, paste the contents of your public key that you copied in step one on a new line at the end of the file. 1. Save, close the file, and exit PuTTY. @@ -395,7 +395,7 @@ Start PuTTY and **Load** your saved session. You are prompted to enter your serv ## Upload Your SSH Key to Linode Cloud Manager -To use your SSH key when deploying new Linodes, you must first upload it to your account. This can be done through the Cloud Manager by following the [Manage SSH Keys > Add a Public Key](/docs/products/platform/accounts/guides/manage-ssh-keys/#add-a-public-key) guide. For instructions on selecting an SSH key when deploying a Compute Instance see [Creating a Compute Instance > Create a Password and Add SSH Keys](/docs/products/compute/compute-instances/guides/create/#create-a-password-and-add-ssh-keys). +To use your SSH key when deploying new Linodes, you must first upload it to your account. This can be done through the Cloud Manager by following the [Manage SSH Keys > Add a Public Key](https://techdocs.akamai.com/cloud-computing/docs/manage-ssh-keys#add-a-public-key) guide. For instructions on selecting an SSH key when deploying a Compute Instance see [Creating a Compute Instance > Create a Password and Add SSH Keys](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance#create-a-password-and-add-ssh-keys). ## Is it Safe to Share Public SSH Keys? @@ -431,12 +431,12 @@ Copy the public key to a new file named `id_rsa.pub` in your home folder's `.ssh ## Disable Password Authentication -The SSH daemon on a Linux server allows you to configure and fine-tune its behavior and security settings. If you have set up SSH keys for all users who need to authenticate to a server, you can disable password authentication in order to further secure the server. While this is a recommended step to take when hardening your server, prior to disabling password authentication, you should make sure that you can reliably access your server using SSH key-pair authentication. To learn how to disable password authentication on a Linux server, see the [SSH Daemon Options](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) section of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +The SSH daemon on a Linux server allows you to configure and fine-tune its behavior and security settings. If you have set up SSH keys for all users who need to authenticate to a server, you can disable password authentication in order to further secure the server. While this is a recommended step to take when hardening your server, prior to disabling password authentication, you should make sure that you can reliably access your server using SSH key-pair authentication. To learn how to disable password authentication on a Linux server, see the [SSH Daemon Options](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#ssh-daemon-options) 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. ## Troubleshooting -If your SSH connections are not working as expected, or if you have locked yourself out of your system, review the [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) guide for troubleshooting help. +If your SSH connections are not working as expected, or if you have locked yourself out of your system, review the [Troubleshooting SSH](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-ssh-on-compute-instances) guide for troubleshooting help. ## Next Steps -After you set up your SSH keys and confirm they are working as expected, review our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) guide for instructions on disabling password authentication for your server. \ No newline at end of file +After you set up your SSH keys and confirm they are working as expected, review our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#ssh-daemon-options) guide for instructions on disabling password authentication for your server. \ No newline at end of file diff --git a/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md b/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md index be3069c53ea..8c24c5bdef0 100644 --- a/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md +++ b/docs/guides/security/ssh/using-gnu-screen-to-manage-persistent-terminal-sessions/index.md @@ -19,13 +19,13 @@ GNU Screen is a tool which works with a terminal session to allow users to resum ![Using GNU Screen to Manage Persistent Terminal Sessions](gnu-screen.png "Using GNU Screen to Manage Persistent Terminal Sessions") -Screen runs on any Unix/Linux environment (such as your Linode) and Mac OS X. Before installing and using Screen, it is recommended that you review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). In addition, if you are unfamiliar with using a terminal environment, you will want to review the [Using the Terminal Guide](/docs/guides/using-the-terminal/). +Screen runs on any Unix/Linux environment (such as your Linode) and Mac OS X. Before installing and using Screen, it is recommended that you review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). In addition, if you are unfamiliar with using a terminal environment, you will want to review the [Using the Terminal Guide](/cloud/guides/using-the-terminal/). ## Installing GNU Screen The section covers installing Screen on a number of different systems. Examples have been provided to simplify the installation process. -When installing Screen you will need root privileges. The examples provided do not use the root account. If you are using your root login then the sudo before the commands is not necessary. If you need more information regarding sudo, you can review the [Linux Users and Groups Guide](/docs/guides/linux-users-and-groups/). +When installing Screen you will need root privileges. The examples provided do not use the root account. If you are using your root login then the sudo before the commands is not necessary. If you need more information regarding sudo, you can review the [Linux Users and Groups Guide](/cloud/guides/linux-users-and-groups/). For a Debian or Ubuntu system use the following commands to update, upgrade, and install Screen: diff --git a/docs/guides/security/ssh/using-ssh-agent/index.md b/docs/guides/security/ssh/using-ssh-agent/index.md index e65d5c29811..f8bf6067b57 100644 --- a/docs/guides/security/ssh/using-ssh-agent/index.md +++ b/docs/guides/security/ssh/using-ssh-agent/index.md @@ -18,12 +18,12 @@ ssh-agent manages private keys for SSH connections, facilitating smoother SSH ex ## 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 >}} ## What is ssh-agent? @@ -40,7 +40,7 @@ The ssh-agent tool also has an agent forwarding feature. This allows an ssh-agen The most common use case for this feature utilizes a locally stored key on a remote server. For instance, say there's a remote machine you want to connect to through a bastion server using a key stored locally. Agent forwarding allows your local ssh-agent to share the authentication key with the bastion server's ssh-agent. This gives the bastion server the ability to connect to the remote host. -Continue reading to learn how to [enable agent forwarding](/docs/guides/using-ssh-agent/#enabling-ssh-agent-forwarding) for your ssh-agent sessions. +Continue reading to learn how to [enable agent forwarding](/cloud/guides/using-ssh-agent/#enabling-ssh-agent-forwarding) for your ssh-agent sessions. ## How to Use ssh-agent diff --git a/docs/guides/security/ssh/using-sshfs-on-linux/index.md b/docs/guides/security/ssh/using-sshfs-on-linux/index.md index 63f8feaba79..e1d93ac24e4 100644 --- a/docs/guides/security/ssh/using-sshfs-on-linux/index.md +++ b/docs/guides/security/ssh/using-sshfs-on-linux/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/networking/ssh/using-sshfs-on-linux-and-macos-x/','/networking/ssh/using-sshfs-on-linux/','/networking/ssh-filesystems/'] external_resources: - '[SSHFS Home Page](http://fuse.sourceforge.net/sshfs.html)' - - '[Linux Security Basics](/docs/security/basics)' - - '[Use Public Key Authentication with SSH](/docs/guides/use-public-key-authentication-with-ssh/)' + - '[Linux Security Basics](/cloud/security/basics)' + - '[Use Public Key Authentication with SSH](/cloud/guides/use-public-key-authentication-with-ssh/)' --- ![SSHFS](sshfs_mount_remote.png) @@ -28,7 +28,7 @@ This guide will assume you have two systems set up: - A client system which will connect to the remote server using SSHFS. This system also runs Ubuntu 18.04. -Limited Linux users (non-`root`) with the same username should also exist on both systems. If you have not already set up a limited user, review the [How to Secure your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) guide. +Limited Linux users (non-`root`) with the same username should also exist on both systems. If you have not already set up a limited user, review the [How to Secure your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) guide. The username for this limited user is assumed to be `example_user`. Replace all instances of `example_user` in this guide with your limited user's name. As well, the IP address of the remote system is assumed to be `192.0.2.4`, so replace all instances of this IP with your remote system's address. @@ -55,7 +55,7 @@ The `sshfs` package is available with every Linux package manager. Use the comma In order to mount file systems using SSHFS from a normal user account, you'll need to add the user to the `fuse` group first. {{< note >}} -If you are unfamiliar with users, groups, and file permissions, visit the [Users and Groups](/docs/guides/linux-users-and-groups/) guide for a brief introduction. +If you are unfamiliar with users, groups, and file permissions, visit the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide for a brief introduction. {{< /note >}} 1. To check if the `fuse` group exists run: @@ -104,7 +104,7 @@ To keep your server's directory mounted on your system through reboots, create a ### Set Up Key-Based Authentication for SSH -When setting up a mount listed in `/etc/fstab`, your client system will not be able to accept a password for the SSH connection. Instead, you can use [public/private keypairs](/docs/guides/use-public-key-authentication-with-ssh/) to authenticate with the remote server. This section describes how to create a keypair if you do not already have one. +When setting up a mount listed in `/etc/fstab`, your client system will not be able to accept a password for the SSH connection. Instead, you can use [public/private keypairs](/cloud/guides/use-public-key-authentication-with-ssh/) to authenticate with the remote server. This section describes how to create a keypair if you do not already have one. {{< note type="alert" >}} This command will overwrite an existing RSA key pair, potentially locking you out of other systems. @@ -149,4 +149,4 @@ You will need to use `sudo` privileges to edit this file from your limited user. ## Next Steps -After completing this guide you will be able to transfer files to a remote server from your client machine without using an FTP client. If you still want to learn how to use an FTP client, check out our guide: [Transfer Files with FileZilla](/docs/guides/filezilla/). +After completing this guide you will be able to transfer files to a remote server from your client machine without using an FTP client. If you still want to learn how to use an FTP client, check out our guide: [Transfer Files with FileZilla](/cloud/guides/filezilla/). diff --git a/docs/guides/security/ssh/verifying-the-authenticity-of-remote-host/index.md b/docs/guides/security/ssh/verifying-the-authenticity-of-remote-host/index.md index eeca623f2b3..e1f771a6b2a 100644 --- a/docs/guides/security/ssh/verifying-the-authenticity-of-remote-host/index.md +++ b/docs/guides/security/ssh/verifying-the-authenticity-of-remote-host/index.md @@ -31,7 +31,7 @@ Make a note of both the algorithm and the displayed fingerprint as you continue ## Verifying the Host Key Fingerprint -1. Log in to your remote server through a trusted method. For a Linode Compute Instance, use [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your remote server through a trusted method. For a Linode Compute Instance, use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Run one of the commands below to output your server's SSH key fingerprint, depending on which algorithm the fingerprint was displayed on your new machine: diff --git a/docs/guides/security/ssl/_shortguides/certbot-shortguide-centos/index.md b/docs/guides/security/ssl/_shortguides/certbot-shortguide-centos/index.md index 71f3ba088ed..db04eaf0c9f 100644 --- a/docs/guides/security/ssl/_shortguides/certbot-shortguide-centos/index.md +++ b/docs/guides/security/ssl/_shortguides/certbot-shortguide-centos/index.md @@ -47,7 +47,7 @@ Certbot recommends pointing your web server configuration to the default certifi Finally, Certbot will update your web server configuration so that it uses the new certificate, and also redirects HTTP traffic to HTTPS if you chose that option. -1. If you have a firewall configured on your Linode, you may need to add [Firewall Rules](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) to allow incoming and outgoing connections to the HTTPS service. On CentOS, *firewalld* is the default tool for managing firewall rules. Configure firewalld for HTTP and HTTPS traffic: +1. If you have a firewall configured on your Linode, you may need to add [Firewall Rules](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) to allow incoming and outgoing connections to the HTTPS service. On CentOS, *firewalld* is the default tool for managing firewall rules. Configure firewalld for HTTP and HTTPS traffic: sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https diff --git a/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md b/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md index 3803f17666c..597cb5b7a76 100644 --- a/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/configuring-firewalld-for-web-traffic-shortguide/index.md @@ -20,9 +20,9 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' Any firewall configured on your server needs to allow connections over HTTPS (in addition to HTTP and any other services/ports you require). This section covers enabling and configuring [firewalld](https://firewalld.org/). Firewalld is the default firewall management tool on Fedora 18+, openSUSE 15+, and CentOS/RHEL 7/8, including derivatives like AlmaLinux 8 and Rocky Linux 8. Depending on the distribution, it operates as a front-end for either iptables or the newer nftables. -You can skip this section if you are using a different firewall (such as Linode's [Cloud Firewall](/docs/products/networking/cloud-firewall/) service), have already configured your firewall rules, or do not wish to use any firewall. +You can skip this section if you are using a different firewall (such as Linode's [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) service), have already configured your firewall rules, or do not wish to use any firewall. -1. If firewalld is not installed, install it now using [YUM](/docs/guides/yum-package-manager/) or [DNF](/docs/guides/dnf-package-manager/). +1. If firewalld is not installed, install it now using [YUM](/cloud/guides/yum-package-manager/) or [DNF](/cloud/guides/dnf-package-manager/). sudo yum install firewalld diff --git a/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md b/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md index 5b9776f9180..c2218feed8d 100644 --- a/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/configuring-ufw-for-web-traffic-shortguide/index.md @@ -18,9 +18,9 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## Configuring Firewall Rules with UFW -Any firewall configured on your server needs to allow connections over HTTPS (in addition to HTTP and any other services/ports you require). This section covers enabling and configuring [UFW](https://wiki.ubuntu.com/UncomplicatedFirewall) (UncomplicatedFirewall). UFW is the default firewall management tool on Ubuntu and is also available on Debian and Fedora. It operates as a easy to use front-end for [iptables](/docs/guides/what-is-iptables/). +Any firewall configured on your server needs to allow connections over HTTPS (in addition to HTTP and any other services/ports you require). This section covers enabling and configuring [UFW](https://wiki.ubuntu.com/UncomplicatedFirewall) (UncomplicatedFirewall). UFW is the default firewall management tool on Ubuntu and is also available on Debian and Fedora. It operates as a easy to use front-end for [iptables](/cloud/guides/what-is-iptables/). -You can skip this section if you are using a different firewall (such as Linode's [Cloud Firewall](/docs/products/networking/cloud-firewall/) service), have already configured your firewall rules, or do not wish to use any firewall. +You can skip this section if you are using a different firewall (such as Linode's [Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) service), have already configured your firewall rules, or do not wish to use any firewall. 1. If UFW is not installed, install it now using `apt` or `apt-get`. @@ -45,4 +45,4 @@ You can skip this section if you are using a different firewall (such as Linode' This should return a status of *active* and output the firewall rules that you just added. -For more advanced configuration, review the [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide. \ No newline at end of file +For more advanced configuration, review the [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. \ No newline at end of file diff --git a/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md b/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md index 3d559c8eabd..f155de7958f 100644 --- a/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/understanding-https-tls-certbot-shortguide/index.md @@ -20,7 +20,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ### HTTPS and TLS/SSL -HTTPS builds upon the original *Hypertext Transfer Protocol* (HTTP) standard to offer a more secure browsing experience. It encrypts network traffic using the *Transport Layer Security* (TLS) protocol, which replaces the older (and now deprecated) *Secure Sockets Layer* (SSL) technology. HTTPS protects the privacy and integrity of any data in transit and authenticates a website for the end-user. For this reason, HTTPS must be implemented on websites that handle financial or personal data. However, all domains are strongly encouraged to enable HTTPS and a majority of all sites now use it. Review the [Understanding TLS Certificates and Connections](/docs/guides/what-is-a-tls-certificate/) to learn more about TLS. +HTTPS builds upon the original *Hypertext Transfer Protocol* (HTTP) standard to offer a more secure browsing experience. It encrypts network traffic using the *Transport Layer Security* (TLS) protocol, which replaces the older (and now deprecated) *Secure Sockets Layer* (SSL) technology. HTTPS protects the privacy and integrity of any data in transit and authenticates a website for the end-user. For this reason, HTTPS must be implemented on websites that handle financial or personal data. However, all domains are strongly encouraged to enable HTTPS and a majority of all sites now use it. Review the [Understanding TLS Certificates and Connections](/cloud/guides/what-is-a-tls-certificate/) to learn more about TLS. ### Let's Encrypt diff --git a/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md b/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md index a9ed3e016cc..66392b21b10 100644 --- a/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/verifying-nginx-certbot-shortguide/index.md @@ -18,7 +18,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## Verifying the NGINX Installation -NGINX must be installed and configured before Certbot can be used. The following instructions configure the minimal NGINX environment required to install and use Certbot. If NGINX is already installed, skip ahead to the [Installing Certbot](#installing-certbot) section. For more information about NGINX, see the Linode [NGINX configuration guide](/docs/guides/how-to-configure-nginx/). +NGINX must be installed and configured before Certbot can be used. The following instructions configure the minimal NGINX environment required to install and use Certbot. If NGINX is already installed, skip ahead to the [Installing Certbot](#installing-certbot) section. For more information about NGINX, see the Linode [NGINX configuration guide](/cloud/guides/how-to-configure-nginx/). 1. **Confirm that NGINX is installed and running** by running the following command on your server: diff --git a/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md b/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md index a1af1337fef..c43117caf35 100644 --- a/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md +++ b/docs/guides/security/ssl/create-a-self-signed-tls-certificate/index.md @@ -16,7 +16,7 @@ tags: ["security","ssl"] ## What is a Self-Signed TLS Certificate? -Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. +Self-signed TLS certificates are suitable for personal use or for applications that are used internally within an organization. If you intend to use your SSL certificate on a website, see our guide on enabling TLS for [NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process outlined in this guide. ## Create the Certificate diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md index df1223a64ff..0c84c240dad 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-7/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on CentOS 7](/docs/guides/install-and-configure-apache-on-centos-7/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7/) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md index 93b2f3485e6..5508277aeae 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-centos-8/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on CentOS 8](/docs/guides/how-to-install-apache-web-server-centos-8/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md index ddd6330a849..140acbbf1b2 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-debian/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on Debian 10](/docs/guides/how-to-install-apache-web-server-debian-10/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache Web Server on Debian 10](/cloud/guides/how-to-install-apache-web-server-debian-10/) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md index 8bbb7d04ebf..fa1397595ea 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. 3. **The Apache web server software installed on your server and configured for your domain.** You can review the [Getting started with Apache HTTP Server](https://docs.fedoraproject.org/en-US/quick-docs/getting-started-with-apache-http-server/) guide on Fedora's docs for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md index 49533927685..2b242ebaa0b 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-ubuntu/index.md @@ -25,14 +25,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on Ubuntu 18.04 LTS](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide for information on installing and configuring Apache. +3. **The Apache web server software installed on your server and configured for your domain.** You can review the [How to Install Apache on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) guide for information on installing and configuring Apache. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md index 852ef6f180d..26398bb1c19 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-7/index.md @@ -23,14 +23,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS 7 or RHEL 7** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [Install a LEMP Stack on CentOS 7](/docs/guides/lemp-stack-on-centos-7-with-fastcgi/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [Install a LEMP Stack on CentOS 7](/cloud/guides/lemp-stack-on-centos-7-with-fastcgi/) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md index adc92df9256..888c90de3f3 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-centos-8/index.md @@ -24,14 +24,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on CentOS/RHEL 8, AlmaLinux 8, or Rocky Linux 8 (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on CentOS 8](/docs/guides/how-to-install-nginx-centos-8/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on CentOS 8](/cloud/guides/how-to-install-nginx-centos-8/) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md index 0a11e4749b2..e17d84c912e 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-debian/index.md @@ -24,14 +24,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Debian 10 or 9** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Debian 10](/docs/guides/how-to-install-nginx-debian-10/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Debian 10](/cloud/guides/how-to-install-nginx-debian-10/) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md index fab335ea9df..682ed879ef0 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md @@ -23,12 +23,12 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Fedora (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. 3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [NGINX](https://fedoraproject.org/wiki/Nginx) guide on Fedora's docs for information on installing and configuring NGINX.{{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md index 462190b1458..fb1d4a8d5dd 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-ubuntu/index.md @@ -26,14 +26,14 @@ This guide provides instructions on using the open source [Certbot](https://cert Before continuing with this guide, you need a website accessible over HTTP using your desired domain name. Breaking this down further, the following components are required: -1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides for information on deploying and configuring a Linode Compute Instance. +1. **A server running on Ubuntu 20.04 LTS and 18.04 LTS (or another supported distribution)** with credentials to a standard user account (belonging to the `sudo` group) and the ability to access the server through[SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides for information on deploying and configuring a Linode Compute Instance. -2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](/docs/products/networking/dns-manager/). Review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide for more information on configuring DNS. +2. **A registered domain name with DNS records pointing to the IPv4 (and optionally IPv6) address of your server.** A domain can be obtained through any registrar and can utilize any DNS service, such as Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide for more information on configuring DNS. -3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Ubuntu 18.04 LTS](/docs/guides/how-to-install-nginx-ubuntu-18-04/) guide for information on installing and configuring NGINX. +3. **The NGINX web server software installed on your server and configured for your domain.** You can review the [How to Install NGINX on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-nginx-ubuntu-18-04/) guide for information on installing and configuring NGINX. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 >}} {{% content "understanding-https-tls-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot/index.md b/docs/guides/security/ssl/enabling-https-using-certbot/index.md index 14752b657ac..55ea1440dc0 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot/index.md @@ -18,24 +18,24 @@ The following tutorials outline how to install and use Certbot with either Apach ## Apache -- **CentOS/RHEL 7**:[Use Certbot to Enable HTTPS with Apache on CentOS 7](/docs/guides/enabling-https-using-certbot-with-apache-on-centos-7) +- **CentOS/RHEL 7**:[Use Certbot to Enable HTTPS with Apache on CentOS 7](/cloud/guides/enabling-https-using-certbot-with-apache-on-centos-7) -- **CentOS/RHEL 8**:[Use Certbot to Enable HTTPS with Apache on CentOS 8](/docs/guides/enabling-https-using-certbot-with-apache-on-centos-8) +- **CentOS/RHEL 8**:[Use Certbot to Enable HTTPS with Apache on CentOS 8](/cloud/guides/enabling-https-using-certbot-with-apache-on-centos-8) -- **Debian**:[Use Certbot to Enable HTTPS with Apache on Debian](/docs/guides/enabling-https-using-certbot-with-apache-on-debian) +- **Debian**:[Use Certbot to Enable HTTPS with Apache on Debian](/cloud/guides/enabling-https-using-certbot-with-apache-on-debian) -- **Fedora**:[Use Certbot to Enable HTTPS with Apache on Fedora](/docs/guides/enabling-https-using-certbot-with-apache-on-fedora) +- **Fedora**:[Use Certbot to Enable HTTPS with Apache on Fedora](/cloud/guides/enabling-https-using-certbot-with-apache-on-fedora) -- **Ubuntu**:[Use Certbot to Enable HTTPS with Apache on Ubuntu 20.04](/docs/guides/enabling-https-using-certbot-with-apache-on-ubuntu) +- **Ubuntu**:[Use Certbot to Enable HTTPS with Apache on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu) ## NGINX -- **CentOS/RHEL 7**:[Use Certbot to Enable HTTPS with NGINX on CentOS 7](/docs/guides/enabling-https-using-certbot-with-nginx-on-centos-7) +- **CentOS/RHEL 7**:[Use Certbot to Enable HTTPS with NGINX on CentOS 7](/cloud/guides/enabling-https-using-certbot-with-nginx-on-centos-7) -- **CentOS/RHEL 8**:[Use Certbot to Enable HTTPS with NGINX on CentOS 8](/docs/guides/enabling-https-using-certbot-with-nginx-on-centos-8) +- **CentOS/RHEL 8**:[Use Certbot to Enable HTTPS with NGINX on CentOS 8](/cloud/guides/enabling-https-using-certbot-with-nginx-on-centos-8) -- **Debian**:[Use Certbot to Enable HTTPS with NGINX on Debian](/docs/guides/enabling-https-using-certbot-with-nginx-on-debian) +- **Debian**:[Use Certbot to Enable HTTPS with NGINX on Debian](/cloud/guides/enabling-https-using-certbot-with-nginx-on-debian) -- **Fedora**:[Use Certbot to Enable HTTPS with NGINX on Fedora](/docs/guides/enabling-https-using-certbot-with-nginx-on-fedora) +- **Fedora**:[Use Certbot to Enable HTTPS with NGINX on Fedora](/cloud/guides/enabling-https-using-certbot-with-nginx-on-fedora) -- **Ubuntu**:[Use Certbot to Enable HTTPS with NGINX on Ubuntu](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) \ No newline at end of file +- **Ubuntu**:[Use Certbot to Enable HTTPS with NGINX on Ubuntu](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu) \ No newline at end of file diff --git a/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md b/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md index 96a32d44940..a0a82867685 100644 --- a/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md +++ b/docs/guides/security/ssl/how-to-make-a-selfsigned-ssl-certificate/index.md @@ -15,7 +15,7 @@ deprecated: true deprecated_link: 'guides/create-a-self-signed-tls-certificate/' --- -This guide explains the creation of a self-signed SSL certificate, suitable for personal use or for applications used internally in an organization. The end product may be used with SSL-capable software such as web servers, email servers, or other server systems. We assume 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/), and that you're logged into your Linode as root via a shell session. +This guide explains the creation of a self-signed SSL certificate, suitable for personal use or for applications used internally in an organization. The end product may be used with SSL-capable software such as web servers, email servers, or other server systems. We assume 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), and that you're logged into your Linode as root via a shell session. ## Installing OpenSSL @@ -48,6 +48,6 @@ You will be asked for several configuration values. Enter values appropriate for Once your certificate has been generated, you will need to configure your web server to utilize the new certificate. Instructions for doing so with several popular platforms can be found at the links below: -- [SSL Certificates with Apache on Debian and Ubuntu](/docs/guides/ssl-apache2-debian-ubuntu/) -- [SSL Certificates with Apache on CentOS 7](/docs/guides/ssl-apache2-centos/) -- [SSL Certificates with Nginx](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) +- [SSL Certificates with Apache on Debian and Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) +- [SSL Certificates with Apache on CentOS 7](/cloud/guides/ssl-apache2-centos/) +- [SSL Certificates with Nginx](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) diff --git a/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md b/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md index 95509aa2ddc..58108423d78 100644 --- a/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md +++ b/docs/guides/security/ssl/install-lets-encrypt-to-create-ssl-certificates/index.md @@ -25,9 +25,9 @@ For most situations, the recommended method for installing Let's Encrypt certifi ## 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 steps in 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 steps in 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 server's software packages: @@ -40,7 +40,7 @@ For most situations, the recommended method for installing Let's Encrypt certifi sudo apt update && sudo apt upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Download and Install Let's Encrypt diff --git a/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md b/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md index 15ad7e2dcec..dbbdd6042f7 100644 --- a/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md +++ b/docs/guides/security/ssl/obtain-a-commercially-signed-tls-certificate/index.md @@ -16,7 +16,7 @@ tags: ["security","ssl"] If you intend to host a publicly accessible website which will use HTTPS, then you will want to install a commercially signed TLS certificate so people visiting your site don't get warnings in their browser about an unsafe connection. -The easiest method is to sign your certificate using [Let's Encrypt](https://letsencrypt.org/). The [CertBot](/docs/guides/secure-http-traffic-certbot/) tool makes obtaining and renewing certificates through Let's Encrypt extremely simple. However, this isn't a viable option for everyone. +The easiest method is to sign your certificate using [Let's Encrypt](https://letsencrypt.org/). The [CertBot](/cloud/guides/secure-http-traffic-certbot/) tool makes obtaining and renewing certificates through Let's Encrypt extremely simple. However, this isn't a viable option for everyone. If you need [Domain Validation](https://en.wikipedia.org/wiki/Domain-validated_certificate) or [Extended Validation certificates](https://en.wikipedia.org/wiki/Extended_Validation_Certificate), you must create a Certificate Signing Request (CSR) for submission to a Certificate Authority (CA) such as Thawte or Verisign. This is the method for obtaining a signed TLS certificate that this guide focuses on. @@ -24,7 +24,7 @@ Some CAs allow you to create a CSR directly through their web interface after yo Research certificate authorities thoroughly before deciding on the company which will be used for things such as protecting customers' personal information via HTTPS, cryptographically signing emails, or granting access to internal platforms. -If you intend to use your SSL certificate on a website, see our guide on [Enabling TLS for HTTPS on NGINX](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process in this guide. +If you intend to use your SSL certificate on a website, see our guide on [Enabling TLS for HTTPS on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) once you’ve completed the process in this guide. ## Create a Certificate Signing Request (CSR) diff --git a/docs/guides/security/ssl/secure-http-traffic-certbot/index.md b/docs/guides/security/ssl/secure-http-traffic-certbot/index.md index a4536ad0d0c..f70686ed086 100644 --- a/docs/guides/security/ssl/secure-http-traffic-certbot/index.md +++ b/docs/guides/security/ssl/secure-http-traffic-certbot/index.md @@ -24,7 +24,7 @@ For most operating system and web server configurations, Certbot creates signed ## Before You Begin -Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/docs/guides/dns-overview/#a-and-aaaa) DNS records that point to your Linode's public [IPv4 and IPv6 addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Consult our [DNS Records: An Introduction](/docs/guides/dns-overview/) and [DNS Manager](/docs/products/networking/dns-manager/) guides for help with setting up a domain. +Make sure you have registered a Fully Qualified Domain Name (FQDN) and set up [A and AAAA](/cloud/guides/dns-overview/#a-and-aaaa) DNS records that point to your Linode's public [IPv4 and IPv6 addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Consult our [DNS Records: An Introduction](/cloud/guides/dns-overview/) and [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guides for help with setting up a domain. {{< note >}} If you're using Apache, change each instance of `nginx` to `apache` in the following sections. diff --git a/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md b/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md index f3903fbd9aa..3fe7bd27d20 100644 --- a/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md +++ b/docs/guides/security/ssl/secure-logstash-connections-using-ssl-certificates/index.md @@ -16,13 +16,13 @@ external_resources: ## 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 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/) to create a standard user account, harden SSH access, and remove unnecessary network services. +2. 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) 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 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 >}} ## Introduction diff --git a/docs/guides/security/ssl/ssl-apache2-centos/index.md b/docs/guides/security/ssl/ssl-apache2-centos/index.md index 00902ed7665..7985488517b 100644 --- a/docs/guides/security/ssl/ssl-apache2-centos/index.md +++ b/docs/guides/security/ssl/ssl-apache2-centos/index.md @@ -28,11 +28,11 @@ This guide will show you how to enable SSL to secure websites served through Apa This guide assumes that you are running Apache2 on CentOS or Fedora. Prior to starting this guide, ensure that the following steps have been taken on your Linode: -- 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 our [LAMP on CentOS 7](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/) guide, and create a site that you wish to secure with SSL. +- Complete our [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide, and create a site that you wish to secure with SSL. -- Follow our guide for obtaining either a [self-signed](/docs/guides/create-a-self-signed-tls-certificate/) or [commercial](/docs/guides/obtain-a-commercially-signed-tls-certificate/) SSL certificate. +- Follow our guide for obtaining either a [self-signed](/cloud/guides/create-a-self-signed-tls-certificate/) or [commercial](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) SSL certificate. - In order to configure your Linode to function with SSL, you will need to ensure that the Apache `mod_ssl` module is installed on your system. You can do so by running the following command: diff --git a/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md b/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md index be70b16059a..faacea13612 100644 --- a/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md +++ b/docs/guides/security/ssl/ssl-apache2-debian-ubuntu/index.md @@ -26,13 +26,13 @@ This guide shows you how to enable SSL to secure websites served through Apache This guide assumes that you are running Apache 2.4 or higher on Debian 8 or Ubuntu 14.04 or above. Prior to following this guide, ensure that the following steps have been taken on your Linode: -- 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 our [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide, and create a site that you wish to secure with SSL. +- Complete our [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide, and create a site that you wish to secure with SSL. -- Follow our guide to obtain either a [self-signed](/docs/guides/create-a-self-signed-tls-certificate/) or [commercial](/docs/guides/obtain-a-commercially-signed-tls-certificate/) SSL certificate. +- Follow our guide to obtain either a [self-signed](/cloud/guides/create-a-self-signed-tls-certificate/) or [commercial](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) SSL certificate. -- If hosting multiple websites with commercial SSL certificates on the same IP address, use the [Server Name Identification (SNI) extension](https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI) of TLS. SNI is accepted by most modern web browsers. If you expect to receive connections from clients running legacy browsers (like Internet Explorer for Windows XP), you will need to [contact support](/docs/products/platform/get-started/guides/support/) to request an additional IP address. +- If hosting multiple websites with commercial SSL certificates on the same IP address, use the [Server Name Identification (SNI) extension](https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI) of TLS. SNI is accepted by most modern web browsers. If you expect to receive connections from clients running legacy browsers (like Internet Explorer for Windows XP), you will need to [contact support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) to request an additional IP address. ## Configure Apache to use the SSL Certificate diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md index f5f1d59d865..6779678e3ca 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-centos/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 installation guide](/docs/guides/apache-web-server-on-centos-6/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 installation guide](/cloud/guides/apache-web-server-on-centos-6/). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -173,7 +173,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Apache on CentOS](/docs/guides/apache-web-server-on-centos-6/) +- [Installing Apache on CentOS](/cloud/guides/apache-web-server-on-centos-6/) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md index a439bf8c89d..477fd595a28 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Debian 5 (Lenny) guide](/docs/web-servers/apache/installation/debian-5-lenny). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Debian 5 (Lenny) guide](/cloud/web-servers/apache/installation/debian-5-lenny). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md index 460906e79bc..88014efe157 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-12/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 12 guide](/docs/guides/apache-2-web-server-on-fedora-12/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 12 guide](/cloud/guides/apache-2-web-server-on-fedora-12/). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -172,7 +172,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) -- [Hosting Websites with the Apache HTTP Server on Fedora 12](/docs/guides/apache-2-web-server-on-fedora-12/) +- [Hosting Websites with the Apache HTTP Server on Fedora 12](/cloud/guides/apache-2-web-server-on-fedora-12/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md index 964772be409..25ba646f6d4 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-fedora-14/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 14 guide](/docs/guides/apache-2-web-server-on-fedora-14/). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Fedora 14 guide](/cloud/guides/apache-2-web-server-on-fedora-14/). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -172,7 +172,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) -- [Hosting Websites with the Apache HTTP Server on Fedora 14](/docs/guides/apache-2-web-server-on-fedora-14/) +- [Hosting Websites with the Apache HTTP Server on Fedora 14](/cloud/guides/apache-2-web-server-on-fedora-14/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md index 003446e8015..a8c7a2e6c71 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.04 LTS (Lucid) guide](/docs/web-servers/apache/installation/ubuntu-10-04-lucid). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.04 LTS (Lucid) guide](/cloud/web-servers/apache/installation/ubuntu-10-04-lucid). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -187,7 +187,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Install Apache on Ubuntu 10.04 LTS (Lucid)](/docs/web-servers/apache/installation/ubuntu-10-04-lucid) +- [Install Apache on Ubuntu 10.04 LTS (Lucid)](/cloud/web-servers/apache/installation/ubuntu-10-04-lucid) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md index fe54dc45825..4579cf39703 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.10 (Maverick) guide](/docs/web-servers/apache/installation/ubuntu-10-10-maverick). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. It is assumed that you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 10.10 (Maverick) guide](/cloud/web-servers/apache/installation/ubuntu-10-10-maverick). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -187,7 +187,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Install Apache on Ubuntu 10.10 (Maverick)](/docs/web-servers/apache/installation/ubuntu-10-10-maverick) +- [Install Apache on Ubuntu 10.10 (Maverick)](/cloud/web-servers/apache/installation/ubuntu-10-10-maverick) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md index 3c67d70c989..2e8870af9cc 100644 --- a/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/security/ssl/ssl-certificates-with-apache-2-on-ubuntu-9-10-karmic/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 9.10 (Karmic) guide](/docs/web-servers/apache/installation/ubuntu-9-10-karmic). These steps should be performed via an SSH session to your Linode as the root user. +This guide will assist you with enabling SSL for websites served under the Apache web server. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you've successfully set up Apache for serving virtual hosts as outlined in our [Apache 2 on Ubuntu 9.10 (Karmic) guide](/cloud/web-servers/apache/installation/ubuntu-9-10-karmic). These steps should be performed via an SSH session to your Linode as the root user. ## Use a Self-Signed SSL Certificate with Apache @@ -185,7 +185,7 @@ You should now be able to visit your site with SSL enabled. Congratulations, you You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Apache on Ubuntu 9.10 (Karmic)](/docs/web-servers/apache/installation/ubuntu-9-10-karmic) +- [Installing Apache on Ubuntu 9.10 (Karmic)](/cloud/web-servers/apache/installation/ubuntu-9-10-karmic) - [Official Apache Documentation](http://httpd.apache.org/docs/2.0/) diff --git a/docs/guides/security/ssl/using-openssls-subjectaltname-with-multiple-site-domains/index.md b/docs/guides/security/ssl/using-openssls-subjectaltname-with-multiple-site-domains/index.md index ef67a5968d2..a12a46a8abd 100644 --- a/docs/guides/security/ssl/using-openssls-subjectaltname-with-multiple-site-domains/index.md +++ b/docs/guides/security/ssl/using-openssls-subjectaltname-with-multiple-site-domains/index.md @@ -16,7 +16,7 @@ external_resources: ![OpenSSL_SubjectAltName](OpenSSL_subjectAltName.jpg) -If you're generating your own SSL certificates, you may wish to create a certificate that is valid for multiple DNS names. Using this approach, you can host multiple SSL sites on a single IP address. We assume you've completed 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 an SSH session. +If you're generating your own SSL certificates, you may wish to create a certificate that is valid for multiple DNS names. Using this approach, you can host multiple SSL sites on a single IP address. We assume you've completed the steps detailed in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and that you're logged into your Linode as root via an SSH session. ## Install OpenSSL diff --git a/docs/guides/security/ssl/what-is-a-tls-certificate/index.md b/docs/guides/security/ssl/what-is-a-tls-certificate/index.md index 5ea8f704d9c..ac4a9076802 100644 --- a/docs/guides/security/ssl/what-is-a-tls-certificate/index.md +++ b/docs/guides/security/ssl/what-is-a-tls-certificate/index.md @@ -67,7 +67,7 @@ The `https` invocation specifically requests TLS/SSL (although SSL is usually di Once the initiating TLS transaction is done, a relationship between the two hosts occurs, as a stateful entity called a *session*. A series of messages constituting a handshake occurs between the hosts. This establishes message encryption, and therefore privacy. in TLS 1.3, a single request-and-answer then causes the next parts of the TLS protocol to be encrypted. -Next, the authenticity of the server's credentials is checked. These are checked against either a local browser certificate cache or against a chain-of-authorities to a [Certificate Authority](/docs/guides/obtain-a-commercially-signed-tls-certificate/). If all matches correctly, a session is established. It may have a stated maximum lifetime/expiration. +Next, the authenticity of the server's credentials is checked. These are checked against either a local browser certificate cache or against a chain-of-authorities to a [Certificate Authority](/cloud/guides/obtain-a-commercially-signed-tls-certificate/). If all matches correctly, a session is established. It may have a stated maximum lifetime/expiration. Once the TLS connection is made between the two hosts, it's time to pick common encryption mechanisms/ciphers (and hopefully the highest common denominator between the two hosts). In the web service example, a browser has trust information presented by the web service. The browser looks to either its own cache of certificates, or to a chain-of-authorities statement made by the web server to prove its trust. If trust can be proven satisfactorily, and multiple options are possible, then a trust relationship is established (or rejected, ending the conversation). diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md index 6db136e5767..395ee4a0c8c 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-debian-6-squeeze/index.md @@ -51,7 +51,7 @@ Issue the following command to update your package lists: apt-get update -When running system upgrades, you may want to start a [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: +When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: apt-get install screen @@ -79,7 +79,7 @@ During the upgrade process, you will be asked if you want to use `dash` instead You will also be advised that services using "NSS" (Network Security Services) and "PAM" (Pluggable Authentication Modules) need to be restarted. In most cases the default list of services to be restarted will be fine. If you have additional services that you run that use NSS or PAM, please add them to the list. -The installation will restart services and configure new packages. Once the system is done updating, reboot your system through the Linode Manager to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](/docs/products/compute/compute-instances/guides/lish/). +The installation will restart services and configure new packages. Once the system is done updating, reboot your system through the Linode Manager to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). ## System Errors diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-debian-7-wheezy/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-debian-7-wheezy/index.md index d3febda3b88..1b85798e514 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-debian-7-wheezy/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-debian-7-wheezy/index.md @@ -17,7 +17,7 @@ relations: deprecated: true --- -Debian 7 (Wheezy) was released in May 2013. This guide explains how to upgrade your system from Debian 6 (Squeeze) to Debian 7 (Wheezy). Before you begin, you should make sure that you have a working [backup](/docs/products/storage/backups/) or a copy of your data. +Debian 7 (Wheezy) was released in May 2013. This guide explains how to upgrade your system from Debian 6 (Squeeze) to Debian 7 (Wheezy). Before you begin, you should make sure that you have a working [backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) or a copy of your data. ## Preparing to Upgrade @@ -39,11 +39,11 @@ Any available updates for Debian 6 will be installed on your Linode. ### Backing Up Your Linode -It's a good idea to [back up](/docs/products/storage/backups/) your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Debian 7. If you use another backup service or application, we recommend that you make a manual backup now. You may also want to back up your configuration files (usually located in /etc/) in case they have changed in later versions of the software you are using. +It's a good idea to [back up](https://techdocs.akamai.com/cloud-computing/docs/backup-service) your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Debian 7. If you use another backup service or application, we recommend that you make a manual backup now. You may also want to back up your configuration files (usually located in /etc/) in case they have changed in later versions of the software you are using. ### Checking Your Kernel -Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stopping Services @@ -105,7 +105,7 @@ deb-src http://ftp.us.debian.org/debian/ wheezy-updates main Services using "NSS" (Network Security Services) and "PAM" (Pluggable Authentication Modules) will need to be restarted. In most cases the default list of services to be restarted is fine. If you have additional services that you run that use NSS or PAM, please add them to the list. {{< /note >}} -5. Once the system is updated, reboot your system using the [Linode Manager](https://manager.linode.com) to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](/docs/products/compute/compute-instances/guides/lish/). +5. Once the system is updated, reboot your system using the [Linode Manager](https://manager.linode.com) to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Your Linode is now running Debian 7. diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-04-lts-lucid/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-04-lts-lucid/index.md index 777a4198446..d52467c7071 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-04-lts-lucid/index.md @@ -98,7 +98,7 @@ If you were running Ubuntu 9.04 previously and have gone through this guide once ## Fixing a Broken System -If you've already attempted to upgrade but your Linode is failing to boot properly, you'll need to start by creating a [Finnix rescue profile](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/). In that profile, set your Ubuntu disk to attach to `xvda`. Boot into Finnix and issue the following command to open your Linode's `fstab` file for editing: +If you've already attempted to upgrade but your Linode is failing to boot properly, you'll need to start by creating a [Finnix rescue profile](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild). In that profile, set your Ubuntu disk to attach to `xvda`. Boot into Finnix and issue the following command to open your Linode's `fstab` file for editing: mount /dev/xvda nano /media/xvda/etc/fstab diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-10-maverick/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-10-maverick/index.md index 51bb1f69b79..3db0dfe5de8 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-10-maverick/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-10-10-maverick/index.md @@ -96,7 +96,7 @@ If you were running Ubuntu 9.04 previously and have gone through this guide once ## Fixing a Broken System -If you've already attempted to upgrade but your Linode is failing to boot properly, you'll need to start by creating a [Finnix rescue profile](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/). In that profile, set your Ubuntu disk to attach to `xvda`. Boot into Finnix and issue the following command to open your Linode's `fstab` file for editing: +If you've already attempted to upgrade but your Linode is failing to boot properly, you'll need to start by creating a [Finnix rescue profile](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild). In that profile, set your Ubuntu disk to attach to `xvda`. Boot into Finnix and issue the following command to open your Linode's `fstab` file for editing: mount /dev/xvda nano /media/xvda/etc/fstab diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md index 7d9850b898b..a6522cee37b 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-04-natty/index.md @@ -70,7 +70,7 @@ Issue the following command to update your package lists: apt-get update -When running system upgrades, you may want to start a [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: +When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: apt-get install screen @@ -96,7 +96,7 @@ The upgrade will download and install numerous packages. Please be advised that You will also be advised that some services need to be restarted. In most cases the default list of services to be restarted will be fine. If you have additional services that you would like to be restarted, please add them to the list. -The installation will restart services and configure new packages. Once the system is done updating, reboot your system through the Linode Manager to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](/docs/products/compute/compute-instances/guides/lish/). When your Linode boots up again, you may notice messages on the console regarding `ureadahead` and `plymouthd` being killed; these are not a cause for concern. You can prevent such messages from appearing again by issuing the following commands: +The installation will restart services and configure new packages. Once the system is done updating, reboot your system through the Linode Manager to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). When your Linode boots up again, you may notice messages on the console regarding `ureadahead` and `plymouthd` being killed; these are not a cause for concern. You can prevent such messages from appearing again by issuing the following commands: cd /etc/init for i in plymouth* ureadahead*; do mv ${i} ${i}.disabled; done diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md index 86d787b7fdf..6e8ad9b9396 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-11-10-oneiric/index.md @@ -35,7 +35,7 @@ Issue the following command to update your package lists: apt-get update -When running system upgrades, you may want to start a [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: +When running system upgrades, you may want to start a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session. This will ensure that your system updates continue to run in the event that you are disconnected from the server. Issue the following command to install `screen`: apt-get install screen @@ -63,7 +63,7 @@ You will also be advised that some services need to be restarted. In most cases Additionally, you will also be asked if you'd like to replace some of your configuration files with the package maintainer's version. Please read through the prompts carefully and decide the best option for you. -The installation will restart services and configure new packages. Once the system is done updating, reboot your system through the Linode Manager to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](/docs/products/compute/compute-instances/guides/lish/). +The installation will restart services and configure new packages. Once the system is done updating, reboot your system through the Linode Manager to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). You may now check that you're running Ubuntu 11.10 (Oneiric) by issuing the following command as root: diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md index e204b30411e..6de53e57ced 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-12-04-precise/index.md @@ -40,11 +40,11 @@ Any available updates for Ubuntu 10.04 LTS or Ubuntu 11.04 will be installed on ### Backing Up Your Linode -It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Ubuntu 12.04 LTS. If you use another backup service or application, we recommend that you make a manual backup now. +It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Ubuntu 12.04 LTS. If you use another backup service or application, we recommend that you make a manual backup now. ### Checking Your Kernel -Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stopping Services @@ -132,7 +132,7 @@ Your Linode is now running Ubuntu 12.04 LTS. ## Upgrading from Previous Ubuntu Releases -If your Linode is running an release of Ubuntu older than 10.04 LTS, use the upgrade guides in the [Troubleshooting](/docs/troubleshooting) section to upgrade to Ubuntu 10.04 LTS or Ubuntu 11.10 first. You may then upgrade your Linode to Ubuntu 12.04 LTS. +If your Linode is running an release of Ubuntu older than 10.04 LTS, use the upgrade guides in the [Troubleshooting](/cloud/troubleshooting) section to upgrade to Ubuntu 10.04 LTS or Ubuntu 11.10 first. You may then upgrade your Linode to Ubuntu 12.04 LTS. diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md index 836bab939f7..7108e373826 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-14-04-lts/index.md @@ -29,7 +29,7 @@ Distribution upgrades can yield unpredictable results, due to variations in soft - Transferring your data - Swapping IP addresses -In addition, you should use [LISH](/docs/products/compute/compute-instances/guides/lish/) to perform this upgrade as, in the event your internet connection is disconnected, your system may end up corrupted or the upgrade may be incomplete. +In addition, you should use [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to perform this upgrade as, in the event your internet connection is disconnected, your system may end up corrupted or the upgrade may be incomplete. {{< /note >}} {{< note >}} This guide was written assuming that you have root access to your Linode. If you do not have root access, you will need to prepend each command with `sudo`. @@ -52,7 +52,7 @@ Before upgrading, you will need to prepare your Linode to be upgraded. In order Each of these will be discussed in more detail below. {{< note >}} -In the interest of security, Ubuntu 14.04 LTS disables password based SSH authentication for the root user. If you log into your root account directly via SSH, you will need to ensure that you have configured key based authentication prior to following these upgrade steps. If you have already followed our steps for [adding a new user](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) to your Linode, you should be able to log in with that account after the upgrade process has completed. +In the interest of security, Ubuntu 14.04 LTS disables password based SSH authentication for the root user. If you log into your root account directly via SSH, you will need to ensure that you have configured key based authentication prior to following these upgrade steps. If you have already followed our steps for [adding a new user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to your Linode, you should be able to log in with that account after the upgrade process has completed. {{< /note >}} ### Installing Available Updates @@ -71,11 +71,11 @@ Any available updates for Ubuntu 12.04 LTS will be installed on your Linode. ### Backing Up Your Linode -It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Ubuntu 14.04 LTS. If you use another backup service or application, we recommend that you make a manual backup now. +It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Ubuntu 14.04 LTS. If you use another backup service or application, we recommend that you make a manual backup now. ### Checking Your Kernel -Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stopping Services @@ -139,4 +139,4 @@ Your Linode is now running Ubuntu 14.04 LTS. ## Upgrading from Previous Ubuntu Releases -If your Linode is running an release of Ubuntu older than 12.04 LTS, use the upgrade guides in the [Upgrading](/docs/security/upgrading/) section to upgrade to Ubuntu 12.04 LTS first. You may then upgrade your Linode to Ubuntu 14.04 LTS. +If your Linode is running an release of Ubuntu older than 12.04 LTS, use the upgrade guides in the [Upgrading](/cloud/security/upgrading/) section to upgrade to Ubuntu 12.04 LTS first. You may then upgrade your Linode to Ubuntu 14.04 LTS. diff --git a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md index 0872c09fa23..a6c9c505968 100644 --- a/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md +++ b/docs/guides/security/upgrading/how-to-upgrade-to-ubuntu-22-04/index.md @@ -67,25 +67,25 @@ The pros and cons of a clean install are as follows: - This method takes a lot more effort and is more error prone. It is easy to forget to port over important applications and application data. - This method is a better choice if the system is running a much older release of Ubuntu or if the configuration is very convoluted. It is also a good choice for systems under the control of an *Infrastructure as Code* (IaC) application, like Terraform or Chef. These applications allow administrators to automatically provision a new remote node with a standard configuration. -For an in-depth explanation of the clean install method, see the [Linode guide to manually upgrading a node](/docs/guides/manually-upgrading-to-latest-distribution-version/). +For an in-depth explanation of the clean install method, see the [Linode guide to manually upgrading a node](/cloud/guides/manually-upgrading-to-latest-distribution-version/). ## Before You Begin -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 there is at least 20 GB of disk space available. Verify the amount of disk space availability using the `df -Th` command. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Upgrade to Ubuntu 22.04 LTS This guide is designed for users who want to upgrade from Ubuntu 20.04 LTS to Ubuntu 22.04 LTS. However, it is generally applicable for upgrades to Ubuntu 22.04 from any release of Ubuntu 20.xx or 21.xx. -If the Linode is running Ubuntu 18.xx or any earlier release, first upgrade it to Ubuntu 20.04 LTS. Then perform the steps in this guide to upgrade from Ubuntu 20.04 LTS to the 22.04 LTS. See the [Linode guide to Upgrade to Ubuntu 20.04](/docs/guides/upgrade-to-ubuntu-20-04/) for more information. Alternatively, if the Ubuntu software and applications are very old, it might make more sense to perform a clean install instead. +If the Linode is running Ubuntu 18.xx or any earlier release, first upgrade it to Ubuntu 20.04 LTS. Then perform the steps in this guide to upgrade from Ubuntu 20.04 LTS to the 22.04 LTS. See the [Linode guide to Upgrade to Ubuntu 20.04](/cloud/guides/upgrade-to-ubuntu-20-04/) for more information. Alternatively, if the Ubuntu software and applications are very old, it might make more sense to perform a clean install instead. {{< note type="alert" >}} This operation cannot be canceled after it is started. Ensure there is a stable connection to the Linode and backup power is available. @@ -109,13 +109,13 @@ To prepare the Ubuntu system for the upgrade, follow these steps. sudo apt autoremove -y && sudo apt autoclean -y ``` -3. Reboot the node to ensure any new kernel upgrades are installed. Linode makes new kernels available through the Linode cloud manager. Any updates are automatically applied to the node upon a reboot. For more information, see the [Linode guide to monitoring and maintaining a system](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates). +3. Reboot the node to ensure any new kernel upgrades are installed. Linode makes new kernels available through the Linode cloud manager. Any updates are automatically applied to the node upon a reboot. For more information, see the [Linode guide to monitoring and maintaining a system](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates). ```command sudo reboot ``` -4. Make a backup copy of the system configuration and all application data. The easiest way to do this is to back up the entire system. Subscribing to the [Linode Backup Service](/docs/products/storage/backups/) allows you to take a manual snapshot before the upgrade. +4. Make a backup copy of the system configuration and all application data. The easiest way to do this is to back up the entire system. Subscribing to the [Linode Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service) allows you to take a manual snapshot before the upgrade. 5. Stop as many non-critical user applications services as possible, including web and database servers. Focus on applications that might be subject to data corruption. To see a list of the active services, use the command `systemctl | grep running`. diff --git a/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md b/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md index 188c0b2c55a..091adc3611b 100644 --- a/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md +++ b/docs/guides/security/upgrading/manually-upgrading-to-latest-distribution-version/index.md @@ -33,8 +33,8 @@ Regardless of your chosen upgrade path ([inline upgrade](#inline-upgrade) or [cl An inline (or in-place) upgrade involves upgrading your existing Linux system (or a copy of that existing system). All of your data remains and the operating system upgrades itself to the latest version. The viability of this process depends on several factors, including if your Linux distribution supports it, how reliable the process is for your distribution, and how complex your system configuration is. When this process works smoothly, its quicker and easier compared to other options as it typically just involves running a few commands. This guide does not cover inline upgrades, though the following guides do: -- [How to Upgrade to Ubuntu 18.04 LTS (Bionic Beaver)](/docs/guides/upgrade-to-ubuntu-18-04/) -- [Upgrade Debian to the Newest Release](/docs/guides/upgrade-debian-to-the-newest-release/) +- [How to Upgrade to Ubuntu 18.04 LTS (Bionic Beaver)](/cloud/guides/upgrade-to-ubuntu-18-04/) +- [Upgrade Debian to the Newest Release](/cloud/guides/upgrade-debian-to-the-newest-release/) *Consider an inline upgrade when your system is just one release behind your distribution's latest version and the built-in method for inline upgrades for your distribution is reliable.* @@ -44,18 +44,18 @@ This entails deploying the desired distribution version to a new server, potenti *Consider a clean install when your system is several releases behind your distribution's latest version, when switching to a different distribution altogether, or when making major changes to your software stack.* {{< note >}} -DevOps provisioning tools (such as [Terraform](/docs/guides/beginners-guide-to-terraform/) and [Ansible](/docs/guides/getting-started-with-ansible/)), container platforms ([Docker](/docs/guides/introduction-to-docker/)), and orchestration systems ([Kubernetes](/docs/guides/beginners-guide-to-kubernetes/)) generally make deploying system updates much easier. If your application or DevOps process uses one of these tools, upgrading to the latest operating system may be as simply as adjusting a line in a configuration file. In those cases, consult the tool's documentation to learn more about targeting a newer Linux distribution. +DevOps provisioning tools (such as [Terraform](/cloud/guides/beginners-guide-to-terraform/) and [Ansible](/cloud/guides/getting-started-with-ansible/)), container platforms ([Docker](/cloud/guides/introduction-to-docker/)), and orchestration systems ([Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/)) generally make deploying system updates much easier. If your application or DevOps process uses one of these tools, upgrading to the latest operating system may be as simply as adjusting a line in a configuration file. In those cases, consult the tool's documentation to learn more about targeting a newer Linux distribution. {{< /note >}} ## Before you Begin -- **Ensure you have login credentials to the original system** for either the root user or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +- **Ensure you have login credentials to the original system** for either the root user or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{< note respectIndent=false >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} -- **Back up any important data stored on your Linode.** If your Linode has the [Backups](https://www.linode.com/products/backups/) service enabled, consider taking a manual snapshot before upgrading your system. If you use a different backup service or application, you should verify that a recent backup is available. See [Backing Up Your Data](/docs/guides/backing-up-your-data/). +- **Back up any important data stored on your Linode.** If your Linode has the [Backups](https://www.linode.com/products/backups/) service enabled, consider taking a manual snapshot before upgrading your system. If you use a different backup service or application, you should verify that a recent backup is available. See [Backing Up Your Data](/cloud/guides/backing-up-your-data/). ## Steps for Performing an Upgrade through a Clean Install @@ -67,9 +67,9 @@ Some commands in this guide require elevated privileges and are prefixed with th ## Create a New Linode -To get started, create a new Linode by following the instructions within 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. Keep the following considerations in mind: +To get started, create a new Linode by following the instructions within 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. Keep the following considerations in mind: -- **Distribution:** Select the distribution image you wish to use for the base of the upgraded system. For most cases, you should likely select the latest LTS (long term support) release of the same distribution as the original system. For instance, if the original system is Ubuntu 18.04 LTS, select the latest Ubuntu LTS release (20.04 at the time of this writing). You might also wish to upgrade to a new distribution that's based on (or similar to) your current system. As an example, you can upgrade a CentOS 7 (or 8) system to AlmaLinux 8 (or RockyLinux 8). See [Choosing a Linux Distribution](/docs/products/compute/compute-instances/guides/distributions/) for a full list of the distribution images available on Linode. +- **Distribution:** Select the distribution image you wish to use for the base of the upgraded system. For most cases, you should likely select the latest LTS (long term support) release of the same distribution as the original system. For instance, if the original system is Ubuntu 18.04 LTS, select the latest Ubuntu LTS release (20.04 at the time of this writing). You might also wish to upgrade to a new distribution that's based on (or similar to) your current system. As an example, you can upgrade a CentOS 7 (or 8) system to AlmaLinux 8 (or RockyLinux 8). See [Choosing a Linux Distribution](https://techdocs.akamai.com/cloud-computing/docs/choose-a-distribution) for a full list of the distribution images available on Linode. - **Region:** The new Linode must reside in the same region (data center) as the original Linode. - **Linode Plan:** Chose a plan that accommodates the applications you wish to run and meets any storage requirements you may have. In many cases, selecting the same (or larger) plan is a safe choice. @@ -83,9 +83,9 @@ As part of this upgrade process, all packages required for the applications you This approach involves reviewing the installation instructions (and requirements) for each application you wish to use. This approach may be the cleanest approach, as only packages that are currently required by your application will be installed. You can review the official documentation for a given application or take a look at our own guides for installing certain software stacks and applications. Here are a few of our popular guides. While Ubuntu versions of the guides are linked, other distributions are available. -- [How to Install the LEMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) -- [How to Install a LAMP Stack on Ubuntu 20.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) -- [Install WordPress on Ubuntu 20.04](/docs/guides/how-to-install-wordpress-ubuntu-2004/) +- [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) +- [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) +- [Install WordPress on Ubuntu 20.04](/cloud/guides/how-to-install-wordpress-ubuntu-2004/) Whichever documentation you review, follow the installation steps to install all required software. @@ -95,33 +95,33 @@ The downside to this approach is that you may need to do a bit of research if yo You can also view the packages that are currently installed on the original system and then install them on the new system. This process can be more tedious, as there are often hundreds or thousands of packages (including obscure dependencies that you might not recognize). The commands needed to view and install packages depend on the distribution and package manager you are using. Below are example commands for finding all installed packages using popular default package managers: -- [**APT**](/docs/guides/apt-package-manager/) - Debian and Ubuntu +- [**APT**](/cloud/guides/apt-package-manager/) - Debian and Ubuntu sudo apt list --installed -- [**DNF**](/docs/guides/dnf-package-manager/) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) +- [**DNF**](/cloud/guides/dnf-package-manager/) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) sudo dnf list installed -- [**YUM**](/docs/guides/yum-package-manager/) - RHEL/CentOS 7 +- [**YUM**](/cloud/guides/yum-package-manager/) - RHEL/CentOS 7 sudo yum list installed Next, install all the required packages onto the new system. Again, here are some example commands based on common package managers: -- [**APT**](/docs/guides/apt-package-manager/) - Debian and Ubuntu +- [**APT**](/cloud/guides/apt-package-manager/) - Debian and Ubuntu sudo apt install [package-name] -- [**DNF**](/docs/guides/dnf-package-manager/) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) +- [**DNF**](/cloud/guides/dnf-package-manager/) - RHEL/CentOS 8, other RHEL 8 derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora 22 (and later) sudo dnf install [package-name] -- [**YUM**](/docs/guides/yum-package-manager/) - RHEL/CentOS 7 +- [**YUM**](/cloud/guides/yum-package-manager/) - RHEL/CentOS 7 sudo yum install [package-name] -If you are using a different distribution or a different package manager, review the [Overview of Package Management in Linux](/docs/guides/linux-package-management-overview/) guide, as well as the individual pages for each package manager, to determine how to list currently installed packages. +If you are using a different distribution or a different package manager, review the [Overview of Package Management in Linux](/cloud/guides/linux-package-management-overview/) guide, as well as the individual pages for each package manager, to determine how to list currently installed packages. ## Copy Data and Configuration Files @@ -140,27 +140,27 @@ Before transferring data, you may want to place any applications in a *maintenan ### SFTP (SSH File Transfer Protocol) -SFTP is a standard protocol for securely listing, downloading, and uploading files on remote systems. This is a very user-friendly approach to file transfers. Many desktop applications are available and can be used to transfer data between the original Linode and the new Linode. These applications include [FileZilla](https://filezilla-project.org/) (free, cross-platform), [WinSCP](https://winscp.net/eng/index.php) (free, Windows-only), [Transmit](https://panic.com/transmit/) (paid, macOS-only), and [Forklift](https://binarynights.com/) (paid, macOS-only). See our [FileZilla guide](/docs/guides/filezilla/) for more information. +SFTP is a standard protocol for securely listing, downloading, and uploading files on remote systems. This is a very user-friendly approach to file transfers. Many desktop applications are available and can be used to transfer data between the original Linode and the new Linode. These applications include [FileZilla](https://filezilla-project.org/) (free, cross-platform), [WinSCP](https://winscp.net/eng/index.php) (free, Windows-only), [Transmit](https://panic.com/transmit/) (paid, macOS-only), and [Forklift](https://binarynights.com/) (paid, macOS-only). See our [FileZilla guide](/cloud/guides/filezilla/) for more information. ### SCP (Secure Copy Protocol) -SCP is a common file transfer command line tool available on most macOS and Linux systems, including WSL on Windows 10. Review the [Download Files from Your Compute Instance > Download Files with SCP](/docs/guides/download-files-from-a-compute-instance/#download-files-with-scp) guide for more details. +SCP is a common file transfer command line tool available on most macOS and Linux systems, including WSL on Windows 10. Review the [Download Files from Your Compute Instance > Download Files with SCP](/cloud/guides/download-files-from-a-compute-instance/#download-files-with-scp) guide for more details. ## Copy any Databases Databases can be copied in much the same way as files. The major difference is that most databases first require a *database dump*, which writes all of the data stored within the database to a backup file. This database backup file can then be copied to the new system and used to restored the data. -- To create a dump of a MySQL (or MariaDB) database, use the `mysqldump` command. See [Use mysqldump to Back Up MySQL or MariaDB](/docs/guides/mysqldump-backups/) for instructions on backing up and restoring a database. **You can only use this tool if your database process is accessible and running.** +- To create a dump of a MySQL (or MariaDB) database, use the `mysqldump` command. See [Use mysqldump to Back Up MySQL or MariaDB](/cloud/guides/mysqldump-backups/) for instructions on backing up and restoring a database. **You can only use this tool if your database process is accessible and running.** -- If your MySQL database won't run for some reason, follow the instructions for creating [physical backups](/docs/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). +- If your MySQL database won't run for some reason, follow the instructions for creating [physical backups](/cloud/guides/create-physical-backups-of-your-mariadb-or-mysql-databases/). -- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/docs/guides/back-up-a-postgresql-database/) guide. +- If you use PostgreSQL, follow the [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) guide. ## Transfer IPv4 Addresses -After you've configuring the new Linode, copied over the data, and have performed any tests needed to ensure the system is working as expected, you are just about ready to start using the new system. To make the switch over quick and relatively seamless, you can retain the IPv4 addresses from your original Linode by transferring them to your new Linode. To do this, follow the instructions within the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#transferring-ip-addresses) +After you've configuring the new Linode, copied over the data, and have performed any tests needed to ensure the system is working as expected, you are just about ready to start using the new system. To make the switch over quick and relatively seamless, you can retain the IPv4 addresses from your original Linode by transferring them to your new Linode. To do this, follow the instructions within the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#transferring-ip-addresses) {{< note >}} -The Transfer IP functionality only works with IPv4 addresses and cannot transfer IPv6 addresses. If any of your systems, applications, or tools reference the IPv6 address of your original Linode, you will need to update those references with the new IPv6 address. Commonly, this means modifying the [AAAA DNS records](/docs/guides/dns-overview/#a-and-aaaa) on your domain(s). +The Transfer IP functionality only works with IPv4 addresses and cannot transfer IPv6 addresses. If any of your systems, applications, or tools reference the IPv6 address of your original Linode, you will need to update those references with the new IPv6 address. Commonly, this means modifying the [AAAA DNS records](/cloud/guides/dns-overview/#a-and-aaaa) on your domain(s). {{< /note >}} ## Start Using the New Linode diff --git a/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md b/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md index 50e26ff1be9..2a5dd14147d 100644 --- a/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md +++ b/docs/guides/security/upgrading/migrate-from-centos-8-to-centos-stream/index.md @@ -77,7 +77,7 @@ Alternatively, ISO images or RPM packages can be downloaded from [The CentOS Dow sudo dnf update -y sudo reboot -1. Ensure the Linode is running a recent version of CentOS 8. If it is still running CentOS 7, [upgrade to version 8](/docs/guides/how-to-upgrade-from-centos-7-to-centos-8/) first. +1. Ensure the Linode is running a recent version of CentOS 8. If it is still running CentOS 7, [upgrade to version 8](/cloud/guides/how-to-upgrade-from-centos-7-to-centos-8/) first. cat /etc/centos-release {{< output >}} diff --git a/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md b/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md index 35fdf83c26d..0144f9d0a80 100644 --- a/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md +++ b/docs/guides/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/index.md @@ -14,7 +14,7 @@ external_resources: - '[apache.org](http://httpd.apache.org/docs/2.4/upgrading.html)' --- -This guide explains the configuration changes needed to update a standard virtual host setup, such as the one presented [here](/docs/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server), from Apache 2.2 to Apache 2.4. These configuration updates are necessary, because a working Apache 2.2 virtual host setup will break silently when you upgrade to Apache 2.4. We'll also discuss changes the new version of Apache makes to the default virtual host and module configuration. +This guide explains the configuration changes needed to update a standard virtual host setup, such as the one presented [here](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server), from Apache 2.2 to Apache 2.4. These configuration updates are necessary, because a working Apache 2.2 virtual host setup will break silently when you upgrade to Apache 2.4. We'll also discuss changes the new version of Apache makes to the default virtual host and module configuration. ![Updating Virtual Host Settings from Apache 2.2 to Apache 2.4](updating_virtual_host_settings_tg.png "Updating Virtual Host Settings from Apache 2.2 to Apache 2.4") @@ -24,7 +24,7 @@ This article is not a comprehensive guide to updating from Apache 2.2 to 2.4. Fo ## Make a Backup -Make a [backup](/docs/products/storage/backups/) of your data before upgrading your Apache software. Upgrading can sometimes cause you to lose data, particularly if you had settings in an Apache configuration file that no longer apply in Apache 2.4. If you use Apache modules, this is especially likely. +Make a [backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) of your data before upgrading your Apache software. Upgrading can sometimes cause you to lose data, particularly if you had settings in an Apache configuration file that no longer apply in Apache 2.4. If you use Apache modules, this is especially likely. Even with the simplest Apache setup, you should back up your Apache settings, modules, and other data in case unforeseen issues arise. @@ -132,7 +132,7 @@ The [apache.org upgrade page](http://httpd.apache.org/docs/2.4/upgrading.html) i ## Errors From Non-Updated Settings -The following symptoms may indicate that you need to make the changes to your Apache 2.4 configuration that are described in this article. Note that other causes can also produce these symptoms, so if you didn't recently upgrade from Apache 2.2 to 2.4, you should pursue additional [troubleshooting](/docs/guides/troubleshooting-common-apache-issues/) avenues. +The following symptoms may indicate that you need to make the changes to your Apache 2.4 configuration that are described in this article. Note that other causes can also produce these symptoms, so if you didn't recently upgrade from Apache 2.2 to 2.4, you should pursue additional [troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/) avenues. **Symptom:** When you try to visit your website, you see the default **It works!** Apache web page. diff --git a/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md b/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md index 7f58f0fc43c..e492453301f 100644 --- a/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md +++ b/docs/guides/security/upgrading/upgrade-debian-to-the-newest-release/index.md @@ -25,18 +25,18 @@ While upstream maintainers try to ensure cross-compatibility and problem-free up - You will need root access to your Linode, or a user account with `sudo` privileges. -- **Back up any important data stored on your Linode!** If you subscribe to the Linode Backups service, we recommend taking a [manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading your system. If you use a different backup service or application, you should do a manual backup now. +- **Back up any important data stored on your Linode!** If you subscribe to the Linode Backups service, we recommend taking a [manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading your system. If you use a different backup service or application, you should do a manual backup now. {{< note respectIndent=false >}} -You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/docs/security/backups/) for more information. +You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/cloud/security/backups/) for more information. {{< /note >}} ## Prepare to Upgrade -1. Verify that you are booting with Debian's kernel using the *GRUB 2* [boot setting](/docs/products/compute/compute-instances/guides/manage-the-kernel/) in the Linode Cloud Manager. We recommend you use the distribution-supplied kernel unless you have a specific reason not to. +1. Verify that you are booting with Debian's kernel using the *GRUB 2* [boot setting](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) in the Linode Cloud Manager. We recommend you use the distribution-supplied kernel unless you have a specific reason not to. -2. Exit the SSH session if you're currently logged in to one and instead open a Lish session to your Linode. Lish will give you continuous access to your Linode whereas SSH could disconnect during the upgrade. Read more about Lish [here](/docs/products/compute/compute-instances/guides/lish/). +2. Exit the SSH session if you're currently logged in to one and instead open a Lish session to your Linode. Lish will give you continuous access to your Linode whereas SSH could disconnect during the upgrade. Read more about Lish [here](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 3. Install all available updates for your current Debian system: @@ -105,7 +105,7 @@ N or O : keep your currently-installed version D : show the differences between the versions {{< /output >}} - - If your system is running Fail2ban, the upgrade will end with the error shown below. This is a [known issue](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860397). See the [troubleshooting](/docs/guides/upgrade-debian-to-the-newest-release/#fail2ban) section of this page to fix before proceeding further. + - If your system is running Fail2ban, the upgrade will end with the error shown below. This is a [known issue](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860397). See the [troubleshooting](/cloud/guides/upgrade-debian-to-the-newest-release/#fail2ban) section of this page to fix before proceeding further. {{< output >}} Errors were encountered while processing: @@ -155,4 +155,4 @@ maxretry = 6 ### Upgrading Apache 2.2 to 2.4 -Upgrading from Debian 7 to 8 moves Apache from version 2.2 to 2.4. This version change can break existing websites if you're already running Apache and requires adjusting configuration files. See our [Upgrading Apache](/docs/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/) guide for more information. \ No newline at end of file +Upgrading from Debian 7 to 8 moves Apache from version 2.2 to 2.4. This version change can break existing websites if you're already running Apache and requires adjusting configuration files. See our [Upgrading Apache](/cloud/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/) guide for more information. \ No newline at end of file diff --git a/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md b/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md index da93aef052d..4cb064ed87d 100644 --- a/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md +++ b/docs/guides/security/upgrading/upgrade-to-debian-8-jessie/index.md @@ -22,7 +22,7 @@ Debian 8 (Jessie) is the most recent version of Debian, released in April 2015. Bear in mind that while package and distribution maintainers try to ensure cross-compatibility and problem-free upgrades, there is always the lingering possibility of something not working out as planned. This is one reason why backing up your data is so important. {{< note >}} -If you use the Apache web server, be aware that Debian 8 moves from Apache 2.2 to 2.4. This version change requires several adjustments to configuration files, and can break an existing website. Please follow our [Upgrading Apache](/docs/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/) guide before continuing. +If you use the Apache web server, be aware that Debian 8 moves from Apache 2.2 to 2.4. This version change requires several adjustments to configuration files, and can break an existing website. Please follow our [Upgrading Apache](/cloud/guides/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4/) guide before continuing. {{< /note >}} ## Preparing to Upgrade @@ -38,11 +38,11 @@ You should install all available updates for Debian 7 before upgrading to Debian ### Backing Up Your Linode -It's a good idea to [back up](/docs/products/storage/backups/) your Linode before performing a major upgrade. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Debian 8. If you use another backup service or application, we recommend that you make a manual backup now. You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/docs/security/backups/) for more information. +It's a good idea to [back up](https://techdocs.akamai.com/cloud-computing/docs/backup-service) your Linode before performing a major upgrade. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Debian 8. If you use another backup service or application, we recommend that you make a manual backup now. You may also want to back up your configuration files (usually located in `/etc/`) in case they have changed in later versions of the software you are using. See our [backup guides](/cloud/security/backups/) for more information. ### Checking Your Kernel -Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stopping Services @@ -117,7 +117,7 @@ Check your `/etc/apt/sources.list.d` for additional package repositories, and en D : show the differences between the versions -5. Reboot your system using the [Linode Manager](https://manager.linode.com) to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](/docs/products/compute/compute-instances/guides/lish/). +5. Reboot your system using the [Linode Manager](https://manager.linode.com) to make sure that there were no problems during the upgrade. While your system reboots, you can watch your Linode's console for errors using the AJAX terminal or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Your Linode is now running Debian 8! diff --git a/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md b/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md index 8142a694cd8..9833fa2f29b 100644 --- a/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md +++ b/docs/guides/security/upgrading/upgrade-to-ubuntu-16-04/index.md @@ -29,12 +29,12 @@ Distribution upgrades sometimes yield unpredictable results. If possible, use th - Transfer your data - Swap IP addresses -The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](/docs/products/compute/compute-instances/guides/lish/) or [Glish](/docs/products/compute/compute-instances/guides/glish/) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. +The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. **Important:** Ubuntu 16.04 ships with OpenSSH 7.2p2, which does not allow `ssh-dss` host authentication, or use of the SSH version 1 protocol. {{< /note >}} {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 >}} ## Prepare to Upgrade @@ -59,11 +59,11 @@ Update package lists and install all updates: ### Back Up Your Linode -It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Ubuntu 16.04 LTS. If you use another backup service or application, we recommend that you make a manual backup now. +It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the Linode Backup Service, we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Ubuntu 16.04 LTS. If you use another backup service or application, we recommend that you make a manual backup now. ### Check Your Kernel -Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Applying Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stop Services @@ -143,4 +143,4 @@ Your Linode is now running Ubuntu 16.04 LTS. ## Upgrading from Previous Ubuntu Releases -If your Linode is running a release of Ubuntu older than 14.04 LTS, use the upgrade guides in the [Upgrading](/docs/security/upgrading) section to upgrade to Ubuntu 14.04 LTS first. You may then upgrade your Linode to Ubuntu 16.04 LTS. +If your Linode is running a release of Ubuntu older than 14.04 LTS, use the upgrade guides in the [Upgrading](/cloud/security/upgrading) section to upgrade to Ubuntu 14.04 LTS first. You may then upgrade your Linode to Ubuntu 16.04 LTS. diff --git a/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md b/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md index 92e0c546f78..c72f00f5f7c 100644 --- a/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md +++ b/docs/guides/security/upgrading/upgrade-to-ubuntu-18-04/index.md @@ -21,9 +21,9 @@ image: upgrade-ubuntu-18-title.jpg Ubuntu 18.04 is a Long-Term Support (LTS) release that is supported by Canonical until April 2023. This guide shows how to upgrade your Linode from Ubuntu 16.04 (Xenial Xerus) or Ubuntu 17.10 (Artful Aardvark) to Ubuntu 18.04 (Bionic Beaver). {{< note type="alert" >}} -Inline distribution upgrades can yield unpredictable results. Before continuing, read through our [Upgrading to the Latest Distribution (Clean Install)](/docs/guides/manually-upgrading-to-latest-distribution-version/) guide to learn more about your upgrade options, including performing a clean install of the latest distribution version. +Inline distribution upgrades can yield unpredictable results. Before continuing, read through our [Upgrading to the Latest Distribution (Clean Install)](/cloud/guides/manually-upgrading-to-latest-distribution-version/) guide to learn more about your upgrade options, including performing a clean install of the latest distribution version. -The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](/docs/products/compute/compute-instances/guides/lish/) or [Glish](/docs/products/compute/compute-instances/guides/glish/) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. +The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. {{< /note >}} {{< note >}} @@ -32,7 +32,7 @@ If you are upgrading from Ubuntu 17.04 you must first upgrade to Ubuntu 17.10. ## Prepare to Upgrade to Ubuntu 18.04 -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. In order to prepare your Linode for upgrade, the following steps guide you to: @@ -54,11 +54,11 @@ Update package lists and install all updates: ### Back Up Your Linode -It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the [Linode Backup Service](/docs/products/storage/backups/), we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Ubuntu 18.04 LTS. If you use another backup service or application, we recommend that you make a manual backup before continuing. +It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the [Linode Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service), we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Ubuntu 18.04 LTS. If you use another backup service or application, we recommend that you make a manual backup before continuing. ### Check Your Kernel -Verify that your Linode is using the latest supported kernel. See [Apply Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Apply Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stop Services @@ -195,4 +195,4 @@ Once you have upgraded to Ubuntu 18.04 or later from an earlier version, you sho ## Upgrading from Previous Ubuntu Releases -If your Linode is running a release of Ubuntu older than 16.04 LTS, use the upgrade guides in the [Upgrading section](/docs/guides/security/upgrading) to upgrade to Ubuntu 16.04 LTS first. You may then upgrade your Linode to Ubuntu 18.04 LTS. +If your Linode is running a release of Ubuntu older than 16.04 LTS, use the upgrade guides in the [Upgrading section](/cloud/guides/security/upgrading) to upgrade to Ubuntu 16.04 LTS first. You may then upgrade your Linode to Ubuntu 18.04 LTS. diff --git a/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md b/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md index e8742186b9e..01b9d9f332e 100644 --- a/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md +++ b/docs/guides/security/upgrading/upgrade-to-ubuntu-20-04/index.md @@ -19,15 +19,15 @@ aliases: ['/security/upgrading/upgrade-to-ubuntu-20-04/'] Ubuntu 20.04 is a Long-Term Support (LTS) release that is supported by Canonical until April 2025. Use this guide to upgrade your Linode from Ubuntu 18.04 (Bionic Beaver) or Ubuntu 19.10 (Eoan Ermine) to Ubuntu 20.04 (Focal Fossa). {{< note type="alert" >}} -Inline distribution upgrades can yield unpredictable results. Before continuing, read through [Upgrading to the Latest Distribution (Clean Install)](/docs/guides/manually-upgrading-to-latest-distribution-version/) guide to learn more about your upgrade options. This guide also provides instructions to perform a clean install of the latest distribution version. +Inline distribution upgrades can yield unpredictable results. Before continuing, read through [Upgrading to the Latest Distribution (Clean Install)](/cloud/guides/manually-upgrading-to-latest-distribution-version/) guide to learn more about your upgrade options. This guide also provides instructions to perform a clean install of the latest distribution version. -The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](/docs/products/compute/compute-instances/guides/lish/) or [Glish](/docs/products/compute/compute-instances/guides/glish/) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. +The upgrade may be incomplete or your system may be corrupted if your internet connection is interrupted. Use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to perform this upgrade in a stable environment that does not rely on an active internet connection to your Linode. {{< /note >}} ## Prepare to Upgrade to Ubuntu 20.04 -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. In order to prepare your Linode for upgrade, the following steps guide you to: @@ -49,11 +49,11 @@ Update package lists and install all updates: ### Back Up Your Linode -It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the [Linode Backup Service](/docs/products/storage/backups/), we recommend that you [take a manual snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) before upgrading to Ubuntu 20.04 LTS. If you use another backup service or application, we recommend that you make a manual backup before continuing. +It's a good idea to back up your Linode before performing a major upgrade. That way, you can restore from backup if anything goes wrong during the upgrade process. If you subscribe to the [Linode Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service), we recommend that you [take a manual snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) before upgrading to Ubuntu 20.04 LTS. If you use another backup service or application, we recommend that you make a manual backup before continuing. ### Check Your Kernel -Verify that your Linode is using the latest supported kernel. See [Apply Kernel Updates](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#apply-kernel-updates) for more information. +Verify that your Linode is using the latest supported kernel. See [Apply Kernel Updates](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#apply-kernel-updates) for more information. ### Stop Services @@ -190,4 +190,4 @@ Once you have upgraded to Ubuntu 20.04 or later from an earlier version, you sho ## Upgrading from Previous Ubuntu Releases -If your Linode is running Ubuntu older than 18.04 LTS, use the upgrade guides in the [Upgrading section](/docs/guides/security/upgrading) to upgrade to Ubuntu 18.04 LTS. You may then upgrade your Linode to Ubuntu 20.04 LTS. +If your Linode is running Ubuntu older than 18.04 LTS, use the upgrade guides in the [Upgrading section](/cloud/guides/security/upgrading) to upgrade to Ubuntu 18.04 LTS. You may then upgrade your Linode to Ubuntu 20.04 LTS. diff --git a/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md b/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md index 6ab5360c604..d7ea820092f 100644 --- a/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md +++ b/docs/guides/security/vulnerabilities/emulate-syn-flood-attack-with-kali-linux/index.md @@ -70,12 +70,12 @@ At the command line level, Kali Linux is similar to Debian and other Linux distr ## 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. To deploy Kali Linux using the Linode Marketplace, consult the guide to [the Kali Linux Application](https://www.linode.com/marketplace/apps/kali-linux/kali-linux/). +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. To deploy Kali Linux using the Linode Marketplace, consult the guide to [the Kali Linux Application](https://www.linode.com/marketplace/apps/kali-linux/kali-linux/). -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 ares written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide. +The steps in this guide ares written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## How to Use Kali Linux to Launch a SYN Flood Attack diff --git a/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md b/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md index 73728b85687..0f101e0e373 100644 --- a/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md +++ b/docs/guides/security/vulnerabilities/hackersploit-red-team-series-note-shortguide/index.md @@ -13,4 +13,4 @@ show_on_rss_feed: false ## HackerSploit Red Team Series -This guide is part of the HackerSploit Red Team series of guides. To navigate to other guides in the series, visit the [series' parent page](/docs/guides/hackersploit-red-team-series/). +This guide is part of the HackerSploit Red Team series of guides. To navigate to other guides in the series, visit the [series' parent page](/cloud/guides/hackersploit-red-team-series/). diff --git a/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md b/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md index 958423ee9e9..be7baec1a07 100644 --- a/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md +++ b/docs/guides/security/vulnerabilities/hackersploit-red-team-series/index.md @@ -23,30 +23,30 @@ This series is split into two parts, with 13 guides in total. ### Part 1 -1. [Red Team Adversary Emulation With Caldera](/docs/guides/red-team-adversary-emulation-with-caldera/): This guide introduces you to Red Team operations takes you through the process of setting up and utilizing Caldera for adversary emulation. +1. [Red Team Adversary Emulation With Caldera](/cloud/guides/red-team-adversary-emulation-with-caldera/): This guide introduces you to Red Team operations takes you through the process of setting up and utilizing Caldera for adversary emulation. -1. [Red Team Reconnaissance Techniques](/docs/guides/red-team-reconnaissance-techniques/): This guide covers the process of how to perform both passive and active reconnaissance for Red Team operations. +1. [Red Team Reconnaissance Techniques](/cloud/guides/red-team-reconnaissance-techniques/): This guide covers the process of how to perform both passive and active reconnaissance for Red Team operations. -1. [Windows Red Team Exploitation Techniques](/docs/guides/windows-red-team-exploitation-techniques/): This guide covers the process of setting up PowerShell-Empire as a C2 server and how to generate a macro Excel document that can be used to gain an initial foothold on a target system. +1. [Windows Red Team Exploitation Techniques](/cloud/guides/windows-red-team-exploitation-techniques/): This guide covers the process of setting up PowerShell-Empire as a C2 server and how to generate a macro Excel document that can be used to gain an initial foothold on a target system. -1. [Linux Red Team Exploitation Techniques](/docs/guides/linux-red-team-exploitation-techniques/): This guide covers the process of identifying and exploiting vulnerabilities on a public facing Linux server. +1. [Linux Red Team Exploitation Techniques](/cloud/guides/linux-red-team-exploitation-techniques/): This guide covers the process of identifying and exploiting vulnerabilities on a public facing Linux server. -1. [Windows Red Team Persistence Techniques](/docs/guides/windows-red-team-persistence-techniques/): This guide covers the process of setting up and maintaining persistent access on Windows targets. +1. [Windows Red Team Persistence Techniques](/cloud/guides/windows-red-team-persistence-techniques/): This guide covers the process of setting up and maintaining persistent access on Windows targets. -1. [Windows Red Team Credential Access Techniques](/docs/guides/windows-red-team-credential-access-with-mimikatz/): This guide covers the process of extracting cleartext passwords and hashes from Windows system by leveraging tools like Mimikatz. +1. [Windows Red Team Credential Access Techniques](/cloud/guides/windows-red-team-credential-access-with-mimikatz/): This guide covers the process of extracting cleartext passwords and hashes from Windows system by leveraging tools like Mimikatz. ### Part 2 -1. [Windows Red Team Defense Evasion Techniques](/docs/guides/windows-red-team-defense-evasion-techniques/): This guide explains and demonstrates the process of evading AV detection on Windows systems. +1. [Windows Red Team Defense Evasion Techniques](/cloud/guides/windows-red-team-defense-evasion-techniques/): This guide explains and demonstrates the process of evading AV detection on Windows systems. -1. [Windows Red Team Privilege Escalation Techniques](/docs/guides/windows-red-team-privilege-escalation-techniques/): This guide covers various techniques that can be used to elevate your privileges on Windows systems. +1. [Windows Red Team Privilege Escalation Techniques](/cloud/guides/windows-red-team-privilege-escalation-techniques/): This guide covers various techniques that can be used to elevate your privileges on Windows systems. -1. [Linux Red Team Privilege Escalation Techniques](/docs/guides/linux-red-team-privilege-escalation-techniques/): This guide covers various techniques that can be used to elevate your privileges on Linux systems. +1. [Linux Red Team Privilege Escalation Techniques](/cloud/guides/linux-red-team-privilege-escalation-techniques/): This guide covers various techniques that can be used to elevate your privileges on Linux systems. -1. [Linux Red Team Persistence Techniques](/docs/guides/linux-red-team-persistence-techniques/): This guide covers the process of setting up and maintaining persistent access on Linux targets. +1. [Linux Red Team Persistence Techniques](/cloud/guides/linux-red-team-persistence-techniques/): This guide covers the process of setting up and maintaining persistent access on Linux targets. -1. [Linux Defense Evasion - Hiding Linux Processes](/docs/guides/linux-defense-evasion-hiding-linux-processes/): This guide covers the process of evading detection on Linux systems by hiding processes. +1. [Linux Defense Evasion - Hiding Linux Processes](/cloud/guides/linux-defense-evasion-hiding-linux-processes/): This guide covers the process of evading detection on Linux systems by hiding processes. -1. [Linux Red Team Defense Evasion - Rootkits](/docs/guides/linux-red-team-defense-evasion-rootkits/): This guide covers the process of evading detection on Linux systems by leveraging rootkits. +1. [Linux Red Team Defense Evasion - Rootkits](/cloud/guides/linux-red-team-defense-evasion-rootkits/): This guide covers the process of evading detection on Linux systems by leveraging rootkits. -1. [Windows Red Team Lateral Movement Techniques](/docs/guides/windows-red-team-lateral-movement-techniques/): This guide covers the process of performing lateral movement on Windows systems. \ No newline at end of file +1. [Windows Red Team Lateral Movement Techniques](/cloud/guides/windows-red-team-lateral-movement-techniques/): This guide covers the process of performing lateral movement on Windows systems. \ No newline at end of file diff --git a/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md b/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md index a56b072d825..e126cb9afc1 100644 --- a/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md +++ b/docs/guides/security/vulnerabilities/install-openvas-on-ubuntu-16-04/index.md @@ -31,12 +31,12 @@ OpenVAS is a powerful security tool that is capable of scanning remote hosts as ## 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 >}} ## Install OpenVAS @@ -70,7 +70,7 @@ The `openvas` repository and its packages are not officially supported by Ubuntu sudo openvas-nvt-sync {{< note respectIndent=false >}} -This feed is maintained by OpenVAS and is updated about once per week. To keep your NVT feed current, we recommend running this command regularly, or setting up a [cron job](/docs/guides/schedule-tasks-with-cron/) to automate the process. +This feed is maintained by OpenVAS and is updated about once per week. To keep your NVT feed current, we recommend running this command regularly, or setting up a [cron job](/cloud/guides/schedule-tasks-with-cron/) to automate the process. {{< /note >}} 5. Sync Security Content Automation Protocol (SCAP) and Computer Emergency Readiness Team (CERT) vulnerability data to a local database. The synchronization will take several minutes, and you can monitor its progress in the output: diff --git a/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md b/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md index b668a50958d..7f9b0bd976d 100644 --- a/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md +++ b/docs/guides/security/vulnerabilities/linux-red-team-persistence-techniques/index.md @@ -74,7 +74,7 @@ Note: Some persistence techniques will require “root” privileges in order to The first persistence technique we will be exploiting is the process of generating and using SSH key-based authentication as opposed to password-based authentication. This persistence technique will help maintain access to the target system if the user account passwords have been changed, as this is quite a common practice in companies that have password security policies in place. -Note: This technique requires Public Key Authentication to be enabled in the SSH configuration file, more information see [SSH add keys](/docs/guides/use-public-key-authentication-with-ssh/) +Note: This technique requires Public Key Authentication to be enabled in the SSH configuration file, more information see [SSH add keys](/cloud/guides/use-public-key-authentication-with-ssh/) In order to perform this technique, you need to have obtained initial access to the target system and you will require “root” privileges if you wish to modify the SSH configuration file. diff --git a/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md b/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md index 3427195aa67..69016b4956f 100644 --- a/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md +++ b/docs/guides/security/vulnerabilities/scanning-your-linode-for-malware/index.md @@ -13,7 +13,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/security/scanning-your-linode-for-malware/','/security/vulnerabilities/scanning-your-linode-for-malware/'] external_resources: - '[ClamAV](https://www.clamav.net/)' - - '[Recovering from a System Compromise](/docs/guides/recovering-from-a-system-compromise/)' + - '[Recovering from a System Compromise](/cloud/guides/recovering-from-a-system-compromise/)' tags: ["security"] --- @@ -27,9 +27,9 @@ This guide does not guarantee the removal of all possible compromises, only malw ## Before You Begin -1. The steps in this guide require root privileges. This guide shows you how to boot into the [Finnix](https://www.finnix.org/) Linux recovery distribution, which uses the root user by default. If you are adapting these steps to run in a different environment, be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +1. The steps in this guide require root privileges. This guide shows you how to boot into the [Finnix](https://www.finnix.org/) Linux recovery distribution, which uses the root user by default. If you are adapting these steps to run in a different environment, be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. -1. Boot your Linode into rescue mode. For more information about rescue mode, see the [Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) guide. +1. Boot your Linode into rescue mode. For more information about rescue mode, see the [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide. The typical difference between rescue mode and booting your Linode is that in rescue mode, your Linode starts up from a separate Linux Distribution called Finnix, which does not automatically run any services that may be compromised. Finnix also uses a virtual disk that is kept in memory. Changes to this virtual disk are lost if you reboot your Linode. @@ -47,7 +47,7 @@ This section shows you how to run a Linode provided script which performs the fo - Mounts your `/dev/sda` disk - Performs a system scan and quarantines any infected files -1. If you have not yet done so, boot your Linode into rescue mode. Follow the steps in the [Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) guide. +1. If you have not yet done so, boot your Linode into rescue mode. Follow the steps in the [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide. 1. From the Finnix rescue mode, run the automated script using the following command: @@ -65,7 +65,7 @@ This section shows you how to install ClamAV on your system, mount your Linode's ### Install ClamAV -1. If you have not yet done so, boot your Linode into rescue mode. Follow the steps in the [Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) guide. +1. If you have not yet done so, boot your Linode into rescue mode. Follow the steps in the [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) and [Connecting to a Linode Running in Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#connecting-to-a-compute-instance-running-in-rescue-mode) sections of the [Rescue and Rebuild](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) guide. 1. Update your packages: diff --git a/docs/guides/tools-reference/basics/basic-linux-commands/index.md b/docs/guides/tools-reference/basics/basic-linux-commands/index.md index ef774547719..a9bf58772c6 100644 --- a/docs/guides/tools-reference/basics/basic-linux-commands/index.md +++ b/docs/guides/tools-reference/basics/basic-linux-commands/index.md @@ -22,7 +22,7 @@ The person starting the Linux command-line session, is called the current user. These Linux commands in this guide are common to most releases. Some of them have been upgraded, augmented, or modified to suit changing needs, times, or different syntax. -Like other Unix operating systems, Linux has the ability to chain commands together into shell scripts, which in turn, have rudimentary to intermediate programmability. [Shell scripting](/docs/guides/intro-bash-shell-scripting/), or the use of commands arranged to execute a series of Linux command line apps, is common. Variables can be passed, and jobs can also be programmed to execute a script at certain times. +Like other Unix operating systems, Linux has the ability to chain commands together into shell scripts, which in turn, have rudimentary to intermediate programmability. [Shell scripting](/cloud/guides/intro-bash-shell-scripting/), or the use of commands arranged to execute a series of Linux command line apps, is common. Variables can be passed, and jobs can also be programmed to execute a script at certain times. This cheat sheet contains the most commonly-used Linux commands for remote servers, like a Linode. The GNU command-line apps are re-writes of Unix, BSD, Solaris, and other operating systems versions. These are updated, or even re-written to adapt to newer host technologies and infrastructure. Technologies like Bluetooth, Wireless Ethernet, USB, the PCI bus were only dreams when many of the early versions of these commands were written. Although different versions of these commands exist, by tradition, each Linux version has *man pages* which are authoritative for the version of the command found on the specific Linux distribution under consideration. @@ -130,7 +130,7 @@ For example, to change a user's home directory, use the following command: sudo usermod -d /home/example-user-new-home example-user -Consult our [An Overview of the usermod Command and How It's Used](/docs/guides/what-is-usermod-and-how-to-use-it/) to learn more. +Consult our [An Overview of the usermod Command and How It's Used](/cloud/guides/what-is-usermod-and-how-to-use-it/) to learn more. ## Disk and Media Management Commands @@ -436,7 +436,7 @@ The `mv` command moves a file to a different directory: mv [options] -To learn more about the `mv` command see our guide [How to Navigate the Linux Terminal and File System](/docs/guides/linux-navigation-commands/). +To learn more about the `mv` command see our guide [How to Navigate the Linux Terminal and File System](/cloud/guides/linux-navigation-commands/). ### Change File Permissions @@ -444,7 +444,7 @@ The `chmod` command changes the file permissions and executable and symbolic lin chmod [executable or symbolic file option] [permissions mask] -You can use both symbolic and octal notation with the `chmod` command. To learn more about the `chmod` command see our guide [Modify File Permissions with chmod](/docs/guides/modify-file-permissions-with-chmod/) +You can use both symbolic and octal notation with the `chmod` command. To learn more about the `chmod` command see our guide [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod/) ### Delete a File @@ -538,7 +538,7 @@ tcp6 0 0 :::22 :::* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* 390/dhclient {{}} -The `netstat` command has many powerful options to view information about different areas of your network. For a deeper dive, view our [Inspecting Network Information with netstat](/docs/guides/inspecting-network-information-with-netstat/). +The `netstat` command has many powerful options to view information about different areas of your network. For a deeper dive, view our [Inspecting Network Information with netstat](/cloud/guides/inspecting-network-information-with-netstat/). {{< note >}} Some Linux distributions use the `ss` command, a direct replacement for `netstat`. @@ -560,4 +560,4 @@ The `ping` command uses ICMP messaging to determine if a host is reachable. If a ## Conclusion -These basic Linux commands work in any shell on any Linode Linux edition, no matter the distribution family. To reference more in-depth information about common Linux commands, browse our [documentation library](/docs/). +These basic Linux commands work in any shell on any Linode Linux edition, no matter the distribution family. To reference more in-depth information about common Linux commands, browse our [documentation library](/cloud/). diff --git a/docs/guides/tools-reference/basics/check-and-clean-linux-disk-space/index.md b/docs/guides/tools-reference/basics/check-and-clean-linux-disk-space/index.md index 8636dd21fda..0accdac6811 100644 --- a/docs/guides/tools-reference/basics/check-and-clean-linux-disk-space/index.md +++ b/docs/guides/tools-reference/basics/check-and-clean-linux-disk-space/index.md @@ -173,4 +173,4 @@ Before removing packages, ensure that they are not required by the system. Usual ## Next Steps -Still looking for more disk space? You may want to think about getting additional space for your Linux system. You can follow our [Resizing a Linode](/docs/products/compute/compute-instances/guides/resize/) guide to learn how to increase your Linode's plan size. +Still looking for more disk space? You may want to think about getting additional space for your Linux system. You can follow our [Resizing a Linode](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) guide to learn how to increase your Linode's plan size. diff --git a/docs/guides/tools-reference/basics/file-system-quotas/index.md b/docs/guides/tools-reference/basics/file-system-quotas/index.md index 9fceeb28a14..d23a1ee98c2 100644 --- a/docs/guides/tools-reference/basics/file-system-quotas/index.md +++ b/docs/guides/tools-reference/basics/file-system-quotas/index.md @@ -19,16 +19,16 @@ The quota subsystem allows system administrator to set limits on the space used ## 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 >}} ## Install the Quota Tools diff --git a/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md b/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md index 2d714565483..efdc49c3ce7 100644 --- a/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md +++ b/docs/guides/tools-reference/basics/how-to-add-and-remove-sudo-access-in-ubuntu/index.md @@ -18,14 +18,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. This guide assumes you are comfortable using the *command-line interface* (CLI) or have a graphical desktop environment to perform the tasks. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Adding User Rights Through the sudoers File diff --git a/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md b/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md index 7173d2ae20a..5d8f6bb0caf 100644 --- a/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md +++ b/docs/guides/tools-reference/basics/how-to-copy-files-and-directories-in-linux/index.md @@ -25,12 +25,12 @@ Users must have `sudo` privileges to copy protected files. Otherwise, `sudo` is ## 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 the cp Command to Copy Files and Directories in Linux diff --git a/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md b/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md index c25f02d567e..eee9190004f 100644 --- a/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md +++ b/docs/guides/tools-reference/basics/how-to-increase-swap-space-in-ubuntu/index.md @@ -51,12 +51,12 @@ Overall, it is usually better to treat swap space as a safety mechanism 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. +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 Increase Swap Space in Ubuntu diff --git a/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md b/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md index b16e3023c53..1eae029b9c1 100644 --- a/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md +++ b/docs/guides/tools-reference/basics/how-to-set-linux-environment-variables/index.md @@ -15,12 +15,12 @@ Your Linux shell has access to an environment that stores configuration values 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 is written for a non-root 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 Are Environment Variables? diff --git a/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md b/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md index 7aa23aa6811..8c7d4d5a193 100644 --- a/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md +++ b/docs/guides/tools-reference/basics/introduction-to-linux-concepts/index.md @@ -10,9 +10,9 @@ keywords: ["Linux", "Unix-Like systems", "history"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/tools-reference/basics/introduction-to-linux-concepts/','/tools-reference/introduction-to-linux-concepts/','/using-linux/linux-concepts/'] external_resources: - - '[Using the Terminal](/docs/guides/using-the-terminal/)' - - '[LAMP Guides](/docs/lamp-guides/)' - - '[Package Management](/docs/guides/linux-package-management-overview/)' + - '[Using the Terminal](/cloud/guides/using-the-terminal/)' + - '[LAMP Guides](/cloud/lamp-guides/)' + - '[Package Management](/cloud/guides/linux-package-management-overview/)' tags: ["linux"] --- @@ -64,7 +64,7 @@ Before you install Linux, decide which distribution to install. Linux comes in s Here at Linode, you install Linux with the [Linode Manager](https://cloud.linode.com/) dashboard. It takes just a few clicks to install Linux with this dashboard. If you don't have a particular Linux distribution in mind, install the latest release of **Ubuntu**. Ubuntu is good for Linux beginners because it is well-supported and doesn't change often. -After you know which distribution you want to install, follow the instructions for installing Linux in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) article. After your instance has been created, continue with the instructions below. +After you know which distribution you want to install, follow the instructions for installing Linux in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) article. After your instance has been created, continue with the instructions below. ### Connecting to Your Linode @@ -78,7 +78,7 @@ In this guide, we'll mostly be using the terms *terminal*, *shell*, and *SSH* to - **SSH**: A protocol that lets you send shell commands to your Linode securely over the Internet. {{< /note >}} -To connect to your Linode, follow the next section of the **Getting Started** article, [Connecting to Your Linode](/docs/products/compute/compute-instances/get-started/#connect-to-the-instance). Follow along with the written instructions or watch the videos, or both. It will help you install a terminal emulator and use it to establish an SSH connection to your Linode. +To connect to your Linode, follow the next section of the **Getting Started** article, [Connecting to Your Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances#connect-to-the-instance). Follow along with the written instructions or watch the videos, or both. It will help you install a terminal emulator and use it to establish an SSH connection to your Linode. ## So You're Staring at a Shell Prompt @@ -88,12 +88,12 @@ After you connect to your Linode, you should be looking at a shell prompt that l What does this bit of text mean? The entire thing is the *shell prompt*. It's your terminal's way of telling you that it's ready for you to enter the next command. The different parts of the shell prompt provide information: -- **root**: This is your username. To learn more about users, jump down to the [Users and Permissions](/docs/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux) section. +- **root**: This is your username. To learn more about users, jump down to the [Users and Permissions](/cloud/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux) section. - **localhost**: This is your Linode's hostname. A *hostname* is your Linode's name for itself. - **\~**: After the colon, the SSH session shows the name of the directory you're in. When you first log in, you're in your user's *home* directory. The tilde (**\~**) is a shortcut for the home directory. If the directory was spelled out, it would be `/root`. For users other than the root user, home directories are in `/home/user1`, where **user1** is the name of the user. - **\#** - The **hash** or **pound** (**\#**) punctuation mark indicates where the shell prompt ends. When you type a command, your text begins after this point. For users other than the root user, the **dollar sign** (**\$**) indicates the same thing. -You can type any valid Linux shell command at the blinking cursor after the shell prompt. We'll go over a few practical commands in the rest of this article, but to get a really good in-depth introduction to the command-line interface, you should read the [Using the Terminal](/docs/guides/using-the-terminal/) article as well. +You can type any valid Linux shell command at the blinking cursor after the shell prompt. We'll go over a few practical commands in the rest of this article, but to get a really good in-depth introduction to the command-line interface, you should read the [Using the Terminal](/cloud/guides/using-the-terminal/) article as well. {{< note >}} These command line tips will make your Linux forays much more effective: @@ -255,11 +255,11 @@ lrwxrwxrwx 1 root root 16 Apr 30 2012 libfuse.so.2 -> libfuse.so.2.8.6 ### Learn More About Navigating Directories -Now you know how to use the `pwd` command to show you where you are, the `cd` command to move to a new directory, and the `ls` command to show you the contents of a directory. These are the basic tools you need to navigate through your Linode's files and directories. To learn more about navigating directories, read the linked section of the [Using the Terminal](/docs/guides/using-the-terminal/) guide. +Now you know how to use the `pwd` command to show you where you are, the `cd` command to move to a new directory, and the `ls` command to show you the contents of a directory. These are the basic tools you need to navigate through your Linode's files and directories. To learn more about navigating directories, read the linked section of the [Using the Terminal](/cloud/guides/using-the-terminal/) guide. ### Upload Files to Your Linode -One of the easiest ways to upload your own files to your Linode is with a Secure FTP (**SFTP**) program. See [Migrate from Shared Hosting to Linode](/docs/guides/migrate-from-shared-hosting-to-linode/) for a walkthrough on how to upload your own files using SFTP. +One of the easiest ways to upload your own files to your Linode is with a Secure FTP (**SFTP**) program. See [Migrate from Shared Hosting to Linode](/cloud/guides/migrate-from-shared-hosting-to-linode/) for a walkthrough on how to upload your own files using SFTP. ## Users and Permissions in Linux @@ -273,7 +273,7 @@ You can set users and permissions for each file directory on your Linode. Three categories comprise the file access system in Linux: -- **Users**: Unique logins for your Linode. A user account is typically assigned to either a person or an application that needs to access files on your system. You can have any number of users on your Linode. To learn how to add a user, see the [Adding a New User](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) section of the **Securing Your Server** guide. +- **Users**: Unique logins for your Linode. A user account is typically assigned to either a person or an application that needs to access files on your system. You can have any number of users on your Linode. To learn how to add a user, see the [Adding a New User](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) section of the **Securing Your Server** guide. - **Groups**: A collection of one or more users. Groups are a useful way to grant similar access privileges to multiple users, without having to set them individually for each user. When a user account is created, it is assigned a default group with the same name as the user name. Each user can belong to any number of groups. Users that are a part of a group inherit the permissions granted to the group. - **Everyone**: is the category for everyone else. If someone accesses files on your Linode without being logged in as a specific user, they fall into the *everyone* category. *Everyone* is sometimes known as *world*, because it includes everyone in the whole world. @@ -308,7 +308,7 @@ The user permissions are listed first and the group permissions are listed secon - **group1** and the user accounts inside the group has read and execute permissions, but not write permissions, **r-x**. Members of the **group1** group can view the contents of the `my_directory` directory, run files in it, but not change them. - Everyone can read and execute the files in the `var` directory, but not change them, because the permissions for everyone are **r-x**. -To learn about users and groups in more detail, read the [Linux Users and Groups](/docs/guides/linux-users-and-groups/) article. +To learn about users and groups in more detail, read the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) article. ## Software @@ -318,7 +318,7 @@ This section shows you how to install, run, update, and uninstall software from Like most things in Linux, installing software is accomplished by typing and executing a specific text command. The most popular Linux distributions come with *package managers* that make it relatively easy to install and uninstall software on your Linode. Debian and Ubuntu use the Advanced Packaging Tool (**APT**) package manager, and Fedora and CentOS use the Yellowdog Updater, Modified (**yum**) package manager. -Our **Quick Start Guides** series contain basic instructions for installing and configuring many common types of Linux software. The [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide shows you how to install software to run a website, while [Running a Mail Server](/docs/guides/running-a-mail-server/) is for email servers. +Our **Quick Start Guides** series contain basic instructions for installing and configuring many common types of Linux software. The [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide shows you how to install software to run a website, while [Running a Mail Server](/cloud/guides/running-a-mail-server/) is for email servers. #### Install with APT @@ -356,7 +356,7 @@ Sometimes you want to run a program on an as-needed basis. For example, you migh 1. Use the `cd` command to move into the directory where the script is located. -1. Run `ls -l directory` to check that your user account has [execute permissions](/docs/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux) for the script file in the directory. If you need to modify the permissions, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#chmod-command) guide. +1. Run `ls -l directory` to check that your user account has [execute permissions](/cloud/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux) for the script file in the directory. If you need to modify the permissions, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#chmod-command) guide. 1. Run the script with the following syntax: @@ -364,7 +364,7 @@ Sometimes you want to run a program on an as-needed basis. For example, you migh **Scheduled:** -Sometimes you want to run a program at regular intervals, as in the case of a daily backup script. The best way to do this is with the *cron* tool. Read the [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) article to learn more. Scripts that you run this way also have to be [executable](/docs/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux). +Sometimes you want to run a program at regular intervals, as in the case of a daily backup script. The best way to do this is with the *cron* tool. Read the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) article to learn more. Scripts that you run this way also have to be [executable](/cloud/guides/introduction-to-linux-concepts/#users-and-permissions-in-linux). ### Updating Software @@ -379,7 +379,7 @@ Update a Fedora or CentOS system: yum update {{< note type="alert" >}} -Updating your software is good for your system security. In most cases updates will go smoothly, but it's possible that some updates may break something on your server. It's always wise to make a [backup](/docs/products/storage/backups/) of your system before updating it. +Updating your software is good for your system security. In most cases updates will go smoothly, but it's possible that some updates may break something on your server. It's always wise to make a [backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) of your system before updating it. {{< /note >}} ### Uninstalling Software @@ -398,7 +398,7 @@ Here's the yum version for Fedora and CentOS: ## Security -When you run a Linux system, you are in charge of its security. The Internet is full of people who want to use your Linode's computing power for their own goals. If you neglect to change default passwords, install out-of-date software, or leave other security holes available for hackers to exploit, it won't take long for your system to get hacked. Follow the steps in the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to harden your server's security. +When you run a Linux system, you are in charge of its security. The Internet is full of people who want to use your Linode's computing power for their own goals. If you neglect to change default passwords, install out-of-date software, or leave other security holes available for hackers to exploit, it won't take long for your system to get hacked. Follow the steps in the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to harden your server's security. ## Distributions @@ -412,6 +412,6 @@ Some distributions are designed to be as simple and minimalistic as possible, wh - **Organizational Structure**: While it might not affect the performance of the distribution, one of the distinguishing factors between distributions is the organizational structure of the development team. Some distributions, like Debian, Gentoo, Arch, and Slackware are developed by independent communities of developers, while other distributions like openSUSE, Fedora, and Ubuntu are developed by communities sponsored by various corporations (e.g. Novell, RedHat, and Canonical for the examples above). Other distributions, such as CentOS, are derived by a community from commercially-produced distributions. -- **Common Tool Sets**: Different distributions make use of different tools for common tasks like [package management](/docs/guides/linux-package-management-overview/) or system configuration. As we discussed above, Debian and Ubuntu use APT to manage `.deb` packages, CentOS and Fedora use yum to manage `.rpm` packages, and openSUSE also uses `.rpm` packages but manages them with a tool called **yast**. In many cases your choice of distribution will come down to the one that provides the tools you need and are most comfortable with. +- **Common Tool Sets**: Different distributions make use of different tools for common tasks like [package management](/cloud/guides/linux-package-management-overview/) or system configuration. As we discussed above, Debian and Ubuntu use APT to manage `.deb` packages, CentOS and Fedora use yum to manage `.rpm` packages, and openSUSE also uses `.rpm` packages but manages them with a tool called **yast**. In many cases your choice of distribution will come down to the one that provides the tools you need and are most comfortable with. Different distributions of Linux are right for different situations. You should experiment until you find the best fit for you. Given the similarities between different distributions, don't be afraid switch to a new one that will serve you better. If you're familiar with the concepts in this article, you're well on your way to administrating your system like a pro with any distribution of Linux. diff --git a/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md b/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md index e289a98f32d..b3bfb22d03e 100644 --- a/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md +++ b/docs/guides/tools-reference/basics/linux-remove-symbolic-link/index.md @@ -16,7 +16,7 @@ external_resources: Symbolic links (also known as *symlinks*) in Linux are special files that reference other files, directories, devices, or pipes. In other operating systems, symlinks may be called "shortcuts". Symlinks can be used to control access to files. For example, you can build links in a user’s home directory that accesses a more public file for reading and writing. Group permissions perform this function as well, but with a higher administrative maintenance load. Symlinks also bring access to a file deeply nested within a directory tree. Thus, users do not have to walk the file directory tree to access the file. -Learn how to create symlinks in our guide [How to Create Linux Symlinks](/docs/guides/linux-symlinks/). +Learn how to create symlinks in our guide [How to Create Linux Symlinks](/cloud/guides/linux-symlinks/). ## What is a Symlink? diff --git a/docs/guides/tools-reference/basics/linux-symlinks/index.md b/docs/guides/tools-reference/basics/linux-symlinks/index.md index f19eef94db1..c5f5b0a554b 100644 --- a/docs/guides/tools-reference/basics/linux-symlinks/index.md +++ b/docs/guides/tools-reference/basics/linux-symlinks/index.md @@ -27,7 +27,7 @@ A *symlink* is a type of special file whose "data" is a path to the name of a fi - directory - pipe - via `mkfifo` - special device -- symlink - see [Chains of Soft Links](/docs/guides/linux-symlinks/#chains-of-soft-links) below +- symlink - see [Chains of Soft Links](/cloud/guides/linux-symlinks/#chains-of-soft-links) below Also known as a "soft link" in Linux, the term "shortcut" describes symlinks in other operating systems. @@ -134,7 +134,7 @@ Almost all file-based actions on a symlink act on or affect the target file, but The exceptions to the above-described rule are the Linux commands `unlink`, `rm`, `rmdir`, and their associated system calls. These commands either fail or remove the symlink itself instead of the target file or directory. These exceptions prevent the inadvertent removal of the target. -See more information about removing symlinks in our [Remove Symbolic Links](/docs/guides/linux-remove-symbolic-link/). +See more information about removing symlinks in our [Remove Symbolic Links](/cloud/guides/linux-remove-symbolic-link/). ## Finding Dangling Symlinks diff --git a/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md b/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md index b3eb2ea1a2c..78b156f13bf 100644 --- a/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md +++ b/docs/guides/tools-reference/basics/linux-system-administration-basics/index.md @@ -35,11 +35,11 @@ Commonly, the Linux administration role typically involves: ## Basic Configuration -These tips cover some of the basic steps and issues encountered during the beginning of system configuration. We provide a general [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) for your convenience if you're new to Linode and basic Linux system administration. Additionally, you may find our [Introduction to Linux Concepts guide](/docs/guides/introduction-to-linux-concepts/) useful. +These tips cover some of the basic steps and issues encountered during the beginning of system configuration. We provide a general [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) for your convenience if you're new to Linode and basic Linux system administration. Additionally, you may find our [Introduction to Linux Concepts guide](/cloud/guides/introduction-to-linux-concepts/) useful. ### Set the Hostname -Please follow our instructions for [setting your hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). You can use the following commands to make sure it is set properly: +Please follow our instructions for [setting your hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). You can use the following commands to make sure it is set properly: hostname hostname -f @@ -92,7 +92,7 @@ American Eastern Time (including Daylight Savings Time): ### Configure the /etc/hosts File -The `/etc/hosts` file provides a list of IP addresses with corresponding hostnames. This allows you to specify hostnames for an IP address in one place on the local machine, and then have multiple applications connect to external resources via their hostnames. The system of host files precedes [DNS](/docs/guides/dns-overview/), and hosts files are *always* checked before DNS is queried. As a result, `/etc/hosts` can be useful for maintaining small "internal" networks, for development purposes, and for managing clusters. +The `/etc/hosts` file provides a list of IP addresses with corresponding hostnames. This allows you to specify hostnames for an IP address in one place on the local machine, and then have multiple applications connect to external resources via their hostnames. The system of host files precedes [DNS](/cloud/guides/dns-overview/), and hosts files are *always* checked before DNS is queried. As a result, `/etc/hosts` can be useful for maintaining small "internal" networks, for development purposes, and for managing clusters. Some applications require that the machine properly identify itself in the `/etc/hosts` file. As a result, we recommend configuring the `/etc/hosts` file shortly after deployment. Here is an example file: @@ -117,7 +117,7 @@ The second entry tells the system to look to `192.168.1.1` for the domain `stick ## Network Diagnostics -In this section, we'll review some basic Linux commands that will help you assess and diagnose network problems. If you suspect connectivity issues, adding the output from the relevant commands to your [support ticket](/docs/products/platform/get-started/guides/support/) can help our staff diagnose your issue. This is particularly helpful in cases where networking issues are intermittent. +In this section, we'll review some basic Linux commands that will help you assess and diagnose network problems. If you suspect connectivity issues, adding the output from the relevant commands to your [support ticket](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) can help our staff diagnose your issue. This is particularly helpful in cases where networking issues are intermittent. ### The ping Command @@ -170,7 +170,7 @@ Here is an example of output from a `traceroute` command: Often the hostnames and IP addresses on either side of a failed jump are useful in determining who operates the machine where the routing error occurs. Failed jumps are designated by lines with three asterisks (`* * *`). -Adding `traceroute` output to [Linode support](/docs/products/platform/get-started/guides/support/) tickets is sometimes useful when trying to diagnose network issues. You may also want to forward `traceroute` information to your Internet Service Provider (ISP) if you suspect that the connectivity issue is with your ISP's network. Recording `traceroute` information is particularly useful if you are experiencing an intermittent issue. +Adding `traceroute` output to [Linode support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) tickets is sometimes useful when trying to diagnose network issues. You may also want to forward `traceroute` information to your Internet Service Provider (ISP) if you suspect that the connectivity issue is with your ISP's network. Recording `traceroute` information is particularly useful if you are experiencing an intermittent issue. ### The mtr Command @@ -193,13 +193,13 @@ Like the `ping` command, `mtr` tracks the speed of the connection in real time u mtr --report -Be aware that `mtr` will pause for a few moments while generating output. For more information regarding `mtr` consider our [diagnosing network issues with mtr](/docs/guides/diagnosing-network-issues-with-mtr/) guide. +Be aware that `mtr` will pause for a few moments while generating output. For more information regarding `mtr` consider our [diagnosing network issues with mtr](/cloud/guides/diagnosing-network-issues-with-mtr/) guide. ## System Diagnostics If you're having an issue with your Linode that is neither related to [networking](#network-diagnostics) nor another application issue, it may help to rule out "hardware" and operating system level issues. Use the following tools to better diagnose and resolve these. -If you determine that you have a problem with memory usage, refer to our guide on [resolving memory usage issues](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/). Use the following tools and approaches to determine the specific cause of your troubles. +If you determine that you have a problem with memory usage, refer to our guide on [resolving memory usage issues](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances). Use the following tools and approaches to determine the specific cause of your troubles. ### Check Current Memory Usage @@ -255,7 +255,7 @@ The memory and swap columns provide the same kind of information provided by the If this number is consistently and considerably higher than 0, you might consider taking measures to address your IO usage. However, if the `vmstat` output resembles the above, you can be sure in the knowledge that you're not experiencing an IO-related issues. -If you are experiencing an intermittent issue, you will need to run `vmstat` *when* you experience the issue in order to properly diagnose or rule out an I/O issue. `vmstat` output can sometimes help [support](/docs/products/platform/get-started/guides/support/) diagnose problems. +If you are experiencing an intermittent issue, you will need to run `vmstat` *when* you experience the issue in order to properly diagnose or rule out an I/O issue. `vmstat` output can sometimes help [support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) diagnose problems. ### Monitor Processes, Memory, and CPU Usage with htop @@ -280,18 +280,18 @@ You can quit at any time by pressing the `F10` or `Q` keys. There are a couple o Web developers and editors often use the FTP protocol to transfer and manage files on a remote system. FTP, however, is very insecure and inefficient for managing the files on a system when you have SSH access. -If you're new to Linux systems administration, consider our "[Tools & Reference](/docs/tools-reference/)" section and articles including: [installing and using WinSCP](/docs/guides/transfer-files-with-winscp-on-windows/), [using rsync to synchronize files](/docs/guides/introduction-to-rsync/) and [using SSH and the terminal](/docs/guides/using-the-terminal/). +If you're new to Linux systems administration, consider our "[Tools & Reference](/cloud/tools-reference/)" section and articles including: [installing and using WinSCP](/cloud/guides/transfer-files-with-winscp-on-windows/), [using rsync to synchronize files](/cloud/guides/introduction-to-rsync/) and [using SSH and the terminal](/cloud/guides/using-the-terminal/). {{< note type="alert" >}} -If you are giving other users access to upload files to your server, consider the [security implications](/docs/products/compute/compute-instances/guides/set-up-and-secure/) of all additional access that you grant to third parties. +If you are giving other users access to upload files to your server, consider the [security implications](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) of all additional access that you grant to third parties. {{< /note >}} ### Upload Files to a Remote Server -If you're used to using an FTP client, OpenSSH (which is included and active with all of the Linode distribution images) allows you to use an FTP-like interface over the SSH protocol. Known as "SFTP," many clients support this protocol, including [WinSCP](/docs/guides/transfer-files-with-winscp-on-windows/) for Windows, [Cyberduck](/docs/guides/transfer-files-with-cyberduck-on-mac-os-x/) for Mac OS X, and [Filezilla](/docs/guides/filezilla/) for Linux, OS X, and Windows desktops. +If you're used to using an FTP client, OpenSSH (which is included and active with all of the Linode distribution images) allows you to use an FTP-like interface over the SSH protocol. Known as "SFTP," many clients support this protocol, including [WinSCP](/cloud/guides/transfer-files-with-winscp-on-windows/) for Windows, [Cyberduck](/cloud/guides/transfer-files-with-cyberduck-on-mac-os-x/) for Mac OS X, and [Filezilla](/cloud/guides/filezilla/) for Linux, OS X, and Windows desktops. -If you are accustomed to FTP, SFTP will be very familiar to you. By default, whatever access a user has to a file system at the command line, that user will also have over SFTP. Consider the implications of [file permissions](/docs/guides/linux-users-and-groups/) when configuring user access. +If you are accustomed to FTP, SFTP will be very familiar to you. By default, whatever access a user has to a file system at the command line, that user will also have over SFTP. Consider the implications of [file permissions](/cloud/guides/linux-users-and-groups/) when configuring user access. -You can also use Unix utilities including `scp` and [rsync](/docs/guides/introduction-to-rsync/) to securely transfer files to your Linode. On a local machine, a command to copy `team-info.tar.gz` would look like: +You can also use Unix utilities including `scp` and [rsync](/cloud/guides/introduction-to-rsync/) to securely transfer files to your Linode. On a local machine, a command to copy `team-info.tar.gz` would look like: scp team-info.tar.gz username@hostname.example.com:/home/username/backups/ @@ -305,7 +305,7 @@ The syntax of `scp` follows the form `scp [source] [destination]`. You can copy ### Protect Files on a Remote Server -Because Linode servers are network accessible and often have a number of distinct users, maintaining the security of files is often an important concern. We recommend you familiarize yourself with our [basic security guide](/docs/security/basics). Our guide on [access control with user accounts and permissions](/docs/guides/linux-users-and-groups/) may provide additional insight. +Because Linode servers are network accessible and often have a number of distinct users, maintaining the security of files is often an important concern. We recommend you familiarize yourself with our [basic security guide](/cloud/security/basics). Our guide on [access control with user accounts and permissions](/cloud/guides/linux-users-and-groups/) may provide additional insight. We suggest the following best practices for maintaining security: @@ -334,7 +334,7 @@ Note the following features of the link command: ### Manage Files on a Linux System -If you're new to using Linux and manipulating files on the terminal interface we encourage you to consider our guide on [using the terminal](/docs/guides/using-the-terminal/). This section provides a list of basic commands to manage the contents of your filesystem. +If you're new to using Linux and manipulating files on the terminal interface we encourage you to consider our guide on [using the terminal](/cloud/guides/using-the-terminal/). This section provides a list of basic commands to manage the contents of your filesystem. To **copy** files: @@ -356,11 +356,11 @@ To **delete** a file: This will delete the `scratch.txt` file from the current directory. -For more information about file system navigation and manipulation, please consider our documentation of [file system navigation](/docs/guides/using-the-terminal/#file-system-navigation). +For more information about file system navigation and manipulation, please consider our documentation of [file system navigation](/cloud/guides/using-the-terminal/#file-system-navigation). ## Package Management -Most Linux systems use package management tools to facilitate the installation and maintenance of all software on your system. For more in-depth coverage of this topic, please reference our [package management](/docs/guides/linux-package-management-overview/) guide. +Most Linux systems use package management tools to facilitate the installation and maintenance of all software on your system. For more in-depth coverage of this topic, please reference our [package management](/cloud/guides/linux-package-management-overview/) guide. While these tools provide a number of powerful features, it is easy to look past the benefits of package management. If you install software manually without package management tools, it becomes difficult to keep your system up to date and to manage dependencies. For these reasons, we recommend installing all software through package management tools unless other means are absolutely necessary. The following tips outline a couple of basic package management tasks. @@ -562,7 +562,7 @@ You can use `grep` to filter the results of another command that sends output to ls /home/username/data | grep "1257" -In this example, we assume that the `/home/username/data` directory contains a large number of files that have a UNIX time stamp in their file names. The above command will filter the output to only display those tiles that have the four digits "1257" in their file names. In these cases, `grep` only filters the output of `ls` and does not look into file contents. For more information regarding `grep`, refer to our full documentation of the [grep command](/docs/guides/how-to-use-grep-command/). +In this example, we assume that the `/home/username/data` directory contains a large number of files that have a UNIX time stamp in their file names. The above command will filter the output to only display those tiles that have the four digits "1257" in their file names. In these cases, `grep` only filters the output of `ls` and does not look into file contents. For more information regarding `grep`, refer to our full documentation of the [grep command](/cloud/guides/how-to-use-grep-command/). ### Search and Replace Across a Group of Files @@ -584,13 +584,13 @@ To match literal slashes (`/`), you must escape them with a backslash (`\`). As This would strip the slashes from the string `r/e/g/e/x` so that this string would be `regex` after running the `sed` command on the file that contains the string. -The following example, from our [migrating a server to your Linode](/docs/guides/migrating-a-server-to-your-linode/) document, searches and replaces one IP address with another. In this case `98.76.54.32` is replaced with `12.34.56.78`: +The following example, from our [migrating a server to your Linode](/cloud/guides/migrating-a-server-to-your-linode/) document, searches and replaces one IP address with another. In this case `98.76.54.32` is replaced with `12.34.56.78`: sed -i 's/98\.76\.54\.32/12\.34\.56\.78/' In the above example, period characters are escaped as `\.`. In regular expressions the full-stop (period) character matches to any character if it is not escaped. -For more information about `sed` refer to our full documentation of [text manipulation with sed](/docs/guides/manipulate-text-from-the-command-line-with-sed/). +For more information about `sed` refer to our full documentation of [text manipulation with sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/). ### Edit Text @@ -613,7 +613,7 @@ This provides only the most basic outline of how to use these text editors, and ## Web Servers and HTTP Issues -Linodes do not come with a web server installed by default. You must install and configure your web server. This allows you to configure your web server in a way that makes sense for your application or website. [Linode Guides & Tutorials](/docs/) contains a number of documents regarding the installation and maintenance of various [web servers](/docs/web-servers/). +Linodes do not come with a web server installed by default. You must install and configure your web server. This allows you to configure your web server in a way that makes sense for your application or website. [Linode Guides & Tutorials](/cloud/) contains a number of documents regarding the installation and maintenance of various [web servers](/cloud/web-servers/). This section covers a number of basic web serving tasks and functions, as well as some guidance for users new to the world of web servers. @@ -621,31 +621,31 @@ This section covers a number of basic web serving tasks and functions, as well a Web servers work by listening on a TCP port, typically port 80 for HTTP and port 443 for HTTPS. When a visitor makes a request for content, the servers respond by delivering the resource requested. Typically, resources are specified with a URL that contains the protocol, `http` or `https`; a colon and two slashes, `://`; hostname or domain, `www.example.com` or `username.example.com`; and the path to a file, `/images/avatar.jpg,` or `index.html`. A full URL would resemble `http://www.example.com/images/avatar.jpg`. -In order to provide these resources to users, your Linode needs to be running a web server. There are many different HTTP servers and countless configurations to provide support for various web development frameworks. The three most popular general use web servers are the [Apache HTTP](/docs/web-servers/apache/) server, [Lighttpd](/docs/web-servers/lighttpd/) ("Lighty"), and [nginx](/docs/web-servers/nginx/) ("Engine X"). Each server has its strengths and weaknesses, and your choice depends largely on your experience and your needs. +In order to provide these resources to users, your Linode needs to be running a web server. There are many different HTTP servers and countless configurations to provide support for various web development frameworks. The three most popular general use web servers are the [Apache HTTP](/cloud/web-servers/apache/) server, [Lighttpd](/cloud/web-servers/lighttpd/) ("Lighty"), and [nginx](/cloud/web-servers/nginx/) ("Engine X"). Each server has its strengths and weaknesses, and your choice depends largely on your experience and your needs. Once you've chosen a web server, you need to decide what (if any) scripting support you need to install. Scripting support allows you to run dynamic content with your web server and program server side scripts in languages such as Python, PHP, Ruby, and Perl. -If you need a full web application stack, we encourage you to consider one of our more full-featured [LAMP stack guides](/docs/web-servers/lamp/). If you need support for a specific web development framework, consult our tutorials for installing and using specific [web application frameworks](/docs/development/frameworks/). +If you need a full web application stack, we encourage you to consider one of our more full-featured [LAMP stack guides](/cloud/web-servers/lamp/). If you need support for a specific web development framework, consult our tutorials for installing and using specific [web application frameworks](/cloud/development/frameworks/). ### How to Choose a Web Server In most situations, end users are unaware of which web server you use. As a result, choosing a web server is often a personal decision based on the comfort of the administrator and the requirements of the deployment in question. This can be a challenge for the new systems administrator. This section offers some guidance by providing some background and information on the most popular web servers. -The [Apache HTTP Server](/docs/web-servers/apache/) is considered by some to be the *de facto* standard web server. It is the most widely deployed open-source web server, its configuration interface has been stable for many years, and its modular architecture allows it to function in many different types of deployments. Apache forms the foundation of the [LAMP stack](/docs/web-servers/lamp/), and supports the integration of dynamic server-side applications into the web server. +The [Apache HTTP Server](/cloud/web-servers/apache/) is considered by some to be the *de facto* standard web server. It is the most widely deployed open-source web server, its configuration interface has been stable for many years, and its modular architecture allows it to function in many different types of deployments. Apache forms the foundation of the [LAMP stack](/cloud/web-servers/lamp/), and supports the integration of dynamic server-side applications into the web server. -By contrast, web servers like [Lighttpd](/docs/web-servers/lighttpd/) and [nginx](/docs/web-servers/nginx/) are optimized for efficiently serving static content. If you have a deployment where server resources are limited and are facing a great deal of demand, consider one of these servers. They are functional and stable with minimal system resources. Lighttpd and nginx can be more difficult to configure when integrating dynamic content interpreters. +By contrast, web servers like [Lighttpd](/cloud/web-servers/lighttpd/) and [nginx](/cloud/web-servers/nginx/) are optimized for efficiently serving static content. If you have a deployment where server resources are limited and are facing a great deal of demand, consider one of these servers. They are functional and stable with minimal system resources. Lighttpd and nginx can be more difficult to configure when integrating dynamic content interpreters. Your choice of web servers is based on your needs. Specific choices depend on factors like the type of content you want to serve, the demand for that content, and your comfort with that software as an administrator. ### Apache Logs -When there is something wrong with [Apache](/docs/web-servers/apache/), it can be difficult to determine what the cause of the error is from the behavior of the web server. There are a number of common issues with which you might begin your [troubleshooting](/docs/guides/troubleshooting-common-apache-issues/) efforts. When more complex issues arise, you may need to review the Apache error logs. +When there is something wrong with [Apache](/cloud/web-servers/apache/), it can be difficult to determine what the cause of the error is from the behavior of the web server. There are a number of common issues with which you might begin your [troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/) efforts. When more complex issues arise, you may need to review the Apache error logs. By default, error logs are located in the `/var/log/apache2/error.log` file (on Debian-based distributions). You can track or "tail" this log with the following command: tail -F /var/log/apache2/error.log -In the default virtual host configurations suggested in our [Apache installation](/docs/web-servers/apache/) and [LAMP guides](/docs/web-servers/lamp/), we suggest adding a custom log setting: +In the default virtual host configurations suggested in our [Apache installation](/cloud/web-servers/apache/) and [LAMP guides](/cloud/web-servers/lamp/), we suggest adding a custom log setting: {{< file "Apache Virtual Host Configuration" >}} ErrorLog /var/www//html/example.com/logs/error.log CustomLog /var/www/html/example.com/logs/access.log combined @@ -666,31 +666,31 @@ This will allow you to see new error messages as they appear. Problems can be di ## DNS Servers and Domain Names -The *Domain Name System*, or DNS, is the service that the internet uses to associate the hard to remember and manage IP addresses with more human-usable domain names. This section will address several specific DNS-related tasks. To learn more about DNS, check out our [overview of the domain name system](/docs/guides/dns-overview/). If you are familiar with DNS and just need to figure out how to configure your DNS server, see our guide for the [Linode DNS manager](/docs/products/networking/dns-manager/). +The *Domain Name System*, or DNS, is the service that the internet uses to associate the hard to remember and manage IP addresses with more human-usable domain names. This section will address several specific DNS-related tasks. To learn more about DNS, check out our [overview of the domain name system](/cloud/guides/dns-overview/). If you are familiar with DNS and just need to figure out how to configure your DNS server, see our guide for the [Linode DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). ### Redirect DNS Queries with CNAME Records -[CNAME DNS records](/docs/guides/dns-overview/#cname) make it possible to redirect requests for one hostname or domain to another hostname or domain. This is useful in situations where you want to direct requests for one domain to another, but don't want to set up the web server to handle requests. +[CNAME DNS records](/cloud/guides/dns-overview/#cname) make it possible to redirect requests for one hostname or domain to another hostname or domain. This is useful in situations where you want to direct requests for one domain to another, but don't want to set up the web server to handle requests. -CNAME records are *only* valid when pointing from one domain to another. If you need to redirect a full URL, you will need to set up a web server and [configure redirection](/docs/guides/redirect-urls-with-the-apache-web-server/) and/or virtual hosting on the server level. CNAME records will allow you to redirect subdomains, such as `team.example.com`, to other subdomains or domains, such as `jack.example.org`. CNAME records must point to a valid domain that has a valid A Record, or to another CNAME. +CNAME records are *only* valid when pointing from one domain to another. If you need to redirect a full URL, you will need to set up a web server and [configure redirection](/cloud/guides/redirect-urls-with-the-apache-web-server/) and/or virtual hosting on the server level. CNAME records will allow you to redirect subdomains, such as `team.example.com`, to other subdomains or domains, such as `jack.example.org`. CNAME records must point to a valid domain that has a valid A Record, or to another CNAME. -Although limited in their capabilities, CNAME records can be quite useful in some situations. In particular, if you need to change the hostname of a machine, CNAME records are quite useful. To learn how to set up CNAME records with the [Linode Manager](https://cloud.linode.com/), refer to our [DNS Manager Guide](/docs/products/networking/dns-manager/). +Although limited in their capabilities, CNAME records can be quite useful in some situations. In particular, if you need to change the hostname of a machine, CNAME records are quite useful. To learn how to set up CNAME records with the [Linode Manager](https://cloud.linode.com/), refer to our [DNS Manager Guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). ### Set Up Subdomains -When [reading domain names](/docs/guides/dns-overview/#domain-names), we refer to parts before the main or first-level domain as "subdomains." For example, in the domain `team.example.com`, `team` is a subdomain for the root domain `example.com`. +When [reading domain names](/cloud/guides/dns-overview/#domain-names), we refer to parts before the main or first-level domain as "subdomains." For example, in the domain `team.example.com`, `team` is a subdomain for the root domain `example.com`. -Follow these steps to [create and host a sub-domain](/docs/products/networking/dns-manager/guides/common-dns-configurations/#configure-subdomains): +Follow these steps to [create and host a sub-domain](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations#configure-subdomains): -1. First, create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) in the DNS zone for the domain. You can do this using the [Linode DNS Manager](/docs/products/networking/dns-manager/). You may host the DNS for your domain with any provider you choose. +1. First, create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) in the DNS zone for the domain. You can do this using the [Linode DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). You may host the DNS for your domain with any provider you choose. -2. Set up a server to respond to requests sent to this domain. For web servers like [Apache](/docs/web-servers/apache/), this requires configuring a new virtual host. For XMPP servers you must configure an additional host to receive the requests for this host. For more information, consult the documentation for the specific server you wish to deploy. +2. Set up a server to respond to requests sent to this domain. For web servers like [Apache](/cloud/web-servers/apache/), this requires configuring a new virtual host. For XMPP servers you must configure an additional host to receive the requests for this host. For more information, consult the documentation for the specific server you wish to deploy. 3. Once configured, subdomains function almost identically to root domains on your server. If you need to, you can set up HTTP redirection for the new subdomain. ## SMTP Servers and Email Issues -We provide a number of guides that cover [email-related topics](/docs/email/). In this section, we'll explain how to choose an email setup that fits your needs and how to configure your Linode to send email. +We provide a number of guides that cover [email-related topics](/cloud/email/). In this section, we'll explain how to choose an email setup that fits your needs and how to configure your Linode to send email. {{% content "email-warning-shortguide" %}} @@ -702,15 +702,15 @@ There may also be other components in the email server tool chain. These compone The most prevalent SMTP servers or MTAs in the UNIX-like world are [Postfix](http://www.postfix.org/), [Exim](https://www.exim.org/), and [Sendmail](http://www.sendmail.org/). Sendmail has the longest history and many system administrators have extensive experience with it. Postfix is robust and modern, and is compatible with many different configurations. Exim is the default MTA in Debian systems, and many consider it to be easier to use for basic tasks. For remote mailbox access, servers like [Courier](http://www.courier-mta.org/) and [Dovecot](https://www.dovecot.org/) are popular options. -If you need an easy-to-install email solution, consider the [Citadel groupware server](/docs/email/citadel/). Citadel provides an integrated "turnkey" solution that includes an SMTP server, remote mailbox access, real time collaboration tools including XMPP, and a shared calendar interface. Along similar lines, we also provide documentation for the installation of the [Zimbra groupware server](/docs/email/zimbra/). +If you need an easy-to-install email solution, consider the [Citadel groupware server](/cloud/email/citadel/). Citadel provides an integrated "turnkey" solution that includes an SMTP server, remote mailbox access, real time collaboration tools including XMPP, and a shared calendar interface. Along similar lines, we also provide documentation for the installation of the [Zimbra groupware server](/cloud/email/zimbra/). -If, by contrast, you want a more simple and modular email stack, we urge you to consider one of our guides built around the [Postfix SMTP server](/docs/email/postfix/). +If, by contrast, you want a more simple and modular email stack, we urge you to consider one of our guides built around the [Postfix SMTP server](/cloud/email/postfix/). -Finally, it's possible to outsource email service to a third-party provider, such as [Google Workspace](/docs/guides/using-google-workspace-for-email/) or [FastMail.fm](https://www.fastmail.fm). These services allows you to send and receive mail from your domain, without hosting email services on your Linode. +Finally, it's possible to outsource email service to a third-party provider, such as [Google Workspace](/cloud/guides/using-google-workspace-for-email/) or [FastMail.fm](https://www.fastmail.fm). These services allows you to send and receive mail from your domain, without hosting email services on your Linode. ### Send Email From Your Server -For simple configurations, you may have no need for a complete email stack like some of those documented in our [email guides](/docs/email/). However, applications running on that server still need to be able to send mail for notifications and other routine purposes. +For simple configurations, you may have no need for a complete email stack like some of those documented in our [email guides](/cloud/email/). However, applications running on that server still need to be able to send mail for notifications and other routine purposes. The configuration of applications to send notifications and alerts is beyond the scope of this guide. Most applications rely on a simple "sendmail" interface, which is accessible via several common SMTP servers including Postfix and msmtp. diff --git a/docs/guides/tools-reference/basics/linux-users-and-groups/index.md b/docs/guides/tools-reference/basics/linux-users-and-groups/index.md index 5363aafbffc..90c2f470422 100644 --- a/docs/guides/tools-reference/basics/linux-users-and-groups/index.md +++ b/docs/guides/tools-reference/basics/linux-users-and-groups/index.md @@ -191,7 +191,7 @@ For CentOS, the command is as follows: In order to provide a user with the `sudo` ability, they need to be added to a `sudo` enabled group, or their username needs to be added to the sudoers file with a set of permissions. This file is sensitive and important as an access and security control, and should not be edited directly with a text editor. If the sudoers file is edited incorrectly it could result in preventing access to the system or other unintended permission changes. {{< note >}} -For instructions on adding a user to a default `sudo` enabled group, see our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide +For instructions on adding a user to a default `sudo` enabled group, see our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide {{< /note >}} The `visudo` command should be used to edit the sudoers file. At a command line, log into your system as `root` and enter the command `visudo`. diff --git a/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md b/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md index 22bbe3801d6..c30b84c8ffa 100644 --- a/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md +++ b/docs/guides/tools-reference/basics/mount-file-system-on-linux/index.md @@ -18,12 +18,12 @@ Mounting or unmounting a file system on Linux is usually straightforward, except ## 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 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 >}} ## File Systems Available for Linux diff --git a/docs/guides/tools-reference/basics/rename-files-on-linux/index.md b/docs/guides/tools-reference/basics/rename-files-on-linux/index.md index aca88fa87b8..d1be907b749 100644 --- a/docs/guides/tools-reference/basics/rename-files-on-linux/index.md +++ b/docs/guides/tools-reference/basics/rename-files-on-linux/index.md @@ -19,12 +19,12 @@ This tutorial primarily discusses how to use the `mv` and `rename` commands to r For the purposes of this tutorial, a shared instance with 1 CPU and 1 GB of memory running Ubuntu 22.04 LTS works. Pick a region that is close to your location. Create a strong root password and save it for later. Should you ever forget your root password, you can create a new one on your settings page. Don’t bother creating a SSH key for the account unless you're already familiar with RSA keys. -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. -2. 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. +2. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root`. For more information on privileges, see our [Users and Groups](/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 >}} ## Navigation diff --git a/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md b/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md index 651d0f4b748..116e304458c 100644 --- a/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md +++ b/docs/guides/tools-reference/basics/restart-linux-server-from-the-command-line/index.md @@ -19,7 +19,7 @@ While your Linux server can run continuously for weeks or months, some configura Generally, you do not need to regularly restart your Linux server. It should be able to keep running for weeks or months, without needing to be "refreshed" with a reboot. However, several factors may make you want to restart your server. Some software installations require a manual reboot after installation, and some applications benefit from the system being periodically rebooted. There are also many administrative processes that require restarting the server for changes to take effect. -Linode Compute Instances have a feature called Lassie (Linode Autonomous System Shutdown Intelligent rEbooter), also referred to as the Shutdown Watchdog. When this feature is enabled, a Compute Instance automatically reboots if it ever powers off unexpectedly. To have a normal `reboot` functionality, ensure that you have enabled this feature. For more information, see the [Shutdown Watchdog guide](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/). +Linode Compute Instances have a feature called Lassie (Linode Autonomous System Shutdown Intelligent rEbooter), also referred to as the Shutdown Watchdog. When this feature is enabled, a Compute Instance automatically reboots if it ever powers off unexpectedly. To have a normal `reboot` functionality, ensure that you have enabled this feature. For more information, see the [Shutdown Watchdog guide](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie). For those cases and others, it is helpful to know the available commands to quickly initiate a graceful system reboot. @@ -77,4 +77,4 @@ Finally, you may want to cancel a scheduled reboot. You can do that with the fol The process for restarting your Linux server over PuTTY is the same as above. The only difference is that you need to use PuTTY to open an SSH connection to your server. -If you are unsure how to do that, take a look at our guide on [Connecting to a Remote Server Over SSH using PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/). +If you are unsure how to do that, take a look at our guide on [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/). diff --git a/docs/guides/tools-reference/basics/using-the-terminal/index.md b/docs/guides/tools-reference/basics/using-the-terminal/index.md index 642f4ba8ddf..6124b0b7b12 100644 --- a/docs/guides/tools-reference/basics/using-the-terminal/index.md +++ b/docs/guides/tools-reference/basics/using-the-terminal/index.md @@ -161,15 +161,15 @@ The terminal can also be useful for monitoring the current status of your server The command `ps` lists active processes by Process ID (PID) numbers. You can use the `ps -A` command (including the "-A" flag) to list all currently running processes, including inactive processes. -The `top` command, which is installed by default on all systems, provides a regularly refreshed list of processes and resource utilization information. You may also wish to consider installing the `htop` application (with your system's [package management](/docs/guides/linux-package-management-overview/) tool), which provides more coherent output. +The `top` command, which is installed by default on all systems, provides a regularly refreshed list of processes and resource utilization information. You may also wish to consider installing the `htop` application (with your system's [package management](/cloud/guides/linux-package-management-overview/) tool), which provides more coherent output. The `df` command, which is native to all systems, provides a metric of your current disk usage including free and unused space. You can use the `df -h` command (including the "-h" flag) to list your current space in megabytes and gigabytes, which is easier to read than flat kilobytes. You can also use the command `df -i` to view the number of iNodes your disk has used and remain available. An iNode is how the filesystem keeps track of files, and is directly related to the number of files that can be created. The `du` command, also native to all systems, checks which directories are using the most space. There are a number of useful flags which you can use with this command, the first of which the `du -h` command will show the disk usage of every file in your current directory and as a whole in megabytes. Another especially useful flag, "--max-depth", allows you to specify how many directories deep the command should iterate through. For example, to obtain a list of the biggest directories which are contained in your filesystem you would use the command `du -h --max-depth 1 /`. -You may also wish to consider installing the `ncdu` application (with your system's [package management](/docs/guides/linux-package-management-overview/) tool), which provides the file size using a curses-based file browser. +You may also wish to consider installing the `ncdu` application (with your system's [package management](/cloud/guides/linux-package-management-overview/) tool), which provides the file size using a curses-based file browser. -For more information about monitoring the internals of your Linode, you can refer to the [System Diagnostics](/docs/guides/linux-system-administration-basics/#system-diagnostics) guide. +For more information about monitoring the internals of your Linode, you can refer to the [System Diagnostics](/cloud/guides/linux-system-administration-basics/#system-diagnostics) guide. ## The Terminal Environment diff --git a/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md b/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md index 17fbfb077d2..5b19a320a6f 100644 --- a/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md +++ b/docs/guides/tools-reference/basics/what-is-usermod-and-how-to-use-it/index.md @@ -21,9 +21,9 @@ The `usermod` command lets you change an existing Linux user's settings. Most th ### Comparison to useradd and chmod -The difference between `useradd` and `usermod` is that the former is used for creating new users and the latter is used for modifying existing users. While `useradd` can define a Linux user's settings, it does so for new users, not existing users. See our [Linux Users and Groups](/docs/guides/linux-users-and-groups/#creating-and-deleting-user-accounts) guide for more on the `useradd` command. +The difference between `useradd` and `usermod` is that the former is used for creating new users and the latter is used for modifying existing users. While `useradd` can define a Linux user's settings, it does so for new users, not existing users. See our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#creating-and-deleting-user-accounts) guide for more on the `useradd` command. -On the other hand, `chmod`, like `usermod`, modifies existing resources. But where `usermod` modifies settings for an existing user, `chmod` modifies the permissions on a given file or directory. For instance, while `usermod` allows you to change a user's home directory, `chmod` lets you give a file in that directory executable permissions. Learn more about what `chmod` is and how to use it in our guide [Modify File Permissions with chmod](/docs/guides/modify-file-permissions-with-chmod/). +On the other hand, `chmod`, like `usermod`, modifies existing resources. But where `usermod` modifies settings for an existing user, `chmod` modifies the permissions on a given file or directory. For instance, while `usermod` allows you to change a user's home directory, `chmod` lets you give a file in that directory executable permissions. Learn more about what `chmod` is and how to use it in our guide [Modify File Permissions with chmod](/cloud/guides/modify-file-permissions-with-chmod/). ## Using usermod to Add a User to a Group diff --git a/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md b/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md index ef82c967d07..d3bff5e6d9c 100644 --- a/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md +++ b/docs/guides/tools-reference/basics/write-to-a-file-from-the-shell/index.md @@ -15,7 +15,7 @@ external_resources: - '[Sed](https://www.gnu.org/software/sed/manual/sed.html)' --- -When working from the command line, it can be convenient to write to files without the need to open a text editor like [Nano](/docs/guides/use-nano-to-edit-files-in-linux/), or Vim. There are some handy Linux operators and commands to make writing to files simple to accomplish. This guide shows you how to use key operators and commands to write to files from the shell. These commands work with [Bash](/docs/guides/intro-bash-shell-scripting/#bash-basics), [Zsh](https://www.zsh.org/) shells, and several other Unix shells. +When working from the command line, it can be convenient to write to files without the need to open a text editor like [Nano](/cloud/guides/use-nano-to-edit-files-in-linux/), or Vim. There are some handy Linux operators and commands to make writing to files simple to accomplish. This guide shows you how to use key operators and commands to write to files from the shell. These commands work with [Bash](/cloud/guides/intro-bash-shell-scripting/#bash-basics), [Zsh](https://www.zsh.org/) shells, and several other Unix shells. ## Writing to a File Using Redirection Operators @@ -152,7 +152,7 @@ without evaluating either. ## Advanced Editing with Sed -[Sed](/docs/guides/manipulate-text-from-the-command-line-with-sed/) is a command-line stream editor that gives you access to advanced file writing features while still working from the shell. +[Sed](/cloud/guides/manipulate-text-from-the-command-line-with-sed/) is a command-line stream editor that gives you access to advanced file writing features while still working from the shell. The operators in the sections above give you ways to write to files and append content to them. Sed can write to files, but also provides powerful tools for editing and manipulating files. @@ -229,4 +229,4 @@ without evaluating it. ## Conclusion -With the redirect operators and Sed commands above, you should be able to write to files directly right from the command line. The operators and commands used in this guide are also helpful when you need to work with files in Bash scripts and other shell scripts. If you are interested in learning more about Bash scripts, check out our [series of guides on Bash scripting](/docs/guides/development/bash/). +With the redirect operators and Sed commands above, you should be able to write to files directly right from the command line. The operators and commands used in this guide are also helpful when you need to work with files in Bash scripts and other shell scripts. If you are interested in learning more about Bash scripts, check out our [series of guides on Bash scripting](/cloud/guides/development/bash/). diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-centos-7/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-centos-7/index.md index c3ba504111a..be0eebfb59c 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-centos-7/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-centos-7/index.md @@ -21,9 +21,9 @@ aliases: ['/tools-reference/custom-kernels-distros/custom-compiled-kernel-centos Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are not available in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance). -Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Then, log in to your Linode as the `root` user. +Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Then, log in to your Linode as the `root` user. ## Prepare the System @@ -126,7 +126,7 @@ GRUB_TERMINAL="serial console" ![The GRUB2 Option.](custom-kernel-grub2.png) -3. Click **Save Changes**. You can now reboot the Linode. We suggest opening a [LISH](/docs/products/compute/compute-instances/guides/lish/) or [GLISH](/docs/products/compute/compute-instances/guides/glish/) session first, so you can monitor the boot process and troubleshoot if necessary. +3. Click **Save Changes**. You can now reboot the Linode. We suggest opening a [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [GLISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) session first, so you can monitor the boot process and troubleshoot if necessary. Note that if you install an updated kernel, you need to create a new `initrd` file, and update GRUB. diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-debian-ubuntu/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-debian-ubuntu/index.md index af8cea240b9..2433efdd225 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-debian-ubuntu/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-debian-ubuntu/index.md @@ -20,9 +20,9 @@ aliases: ['/tools-reference/custom-kernels-distros/custom-compiled-kernel-debian Compiling your own Linux kernel is useful if you need to enable or disable certain kernel features that are not available in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance). -Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Then, log in to your Linode as the `root` user. +Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Then, log in to your Linode as the `root` user. ## Prepare the System @@ -114,7 +114,7 @@ GRUB_DISABLE_OS_PROBER=true ![The GRUB2 Option.](custom-kernel-grub2.png) -3. Click **Save Changes**. You can now reboot the Linode. We suggest opening a [LISH](/docs/products/compute/compute-instances/guides/lish/) or [GLISH](/docs/products/compute/compute-instances/guides/glish/) session first, so you can monitor the boot process and troubleshoot if necessary. +3. Click **Save Changes**. You can now reboot the Linode. We suggest opening a [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [GLISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) session first, so you can monitor the boot process and troubleshoot if necessary. {{< note respectIndent=false >}} You may need to run `cp /boot/grub/unicode.pf2 /boot/grub/fonts/` for the boot menu to properly display in GLISH. Your Linode will still boot, assuming there are no configuration issues, without this command. diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md index 459fffe88d9..000744391a5 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-centos-7/index.md @@ -22,9 +22,9 @@ deprecated: true Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/docs/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). -Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Then, make sure you are logged into your Linode as the `root` user. +Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Then, make sure you are logged into your Linode as the `root` user. ## Prepare the System diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md index b04774d143c..2a30a400cee 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-debian-ubuntu/index.md @@ -22,9 +22,9 @@ deprecated: true Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/docs/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). -Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Then, make sure you are logged into your Linode as the `root` user. +Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Then, make sure you are logged into your Linode as the `root` user. ## Prepare the System diff --git a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md index 1bb495beeed..108ae4f1c7e 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/custom-compiled-kernel-with-pvgrub-on-arch/index.md @@ -21,9 +21,9 @@ deprecated: true Running a custom-compiled Linux kernel is useful if you need to enable or disable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels. For example, some users desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/docs/guides/run-a-distributionsupplied-kernel-with-pvgrub/). +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [Running a Distribution-Supplied Kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). -Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. Then, make sure you are logged into your Linode as the `root` user. +Prior to these instructions, follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. Then, make sure you are logged into your Linode as the `root` user. ## Prepare the System diff --git a/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md b/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md index 7a22cd56014..366af15d786 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/how-to-upgrade-from-centos-7-to-centos-8/index.md @@ -36,13 +36,13 @@ This guide will walk you through the steps to migrate from CentOS 7 to CentOS 8 ### Back Up Your Data For this guide you will need a backup of your existing CentOS 7 installation. You can back up your Linode in two ways. -- You can enroll in [Linode's Backup Service](/docs/products/storage/backups/). This will take automatic regular backups for you, and give you the option of taking a [Manual Snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) at any time. -- For alternative backups solutions, see our [Backing Up Your Data](/docs/guides/backing-up-your-data/) guide. +- You can enroll in [Linode's Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service). This will take automatic regular backups for you, and give you the option of taking a [Manual Snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) at any time. +- For alternative backups solutions, see our [Backing Up Your Data](/cloud/guides/backing-up-your-data/) guide. -When creating your backup, it's recommended that you [Resize Your Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/) to the smallest size possible in advanced in order to ensure that you are able to allocate an extra disk in a later step. +When creating your backup, it's recommended that you [Resize Your Disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) to the smallest size possible in advanced in order to ensure that you are able to allocate an extra disk in a later step. {{< note type="alert" >}} -It is important to note that automatic backups using Linode's Backup Service will be overwritten after between 8-14 days have passed. If you would like a backup of your Linode to be preserved for a longer time period, it is recommended that you take a [Snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) which will never expire unless manually overwritten. +It is important to note that automatic backups using Linode's Backup Service will be overwritten after between 8-14 days have passed. If you would like a backup of your Linode to be preserved for a longer time period, it is recommended that you take a [Snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot) which will never expire unless manually overwritten. {{< /note >}} @@ -54,7 +54,7 @@ It is important to note that automatic backups using Linode's Backup Service wil 1. From the **Images** drop down menu, select the CentOS 8 image and enter a Root Password. Optionally, add an SSH key. -1. Click the **Rebuild** Button. This will create a new CentOS 8 disk and configuration profile. You can read more about configuration profiles in the [Managing Configuration Profiles on a Linode](/docs/products/compute/compute-instances/guides/configuration-profiles/) guide. +1. Click the **Rebuild** Button. This will create a new CentOS 8 disk and configuration profile. You can read more about configuration profiles in the [Managing Configuration Profiles on a Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance) guide. 1. Shut down the Linode by clicking on the status icon and choosing **Power Off** from the drop down menu. @@ -71,7 +71,7 @@ It is important to note that automatic backups using Linode's Backup Service wil ![Restore Backup to Existing Linode](upgrade-centos8-restore-to-existing.png "Restore Backup to Existing Linode") {{< note >}} - If your Linode's disks have been using the entirety of allocatable space available to your Linode, then you will either need to [Resize Your Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/) so that you can take a new [Snapshot](/docs/products/storage/backups/guides/take-a-snapshot/), or [Resize Your Linode](/docs/products/compute/compute-instances/guides/resize/) + If your Linode's disks have been using the entirety of allocatable space available to your Linode, then you will either need to [Resize Your Disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance) so that you can take a new [Snapshot](https://techdocs.akamai.com/cloud-computing/docs/take-a-manual-snapshot), or [Resize Your Linode](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) {{< /note >}} 1. Select the current Linode and leave the box for **Overwrite Linode** unchecked. Then click the **Restore** button. @@ -98,7 +98,7 @@ It is important to note that automatic backups using Linode's Backup Service wil ![Boot This Configuration Drop Down Menu](upgrade-centos8-boot-this-config.png "Boot This Configuration Drop Down Menu") -1. Now you can SSH into your server. Don't forget to [secure your new installation](/docs/products/compute/compute-instances/guides/set-up-and-secure/). +1. Now you can SSH into your server. Don't forget to [secure your new installation](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). ### Mount the Disk diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md index 05c0afe57ae..70cef53383f 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution-on-a-xen-linode/index.md @@ -17,7 +17,7 @@ If you'd like to run a Linux distribution on your Linode that isn't available fr {{% content "all-linodes-kvm-shortguide" %}} {{< note >}} -This guide is intended for Linodes using our older Xen hypervisor. To install a custom distribution on a new KVM Linode, see [this guide](/docs/guides/install-a-custom-distribution/). +This guide is intended for Linodes using our older Xen hypervisor. To install a custom distribution on a new KVM Linode, see [this guide](/cloud/guides/install-a-custom-distribution/). {{< /note >}} ## Creating the Virtual Machine @@ -149,7 +149,7 @@ Start from the Linode Manager by configuring a Linode to boot your custom image. 11. Next, select the **Rescue** sub-tab, which is located on the same row as the **Dashboard** tab. Select **Reboot into Rescue Mode**. Monitor the **Host Job Queue** progress bar for the system shutdown and the system boot. It should take under a minute. -12. Once your Linode has booted into Finnix Rescue Mode, you should be able to connect to it via the [Lish Console](/docs/products/compute/compute-instances/guides/lish/). +12. Once your Linode has booted into Finnix Rescue Mode, you should be able to connect to it via the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). ## Starting SSH in Finnix @@ -210,6 +210,6 @@ proc /proc proc defaults 0 0 ~ 6. Exit and save the file by pressing `Ctrl+x`, type `y` to save your changes, and press `enter` to exit. -The disk has been transferred to your Linode. You should now be able to boot your Linode normally and log in [via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). Remember to use the username and password created during step 23 under the [Creating the Virtual Machine](#creating-the-virtual-machine) heading. Also, check your network configuration and if necessary refer to the [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. +The disk has been transferred to your Linode. You should now be able to boot your Linode normally and log in [via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). Remember to use the username and password created during step 23 under the [Creating the Virtual Machine](#creating-the-virtual-machine) heading. Also, check your network configuration and if necessary refer to the [Linux Static IP Configuration](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) guide. Congratulations, you have successfully transferred the custom distro disk from your local virtual machine to your Linode. diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution/index.md index 70f770da49b..81611b011e3 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-a-custom-distribution/index.md @@ -13,13 +13,13 @@ aliases: ['/tools-reference/custom-kernels-distros/install-a-custom-distribution image: install-a-custom-distribution-on-a-linode.png --- -Linode provides images for many Linux distributions, all of which are available to use when deploying Compute Instances. These officially supported distributions are constantly updated and include popular general purpose distributions (like Ubuntu, CentOS, and Debian) as well as many other more advanced or focused distributions (such as Arch, Kali, and Alpine). See the [Choosing a Linux Distribution](/docs/products/compute/compute-instances/guides/distributions/) guide for a complete list. +Linode provides images for many Linux distributions, all of which are available to use when deploying Compute Instances. These officially supported distributions are constantly updated and include popular general purpose distributions (like Ubuntu, CentOS, and Debian) as well as many other more advanced or focused distributions (such as Arch, Kali, and Alpine). See the [Choosing a Linux Distribution](https://techdocs.akamai.com/cloud-computing/docs/choose-a-distribution) guide for a complete list. While these official images are generally sufficient for most customers, some applications or workloads may require distributions that aren't provided by Linode. There are a few methods that can be used to build custom images or install distributions on Linode. -- **Upload a custom image.** This requires either obtaining the image from a third-party source or using a distribution's official installer. After downloading the image to your workstation, install it on a local virtual machine. Then, save the system to a compatible format. For more detailed instructions, see [Upload a Custom Image](/docs/products/tools/images/guides/upload-an-image/). +- **Upload a custom image.** This requires either obtaining the image from a third-party source or using a distribution's official installer. After downloading the image to your workstation, install it on a local virtual machine. Then, save the system to a compatible format. For more detailed instructions, see [Upload a Custom Image](https://techdocs.akamai.com/cloud-computing/docs/upload-an-image). -- **Install the distribution directly on a Compute Instance.** This requires that you download the distribution's installer to a Compute Instance and use [Glish](/docs/products/compute/compute-instances/guides/glish/) to install the distribution onto the instance's disks. +- **Install the distribution directly on a Compute Instance.** This requires that you download the distribution's installer to a Compute Instance and use [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to install the distribution onto the instance's disks. This guide covers the latter method. The instructions walk you through: @@ -41,7 +41,7 @@ First, create the Compute Instance and add the necessary disks and configuration 1. Click the **Create** button to create the Compute Instance. Once it has been created, you should be taken to its dashboard page. -1. Navigate to the **Storage** tab and create two disks on your new Compute Instance. One disk is for the installer image itself and the other is where the system will be installed. The settings for each of these disks are outlined below. See the [Creating a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk) guide for additional instructions. +1. Navigate to the **Storage** tab and create two disks on your new Compute Instance. One disk is for the installer image itself and the other is where the system will be installed. The settings for each of these disks are outlined below. See the [Creating a Disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#create-a-disk) guide for additional instructions. ![Screenshot of the Storage tab with the disks created](custom-distro-disks.png "Screenshot of the Storage tab with the disks created, according to the specifications in the following bullet points") @@ -53,7 +53,7 @@ First, create the Compute Instance and add the necessary disks and configuration - If you plan to make this system compatible with [Linode platform features](#make-the-system-compatible-with-the-linode-platform), another third disk needs to be created (outlined later in this guide). As a result, the System disk cannot take up the rest of the free space available on your instance. The System disk and that other third disk both need to be large enough to fit the operating system you wish to install. This is covered in a later step, but be sure to leave enough remaining storage space to create that disk. -1. Navigate to the **Configurations** tab and create two configuration profiles for your new instance. See the [Create a Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) guide for instructions. +1. Navigate to the **Configurations** tab and create two configuration profiles for your new instance. See the [Create a Configuration Profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance) guide for instructions. ![Screenshot of the Configurations tab with the configuration profiles created](custom-distro-configuration-profiles.png "Screenshot of the Configurations tab with the configuration profiles created, according to the specifications in the following bullet points") @@ -74,17 +74,17 @@ First, create the Compute Instance and add the necessary disks and configuration - **Root (boot) device:** /dev/sda - **Filesystem and Boot Helpers:** Disable all settings within this section. -1. Navigate to the Settings tab for the Compute Instance and disable the Shutdown Watchdog (Lassie). See [Enable (or Disable) Shutdown Watchdog](/docs/guides/lassie-shutdown-watchdog/#enable-or-disable-shutdown-watchdog) for instructions. +1. Navigate to the Settings tab for the Compute Instance and disable the Shutdown Watchdog (Lassie). See [Enable (or Disable) Shutdown Watchdog](/cloud/guides/lassie-shutdown-watchdog/#enable-or-disable-shutdown-watchdog) for instructions. ### Download the Distribution's Installer Image -After the Compute Instance has been created and prepared, the next step is to download the installer file for whichever distribution you wish to use. To do this, [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) is used. This loads a recovery operating system that can be used to mount and access your disks. +After the Compute Instance has been created and prepared, the next step is to download the installer file for whichever distribution you wish to use. To do this, [Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild) is used. This loads a recovery operating system that can be used to mount and access your disks. -1. Boot your Compute Instance into Rescue Mode. To do this, click the **ellipsis** menu on the top left of your instance's dashboard page and select **Rescue**. You are presented with a prompt to assign your disks. Set **/dev/sda** to your *Installer* disk and then click the **Reboot into Rescue Mode** button to continue. See [Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) for instructions. +1. Boot your Compute Instance into Rescue Mode. To do this, click the **ellipsis** menu on the top left of your instance's dashboard page and select **Rescue**. You are presented with a prompt to assign your disks. Set **/dev/sda** to your *Installer* disk and then click the **Reboot into Rescue Mode** button to continue. See [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) for instructions. ![Screenshot of Rescue Mode configuration](rescue-mode-assign-disks.png "Screenshot of Rescue Mode configuration, with /dev/sda assigned to the Installer disk") -1. Connect to your instance using the [Lish Console](/docs/products/compute/compute-instances/guides/lish/) and wait for it to fully boot into Rescue Mode. +1. Connect to your instance using the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and wait for it to fully boot into Rescue Mode. 1. Download the installation media for the Linux distribution you wish to install and copy it to the *Installer* disk. The example below shows the instructions to download the network installer for the latest stable version of Debian, but you can replace the URL with one pointing to whichever installer you want. @@ -117,7 +117,7 @@ After the installation disk is ready, you can install the distribution onto your 1. In the Cloud Manager, reboot your Compute Instance using the *Installer* configuration profile. -1. Open [Glish](/docs/products/compute/compute-instances/guides/glish/) and, once the instance fully boots up, you should see your distribution's installer. The screenshot below shows the Debian 11 installer. +1. Open [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) and, once the instance fully boots up, you should see your distribution's installer. The screenshot below shows the Debian 11 installer. ![Screenshot of Debian installer in Glish](custom-distro-debian-installer.png) @@ -149,7 +149,7 @@ At this point, you should have a working system that you can connect to over Gli - **Backups:** The Linode Backup Service needs to be able to mount your filesystem and does not support partitioned disks. -- **Helpers:** Several helpful features, such as [root password resets](/docs/products/compute/compute-instances/guides/reset-root-password/) and [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/), need access to your file system in order to make changes. Since Network Helper is not able to work properly, your system is not configured with network access and cannot yet access the internet. +- **Helpers:** Several helpful features, such as [root password resets](https://techdocs.akamai.com/cloud-computing/docs/reset-the-root-password-on-a-compute-instance) and [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking), need access to your file system in order to make changes. Since Network Helper is not able to work properly, your system is not configured with network access and cannot yet access the internet. This section covers how to move your custom installation over to an **ext4** formatted disk so it can take advantage of these tools. @@ -291,10 +291,10 @@ This next step involves making changes to your disks and configuration profiles, - **Swap Disk:** Set the **Label** to *Swap* and the **Filesystem** to *swap*. The size of this disk depends on your own swap needs, but should likely be at least 256-512 MB. {{< note >}} - If there is not enough room to create these disks, you may need to temporarily upgrade the plan for your Compute Instance. This provides additional storage space for your disks. See [Resizing a Compute Instance](/docs/products/compute/compute-instances/guides/resize/). + If there is not enough room to create these disks, you may need to temporarily upgrade the plan for your Compute Instance. This provides additional storage space for your disks. See [Resizing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance). {{< /note >}} -1. Navigate to the **Configurations** tab and create an additional configuration profile. See the [Create a Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) guide for instructions. +1. Navigate to the **Configurations** tab and create an additional configuration profile. See the [Create a Configuration Profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance) guide for instructions. - **Main (compatible) Configuration Profile:** This should be the only configuration profile you need to use going forward. @@ -310,9 +310,9 @@ This next step involves making changes to your disks and configuration profiles, - `/dev/sda` > *System* - `/dev/sdb` > *System (ext4)* - See [Booting into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) to learn more about using Rescue Mode. + See [Booting into Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) to learn more about using Rescue Mode. -1. Connect to your instance using the [Lish Console](/docs/products/compute/compute-instances/guides/lish/) and wait for it to fully boot into Rescue Mode. +1. Connect to your instance using the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and wait for it to fully boot into Rescue Mode. 1. Transfer your root file system from the `/dev/sda1` partition to your new ext4 disk: @@ -336,9 +336,9 @@ You now should have a Linux system that's compatible with the Linode Platform. F ping www.linode.com ``` - If the ping is not successful, verify that Network Helper is enabled (see [Enable or Disable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#enable-or-disable-network-helper)). If it was disabled, enable it and reboot using the same configuration profile. If you still do not have network connectivity, your distribution may not be compatible with Network Helper and you may need to manually adjust your network settings. See [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) or consult the network software used within your distribution. + If the ping is not successful, verify that Network Helper is enabled (see [Enable or Disable Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking#enable-or-disable-network-helper)). If it was disabled, enable it and reboot using the same configuration profile. If you still do not have network connectivity, your distribution may not be compatible with Network Helper and you may need to manually adjust your network settings. See [Manual Network Configuration on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) or consult the network software used within your distribution. -1. Once you're satisfied that the system is working properly, you can delete any disks and configuration profiles that are no longer needed. If you intend to use our [Backup service](/docs/products/storage/backups/), this step is required as there can be no *raw* disks on your Compute Instance. +1. Once you're satisfied that the system is working properly, you can delete any disks and configuration profiles that are no longer needed. If you intend to use our [Backup service](https://techdocs.akamai.com/cloud-computing/docs/backup-service), this step is required as there can be no *raw* disks on your Compute Instance. - **Disks:** You now only need two disks, the ones labelled *System (ext4)* and *Swap*. Any other disks, including the old *System* disk and *Installer* disks can be deleted. @@ -346,4 +346,4 @@ You now should have a Linux system that's compatible with the Linode Platform. F ## Save the System as a Custom Image -If you wish to save a copy of this system to quickly deploy later, you may want to use Linode's Custom Image feature. This lets you create a Compute Instance based on this system without needing to go through this guide again. See [Capture an Image](/docs/products/tools/images/guides/capture-an-image/) for instructions on creating the image. \ No newline at end of file +If you wish to save a copy of this system to quickly deploy later, you may want to use Linode's Custom Image feature. This lets you create a Compute Instance based on this system without needing to go through this guide again. See [Capture an Image](https://techdocs.akamai.com/cloud-computing/docs/capture-an-image) for instructions on creating the image. \ No newline at end of file diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-alpine-linux-on-your-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-alpine-linux-on-your-linode/index.md index 3570c5d07b7..897f8ba9cc7 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-alpine-linux-on-your-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-alpine-linux-on-your-linode/index.md @@ -27,7 +27,7 @@ It's regularly updated with security patches, and runs on the [grsecurity](https ## Before You Begin -1. Familiarize yourself with [Lish](/docs/products/compute/compute-instances/guides/lish/), as most of this guide will require an out-of-band connection. +1. Familiarize yourself with [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish), as most of this guide will require an out-of-band connection. 2. Installing Alpine in this manner will destroy all existing data on the installation target disks. Back up *all* data on the disks which you intend to install Alpine on. @@ -72,7 +72,7 @@ Turn off all the **Filesystem/Boot Helpers**. The rest of the settings can be le ### Boot into Rescue Mode -1. From the Linode Cloud Manager, boot your Linode into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/), with your boot disk image as `/dev/sda`, your root disk image as `/dev/sdb`, and your swap as /`dev/sdc`. +1. From the Linode Cloud Manager, boot your Linode into [Rescue Mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild), with your boot disk image as `/dev/sda`, your root disk image as `/dev/sdb`, and your swap as /`dev/sdc`. 2. Once the Linode has booted, connect to it via Lish. If you are not familiar with Lish, there is a simple web interface for it in the Linode Cloud Manager. Access it by clicking the **Launch Console** link from the Linode's dashboard. @@ -294,6 +294,6 @@ For more information, see Alpine's wiki page on [package management](https://wik ## Secure Your Server -Before using your Linode in a development or production capacity, make sure you've taken some basic security precautions. Our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide provides a good starting point but you should also research additional, Alpine-specific security options. Keep in mind that most security packages (e.g. `iptables`.) will need to be installed. +Before using your Linode in a development or production capacity, make sure you've taken some basic security precautions. Our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide provides a good starting point but you should also research additional, Alpine-specific security options. Keep in mind that most security packages (e.g. `iptables`.) will need to be installed. For more information, refer to their wiki page on [security](https://wiki.alpinelinux.org/wiki/Category:Security). diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md index 9cffc6845cd..0c3c791d107 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-coreos-on-your-linode/index.md @@ -27,11 +27,11 @@ CoreOS Container Linux is now available for deployment from the Linode Manager. CoreOS is not officially supported by Linode so there are limitations to using it in comparison to the Linux images provided in the Linode Manager. -* The CoreOS installer creates a partition table on the disk image which interferes with the [Linode Backup](/docs/products/storage/backups/) service because the disk image is not be directly mountable. +* The CoreOS installer creates a partition table on the disk image which interferes with the [Linode Backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) service because the disk image is not be directly mountable. * Unlike the case with most partitioned images, you *can* resize the disk image holding a CoreOS system; however, it can only grow, not shrink. CoreOS resizes its root partition to fill the disk on next boot. {{< note type="alert" >}} -These instructions perform **destructive** operations on your Linode! You should not attempt to install CoreOS on a Linode with data you want to preserve. You may wish to [use a second Linode](/docs/guides/recovering-from-a-system-compromise/#use-a-second-linode) and transfer your data after installation. +These instructions perform **destructive** operations on your Linode! You should not attempt to install CoreOS on a Linode with data you want to preserve. You may wish to [use a second Linode](/cloud/guides/recovering-from-a-system-compromise/#use-a-second-linode) and transfer your data after installation. {{< /note >}} ## Before You Begin @@ -57,7 +57,7 @@ CoreOS configures no default way to log in except by supplying an option to the ![Set /dev/sda to CoreOS disk image](coreos-device-identifier.png) -5. Use [Lish](/docs/products/compute/compute-instances/guides/lish/) to access your Linode. From your Linode's dashboard, click the **Launch Console** link to open an SSH connection in the local system's terminal. +5. Use [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) to access your Linode. From your Linode's dashboard, click the **Launch Console** link to open an SSH connection in the local system's terminal. ## Collect Installation Files {{< note >}} diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-freebsd-on-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-freebsd-on-linode/index.md index 1b18ea7c797..d3a626d03ab 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-freebsd-on-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-freebsd-on-linode/index.md @@ -11,8 +11,8 @@ tags: ["cloud manager"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[The FreeBSD Handbook](https://www.freebsd.org/doc/handbook/)' - - '[Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/)' - - '[Access Your Linux Desktop Using Glish](/docs/products/compute/compute-instances/guides/glish/)' + - '[Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish)' + - '[Access Your Linux Desktop Using Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish)' - '[FreeBSD Handbook - Comparing BSD and Linux](https://www.freebsd.org/doc/en/articles/explaining-bsd/comparing-bsd-and-linux.html)' - '[FreeBSD Handbook - Linux® Binary Compatibility](https://www.freebsd.org/doc/handbook/linuxemu.html)' relations: @@ -37,16 +37,16 @@ Briefly, Linux is a term used for a group of operating systems that all use the Though FreeBSD grew out of the original UNIX codebase, no UNIX code currently remains. Every part of FreeBSD is developed in the same source tree and code is released under the more permissive FreeBSD License as opposed to the GNU GPL's copyleft stance. More information on the differences between these operating systems is available in the FreeBSD [Quickstart Guide for Linux Users](https://www.freebsd.org/doc/en/articles/linux-users/article.html). {{< note type="alert" >}} -FreeBSD is not officially supported by Linode at this time. This means that the [Linode Backup](/docs/products/storage/backups/) service would be unavailable to you and issues with FreeBSD on your Linode would be outside the scope of Linode Support. +FreeBSD is not officially supported by Linode at this time. This means that the [Linode Backup](https://techdocs.akamai.com/cloud-computing/docs/backup-service) service would be unavailable to you and issues with FreeBSD on your Linode would be outside the scope of Linode Support. {{< /note >}} ## Preparing Your Linode Begin by creating the Linode and making some preliminary changes. -1. Create your Linode in your preferred data center. For the purposes of this tutorial, we recommend turning [Lassie](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) *off* to prevent the watchdog from attempting to restart your Linode without your input. You can disable Lassie in the **Settings** tab of the Linode Manager under **Shutdown Watchdog**. +1. Create your Linode in your preferred data center. For the purposes of this tutorial, we recommend turning [Lassie](https://techdocs.akamai.com/cloud-computing/docs/recover-from-unexpected-shutdowns-with-lassie) *off* to prevent the watchdog 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. [Create two disk images](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk); both should be in the RAW format. +2. [Create two disk images](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#create-a-disk); both should be in the RAW format. - The first should be a 1024 MB image labeled *Installer*. - The second should use the Linode's remaining space. Label it *FreeBSD*. @@ -68,7 +68,7 @@ Begin by creating the Linode and making some preliminary changes. - /dev/sda: FreeBSD disk image. - root / boot device: Standard /dev/sda -4. [Boot into **Rescue Mode**](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) with the installer disk mounted to `/dev/sda` and access your Linode using [Lish via SSH](/docs/products/compute/compute-instances/guides/lish/) by clicking on the **Launch Console** link from your Linode's dashboard of the Linode Cloud Manager. +4. [Boot into **Rescue Mode**](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) with the installer disk mounted to `/dev/sda` and access your Linode using [Lish via SSH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) by clicking on the **Launch Console** link from your Linode's dashboard of the Linode Cloud Manager. 5. Once in Rescue Mode, run the following command, replacing latest with the latest `memstick.img` file from the [FreeBSD download page](ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/): @@ -80,7 +80,7 @@ Begin by creating the Linode and making some preliminary changes. 6. When the command finishes, reboot into your **Installer profile**. -7. Go to the **Networking** tab in the Linode Cloud Manager. Access your Linode using [Glish](/docs/products/compute/compute-instances/guides/glish/) to start the installation. Note that Glish **must** be used to complete the installation of FreeBSD. +7. Go to the **Networking** tab in the Linode Cloud Manager. Access your Linode using [Glish](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to start the installation. Note that Glish **must** be used to complete the installation of FreeBSD. ## Installing FreeBSD diff --git a/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md b/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md index 1f2f544d59a..21632654ef0 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/install-nixos-on-linode/index.md @@ -32,7 +32,7 @@ NixOS is not officially supported by Linode at the time of publishing this guide ## Before You Begin -Familiarize yourself with [LISH](/docs/products/compute/compute-instances/guides/lish/) and [GLISH](/docs/products/compute/compute-instances/guides/glish/) to connect to your Linode. You will use them throughout this guide. +Familiarize yourself with [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and [GLISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish) to connect to your Linode. You will use them throughout this guide. The [NixOS manual](https://nixos.org/nixos/manual/) is the main reference for NixOS. It explores the concepts at a high level and serves as a reference for some system configuration concepts. This should have everything you need to know to get started, but there may be some deeper concepts that are not thoroughly addressed. For more in-depth information, visit the [NixOS](https://nixos.org/nixos/manual/) and [Nixpkgs](https://nixos.org/nixpkgs/manual/) manuals. @@ -46,7 +46,7 @@ To create a new Linode, go to the [Create Linode page](https://cloud.linode.com/ ### Create Disks for Nix -[Create three disk images](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk): One for the installer, one for a swap partition, and one for the root partition. Label them: +[Create three disk images](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#create-a-disk): One for the installer, one for a swap partition, and one for the root partition. Label them: - **Installer**: A type `ext4` disk, 1280 MB in size. - **Swap**: A `swap` disk no larger than 512 MB. @@ -54,7 +54,7 @@ To create a new Linode, go to the [Create Linode page](https://cloud.linode.com/ ### Create Configuration Profiles -[Create two configuration profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#create-a-configuration-profile), one for the installer and one to boot NixOS. For each profile, disable all of the options under **Filesystem/Boot Helpers** and set the **Configuration Profile** to match the following: +[Create two configuration profiles](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#create-a-configuration-profile), one for the installer and one to boot NixOS. For each profile, disable all of the options under **Filesystem/Boot Helpers** and set the **Configuration Profile** to match the following: - **Installer profile** @@ -77,7 +77,7 @@ To create a new Linode, go to the [Create Linode page](https://cloud.linode.com/ 1. In your browser, navigate to the [NixOS download page](https://nixos.org/nixos/download.html) and copy the URL from the **Minimal installation CD, 64-bit Intel/AMD** link. -1. [Boot your Linode into rescue mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) with the **Installer** disk mounted as `/dev/sda`. +1. [Boot your Linode into rescue mode](https://techdocs.akamai.com/cloud-computing/docs/rescue-and-rebuild#boot-into-rescue-mode) with the **Installer** disk mounted as `/dev/sda`. 1. Once in rescue mode, click the **Launch Console** link to launch the Finnix rescue console and run the following commands, replacing the URL with the latest 64-bit minimal installation image copied from the [NixOS download page](https://nixos.org/nixos/download.html): @@ -100,7 +100,7 @@ Now that you have created the installer disk, you need to boot with the installe ### Boot the Installer -In your Linode's dashboard, boot into your **Installer** configuration profile. Since the installer image isn't configured to support SSH or the LISH console, connect to your Linode using [GLISH](/docs/products/compute/compute-instances/guides/glish/). +In your Linode's dashboard, boot into your **Installer** configuration profile. Since the installer image isn't configured to support SSH or the LISH console, connect to your Linode using [GLISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-desktop-environment-using-glish). ### Set up the Install Environment @@ -219,7 +219,7 @@ To secure your system, change this setting to `"no"` after creating a limited us ### Disable Predictable Interface Names -1. Most of Linode's default images have had systemd's predictable interface names disabled. Because of this, most of [Linode's networking guides](/docs/networking/) assume an interface of `eth0`. Since your Linode runs in a virtual environment and will have a single interface, it won't encounter the issues that predictable interface names were designed to solve. This change is optional, but may help troubleshooting later; add the following line: +1. Most of Linode's default images have had systemd's predictable interface names disabled. Because of this, most of [Linode's networking guides](/cloud/networking/) assume an interface of `eth0`. Since your Linode runs in a virtual environment and will have a single interface, it won't encounter the issues that predictable interface names were designed to solve. This change is optional, but may help troubleshooting later; add the following line: ```file {title="/mnt/etc/nixos/configuration.nix"} networking.usePredictableInterfaceNames = false; @@ -291,7 +291,7 @@ NixOS is now installed and can be booted from the **Boot** profile created in [C In this optional section, you'll create a deployable disk image of NixOS. -1. [*Linode Images*](/docs/products/tools/images/) allows you to take snapshots of your system. These snapshots are limited to 2GB in size. The NixOS installation includes packages that were essential for the installation process, but aren't needed for the running system. These can be removed after installation: +1. [*Linode Images*](https://techdocs.akamai.com/cloud-computing/docs/images) allows you to take snapshots of your system. These snapshots are limited to 2GB in size. The NixOS installation includes packages that were essential for the installation process, but aren't needed for the running system. These can be removed after installation: ```command nix-collect-garbage -d @@ -305,19 +305,19 @@ In this optional section, you'll create a deployable disk image of NixOS. cd /var/log ``` -1. Create an image of the **NixOS** disk using the [Linode Images](/docs/products/tools/images/guides/capture-an-image/) guide. Label the image according to the release of NixOS you installed. Now that you have created an image, you can select it in the distribution menu whenever you deploy a Linode. +1. Create an image of the **NixOS** disk using the [Linode Images](https://techdocs.akamai.com/cloud-computing/docs/capture-an-image) guide. Label the image according to the release of NixOS you installed. Now that you have created an image, you can select it in the distribution menu whenever you deploy a Linode. ## Delete the Installer Disk and Profile If you're not confident with your install configuration, you can keep the installer and boot from it to reinstall adjusted configuration repeatedly. -Otherwise, you can now delete the installer disk and profile from your Linode using the [Deleting a Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#delete-a-configuration-profile) and [Deleting a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#delete-a-disk) guides. +Otherwise, you can now delete the installer disk and profile from your Linode using the [Deleting a Configuration Profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#delete-a-configuration-profile) and [Deleting a Disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#delete-a-disk) guides. Remove the **Installer** disk and reclaim the storage that the NixOS installation was using: 1. Go to your Linode's dashboard and shutdown your Linode. - 2. [Remove the *Installer* disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#delete-a-disk). - 3. [Resize the *NixOS* disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) to the maximum possible size. + 2. [Remove the *Installer* disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#delete-a-disk). + 3. [Resize the *NixOS* disk](https://techdocs.akamai.com/cloud-computing/docs/manage-disks-on-a-compute-instance#resize-a-disk) to the maximum possible size. ## Enable Longview Agent (optional) diff --git a/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md b/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md index 3f197a06517..f746b553046 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/run-a-custom-compiled-kernel-with-pvgrub/index.md @@ -16,7 +16,7 @@ deprecated: true For some use cases, you may wish to run a custom-compiled Linux kernel on your Linode. This can be useful if you need to enable certain kernel features that are unavailable in Linode-supplied or distribution-supplied kernels, or when you want to disable features that are compiled into such kernels. For example, some users may desire [SELinux](http://en.wikipedia.org/wiki/Security-Enhanced_Linux) support, which is not enabled in stock Linode kernels, and may not be enabled in some distribution-supplied kernels. -If you'd rather run a distribution-supplied kernel instead, please follow our guide for [running a distribution-supplied kernel](/docs/guides/run-a-distributionsupplied-kernel-with-pvgrub/). Before proceeding with these instructions, you should follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. After doing so, make sure you are logged into your Linode as the "root" user via an SSH session. +If you'd rather run a distribution-supplied kernel instead, please follow our guide for [running a distribution-supplied kernel](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/). Before proceeding with these instructions, you should follow the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. After doing so, make sure you are logged into your Linode as the "root" user via an SSH session. ## Prepare the System diff --git a/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md b/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md index 1d6be8cd2b7..4e2692da522 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub/index.md @@ -15,14 +15,14 @@ deprecated: true {{% content "all-linodes-kvm-shortguide" %}} {{< note type="alert" >}} -This guide is for legacy Xen Linodes. For newer Linodes, consult our [How to Change your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) guide. +This guide is for legacy Xen Linodes. For newer Linodes, consult our [How to Change your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) guide. {{< /note >}} PV-GRUB makes it possible to run your own kernel on your Linode, instead of using a host-supplied kernel. This is useful in cases where you'd like to enable specific kernel features, or you'd prefer to handle kernel upgrades directly. -If you'd like to run a custom distro on your Linode in combination with PV-GRUB, please follow our [Custom Distro](/docs/guides/install-a-custom-distribution/) guide before taking these steps. +If you'd like to run a custom distro on your Linode in combination with PV-GRUB, please follow our [Custom Distro](/cloud/guides/install-a-custom-distribution/) guide before taking these steps. -Before you get started, make sure you follow the steps outlined in our [Getting Started](/docs/products/platform/get-started/) guide. Your Linode needs to be in a functional state. These steps should be performed as `root` on your Linode, via an SSH session. +Before you get started, make sure you follow the steps outlined in our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. Your Linode needs to be in a functional state. These steps should be performed as `root` on your Linode, via an SSH session. ## Ubuntu 13.04 (Raring) diff --git a/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md b/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md index e207095dc0e..bb31be3eab4 100644 --- a/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md +++ b/docs/guides/tools-reference/custom-kernels-distros/use-the-distribution-supplied-kernel-on-centos-6-with-grub-legacy/index.md @@ -15,10 +15,10 @@ deprecated: true This guide will show you how to install and use the distribution-supplied kernel for CentOS 6, with our **Grub Legacy** boot option. -Before you get started, make sure you follow the steps outlined in our [Getting Started](/docs/products/platform/get-started/) guide. Your Linode needs to be in a functional state. These steps should be performed as `root` on your Linode, via an SSH session. +Before you get started, make sure you follow the steps outlined in our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. Your Linode needs to be in a functional state. These steps should be performed as `root` on your Linode, via an SSH session. {{< note >}} -This guide is intended for Linodes running on our KVM hypervisor. For older Xen Linodes, see [this](/docs/guides/run-a-distributionsupplied-kernel-with-pvgrub/) guide. +This guide is intended for Linodes running on our KVM hypervisor. For older Xen Linodes, see [this](/cloud/guides/run-a-distributionsupplied-kernel-with-pvgrub/) guide. {{< /note >}} {{% content "all-linodes-kvm-shortguide" %}} @@ -64,7 +64,7 @@ title CentOS 6 {{< /file >}} -5. In the Linode Manager, edit your Linode's [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#edit-a-configuration-profile) by selecting the **Grub (Legacy)** option within the *Kernel* drop-down menu. +5. In the Linode Manager, edit your Linode's [configuration profile](https://techdocs.akamai.com/cloud-computing/docs/manage-configuration-profiles-on-a-compute-instance#edit-a-configuration-profile) by selecting the **Grub (Legacy)** option within the *Kernel* drop-down menu. 6. Make sure the root device is specified as **/dev/sda**, and click **Save Profile** at the bottom of the page to confirm your changes. diff --git a/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md b/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md index 3b9eae2405c..b9fbdd51d9e 100644 --- a/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md +++ b/docs/guides/tools-reference/file-transfer/comparing-data-transfer-utilities/index.md @@ -8,11 +8,11 @@ published: 2024-10-09 keywords: ['data transfer utility','data transfer','file transfer'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[Introduction to Rsync](/docs/guides/introduction-to-rsync/)' -- '[Transfer Files With the scp Command on Linux](/docs/guides/how-to-use-scp/)' -- '[Transfer Files with SFTP](/docs/guides/sftp-linux/)' -- '[What Is FTP and How Does It Work?](/docs/guides/what-is-ftp/)' -- '[Transfer Files with FileZilla](/docs/guides/filezilla/)' +- '[Introduction to Rsync](/cloud/guides/introduction-to-rsync/)' +- '[Transfer Files With the scp Command on Linux](/cloud/guides/how-to-use-scp/)' +- '[Transfer Files with SFTP](/cloud/guides/sftp-linux/)' +- '[What Is FTP and How Does It Work?](/cloud/guides/what-is-ftp/)' +- '[Transfer Files with FileZilla](/cloud/guides/filezilla/)' --- Technology professionals and end users rely on a myriad of utilities for moving data between locations. This guide discusses several of these data transfer protocols and utilities: @@ -107,7 +107,7 @@ SFTP works like traditional FTP, but over an encrypted, secure connection. SFTP SFTP can be used to transfer files without requiring shell access to the user on the remote host (by using the [ForceCommand SSH config parameter](https://man7.org/linux/man-pages/man5/sshd_config.5.html)). In other words, a user on the remote host can be configured that has no shell access while still accepting file transfers. This can be relevant because limiting shell access is an important tool for securing a server. If a user has shell access, then if it is compromised, an attacker can run any permitted command for the user. By comparison, [SFTP has a narrower range of commands](https://man7.org/linux/man-pages/man1/sftp.1.html#INTERACTIVE_COMMANDS) that can be executed. -SFTP can be further secured by creating an [SFTP *jail*](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/), which limits which directory can be accessed on the remote server. +SFTP can be further secured by creating an [SFTP *jail*](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/), which limits which directory can be accessed on the remote server. ### FTP/SFTP Clients diff --git a/docs/guides/tools-reference/file-transfer/filezilla/index.md b/docs/guides/tools-reference/file-transfer/filezilla/index.md index 4eaf69c4d69..e6888c764ea 100644 --- a/docs/guides/tools-reference/file-transfer/filezilla/index.md +++ b/docs/guides/tools-reference/file-transfer/filezilla/index.md @@ -20,8 +20,8 @@ external_resources: ## Before You Begin -- You will need root access to your Linode, or a user account with `sudo` privilege. Note that if you transfer files as `root`, you may need to change file [ownership and permissions](/docs/guides/linux-users-and-groups/) afterwards. -- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- You will need root access to your Linode, or a user account with `sudo` privilege. Note that if you transfer files as `root`, you may need to change file [ownership and permissions](/cloud/guides/linux-users-and-groups/) afterwards. +- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). - Update your system. @@ -51,13 +51,13 @@ external_resources: ## FileZilla with Public Key Authentication -If you followed our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, you won't be able to connect to your Linode using a password. If you are using Linux or macOS, the SSH keypair generated while following that guide will be automatically used for authentication. +If you followed our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, you won't be able to connect to your Linode using a password. If you are using Linux or macOS, the SSH keypair generated while following that guide will be automatically used for authentication. {{< note >}} If you are using macOS, the passphrase for your key will need to be stored in your keychain to successfully connect using an SSH keypair. FileZilla will not be able to use a key that was generated without a passphrase to connect to your Linode. {{< /note >}} -If you are using Windows, you'll need to follow a few additional steps to enable key based authentication. The instructions below assume that you have already completed the guide for [generating your SSH key with Putty](/docs/guides/use-public-key-authentication-with-ssh/#public-key-authentication-with-putty-on-windows). +If you are using Windows, you'll need to follow a few additional steps to enable key based authentication. The instructions below assume that you have already completed the guide for [generating your SSH key with Putty](/cloud/guides/use-public-key-authentication-with-ssh/#public-key-authentication-with-putty-on-windows). 1. Install Pageant from the [Putty site](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) diff --git a/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md b/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md index 9514c4cbba5..87e98f0b9de 100644 --- a/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md +++ b/docs/guides/tools-reference/file-transfer/how-to-use-scp/index.md @@ -53,9 +53,9 @@ Both SCP and the SSH File Transfer Protocol (SFTP) are methods to more securely ## Before You Begin -1. If you have not already done so, create a Linode account and at least two 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 two 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. Create the following example files and directories on your local machine: @@ -77,7 +77,7 @@ Both SCP and the SSH File Transfer Protocol (SFTP) are methods to more securely ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## SCP Basic Syntax @@ -110,7 +110,7 @@ The `scp` command permits users to choose from a list of options. The most commo - **-r**: Copy directories recursively. - **-v**: Print debug messages. -To use `scp`, the user must have read access for the files they are transferring and write permission on the destination directory. For authentication purposes, either an SSH key or user password is required for the destination. For more information on SSH, see our guide on [Connecting to a Remote Server Over SSH on Linux](/docs/guides/connect-to-server-over-ssh-on-linux/). +To use `scp`, the user must have read access for the files they are transferring and write permission on the destination directory. For authentication purposes, either an SSH key or user password is required for the destination. For more information on SSH, see our guide on [Connecting to a Remote Server Over SSH on Linux](/cloud/guides/connect-to-server-over-ssh-on-linux/). {{< note type="alert" >}} Exercise a high degree of caution when using `scp`. It does not provide any warnings or ask for confirmation before overwriting an existing file with the same name. It is very easy to accidentally overwrite files or directories, especially when using `scp` in recursive mode. diff --git a/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md b/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md index a60cb355038..de2e4c0e04c 100644 --- a/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md +++ b/docs/guides/tools-reference/file-transfer/introduction-to-rsync/index.md @@ -15,7 +15,7 @@ external_resources: tags: ["linux"] --- -[Rsync](https://rsync.samba.org/) is a command line utility which synchronizes files and folders from one location to another. Some workflows that can be implemented using rsync are updating a production host from a development machine, or using a cron job to call rsync to regularly back up data to a storage location. You can even use rsync to [migrate your server to Linode](/docs/guides/migrating-a-server-to-your-linode/) from other providers. +[Rsync](https://rsync.samba.org/) is a command line utility which synchronizes files and folders from one location to another. Some workflows that can be implemented using rsync are updating a production host from a development machine, or using a cron job to call rsync to regularly back up data to a storage location. You can even use rsync to [migrate your server to Linode](/cloud/guides/migrating-a-server-to-your-linode/) from other providers. ![Introduction to rsync](rsync-title-graphic.jpg) diff --git a/docs/guides/tools-reference/file-transfer/rsync-cross-platform-tutorial/index.md b/docs/guides/tools-reference/file-transfer/rsync-cross-platform-tutorial/index.md index b0b6acc1bcd..7217562377c 100644 --- a/docs/guides/tools-reference/file-transfer/rsync-cross-platform-tutorial/index.md +++ b/docs/guides/tools-reference/file-transfer/rsync-cross-platform-tutorial/index.md @@ -23,7 +23,7 @@ A wide variety of filters can be added to the `rsync` command line. File managem On Linux and Unix-derivative operating systems, file movement is accomplished with FTP/SFTP, `scp`, `cp`, `mv`, and other tools, but these lack `rsync` file filters and options. Rsync jobs permit strong filtration and tailoring for backup, data file set synchronization and archiving using these filters. Importantly, `rsync` does not require root or sudo permission(s) although they are confined by the user permissions of the account invoking `rsync`. -To learn more about `rsync`, see our [Introduction to Rsync guide](/docs/guides/introduction-to-rsync). +To learn more about `rsync`, see our [Introduction to Rsync guide](/cloud/guides/introduction-to-rsync). ## Basic Command Syntax and Implications diff --git a/docs/guides/tools-reference/file-transfer/sftp-linux/index.md b/docs/guides/tools-reference/file-transfer/sftp-linux/index.md index 9473efa6d64..98a715c7d23 100644 --- a/docs/guides/tools-reference/file-transfer/sftp-linux/index.md +++ b/docs/guides/tools-reference/file-transfer/sftp-linux/index.md @@ -54,12 +54,12 @@ In summary, SFTP is a good, all-purpose utility with more functionality than 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. {{< 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 >}} ## Create an SFTP Connection @@ -104,7 +104,7 @@ Virtually all Linux distributions include SSH and SFTP as part of the default pa ### Open the SFTP Port -In some cases, the [UFW firewall](/docs/guides/configure-firewall-with-ufw/) might not be configured to allow SFTP requests. To allow SFTP configurations, enable the `ssh` component. +In some cases, the [UFW firewall](/cloud/guides/configure-firewall-with-ufw/) might not be configured to allow SFTP requests. To allow SFTP configurations, enable the `ssh` component. 1. Verify the current `ufw` settings to see whether `ssh` is allowed. If SFTP requests are allowed, port `22` is shown with an action of `ALLOW`. In this example, SFTP is not yet enabled. @@ -312,4 +312,4 @@ cd path Change remote directory to 'path' ## Use an SFTP GUI Client to Transfer Files -If you prefer to use a graphical user interface (GUI) to work with files remotely, there are several available options. FileZilla is a popular open source SFTP client that supports SFTP, FTPS, FTP, and IPv6. To learn how to install and use this tool, see our [Transfer Files with FileZilla](/docs/guides/filezilla/) guide. \ No newline at end of file +If you prefer to use a graphical user interface (GUI) to work with files remotely, there are several available options. FileZilla is a popular open source SFTP client that supports SFTP, FTPS, FTP, and IPv6. To learn how to install and use this tool, see our [Transfer Files with FileZilla](/cloud/guides/filezilla/) guide. \ No newline at end of file diff --git a/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md b/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md index 77182f2da12..6679c2d5a2c 100644 --- a/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md +++ b/docs/guides/tools-reference/file-transfer/transfer-files-with-cyberduck-on-mac-os-x/index.md @@ -14,7 +14,7 @@ deprecated: true Cyberduck is a free, open source file transfer program written for Mac OS X. It implements several file transfer protocols, most notably SFTP via SSH. This tool allows you to securely transfer files to and from your Linode using an encrypted channel, avoiding the security problems and usability issues inherent in traditional FTP client/server systems. Cyberduck can send both your login credentials and file transfers over the network securely encrypted (provided you're using SFTP), while standard FTP clients send this information as plaintext. -You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/docs/guides/linux-users-and-groups/) on the server after doing so. +You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/cloud/guides/linux-users-and-groups/) on the server after doing so. ## Obtaining and Installing Cyberduck @@ -86,7 +86,7 @@ This allows you to maintain connection information for multiple servers or user You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Cyberduck User Forums](http://forums.cocoaforge.com/viewforum.php?f=9) -- [Tools & Resources](/docs/tools-reference/) +- [Tools & Resources](/cloud/tools-reference/) diff --git a/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md b/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md index 9e0cc4b0506..aa8a4e2e433 100644 --- a/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md +++ b/docs/guides/tools-reference/file-transfer/transfer-files-with-filezilla-on-ubuntu-9-10-desktop/index.md @@ -15,7 +15,7 @@ deprecated: true Filezilla is a free, open source file transfer program written for Linux, Mac OS X, and Windows systems. It implements several file transfer protocols, most notably SFTP via SSH. This tool allows you to securely transfer files to and from your Linode using an encrypted channel, avoiding the security problems and usability issues inherent in traditional FTP client/server systems. Filezilla can send both your login credentials and file transfers over the network securely encrypted (provided you're using SFTP), while standard FTP clients send this information as plaintext. -You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/docs/guides/linux-users-and-groups/) on the server after doing so. +You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. If you wish, you may use the `root` account on your Linode to perform file transfers, although you may need to change [file ownership and permissions](/cloud/guides/linux-users-and-groups/) on the server after doing so. ## Installing Filezilla @@ -81,7 +81,7 @@ If you're asked for a password, please double-check the preceding steps in this You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Filezilla Documentation](http://wiki.filezilla-project.org/Documentation) -- [Tools & Resources](/docs/tools-reference/) +- [Tools & Resources](/cloud/tools-reference/) diff --git a/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md b/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md index 88d281e55f2..7e643a5d942 100644 --- a/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md +++ b/docs/guides/tools-reference/file-transfer/transfer-files-with-winscp-on-windows/index.md @@ -14,7 +14,7 @@ deprecated: true WinSCP is a free, open source file transfer program written for Microsoft Windows. It implements several file transfer protocols, most notably SFTP via SSH. This tool allows you to securely transfer files to and from your Linode using an encrypted channel, avoiding the security problems and usability issues inherent in traditional FTP client/server systems. WinSCP sends both your login credentials and file transfers over the network securely encrypted, while standard FTP clients send this information as plaintext. -You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. You may wish to verify that you can log into your Linode via SSH using a tool like the [PuTTY SSH client](/docs/guides/connect-to-server-over-ssh-using-putty/) before continuing. +You'll need to make sure your Linode is running an SSH daemon (all Linodes run an OpenSSH server by default), and that you have a user account on the server before following these instructions. You may wish to verify that you can log into your Linode via SSH using a tool like the [PuTTY SSH client](/cloud/guides/connect-to-server-over-ssh-using-putty/) before continuing. ![Transfer Files with WinSCP on Windows](transfer_files_with_winscp_on_windows_smg.png) @@ -46,7 +46,7 @@ Once launched, you'll be presented with a screen similar to the following: Enter your Linode's fully qualified hostname or IP address in the "Host name" field. Unless you've modified your system to run your SSH server on a non-standard port, leave "Port number" as the default (port 22). Enter your Linux username and password in the next two fields. Click "Login" to begin your session. -You'll need to specify account credentials that have access to the filesystem location you'd like to transfer files to and/or from on your Linode; in this case, we've specified the "root" user, which has administrative access to the system. It's advisable to create separate user accounts on your system in lieu of using "root" for common tasks; you can learn more about Linux/UNIX users and groups in our [users and groups tutorial](/docs/guides/linux-users-and-groups/). +You'll need to specify account credentials that have access to the filesystem location you'd like to transfer files to and/or from on your Linode; in this case, we've specified the "root" user, which has administrative access to the system. It's advisable to create separate user accounts on your system in lieu of using "root" for common tasks; you can learn more about Linux/UNIX users and groups in our [users and groups tutorial](/cloud/guides/linux-users-and-groups/). If you haven't previously logged into your Linode from this workstation with WinSCP, you'll be presented with a warning dialog similar to the following: @@ -69,7 +69,7 @@ You can navigate your local filesystem in the left view pane, while your Linode' You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [WinSCP Documentation](http://winscp.net/eng/docs/start) -- [Tools & Resources](/docs/tools-reference/) +- [Tools & Resources](/cloud/tools-reference/) diff --git a/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md b/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md index bc138e9f275..a0e6be1b607 100644 --- a/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md +++ b/docs/guides/tools-reference/file-transfer/vsftpd-on-ubuntu-2004-installation-and-configuration/index.md @@ -33,10 +33,10 @@ This guide demonstrates: ## Before You Begin -This guide assumes that you have access to a server running Ubuntu 20.04 that you can install the FTP server on and upload files to. To create a server on Linode, follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. Be sure to [add a limited Linux user](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) to issue the commands in this guide from. +This guide assumes that you have access to a server running Ubuntu 20.04 that you can install the FTP server on and upload files to. To create a server on Linode, follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. Be sure to [add a limited Linux user](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) to issue the commands in this guide from. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## VSFTPD Installation Steps @@ -266,7 +266,7 @@ testfile.txt testfile2.txt ## Connect to Your Server using VSFTPD -This section shows how to allow connections from remote clients to VSFTPD by configuring the [UFW](/docs/guides/configure-firewall-with-ufw/) firewall. The UFW firewall was installed as part of the [VSFTPD Installation Steps](#vsftpd-installation-steps) section. +This section shows how to allow connections from remote clients to VSFTPD by configuring the [UFW](/cloud/guides/configure-firewall-with-ufw/) firewall. The UFW firewall was installed as part of the [VSFTPD Installation Steps](#vsftpd-installation-steps) section. 1. Before enabling VSFTPD connections, make sure SSH connections are also allowed: diff --git a/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md index c5536f3e7a0..8786eb37f05 100644 --- a/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/apt-package-manager/index.md @@ -24,12 +24,12 @@ This guide aims to walk you through using APT and its command-line tools to perf Before running the commands within this guide, you will need: -1. **A system running on Debian or Ubuntu.** Other Linux distributions that employ the APT package manager can also be used. Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running on Debian or Ubuntu.** Other Linux distributions that employ the APT package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## What's the difference between `apt` and `apt-get`/`apt-cache`? @@ -139,11 +139,11 @@ The `apt list` command lists all available, installed, or upgradeable packages. Additional options, commands, and notes: -- Use [grep](/docs/guides/how-to-use-grep/) to quickly search through the list for specific package names or other strings. Replace *[string]* with the package name or other term you wish to search for. +- Use [grep](/cloud/guides/how-to-use-grep/) to quickly search through the list for specific package names or other strings. Replace *[string]* with the package name or other term you wish to search for. apt list --installed | grep [string] -- Use a content viewer like [less](/docs/guides/how-to-use-less/) to interact with the output, which may help you view or search for your desired information. +- Use a content viewer like [less](/cloud/guides/how-to-use-less/) to interact with the output, which may help you view or search for your desired information. apt list --installed | less @@ -207,7 +207,7 @@ If you wish to replicate the currently installed packages to another system with This command creates a new file using the name provided in the last step and appending `.apt-clone.tar.gz`. -1. Copy the file to your new system. See the [Download Files from Your Linode](/docs/guides/download-files-from-a-compute-instance/) guide or the [File Transfer](/docs/guides/tools-reference/file-transfer/) section for more information. +1. Copy the file to your new system. See the [Download Files from Your Linode](/cloud/guides/download-files-from-a-compute-instance/) guide or the [File Transfer](/cloud/guides/tools-reference/file-transfer/) section for more information. 1. Install apt-clone on the new system (see Step 1). diff --git a/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md index c1bee56fbd4..40e32eb6120 100644 --- a/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/dnf-package-manager/index.md @@ -33,12 +33,12 @@ This guide aims to familiarize you with the DNF commands you are most likely to Before running the commands within this guide, you will need: -1. **A system running on CentOS/RHEL 8, AlmaLinux 8, Rocky Linux 8, Fedora 22, or later versions of these distributions.** Other Linux distributions that employ the DNF package manager can also be used. Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running on CentOS/RHEL 8, AlmaLinux 8, Rocky Linux 8, Fedora 22, or later versions of these distributions.** Other Linux distributions that employ the DNF package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Upgrade Packages @@ -123,7 +123,7 @@ DNF provides numerous options in common between many of its commands. The exampl sudo dnf list recent - - You can also give the name of a package along with the `--showduplicates` flag. This gives a list of available versions of the package. You can see a version of this command used in the [Useful Options](/docs/guides/dnf-package-manager/#useful-options) section above. The example below shows all of the versions of Git available in DNF's repositories: + - You can also give the name of a package along with the `--showduplicates` flag. This gives a list of available versions of the package. You can see a version of this command used in the [Useful Options](/cloud/guides/dnf-package-manager/#useful-options) section above. The example below shows all of the versions of Git available in DNF's repositories: sudo dnf list git --showduplicates diff --git a/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md b/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md index a57a39bd9ef..3c5231d30fa 100644 --- a/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md +++ b/docs/guides/tools-reference/linux-package-management/linux-package-management-overview/index.md @@ -50,7 +50,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### APT -[Using APT to Manage Packages in Debian and Ubuntu](/docs/guides/apt-package-manager/) +[Using APT to Manage Packages in Debian and Ubuntu](/cloud/guides/apt-package-manager/) - **Distributions:** Ubuntu, Debian, and Kali Linux - **Commands:** `apt`, `apt-get`, `apt-cache` @@ -61,7 +61,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### DNF -[Using DNF to Manage Packages in CentOS/RHEL 8 and Fedora](/docs/guides/dnf-package-manager/) +[Using DNF to Manage Packages in CentOS/RHEL 8 and Fedora](/cloud/guides/dnf-package-manager/) - **Distributions:** RHEL/CentOS 8, Fedora 22, and later versions of both distributions - **Commands:** `dnf`, `yum` @@ -72,7 +72,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### YUM -[Using YUM to Manage Packages in CentOS/RHEL 7 and Earlier](/docs/guides/yum-package-manager/) +[Using YUM to Manage Packages in CentOS/RHEL 7 and Earlier](/cloud/guides/yum-package-manager/) - **Distributions:** RHEL/CentOS 7, Fedora 21, and earlier versions of both distributions - **Command:** `yum` @@ -83,7 +83,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### Zypper -[Use Zypper to Manage Packages in openSUSE](/docs/guides/zypper-package-manager/) +[Use Zypper to Manage Packages in openSUSE](/cloud/guides/zypper-package-manager/) - **Distributions:** openSUSE - **Command:** `zypper` @@ -94,7 +94,7 @@ There are lots of package managers in Linux, each working a bit differently. Her ### Pacman -[Using Pacman to Manage Packages in Arch](/docs/guides/pacman-package-manager/) +[Using Pacman to Manage Packages in Arch](/cloud/guides/pacman-package-manager/) - **Distributions:** Arch-based, including Arch and Manjaro - **Command:** `pacman` @@ -104,7 +104,7 @@ Arch Linux and other similar distributions (like the popular Manjaro desktop dis ### Portage -[Using Portage to Manage Packages in Gentoo](/docs/guides/portage-package-manager/) +[Using Portage to Manage Packages in Gentoo](/cloud/guides/portage-package-manager/) - **Distributions:** Gentoo - **Command:** `emerge` @@ -114,7 +114,7 @@ Arch Linux and other similar distributions (like the popular Manjaro desktop dis ### Slackware Package Management -[Managing Packages in Slackware](/docs/guides/slackware-package-management/) +[Managing Packages in Slackware](/cloud/guides/slackware-package-management/) - **Distributions:** Slackware - **Commands:** `slackpkg`, `pkgtool`, `installpkg`, `upgradepkg`, `removepkg` diff --git a/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md index f60ffc9a0f5..86156be5d08 100644 --- a/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/pacman-package-manager/index.md @@ -18,12 +18,12 @@ Arch Linux uses binary packages in a `.tar.xz` format, and also provides a "port Before running the commands within this guide, you will need: -1. **A system running Arch Linux** or an Arch-based distribution like Manjaro. Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running Arch Linux** or an Arch-based distribution like Manjaro. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Pacman diff --git a/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md index e318c8ba9fa..7debdc5d11d 100644 --- a/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/portage-package-manager/index.md @@ -24,12 +24,12 @@ This guide addresses common package management tasks and functions using the `em Before running the commands within this guide, you will need: -1. **A system running Gentoo.** Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running Gentoo.** Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Emerge/Portage Commands diff --git a/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md b/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md index 27f7035370e..05b4c032f79 100644 --- a/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md +++ b/docs/guides/tools-reference/linux-package-management/slackware-package-management/index.md @@ -22,12 +22,12 @@ Slackware includes `pkgtool` for local package management and `slackpkg` for rem Before running the commands within this guide, you will need: -1. **A system running Slackware.** Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running Slackware.** Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Working With Packages Locally diff --git a/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md index e115cf8b7b5..a8a23789c5d 100644 --- a/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/yum-package-manager/index.md @@ -16,7 +16,7 @@ external_resources: - '[YUM Package Manager](http://yum.baseurl.org/)' --- -*Yellowdog Updater, Modified*, more commonly known as **YUM**, is a package management tool for a variety of Linux distributions. It provides an easy-to-use interface on top of the low-level functions available in the RPM Package Manger (RPM). YUM is the default package manager for CentOS 7 as well as older versions of RHEL and Fedora. It has largely been replaced by it successor *Dandified YUM*, also called **DNF**, on most newer RPM-based distributions, including CentOS 8, RHEL 8, and Fedora 22 (and later). If you are interested in learning about the DNF package manager, see the [Using the DNF Package Manager](/docs/guides/dnf-package-manager/) guide. +*Yellowdog Updater, Modified*, more commonly known as **YUM**, is a package management tool for a variety of Linux distributions. It provides an easy-to-use interface on top of the low-level functions available in the RPM Package Manger (RPM). YUM is the default package manager for CentOS 7 as well as older versions of RHEL and Fedora. It has largely been replaced by it successor *Dandified YUM*, also called **DNF**, on most newer RPM-based distributions, including CentOS 8, RHEL 8, and Fedora 22 (and later). If you are interested in learning about the DNF package manager, see the [Using the DNF Package Manager](/cloud/guides/dnf-package-manager/) guide. This guide aims to familiarize you with the YUM commands you are most likely to encounter. By the end, you should feel comfortable navigating YUM in all but its more advanced features. And for those, you can find some helpful resources at the end of this guide. @@ -24,12 +24,12 @@ This guide aims to familiarize you with the YUM commands you are most likely to Before running the commands within this guide, you will need: -1. **A system running on CentOS/RHEL 7, Fedora 21, or earlier versions of either distribution.** Other Linux distributions that employ the YUM package manager can also be used. Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running on CentOS/RHEL 7, Fedora 21, or earlier versions of either distribution.** Other Linux distributions that employ the YUM package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance on creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance on creating and securing a standard user account. {{< note >}} -Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. +Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root use (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Upgrading Packages @@ -98,7 +98,7 @@ YUM provides numerous options in common between many of its commands. The exampl sudo yum list - YUM's `list` command provides some additional options to list more specific groups of packages. Here are three useful examples. You can find another example in the [Useful Options](/docs/guides/yum-package-manager/#useful-options) section above. + YUM's `list` command provides some additional options to list more specific groups of packages. Here are three useful examples. You can find another example in the [Useful Options](/cloud/guides/yum-package-manager/#useful-options) section above. The `available` option lists all of the packages that can be installed on your system through YUM's repositories: diff --git a/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md b/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md index ebc2e113ed3..525260d4546 100644 --- a/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md +++ b/docs/guides/tools-reference/linux-package-management/zypper-package-manager/index.md @@ -21,12 +21,12 @@ In this guide, you learn how to use Zypper to execute common package management Before running the commands within this guide, you need: -1. **A system running on openSUSE.** Other Linux distributions that employ the Zypper package manager can also be used. Review the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide if you do not yet have a compatible system. +1. **A system running on openSUSE.** Other Linux distributions that employ the Zypper package manager can also be used. Review the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide if you do not yet have a compatible system. -1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Review the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide for assistance with creating and securing a standard user account. +1. **Login credentials to the system** for either the root user (not recommended) or a standard user account (belonging to the `sudo` group) and the ability to access the system through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Review the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide for assistance with creating and securing a standard user account. {{< note >}} - Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root user (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. + Some commands in this guide require elevated privileges and are prefixed with the `sudo` command. If you are logged in as the root user (not recommended), you can omit the `sudo` prefix if desired. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) guide. {{< /note >}} ## Install Packages @@ -37,7 +37,7 @@ Zypper's `install` command installs or updates a given package along with the pa sudo zypper install php8 ``` -Zypper can also specify a particular version of a package. Take a look further at the section on [viewing package information](/docs/guides/zypper-package-manager/#view-information-about-packages) for a method to get a list of available versions for a given package. +Zypper can also specify a particular version of a package. Take a look further at the section on [viewing package information](/cloud/guides/zypper-package-manager/#view-information-about-packages) for a method to get a list of available versions for a given package. Once you have a specific version, append it after the package name using a comparison operator. The simplest form of this is using the `=` operator to specify the exact version. @@ -227,7 +227,7 @@ S | Name | Type | Version | Arch | Rep ## Update Package Repositories -Zypper does not usually require you to manually refresh repository metadata. This contrasts with some other package managers, like [APT](/docs/guides/apt-package-manager/), that require manual repository refreshes. +Zypper does not usually require you to manually refresh repository metadata. This contrasts with some other package managers, like [APT](/cloud/guides/apt-package-manager/), that require manual repository refreshes. Zypper accomplishes this with its *auto refresh* feature. This feature is enabled on all of the default repositories, and it ensures that the repositories are automatically refreshed whenever necessary. diff --git a/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md b/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md index d3bfca1da17..4fa17b79d6b 100644 --- a/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md +++ b/docs/guides/tools-reference/tools/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/index.md @@ -18,7 +18,7 @@ tags: ["linux"] `tar` and `gzip` provide a standard interface for creating archives and compressing files on Linux systems. Together, these utilities take a large number of files, save them together in an archive (i.e. as a single file), and compress the archive to save space. However, tar and gzip provide a multitude of features and options that can lead to hard-to-read commands and make even the simplest operations confusing. -This document provides an overview of `tar` and `gzip` usage, accompanied by a number of practical applications of these utilities. If you find this guide helpful, please consider our guide to [basic administration practices](/docs/guides/linux-system-administration-basics/) or the rest of the [Tools & Reference](/docs/tools-reference/) series. +This document provides an overview of `tar` and `gzip` usage, accompanied by a number of practical applications of these utilities. If you find this guide helpful, please consider our guide to [basic administration practices](/cloud/guides/linux-system-administration-basics/) or the rest of the [Tools & Reference](/cloud/tools-reference/) series. ![Archiving and Compressing files with GNU Tar and GNU Zip](archiving_and_compressing_files_with_gnu_tar_and_gnu_zip_smg.png) diff --git a/docs/guides/tools-reference/tools/curl-for-rest-api/index.md b/docs/guides/tools-reference/tools/curl-for-rest-api/index.md index 69c70b269b1..991728f5570 100644 --- a/docs/guides/tools-reference/tools/curl-for-rest-api/index.md +++ b/docs/guides/tools-reference/tools/curl-for-rest-api/index.md @@ -156,7 +156,7 @@ Some of the similarities and differences between `curl` and `wget` are as follow - `curl` is bidirectional and can do transfers in parallel. - `curl` supports many more security measures, different releases of HTTP, and dual stack IPv4/Ipv6 transfers. -Either utility is fine for most simple HTTP requests and downloads. If you are familiar with only one of the tools and it is suitable for your requirements, continue to use it. However, `wget` is only a simple transfer utility. `curl` is a better all-purpose tool for heavy duty and professional use. See our guide [How to Use wget](/docs/guides/how-to-use-wget/) to learn more about this pared-down alternative to curl. +Either utility is fine for most simple HTTP requests and downloads. If you are familiar with only one of the tools and it is suitable for your requirements, continue to use it. However, `wget` is only a simple transfer utility. `curl` is a better all-purpose tool for heavy duty and professional use. See our guide [How to Use wget](/cloud/guides/how-to-use-wget/) to learn more about this pared-down alternative to curl. ## cURL Methods diff --git a/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md b/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md index 95e31c3f139..f5a068cdd55 100644 --- a/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md +++ b/docs/guides/tools-reference/tools/duf-command-on-linux-installation/index.md @@ -15,21 +15,21 @@ Duf is a command-line tool for viewing your system's disk usage and free space. ## 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 duf? [duf](https://github.com/muesli/duf) gives you a single tool for checking disk usage and free space. By default, Linux systems provide the du and df tools for viewing disk usage and space, respectively, from the command line. Duf presents the same information as du and df and renders it in a modern and easy-to-read command-line display. -Where `du` and `df` give you limited control over how information is shown, duf gives you options for sorting, filtering, and otherwise altering the display. You can learn more about `du` and `df` in our [How to Check and Clean a Linux System's Disk Space](/docs/guides/check-and-clean-linux-disk-space/) guide. +Where `du` and `df` give you limited control over how information is shown, duf gives you options for sorting, filtering, and otherwise altering the display. You can learn more about `du` and `df` in our [How to Check and Clean a Linux System's Disk Space](/cloud/guides/check-and-clean-linux-disk-space/) guide. -In the following sections, you can see some examples of how duf compares to du and df. Specifically, take a look at the [How to Use duf](/docs/guides/duf-command-on-linux-installation/#how-to-use-duf) section below to see side-by-side comparisons. +In the following sections, you can see some examples of how duf compares to du and df. Specifically, take a look at the [How to Use duf](/cloud/guides/duf-command-on-linux-installation/#how-to-use-duf) section below to see side-by-side comparisons. ## How to Install duf diff --git a/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md b/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md index fa1654a8ca4..2b49a173416 100644 --- a/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md +++ b/docs/guides/tools-reference/tools/dust-command-on-linux-installation/index.md @@ -60,12 +60,12 @@ A good strategy is to use dust to get a quick overview of the system's disk spac ## 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 >}} ## Install Dust @@ -76,7 +76,7 @@ There are three main ways of installing Dust. Either use the Cargo or Homebrew p The easiest way to install Dust is by using the Cargo utility. Cargo is the package manager for [*Rust*](https://www.rust-lang.org/), a popular high-performance programming language. If Rust is already installed on the system, then Cargo is installed too. If not, Cargo can be installed as a stand-alone application by using `apt`. -1. Ensure the system is fully updated using the instructions in the [Before You Begin](/docs/guides/dust-command-on-linux-installation/#before-you-begin) section. Install Cargo using `apt`. +1. Ensure the system is fully updated using the instructions in the [Before You Begin](/cloud/guides/dust-command-on-linux-installation/#before-you-begin) section. Install Cargo using `apt`. sudo apt install cargo diff --git a/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md b/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md index 9b7fef91e4e..f8ebe22edfa 100644 --- a/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md +++ b/docs/guides/tools-reference/tools/find-files-in-linux-using-the-command-line/index.md @@ -82,7 +82,7 @@ The first command returns a list of all files in the entire file system that end ## Use `grep` to Find a File in Linux Based on Content -The `find` command can only filter the directory hierarchy based on a file's name and metadata. If you need to search based on the file's content, use a tool like [`grep`](/docs/guides/how-to-use-grep-command/). Consider the following example: +The `find` command can only filter the directory hierarchy based on a file's name and metadata. If you need to search based on the file's content, use a tool like [`grep`](/cloud/guides/how-to-use-grep-command/). Consider the following example: find . -type f -exec grep "example" '{}' \; -print diff --git a/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md b/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md index ed4c0c700c5..e4a3c8550df 100644 --- a/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md +++ b/docs/guides/tools-reference/tools/how-to-administer-server-with-cockpit/index.md @@ -57,12 +57,12 @@ Other tools including Ansible, Strapi, and Portainer serve complementary roles. ## 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 Cockpit on Ubuntu 22.04 LTS diff --git a/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md b/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md index 02d21656cdb..f7cc47dc9d2 100644 --- a/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-and-configure-supervisor-on-centos-8/index.md @@ -36,15 +36,15 @@ This guide shows how to: ## Before You Begin -1. If you have not already done so, create a Linode account and *CentOS 8* 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 *CentOS 8* 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 >}} -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. +Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} -1. [Install Python 3.6 or newer](/docs/guides/how-to-install-python-on-centos-8/). +1. [Install Python 3.6 or newer](/cloud/guides/how-to-install-python-on-centos-8/). ## Set Up the Example App @@ -237,7 +237,7 @@ myappgroup:myapp STARTING {{< /output >}} {{< note respectIndent=false >}} -Optionally, you can install and use the [logrotate](/docs/guides/use-logrotate-to-manage-log-files/) tool to manage the log files created by Supervisor. +Optionally, you can install and use the [logrotate](/cloud/guides/use-logrotate-to-manage-log-files/) tool to manage the log files created by Supervisor. {{< /note >}} ### Other supervisorctl Actions diff --git a/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md b/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md index fa7f47ec2a5..9464abad034 100644 --- a/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-and-use-the-bat-command-on-linux/index.md @@ -17,12 +17,12 @@ The `bat` command is a clone of the ubiquitous `cat` command. It modernizes `cat ## 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’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 >}} ## bat vs. cat diff --git a/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md b/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md index 94788d83c9c..981010ef993 100644 --- a/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-midnight-commander/index.md @@ -25,7 +25,7 @@ A TUI facilitates interaction between users and their systems in a visually orie ## Before You Begin {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 methods in this tutorial have been tested on Debian 9. There is no special requirement to install Midnight Commander, and it works on all Linux distributions. While this file manager should work in almost identically on all Linux distributions, a particular distro may not package the exact same Midnight Commander version (4.8.18, in this case). This may result in small behavioral differences on other operating systems. diff --git a/docs/guides/tools-reference/tools/how-to-install-neovim-and-plugins-with-vim-plug/index.md b/docs/guides/tools-reference/tools/how-to-install-neovim-and-plugins-with-vim-plug/index.md index 258b9ac4050..72c311cf3f1 100644 --- a/docs/guides/tools-reference/tools/how-to-install-neovim-and-plugins-with-vim-plug/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-neovim-and-plugins-with-vim-plug/index.md @@ -38,9 +38,9 @@ This guide details the installation and configuration of NeoVim, along with two ## 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 necessary tools: diff --git a/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md b/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md index 81077a2c73b..1526181a89e 100644 --- a/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md +++ b/docs/guides/tools-reference/tools/how-to-install-streamlink-cli-on-ubuntu-macos/index.md @@ -43,7 +43,7 @@ Start with the basic requirements to get Streamlink installed. 1. Confirm the installation with **Y** and wait for the download and package installation to complete. You’re now ready to start streaming on your Ubuntu or Debian desktop computer. The steps in the following section covers those details. {{< note respectIndent=false >}} -If you receive a `No playable streams found on this URL` error, install Streamlink using the [Python Package Installer (pip)](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip): +If you receive a `No playable streams found on this URL` error, install Streamlink using the [Python Package Installer (pip)](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip): Check the version of your system's `pip` installation by running the command below: diff --git a/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md b/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md index a0047b15991..6fe51cf624c 100644 --- a/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md +++ b/docs/guides/tools-reference/tools/how-to-list-cron-jobs/index.md @@ -30,16 +30,16 @@ The schedule for a cron job is specified using a formal syntax. The initial five There are a variety of methods used to display the cron jobs. Cron jobs can be listed on a per-user or per-application basis. It is also possible to list all jobs sharing a specific schedule. These instructions are designed for Ubuntu 22.04, but are valid for most recent releases of Ubuntu. The `cron` utility works similarly in other Linux distributions, but the names and locations of the files might differ. -For more information about creating cron jobs, see the Linode guides to [Scheduling Cron Jobs](/docs/guides/schedule-tasks-with-cron/) and [Running Cron Jobs at Boot](/docs/guides/run-jobs-or-scripts-using-crontab-on-boot/). On Ubuntu systems, use the `man crontab` command to view user information. +For more information about creating cron jobs, see the Linode guides to [Scheduling Cron Jobs](/cloud/guides/schedule-tasks-with-cron/) and [Running Cron Jobs at Boot](/cloud/guides/run-jobs-or-scripts-using-crontab-on-boot/). On Ubuntu systems, use the `man crontab` command to view user information. ## Before You Begin -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 >}} ## Listing Active Cron Jobs diff --git a/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md b/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md index b5e1714be67..ca2f2ea6abc 100644 --- a/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-ack-command/index.md @@ -22,9 +22,9 @@ This guide helps introduce you to *ack* and everything it has to offer. It cover ## 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. @@ -41,7 +41,7 @@ This guide helps introduce you to *ack* and everything it has to offer. It cover ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## ack vs grep: Which One to Use? @@ -224,7 +224,7 @@ rails/db/seeds.rb *ack* uses the Perl implementation of regular expression syntax, also known as *Perlre*. The full reference for this regex syntax can be found in the [official Perldoc documentation](https://perldoc.perl.org/perlre). -However, that reference can be daunting, especially when starting out with regex. You may, instead, find the coverage of regex filters in our [How to Filter Data Using AWK RegEx](/docs/guides/filter-data-using-awk-regex/) more helpful to start with. The guide does not specifically address Perl regex. Nonetheless, it provides useful examples and breakdowns to help you get a footing with regex's usage and capabilities generally. +However, that reference can be daunting, especially when starting out with regex. You may, instead, find the coverage of regex filters in our [How to Filter Data Using AWK RegEx](/cloud/guides/filter-data-using-awk-regex/) more helpful to start with. The guide does not specifically address Perl regex. Nonetheless, it provides useful examples and breakdowns to help you get a footing with regex's usage and capabilities generally. #### Count Matches per File diff --git a/docs/guides/tools-reference/tools/how-to-use-fzf/index.md b/docs/guides/tools-reference/tools/how-to-use-fzf/index.md index 47099e2b4b9..8f693c29a73 100644 --- a/docs/guides/tools-reference/tools/how-to-use-fzf/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-fzf/index.md @@ -19,9 +19,9 @@ Learn more about `fzf` in this guide, including how to install and get started u ## 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 @@ Learn more about `fzf` in this guide, including how to install and get started u sudo yum update {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 fzf? @@ -79,7 +79,7 @@ You have two options when it comes to installing `fzf`. The main option provides curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - If you're using NeoVim, refer to our [How to Install NeoVim and Plugins with vim-plug](/docs/guides/how-to-install-neovim-and-plugins-with-vim-plug/#install-the-vim-plug-plugin-manager) guide instead. + If you're using NeoVim, refer to our [How to Install NeoVim and Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/#install-the-vim-plug-plugin-manager) guide instead. 1. Add the `Plug` line for `fzf`, as shown below, to the plugin section of your `.vimrc` (or `init.vim`, if you're using NeoVim): @@ -202,13 +202,13 @@ let g:fzf_colors = ## Examples of Other fzf Integrations -`fzf` integrates relatively easily with other tools since it's designed to work well with other commands through piping. For instance, here is an example that integrates with [ripgrep](/docs/guides/ripgrep-linux-installation/), providing interactive navigation of the results: +`fzf` integrates relatively easily with other tools since it's designed to work well with other commands through piping. For instance, here is an example that integrates with [ripgrep](/cloud/guides/ripgrep-linux-installation/), providing interactive navigation of the results: rg test | fzf In the above, `ripgrep` finds all files containing matches for the `test` search pattern in the current directory and pipes the resulting list to `fzf` for you to view. -And here is a more advanced example, integrating `fzf` with both [The Silver Searcher](/docs/guides/silver-searcher-on-linux/) and [bat](/docs/guides/how-to-install-and-use-the-bat-command-on-linux/): +And here is a more advanced example, integrating `fzf` with both [The Silver Searcher](/cloud/guides/silver-searcher-on-linux/) and [bat](/cloud/guides/how-to-install-and-use-the-bat-command-on-linux/): ag --count test | fzf --preview "echo {} | cut -d: -f1 | xargs bat --style=numbers --color=always --line-range :100" @@ -222,7 +222,7 @@ To explain what's happening from the command above: As you can see, `fzf` provides you with unlimited possibilities for combinations with other command-line tools. You can learn more about any of the above tools by searching for our guides on them using the search bar at the top of this page. -Additionally, the `zoxide` tool, a fast and intuitive alternative to `cd`, directly integrates with `fzf` to give you an interactive directory selection. Read our guide on [How to Install and Use zoxide](/docs/guides/how-to-use-zoxide/) to learn more. +Additionally, the `zoxide` tool, a fast and intuitive alternative to `cd`, directly integrates with `fzf` to give you an interactive directory selection. Read our guide on [How to Install and Use zoxide](/cloud/guides/how-to-use-zoxide/) to learn more. ## Conclusion diff --git a/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md b/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md index 45ff6ffcad4..6f9572c9aaf 100644 --- a/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-glances-system-monitoring/index.md @@ -19,19 +19,19 @@ In this guide, learn how to install and get started with the Glances system moni ## 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 >}} # What is the Glances System Monitoring Tool? Glances gives you an extensive dashboard for monitoring your system, with the goal of giving you everything you need at a single glance. -It follows on the precedent set by system monitoring tools like `htop` and more recent iterations like `gtop` and `bottom`. You can learn more about these last two in our guides [How to Install and Use gtop on Linux](/docs/guides/installing-and-using-gtop-on-linux/) and [How to Install and Use bottom on Linux](/docs/guides/installing-and-using-bottom-on-linux/), respectively. +It follows on the precedent set by system monitoring tools like `htop` and more recent iterations like `gtop` and `bottom`. You can learn more about these last two in our guides [How to Install and Use gtop on Linux](/cloud/guides/installing-and-using-gtop-on-linux/) and [How to Install and Use bottom on Linux](/cloud/guides/installing-and-using-bottom-on-linux/), respectively. Glances sets itself apart primarily in two ways. @@ -43,7 +43,7 @@ These features make Glances ideal for monitoring your system remotely and having ## How to Install Glances -1. Install Python 3 (if it isn't already installed), along with the [Pip package manager](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip), and the Python developer package. +1. Install Python 3 (if it isn't already installed), along with the [Pip package manager](/cloud/guides/how-to-manage-packages-and-virtual-environments-on-linux/#what-is-pip), and the Python developer package. - On **Debian** and **Ubuntu**, use: @@ -102,7 +102,7 @@ The next few sections walk you through some of these options, aiming to get you ### Basic Usage -You can open up the default glances view with the basic command alone. This includes any modules you've set up using the Glances configuration file, which you can learn more about in the [Example Configurations](/docs/guides/how-to-use-glances-system-monitoring/#example-configurations) section below: +You can open up the default glances view with the basic command alone. This includes any modules you've set up using the Glances configuration file, which you can learn more about in the [Example Configurations](/cloud/guides/how-to-use-glances-system-monitoring/#example-configurations) section below: glances @@ -138,9 +138,9 @@ Once you're in Glances, there are plenty of interactive commands you can use to - The **5** key toggles the top bar, which displays details about CPU, memory, and load. -- The **6** key toggles the GPU display mode. This only applies for systems with GPUs and with the appropriate module installed. See the [Installing Optional Modules](/docs/guides/how-to-use-glances-system-monitoring/#installing-optional-modules) section above for more on this. +- The **6** key toggles the GPU display mode. This only applies for systems with GPUs and with the appropriate module installed. See the [Installing Optional Modules](/cloud/guides/how-to-use-glances-system-monitoring/#installing-optional-modules) section above for more on this. -Glances also has a suite of command-line options, a few of which you can see in the next section ([Setting Up Clients and Servers](/docs/guides/how-to-use-glances-system-monitoring/#setting-up-clients-and-servers)). The full list is available in the [official documentation](https://glances.readthedocs.io/en/latest/cmds.html#command-line-options). The list below aims to give you two of the other most useful kinds of command-line options for getting you started with Glances. +Glances also has a suite of command-line options, a few of which you can see in the next section ([Setting Up Clients and Servers](/cloud/guides/how-to-use-glances-system-monitoring/#setting-up-clients-and-servers)). The full list is available in the [official documentation](https://glances.readthedocs.io/en/latest/cmds.html#command-line-options). The list below aims to give you two of the other most useful kinds of command-line options for getting you started with Glances. - You can use the `--enable-plugin` and `--disable-plugin` flags to enable and disable particular plugins. For example: @@ -158,12 +158,12 @@ Glances has the ability to be run as a server, which lets you access the dashboa Before running Glances as a server, you need to open the appropriate port on the server machine's firewall to allow remote access. The default port for Glances is **61209**, so the options below show how to open that port based on your Linux distribution. -- On **Debian** and **Ubuntu**, make sure you have UFW installed and enabled, which you can learn about in our guide [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). Then, you can use the command below to open the port for Glances: +- On **Debian** and **Ubuntu**, make sure you have UFW installed and enabled, which you can learn about in our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). Then, you can use the command below to open the port for Glances: sudo ufw allow 61209 sudo ufw reload -- On **AlmaLinux**, **CentOS**, and **Fedora**, use the command below to open the port with FirewallD. You can read the [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) guide for more on this firewall tool: +- On **AlmaLinux**, **CentOS**, and **Fedora**, use the command below to open the port with FirewallD. You can read the [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) guide for more on this firewall tool: sudo firewall-cmd --zone=public --add-port=61209/tcp --permanent sudo firewall-cmd --reload diff --git a/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md b/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md index 6efabc9f8c5..b86866cccac 100644 --- a/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-gping-on-linux/index.md @@ -15,12 +15,12 @@ The gping tool takes the functionality of the ping tool and displays its data 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 >}} -This guide is written for a non-root 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 gping? @@ -136,7 +136,7 @@ As with hosts, you can pass gping multiple commands when using this option to se Since graphing command execution times is a bonus gping feature, it may not perform reliably for all kinds of commands. This is especially the case for commands that are more complicated. -If you are looking to measure a command's performances, consider using the hyperfine tool. Hyperfine is a tool for benchmarking command-line commands, with an emphasis on clearly rendering side-by-side comparisons. If you are interested, check out our guide on [getting started with hyperfine](/docs/guides/installing-and-using-hyperfine-on-linux/). +If you are looking to measure a command's performances, consider using the hyperfine tool. Hyperfine is a tool for benchmarking command-line commands, with an emphasis on clearly rendering side-by-side comparisons. If you are interested, check out our guide on [getting started with hyperfine](/cloud/guides/installing-and-using-hyperfine-on-linux/). ## Conclusion diff --git a/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md b/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md index 65d024e1233..66c955fc17d 100644 --- a/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-nslookup-command/index.md @@ -58,12 +58,12 @@ A DNS server maintains several different types of domain records, covering topic ## 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 the nslookup Command diff --git a/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md b/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md index 9c615e40a93..3a84d1cd8a6 100644 --- a/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-tcpdump-to-analyze-traffic/index.md @@ -22,9 +22,9 @@ In this tutorial, learn how to get started sniffing network traffic with *tcpdum ## 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. Update your system: @@ -36,7 +36,7 @@ In this tutorial, learn how to get started sniffing network traffic with *tcpdum sudo dnf upgrade ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 tcpdump diff --git a/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md b/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md index 3e4b70f74e0..74577f368ca 100644 --- a/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md +++ b/docs/guides/tools-reference/tools/how-to-use-zoxide/index.md @@ -18,9 +18,9 @@ Learn more about `zoxide` in this guide, including how to install and get starte ## 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. @@ -37,7 +37,7 @@ Learn more about `zoxide` in this guide, including how to install and get starte sudo yum update {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 zoxide? @@ -98,7 +98,7 @@ Second, `zoxide` aims for a minimal and ergonomic interface rather than an abund ### Set Up fzf Integration (Optional) -`zoxide` can integrate with [`fzf`](https://github.com/junegunn/fzf) to provide you with interactive selection when you have multiple matching directories. All you need to do is install `fzf`, which you can learn how to do in our guide [How to Install and Use fzf](/docs/guides/how-to-use-fzf). +`zoxide` can integrate with [`fzf`](https://github.com/junegunn/fzf) to provide you with interactive selection when you have multiple matching directories. All you need to do is install `fzf`, which you can learn how to do in our guide [How to Install and Use fzf](/cloud/guides/how-to-use-fzf). ## How to Use zoxide @@ -138,4 +138,4 @@ If you have `fzf` installed, `zoxide` can use it to let you select from a list o ![zoxide uses fzf for interactive selection](zoxide-interactive-selection.png) -Take a look at the [Set Up fzf Integration](/docs/guides/how-to-use-zoxide/#set-up-fzf-integration-optional) section above to learn how to install `fzf` if you don't have it already. +Take a look at the [Set Up fzf Integration](/cloud/guides/how-to-use-zoxide/#set-up-fzf-integration-optional) section above to learn how to install `fzf` if you don't have it already. diff --git a/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md b/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md index b30b524b8f6..4c2c6cec001 100644 --- a/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md +++ b/docs/guides/tools-reference/tools/install-and-use-ffmpeg-on-linux/index.md @@ -39,12 +39,12 @@ Some of the most popular FFmpeg features are as follows: ## 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’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 >}} ## How to Install FFmpeg diff --git a/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md index 1e4b24a5c98..050984b0c68 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-bottom-on-linux/index.md @@ -20,12 +20,12 @@ This guide provides more information about bottom, including a comparison betwee ## 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 bottom? @@ -40,7 +40,7 @@ Bottom, like gtop, emphasizes the graphical display if system monitoring informa In short, bottom is a good choice if you want a graphical system monitoring dashboard that gives you control over every detail of the display. Gtop is a good option if you want uncomplicated system monitoring and find the default display useful. -You can learn more about gtop, and how it compares to top and htop, in our [How to Install and Use gtop](/docs/guides/installing-and-using-gtop-on-linux) guide. +You can learn more about gtop, and how it compares to top and htop, in our [How to Install and Use gtop](/cloud/guides/installing-and-using-gtop-on-linux) guide. ## How to Install bottom diff --git a/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md index de02444c68e..568278a517e 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-gtop-on-linux/index.md @@ -17,12 +17,12 @@ Gtop is a system monitoring dashboard for your terminal, with a rich graphical d ## 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 gtop? @@ -74,7 +74,7 @@ One advantage of gtop is that, despite its graphical display, it is a straight-f gtop -What follows is a breakdown of the parts, or widgets, of the gtop display. You can refer to the screenshots in the [What is gtop?](/docs/guides/installing-and-using-gtop-on-linux/#what-is-gtop) section above to follow along. +What follows is a breakdown of the parts, or widgets, of the gtop display. You can refer to the screenshots in the [What is gtop?](/cloud/guides/installing-and-using-gtop-on-linux/#what-is-gtop) section above to follow along. - **CPU History** displays a graph of CPU usage over the last minute. Each line on the graph represents one of your system's CPUs. In addition, the right side of the widget includes the current percentage usage for each CPU. - **Memory and Swap History** provides the same graphical information but for your system's memory, both physical and swap. @@ -89,4 +89,4 @@ Gtop is limited in its interactive options. You can navigate the **Processes** t For all its simplicity, gtop provides an effective at-a-glance summary of your system. Tools like top and htop focus on providing more comprehensive information about running processes — and, in the case of htop, more control of those processes. Gtop excels if you want to be able to quickly gather your system's current performance. -Do you like the graphical system monitoring of `gtop` but want more control and customization? You may want to check out bottom in that case, which takes the visual direction of gtop and gives you more control. Take a look at our guide [How to Install and Use bottom](/docs/guides/installing-and-using-bottom-on-linux/) to learn more. +Do you like the graphical system monitoring of `gtop` but want more control and customization? You may want to check out bottom in that case, which takes the visual direction of gtop and gives you more control. Take a look at our guide [How to Install and Use bottom](/cloud/guides/installing-and-using-bottom-on-linux/) to learn more. diff --git a/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md index c91ebac9d43..4a25e60de8f 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-httpie-on-linux/index.md @@ -15,12 +15,12 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## 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’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 >}} ## What is HTTPie? @@ -33,7 +33,7 @@ This section explores why you might choose to use HTTPie over cURL, especially s If you are looking to work with web APIs, especially RESTful APIs that use JSON data you should consider using HTTPie. Alternatively, consider cURL if you want an HTTP client that fits more general needs, since it comes with options to make it more adaptable. -You can learn more about curlie, a modern command-line HTTP client with the readability of HTTPie and the adaptability of cURL, from our [How to Install and Use the curlie Command on Linux](/docs/guides/installing-and-using-the-curlie-command-on-linux/) guide. +You can learn more about curlie, a modern command-line HTTP client with the readability of HTTPie and the adaptability of cURL, from our [How to Install and Use the curlie Command on Linux](/cloud/guides/installing-and-using-the-curlie-command-on-linux/) guide. ## How to Install HTTPie diff --git a/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md index 871daaa8d64..a63765e1f3f 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-hyperfine-on-linux/index.md @@ -17,12 +17,12 @@ In this guide, you learn what hyperfine is and how it compares to other tools. 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 >}} -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 hyperfine? diff --git a/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md b/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md index ee05978bd88..7bd4363bd3d 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-the-broot-command/index.md @@ -14,12 +14,12 @@ The `broot` command provides a modern approach to generating directory trees 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 >}} -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 broot? @@ -102,7 +102,7 @@ Here are some useful commands for exploring the file tree once you are in `broot ## How to Use broot Commands -`broot`, in addition to using assigned keyboard keys, has a dedicated command system. Typing a space or colon while the search field is blank starts a command entry, similar to the system in the [Vi text editor](/docs/guides/what-is-vi/). Pressing **Enter** then executes the command. +`broot`, in addition to using assigned keyboard keys, has a dedicated command system. Typing a space or colon while the search field is blank starts a command entry, similar to the system in the [Vi text editor](/cloud/guides/what-is-vi/). Pressing **Enter** then executes the command. One of the most useful commands available is the `exit` command. Typing `:q` and pressing **Enter** exits `broot`, putting you back in the shell in the same working directory where you started. diff --git a/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md b/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md index ead33f58c36..3718b5568c0 100644 --- a/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md +++ b/docs/guides/tools-reference/tools/installing-and-using-the-curlie-command-on-linux/index.md @@ -11,21 +11,21 @@ tags: ['linux', 'ubuntu'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[Curlie](https://github.com/rs/curlie) is a frontend to the ubiquitous command-line HTTP client cURL. With curlie, you get all of the features and versatility of cURL with a modern and user-friendly interface similar to the HTTP client, [HTTPie](/docs/guides/installing-and-using-httpie-on-linux/). In this guide, you learn about the benefits of curlie and how to install and start using it on a Linux system. +[Curlie](https://github.com/rs/curlie) is a frontend to the ubiquitous command-line HTTP client cURL. With curlie, you get all of the features and versatility of cURL with a modern and user-friendly interface similar to the HTTP client, [HTTPie](/cloud/guides/installing-and-using-httpie-on-linux/). In this guide, you learn about the benefits of curlie and how to install and start using it on a Linux system. ## Before You Begin -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’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 >}} ## What is curlie? -curlie is a command-line frontend for cURL that takes inspiration from HTTPie. HTTPie is a an HTTP client designed with readability and modern web APIs in mind. You can learn more about HTTPie from our [How to Install and Use HTTPie on Linux](/docs/guides/installing-and-using-httpie-on-linux/) guide. +curlie is a command-line frontend for cURL that takes inspiration from HTTPie. HTTPie is a an HTTP client designed with readability and modern web APIs in mind. You can learn more about HTTPie from our [How to Install and Use HTTPie on Linux](/cloud/guides/installing-and-using-httpie-on-linux/) guide. ### How Is Curlie Different From HTTPie diff --git a/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md b/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md index ac5ee91b13b..b3a22838145 100644 --- a/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md +++ b/docs/guides/tools-reference/tools/introduction-to-vim-customization/index.md @@ -30,14 +30,14 @@ Fine-tune your Vim editor to behave more intelligently with this tutorial and ac ## 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 basic understanding of how to work within the Vim environment is necessary to complete this tutorial. Readers should be familiar with the steps for editing documents with Vim. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Customize Your Vim Instance diff --git a/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md b/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md index 488824d8c75..7c53fa5a8df 100644 --- a/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md +++ b/docs/guides/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/index.md @@ -13,7 +13,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/security/sftp-jails/','/tools-reference/tools/limiting-access-with-sftp-jails-on-debian-and-ubuntu/'] external_resources: - '[OpenSSH Documentation](http://www.openssh.org/manual.html)' -- '[An Introduction to Users and Groups](/docs/guides/linux-users-and-groups/)' +- '[An Introduction to Users and Groups](/cloud/guides/linux-users-and-groups/)' --- As the system administrator for your Linode, you may want to give your users the ability to securely upload files to your server. The most common way to do this is to allow file transfers via Secure File Transfer Protocol (SFTP), which uses SSH to provide encryption. This requires that you give your users SSH logins. However, by default SSH users are able to view your Linode's entire filesystem, which may not be desirable. diff --git a/docs/guides/tools-reference/tools/linux-cheat-command/index.md b/docs/guides/tools-reference/tools/linux-cheat-command/index.md index eeb1cd0573b..3ecb9c9fa0a 100644 --- a/docs/guides/tools-reference/tools/linux-cheat-command/index.md +++ b/docs/guides/tools-reference/tools/linux-cheat-command/index.md @@ -16,12 +16,12 @@ In this guide you learn more about the `cheat`command-line tool, including 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 a non-root 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 cheat? @@ -185,7 +185,7 @@ You can combine query options, too, to make fine-tuned searches: You can also use `cheat` to create cheat sheets of your own. The steps below create a cheat sheet for the `bat` command, a more-readable and modern clone of `cat`, as an example. {{< note >}} -If you think you may be interested in `bat`, check out our guide [How to Install and Use the Linux bat Command](/docs/guides/how-to-install-and-use-the-bat-command-on-linux/) to learn more. +If you think you may be interested in `bat`, check out our guide [How to Install and Use the Linux bat Command](/cloud/guides/how-to-install-and-use-the-bat-command-on-linux/) to learn more. {{< /note >}} 1. Use the `-e` option to start creating the new cheat sheet: @@ -227,7 +227,7 @@ The command below opens an editor for the (community) cheat sheet file on `ls`: cheat -e ls -In the [Setting Up cheatsheets](/docs/guides/linux-cheat-command/#setting-up-cheatsheets) section near the start of this guide, you got steps for installing a script for managing community cheat sheets. One of the primary benefits of this script is its ability to easily and automatically make sure your community sheets are up to date: +In the [Setting Up cheatsheets](/cloud/guides/linux-cheat-command/#setting-up-cheatsheets) section near the start of this guide, you got steps for installing a script for managing community cheat sheets. One of the primary benefits of this script is its ability to easily and automatically make sure your community sheets are up to date: cheatsheets pull diff --git a/docs/guides/tools-reference/tools/linux-ping-command/index.md b/docs/guides/tools-reference/tools/linux-ping-command/index.md index add759139cc..5287f4c498c 100644 --- a/docs/guides/tools-reference/tools/linux-ping-command/index.md +++ b/docs/guides/tools-reference/tools/linux-ping-command/index.md @@ -25,9 +25,9 @@ This guide introduces you to *ping* in all its variety. In this guide, you can l ## 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. @@ -44,7 +44,7 @@ This guide introduces you to *ping* in all its variety. In this guide, you can l ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Reading the Results of the ping Command diff --git a/docs/guides/tools-reference/tools/linux-sd-command/index.md b/docs/guides/tools-reference/tools/linux-sd-command/index.md index 18fe56f03db..094214a58f1 100644 --- a/docs/guides/tools-reference/tools/linux-sd-command/index.md +++ b/docs/guides/tools-reference/tools/linux-sd-command/index.md @@ -18,12 +18,12 @@ In this guide you learn more about `sd` and how it compares to `sed`. You also l ## 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 >}} ## What is sd? diff --git a/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md b/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md index dd1c94a2d89..be9802a10aa 100644 --- a/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md +++ b/docs/guides/tools-reference/tools/load-testing-with-jmeter/index.md @@ -19,12 +19,12 @@ Through this tutorial, learn more about load testing and how to get started usin ## 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 >}} The commands, file contents, and other instructions provided throughout this guide may include example values. These are typically domain names, IP addresses, usernames, passwords, and other values that are unique to you. The table below identifies these example values and explains what to replace them with: @@ -98,7 +98,7 @@ You should see the JMeter GUI start up: ![The initial view of the JMeter GUI.](jmeter-startup.png) {{< note >}} -For Linux and macOS, you can follow our guide on how to [Add a Directory to the PATH on Linux](/docs/guides/how-to-add-directory-to-path/). Add the `bin` directory to your shell path to start up JMeter with the simpler `jmeter` command. +For Linux and macOS, you can follow our guide on how to [Add a Directory to the PATH on Linux](/cloud/guides/how-to-add-directory-to-path/). Add the `bin` directory to your shell path to start up JMeter with the simpler `jmeter` command. {{< /note >}} ## How to Start Load Testing with JMeter @@ -111,7 +111,7 @@ To help get started, this tutorial also includes steps for creating a simple web To create a base web application to test with JMeter, follow the steps here on an application server. These steps specifically assume a Linode Compute Instance server is used. The instructions should work with most Debian-based and RHEL-derived distributions. -1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). NPM handles the installation of the application framework and its dependencies as well as running the example application itself. +1. Follow our guide on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the installation of the application framework and its dependencies as well as running the example application itself. 1. Next.js works well for this example as it can create a base web application with only a few commands. Use the commands here to create a base Next.js project named `example-app` using the `create-next-app` executor. These commands put the application in the current user's home directory and then changes into the new application directory. @@ -123,13 +123,13 @@ To create a base web application to test with JMeter, follow the steps here on a Answer the prompts however you like or simply stick with the default values. - Learn more about building web applications with Next.js in our guide [Getting Started with Next.js](/docs/guides/getting-started-next-js/). + Learn more about building web applications with Next.js in our guide [Getting Started with Next.js](/cloud/guides/getting-started-next-js/). 1. Open port `3000` on your system's firewall. This is the default port for the example Next.js application. This port needs to be open in order for your browser and JMeter to access the application. - - For **Debian-based** distributions refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). + - For **Debian-based** distributions refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). - - For **RHEL-derived** distributions refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/). + - For **RHEL-derived** distributions refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). 1. Start up the Next.js application. This runs the included "Welcome" application on a development server. While this should not be used for production applications, it works well to demonstrate JMeter's capabilities. diff --git a/docs/guides/tools-reference/tools/load-testing-with-locust/index.md b/docs/guides/tools-reference/tools/load-testing-with-locust/index.md index a2f2522a6eb..5b44ae4a242 100644 --- a/docs/guides/tools-reference/tools/load-testing-with-locust/index.md +++ b/docs/guides/tools-reference/tools/load-testing-with-locust/index.md @@ -89,7 +89,7 @@ Since Locust is built around Python, its installation requires Python to be inst ```command sudo ufw allow 8089/tcp ``` - Learn more about UFW in our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide. + Learn more about UFW in our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. {{< /tab >}} {{< tab "RHEL: CentOS, AlmaLinux, Rocky" >}} On **CentOS** and other RHEL derivatives (like **AlmaLinux** and **Rocky Linux**), you can manage firewall rules using firewalld. With firewalld configured and running, you can open the necessary port with the following commands: @@ -97,7 +97,7 @@ Since Locust is built around Python, its installation requires Python to be inst sudo firewall-cmd --zone=public --add-port=8089/tcp --permanent sudo firewall-cmd --reload ``` - Learn more in our [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/) guide. + Learn more in our [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/) guide. {{< /tab >}} {{< /tabs >}} @@ -111,7 +111,7 @@ Follow the instructions below to run a basic load test against an example applic A web application is required to run a load test using the example in this guide. You may use your own existing application or set up the below application that uses Python's [Flask](https://flask.palletsprojects.com/en/) web application framework. Since Locust is already running with Python, using Flask minimizes other dependencies needed to run an example load test. -If you'd rather use a preinstalled Flask application, you can deploy our [Flask Quick Deploy App](/docs/marketplace-docs/guides/flask/). Note that the Flask Quick Deploy App does not include Locust and would require Locust installation after deployment. +If you'd rather use a preinstalled Flask application, you can deploy our [Flask Quick Deploy App](/cloud/marketplace-docs/guides/flask/). Note that the Flask Quick Deploy App does not include Locust and would require Locust installation after deployment. {{< note title="Using Your Own Application" >}} Should you prefer to use your own web application, you can skip the steps for **Installing and Starting the Example Application** and move ahead to [Creating a Test Script](#creating-a-test-script). When asked to provide **host** information when running your load test, replace the URLs for the example Flask application with your own. @@ -119,7 +119,7 @@ Should you prefer to use your own web application, you can skip the steps for ** #### Installing and Starting the Example Application -This guide uses the [abalarin/Flask-on-Linode](https://github.com/abalarin/Flask-on-Linode) web application developed for our [Deploying a Flask Application on Ubuntu](/docs/guides/flask-and-gunicorn-on-ubuntu/) guide. Note that running Ubuntu is not required to complete the steps below. +This guide uses the [abalarin/Flask-on-Linode](https://github.com/abalarin/Flask-on-Linode) web application developed for our [Deploying a Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu/) guide. Note that running Ubuntu is not required to complete the steps below. 1. Install Python's virtualenv tool. This lets you set up virtual Python environments so that you can install project dependencies in an isolated environment rather than on your entire system. diff --git a/docs/guides/tools-reference/tools/lsmod-and-modinfo-commands-in-linux/index.md b/docs/guides/tools-reference/tools/lsmod-and-modinfo-commands-in-linux/index.md index 218909d1f66..674b8c4625b 100644 --- a/docs/guides/tools-reference/tools/lsmod-and-modinfo-commands-in-linux/index.md +++ b/docs/guides/tools-reference/tools/lsmod-and-modinfo-commands-in-linux/index.md @@ -122,4 +122,4 @@ The output for the above command only lists information for the module from the ## Conclusion -Whenever you need information about a particular Linux kernel module, `lsmod` and `modinfo` are commands you can rely on. Using the combination of `lsmod` and `modinfo`, you can gather plenty of details for each available module. If you're looking for more information on managing your Linux kernel, check out our [Managing the Kernel on a Linode](/docs/products/compute/compute-instances/guides/manage-the-kernel/) guide. \ No newline at end of file +Whenever you need information about a particular Linux kernel module, `lsmod` and `modinfo` are commands you can rely on. Using the combination of `lsmod` and `modinfo`, you can gather plenty of details for each available module. If you're looking for more information on managing your Linux kernel, check out our [Managing the Kernel on a Linode](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) guide. \ No newline at end of file diff --git a/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md b/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md index 19eecd19ae4..461dfbe2fe0 100644 --- a/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md +++ b/docs/guides/tools-reference/tools/manipulate-lists-with-sort-and-uniq/index.md @@ -28,7 +28,7 @@ The `sort` command accepts input from a text file or standard output, sorts the grep -i "retired" ~/roster.txt | sort -This uses [grep](/docs/guides/how-to-use-grep-command/) to filter the `~/roster.txt` file for the string `retired`, regardless of case. These results are sent to `sort`, which reorders this output alphabetically. +This uses [grep](/cloud/guides/how-to-use-grep-command/) to filter the `~/roster.txt` file for the string `retired`, regardless of case. These results are sent to `sort`, which reorders this output alphabetically. In the default configuration, this `sort` prints the output on the terminal. To write this content to a file, redirect the output as in the following example: diff --git a/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md b/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md index d6f28bc5d04..51e95c8ab21 100644 --- a/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md +++ b/docs/guides/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/index.md @@ -10,7 +10,7 @@ keywords: ["sed", "find and replace", "regular expression", "unix"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/linux-tools/common-commands/sed/','/tools-reference/tools/manipulate-text-from-the-command-line-with-sed/'] external_resources: - - '[Administration Basics](/docs/guides/linux-system-administration-basics/)' + - '[Administration Basics](/cloud/guides/linux-system-administration-basics/)' tags: ["linux"] --- @@ -18,7 +18,7 @@ The traditional Unix utility `sed` makes it possible to manipulate strings and s ![Manipulate Text from the Command Line with sed](manipulate_text_from_the_command_line_with_sed.png "Manipulate Text from the Command Line with sed") -This document provides a gentle overview of `sed` usage, accompanied by a number of practical applications of `sed`. If you find this guide helpful, please consider our guide to [basic administration practices](/docs/guides/linux-system-administration-basics/) or the rest of the [Tools & Reference section](/docs/tools-reference/). +This document provides a gentle overview of `sed` usage, accompanied by a number of practical applications of `sed`. If you find this guide helpful, please consider our guide to [basic administration practices](/cloud/guides/linux-system-administration-basics/) or the rest of the [Tools & Reference section](/cloud/tools-reference/). ## Using Sed diff --git a/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md b/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md index 1b30d0e931d..67fc8a0d044 100644 --- a/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md +++ b/docs/guides/tools-reference/tools/modify-file-permissions-with-chmod/index.md @@ -9,8 +9,8 @@ modified: 2023-11-14 keywords: ["chmod", "commands", "reference", "file permissions"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[Manage File Permission with Users and Groups](/docs/guides/linux-users-and-groups/)' - - '[Administration Basics](/docs/guides/linux-system-administration-basics/)' + - '[Manage File Permission with Users and Groups](/cloud/guides/linux-users-and-groups/)' + - '[Administration Basics](/cloud/guides/linux-system-administration-basics/)' aliases: ['/linux-tools/common-commands/chmod/','/tools-reference/modify-file-permissions-with-chmod/','/tools-reference/tools/modify-file-permissions-with-chmod/'] bundles: ['debian-security', 'centos-security'] tags: ["security","linux"] @@ -23,7 +23,7 @@ The `chmod` command allows users to change read and write permissions in Unix sy Unix-like systems, including the Linux distributions that run on the Akamai cloud computing platform, have an incredibly robust access control system. It allows systems administrators to effectively permit multiple users access to a single system, without giving every user access to every file. The `chmod` command is the simplest way to modify these file permissions. -This guide provides an overview of file permissions and the `chmod` command, along with a number of practical examples and applications of `chmod`. If you find this guide helpful, also consider reading our [basic administration practices guide](/docs/guides/linux-system-administration-basics/) and the [Linux users and groups guide](/docs/guides/linux-users-and-groups/). +This guide provides an overview of file permissions and the `chmod` command, along with a number of practical examples and applications of `chmod`. If you find this guide helpful, also consider reading our [basic administration practices guide](/cloud/guides/linux-system-administration-basics/) and the [Linux users and groups guide](/cloud/guides/linux-users-and-groups/). ### Basics of Linux File Permissions @@ -58,7 +58,7 @@ The first character represents the type of file. The remaining nine bits in grou - `x`: e**X**ecute {{< note >}} -Access to files targeted by symbolic links is controlled by the permissions of the targeted file, not the permissions of the link object. There are [additional file permissions](/docs/guides/linux-users-and-groups/#additional-file-permissions) that control other aspects of access to files. +Access to files targeted by symbolic links is controlled by the permissions of the targeted file, not the permissions of the link object. There are [additional file permissions](/cloud/guides/linux-users-and-groups/#additional-file-permissions) that control other aspects of access to files. {{< /note >}} ## How to Use chmod diff --git a/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md b/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md index 94a71d227e3..feed605dc0b 100644 --- a/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md +++ b/docs/guides/tools-reference/tools/rclone-object-storage-file-sync/index.md @@ -26,7 +26,7 @@ This tutorial shows you how to use Rclone to sync your files to a Linode Object ## Rclone vs Rsync -For years, [rsync](/docs/guides/introduction-to-rsync/) has been the go-to backup and sync command-line tool for Linux. With that in mind, why would you make the switch to Rclone? Although Rsync is a great tool for local and LAN-based backup and sync, it doesn't have the built-in capacity to work with cloud storage providers. It is possible to mount your cloud storage service to a local drive and then use Rsync to backup files, but without the help of another tool, you're out of luck. That's where Rclone comes into play since it was built to work with cloud services. This guide shows you how to install and use Rclone. +For years, [rsync](/cloud/guides/introduction-to-rsync/) has been the go-to backup and sync command-line tool for Linux. With that in mind, why would you make the switch to Rclone? Although Rsync is a great tool for local and LAN-based backup and sync, it doesn't have the built-in capacity to work with cloud storage providers. It is possible to mount your cloud storage service to a local drive and then use Rsync to backup files, but without the help of another tool, you're out of luck. That's where Rclone comes into play since it was built to work with cloud services. This guide shows you how to install and use Rclone. ## Download and Install Rclone on Linux and macOS @@ -61,7 +61,7 @@ You should see the version of Rclone installed, as well as some information abou ## Configure Rclone -Before you configure Rclone, [create a new Linode bucket](/docs/products/storage/object-storage/guides/manage-buckets/) and then [generate an associated Access Key](/docs/products/storage/object-storage/guides/access-keys/) for that bucket. You can also create a new access key for an existing bucket. When you create an access key, you are given the **Access Key** and the **Secret Key**. Make sure to copy both of those strings, because you need them when configuring Rclone. +Before you configure Rclone, [create a new Linode bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets) and then [generate an associated Access Key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys) for that bucket. You can also create a new access key for an existing bucket. When you create an access key, you are given the **Access Key** and the **Secret Key**. Make sure to copy both of those strings, because you need them when configuring Rclone. 1. Once you have created the Linode bucket and have the access keys, set up a new configuration with the following command: @@ -94,15 +94,15 @@ Before you configure Rclone, [create a new Linode bucket](/docs/products/storage \ (false) ``` - As part of this step, you'll be requested to enter an access key and secret key for our Object Storage service. If you do not have this information, you can [generate a new access key](/docs/products/storage/object-storage/guides/access-keys/#create-an-access-key). + As part of this step, you'll be requested to enter an access key and secret key for our Object Storage service. If you do not have this information, you can [generate a new access key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys#create-an-access-key). 1. When prompted, leave the `region` section blank. -1. For the endpoint, type the URL that corresponds with the region your buckets are located within. Review [Cluster URL (S3 Endpoint)](/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint) for a full list. +1. For the endpoint, type the URL that corresponds with the region your buckets are located within. Review [Cluster URL (S3 Endpoint)](https://techdocs.akamai.com/cloud-computing/docs/access-buckets-and-files-through-urls#cluster-url-s3-endpoint) for a full list. 1. Leave `location_constraint` blank. -1. Next, you are requested to enter the Access Control List (ACL) to use when creating buckets and objects. This is based on your preferences and how you intend to use your buckets. Review [Define Access and Permissions using ACLs (Access Control Lists)](/docs/products/storage/object-storage/guides/acls/) for more details about ACLs and the various permission levels. For a personal bucket (or if you are unsure), you may want to enter *private*. +1. Next, you are requested to enter the Access Control List (ACL) to use when creating buckets and objects. This is based on your preferences and how you intend to use your buckets. Review [Define Access and Permissions using ACLs (Access Control Lists)](https://techdocs.akamai.com/cloud-computing/docs/define-access-and-permissions-using-acls-access-control-lists) for more details about ACLs and the various permission levels. For a personal bucket (or if you are unsure), you may want to enter *private*. 1. You are then given the option for advanced configuration. For this tutorial, select *no* or just hit enter. diff --git a/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md b/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md index ef4a8cf8b9e..4e719ba11e0 100644 --- a/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md +++ b/docs/guides/tools-reference/tools/ripgrep-linux-installation/index.md @@ -14,7 +14,7 @@ external_resources: - '[ripgrep blog](https://blog.burntsushi.net/ripgrep/)' --- -The [*ripgrep* utility](https://github.com/BurntSushi/ripgrep) is a useful alternative to the traditional [`grep` command](/docs/guides/differences-between-grep-sed-awk/) on Linux. Both ripgrep and grep are used to search files for specific patterns of text. However, ripgrep is much faster and uses intelligent defaults which are optimal for most users. This guide provides some background on ripgrep, including a comparison with other search tools. It also explains how to install and use ripgrep, and provides some examples of typical searches. +The [*ripgrep* utility](https://github.com/BurntSushi/ripgrep) is a useful alternative to the traditional [`grep` command](/cloud/guides/differences-between-grep-sed-awk/) on Linux. Both ripgrep and grep are used to search files for specific patterns of text. However, ripgrep is much faster and uses intelligent defaults which are optimal for most users. This guide provides some background on ripgrep, including a comparison with other search tools. It also explains how to install and use ripgrep, and provides some examples of typical searches. ## An Introduction to ripgrep @@ -45,7 +45,7 @@ ripgrep is generally competitive with the other tools in terms of feature parity - **ripgrep vs ack:** ack release 3 uses Perl and is designed for developers searching repositories of source code. It has the advantage of being highly portable because it can run on any platform that supports Perl. It is relatively similar to ripgrep in the number of features it supports, but it is not as fast. - **ripgrep vs Silver Searcher/ag:** The Silver Searcher program is probably the best comparison for ripgrep. Both programs provide a similar set of optimization and user-friendly features. Silver Searcher is considered quite fast, although ripgrep performs better on most benchmarks, and significantly better on Unicode searches. Silver Searcher uses some different search techniques than ripgrep does, including look around. -Both ripgrep and Silver Searcher are considered major improvements over the standard `grep` command. ack should be considered if maximum portability is absolutely necessary. A useful chart-based comparison of the different tools can be found at the [Beyond Grep site](https://beyondgrep.com/feature-comparison/). You can learn more about Silver Searcher in our [How to Install and Use Silver Searcher on Linux](/docs/guides/silver-searcher-on-linux/) guide. +Both ripgrep and Silver Searcher are considered major improvements over the standard `grep` command. ack should be considered if maximum portability is absolutely necessary. A useful chart-based comparison of the different tools can be found at the [Beyond Grep site](https://beyondgrep.com/feature-comparison/). You can learn more about Silver Searcher in our [How to Install and Use Silver Searcher on Linux](/cloud/guides/silver-searcher-on-linux/) guide. ## How to Install ripgrep diff --git a/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md b/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md index 0c3fd64001d..e3fdf8a6e2c 100644 --- a/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md +++ b/docs/guides/tools-reference/tools/run-jobs-or-scripts-using-crontab-on-boot/index.md @@ -38,9 +38,9 @@ Similarly, the `@reboot` shortcut tells the cron task to run the job at system b ## 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. ## Use Crontab to Schedule a Job or Script to Run at System Startup @@ -129,4 +129,4 @@ cron.service - Regular background program processing daemon ## Learn More About the Cron Utility -To learn more about cron jobs, see our [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) guide. To view highly-detailed and technical information about cron and crontab, you can also refer to the [*Linux 'man' page for the crontab command*](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html). +To learn more about cron jobs, see our [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide. To view highly-detailed and technical information about cron and crontab, you can also refer to the [*Linux 'man' page for the crontab command*](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html). diff --git a/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md b/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md index f6e9d22468e..3a5c3ea063a 100644 --- a/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md +++ b/docs/guides/tools-reference/tools/silver-searcher-on-linux/index.md @@ -15,12 +15,12 @@ The Silver Searcher is a command-line tool for searching code. It is similar 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 >}} ## What is the Silver Searcher? @@ -37,7 +37,7 @@ ripgrep is a tool similar to The Silver Searcher, likewise boasting vast perform ripgrep uses regular expression (regex) search patterns almost exclusively; the Silver Searcher, though fully capable of regex searches, uses command patterns primarily resembling ack commands. (You can learn more about using regex searches in the Silver Searcher via the [Advanced Searches](#advanced-searches) section below). The Silver Searcher may be easier to pick up if you are already familiar with ack. -The Silver Searcher is fast, but ripgrep claims to be even faster in most scenarios. However, the Silver Searcher's still-remarkable performance should be sufficient for most use cases. If you find yourself still facing slowdowns while using he Silver Searcher, you should look into ripgrep. You can learn more about ripgrep through our guide on [how to install and start using ripgrep](/docs/guides/ripgrep-linux-installation/). +The Silver Searcher is fast, but ripgrep claims to be even faster in most scenarios. However, the Silver Searcher's still-remarkable performance should be sufficient for most use cases. If you find yourself still facing slowdowns while using he Silver Searcher, you should look into ripgrep. You can learn more about ripgrep through our guide on [how to install and start using ripgrep](/cloud/guides/ripgrep-linux-installation/). ## How to Install the Silver Searcher @@ -86,7 +86,7 @@ For instance, the first example command from the [How to Use The Silver Searcher ## How to Use the Silver Searcher -This section walks you through some of the most useful features of the Silver Searcher using the [Express JS](https://github.com/expressjs/express) project for its examples. You can clone the project's GitHub repository to your current user's home directory using the commands below. You need [Git installed](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) on your system to use the examples in this section. +This section walks you through some of the most useful features of the Silver Searcher using the [Express JS](https://github.com/expressjs/express) project for its examples. You can clone the project's GitHub repository to your current user's home directory using the commands below. You need [Git installed](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your system to use the examples in this section. cd ~/ git clone https://github.com/expressjs/express.git diff --git a/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md b/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md index 5748fb382cc..952866b5cf5 100644 --- a/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md +++ b/docs/guides/tools-reference/tools/streamlink-twitch-gui-install-and-configure/index.md @@ -56,4 +56,4 @@ Now that Streamlink Twitch GUI is installed, here’s a walkthrough of its most ![Click on the chat icon to open a stream's chat window.](open-a-stream-chat.png) -With the above configurations, you should be able to watch your favorite Twitch streams using the Streamlink GUI. If you prefer to use the Streamlink CLI, see our [Install Streamlink CLI on Ubuntu and macOS](/docs/guides/how-to-install-streamlink-cli-on-ubuntu-macos/) guide. +With the above configurations, you should be able to watch your favorite Twitch streams using the Streamlink GUI. If you prefer to use the Streamlink CLI, see our [Install Streamlink CLI on Ubuntu and macOS](/cloud/guides/how-to-install-streamlink-cli-on-ubuntu-macos/) guide. diff --git a/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md b/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md index 640b168c487..c89bbee9303 100644 --- a/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md +++ b/docs/guides/tools-reference/tools/synchronize-files-with-unison/index.md @@ -17,7 +17,7 @@ deprecated: true Unison is a file synchronization tool that allows users to maintain two instances of a given file set on two systems up to date and identical. The tool is designed for maximum usability in a variety of contexts and uses protocols like SSH to securely transfer data between folders. Furthermore, the system is designed to be fault tolerant in the case of interruptions and modifications to both "source" and "remote," and aims to always leave both instances of a file or directory tree in a known working state. Unison can be deployed to synchronize files between systems running disparate operating systems, to backup systems, or as part of a content deployment system, among a plethora of other use cases. -Before beginning this guide, we assume you have completed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you're new to Linux system administration, we recommend considering the [introducing Linux concepts](/docs/guides/introduction-to-linux-concepts/) guide and the [administration basics](/docs/guides/linux-system-administration-basics/) guide. If you're simply looking to gain access to your Linode on your local system, you may want to consider deploying a [remote file system](/docs/guides/using-sshfs-on-linux/). Conversely, if you need a more complex backup system, your needs may be better served by an incremental backup system. +Before beginning this guide, we assume you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux system administration, we recommend considering the [introducing Linux concepts](/cloud/guides/introduction-to-linux-concepts/) guide and the [administration basics](/cloud/guides/linux-system-administration-basics/) guide. If you're simply looking to gain access to your Linode on your local system, you may want to consider deploying a [remote file system](/cloud/guides/using-sshfs-on-linux/). Conversely, if you need a more complex backup system, your needs may be better served by an incremental backup system. ## Install Unison on a Linode {{< note type="alert" >}} diff --git a/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md b/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md index dc21d7f60c0..5b917fd5f56 100644 --- a/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md +++ b/docs/guides/tools-reference/tools/tldr-pages-on-linux/index.md @@ -17,12 +17,12 @@ In this guide, you learn more about the tldr pages project, how to install tldr ## 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 are tldr pages? diff --git a/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md b/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md index 97cc5961a5d..015e53c9f56 100644 --- a/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md +++ b/docs/guides/tools-reference/tools/use-chroot-for-testing-on-ubuntu/index.md @@ -18,14 +18,14 @@ The Linux `chroot` command enables you to run applications or shells within a se ## 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. Replace all instances of `example-user` in this guide with the username of the limited Linux user you are using to execute the commands in this guide. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 chroot? diff --git a/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md b/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md index e5f3ea704a9..c29e3a4666f 100644 --- a/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md +++ b/docs/guides/tools-reference/tools/use-dog-linux-dns-client/index.md @@ -15,19 +15,19 @@ In this guide, learn more about `dog` and how to install and start using it on y ## 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 >}} ## What is dog? [`dog`](https://github.com/ogham/dog) is an open-source DNS client for the command line, much like the popular `dig` tool. With `dog`, you get significant improvements to the interface, along with more readable, color-coded results, and the ability to render those results in JSON. `dog` also adds support for DNS over TLS (DoT) and DNS over HTTPS (DoH) protocols, giving you more options for securing your DNS lookups. -You can learn more about the `dig` command and its features in our guide [Use dig to Perform Manual DNS Queries](/docs/guides/use-dig-to-perform-manual-dns-queries/). +You can learn more about the `dig` command and its features in our guide [Use dig to Perform Manual DNS Queries](/cloud/guides/use-dig-to-perform-manual-dns-queries/). ## How to Install dog @@ -205,4 +205,4 @@ NS github.com. 6m21s "ns-520.awsdns-01.net." ## Conclusion -To learn more about DNS, including more about record types and the role of DNS in the Internet, take a look at our guide [DNS Records: An Introduction](/docs/guides/dns-overview/). From there, you may also want to look at our guide [Troubleshooting DNS Records](/docs/products/networking/dns-manager/guides/troubleshooting-dns/). It can give you some ideas for how you might use a tool like `dog` to help keep your DNS setup in order. +To learn more about DNS, including more about record types and the role of DNS in the Internet, take a look at our guide [DNS Records: An Introduction](/cloud/guides/dns-overview/). From there, you may also want to look at our guide [Troubleshooting DNS Records](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-dns-records). It can give you some ideas for how you might use a tool like `dog` to help keep your DNS setup in order. diff --git a/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md b/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md index 477ecfec0e6..d8d82e2876c 100644 --- a/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md +++ b/docs/guides/tools-reference/tools/use-killall-and-kill-to-stop-processes-on-linux/index.md @@ -110,9 +110,9 @@ If you need to convert a signal name into a signal number, or a signal number in ## Find Running Processes -Use a utility like [htop](/docs/guides/linux-system-administration-basics/#monitor-processes-memory-and-cpu-usage-with-htop) or `top` to view a real time list of process and their consumption of system resources. +Use a utility like [htop](/cloud/guides/linux-system-administration-basics/#monitor-processes-memory-and-cpu-usage-with-htop) or `top` to view a real time list of process and their consumption of system resources. -Use the `ps` command to view processes that are currently running and their PIDs. The following example filters the list of all processes that are currently running for the string `emacs` using [grep](/docs/guides/how-to-use-grep-command/): +Use the `ps` command to view processes that are currently running and their PIDs. The following example filters the list of all processes that are currently running for the string `emacs` using [grep](/cloud/guides/how-to-use-grep-command/): $ ps aux | grep "emacs" username 3896 0.0 2.2 56600 44468 ? Ss Sep30 4:29 emacs diff --git a/docs/guides/tools-reference/tools/use-linux-choose-command/index.md b/docs/guides/tools-reference/tools/use-linux-choose-command/index.md index 56f10ef3f89..2c7c146917b 100644 --- a/docs/guides/tools-reference/tools/use-linux-choose-command/index.md +++ b/docs/guides/tools-reference/tools/use-linux-choose-command/index.md @@ -13,12 +13,12 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## 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 >}} ## What is the Linux choose Command? diff --git a/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md b/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md index 2983de3ad10..051c16fc787 100644 --- a/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md +++ b/docs/guides/tools-reference/tools/use-nano-text-editor-commands/index.md @@ -21,7 +21,7 @@ Editing files in Linux using Nano is a popular option. Compared to other editors ## Installing the Nano Text Editor in Linux -Nano is included with many Linux distributions by default. However, some users may need to install Nano on Linux using the [package management](/docs/guides/linux-package-management-overview/) tool of the distribution. +Nano is included with many Linux distributions by default. However, some users may need to install Nano on Linux using the [package management](/cloud/guides/linux-package-management-overview/) tool of the distribution. **Debian/Ubuntu**: diff --git a/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md b/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md index ed81ed35f7a..4c6cd97f3ad 100644 --- a/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md +++ b/docs/guides/tools-reference/tools/use-nmap-for-network-scanning/index.md @@ -18,12 +18,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, 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 Nmap diff --git a/docs/guides/tools-reference/tools/use-the-date-command-in-linux/index.md b/docs/guides/tools-reference/tools/use-the-date-command-in-linux/index.md index da34c5ed9e1..646a7890e19 100644 --- a/docs/guides/tools-reference/tools/use-the-date-command-in-linux/index.md +++ b/docs/guides/tools-reference/tools/use-the-date-command-in-linux/index.md @@ -130,6 +130,6 @@ This would tar and gzip the files in `/home/caker/` into a filename called `back ## Set the Date Manually from the Linux Terminal -If your system is running `ntpd`, and you've [set your timezone correctly](/docs/products/compute/compute-instances/guides/set-up-and-secure/#set-the-timezone), you shouldn't have to change this setting. However, if you find you need to set the system clock manually, use the `--set` option. In this example, we're setting the date and time to 9:14pm on Thursday, April 13, 2017: +If your system is running `ntpd`, and you've [set your timezone correctly](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#set-the-timezone), you shouldn't have to change this setting. However, if you find you need to set the system clock manually, use the `--set` option. In this example, we're setting the date and time to 9:14pm on Thursday, April 13, 2017: date --set="20170413 21:14" diff --git a/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md b/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md index 9fb4fddea70..ba196023643 100644 --- a/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md +++ b/docs/guides/tools-reference/tools/using-mcfly-to-search-bash-or-zsh-history/index.md @@ -48,12 +48,12 @@ This works well enough in many cases, but it often forces the user to cycle thro ## 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 McFly diff --git a/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md b/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md index 32d0e1b2fa8..12e007cf34c 100644 --- a/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md +++ b/docs/guides/tools-reference/tools/view-active-linux-processes-with-procs/index.md @@ -14,7 +14,7 @@ external_resources: - '[Sample procs config files](https://github.com/dalance/procs/tree/master/config)' --- -The [*procs*](https://github.com/dalance/procs) utility is a useful and informative alternative to the original Linux [*`ps` (process status) command*](/docs/guides/use-the-ps-aux-command-in-linux/). Like ps, procs displays information about the active processes running on the system, including their CPU and memory usage. However, procs enhances its output with additional columns, an intuitive color scheme, and other helpful features. This guide provides some background on procs, and explains how to install and use it. +The [*procs*](https://github.com/dalance/procs) utility is a useful and informative alternative to the original Linux [*`ps` (process status) command*](/cloud/guides/use-the-ps-aux-command-in-linux/). Like ps, procs displays information about the active processes running on the system, including their CPU and memory usage. However, procs enhances its output with additional columns, an intuitive color scheme, and other helpful features. This guide provides some background on procs, and explains how to install and use it. ## An Introduction to procs @@ -35,16 +35,16 @@ The [*procs GitHub page*](https://github.com/dalance/procs#kind-list) has a comp The procs utility is very similar to the `ps` command which it seeks to replace. Procs can do everything ps does, but it can also display additional fields and has more options. For this reason it is the better choice in most cases. However, both commands have the most significant information available. The `ps` command is often supplemented with the `top` command. top displays a real-time view of the most resource-intensive processes. In procs, the `--watch` and `--watch-interval` options provide the same information. Procs supports tree format and customization, while ps does not. -Because the `ps` command's output is relatively sparse, users often append the `-ef` option for more meaningful results. `ps` is often used in conjunction with other commands, such as `grep`, to extract and summarize information. For more information about the `ps` command, see the [*Linode ps guide*](/docs/guides/use-the-ps-aux-command-in-linux/). +Because the `ps` command's output is relatively sparse, users often append the `-ef` option for more meaningful results. `ps` is often used in conjunction with other commands, such as `grep`, to extract and summarize information. For more information about the `ps` command, see the [*Linode ps guide*](/cloud/guides/use-the-ps-aux-command-in-linux/). ## Before You Begin -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 procs diff --git a/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md b/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md index 32d1eef3db9..cf29e2d3cd6 100644 --- a/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md +++ b/docs/guides/tools-reference/tools/view-and-follow-the-end-of-text-files-with-tail/index.md @@ -16,7 +16,7 @@ tags: ["linux"] ## What is tail? -The `tail` command is a core Linux utility used to view the end of text files. You can also use **follow mode** to see new lines as they're added to a file in real time. `tail` is similar to the [head utility](/docs/guides/view-the-beginning-of-text-files-with-head/), used for viewing the beginning of files. +The `tail` command is a core Linux utility used to view the end of text files. You can also use **follow mode** to see new lines as they're added to a file in real time. `tail` is similar to the [head utility](/cloud/guides/view-the-beginning-of-text-files-with-head/), used for viewing the beginning of files. ## Syntax and Basic Usage @@ -76,12 +76,12 @@ Line 10 With the `-f` option, `tail` operates in **follow mode**. Here, `tail` prints the final lines of a file, then watches for new additions to the end of the file. When new lines are added they are printed to the terminal, giving you a live feed of the end of the file. -`tail` will continue to follow a file until the user sends a break (e.g. `Control+c`) to the terminal. Additionally, if the file is deleted or renamed, `tail -f` will fail. Use the `-F` option to force `tail` to follow file names rather than file objects. This can prevent problems with [log rotation](/docs/guides/use-logrotate-to-manage-log-files/) and other programs that may alter file names. +`tail` will continue to follow a file until the user sends a break (e.g. `Control+c`) to the terminal. Additionally, if the file is deleted or renamed, `tail -f` will fail. Use the `-F` option to force `tail` to follow file names rather than file objects. This can prevent problems with [log rotation](/cloud/guides/use-logrotate-to-manage-log-files/) and other programs that may alter file names. Follow mode is very useful when troubleshooting issues because it allows you to watch logs in real time. ### Filter with grep -`tail` can be combined with [grep](/docs/guides/how-to-use-grep-command/) to filter the contents of a log file in real time. You can use this to track specific types of errors, such as 404 responses from an Apache web server: +`tail` can be combined with [grep](/cloud/guides/how-to-use-grep-command/) to filter the contents of a log file in real time. You can use this to track specific types of errors, such as 404 responses from an Apache web server: tail -F /var/log/apache2/access.log | grep "404" diff --git a/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md b/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md index d45686736fc..5284ded02f4 100644 --- a/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md +++ b/docs/guides/tools-reference/tools/view-the-beginning-of-text-files-with-head/index.md @@ -13,7 +13,7 @@ aliases: ['/tools-reference/tools/view-the-beginning-of-text-files-with-head/',' tags: ["linux"] --- -The `head` command is a core Linux utility used to view the very beginning of a text file. Despite its narrow functionality, `head` is useful in many systems administration and scripting tasks. For similar functionality that address the end of a file, use the [tail](/docs/guides/view-and-follow-the-end-of-text-files-with-tail/) utility instead. +The `head` command is a core Linux utility used to view the very beginning of a text file. Despite its narrow functionality, `head` is useful in many systems administration and scripting tasks. For similar functionality that address the end of a file, use the [tail](/cloud/guides/view-and-follow-the-end-of-text-files-with-tail/) utility instead. ![View Beginning of Files with Head](view_the_beginning_of_text_files_with_head_smg.png) diff --git a/docs/guides/tools-reference/tools/vim-color-schemes/index.md b/docs/guides/tools-reference/tools/vim-color-schemes/index.md index a6dd8232cd8..aa48b5e3ad0 100644 --- a/docs/guides/tools-reference/tools/vim-color-schemes/index.md +++ b/docs/guides/tools-reference/tools/vim-color-schemes/index.md @@ -17,7 +17,7 @@ external_resources: [Vim](https://www.vim.org/) reigns as one of the most widely used command line text editors. It offers a high degree of customization, runs on a wide range of operating systems, and comes pre-installed on many Unix-based systems. -You can learn more about Vim, including how to operate and navigate the editor, through our guide [Getting Started Using Vi and Vim](/docs/guides/what-is-vi/). Additionally, our guide [Introduction to Vim Customization](/docs/guides/introduction-to-vim-customization/) teaches you to configure and customize your Vim instance. +You can learn more about Vim, including how to operate and navigate the editor, through our guide [Getting Started Using Vi and Vim](/cloud/guides/what-is-vi/). Additionally, our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/) teaches you to configure and customize your Vim instance. Color schemes are a useful component of Vim customization. They allow you to define how Vim displays both the background and text. Factor in Vim's syntax highlighting, and the color scheme possibilities are vast. Not only can color schemes make your editor more appealing, they can make text easier to read and navigate. @@ -26,17 +26,17 @@ In this tutorial, learn more about Vim color schemes. This includes reviewing ex {{< note >}} This guide should also apply to NeoVim, a project based on Vim that adds many new features. However, it's likely your NeoVim instance uses an `init.vim` file instead of a `.vimrc` for storing configurations. The `init.vim` is typically stored at `~/.config/nvim/init.vim`. -You can learn more about NeoVim and how to get started customizing it through our guide [How to Install NeoVim and Plugins with Vim-plug](/docs/guides/how-to-install-neovim-and-plugins-with-vim-plug/). +You can learn more about NeoVim and how to get started customizing it through our guide [How to Install NeoVim and Plugins with Vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/). {{< /note >}} ## Before You Begin -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 View Vim Color Schemes @@ -113,7 +113,7 @@ wget https://raw.githubusercontent.com/altercation/vim-colors-solarized/master/c ### Install Using a Vim plug-in Manager -Our guide [Introduction to Vim Customization](/docs/guides/introduction-to-vim-customization/#integrate-plug-ins) covers how to get started with a plug-in manager and provides the installation process for [Vim-plug](https://github.com/junegunn/vim-plug). Essentially: +Our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/#integrate-plug-ins) covers how to get started with a plug-in manager and provides the installation process for [Vim-plug](https://github.com/junegunn/vim-plug). Essentially: ```command curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim @@ -121,7 +121,7 @@ curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.c Once you have a plug-in manager like Vim-plug installed, you can use the manager's installation command to install a new color scheme. -Using Vim-plug you can install the `solarized` scheme by adding the following lines to your `vimrc` file. If you followed our guide [Introduction to Vim Customization](/docs/guides/introduction-to-vim-customization/), you already have a `.vimrc` file which includes the first and last lines of this example. Otherwise, you can create one in Vim by opening a file at `~/.vimrc`. +Using Vim-plug you can install the `solarized` scheme by adding the following lines to your `vimrc` file. If you followed our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/), you already have a `.vimrc` file which includes the first and last lines of this example. Otherwise, you can create one in Vim by opening a file at `~/.vimrc`. ```file {title="~/.vimrc"} call plug#begin('~/.vim/plugged') diff --git a/docs/guides/tools-reference/tools/what-is-vi/index.md b/docs/guides/tools-reference/tools/what-is-vi/index.md index 92ee386b1ff..446da8b9e10 100644 --- a/docs/guides/tools-reference/tools/what-is-vi/index.md +++ b/docs/guides/tools-reference/tools/what-is-vi/index.md @@ -181,6 +181,6 @@ You can also exit Vi without saving your changes. To do so, add a `!` to the end ## Conclusion -If you are looking to take your Vi usage to the next level, you may want to check out Vim and NeoVim. Each of these evolves from Vi and is highly customizable through numerous configuration options and community-developed plug-ins. Check out our guides [Introduction to Vim Customization](/docs/guides/introduction-to-vim-customization/) and [How to Install NeoVim and Plugins with vim-plug](/docs/guides/how-to-install-neovim-and-plugins-with-vim-plug/), where you can find an introduction to each editor and help getting started using them. +If you are looking to take your Vi usage to the next level, you may want to check out Vim and NeoVim. Each of these evolves from Vi and is highly customizable through numerous configuration options and community-developed plug-ins. Check out our guides [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/) and [How to Install NeoVim and Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/), where you can find an introduction to each editor and help getting started using them. Many of the customization options described in the Vim customization guide apply to Vi as well. The guide can be a great start if you want to fine-tune your Vi experience. diff --git a/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md b/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md index 5d489b9b2a5..64cbd83463a 100644 --- a/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md +++ b/docs/guides/tools-reference/tools/write-a-neovim-plugin-with-lua/index.md @@ -22,9 +22,9 @@ In this tutorial you learn how to write a Neovim plugin using the Lua programmin ## 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,12 +36,12 @@ In this tutorial you learn how to write a Neovim plugin using the Lua programmin sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Neovim Plugins Work -Neovim expands on the highly-customizable text editor Vim, carrying over many of the same options for controlling the editor's behavior, look, and feel. You can learn more about Neovim in our guide [How to Install Neovim Plugins with vim-plug](/docs/guides/how-to-install-neovim-and-plugins-with-vim-plug/). +Neovim expands on the highly-customizable text editor Vim, carrying over many of the same options for controlling the editor's behavior, look, and feel. You can learn more about Neovim in our guide [How to Install Neovim Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/). Just as with Vim, Neovim can be extended through plugins created and maintained by the vast Vim and Neovim communities. Neovim maintains full compatibility with standard Vim plugins. Neovim also adds many advanced features that have allowed a community of Neovim plugin creators to expand the editor's horizons. @@ -58,7 +58,7 @@ This section walks you through creating a Neovim plugin. It features an example To help keep plugins organized and more maintainable, this guide uses the [vim-plug](https://github.com/junegunn/vim-plug) plugin manager. Several other plugin managers exist including some specifically built for Neovim. -Refer to our guide [How to Install Neovim Plugins with vim-plug](/docs/guides/how-to-install-neovim-and-plugins-with-vim-plug/#install-neovim-plugins) for detailed information on vim-plug. However, if you already have cURL installed, you can install vim-plug with the following command: +Refer to our guide [How to Install Neovim Plugins with vim-plug](/cloud/guides/how-to-install-neovim-and-plugins-with-vim-plug/#install-neovim-plugins) for detailed information on vim-plug. However, if you already have cURL installed, you can install vim-plug with the following command: curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim diff --git a/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md b/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md index 4f8f7861e68..208bfe6c9ff 100644 --- a/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md +++ b/docs/guides/tools-reference/tools/writing-a-vim-plugin/index.md @@ -21,9 +21,9 @@ In this tutorial, you learn how to write a Vim plugin of your own. The guide wal ## 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,12 +35,12 @@ In this tutorial, you learn how to write a Vim plugin of your own. The guide wal sudo dnf upgrade {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Vim Plugins Work -Vim is a highly-customizable text editor. By default, Vim comes with a configuration file — usually `~/.vimrc` — that gives you a vast array of options for controlling Vim's behavior and look and feel. You can learn more about configuring your Vim instance in our guide [Introduction to Vim Customization](/docs/guides/introduction-to-vim-customization/). +Vim is a highly-customizable text editor. By default, Vim comes with a configuration file — usually `~/.vimrc` — that gives you a vast array of options for controlling Vim's behavior and look and feel. You can learn more about configuring your Vim instance in our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/). Using plugins, Vim becomes even more adaptable. The editor has a wide and dedicated community of users. Many of these users have contributed exceptional tools that add new functionality or adapt existing functionality within Vim. @@ -55,7 +55,7 @@ This section walks you through creating a Vim plugin. The example plugin display To help keep plugins organized and more maintainable, this guide uses the [vim-plug](https://github.com/junegunn/vim-plug) plugin manager. Several other plugin managers exist though, so feel free to choose an option that works best for you. -You can get details on how to install vim-plug in our guide [Introduction to Vim Customization](/docs/guides/introduction-to-vim-customization/#install-the-vim-plug-plug-in-manager). However, if you already have cURL installed, you can install vim-plug with the following command: +You can get details on how to install vim-plug in our guide [Introduction to Vim Customization](/cloud/guides/introduction-to-vim-customization/#install-the-vim-plug-plug-in-manager). However, if you already have cURL installed, you can install vim-plug with the following command: sudo curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim diff --git a/docs/guides/uptime/analytics/google-analytics-for-websites/index.md b/docs/guides/uptime/analytics/google-analytics-for-websites/index.md index b138d9688d3..4b1f27ba09e 100644 --- a/docs/guides/uptime/analytics/google-analytics-for-websites/index.md +++ b/docs/guides/uptime/analytics/google-analytics-for-websites/index.md @@ -10,7 +10,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Analytics Help](https://support.google.com/analytics/?hl=en#topic=3544906)' - '[Google Analytics Developers](https://developers.google.com/analytics/)' - - '[Google Analytics for WordPress](/docs/guides/google-analytics-on-wordpress/)' + - '[Google Analytics for WordPress](/cloud/guides/google-analytics-on-wordpress/)' tags: ["statistics","analytics"] aliases: ['/uptime/analytics/google-analytics-for-websites/'] --- @@ -20,9 +20,9 @@ Google Analytics offers detailed statistics related to visitor traffic and sales Although Google Analytics provides a way to add the tracking code to your webpages, if you are not using PHP includes, Server Side Includes, or another form of layout template, the process can be tedious and inefficient. This guide provides two alternatives to inserting the Google Analytics tracking code to your website, depending on your website's set-up. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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. -This guide also assumes you have configured your Apache server as described in our [LAMP](/docs/websites/lamp/) guides with your publicly accessible directory located at something similar to `/var/www/example.com/public_html`. Replace all instances of `example.com` with your own domain information. +This guide also assumes you have configured your Apache server as described in our [LAMP](/cloud/websites/lamp/) guides with your publicly accessible directory located at something similar to `/var/www/example.com/public_html`. Replace all instances of `example.com` with your own domain information. {{< /note >}} ## Signing Up for Google Analytics diff --git a/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md b/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md index 8ce503cfe03..40cc6b275b3 100644 --- a/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md +++ b/docs/guides/uptime/analytics/google-analytics-on-wordpress/index.md @@ -11,16 +11,16 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Analytics Help](https://support.google.com/analytics/?hl=en#topic=3544906)' - '[Google Analytics Developers](https://developers.google.com/analytics/)' - - '[Google Analytics for Websites](/docs/guides/google-analytics-for-websites/)' + - '[Google Analytics for Websites](/cloud/guides/google-analytics-for-websites/)' aliases: ['/uptime/analytics/google-analytics-on-wordpress/'] --- Google Analytics offers detailed statistics related to visitor traffic and sales for your website, allowing you to better know your audience. It can be beneficial to any website owner interested in growing their visitor base. -This guide provides three ways to add Google Analytics to WordPress: By directly adding the analytics code to your theme and two plugin options. Prior to using this guide, you should have completed our [Manage Web Content with WordPress](/docs/guides/how-to-install-and-configure-wordpress/) guide and have a fully configured WordPress website set up. +This guide provides three ways to add Google Analytics to WordPress: By directly adding the analytics code to your theme and two plugin options. Prior to using this guide, you should have completed our [Manage Web Content with WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide and have a fully configured WordPress website set up. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 >}} ## Sign Up for Google Analytics diff --git a/docs/guides/uptime/analytics/install-countly-analytics/index.md b/docs/guides/uptime/analytics/install-countly-analytics/index.md index 7cab935c85b..71fb3ef8aab 100644 --- a/docs/guides/uptime/analytics/install-countly-analytics/index.md +++ b/docs/guides/uptime/analytics/install-countly-analytics/index.md @@ -18,9 +18,9 @@ This tutorial shows you how to start using Countly for your analytics needs. Cou ## 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. @@ -32,7 +32,7 @@ This tutorial shows you how to start using Countly for your analytics needs. Cou sudo dnf upgrade ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Countly Analytics Community Edition @@ -110,7 +110,7 @@ These steps show you how to download the Git repository for Countly and use the Countly does not require you to use DNS for your server. However, doing so can make your Countly instance easier to access. It gives you access to your instance via a custom domain name, rather than just the remote IP address. -To set up DNS on a Linode server, refer to our collection of guides on the [Linode DNS manager](/docs/products/networking/dns-manager/guides/). The process there is straightforward and can have your server running through a DNS quickly. +To set up DNS on a Linode server, refer to our collection of guides on the [Linode DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). The process there is straightforward and can have your server running through a DNS quickly. ### (Optional) Assigning Countly TLS via Let’s Encrypt @@ -219,7 +219,7 @@ To have Countly start collecting analytics, you need to embed one of its client Countly has numerous client SDKs available to fit your needs, from web and mobile apps, to the desktop, server, and beyond. You can see Countly's [full list of client SDKs](https://support.count.ly/hc/en-us/articles/360037236571-Downloading-and-Installing-SDKs) for more information on how to download and operate each. -To get you started and to demonstrate, the rest of this section walks you through an example using Countly's web application SDK. It covers how you can make the client available for your web application and even includes example code to embed it. If you don't have a web application ready, follow our guide [Deploy a Static Site using Hugo and Object Storage](/docs/guides/host-static-site-object-storage/). +To get you started and to demonstrate, the rest of this section walks you through an example using Countly's web application SDK. It covers how you can make the client available for your web application and even includes example code to embed it. If you don't have a web application ready, follow our guide [Deploy a Static Site using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage/). 1. Ensure your web application's client-side code includes or has access to the Countly web SDK file. This can be done multiple ways: diff --git a/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md b/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md index 6ad58df6d24..748b3b87b9b 100644 --- a/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md +++ b/docs/guides/uptime/analytics/open-web-analytics-install-and-launch-on-your-server/index.md @@ -20,13 +20,13 @@ Open Web Analytics (OWA) is an open-source alternative to commercial web analyti 1. This guide assumes that you have your Linode already set up and running, that you have followed: - - The [Getting Started](/docs/products/platform/get-started/) guide. - - The [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. - - That the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and has a FQDN. + - The [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. + - The [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. + - 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) and has a FQDN. {{< note respectIndent=false >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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. Your server must be configured with a fully qualified domain name (FQDN) and not just an IP address. If needed, you can use the address provided in the **Networking** tab next to your public IP address. {{< /note >}} diff --git a/docs/guides/uptime/analytics/piwik-on-centos-5/index.md b/docs/guides/uptime/analytics/piwik-on-centos-5/index.md index 4d6f23ce07a..ab657202a01 100644 --- a/docs/guides/uptime/analytics/piwik-on-centos-5/index.md +++ b/docs/guides/uptime/analytics/piwik-on-centos-5/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." An alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership and control of the data collected from your visitors. -For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](/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/). +For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). -Beyond the basics, Piwik requires a functioning LAMP stack, which you can configure by following the [CentOS 5 LAMP guide](/docs/guides/lamp-server-on-centos-5/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack, which you can configure by following the [CentOS 5 LAMP guide](/cloud/guides/lamp-server-on-centos-5/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -54,7 +54,7 @@ You'll need to restart Apache after installing php-gd and modifying the PHP sett This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll append the following virtual host to our `vhost.conf` file, located at `/etc/httpd/conf.d/vhost.conf`: @@ -115,7 +115,7 @@ After installation, follow the first recommendation by adding `charset = utf8` t When Piwik's installation process is complete, you will receive a JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md b/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md index 715458382e0..680b9442b47 100644 --- a/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/analytics/piwik-on-debian-5-lenny/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of control of the data collected from your visitors. -For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](/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/). +For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). -Beyond the basics, Piwik requires a functioning LAMP stack, which is outlined in our [Debian 5 (Lenny) LAMP guide](/docs/web-servers/lamp/lamp-server-on-debian-5-lenny/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack, which is outlined in our [Debian 5 (Lenny) LAMP guide](/cloud/web-servers/lamp/lamp-server-on-debian-5-lenny/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -55,7 +55,7 @@ You'll need to restart Apache after installing php5-gd and modifying the PHP set This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.com`: @@ -105,7 +105,7 @@ Before running Piwik's installation script, we need to change the permissions of Visit your new Piwik instance in your browser. In our example, this is located at `http://stats.example.org/`. Follow the instructions provided by the Piwik installation process. It will prompt you for the name of your MySQL database as well as access credentials for this database. This information was created when you installed the LAMP stack. Alternatively, feel free to create a new database and user specifically for Piwik. -When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md b/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md index 8f8d707d98c..8ac0b3a820a 100644 --- a/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md +++ b/docs/guides/uptime/analytics/piwik-on-fedora-13/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a downloadable, open source (GPL licensed) web analytics software program. As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership and control of the data collected from your visitors. -For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](/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/). +For the purpose of this guide, we assume that you have a running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). -Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Fedora 13 LAMP guide](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Fedora 13 LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -54,7 +54,7 @@ You'll need to restart Apache after installing php-gd and modifying the PHP sett This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll append the following virtual host to our `vhost.conf` file, located at `/etc/httpd/conf.d/vhost.conf`: @@ -114,7 +114,7 @@ After installation, follow the first recommendation by adding `charset = utf8` t When Piwik's installation process is complete, you will receive a JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md index 73d81b531db..faed8f054a6 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program". As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.04 LAMP guide](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). Make sure you follow the steps for installing PHP and PHP-MySQL support. +Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.04 LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). Make sure you follow the steps for installing PHP and PHP-MySQL support. ## Prerequisites @@ -37,7 +37,7 @@ Piwik requires a few additional dependencies beyond LAMP fundamentals. Most impo This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an [A Record](/docs/guides/dns-overview/#a-and-aaaa), for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an [A Record](/cloud/guides/dns-overview/#a-and-aaaa), for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.org`: @@ -87,7 +87,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md index 5ac0f1ded6c..cac3407f016 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.10 LAMP guide](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). Make sure you follow the steps for installing PHP and PHP-MySQL support. +Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 10.10 LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). Make sure you follow the steps for installing PHP and PHP-MySQL support. ## Prerequisites @@ -37,7 +37,7 @@ Piwik requires a few additional dependencies beyond LAMP fundamentals. Most impo This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)" for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.org`: @@ -87,7 +87,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive a JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md index 256daefaa11..7cf6fcc8d45 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-12-04-precise-pangolin/index.md @@ -20,7 +20,7 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program". As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -Piwik requires a functioning LAMP stack. You can install the LAMP software with one of the [LAMP guides](/docs/lamp-guides). Make sure you follow the steps for installing PHP and PHP-MySQL support. +Piwik requires a functioning LAMP stack. You can install the LAMP software with one of the [LAMP guides](/cloud/lamp-guides). Make sure you follow the steps for installing PHP and PHP-MySQL support. ## Prerequisites @@ -37,7 +37,7 @@ Piwik requires a few additional dependencies beyond LAMP fundamentals. Most impo This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.org`: @@ -87,6 +87,6 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md index 36de3e5f26e..ed15c1665a3 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-04-jaunty/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). +For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). -Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.04 LAMP guide](/docs/guides/lamp-server-on-ubuntu-9-04-jaunty/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.04 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-04-jaunty/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -55,7 +55,7 @@ You'll need to restart Apache after installing php5-gd and modifying the PHP set This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.com`: @@ -105,7 +105,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md index d548e6430f1..b0f3907573b 100644 --- a/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/uptime/analytics/piwik-on-ubuntu-9-10-karmic/index.md @@ -20,9 +20,9 @@ deprecated: true Piwik is a "downloadable, open source (GPL licensed) web analytics software program." As an alternative to services like Google Analytics, Piwik allows you to host your statistics services on your own server and have full ownership of and control over the data collected from your visitors. -For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). +For the purpose of this guide, we assume that you have running and functional server, and have followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). -Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.10 LAMP guide](/docs/guides/lamp-server-on-ubuntu-9-10-karmic/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. +Beyond the basics, Piwik requires a functioning LAMP stack. You can install the LAMP software with the [Ubuntu 9.10 LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). Make sure you follow the steps for installing PHP and PHP-MySQL support. You will also want to be logged in over SSH as root. ## Prerequisites @@ -55,7 +55,7 @@ You'll need to restart Apache after installing php5-gd and modifying the PHP set This phase of the installation process is optional, but recommended. Here we configure a subdomain and virtual host configuration in Apache specifically for Piwik. This makes it easy to separate the statistics package from the website or websites that Piwik monitors. -To create a virtual host we need to add an "[A Record](/docs/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](/docs/products/networking/dns-manager/). Additionally, we'll need to create a new virtual hosting file for this sub domain. +To create a virtual host we need to add an "[A Record](/cloud/guides/dns-overview/#a-and-aaaa)," for the subdomain that Piwik will use; in our example this is `stats.example.com`. If your DNS is hosted with Linode's DNS servers, you can configure the A record in the [DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Additionally, we'll need to create a new virtual hosting file for this sub domain. We'll create the following host file, located at `/etc/apache2/sites-available/stats.example.com`: @@ -105,7 +105,7 @@ Visit your new Piwik instance in your browser. In our example, this is located a When Piwik's installation process is complete, you will receive JavaScript snippet that you can insert in every page on your site that you want to track using Piwik. -If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/). +If you are concerned about the security of the data collected by Piwik, consider limiting access to Piwik's virtual host, using either [rule-based](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/). Congratulations! You now have a fully functional statistics and web traffic analytics package running on your own server. diff --git a/docs/guides/uptime/analytics/plausible/index.md b/docs/guides/uptime/analytics/plausible/index.md index 1eb1014af6b..32fc83f8496 100644 --- a/docs/guides/uptime/analytics/plausible/index.md +++ b/docs/guides/uptime/analytics/plausible/index.md @@ -13,21 +13,21 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ## 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/). +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). -1. You need to generate an [API Token](/docs/products/platform/accounts/guides/manage-api-tokens/). +1. You need to generate an [API Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens). -1. [Deploy a Docker Quick Deploy App](/docs/marketplace-docs/guides/docker/). This includes creating your limited sudo user, your SSH public key, the previously generated API token, the domain you'd like to use and an email address, the preferred image, region, plan, and root password. There are additional options for opening ports to allow email, however this is only needed if you'll be allowing others to register for this Plausible instance. Once ready click on *Create Linode*. The process will take about 5-10 minutes to complete. +1. [Deploy a Docker Quick Deploy App](/cloud/marketplace-docs/guides/docker/). This includes creating your limited sudo user, your SSH public key, the previously generated API token, the domain you'd like to use and an email address, the preferred image, region, plan, and root password. There are additional options for opening ports to allow email, however this is only needed if you'll be allowing others to register for this Plausible instance. Once ready click on *Create Linode*. The process will take about 5-10 minutes to complete. -1. You need a domain name configured in the [DNS Manager](/docs/products/networking/dns-manager/get-started/). Create A/AAAA records pointing to the server hosting Docker. +1. You need a domain name configured in the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager). Create A/AAAA records pointing to the server hosting Docker. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Cloning the Plausible Repository -1. After you created your Compute Instance, you can [login via SSH](/docs/guides/connect-to-server-over-ssh/) via your local terminal. Once you login, update and upgrade your server. +1. After you created your Compute Instance, you can [login via SSH](/cloud/guides/connect-to-server-over-ssh/) via your local terminal. Once you login, update and upgrade your server. ```command sudo apt update && sudo apt upgrade -y diff --git a/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md b/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md index e2079639e59..5a696db1246 100644 --- a/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md +++ b/docs/guides/uptime/analytics/posthog-on-linode-kubernetes-engine-install/index.md @@ -14,7 +14,7 @@ external_resources: - '[PostHog user guide](https://posthog.com/docs/user-guides)' --- -[*PostHog*](https://posthog.com/) is an open-source product analytics tool that can replace Google Analytics. PostHog can be self-hosted on the [Linode Kubernetes Engine](/docs/products/compute/kubernetes/) (LKE) and installed using `kubectl` and [*Helm 3*](https://helm.sh/), a client that acts as a package manager for Kubernetes. PostHog offers a wide variety of features including funnel analysis, product use trends, and session recordings. This guide introduces PostHog and explains how to install and configure it on the LKE. +[*PostHog*](https://posthog.com/) is an open-source product analytics tool that can replace Google Analytics. PostHog can be self-hosted on the [Linode Kubernetes Engine](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) (LKE) and installed using `kubectl` and [*Helm 3*](https://helm.sh/), a client that acts as a package manager for Kubernetes. PostHog offers a wide variety of features including funnel analysis, product use trends, and session recordings. This guide introduces PostHog and explains how to install and configure it on the LKE. ## An Introduction to PostHog @@ -49,9 +49,9 @@ Even though Google Analytics is the industry standard, there are many advantages ## 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: @@ -60,7 +60,7 @@ Even though Google Analytics is the industry standard, there are many advantages ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see our [Linux Users and Groups](/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 our [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Install PostHog on the Linode Kubernetes Engine @@ -71,11 +71,11 @@ When the cluster is deployed and ready, PostHog can be installed using Helm and To install PostHog on an LKE cluster, the system must satisfy the following requirements: -- A Kubernetes cluster must have been created using LKE. To create a cluster, see the [Linode Kubernetes Engine Documentation](/docs/products/compute/kubernetes/). PostHog requires Kubernetes release 1.19 or newer. +- A Kubernetes cluster must have been created using LKE. To create a cluster, see the [Linode Kubernetes Engine Documentation](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). PostHog requires Kubernetes release 1.19 or newer. - The cluster must have enough resources to run PostHog. A minimum of four virtual CPUs and 8GB of memory is recommended. -- The `kubectl` client must be installed. `kubectl` allows users to install applications on a cluster, view and manage Kubernetes resources, and access log files. `kubectl` can be installed using a package manager or directly downloaded using the `curl` command. More information about `kubectl` is also available in the [Linode Kubernetes Engine Documentation](/docs/products/compute/kubernetes/) or on the [Kubernetes installation page](https://kubernetes.io/docs/tasks/tools/#install-kubectl-on-linux). -- PostHog works best in conjunction with a registered domain name. This name is used to set up PostHog and access the dashboard. For instructions on how to register a domain name and configure the associated DNS records, see the [Linode guide to DNS Configuration](/docs/products/networking/dns-manager/guides/common-dns-configurations/). -- To install PostHog, first install [Helm v3](https://helm.sh/), which can be used to download, install, and upgrade applications on a cluster. Applications are installed using a Helm chart, which describes the essential resources using a common format. See the [Linode guide to Helm](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/) for more information about Helm. +- The `kubectl` client must be installed. `kubectl` allows users to install applications on a cluster, view and manage Kubernetes resources, and access log files. `kubectl` can be installed using a package manager or directly downloaded using the `curl` command. More information about `kubectl` is also available in the [Linode Kubernetes Engine Documentation](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine) or on the [Kubernetes installation page](https://kubernetes.io/docs/tasks/tools/#install-kubectl-on-linux). +- PostHog works best in conjunction with a registered domain name. This name is used to set up PostHog and access the dashboard. For instructions on how to register a domain name and configure the associated DNS records, see the [Linode guide to DNS Configuration](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). +- To install PostHog, first install [Helm v3](https://helm.sh/), which can be used to download, install, and upgrade applications on a cluster. Applications are installed using a Helm chart, which describes the essential resources using a common format. See the [Linode guide to Helm](/cloud/guides/how-to-install-apps-on-kubernetes-with-helm-3/) for more information about Helm. To install Helm, follow the steps below: @@ -250,7 +250,7 @@ posthog-ingress-nginx-controller LoadBalancer ww.xx.yy.zz ww.xx.yy.zz ### Set Up DNS -The IP address from the previous section is used to configure the domain's DNS record. Instructions on how to configure a DNS record can be found in the [Linode guide to DNS Configuration](/docs/products/networking/dns-manager/guides/common-dns-configurations/). If a different IP address has already been configured for the domain, it can be edited as follows. +The IP address from the previous section is used to configure the domain's DNS record. Instructions on how to configure a DNS record can be found in the [Linode guide to DNS Configuration](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). If a different IP address has already been configured for the domain, it can be edited as follows. 1. Find the domain using the Linode Dashboard. Select **Domains** and then select the domain name. diff --git a/docs/guides/uptime/analytics/set-up-a-zipkin-server/index.md b/docs/guides/uptime/analytics/set-up-a-zipkin-server/index.md index 2d13f48055b..89d5145f102 100644 --- a/docs/guides/uptime/analytics/set-up-a-zipkin-server/index.md +++ b/docs/guides/uptime/analytics/set-up-a-zipkin-server/index.md @@ -23,9 +23,9 @@ While the official documentation offers [three different ways of installing Zipk ## 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. Do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for a Zipkin server. +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. Do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for a Zipkin server. 3. Create two Linodes and have access to another device: 1. One Linode to act as the Zipkin server. @@ -144,7 +144,7 @@ The default Fedora 26 firewall rules block all ports as a safety precaution. Cre pip2 install py_zipkin bottle requests -4. Download the python script [website.py](/docs/assets/scripts/website.py) which has been commented to show the added Zipkin code: +4. Download the python script [website.py](/cloud/assets/scripts/website.py) which has been commented to show the added Zipkin code: wget https://github.com/linode/docs/assets/scripts/website.py diff --git a/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md b/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md index 7d2de0688f2..e7ef95d28f6 100644 --- a/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md +++ b/docs/guides/uptime/analytics/webalizer-on-centos-5/index.md @@ -22,11 +22,11 @@ deprecated: true Webalizer is an industry standard statistics generation tool. It is useful to analyze traffic to your web server while still remaining lightweight enough not to hinder performance. Webalizer can even identify your user base using GeoIP services. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/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'll also be installing the [Apache 2 web server](/docs/guides/apache-2-web-server-on-centos-5/) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We'll also be installing the [Apache 2 web server](/cloud/guides/apache-2-web-server-on-centos-5/) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. ## Set the Hostname -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 @@ -59,7 +59,7 @@ At this point we're able to install the required packages for Webalizer. Run the ## Configuring Webalizer for Virtual Hosts -This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/docs/guides/apache-2-web-server-on-centos-5/) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: +This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/cloud/guides/apache-2-web-server-on-centos-5/) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log @@ -97,7 +97,7 @@ With `webalizer` configured, you must create the `webalizer/` directories in eac ### Securing Webalizer Output Directories -Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/) to limit access to these files. +Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/) to limit access to these files. ### Testing the Webalizer Script @@ -124,4 +124,4 @@ Congratulations, you have successfully installed Webalizer! You can leave future ## Other Considerations -Even with a low traffic site, Apache logs can become large. If your logs are routinely large, processing those logs can be time-consuming. You should consider [log rotation](/docs/guides/use-logrotate-to-manage-log-files/) to prevent potential performance issues. +Even with a low traffic site, Apache logs can become large. If your logs are routinely large, processing those logs can be time-consuming. You should consider [log rotation](/cloud/guides/use-logrotate-to-manage-log-files/) to prevent potential performance issues. diff --git a/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md b/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md index 72c2571ad6c..f85f9ef92f6 100644 --- a/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/analytics/webalizer-on-debian-5-lenny/index.md @@ -20,11 +20,11 @@ deprecated: true Webalizer is an industry standard statistics generation tool. It is useful to analyze traffic to your web server while still remaining lightweight enough not to hinder performance. Webalizer can even identify your user base using GeoIP services. -We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](/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'll also be installing the [Apache 2 web server](/docs/guides/apache-2-web-server-on-debian-5-lenny/) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. +We assume you've followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). All configuration will be performed in a terminal session; make sure you're logged into your Linode as root via SSH. We'll also be installing the [Apache 2 web server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) with very minimal configuration. If you already have Apache installed and configured, feel free to skip these steps. If this is your first time installing Apache on this Linode, make sure to read the installation guide for additional guidance. ## Set the Hostname -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 @@ By default, Webalizer will create configuration files for the Apache 2 default s ## Configuring Webalizer for Virtual Hosts -This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/docs/guides/apache-2-web-server-on-debian-5-lenny/) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: +This section assumes that you've already configured at least one virtual host. If you do not have virtual hosting configured, please refer to the guide for [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) to further clarify this process and create at least one virtual host. Then, webalizer can generate distinct statistic sets for multiple virtual hosts, using the `webalizer` command line with arguments to process statistics for different virtual host log files. The syntax resembles the following: webalizer -n hostname -o /path/to/webalizer/output /path/to/logfile.log @@ -93,7 +93,7 @@ Now that we have created the configuration files, we must create the Webalizer d ### Securing Webalizer Output Directories -Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/docs/guides/rulebased-access-control-for-apache/) or [authentication based access control](/docs/guides/apache-access-control/) to limit access to these files. +Once the `webalizer` script has been tested, we recommend that you place some sort of security on the Webalizer output directories to prevent unauthorized access. Consider using [rule based authentication](/cloud/guides/rulebased-access-control-for-apache/) or [authentication based access control](/cloud/guides/apache-access-control/) to limit access to these files. ### Testing the Webalizer Script diff --git a/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md b/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md index 4e38202016d..f4f43912166 100644 --- a/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md +++ b/docs/guides/uptime/analytics/zipkin-server-configuration-using-docker-and-mysql/index.md @@ -20,11 +20,11 @@ We can configure Zipkin by [deploying it in a Docker container](http://zipkin.io ## 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. This guide will use the hostname 'zipkinhost'. Also, do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for a Zipkin server. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. This guide will use the hostname 'zipkinhost'. Also, do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for a Zipkin server. -3. Assuming you know how to instrument a Zipkin client machine or have walked through our [Set Up a Zipkin Server with Sample Website Tracking](/docs/guides/set-up-a-zipkin-server/) guide. +3. Assuming you know how to instrument a Zipkin client machine or have walked through our [Set Up a Zipkin Server with Sample Website Tracking](/cloud/guides/set-up-a-zipkin-server/) guide. 4. You will need an analyst system (laptop or workstation) with a web browser. This system will be used to view the traces/spans in the Zipkin server through the Zipkin provided webservice. diff --git a/docs/guides/uptime/best-practices/reboot-survival-guide/index.md b/docs/guides/uptime/best-practices/reboot-survival-guide/index.md index 7d3e4036857..0fb823efba9 100644 --- a/docs/guides/uptime/best-practices/reboot-survival-guide/index.md +++ b/docs/guides/uptime/best-practices/reboot-survival-guide/index.md @@ -38,7 +38,7 @@ All critical data should be backed up, and if possible in more than one location ### Backing up Databases -Proper backup knowledge for a database is important. Steps for properly backing up your MySQL or MariaDB database can be found [here](/docs/guides/mysqldump-backups/). +Proper backup knowledge for a database is important. Steps for properly backing up your MySQL or MariaDB database can be found [here](/cloud/guides/mysqldump-backups/). ### Backing up Important Files @@ -155,7 +155,7 @@ This guide is a high-level overview, and does not discuss runlevels. Read more a ## SSL Passphrases -Remember, if you use SSL certificates that require a passphrase, enter the passphrase on boot, or your web services will not come up. Use the [LISH](/docs/products/compute/compute-instances/guides/lish/) console to enter your passphrase on reboot: +Remember, if you use SSL certificates that require a passphrase, enter the passphrase on boot, or your web services will not come up. Use the [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) console to enter your passphrase on reboot: Starting web server (apache2)...[Mon Sep 22 09:03:45 2008] [warn] module ssl_module is already loaded, skipping Apache/2.2.3 mod_ssl/2.2.3 (Pass Phrase Dialog) @@ -175,7 +175,7 @@ If you use full-disk encryption, enter your password in the LISH console after a ## Firewall Rules -If you followed the [Creating a Firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) section of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, your firewall rules should already be saved, and loaded on boot automatically. If, however, you've manually configured your `iptables` exceptions live, they may not persist through a server reboot. +If you followed the [Creating a Firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) section of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, your firewall rules should already be saved, and loaded on boot automatically. If, however, you've manually configured your `iptables` exceptions live, they may not persist through a server reboot. 1. Ensure that your custom firewall rules are saved: @@ -190,7 +190,7 @@ If your system absolutely **cannot** afford any downtime, then scale the platfor You can deploy your services to an additional Linode to enable high availability. New Linodes will automatically be placed on known good hosts, and can ensure that vital services remain online throughout the reboot process. {{< /note >}} - - [Linode NodeBalancers](/docs/products/networking/nodebalancers/) - - [Using Nginx for Proxy Services and Software Load Balancing](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) - - [MySQL Master-Master Replication](/docs/guides/configure-master-master-mysql-database-replication/) - - [MariaDB Clusters with Galera](/docs/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) + - [Linode NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) + - [Using Nginx for Proxy Services and Software Load Balancing](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) + - [MySQL Master-Master Replication](/cloud/guides/configure-master-master-mysql-database-replication/) + - [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) diff --git a/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md b/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md index eedcdeb2ede..4aceeccc5d8 100644 --- a/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md +++ b/docs/guides/uptime/loadbalancing/application-http-vs-network-tcp-load-balancers/index.md @@ -9,11 +9,11 @@ keywords: ['load balancing protocols','http load balancing','tcp load balancing' license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -Load balancing is the process of distributing client requests across multiple servers. Originally, load balancers were dedicated hardware appliances connected to physical servers in data centers. Today, software products such as [Akamai NodeBalancers](/docs/products/networking/nodebalancers/) perform the same role with cloud-based servers. +Load balancing is the process of distributing client requests across multiple servers. Originally, load balancers were dedicated hardware appliances connected to physical servers in data centers. Today, software products such as [Akamai NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) perform the same role with cloud-based servers. -Whether hardware or software, the concept is the same. Load balancers act as a reverse proxy for client requests, parceling out requests across servers to avoid resource exhaustion. Load balancers take many forms and offer [many features](/docs/guides/load-balancing-fundamentals/). However, they all route client requests to back-end servers using either application-layer (HTTP/S) or transport-layer (TCP) criteria. Distributing the load in this way can help ensure the best performance, availability, scalability, and security. With Akamai NodeBalancers, it’s simple to take advantage of the features available at either layer. +Whether hardware or software, the concept is the same. Load balancers act as a reverse proxy for client requests, parceling out requests across servers to avoid resource exhaustion. Load balancers take many forms and offer [many features](/cloud/guides/load-balancing-fundamentals/). However, they all route client requests to back-end servers using either application-layer (HTTP/S) or transport-layer (TCP) criteria. Distributing the load in this way can help ensure the best performance, availability, scalability, and security. With Akamai NodeBalancers, it’s simple to take advantage of the features available at either layer. -Transmission Control Protocol (TCP) resides at the transport layer (L4) in the [seven-layer OSI model](/docs/guides/introduction-to-osi-networking-model/). Meanwhile, Hypertext Transport Protocol (HTTP) and secure HTTP (HTTPS) reside at the higher application layer (L7). Both TCP and HTTP have their place when it comes to load balancing. +Transmission Control Protocol (TCP) resides at the transport layer (L4) in the [seven-layer OSI model](/cloud/guides/introduction-to-osi-networking-model/). Meanwhile, Hypertext Transport Protocol (HTTP) and secure HTTP (HTTPS) reside at the higher application layer (L7). Both TCP and HTTP have their place when it comes to load balancing. If your application is a website or uses a web-accessible front end, it can be preferable to use application-layer (HTTP) load balancing. Using an HTTP load balancer allows you to view the contents of a client's HTTP request *before* you determine which back-end machine it is routed to. This enables you to make use of application-layer data in HTTP headers. Depending on the features of the load balancer, it may be able to read these headers to dynamically route the traffic (such as routing requests for `example.com/app` to a different set of back-ends than `example.com/blog`). @@ -23,7 +23,7 @@ In this guide, learn what benefits each protocol offers, and which makes the mos ## HTTP (Application/L7) Load Balancing Overview -With HTTP/S load balancing, the [NodeBalancer](/docs/products/networking/nodebalancers/guides/configure/) examines each packet's application layer HTTP headers to decide how to route client requests to back-end servers. Besides improving application performance, availability, and horizontal scalability for Web applications, HTTP load balancing also affords web-specific benefits not available from TCP load balancing. +With HTTP/S load balancing, the [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/configuration-options-for-nodebalancers) examines each packet's application layer HTTP headers to decide how to route client requests to back-end servers. Besides improving application performance, availability, and horizontal scalability for Web applications, HTTP load balancing also affords web-specific benefits not available from TCP load balancing. ### HTTP Load Balancer Benefits diff --git a/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md b/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md index fbf4f1712f2..53b80e4a495 100644 --- a/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md +++ b/docs/guides/uptime/loadbalancing/configure-failover-for-haproxy-on-akamai/index.md @@ -17,7 +17,7 @@ This guide uses the free and open source (*FOSS*) version of HAProxy to create a ## Before You Begin -1. Follow the steps in [Getting Started with HAProxy TCP Load Balancing and Health Checks](/docs/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/) to create the example HAProxy instance and WordPress backend servers. +1. Follow the steps in [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/) to create the example HAProxy instance and WordPress backend servers. 1. Deploy a second HAProxy instance in the same data center, configured identically to the first HAProxy server. @@ -28,7 +28,7 @@ This guide uses the free and open source (*FOSS*) version of HAProxy to create a 1. Link the second HAProxy instance to the new IP address on the first instance by following the *Configuring IP Sharing* section of [Managing IP Addresses on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-ip-sharing). {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 >}} ## Configure the Shared IP Address diff --git a/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md b/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md index 3785eec549f..5c0a8f2ee03 100644 --- a/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md +++ b/docs/guides/uptime/loadbalancing/configure-health-checks-nodebalancers-remove-nonworking-backends/index.md @@ -23,7 +23,7 @@ Passive checks simply monitor traffic between the NodeBalancer and back-end serv - **HTTP Status**: Requires a valid HTTP `2xx` or `3xx` response from a back-end server. - **HTTP Body**: Requires a match against a regular expression in the body of an HTTP response. -For additional details and options for configuring NodeBalancer health checks, see [Configuration Options for NodeBalancers: Health Checks](/docs/products/networking/nodebalancers/guides/configure/#health-checks). +For additional details and options for configuring NodeBalancer health checks, see [Configuration Options for NodeBalancers: Health Checks](https://techdocs.akamai.com/cloud-computing/docs/configuration-options-for-nodebalancers#health-checks). ## Deploy the Testbed @@ -47,7 +47,7 @@ Use the following settings to provision each of the three back-end server instan - **Details** : Name each instance `srv1`, `srv2`, and `srv3`, respectively, under **Linode Label**. - **Add-ons**: A **Private IP** is mandatory for each instance. NodeBalancers only distribute client requests to back-end servers over a region's private network. -1. Once your servers are up and running, log in to each using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/), and install the NGINX web server: +1. Once your servers are up and running, log in to each using [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish), and install the NGINX web server: ```command sudo apt install nginx @@ -111,7 +111,7 @@ It is a best practice to configure load balancing first, and then add health che ![The NodeBalancer configuration screen after making the indicated changes.](nodebalancer-configuration-screen.png) -1. When done, click the **Create NodeBalancer** button to initialize the instance. Our [Create a NodeBalancer guide](https://www.linode.com/docs/products/networking/nodebalancers/guides/create/) has more details on load balancer setup. +1. When done, click the **Create NodeBalancer** button to initialize the instance. Our [Create a NodeBalancer guide](https://techdocs.akamai.com/cloud-computing/docs/create-a-nodebalancer) has more details on load balancer setup. #### Verify Load Balancing diff --git a/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md b/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md index bfb4a572081..029176fe779 100644 --- a/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md +++ b/docs/guides/uptime/loadbalancing/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/index.md @@ -22,13 +22,13 @@ This guide demonstrates how to install HAProxy onto three Linux distributions: U ## Before You Begin -1. To be used as your HAProxy instance, deploy a Compute Instance running one of the `Ubuntu 24.04 LTS`, `CentOS Stream 9`, or `openSUSE Leap 15.6` distributions, and assign the instance to a VLAN. 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. To be used as your HAProxy instance, deploy a Compute Instance running one of the `Ubuntu 24.04 LTS`, `CentOS Stream 9`, or `openSUSE Leap 15.6` distributions, and assign the instance to a VLAN. 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. HAProxy can be deployed using a [Nanode](https://www.linode.com/pricing/) plan for testing purposes. See HAProxy's [hardware recommendations](https://www.haproxy.com/documentation/haproxy-enterprise/getting-started/installation/linux/#hardware-recommendations) for production-level workloads. -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 WordPress backend instances to demonstrate how HAProxy controls network traffic flows at both the TCP/Network (Layer 4) and HTTP/Application (Layer 7) levels. Follow the steps in our [Deploy WordPress through the Linode Marketplace](/docs/marketplace-docs/guides/wordpress/) guide to create three backend WordPress test instances. Fill out all required fields under **WordPress Setup**, and use default values along with the following options: +1. This guide uses WordPress backend instances to demonstrate how HAProxy controls network traffic flows at both the TCP/Network (Layer 4) and HTTP/Application (Layer 7) levels. Follow the steps in our [Deploy WordPress through the Linode Marketplace](/cloud/marketplace-docs/guides/wordpress/) guide to create three backend WordPress test instances. Fill out all required fields under **WordPress Setup**, and use default values along with the following options: - **The stack you are looking to deploy Wordpress on**: Choose either **LAMP** or **LEMP**. - **Website title**: For each instance, enter `backend1`, `backend2`, and `backend3`, respectively. @@ -40,7 +40,7 @@ This guide demonstrates how to install HAProxy onto three Linux distributions: U Each server is generated with an `index.html` home page that indicates the given title of the website hosted on the instance (`backend1`, `backend2`, or `backend3`). Open a web browser and navigate to each server's IP address to verify that the example test servers are functioning. Take note of the IP addresses of each backend instance, as they are used later. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 HAProxy diff --git a/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md b/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md index 68b55fe168d..8d4c7af2021 100644 --- a/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md +++ b/docs/guides/uptime/loadbalancing/how-to-configure-haproxy-http-load-balancing-and-health-checks/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' [HAProxy](http://www.haproxy.org) is an intermediary gateway application that manages traffic between frontend clients and backend server resources. HAProxy can be configured to load balance traffic between a set of backend servers, and it can be configured to route HTTP requests according to the URL path of the request. -This guide is the second part in a series on HAProxy. The first guide, [Getting Started with HAProxy TCP Load Balancing and Health Checks](/docs/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/), provided steps to build a minimally configured network of Nanodes: +This guide is the second part in a series on HAProxy. The first guide, [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/), provided steps to build a minimally configured network of Nanodes: - An HAProxy node was set up as a TCP load balancer - Three Akamai Quick Deploy App WordPress servers served as the backends @@ -21,10 +21,10 @@ This second guide presents another configuration for this server cluster that de ## Before You Begin -Follow the [Before You Begin](/docs/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/#before-you-begin) and [Install HAProxy](/docs/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/#install-haproxy) sections of the [Getting Started with HAProxy TCP Load Balancing and Health Checks](/docs/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/) guide. +Follow the [Before You Begin](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/#before-you-begin) and [Install HAProxy](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/#install-haproxy) sections of the [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## HTTP Path-based Routing @@ -117,7 +117,7 @@ To demonstrate how path-based routing works in practice, follow these steps for ## HTTP Health Checks -In [Getting Started with HAProxy TCP Load Balancing and Health Checks](/docs/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/), the HAProxy gateway was configured to test TCP and Layer 4 connectivity, marking servers as down when errors accumulate over time. HTTP health checks work similarly, but use standard HTTP response codes to mark servers as "down" based on their performance over a specified interval. +In [Getting Started with HAProxy TCP Load Balancing and Health Checks](/cloud/guides/getting-started-with-haproxy-tcp-load-balancing-and-health-checks/), the HAProxy gateway was configured to test TCP and Layer 4 connectivity, marking servers as down when errors accumulate over time. HTTP health checks work similarly, but use standard HTTP response codes to mark servers as "down" based on their performance over a specified interval. Like TCP health checks, HTTP health checks continue to test a server marked as "down" to see if it begins to respond. If it starts responding correctly, the server is added back to the pool of active servers. diff --git a/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md b/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md index a53c07b84b4..36c2f773cc8 100644 --- a/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md +++ b/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md @@ -26,16 +26,16 @@ This guide will describe the installation and configuration of HAProxy for load- ## Before You Begin -1. This guide will use `sudo` for commands that require administrative privileges. To get started, follow the steps in our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to set up a standard user account, secure SSH access, and remove any unnecessary network services. +1. This guide will use `sudo` for commands that require administrative privileges. To get started, follow the steps in our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to set up a standard user account, secure SSH access, and remove any unnecessary network services. 2. Update your system: sudo apt-get update && sudo apt-get upgrade -3. This guide uses private IP addresses in the example configurations. To set up private IPs and enable internal networking between Linodes, follow the steps in our [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. +3. This guide uses private IP addresses in the example configurations. To set up private IPs and enable internal networking between Linodes, follow the steps in our [Linux Static IP Configuration](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) guide. {{< note >}} -This guide is written for a non-root user. Commands requiring administrative privileges are prefixed with `sudo`. Refer to our [Users and Groups](/docs/guides/linux-users-and-groups/) guide for more information on how to use `sudo`. +This guide is written for a non-root user. Commands requiring administrative privileges are prefixed with `sudo`. Refer to our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide for more information on how to use `sudo`. {{< /note >}} ## Installation diff --git a/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md b/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md index b02c2ae7247..9cd504ad93e 100644 --- a/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md +++ b/docs/guides/uptime/loadbalancing/load-balancing-fundamentals/index.md @@ -15,7 +15,7 @@ The basic premise of load balancing is "sharing the work". This guide explores w ## What Is Load Balancing? -Load balancing is the process of distributing client requests among multiple servers. Originally, load balancers were dedicated hardware appliances that sat in front of physical servers in data centers. Today, software products such as [Akamai NodeBalancers](/docs/products/networking/nodebalancers/guides/configure/) perform the same role with cloud-based servers. +Load balancing is the process of distributing client requests among multiple servers. Originally, load balancers were dedicated hardware appliances that sat in front of physical servers in data centers. Today, software products such as [Akamai NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/configuration-options-for-nodebalancers) perform the same role with cloud-based servers. Whether hardware or software, the concept is the same. Load balancers act as a reverse proxy for client requests, parceling out requests across servers to avoid resource exhaustion. @@ -61,7 +61,7 @@ Static algorithms always make the same decisions based on the same inputs. Dynam A round robin algorithm rotates among all available servers when parceling out client requests. For example, Request 1 goes to Server 1, Request 2 goes to Server 2, and so on up to Server N. At that point, the algorithm sends the next request to Server 1. -- **Pros**: Easiest algorithm to [implement and manage](/docs/guides/setting-up-round-robin-dns/). A good choice when client requests and responses are highly self-similar. Each request resembles every other in terms of size and response time. Also good when processing capacity is equal across all servers. +- **Pros**: Easiest algorithm to [implement and manage](/cloud/guides/setting-up-round-robin-dns/). A good choice when client requests and responses are highly self-similar. Each request resembles every other in terms of size and response time. Also good when processing capacity is equal across all servers. - **Cons**: May worsen existing congestion by sending requests to an already overloaded server. Performance may degrade over time because clients invariably request objects of different sizes, leading to uneven server loading. Also ill-suited when servers differ in terms of processing capability. @@ -102,7 +102,7 @@ HTTP/HTTPS load balancers may compute a hash of a URL and then cache the hashed - **Cons**: Not appropriate for email, most types of instant messaging, and other applications or services that do not run over HTTP. May require decryption and re-encryption of traffic secured with Transport Layer Security (TLS, which now represents the vast majority of web requests) before it can read HTTP requests. TLS decryption/encryption requires additional processing capability. {{< note >}} -For more information on TCP and HTTP/HTTPS load balancers, see our [Application (HTTP) vs Network (TCP) Load Balancers](/docs/guides/application-http-vs-network-tcp-load-balancers/) guide. +For more information on TCP and HTTP/HTTPS load balancers, see our [Application (HTTP) vs Network (TCP) Load Balancers](/cloud/guides/application-http-vs-network-tcp-load-balancers/) guide. {{< /note >}} ### Dynamic Load Balancing Algorithms diff --git a/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md b/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md index 4fd9aa115bb..557ae39190a 100644 --- a/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md +++ b/docs/guides/uptime/loadbalancing/use-nginx-as-a-front-end-proxy-and-software-load-balancer/index.md @@ -13,7 +13,7 @@ aliases: ['/web-servers/nginx/configuration/front-end-proxy-and-software-load-ba external_resources: - '[NGINX Proxy Module](http://wiki.nginx.org/NginxHttpProxyModule)' - '[HTTP Upstream Module](http://wiki.nginx.org/NginxHttpUpstreamModule)' - - '[NGINX Configuration](/docs/guides/how-to-configure-nginx/)' + - '[NGINX Configuration](/cloud/guides/how-to-configure-nginx/)' dedicated_cpu_link: true --- @@ -21,19 +21,19 @@ The NGINX web server can act as a very capable software load balancer, in additi ![Use NGINX as a Front-end Proxy and Software Load Balancer](use_nginx_as_a_frontend_proxy_and_software_load_balancer.png "Use Nginx as a Front-end Proxy and Software Load Balancer") -Using a proxy is helpful when the demands of serving a single website outgrow the capabilities of a single machine. Additionally, there are some web frameworks, like [Seaside](/docs/guides/deploy-smalltalk-applications-with-seaside/) and Ruby On Rails's Mongrel server, that deploy applications on framework-specific web servers. While these single-purpose servers provide powerful application services, they are not suitable for hosting entire applications. In these cases, using NGINX as a front-end proxy to pass only the essential requests to the application server is a viable means of unifying dynamic content with static content and providing a stable production environment. +Using a proxy is helpful when the demands of serving a single website outgrow the capabilities of a single machine. Additionally, there are some web frameworks, like [Seaside](/cloud/guides/deploy-smalltalk-applications-with-seaside/) and Ruby On Rails's Mongrel server, that deploy applications on framework-specific web servers. While these single-purpose servers provide powerful application services, they are not suitable for hosting entire applications. In these cases, using NGINX as a front-end proxy to pass only the essential requests to the application server is a viable means of unifying dynamic content with static content and providing a stable production environment. -This document provides an overview of using NGINX as a front-end proxy server for other HTTP servers, and as a software load balancer to distribute traffic across a cluster of machines providing HTTP resources. For an introductory guide to configuring NGINX, please see our [Basic NGINX Configuration](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) guide. If you want a simple NGINX deployment with content that uses PHP or Perl scripts, consider following one of our [Installing NGINX](/docs/web-servers/nginx/) guides. +This document provides an overview of using NGINX as a front-end proxy server for other HTTP servers, and as a software load balancer to distribute traffic across a cluster of machines providing HTTP resources. For an introductory guide to configuring NGINX, please see our [Basic NGINX Configuration](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) guide. If you want a simple NGINX deployment with content that uses PHP or Perl scripts, consider following one of our [Installing NGINX](/cloud/web-servers/nginx/) guides. ## Before You Begin Ensure that you have completed the following: -- Follow the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. -- Install the [NGINX server](/docs/web-servers/nginx/). -- Familiarize yourself with [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/). +- Follow the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. +- Install the [NGINX server](/cloud/web-servers/nginx/). +- Familiarize yourself with [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/). -If you're new to Linux server administration, you may be interested in our [introduction to Linux basics](/docs/guides/introduction-to-linux-concepts/) guide, [Beginner's Guide](/docs/products/compute/compute-instances/faqs/) and [Administration Basics](/docs/guides/linux-system-administration-basics/) guide. +If you're new to Linux server administration, you may be interested in our [introduction to Linux basics](/cloud/guides/introduction-to-linux-concepts/) guide, [Beginner's Guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. ## Front-End Proxy Services with NGINX: How It Works diff --git a/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md b/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md index dd95d59f7d6..fa58f58525c 100644 --- a/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md +++ b/docs/guides/uptime/logs/how-to-use-fluentd-for-data-logging/index.md @@ -51,14 +51,14 @@ The output plug-ins, prefixed with `out_`, have three different flushing and buf ## 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 focuses on Ubuntu and Debian Linux as hosts for Fluentd, although adaptations of Fluentd can be found for Windows and macOS as well. +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 focuses on Ubuntu and Debian Linux as hosts for Fluentd, although adaptations of Fluentd can be found for Windows and macOS as well. -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 create a limited user account. +1. Follow our [Setting Up 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 create a limited user account. 1. Fluentd input and output are synchronized to a time source, and Fluentd recommends setting up a Network Time Protocol daemon prior to software installation. In cloud environments with many separated data sources, a single source of NTP synchronization is recommended. The NTP time becomes the basis for data stamping through the parsing stages that Fluentd performs. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 placeholders and explains what to replace them with: diff --git a/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md b/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md index 704b541475f..1e7520701f2 100644 --- a/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md +++ b/docs/guides/uptime/logs/use-logrotate-to-manage-log-files/index.md @@ -28,7 +28,7 @@ Beyond the system-wide log rotation configuration, you can also configure `logro ### Run logrotate as a cronjob -Run `logrotate` as a [cronjob](/docs/guides/schedule-tasks-with-cron/) to ensures that logs will be rotated as regularly as configured. Logs will only be rotated when `logrotate` runs, regardless of configuration. For example, if you configure `logrotate` to rotate logs every day, but `logrotate` only runs every week, the logs will only be rotated every week. +Run `logrotate` as a [cronjob](/cloud/guides/schedule-tasks-with-cron/) to ensures that logs will be rotated as regularly as configured. Logs will only be rotated when `logrotate` runs, regardless of configuration. For example, if you configure `logrotate` to rotate logs every day, but `logrotate` only runs every week, the logs will only be rotated every week. For most daemon processes, logs should be rotated by the root user. In most cases, `logrotate` is invoked from a script in the `/etc/cron.daily/` directory. If one does not exist, create a script that resembles the following in the `/etc/cron.daily/` folder: @@ -78,7 +78,7 @@ mail {{< /file >}} -Your system will need a functioning [Mail Transfer Agent](/docs/email/) to be able to send email. +Your system will need a functioning [Mail Transfer Agent](/cloud/email/) to be able to send email. {{% content "email-warning-shortguide" %}} diff --git a/docs/guides/uptime/monitoring-cloud-manager-graphs-shortguide/index.md b/docs/guides/uptime/monitoring-cloud-manager-graphs-shortguide/index.md index e6acc2f2c5a..be384ee3c58 100644 --- a/docs/guides/uptime/monitoring-cloud-manager-graphs-shortguide/index.md +++ b/docs/guides/uptime/monitoring-cloud-manager-graphs-shortguide/index.md @@ -17,6 +17,6 @@ If you're new to performance monitoring, you can get started by logging in to th - **CPU %:** Monitor how your Linode's CPU cores are being utilized. Note that each of your Linode's CPU cores is capable of 100% utilization, which means you could see this graph spike well over 100%, depending on your Linode plan size. - **IPv4 Network Traffic:** Keep tabs on how much incoming and outgoing bandwidth your server is using. - **IPv6 Network Traffic:** Wondering if any of your visitors are using IPv6? Check this graph to see how much bandwidth has been transferred over IPv6. -- **Disk I/O:** Watch for [disk input/output bottlenecks](/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/#compute-instance-is-slow). +- **Disk I/O:** Watch for [disk input/output bottlenecks](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-general-issues-on-compute-instances#compute-instance-is-slow). When you first start monitoring the graphs, you won't know what numbers are normal. Don't worry. With time and practice, you'll learn what the graphs are supposed to look like when your server is operating normally. Then you'll be able to spot performance abnormalities before they turn into full-blown problems. diff --git a/docs/guides/uptime/monitoring/_index.md b/docs/guides/uptime/monitoring/_index.md index e1f718b480a..e94c7f57a98 100644 --- a/docs/guides/uptime/monitoring/_index.md +++ b/docs/guides/uptime/monitoring/_index.md @@ -1,6 +1,6 @@ --- title: Server Monitoring -description: "Whether you need to watch basic usage stats or need more advanced functionality, these guides will help you deploy open source server monitoring solutions on your Linux cloud server. The [Linode Longview](/docs/products/tools/longview/get-started/) tool also offers system metrics and graphing, which can be used in conjunction with any of these monitoring tools, or with the [Linode Manager email alerts](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#configure-cloud-manager-email-alerts) to keep an eye on your system." +description: "Whether you need to watch basic usage stats or need more advanced functionality, these guides will help you deploy open source server monitoring solutions on your Linux cloud server. The [Linode Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) tool also offers system metrics and graphing, which can be used in conjunction with any of these monitoring tools, or with the [Linode Manager email alerts](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance#configure-cloud-manager-email-alerts) to keep an eye on your system." authors: ["Linode"] contributors: ["Linode"] published: 2009-07-16 diff --git a/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md b/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md index d41abcd0ce3..04d2f6b8260 100644 --- a/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md +++ b/docs/guides/uptime/monitoring/adagios-web-interface-for-nagios/index.md @@ -18,16 +18,16 @@ In this tutorial, learn how to get started with Adagios on a CentOS Stream 8 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. Your Linode Compute Instance needs to be running CentOS 8 or a comparable distribution. The instructions in this tutorial have been specifically tested on CentOS 8, but should be compatible with systems like AlmaLinux 8 and Rocky Linux 8 as well. 1. Your Compute Instance needs to be on the Linode 8 GB Shared CPU plan, at minimum, as these instructions require a large amount of disk space. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Started with Nagios @@ -40,7 +40,7 @@ Before diving into Adagios, you should have a base familiarity with Nagios, the ### How to Install Nagios -Before getting started with Adagios, Nagios must be installed and configured on your system. To install Nagios, follow our [How to Install Nagios on CentOS 8](/docs/guides/install-nagios-on-centos-8/) guide. +Before getting started with Adagios, Nagios must be installed and configured on your system. To install Nagios, follow our [How to Install Nagios on CentOS 8](/cloud/guides/install-nagios-on-centos-8/) guide. Alternatively, refer to the official [installation documentation](https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html) for Nagios Core for details on installing Nagios on other operating systems. diff --git a/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md b/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md index 9a6dc6dce85..85a6d662d9a 100644 --- a/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md +++ b/docs/guides/uptime/monitoring/deploy-munin-to-monitor-servers-on-ubuntu-12-04/index.md @@ -27,7 +27,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy-to-use tool that is simple to install and configure and provides information in an accessible web-based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/), the [beginner's guide](/docs/products/compute/compute-instances/faqs/) and [administration basics guide](/docs/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server, such as [Apache](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server, such as [Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), in order to use the web interface. ## Install Munin @@ -93,7 +93,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www`. -If you are using the [Apache HTTP Server](/docs/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" >}} @@ -121,4 +121,4 @@ Now, restart the server so that the changes to your configuration file can take You should now be able to see your site's statistics by appending `/munin` to the end of your IP address (e.g. `12.34.56.78/munin`.) If you don't see any statistics at first, be sure to wait for Munin to update; Munin refreshes every 5 minutes. -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule-based access control](/docs/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/docs/guides/apache-access-control/) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the Munin controls are protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the Munin controls are protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) diff --git a/docs/guides/uptime/monitoring/get-started-using-nethogs-for-network-usage-monitoring/index.md b/docs/guides/uptime/monitoring/get-started-using-nethogs-for-network-usage-monitoring/index.md index bdb40a5942e..ee8d81fd3ee 100644 --- a/docs/guides/uptime/monitoring/get-started-using-nethogs-for-network-usage-monitoring/index.md +++ b/docs/guides/uptime/monitoring/get-started-using-nethogs-for-network-usage-monitoring/index.md @@ -24,9 +24,9 @@ When the Linux networking monitoring tool is started, nethogs displays current n If you are using a Linode, make sure you run the steps in this section to configure your Linode, secure your server, and update your system's packages. -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. ## Installing nethogs diff --git a/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md b/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md index 3c6ef3bc7c4..069a394f391 100644 --- a/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md +++ b/docs/guides/uptime/monitoring/how-to-install-and-configure-graylog2-on-debian-9/index.md @@ -27,12 +27,12 @@ Graylog uses Elasticsearch for searching and storing the log messages, and Mongo This guide shows you how to install and configure Graylog2 with Elasticsearch and MongoDB on a Debian 9 server. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 >}} ## 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. Not all required dependencies are available in the standard repository, so you will need to add Debian Backports to the list of package sources: diff --git a/docs/guides/uptime/monitoring/how-to-install-graphite-and-grafana-on-ubuntu-14-04/index.md b/docs/guides/uptime/monitoring/how-to-install-graphite-and-grafana-on-ubuntu-14-04/index.md index 47c0bdf15f1..16a9699b8a9 100644 --- a/docs/guides/uptime/monitoring/how-to-install-graphite-and-grafana-on-ubuntu-14-04/index.md +++ b/docs/guides/uptime/monitoring/how-to-install-graphite-and-grafana-on-ubuntu-14-04/index.md @@ -26,9 +26,9 @@ deprecated_link: uptime/monitoring/install-graphite-and-grafana/ ### 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 from an example account named `graphite`. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create the `graphite` user, harden SSH access, remove unnecessary network services and set up a firewall. You may need to create additional firewall rules for your specific application. +2. This guide will use `sudo` wherever possible from an example account named `graphite`. 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 the `graphite` user, harden SSH access, remove unnecessary network services and set up a firewall. You may need to create additional firewall rules for your specific application. 3. Update your system: diff --git a/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md b/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md index d4f2ff06884..8b1237cc3c0 100644 --- a/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md +++ b/docs/guides/uptime/monitoring/how-to-install-prometheus-and-grafana-on-ubuntu/index.md @@ -63,16 +63,16 @@ Installing a complete Prometheus and Grafana-based system is a multi-step proces ## 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. Prometheus requires 4GB of memory and 20GB of disk space and works best with at least two CPU cores. 1. In most cases, Prometheus and Grafana are used to monitor external servers. To duplicate the configuration in this guide, create and set up a second Linode Compute Instance to use as a client. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Prometheus, Grafana, and Node Exporter diff --git a/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md b/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md index f3b5bc286fc..f38186ff7a4 100644 --- a/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md +++ b/docs/guides/uptime/monitoring/how-to-use-monitorix-for-system-monitoring/index.md @@ -12,9 +12,9 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: UseMonitorix_sysmon.png --- -[Monitorix](https://www.monitorix.org/) is a free, open-source system monitoring tool that keeps track of several Linux services and system resources. This Linux system monitoring tool is composed of two programs. The first, monitorix, is a system data logging daemon written in [Perl](/docs/guides/development/perl/). The second, its web interface, uses the CGI script, `monitorix.cgi`. +[Monitorix](https://www.monitorix.org/) is a free, open-source system monitoring tool that keeps track of several Linux services and system resources. This Linux system monitoring tool is composed of two programs. The first, monitorix, is a system data logging daemon written in [Perl](/cloud/guides/development/perl/). The second, its web interface, uses the CGI script, `monitorix.cgi`. -Besides tracking Linux server elements such as overall system load, file system activity, and global kernel usage, Monitorix also tracks hardware data such as sub-system temperatures, battery status, and UPS statistics. It also monitors popular third-party Linux programs such as mail servers; [libvirt](https://libvirt.org/)-based virtual machines; and [MySQL](https://www.mysql.com/), [Nginx](/docs/guides/web-servers/nginx/), and [MongoDB](/docs/guides/databases/mongodb/) databases. +Besides tracking Linux server elements such as overall system load, file system activity, and global kernel usage, Monitorix also tracks hardware data such as sub-system temperatures, battery status, and UPS statistics. It also monitors popular third-party Linux programs such as mail servers; [libvirt](https://libvirt.org/)-based virtual machines; and [MySQL](https://www.mysql.com/), [Nginx](/cloud/guides/web-servers/nginx/), and [MongoDB](/cloud/guides/databases/mongodb/) databases. Monitorix was originally designed for the [Red Hat Enterprise Linux](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux) operating system family. Now, licensed under [GPLv2](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html), it works on all major Linux server distributions. Beginning with version 3.0, Monitorix comes with its own web server, which is useful for remote Linux server monitoring. With its simple graphical interface, it's also good for interactive server monitoring. @@ -22,9 +22,9 @@ Monitorix was originally designed for the [Red Hat Enterprise Linux](https://www If you are using a Linode, make sure you run the steps in this section to configure your Linode, secure your server, and update your system's packages. -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. ## Installing Monitorix @@ -68,14 +68,14 @@ Debian and Ubuntu Linux systems contain an additional configuration file, `/etc/ sudo service monitorix restart {{< note >}} -By default, Monitorix uses its built-in web server. However, it can be set to work with the [Apache](/docs/guides/web-servers/apache/), [Lighttpd](/docs/guides/web-servers/lighttpd/), or Nginx web servers. +By default, Monitorix uses its built-in web server. However, it can be set to work with the [Apache](/cloud/guides/web-servers/apache/), [Lighttpd](/cloud/guides/web-servers/lighttpd/), or Nginx web servers. {{< /note >}} ## Getting started with Monitorix Monitorix is meant to be used as an interactive program. It's not suitable for use in shell programs. In this section, you access the Monitorix graphical user interface (GUI) to view some of the monitoring information provided by Monitorix. -1. To access the Monitorix interface running on your Linode, [find your Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Open a browser window and navigate to the following URL, `http://192.0.2.0:8080/monitorix`. Replace `192.0.2.0` with your own IP address. +1. To access the Monitorix interface running on your Linode, [find your Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Open a browser window and navigate to the following URL, `http://192.0.2.0:8080/monitorix`. Replace `192.0.2.0` with your own IP address. {{< note respectIndent=false >}} If you are running Monitorix on your computer, instead, navigate to `http://localhost:8080/monitorix`. @@ -109,7 +109,7 @@ If you are running Monitorix on your computer, instead, navigate to `http://loca - The Monitorix daemon stores its log files by default to `/var/log/monitorix`. The data within these logs are typically displayed by the built-in web server. Monitorix's default web address is `http://localhost:8080/monitorix`. -- For authentication, Monitorix uses [HTTP basic access authentication](/docs/guides/apache-access-control/#the-caveats-of-http-authentication). User passwords are set using the [htpasswd.pl script](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/). +- For authentication, Monitorix uses [HTTP basic access authentication](/cloud/guides/apache-access-control/#the-caveats-of-http-authentication). User passwords are set using the [htpasswd.pl script](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/). - The Monitorix web interface can also [monitor multiple Linux servers](https://www.monitorix.org/documentation.html#58). diff --git a/docs/guides/uptime/monitoring/how-to-use-sar/index.md b/docs/guides/uptime/monitoring/how-to-use-sar/index.md index 65bc0b4d5a9..ba3c1503c56 100644 --- a/docs/guides/uptime/monitoring/how-to-use-sar/index.md +++ b/docs/guides/uptime/monitoring/how-to-use-sar/index.md @@ -18,9 +18,9 @@ The System Activity Reporter ([Sar](https://linux.die.net/man/1/sar)) is a utili If you are using a Linode, make sure you run the steps in this section to configure your Linode, secure your server, and update your system's packages. -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 sar diff --git a/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md b/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md index 858359a0734..5ad16f51115 100644 --- a/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md +++ b/docs/guides/uptime/monitoring/how-to-use-zabbix/index.md @@ -45,14 +45,14 @@ Some of the main highlights and advantages of Zabbix are as follows. See the [li ## 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. The Zabbix server software must already be installed on a Linode. Consult the documentation on [Deploying Zabbix Using the Linode Marketplace](/docs/marketplace-docs/guides/zabbix/) for more information. +1. The Zabbix server software must already be installed on a Linode. Consult the documentation on [Deploying Zabbix Using the Linode Marketplace](/cloud/marketplace-docs/guides/zabbix/) for more information. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Configure Zabbix @@ -61,7 +61,7 @@ To use Zabbix to monitor a Linux host, the host must be running the official Zab ### How to Install the Zabbix Server -Although Zabbix can be installed from the source code or packages, it is quicker and easier to use the Linode Marketplace. For information on how to install Zabbix using this method, see the [Zabbix Quick Deploy App documentation](/docs/marketplace-docs/guides/zabbix/). Currently, the Quick Deploy App only supports Zabbix installations on CentOS. For package installation guidelines for other Linux distributions, see the [Zabbix installation instructions](https://www.zabbix.com/documentation/6.0/en/manual/installation/install_from_packages). +Although Zabbix can be installed from the source code or packages, it is quicker and easier to use the Linode Marketplace. For information on how to install Zabbix using this method, see the [Zabbix Quick Deploy App documentation](/cloud/marketplace-docs/guides/zabbix/). Currently, the Quick Deploy App only supports Zabbix installations on CentOS. For package installation guidelines for other Linux distributions, see the [Zabbix installation instructions](https://www.zabbix.com/documentation/6.0/en/manual/installation/install_from_packages). ### How to Install the Zabbix Client diff --git a/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md b/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md index 6c0cebf1557..2802588802d 100644 --- a/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md +++ b/docs/guides/uptime/monitoring/install-icinga2-monitoring-on-debian-9/index.md @@ -29,13 +29,13 @@ This guide shows how to install and configure the latest version of Icinga 2 web ## Before You Begin -1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide and complete the steps for creating a Linode with Debian 9, 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 creating a Linode with Debian 9, and setting your Linode's hostname and timezone. -2. Many of the commands in this guide require root privileges. 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. Use `sudo` wherever necessary. +2. Many of the commands in this guide require root privileges. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access and remove unnecessary network services. Use `sudo` wherever necessary. -3. Configure a [LAMP Stack](/docs/guides/lamp-on-debian-8-jessie/). +3. Configure a [LAMP Stack](/cloud/guides/lamp-on-debian-8-jessie/). -4. [Configure a mail server](/docs/email/) in order to have Icinga send email alerts. +4. [Configure a mail server](/cloud/email/) in order to have Icinga send email alerts. 5. Update your system: diff --git a/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md b/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md index 3ba7162bc01..4f81e831c7d 100644 --- a/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md +++ b/docs/guides/uptime/monitoring/install-nagios-4-on-ubuntu-debian-8/index.md @@ -26,15 +26,15 @@ A monitoring tool is a key application in a production server. Nagios is a popul ## Before You Begin -1. In order to run Nagios on your Linode, follow the configuration steps for Ubuntu or Debian 8 from our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). +1. In order to run Nagios on your Linode, follow the configuration steps for Ubuntu or Debian 8 from our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). -2. Install and configure a LAMP stack (Linux, Apache, MySQL and PHP stack). Follow the [LAMP on Ubuntu 14.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) or [LAMP on Debian 8](/docs/guides/lamp-on-debian-8-jessie/) guide for instructions. +2. Install and configure a LAMP stack (Linux, Apache, MySQL and PHP stack). Follow the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) or [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide for instructions. 3. Install updates: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 Nagios diff --git a/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md b/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md index 679e862328d..3d826250877 100644 --- a/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md +++ b/docs/guides/uptime/monitoring/install-nagios-on-centos-8/index.md @@ -23,12 +23,12 @@ Learn how to get started with Nagios on CentOS, AlmaLinux, and Rocky Linux in th ## 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 Nagios @@ -41,7 +41,7 @@ While the steps in this tutorial focus on CentOS Stream 8, they should also work ### Preparing the System -In addition to the steps in the [Before You Begin](/docs/guides/install-nagios-on-centos-8/#before-you-begin) section above, Nagios has a few more installation prerequisites. +In addition to the steps in the [Before You Begin](/cloud/guides/install-nagios-on-centos-8/#before-you-begin) section above, Nagios has a few more installation prerequisites. 1. First, set SELinux to permissive mode. This limits SELinux to issuing warnings rather than rules enforcement. @@ -53,7 +53,7 @@ In addition to the steps in the [Before You Begin](/docs/guides/install-nagios-o sudo setenforce 0 ``` - Learn more about SELinux in our guides [Getting Started with SELinux on CentOS 8](/docs/guides/a-beginners-guide-to-selinux-on-centos-8/) and [Changing SELinux Modes](/docs/guides/how-to-change-selinux-modes/). + Learn more about SELinux in our guides [Getting Started with SELinux on CentOS 8](/cloud/guides/a-beginners-guide-to-selinux-on-centos-8/) and [Changing SELinux Modes](/cloud/guides/how-to-change-selinux-modes/). 1. Typically, CentOS and similar RHEL-based systems use Firewalld for managing firewall rules. Use the following commands to open the server's HTTP and HTTPS ports and then reload Firewalld: @@ -63,7 +63,7 @@ In addition to the steps in the [Before You Begin](/docs/guides/install-nagios-o sudo firewall-cmd --reload ``` - See more on using Firewalld in our guide [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/). + See more on using Firewalld in our guide [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/). 1. Install the prerequisite packages for the Nagios installation: @@ -77,7 +77,7 @@ In addition to the steps in the [Before You Begin](/docs/guides/install-nagios-o ### Setting Up the LAMP Stack -Nagios uses a LAMP stack for its base application and to serve its monitoring interface. Learn more about LAMP stacks, as well as how to set them up, in our guide [Installing a LAMP Stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/). +Nagios uses a LAMP stack for its base application and to serve its monitoring interface. Learn more about LAMP stacks, as well as how to set them up, in our guide [Installing a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/). However, Nagios only needs to install two parts of the LAMP stack: the Apache Web Server and PHP. The following steps just set up these necessary parts. @@ -192,7 +192,7 @@ With the new Nagios instance installed and running, access the Nagios interface For example, if your public IP is `192.0.2.0`, then you would navigate to `http://192.0.2.0/nagios`. Alternatively, if your domain name is `example.com`, you would navigate to `example.com/nagios`. {{< note >}} -Learn more about setting up a domain name for your system through the Linode DNS Manager with our guide [DNS Manager - Get Started](/docs/products/networking/dns-manager/get-started/). While other DNS managers can set up a domain name, Linode's provides added convenience. Regardless, this guide can serve as a general introduction to the process. +Learn more about setting up a domain name for your system through the Linode DNS Manager with our guide [DNS Manager - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager). While other DNS managers can set up a domain name, Linode's provides added convenience. Regardless, this guide can serve as a general introduction to the process. {{< /note >}} The browser should prompt for a login. Use the `nagiosadmin` username and the password configured with the `htpasswd` command above. Once logged in, you should arrive at the Nagios dashboard: diff --git a/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md b/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md index e32d076d006..755f62f00ca 100644 --- a/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md +++ b/docs/guides/uptime/monitoring/install-nagios-on-debian-10-and-ubuntu-2004/index.md @@ -28,14 +28,14 @@ Nagios's official installation guide shows how to compile Nagios from source cod ## 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 and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [Install a LAMP Stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) or the [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide for instructions. +1. Install and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) or the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide for instructions. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 >}} ## Create a Nagios User and User Group diff --git a/docs/guides/uptime/monitoring/installing-librenms/index.md b/docs/guides/uptime/monitoring/installing-librenms/index.md index c9be35d09ae..47a078cec9e 100644 --- a/docs/guides/uptime/monitoring/installing-librenms/index.md +++ b/docs/guides/uptime/monitoring/installing-librenms/index.md @@ -154,7 +154,7 @@ With the Docker requirements installed, you can gather the LibreNMS setup and st sudo docker compose up -d ``` -1. To allow external access to the LibreNMS interface, you should open port `8000` on your system's firewall. Refer to our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) guide for information on managing firewalls. +1. To allow external access to the LibreNMS interface, you should open port `8000` on your system's firewall. Refer to our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) guide for information on managing firewalls. Follow that guide to verify which firewall tool your system is using and to ensure that the tool is active. Then, use the commands below to open port `8000`. diff --git a/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md b/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md index 42ec075d791..7cda38f4ac0 100644 --- a/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md +++ b/docs/guides/uptime/monitoring/linux-system-monitoring-fundamentals/index.md @@ -41,16 +41,16 @@ A server's system load – a term you hear often in these discussions – usuall ## Getting started with Linux system monitoring tools -Dozens of Linux server system monitoring commands are built into the operating system. They include very simple commands like [top](/docs/guides/top-htop-iotop/), which by default displays Linux processes in CPU activity order. These tools also can be highly complex, such as sar, which collects, reports, and saves a wide variety of system activity information. +Dozens of Linux server system monitoring commands are built into the operating system. They include very simple commands like [top](/cloud/guides/top-htop-iotop/), which by default displays Linux processes in CPU activity order. These tools also can be highly complex, such as sar, which collects, reports, and saves a wide variety of system activity information. There are, of course, many higher-level system monitoring programs for all distributions that permit you to monitor any Linux server. These include [Glance](https://nicolargo.github.io/glances/), a Python-based cross-platform system monitoring tool; [htop](https://htop.dev/), another cross-platform system monitor, which uses [ncurses](http://www.gnu.org/software/ncurses/) for its display; and [Netdata](https://www.netdata.cloud/), a distributed server system monitoring program. However, as useful as these can be, they all rely on lower-level programs. Four important Linux system monitoring tools are worthwhile to examine in more detail. -[Sar](https://linux.die.net/man/1/sar): System Activity Reporter (sar) is part of the [Sysstat system resource utilities package](https://github.com/sysstat/sysstat). Sar is a do-it-all monitoring tool. It measures CPU activity; memory/paging; interrupts; device load; network; process and thread allocation; and swap space utilization. Sar can be used interactively, but its real value is that it keeps data logs over a long period of time, which you can use to troubleshoot recurring problems and produce reports. To learn more, read our [How to Use the System Activity Reporter (sar)](/docs/guides/how-to-use-sar) guide. +[Sar](https://linux.die.net/man/1/sar): System Activity Reporter (sar) is part of the [Sysstat system resource utilities package](https://github.com/sysstat/sysstat). Sar is a do-it-all monitoring tool. It measures CPU activity; memory/paging; interrupts; device load; network; process and thread allocation; and swap space utilization. Sar can be used interactively, but its real value is that it keeps data logs over a long period of time, which you can use to troubleshoot recurring problems and produce reports. To learn more, read our [How to Use the System Activity Reporter (sar)](/cloud/guides/how-to-use-sar) guide. -[Vmstat](https://linux.die.net/man/8/vmstat): This virtual memory statistics reporter is a built-in Linux command-line tool. In addition to reporting in detail on virtual memory usage, vmstat also gathers information on memory usage, memory paging, processes, I/O, CPU, and storage scheduling. Unlike sar, vmstat starts on boot. It's used to report on cumulative activity since the last reboot. Our [Use vmstat to Monitor System Performance](/docs/guides/use-vmstat-to-monitor-system-performance) guide includes more information about getting started with this monitoring tool. +[Vmstat](https://linux.die.net/man/8/vmstat): This virtual memory statistics reporter is a built-in Linux command-line tool. In addition to reporting in detail on virtual memory usage, vmstat also gathers information on memory usage, memory paging, processes, I/O, CPU, and storage scheduling. Unlike sar, vmstat starts on boot. It's used to report on cumulative activity since the last reboot. Our [Use vmstat to Monitor System Performance](/cloud/guides/use-vmstat-to-monitor-system-performance) guide includes more information about getting started with this monitoring tool. -[Monitorix](https://www.monitorix.org/): Monitorix is a free, open-source tool that monitors multiple Linux services and system resources. Monitorix, from version 3.0 on, comes with its own web server. This makes it useful for remote Linux system monitoring. Originally designed for the [Red Hat Enterprise Linux (RHEL)](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux) operating system family, Monitorix now works on all major Linux server distributions. Read our [How to use Monitorix for System Monitoring](/docs/guides/how-to-use-monitorix-for-system-monitoring) guide to learn more. +[Monitorix](https://www.monitorix.org/): Monitorix is a free, open-source tool that monitors multiple Linux services and system resources. Monitorix, from version 3.0 on, comes with its own web server. This makes it useful for remote Linux system monitoring. Originally designed for the [Red Hat Enterprise Linux (RHEL)](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux) operating system family, Monitorix now works on all major Linux server distributions. Read our [How to use Monitorix for System Monitoring](/cloud/guides/how-to-use-monitorix-for-system-monitoring) guide to learn more. -[Nethogs](https://github.com/raboof/nethogs): This free and open-source program extends the net top tool that tracks bandwidth by process. For example, you might discern that the amount of outbound traffic has increased on your Linux server, but Nethogs helps you identify which process is generating the usage spikes. Other network monitoring utilities only break down the traffic by protocol or subnet. Read our [Get Started Using Nethogs for Network Usage Monitoring](/docs/guides/get-started-using-nethogs-for-network-usage-monitoring) guide to learn more about this tool. \ No newline at end of file +[Nethogs](https://github.com/raboof/nethogs): This free and open-source program extends the net top tool that tracks bandwidth by process. For example, you might discern that the amount of outbound traffic has increased on your Linux server, but Nethogs helps you identify which process is generating the usage spikes. Other network monitoring utilities only break down the traffic by protocol or subnet. Read our [Get Started Using Nethogs for Network Usage Monitoring](/cloud/guides/get-started-using-nethogs-for-network-usage-monitoring) guide to learn more about this tool. \ No newline at end of file diff --git a/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md b/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md index 473d0e07c59..d03004bf91a 100644 --- a/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md +++ b/docs/guides/uptime/monitoring/logwatch-monitor-system-logs/index.md @@ -17,7 +17,7 @@ image: monitor-system-logs-logwatch.jpg By default, Logwatch uses Sendmail to send digests. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root**. If logged in as a superuser, it is recommended that you `su` into root. For more information on privileges see our [Users and Groups](/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**. If logged in as a superuser, it is recommended that you `su` into root. For more information on privileges see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Install Logwatch and Sendmail @@ -199,4 +199,4 @@ Logwatch often works best when configured to run daily and send or save a report {{< /file >}} - For more information on adjusting your crontab scheduling, reference our guide on [Scheduling Tasks with Cron](/docs/guides/schedule-tasks-with-cron/). + For more information on adjusting your crontab scheduling, reference our guide on [Scheduling Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/). diff --git a/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md b/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md index 183f7f4b562..3f38dec8031 100644 --- a/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md +++ b/docs/guides/uptime/monitoring/migrating-from-aws-cloudwatch-to-prometheus-and-grafana-on-akamai/index.md @@ -68,7 +68,7 @@ If you prefer an automatic deployment rather than the manual installation steps 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update each system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Prometheus as a Service diff --git a/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md b/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md index 9b81c61c45a..023bf37473e 100644 --- a/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md +++ b/docs/guides/uptime/monitoring/migrating-from-azure-monitor-to-prometheus-and-grafana-on-akamai/index.md @@ -68,7 +68,7 @@ If you prefer an automatic deployment rather than the manual installation steps 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update each system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Prometheus as a Service diff --git a/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md b/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md index dab76a512f7..98c8f7beada 100644 --- a/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md +++ b/docs/guides/uptime/monitoring/migrating-from-gcp-cloud-monitoring-to-prometheus-and-grafana-on-akamai/index.md @@ -67,7 +67,7 @@ If you prefer an automatic deployment rather than the manual installation steps 1. Follow our [Set Up and Secure a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update each system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Prometheus as a Service diff --git a/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md b/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md index b7e2be85f27..ad490c43dca 100644 --- a/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md +++ b/docs/guides/uptime/monitoring/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/index.md @@ -22,16 +22,16 @@ However, you can get even more out of Nagios by setting it up to deliver alerts ## 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 and configure Nagios. Follow the steps in the [Install Nagios on Debian 10 and Ubuntu 20.04](/docs/guides/install-nagios-on-debian-10-and-ubuntu-2004/) guide. Alternatively, the official [Nagios Installation Guide](https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html) provides steps for installing Nagios from source code on a wide range of Linux distributions. +1. Install and configure Nagios. Follow the steps in the [Install Nagios on Debian 10 and Ubuntu 20.04](/cloud/guides/install-nagios-on-debian-10-and-ubuntu-2004/) guide. Alternatively, the official [Nagios Installation Guide](https://support.nagios.com/kb/article/nagios-core-installing-nagios-core-from-source-96.html) provides steps for installing Nagios from source code on a wide range of Linux distributions. 1. Replace `example.com` throughout this guide with your machine's domain name, and replace `fqdn.example.com` with your machine's fully qualified domain name (FQDN). {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Set Up Nagios Email Alerts @@ -75,7 +75,7 @@ This guide also provides instructions for configuring local emails, which are no - `+` for the local inbox extension character - Select **all** for the Internet protocols - - Alternatively, you can follow the [Configure Postfix to Send Email Using External SMTP Servers](/docs/guides/postfix-smtp-debian7/) or the [Configure Postfix to Send Mail Using Gmail and Google Apps on Debian or Ubuntu](/docs/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/) guide. Doing so sets up Postfix to send emails via an external SMTP provider or a Gmail account, respectively. + - Alternatively, you can follow the [Configure Postfix to Send Email Using External SMTP Servers](/cloud/guides/postfix-smtp-debian7/) or the [Configure Postfix to Send Mail Using Gmail and Google Apps on Debian or Ubuntu](/cloud/guides/configure-postfix-to-send-mail-using-gmail-and-google-workspace-on-debian-or-ubuntu/) guide. Doing so sets up Postfix to send emails via an external SMTP provider or a Gmail account, respectively. 1. Test the email configuration with the following command below; replace `example-user` with the username of a local user that you can log in as. @@ -173,4 +173,4 @@ This guide uses [NagIRCBot](https://manpages.ubuntu.com/manpages/trusty/man1/nag 1. Connect to the IRC channel, and verify that you are receiving status updates at the expected interval. -1. By default, NagIRCBot must be re-initiated using the command described above after each system reboot. Refer to the [Use systemd to Start a Linux Service at Boot](/docs/guides/start-service-at-boot/) or the [Schedule Tasks with Cron](/docs/guides/schedule-tasks-with-cron/) guide for instructions on how to schedule tasks to run automatically. +1. By default, NagIRCBot must be re-initiated using the command described above after each system reboot. Refer to the [Use systemd to Start a Linux Service at Boot](/cloud/guides/start-service-at-boot/) or the [Schedule Tasks with Cron](/cloud/guides/schedule-tasks-with-cron/) guide for instructions on how to schedule tasks to run automatically. diff --git a/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md b/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md index f3d253293d9..2712613c223 100644 --- a/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md +++ b/docs/guides/uptime/monitoring/monitor-remote-hosts-with-icinga/index.md @@ -19,7 +19,7 @@ aliases: ['/uptime/monitoring/monitor-remote-hosts-with-icinga/'] ## What is Icinga 2? -This guide is a continuation of our guide on [Icinga 2](/docs/guides/install-icinga2-monitoring-on-debian-9/). +This guide is a continuation of our guide on [Icinga 2](/cloud/guides/install-icinga2-monitoring-on-debian-9/). Icinga, is an open source network monitoring application that can be used to monitor critical services and systems on your Linode. Icinga 2 can monitor hosts on a network or it can verify network external protocols, such as the state of an HTTP server, mail server, file-sharing service, or others. ## Before You Begin diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md index 73a5b4dfad0..33e00c7eff4 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is an open source monitoring tool that monitors services within a server cluster. In addition to monitoring services such as SMTP/POP3 and HTTP, Nagios can also be used to check the health of the server itself. -Before continuing with this guide, you will need to make sure that you have set your hostname by following the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Additionally, you will also need to have a functioning [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) in order to use Nagios. +Before continuing with this guide, you will need to make sure that you have set your hostname by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will also need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) in order to use Nagios. ## Prepare for Nagios Installation @@ -122,7 +122,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/docs/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md index d3e56252583..951076aa8d6 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-gentoo-linux/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is a monitoring tool that makes it possible to monitor services on a single server or a pool of servers. It provides the capability to monitor a broad range of network services including SMTP and POP3 (email), HTTP (web), ICMP (ping), and SSH. In addition to simple uptime monitoring, Nagios also allows administrators to create their own plugins to monitor additional services or devices. -Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Additionally, you will need to have a functioning [LAMP stack](/docs/lamp-guides/) in order to use Nagios. +Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/lamp-guides/) in order to use Nagios. ## Prepare for Nagios Installation @@ -95,7 +95,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/docs/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md index de621aa4806..eb50cb6aa55 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is a monitoring tool that makes it possible to monitor services on a single server or a pool of servers. It provides the capability to monitor a broad range of network services including SMTP and POP3 (email), HTTP (web), ICMP (ping), and SSH. In addition to simple uptime monitoring, Nagios also allows administrators to create their own plugins to monitor additional services or devices. -Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Additionally, you will need to have a functioning [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) in order to use Nagios. +Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) in order to use Nagios. ## Prepare for Nagios Installation @@ -134,7 +134,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/docs/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md index 13fcf0e2c43..b289add0dfa 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true Nagios is a monitoring tool that makes it possible to monitor services on a single server or a pool of servers. It provides the capability to monitor a broad range of network services including SMTP and POP3 (email), HTTP (web), ICMP (ping), and SSH. In addition to simple uptime monitoring, Nagios also allows administrators to create their own plugins to monitor additional services or devices. -Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). Additionally, you will need to have a functioning [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) in order to use Nagios. +Before installing Nagios, you will need to ensure that your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). Additionally, you will need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) in order to use Nagios. ## Prepare for Nagios Installation @@ -134,7 +134,7 @@ Any errors will be shown in red. If everything is okay, you may issue the follow You may now access the web based administration and reporting tools by visiting `http://example.com/nagios/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios/` where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the nagiosadmin user you created earlier. -**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/docs/guides/create-a-self-signed-tls-certificate/). +**Please note:** The above example does not use SSL, and your password will be sent unencrypted. You will need to generate an SSL certificate and install it yourself. Steps for doing so can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). ## Configure Nagios Alerts diff --git a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md index ff5e14d956a..96aad306c16 100644 --- a/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md +++ b/docs/guides/uptime/monitoring/monitor-services-with-nagios-on-ubuntu-12-04/index.md @@ -27,7 +27,7 @@ Nagios is a monitoring tool that allows you to monitor services on a single serv ## Install Nagios -Before installing Nagios, make sure your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You also need to have a functioning [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) set up on your Linode. +Before installing Nagios, make sure your hostname is properly set by following the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You also need to have a functioning [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) set up on your Linode. Now you're ready to install Nagios. Here's how: @@ -51,7 +51,7 @@ If you do not already have an email server installed on your Linode, Postfix wil You can now access the Nagios web interface for administration and reporting by visiting `http://example.com/nagios3/`, where `example.com` refers to your Linode's default virtual host. You may also access this interface by visiting `http://12.34.56.78/nagios3/`, where `12.34.56.78` is the IP address of your Linode. You will need to authenticate with the `nagiosadmin` user you created earlier. {{< note >}} -The above example does not use SSL, and your password will be sent unencrypted. If you want to use encryption, you will need to generate (or purchase) and install an SSL certificate. Steps for generating and using your own certificate can be found in our [SSL guide](/docs/guides/create-a-self-signed-tls-certificate/). +The above example does not use SSL, and your password will be sent unencrypted. If you want to use encryption, you will need to generate (or purchase) and install an SSL certificate. Steps for generating and using your own certificate can be found in our [SSL guide](/cloud/guides/create-a-self-signed-tls-certificate/). {{< /note >}} ## Configure Notifications @@ -84,7 +84,7 @@ define contact{ {{< note respectIndent=false >}} -To send email alerts to more than one user, duplicate the `define contact` section for as many users as you want. Or, to configure notifications to a [group](/docs/guides/linux-users-and-groups/), edit the `define contactgroup` section. +To send email alerts to more than one user, duplicate the `define contact` section for as many users as you want. Or, to configure notifications to a [group](/cloud/guides/linux-users-and-groups/), edit the `define contactgroup` section. {{< /note >}} 3. Save the changes to the configuration file by pressing `Control + x` and then pressing `y`. diff --git a/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md b/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md index 6b7e4c3d5d1..ee9d546f371 100644 --- a/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md +++ b/docs/guides/uptime/monitoring/monitoring-resource-utilization-with-cacti-on-debian-5-lenny/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -The Linode Manager provides some basic monitoring of system resource utilization, which includes information regarding Network, CPU, and Input/Output usage over the last 24 hours and 30 days. While this basic information is helpful for monitoring your system, there are cases where more fine-grained information is useful. The simple monitoring tool [Munin](/docs/guides/monitoring-servers-with-munin-on-debian-6-squeeze/) is capable of monitoring needs of a small group of machines. In some cases, Munin may not be flexible enough for some advanced monitoring needs. +The Linode Manager provides some basic monitoring of system resource utilization, which includes information regarding Network, CPU, and Input/Output usage over the last 24 hours and 30 days. While this basic information is helpful for monitoring your system, there are cases where more fine-grained information is useful. The simple monitoring tool [Munin](/cloud/guides/monitoring-servers-with-munin-on-debian-6-squeeze/) is capable of monitoring needs of a small group of machines. In some cases, Munin may not be flexible enough for some advanced monitoring needs. For these kinds of deployments we encourage you to consider a tool like Cacti, which is a flexible front end for the RRDtool application. Cacti simply provides a framework and a mechanism to poll a number of sources for data regarding your systems, which can then be graphed and presented in a clear web based interface. Whereas packages like Munin provide monitoring for a specific set of metrics on systems which support the Munin plug in, Cacti provides increased freedom to monitor larger systems and more complex deployment by way of its plug in framework and web-based interface. -Before installing Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing Prerequisites @@ -44,9 +44,9 @@ Before installing Cacti we must install a few basic dependencies that are critic apt-get install snmpd snmp mysql-server apache2 libapache2-mod-php5 \ php5-mysql php5-cli php5-snmp -You will need to create a password for the `root` user of your MySQL database during the installation. After the installation completes, be sure to run `mysql_secure_installation` to disable some of MySQL's less secure components. Also consider reading our [MySQL installation guide](/docs/guides/use-mysql-relational-databases-on-debian-5-lenny/) for configuration recommendations. +You will need to create a password for the `root` user of your MySQL database during the installation. After the installation completes, be sure to run `mysql_secure_installation` to disable some of MySQL's less secure components. Also consider reading our [MySQL installation guide](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) for configuration recommendations. -The above command will additionally install the Apache web server. Consider our documentation of [installing the Apache HTTP Server](/docs/guides/apache-2-web-server-on-debian-5-lenny/) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/docs/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) and with [nginx](/docs/web-servers/nginx/) running PHP as a FastCGI process. +The above command will additionally install the Apache web server. Consider our documentation of [installing the Apache HTTP Server](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) and with [nginx](/cloud/web-servers/nginx/) running PHP as a FastCGI process. ### Configuring SNMPD @@ -125,7 +125,7 @@ You may wish to consult the following resources for additional information on th - [Cacti Website](http://www.cacti.net/index.php) - [Cacti Users Plugin Community](http://cactiusers.org/index.php) -- [Linux Security Basics](/docs/products/compute/compute-instances/guides/set-up-and-secure/) -- [Configure a Basic Firewall in Debian 5 (Lenny)](/docs/security/firewalls/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/) +- [Linux Security Basics](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) +- [Configure a Basic Firewall in Debian 5 (Lenny)](/cloud/security/firewalls/configure-a-firewall-with-arno-iptables-in-debian-5-lenny/) diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md index 300ffd09229..12b658072e6 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-monit/index.md @@ -30,7 +30,7 @@ With Monit you get: * Availability from main package repositories. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 >}} ## Installing Monit @@ -115,7 +115,7 @@ Other processes may take some time to complete their own startup. Including the ### Alerting -Monit can optionally alert you by email when it triggers on an event. It can use a Mail Transfer Agent (MTA) on the local host if you have one configured, or an outside mail server that will accept incoming SMTP traffic from your host. See [Linux System Administration Basics - Sending Email From Your Server](/docs/guides/linux-system-administration-basics/#send-email-from-your-server) for help with configuring this. +Monit can optionally alert you by email when it triggers on an event. It can use a Mail Transfer Agent (MTA) on the local host if you have one configured, or an outside mail server that will accept incoming SMTP traffic from your host. See [Linux System Administration Basics - Sending Email From Your Server](/cloud/guides/linux-system-administration-basics/#send-email-from-your-server) for help with configuring this. Specify what server you will send mail through on this line: @@ -154,7 +154,7 @@ You can optionally restrict web interface access to just your IP address. set httpd port 2812 allow 10.0.0.1 (your ip address) {{< note >}} -If you choose to implement the web interface, be sure the port Monit uses (default 2812) is exposed to the devices on which you'll be viewing it. You may need to configure your firewall package or iptables if you have a default deny policy. See [Securing Your Server - Configuring a Firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). +If you choose to implement the web interface, be sure the port Monit uses (default 2812) is exposed to the devices on which you'll be viewing it. You may need to configure your firewall package or iptables if you have a default deny policy. See [Securing Your Server - Configuring a Firewall](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall). {{< /note >}} ## Configure Monit's Checking Actions diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md index 7ac13efb12b..3aa6053550a 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy to use tool that is simple to install and configure and provides information in an accessible web based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). Additionally, you'll need to install a web server such as [Apache](/docs/guides/apache-2-web-server-on-debian-6-squeeze/) in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/apache-2-web-server-on-debian-6-squeeze/) in order to use the web interface. ## Installing Munin @@ -103,7 +103,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www/`. -If you are using the [Apache HTTP Server](/docs/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" >}} @@ -129,7 +129,7 @@ Now restart the server so that the changes to your configuration file can take e /etc/init.d/apache2 restart -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/docs/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/docs/guides/apache-access-control/) to require a password before permitting access. +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. ## More Information diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md index 24acd5065b7..83294e5bdc4 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy to use tool that is simple to install and configure and provides information in an accessible web based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). Additionally, you'll need to install a web server such as [Apache](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server such as [Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) in order to use the web interface. ## Installing Munin @@ -141,7 +141,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www`. -If you are using the [Apache HTTP Server](/docs/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" apache >}} @@ -169,7 +169,7 @@ Now restart the server so that the changes to your configuration file can take e You should now be able to see your site's statistics by appending `/munin` to the end of your IP address (e.g. `12.34.56.78/munin`.) If you don't see any statistics at first, be sure to wait for Munin to update; Munin refreshes every 5 minutes. -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/docs/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/docs/guides/apache-access-control/) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the munin controls are also protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. You may want to examine Munin's example Apache configuration file at `/etc/munin/apache.conf`. In addition to protecting the `stats.` virtual host, also ensure that the munin controls are also protected on the default virtual host (e.g. by visiting `http://12.34.56.78/munin/` where `12.34.56.78` is the IP address of your server.) ## More Information diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md index a33bb27ab02..4a0c985402d 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-munin-on-ubuntu-11-04-natty/index.md @@ -22,7 +22,7 @@ The Linode Manager provides some basic monitoring of system resource utilization Munin is a system and network monitoring tool that uses RRDTool to generate useful visualizations of resource usage. The primary goal of the Munin project is to provide an easy to use tool that is simple to install and configure and provides information in an accessible web based interface. Munin also makes it possible to monitor multiple "nodes" with a single installation. -Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). Additionally, you'll need to install a web server such as [Apache](/docs/web-servers/apache/) in order to use the web interface. +Before installing Munin, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you'll need to install a web server such as [Apache](/cloud/web-servers/apache/) in order to use the web interface. ## Installing Munin @@ -103,7 +103,7 @@ The above line tells the munin-node that the master Munin server is located at I You can use Munin with the web server of your choice, simply point your web server to provide access to resources created by Munin. By default, these resources are located at `/var/cache/munin/www`. -If you are using the [Apache HTTP Server](/docs/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: +If you are using the [Apache HTTP Server](/cloud/web-servers/apache/) you can create a Virtual Host configuration to serve the reports from Munin. In this scenario, we've created a subdomain in the DNS Manager and are now creating the virtual host file: {{< file "/etc/apache2/sites-available/stats.example.org" >}} @@ -130,7 +130,7 @@ Now restart the server so that the changes to your configuration file can take e /etc/init.d/apache2 restart /etc/init.d/apache2 reload -In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/docs/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/docs/guides/apache-access-control/) to require a password before permitting access. +In most cases you will probably want to prevent the data generated by Munin from becoming publicly accessible. You can either limit access using [rule based access control](/cloud/guides/rulebased-access-control-for-apache/) so that only a specified list of IPs will be permitted access, or you can configure [HTTP Authentication](/cloud/guides/apache-access-control/) to require a password before permitting access. ## More Information diff --git a/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md b/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md index e696bba9d45..3ec6a5fa0da 100644 --- a/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md +++ b/docs/guides/uptime/monitoring/monitoring-servers-with-zabbix/index.md @@ -76,7 +76,7 @@ You have successfully added the `zabbix` user. You'll first want to install MySQL on your Linode and create a MySQL user for Zabbix. Here's how: -1. If you haven't already, install and configure MySQL on your Linode. See the [MySQL reference manuals](/docs/databases/mysql/) for more information. +1. If you haven't already, install and configure MySQL on your Linode. See the [MySQL reference manuals](/cloud/databases/mysql/) for more information. 2. Log in to MySQL by entering the following command: mysql -uroot -p @@ -112,7 +112,7 @@ Zabbix requires Apache and PHP to be installed. Here's how to install them: sudo apt-get install libmysqlclient-dev libcurl3-gnutls libcurl3-gnutls-dev -4. Verify that you have configured a name-based virtual host for Apache. This is required for the Zabbix web interface. For instructions, see [Configuring Name-based Virtual Hosts](/docs/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server). +4. Verify that you have configured a name-based virtual host for Apache. This is required for the Zabbix web interface. For instructions, see [Configuring Name-based Virtual Hosts](/cloud/guides/hosting-a-website-ubuntu-18-04/#configure-name-based-virtual-hosts-in-apache-web-server). The required applications, modules, and libraries have been installed on your Linode. diff --git a/docs/guides/uptime/monitoring/monitoring-software/index.md b/docs/guides/uptime/monitoring/monitoring-software/index.md index 0f4f172a988..58020f80201 100644 --- a/docs/guides/uptime/monitoring/monitoring-software/index.md +++ b/docs/guides/uptime/monitoring/monitoring-software/index.md @@ -88,7 +88,7 @@ Here are six open source system monitoring tools, two enterprise-grade commercia **[Nagios](https://www.nagios.com/)** is among the most venerable and widely used system monitoring applications. It’s a highly extensible monitoring and alerting system that can email or text you as soon as a system or service goes offline. -Nagios has two versions. Nagios Core is the open source version, while Nagios XI offers a proprietary interface and commercial support (which is also free for up to seven nodes). Akamai Cloud offers [instructions for monitoring Debian and Ubuntu systems using Nagios](/docs/guides/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/). +Nagios has two versions. Nagios Core is the open source version, while Nagios XI offers a proprietary interface and commercial support (which is also free for up to seven nodes). Akamai Cloud offers [instructions for monitoring Debian and Ubuntu systems using Nagios](/cloud/guides/monitor-and-configure-nagios-alerts-on-debian-10-ubuntu-2004/). Both Nagios versions have flexible options for monitoring and alerting. Both versions also support a vast collection of "plugins" that extend monitoring capabilities and the types of monitored components. diff --git a/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md b/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md index 9a71acde21d..94d959272ee 100644 --- a/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md +++ b/docs/guides/uptime/monitoring/ossec-ids-debian-7/index.md @@ -22,14 +22,14 @@ When installed and configured, OSSEC will provide a real-time view of what's tak This guide covers how to install and configure OSSEC on a single Linode running Debian 7 in such a manner that if a file is modified, added or deleted, OSSEC will notify you by email in real-time. OSSEC can also provide notifications for other activities. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. It is especially important to create and enable a firewall. On Linux, OSSEC needs an active iptables firewall for its active response feature to work. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. It is especially important to create and enable a firewall. On Linux, OSSEC needs an active iptables firewall for its active response feature to work. 3. Install `inotify-tools` and `build-essential`. OSSEC needs the first for real-time alerts and alerts on file deletions, while the latter is for compiling OSSEC. You can install both packages using: diff --git a/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md b/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md index 64f0bcb35ab..2dff908d0d8 100644 --- a/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md +++ b/docs/guides/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubuntu-12-04/index.md @@ -12,7 +12,7 @@ aliases: ['/uptime/monitoring/use-cacti-to-monitor-resource-utilization-on-ubunt external_resources: - '[Cacti Website](http://www.cacti.net/index.php)' - '[Cacti Users Plugin Community](http://cactiusers.org/index.php)' - - '[Linux Security Basics](/docs/security/basics)' + - '[Linux Security Basics](/cloud/security/basics)' relations: platform: key: install-cacti-monitoring @@ -25,7 +25,7 @@ The Linode Manager provides some basic monitoring of system resource utilization For these kinds of deployments we encourage you to consider a tool like Cacti, which is a flexible front end for the RRDtool application. Cacti simply provides a framework and a mechanism to poll a number of sources for data regarding your systems, which can then be graphed and presented in a clear web-based interface. Whereas packages like Munin provide monitoring for a specific set of metrics on systems which support the Munin plug in, Cacti provides increased freedom to monitor larger systems and more complex deployment by way of its plug-in framework. -Before installing Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 Cacti we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Prerequisites @@ -65,7 +65,7 @@ If you had to enable new repositories, issue the following command to update you You will need to create a password for the `root` user of your MySQL database during the installation. After the installation completes, be sure to run `mysql_secure_installation` to disable some of MySQL's less for configuration recommendations. -The above command will additionally install the Apache web server. Consider our documentation on [installing the Apache HTTP server](/docs/guides/apache-web-server-ubuntu-12-04/) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/docs/guides/run-php-cgi-apache-ubuntu-12-04/) and with [nginx](/docs/guides/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/) running PHP as a FastCGI process. +The above command will additionally install the Apache web server. Consider our documentation on [installing the Apache HTTP server](/cloud/guides/apache-web-server-ubuntu-12-04/) for more information regarding this server. Additionally Cacti can function with alternate web server configurations, including [Apache with PHP running as a CGI process](/cloud/guides/run-php-cgi-apache-ubuntu-12-04/) and with [nginx](/cloud/guides/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/) running PHP as a FastCGI process. ### Install Cacti @@ -91,7 +91,7 @@ This section is optional and for those looking to use Cacti to monitor additiona apt-get install snmp snmpd -Since snmpd binds to localhost by default, we'll need to edit the `/etc/snmp/snmpd.conf`  file to allow snmpd to serve requests on other interfaces. Please note that  allowing snmpd to run on a public IP address will have security implications,  such as allowing anyone with your IP address to access the snmp daemon running  on your Linode. If you choose to allow snmp to listen on all interfaces, we  strongly recommend [implementing firewall rules](/docs/security/firewalls/) that  restrict access to only specific ip addresses that you control. +Since snmpd binds to localhost by default, we'll need to edit the `/etc/snmp/snmpd.conf`  file to allow snmpd to serve requests on other interfaces. Please note that  allowing snmpd to run on a public IP address will have security implications,  such as allowing anyone with your IP address to access the snmp daemon running  on your Linode. If you choose to allow snmp to listen on all interfaces, we  strongly recommend [implementing firewall rules](/cloud/security/firewalls/) that  restrict access to only specific ip addresses that you control. Open the file and find the section labeled `Agent Behaviour`. Comment out the line that specifies `127.0.0.1` as the agent address by placing a `#`  in front of it. Uncomment the other line that defines the `agentAddress` as all  interfaces. The `Agent Behavior` section should now resemble the following: diff --git a/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md b/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md index 1ba0b0006a2..4a94352258b 100644 --- a/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md +++ b/docs/guides/uptime/monitoring/use-vmstat-to-monitor-system-performance/index.md @@ -186,7 +186,7 @@ r b swpd free buff cache si so bi bo in cs us sy id wa ## How to Interpret vmstat Output -`vmstat` reports describe the current state of a Linux system. Information regarding the running state of a system is useful when diagnosing performance related issues. Often [Linode Support](/docs/products/platform/get-started/guides/support/) will request `vmstat` reports in order to more conclusively diagnose some issues; however, with a little background in what all of the data represents, you can interpret this data yourself. +`vmstat` reports describe the current state of a Linux system. Information regarding the running state of a system is useful when diagnosing performance related issues. Often [Linode Support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) will request `vmstat` reports in order to more conclusively diagnose some issues; however, with a little background in what all of the data represents, you can interpret this data yourself. The output of `vmstat` is displayed in a number of columns. The following sections provide brief overviews of the data reported in each column. @@ -200,7 +200,7 @@ These values are often `0`. ### Memory -The information displayed in the `memory` section provides the same data about [memory usage](/docs/guides/linux-system-administration-basics/#check-current-memory-usage) as the command `free -m`. +The information displayed in the `memory` section provides the same data about [memory usage](/cloud/guides/linux-system-administration-basics/#check-current-memory-usage) as the command `free -m`. The `swapd` or "swapped" column reports how much memory has been swapped out to a swap file or disk. The `free` column reports the amount of unallocated memory. The `buff` or "buffers" column reports the amount of allocated memory in use. The `cache` column reports the amount of allocated memory that could be swapped to disk or unallocated if the resources are needed for another task. diff --git a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md index 62232501fb5..6a406fae4bb 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-basics/index.md @@ -10,9 +10,9 @@ keywords: ["configuration", "apache", "web server", "virtual hosting", "http"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/apache-tips-and-tricks/apache-configuration-basics/','/web-servers/apache/configuration/configuration-basics/','/web-servers/apache-tips-and-tricks/apache-configuration-basics/'] external_resources: - - '[Apache Installation](/docs/websites/apache/)' - - '[LAMP stack guides](/docs/websites/lamp/)' - - '[Troubleshooting Common Issues with Apache](/docs/guides/troubleshooting-common-apache-issues/)' + - '[Apache Installation](/cloud/websites/apache/)' + - '[LAMP stack guides](/cloud/websites/lamp/)' + - '[Troubleshooting Common Issues with Apache](/cloud/guides/troubleshooting-common-apache-issues/)' - '[Linode User Community](http://linode.com/community/)' - '[Apache Virtual Host Documentation](http://httpd.apache.org/docs/2.2/vhosts/)' - '[Virtual Host Directives](http://httpd.apache.org/docs/2.2/mod/core.html#virtualhost)' @@ -27,7 +27,7 @@ The Apache HTTP web server is in many respects the *de facto* standard for gener The extraordinary degree of flexibility provided by Apache does not come without some cost; this mostly takes the form of a configuration structure that is sometimes confusing and often complicated. For this reason we've created this document and a number of other guides that seek to address this complexity and explore some more advanced and *optional* functionality of the Apache HTTP Sever. -If you're interested in just getting a running web server and installing Apache for the first time, we recommend using the appropriate "[installing Apache guide](/docs/websites/apache/)" for your distribution of Linux. If you need a more full-featured LAMP stack, consider trying the appropriate [LAMP guide](/docs/websites/lamp/) for your distribution. This guide assumes that you have a running and up to date Linux system, have successfully installed Apache, and have logged into a shell session with root access. +If you're interested in just getting a running web server and installing Apache for the first time, we recommend using the appropriate "[installing Apache guide](/cloud/websites/apache/)" for your distribution of Linux. If you need a more full-featured LAMP stack, consider trying the appropriate [LAMP guide](/cloud/websites/lamp/) for your distribution. This guide assumes that you have a running and up to date Linux system, have successfully installed Apache, and have logged into a shell session with root access. ## Apache Basics diff --git a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md index b067368bf4d..d3ede67e3af 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/apache-configuration-structure/index.md @@ -10,19 +10,19 @@ keywords: ["apache", "httpd", "configuration"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache-tips-and-tricks/apache-configuration-structure/','/websites/apache-tips-and-tricks/apache-configuration-structure/','/web-servers/apache/configuration/configuration-structure/'] external_resources: - - '[Apache Installation](/docs/web-servers/apache/)' - - '[LAMP Stack Guides](/docs/web-servers/lamp/)' - - '[Troubleshooting Apache](/docs/guides/troubleshooting-common-apache-issues/)' + - '[Apache Installation](/cloud/web-servers/apache/)' + - '[LAMP Stack Guides](/cloud/web-servers/lamp/)' + - '[Troubleshooting Apache](/cloud/guides/troubleshooting-common-apache-issues/)' tags: ["web server","apache"] --- -Throughout our [Apache section](/docs/web-servers/apache/) and [LAMP stack tutorials](/docs/web-servers/lamp/), a very simple configuration based on `` is offered. This configuration is useful for hosting several websites on a single server. However, this approach does not provide granular control over resource usage within each site. +Throughout our [Apache section](/cloud/web-servers/apache/) and [LAMP stack tutorials](/cloud/web-servers/lamp/), a very simple configuration based on `` is offered. This configuration is useful for hosting several websites on a single server. However, this approach does not provide granular control over resource usage within each site. ![Apache configuration structure](apache-configuration-structure-headerimg.jpg "Apache configuration structure") The `` block provides administrators with the ability to modify the behavior of the web server on a per-host or per-domain basis; any options specified in the `` block apply to the entire domain. However, they don't provide the ability to specify options on a per-directory basis. Thankfully, Apache provides additional possibilities for specific configuration. -This document addresses a number of ways to configure the behavior of your web server on a very narrow per-directory and even per-file level. For more information about specific options, consult our other [Apache configuration guides](/docs/web-servers/apache/) or the official [Apache documentation](http://httpd.apache.org/docs/). +This document addresses a number of ways to configure the behavior of your web server on a very narrow per-directory and even per-file level. For more information about specific options, consult our other [Apache configuration guides](/cloud/web-servers/apache/) or the official [Apache documentation](http://httpd.apache.org/docs/). ## Directory and Options diff --git a/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md index d56b1021e71..8c1a459cdbb 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/configure-modsecurity-on-apache/index.md @@ -27,7 +27,7 @@ Although ModSecurity comes with a default configuration, this guide will use OWA ## Install ModSecurity -Before you install ModSecurity, you will need to have Apache installed on your Linode. This guide will use a LAMP stack; for installation instructions, see the [LAMP Guides](/docs/websites/lamp/). +Before you install ModSecurity, you will need to have Apache installed on your Linode. This guide will use a LAMP stack; for installation instructions, see the [LAMP Guides](/cloud/websites/lamp/). ### Ubuntu or Debian diff --git a/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md b/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md index 05bbf816bcc..01a1299553c 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/index.md @@ -10,11 +10,11 @@ keywords: ["resources", "http", "files", "management", "mod_alias", "Alias", "ap license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/apache-tips-and-tricks/managing-resources-with-apache-modalias/','/web-servers/apache/configuration/managing-resources-with-apache-alias/','/web-servers/apache-tips-and-tricks/managing-resources-with-apache-modalias/'] external_resources: - - '[Apache Installation](/docs/web-servers/apache/)' - - '[LAMP Stack Guides](/docs/web-servers/lamp/)' - - '[Guide for Redirecting URLs](/docs/guides/redirect-urls-with-the-apache-web-server/)' - - '[Guide for URL Rewriting with Apache](/docs/guides/rewrite-urls-with-modrewrite-and-apache/)' - - '[Troubleshooting Apache](/docs/guides/troubleshooting-common-apache-issues/)' + - '[Apache Installation](/cloud/web-servers/apache/)' + - '[LAMP Stack Guides](/cloud/web-servers/lamp/)' + - '[Guide for Redirecting URLs](/cloud/guides/redirect-urls-with-the-apache-web-server/)' + - '[Guide for URL Rewriting with Apache](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/)' + - '[Troubleshooting Apache](/cloud/guides/troubleshooting-common-apache-issues/)' - '[Linode User Community](http://linode.com/community/)' tags: ["web server","apache"] deprecated: true @@ -22,7 +22,7 @@ deprecated: true In many cases, all of the resources served by an Apache host are located in that host's `DocumentRoot`. The `DocumentRoot` is a directory specified in the `` configuration block. This directory is intended to represent the various files, directories, and resources that users access over HTTP on the file system. However, it is common for administrators to provide HTTP access to a resource on the file system which is *not* located in the `DocumentRoot`. While Apache will follow symbolic links in some situations, this can be difficult to maintain. As a result Apache makes it possible to specify an `Alias` that connects a location in the request to an alternate location. -This document explains how to use the `Alias` directive to manage resources on the file system while still providing access via HTTP. Furthermore, this guide assumes you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to consider one of our [Apache installation guides](/docs/web-servers/apache/) or [LAMP stack installation guides](/docs/web-servers/lamp/). If you want a more thorough introduction to Apache configuration, consider our [Apache configuration basics](/docs/guides/apache-configuration-basics/) and [Apache configuration structure](/docs/guides/apache-configuration-structure/) documents. +This document explains how to use the `Alias` directive to manage resources on the file system while still providing access via HTTP. Furthermore, this guide assumes you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to consider one of our [Apache installation guides](/cloud/web-servers/apache/) or [LAMP stack installation guides](/cloud/web-servers/lamp/). If you want a more thorough introduction to Apache configuration, consider our [Apache configuration basics](/cloud/guides/apache-configuration-basics/) and [Apache configuration structure](/cloud/guides/apache-configuration-structure/) documents. ## Creating Aliases diff --git a/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md index 14beceed80c..b791053ac9d 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/modevasive-on-apache/index.md @@ -22,7 +22,7 @@ mod_evasive is a module for Apache that provides evasive action in the event of ![mod_evasive on Apache](mod_evasive.png "mod_evasive on Apache") -This guide assumes you already have your LAMP server configured. Guides for setting up a LAMP stack can be found in our [LAMP guides](/docs/lamp-guides) section. +This guide assumes you already have your LAMP server configured. Guides for setting up a LAMP stack can be found in our [LAMP guides](/cloud/lamp-guides) section. ## How does mod_evasive work? @@ -256,4 +256,4 @@ In the output above, the part that says `Blacklisting address 127.0.0.1: possibl ## How to Load Test mod_evasive -Refer to our guide on [Load Testing with Siege](/docs/guides/load-testing-with-siege/) to test your site's performance. Before you attempt to DDoS yourself, be aware that you risk banning your own IP. Linode does not recommend testing any server that isn't your own. +Refer to our guide on [Load Testing with Siege](/cloud/guides/load-testing-with-siege/) to test your site's performance. Before you attempt to DDoS yourself, be aware that you risk banning your own IP. Linode does not recommend testing any server that isn't your own. diff --git a/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md b/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md index 5f4dc8f3c91..0d3694a8171 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/index.md @@ -10,10 +10,10 @@ keywords: ["apache", "redirect", "mod_alias", "URLs", "REST"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/','/web-servers/apache/configuration/redirecting-urls/','/websites/apache-tips-and-tricks/redirect-urls-with-the-apache-web-server/'] external_resources: - - '[Installing Apache](/docs/web-servers/apache/)' - - '[LAMP stack guides](/docs/web-servers/lamp/)' + - '[Installing Apache](/cloud/web-servers/apache/)' + - '[LAMP stack guides](/cloud/web-servers/lamp/)' - '[Apache Redirect Guide](https://httpd.apache.org/docs/current/mod/mod_alias.html#redirect)' - - '[Rewrite URLs with mod_rewrite and Apache](/docs/guides/rewrite-urls-with-modrewrite-and-apache/)' + - '[Rewrite URLs with mod_rewrite and Apache](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/)' tags: ["web server","apache"] image: redirect-urls-with-the-apache-web-server.png --- @@ -22,7 +22,7 @@ In this guide, you'll learn how to redirect URLs with Apache. Redirecting a URL ## Before You Begin -1. This guide assumes you have followed our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/docs/web-servers/apache/) or [LAMP stack guides](/docs/web-servers/lamp/). +1. This guide assumes you have followed our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/cloud/web-servers/apache/) or [LAMP stack guides](/cloud/web-servers/lamp/). 2. In this guide, you will modify the Apache configuration files, so be sure you have the proper permissions to do so. @@ -101,7 +101,7 @@ This matches any request for a file with a `.jpg` extension and replaces it with ## Beyond URL Redirection -In addition to redirecting users, Apache also allows you to [rewrite URLs](/docs/guides/rewrite-urls-with-modrewrite-and-apache/) with `mod_rewrite`. While the features are similar, the main difference is that rewriting a URL involves the server returning a different request than the one provided by the client, whereas a redirect simply returns a status code, and the "correct" result is then requested by the client. +In addition to redirecting users, Apache also allows you to [rewrite URLs](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) with `mod_rewrite`. While the features are similar, the main difference is that rewriting a URL involves the server returning a different request than the one provided by the client, whereas a redirect simply returns a status code, and the "correct" result is then requested by the client. On a more practical level, rewriting a request does not change the contents of the browser's address bar, and can be useful in hiding URLs with sensitive or vulnerable data. diff --git a/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md index 9104e92ddfd..58b670f1261 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/index.md @@ -10,10 +10,10 @@ keywords: ["mod_rewrite", "REST", "URLs", "redirect", "apache", "httpd"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/','/web-servers/apache/configuration/rewriting-urls/','/websites/apache-tips-and-tricks/rewrite-urls-with-modrewrite-and-apache/'] external_resources: - - '[Installing Apache](/docs/web-servers/apache/)' - - '[LAMP stack guides](/docs/web-servers/lamp/)' + - '[Installing Apache](/cloud/web-servers/apache/)' + - '[LAMP stack guides](/cloud/web-servers/lamp/)' - '[Apache Rewrite Guide](https://httpd.apache.org/docs/current/mod/mod_rewrite.html)' - - '[Redirect URLs with the Apache Web Server](/docs/guides/redirect-urls-with-the-apache-web-server/)' + - '[Redirect URLs with the Apache Web Server](/cloud/guides/redirect-urls-with-the-apache-web-server/)' tags: ["web server","apache"] --- @@ -23,7 +23,7 @@ In this guide, you'll learn how to rewrite URLs with mod_rewrite and Apache. Rew ## Before You Begin -1. This guide assumes you have followed our [[Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/docs/web-servers/apache/) or [LAMP stack guides](/docs/web-servers/lamp/). +1. This guide assumes you have followed our [[Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that you have already configured your Apache installation. If you haven't, refer to our [Apache guides](/cloud/web-servers/apache/) or [LAMP stack guides](/cloud/web-servers/lamp/). 2. In this guide, we'll be modifying Apache configuration files, so be sure you have the proper permissions to do so. @@ -80,7 +80,7 @@ This is useful when the locations of files on the file system do not correspond ## Rewrite URLs Under Specific Conditions -With the `RewriteCond` parameter, you can set conditions under which a `RewriteRule` will be used. Let's take the following example from the default rewrite rules for the [WordPress](/docs/guides/how-to-install-and-configure-wordpress/) application: +With the `RewriteCond` parameter, you can set conditions under which a `RewriteRule` will be used. Let's take the following example from the default rewrite rules for the [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) application: {{< file "Apache Configuration Option for WordPress" apache >}} RewriteEngine On diff --git a/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md b/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md index c61d2ec67bd..58b022871cb 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/index.md @@ -10,19 +10,19 @@ keywords: ["apache", "access control", "security", "http", "web server"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache/configuration/rule-based-access-control/','/websites/apache-tips-and-tricks/rulebased-access-control-for-apache/','/web-servers/apache-tips-and-tricks/rulebased-access-control-for-apache/'] external_resources: - - '[LAMP Stack Guides](/docs/lamp-guides/)' - - '[Apache Configuration and Administration](/docs/web-servers/apache/)' - - '[Apache Configuration Basics](/docs/guides/apache-configuration-basics/)' - - '[Apache Configuration Structure](/docs/guides/apache-configuration-structure/)' - - '[Auth-based Access Control](/docs/guides/apache-access-control/)' - - '[Apache Troubleshooting](/docs/guides/troubleshooting-common-apache-issues/)' + - '[LAMP Stack Guides](/cloud/lamp-guides/)' + - '[Apache Configuration and Administration](/cloud/web-servers/apache/)' + - '[Apache Configuration Basics](/cloud/guides/apache-configuration-basics/)' + - '[Apache Configuration Structure](/cloud/guides/apache-configuration-structure/)' + - '[Auth-based Access Control](/cloud/guides/apache-access-control/)' + - '[Apache Troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/)' - '[Apache Documentation](http://httpd.apache.org/docs/2.2/sections.html)' - '[Apache Access Control](http://httpd.apache.org/docs/2.0/mod/mod_access.html#allow)' tags: ["web server","apache"] --- ![Rule-based Access Control for Apache](RBAC_Apache.jpg) -Apache provides a number of tools that allow administrators to control access to specific resources provided by servers. You may already be familiar with [authentication based access controls](/docs/guides/apache-configuration-structure/), which requires that visitors authenticate to the server before gaining access to resources. +Apache provides a number of tools that allow administrators to control access to specific resources provided by servers. You may already be familiar with [authentication based access controls](/cloud/guides/apache-configuration-structure/), which requires that visitors authenticate to the server before gaining access to resources. Apache's rule-based access control allows you to specify which visitors have access to which resources on a very granular level. You can create rules which block a given range of IPs from your web server, or from accessing a particular resource, or even simply from accessing a particular virtual host. @@ -31,11 +31,11 @@ The most basic use of rule-based access control is to place firm limits on what Additional uses for these access rules include blocking particular IP ranges that have been responsible for malicious traffic and limiting access to a given resource or set of resources to "internal users," among a number of other possibilities. -We assume that you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to follow one of our [Apache installation guides](/docs/web-servers/apache/) or [LAMP stack installation guides](/docs/lamp-guides/). If you want a more thorough introduction to Apache configuration, please reference our [Apache HTTP server configuration basics](/docs/guides/apache-configuration-basics/) and [Apache configuration structure](/docs/guides/apache-configuration-structure/) guides. +We assume that you have a working installation of Apache and have access to modify configuration files. If you have not installed Apache, you might want to follow one of our [Apache installation guides](/cloud/web-servers/apache/) or [LAMP stack installation guides](/cloud/lamp-guides/). If you want a more thorough introduction to Apache configuration, please reference our [Apache HTTP server configuration basics](/cloud/guides/apache-configuration-basics/) and [Apache configuration structure](/cloud/guides/apache-configuration-structure/) guides. ## Examples of Rule Based Access Control -You may wish to consult our [Apache configuration structure](/docs/guides/apache-configuration-structure/) guide to see a number of examples of these directives in practice. +You may wish to consult our [Apache configuration structure](/cloud/guides/apache-configuration-structure/) guide to see a number of examples of these directives in practice. Here is an example of a basic rule: diff --git a/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md b/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md index 1e80ac6e518..e280701e84c 100644 --- a/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md +++ b/docs/guides/web-servers/apache-tips-and-tricks/tuning-your-apache-server/index.md @@ -23,10 +23,10 @@ Your Apache configuration settings have a major effect on your Linode's performa ## Tools {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 >}} -There are a variety of tools that can assist in determining if you need to alter resource settings, including the [*top* command](/docs/guides/top-htop-iotop/) and the load-testing program [Siege](/docs/guides/load-testing-with-siege/). Linode's own [Longview](/docs/products/tools/longview/get-started/) service can also help with server monitoring. A good place to start is to familiarize yourself with the RAM and CPU usage of your server. +There are a variety of tools that can assist in determining if you need to alter resource settings, including the [*top* command](/cloud/guides/top-htop-iotop/) and the load-testing program [Siege](/cloud/guides/load-testing-with-siege/). Linode's own [Longview](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-longview) service can also help with server monitoring. A good place to start is to familiarize yourself with the RAM and CPU usage of your server. Discover usage statistics with the following variations of the `ps` command. The `ps` command is used to generate a report of the running processes on your Linode: @@ -88,7 +88,7 @@ Enabling `ExtendedStatus` consumes additional system resources. ### Apache2Buddy -The Apache2Buddy script, similar to [MySQLTuner](/docs/guides/how-to-optimize-mysql-performance-using-mysqltuner/), reviews your Apache setup, and makes suggestions based on your Apache process memory and overall RAM. Although it is a fairly basic program, that focuses on the `MaxClients` directive, Apache2Buddy is useful. You can run the script with the following command: +The Apache2Buddy script, similar to [MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/), reviews your Apache setup, and makes suggestions based on your Apache process memory and overall RAM. Although it is a fairly basic program, that focuses on the `MaxClients` directive, Apache2Buddy is useful. You can run the script with the following command: curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | sudo perl @@ -173,7 +173,7 @@ To get information on memory usage: free -m -To receive a more detailed view of the resources Apache is using, use the [`top` command](/docs/guides/top-htop-iotop/). +To receive a more detailed view of the resources Apache is using, use the [`top` command](/cloud/guides/top-htop-iotop/). ### MaxConnectionsPerChild @@ -187,6 +187,6 @@ When using the `worker` and `event` modules, `ServerLimit` and `ThreadLimit` det ### KeepAlive -[KeepAlive](https://httpd.apache.org/docs/2.4/mod/core.html#keepalive) allows connecting clients to use a single TCP connection to make multiple requests, instead of opening a new one for each request. This decreases page load times and lowers CPU use for your web server, at the expense of an increase in your server's RAM use. A KeepAlive connection will be counted as a single "request" for the [MaxConnectionsPerChild](/docs/guides/tuning-your-apache-server/#maxconnectionsperchild). +[KeepAlive](https://httpd.apache.org/docs/2.4/mod/core.html#keepalive) allows connecting clients to use a single TCP connection to make multiple requests, instead of opening a new one for each request. This decreases page load times and lowers CPU use for your web server, at the expense of an increase in your server's RAM use. A KeepAlive connection will be counted as a single "request" for the [MaxConnectionsPerChild](/cloud/guides/tuning-your-apache-server/#maxconnectionsperchild). In the past, this setting was often disabled to conserve RAM use, but server resources have become less expensive, and the option is now enabled by default in Apache 2.4. Enabling KeepAlive can significantly benefit your site's user experience, so be wary of disabling it without testing the effects of doing so. KeepAlive can be enabled or disabled in your web server configuration, or within a Virtual Host block. \ No newline at end of file diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md index 5f70f785083..77bb5bbad5e 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-centos-5/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on CentOS 5. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for CentOS](/docs/guides/lamp-server-on-centos-5/). +This tutorial explains how to install and configure the Apache web server on CentOS 5. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for CentOS](/cloud/guides/lamp-server-on-centos-5/). ## Set the Hostname -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 @@ -164,7 +164,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for CentOS 5.2](/docs/guides/lamp-server-on-centos-5/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for CentOS 5.2](/cloud/guides/lamp-server-on-centos-5/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -251,4 +251,4 @@ There are many other possibilities for using mod\_rewrite to allow users to see You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md index 283e7a30ff7..91b8011e553 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-5-lenny/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Debian 5 (Lenny). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 5](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/). +This tutorial explains how to install and configure the Apache web server on Debian 5 (Lenny). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 5](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). ## Set the Hostname -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 @@ -186,7 +186,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Debian 5 (Lenny)](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Debian 5 (Lenny)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -217,4 +217,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md index 2c2b2ac510a..10c9a30089a 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-debian-6-squeeze/index.md @@ -20,12 +20,12 @@ deprecated: true This tutorial explains how to install and configure the Apache web server on Debian 6 (Squeeze). -Note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 6](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/). +Note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Debian 6](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). ## Before You Begin -- Make sure you've followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. -- As part of the Getting Started guide, make sure you [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for your server. +- Make sure you've followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. +- As part of the Getting Started guide, make sure you [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) for your server. Issue the following commands to make sure your hostname is set properly: @@ -34,7 +34,7 @@ Issue the following commands to make sure your hostname is set properly: The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN). -All of the commands in this article should be executed either as **root** or as a [user with sudo access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account). +All of the commands in this article should be executed either as **root** or as a [user with sudo access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). ## Install Apache 2 @@ -212,7 +212,7 @@ Later files take precedence over earlier ones. Within a directory, files are rea Apache will follow symbolic links to read configuration files, so it's possible to put files in other locations as well. -Generally, as specified in our [LAMP Guide for Debian 6 (Squeeze)](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, you should create configuration files for your virtual hosts in the `/etc/apache2/sites-available/` directory, then use the `a2ensite` tool to symbolically link to files in the `sites-enabled/` directory. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP Guide for Debian 6 (Squeeze)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, you should create configuration files for your virtual hosts in the `/etc/apache2/sites-available/` directory, then use the `a2ensite` tool to symbolically link to files in the `sites-enabled/` directory. This allows for a clear and specific per-site configuration. We recommend that you *not* modify these files: @@ -222,7 +222,7 @@ We recommend that you *not* modify these files: In practice, the vast majority of your configuration options should go in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. -For more help with conflicting directives, see our [Apache Troubleshooting](/docs/guides/troubleshooting-common-apache-issues/#troubleshoot-conflicting-directives) article. +For more help with conflicting directives, see our [Apache Troubleshooting](/cloud/guides/troubleshooting-common-apache-issues/#troubleshoot-conflicting-directives) article. ## Multi-Processing Module @@ -260,4 +260,4 @@ For more complex setups, however, we recommend that you consider using an altern You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md index a8eb293a61d..e7773a61915 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-12/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Fedora 12. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 12](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +This tutorial explains how to install and configure the Apache web server on Fedora 12. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 12](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). ## Install Apache HTTP Server @@ -147,7 +147,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for Fedora 12](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for Fedora 12](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -235,4 +235,4 @@ You may wish to consult the following resources for additional information on th - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md index ca1964bc608..8f1633750ba 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-13/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Fedora 13. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 13](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +This tutorial explains how to install and configure the Apache web server on Fedora 13. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 13](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). ## Install Apache HTTP Server @@ -147,7 +147,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for Fedora 13](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for Fedora 13](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file, such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -233,6 +233,6 @@ There are many other possibilities for using mod\_rewrite to allow users to see You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md index 03567b854a5..f2a001bb526 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-fedora-14/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Fedora 14. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 14](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +This tutorial explains how to install and configure the Apache web server on Fedora 14. All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). ## Set the Hostname -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 @@ -144,7 +144,7 @@ In accordance with best practices, we do not recommend modifying the default con cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-conf.backup-1 -Generally, as specified above and in our [LAMP guide for Fedora 14](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. +Generally, as specified above and in our [LAMP guide for Fedora 14](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/) configuration files related to virtually hosted sites should be located in hosts should be located in a specific virtual host file such as `/etc/httpd/conf.d/vhost.conf`, though you can split site-specific configuration information into additional files if needed. ## Install Apache Modules @@ -230,6 +230,6 @@ There are many other possibilities for using mod\_rewrite to allow users to see You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md index 705e1d08406..da6f9066e23 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-04-lts-lucid/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 10.04 (Lucid). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.04](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 10.04 (Lucid). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.04](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/). ## Set the Hostname -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 @@ -186,7 +186,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Ubuntu 10.04 LTS (Lucid)](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Ubuntu 10.04 LTS (Lucid)](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -217,4 +217,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md index 2e4839e321b..098bc2de358 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-10-10-maverick/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 10.10 (Maverick). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.10](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 10.10 (Maverick). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 10.10](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). ## Set the Hostname -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 @@ -186,7 +186,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in the [LAMP guide](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -217,4 +217,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md index 751a8eec6c4..c5bb40d1514 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-8-04-lts-hardy/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 8.04 (Hardy). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 8.04](/docs/guides/lamp-server-on-ubuntu-8-04-lts-hardy/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 8.04 (Hardy). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 8.04](/cloud/guides/lamp-server-on-ubuntu-8-04-lts-hardy/). ## Basic System Configuration @@ -208,7 +208,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Ubuntu 8.04 LTS (Hardy)](/docs/guides/lamp-server-on-ubuntu-8-04-lts-hardy/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Ubuntu 8.04 LTS (Hardy)](/cloud/guides/lamp-server-on-ubuntu-8-04-lts-hardy/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -239,4 +239,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md index dd7ada53402..9ae0a8a5f8f 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-04-jaunty/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 9.04 (Jaunty). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.04](/docs/guides/lamp-server-on-ubuntu-9-04-jaunty/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 9.04 (Jaunty). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.04](/cloud/guides/lamp-server-on-ubuntu-9-04-jaunty/). ## Install Apache 2 @@ -161,7 +161,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP Guide for Debian Lenny](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP Guide for Debian Lenny](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice the vast majority of configuration options will probably be located in site-specific virtual host configuration files. @@ -245,4 +245,4 @@ You may wish to consult the following resources for additional information on th - [Apache HTTP Server Version 2.0 Documentation](http://httpd.apache.org/docs/2.0/) - [URL Rewriting on HTML Source](http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md index 48078b2285f..868a5568cef 100644 --- a/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/apache/apache-2-web-server-on-ubuntu-9-10-karmic/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -This tutorial explains how to install and configure the Apache web server on Ubuntu 9.10 (Karmic). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.10](/docs/guides/lamp-server-on-ubuntu-9-10-karmic/). +This tutorial explains how to install and configure the Apache web server on Ubuntu 9.10 (Karmic). All configuration will be done through the terminal; make sure you are logged in as root via SSH. If you have not followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to beginning this guide. Also note that if you're looking to install a full LAMP stack, you may want to consider using our [LAMP guide for Ubuntu 9.10](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). ## Basic System Configuration @@ -208,7 +208,7 @@ Apache will follow symbolic links to read configuration files, so you can create Best practices for most installations dictate that we don't recommend modifying the following default configuration files: `/etc/apache2/httpd.conf`, files in `/etc/apache2/mods-enabled/`, and in most cases `/etc/apache2/apache2.conf`. This is to avoid unnecessary confusion and unintended conflicts in the future. -Generally, as specified in our [LAMP guide for Ubuntu 9.10 (Karmic)](/docs/guides/lamp-server-on-ubuntu-9-10-karmic/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. +Generally, as specified in our [LAMP guide for Ubuntu 9.10 (Karmic)](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) and elsewhere, files that configure virtual hosts should be located in the `/etc/apache2/sites-available/` directory (and symbolically linked to `sites-enabled/` with the `a2ensite` tool. This allows for a clear and specific per-site configuration. In practice, the vast majority of configuration options will probably be located in site-specific virtual host configuration files. If you need to set a system-wide configuration option or aren't using virtual hosting, the best practice is to specify options in files created beneath the `conf.d/` directory. @@ -239,4 +239,4 @@ In this example, `webeditor` is the name of the user of the specific site in que You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/) -- [Apache Configuration](/docs/web-servers/apache/configuration/) +- [Apache Configuration](/cloud/web-servers/apache/configuration/) diff --git a/docs/guides/web-servers/apache/apache-access-control/index.md b/docs/guides/web-servers/apache/apache-access-control/index.md index 3c6b8d74932..a318560f90a 100644 --- a/docs/guides/web-servers/apache/apache-access-control/index.md +++ b/docs/guides/web-servers/apache/apache-access-control/index.md @@ -11,8 +11,8 @@ tags: ["http","web server","apache","security"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache/configuration/http-authentication/','/websites/apache/apache-access-control/','/web-servers/apache/apache-access-control/','/guides/authbased-access-control-with-apache/','/websites/apache/authbased-access-control-with-apache/','/web-servers/apache/authbased-access-control-with-apache/','/websites/authbased-access-control-with-apache/'] external_resources: - - '[Installation of the Apache web server](/docs/web-servers/apache/)' - - '[LAMP stack guides](/docs/web-servers/lamp/)' + - '[Installation of the Apache web server](/cloud/web-servers/apache/)' + - '[LAMP stack guides](/cloud/web-servers/lamp/)' - '[Authentication and Access Control](http://httpd.apache.org/docs/2.2/howto/auth.html)' - '[Basic Authentication Module](http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html)' --- @@ -23,9 +23,9 @@ This guide provides an overview of both credential-based and rule-based access c ## 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: @@ -35,9 +35,9 @@ This guide provides an overview of both credential-based and rule-based access c The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN) if you have one assigned. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 uses the same example file paths as our [Apache on Debian 8](/docs/guides/apache-web-server-debian-8/) guide. Be sure to adjust for your distribution. +This guide uses the same example file paths as our [Apache on Debian 8](/cloud/guides/apache-web-server-debian-8/) guide. Be sure to adjust for your distribution. {{< /note >}} ## Apache Access Control diff --git a/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md index 27ef6f576b2..7489c05db2f 100644 --- a/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/apache-and-mod-wsgi-on-ubuntu-10-10-maverick/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/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 @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/docs/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/) -- [Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md index 47173117cb6..932d090c0ad 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/guides/apache-2-web-server-on-debian-5-lenny/). Issue the following commands to make sure it is set properly: +Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). Issue the following commands to make sure it is set properly: hostname hostname -f @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/docs/guides/django-apache-and-modwsgi-on-centos-5/) -- [Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-centos-5/) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md index 32575add3f8..bcf4d2f4591 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/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 @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/docs/guides/django-apache-and-modwsgi-on-centos-5/) -- [Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-centos-5/) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md index 879f54bfeb3..e0ed8f36473 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-fedora-14/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/docs/guides/apache-and-modwsgi-on-fedora-14/). Issue the following commands to make sure it is set properly: +Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/cloud/guides/apache-and-modwsgi-on-fedora-14/). Issue the following commands to make sure it is set properly: hostname hostname -f @@ -71,7 +71,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/docs/guides/django-apache-and-modwsgi-on-fedora-14/) -- [Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/django-apache-and-modwsgi-on-fedora-14/) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md index 6f9005093fb..a8bea36484e 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ The WSGI specification provides a standard and efficient method for dynamic web ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for [setting your hostname](/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 @@ -72,7 +72,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +Consider the following example Web.py *application* which is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/srv/www/example.com/application/application.wsgi" python >}} import web @@ -157,8 +157,8 @@ You will need to restart the web server every time the `application.wsgi` file c You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python) -- [Deploy Django Applications with mod\_wsgi](/docs/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/) -- [Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/) +- [Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) - [Flask Framework](http://flask.pocoo.org/) - [Werkzug](http://werkzeug.pocoo.org/) - [Django](http://www.djangoproject.com/) diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md index 82b64a4d0bc..5f90d893eef 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/','/web-servers/apache/mod-wsgi/ubuntu-12-04-precise-pangolin/','/web-servers/apache/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/'] external_resources: - '[A Basic "Hello World" Django Application](http://runnable.com/UWRVp6lLuONCAABD/hello-world-in-django-for-python)' - - '[Deploy Django Applications with mod\_wsgi](/docs/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/)' - - '[Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/)' + - '[Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/)' + - '[Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/)' - '[Flask Framework](http://flask.pocoo.org/)' - '[Werkzug](http://werkzeug.pocoo.org/)' - '[Django](http://www.djangoproject.com/)' @@ -30,16 +30,16 @@ The WSGI specification provides a standard and efficient method for dynamic web ## 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). -2. We recommend that you are already familiar with [Apache](/docs/guides/apache-web-server-ubuntu-12-04/) before beginning this guide. +2. We recommend that you are already familiar with [Apache](/cloud/guides/apache-web-server-ubuntu-12-04/) before beginning this guide. 3. Update your system: sudo apt-get update sudo apt-get upgrade {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 Dependencies @@ -83,7 +83,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/var/www/example.com/application/application.wsgi" python >}} import web diff --git a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md index df3f2b21c25..3fc9e23e0ab 100644 --- a/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md +++ b/docs/guides/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/index.md @@ -11,8 +11,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/','/websites/apache/apache-and-modwsgi-on-ubuntu-14-04-precise-pangolin/'] external_resources: - '[A Basic "Hello World" Django Application](https://dfpp.readthedocs.io/en/latest/chapter_01.html)' - - '[Deploy Django Applications with mod\_wsgi](/docs/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/)' - - '[Deploy Web.py Applications with mod\_wsgi](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/)' + - '[Deploy Django Applications with mod\_wsgi](/cloud/guides/apache-and-modwsgi-on-ubuntu-12-04-precise-pangolin/)' + - '[Deploy Web.py Applications with mod\_wsgi](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/)' - '[Flask Framework](http://flask.pocoo.org/)' - '[Werkzug](http://werkzeug.pocoo.org/)' - '[Django](http://www.djangoproject.com/)' @@ -30,16 +30,16 @@ The WSGI specification provides a standard and efficient method for dynamic web ## 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). -2. We recommend that you are already familiar with [Apache](/docs/guides/apache-web-server-on-ubuntu-14-04/) before beginning this guide. +2. We recommend that you are already familiar with [Apache](/cloud/guides/apache-web-server-on-ubuntu-14-04/) before beginning this guide. 3. Update your system: sudo apt-get update sudo apt-get upgrade {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as **root** or with the `sudo` prefix. For more information on privileges see our [Users and Groups](/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 Dependencies @@ -83,7 +83,7 @@ You must append the path of your application to the system path as above. The de ### Web.py WSGI Configuration -In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/docs/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. +In this example the Web.py *application* is embedded in a `application.wsgi` file. The [Web.py Framework](/cloud/guides/webpy-on-ubuntu-12-04-precise-pangolin/) must be installed in order for the following application to run successfully. {{< file "/var/www/html/example.com/application/application.wsgi" python >}} import web diff --git a/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md b/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md index decb4223743..16fb67e58f9 100644 --- a/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-debian-7/index.md @@ -12,8 +12,8 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache/installation/debian-7-wheezy/','/websites/apache/how-to-install-and-configure-the-apache-web-server-on-debian-7-wheezy/','/websites/apache/apache-2-web-server-on-debian-7-wheezy/','/websites/apache/apache-web-server-debian-7/','/web-servers/apache/apache-web-server-debian-7/'] external_resources: - '[Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' - - '[Tuning Your Apache Sever](/docs/guides/tuning-your-apache-server/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' + - '[Tuning Your Apache Sever](/cloud/guides/tuning-your-apache-server/)' relations: platform: key: install-apache-server @@ -26,16 +26,16 @@ deprecated: true The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This tutorial explains how to install and configure the Apache web server on Debian 7 (Wheezy). -Note that if you're looking to install a full LAMP (Linux, Apache, MySQL and PHP) stack, you may want to consider using our [LAMP guide for Debian 7](/docs/guides/lamp-server-on-debian-7-wheezy/). +Note that if you're looking to install a full LAMP (Linux, Apache, MySQL and PHP) stack, you may want to consider using our [LAMP guide for Debian 7](/cloud/guides/lamp-server-on-debian-7-wheezy/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 -- Make sure you've followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. -- As part of the Getting Started guide, make sure you [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for your server. +- Make sure you've followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. +- As part of the Getting Started guide, make sure you [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) for your server. Issue the following commands to make sure your hostname is set properly: diff --git a/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md b/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md index 08690bd542e..945f8814318 100644 --- a/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-debian-8/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/apache/apache-web-server-debian-8/','/web-servers/apache/apache-web-server-debian-8/'] external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' relations: platform: key: install-apache-server @@ -25,15 +25,15 @@ deprecated: true The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Debian 8. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Debian 8](/docs/guides/lamp-on-debian-8-jessie/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Debian 8](/cloud/guides/lamp-on-debian-8-jessie/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: diff --git a/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md b/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md index 0cd30fbf6af..55c64087515 100644 --- a/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-on-centos-6/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache/apache-web-server-on-centos-6/','/web-servers/apache/installation/centos-6/','/websites/apache/apache-2-web-server-on-centos-6/'] external_resources: - '[Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' relations: platform: key: install-apache-server @@ -25,15 +25,15 @@ deprecated: true The *Apache HTTP Server* (Apache) is an open-source web server application. This guide explains how to install and configure an Apache web server on CentOS 6. -If instead you would like to install a full LAMP (Linux, Apache, MySQL, and PHP) stack, please see the [LAMP on CentOS 6](/docs/guides/lamp-on-centos-6/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL, and PHP) stack, please see the [LAMP on CentOS 6](/cloud/guides/lamp-on-centos-6/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: diff --git a/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md b/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md index a115b327e6d..cb3a9f30d6b 100644 --- a/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-on-ubuntu-14-04/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/apache/apache-web-server-on-ubuntu-14-04/','/websites/apache/apache-web-server-on-ubuntu-14-04/'] external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' relations: platform: key: install-apache-server @@ -25,15 +25,15 @@ deprecated: true The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Ubuntu 14.04 LTS. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 14.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: diff --git a/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md b/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md index bdb5363f895..43df5b67dd0 100644 --- a/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/apache/apache-web-server-ubuntu-12-04/index.md @@ -12,7 +12,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/apache/apache-web-server-ubuntu-12-04/','/web-servers/apache/apache-web-server-ubuntu-12-04/','/websites/apache/how-to-install-and-configure-apache-2-web-server-on-ubuntu-12-04-lts-precise-pangolin/','/web-servers/apache/installation/ubuntu-12-04-precise-pangolin/','/websites/apache/apache-2-web-server-on-ubuntu-12-04-lts-precise-pangolin/'] external_resources: - '[Apache HTTP Server Version 2.2 Documentation](http://httpd.apache.org/docs/2.2/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' relations: platform: key: install-apache-server @@ -23,15 +23,15 @@ deprecated: true The *Apache HTTP Web Server* (Apache) is an open source web application for running web servers. This guide explains how to install and configure an Apache web server on Ubuntu 12.04 LTS. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 12.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [LAMP on Ubuntu 12.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: diff --git a/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md b/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md index ae8f4d36761..fdf67dd3701 100644 --- a/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md +++ b/docs/guides/web-servers/apache/host-your-own-rss-reader-with-tiny-tiny-rss-on-centos-7/index.md @@ -21,9 +21,9 @@ This guide will walk through the steps necessary to install and configure Tiny T ## 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. Follow the steps in the [LAMP on CentOS 7](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/) guide. +2. Follow the steps in the [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide. 3. Make sure your system is up to date: diff --git a/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md b/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md index b395182d4a1..bbd9cc6aca6 100644 --- a/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md +++ b/docs/guides/web-servers/apache/how-to-configure-http-2-on-apache/index.md @@ -17,18 +17,18 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' HTTP/2 is supported by the majority of the most popular websites and is considered the current standard. It dramatically improves speed and latency due to optimizations in how data is transmitted. However, most of the changes are internal, and users do not have to make any adjustments. HTTP/2 still uses the same fields, format, and status codes, and serves the same function as the original HTTP service. It continues to use [*Transmission Control Protocol*](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) (TCP) for the transport layer and supports all contemporary browsers, web servers, and proxies. A negotiation mechanism helps the client and server elect whether to use HTTP/2 or fall back to HTTP/1.1. Most clients require data encryption whenever HTTP/2 is used. This means HTTPS is the de facto standard in HTTP/2. -For more comprehensive information and a collection of resources about HTTP/2, see our [An Introduction to HTTP/2](/docs/guides/introducing-http-2/) guide. +For more comprehensive information and a collection of resources about HTTP/2, see our [An Introduction to HTTP/2](/cloud/guides/introducing-http-2/) guide. ## Before You Begin -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 you possess a Fully Qualified Domain Name (FQDN) for the website. The DNS records for the site must point to the Linode server. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## A Summary of the HTTP/2 on Apache Configuration Process @@ -42,7 +42,7 @@ The following high-level steps are involved in configuring HTTP/2 on [*Apache*]( ### Install Apache -Run the `apache2 -v` command to determine whether Apache is installed. If it is already present, the command indicates what version is running. In this case, skip this section and proceed to the [Install the Necessary PHP Components](#install-the-necessary-php-components) step. If the command displays an error, Apache is not yet installed. For more information about Apache, see Linode's [Apache Configuration Basics](/docs/guides/apache-configuration-basics/) guide. +Run the `apache2 -v` command to determine whether Apache is installed. If it is already present, the command indicates what version is running. In this case, skip this section and proceed to the [Install the Necessary PHP Components](#install-the-necessary-php-components) step. If the command displays an error, Apache is not yet installed. For more information about Apache, see Linode's [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) guide. {{< note >}} HTTP/2 support requires Apache version 2.4.17 or higher. @@ -135,7 +135,7 @@ Earlier versions of Apache have a different file and directory structure. The ma ... {{< /file >}} {{< note respectIndent=false >}} -HTTP/2 support is typically configured on a system-wide basis. If you only want to enable HTTP/2 for one site, add the `h2 h2c` protocols to the virtual server entry for the site instead. For more information about Apache, see Linode's [Apache Configuration Basics](/docs/guides/apache-configuration-basics/) guide. +HTTP/2 support is typically configured on a system-wide basis. If you only want to enable HTTP/2 for one site, add the `h2 h2c` protocols to the virtual server entry for the site instead. For more information about Apache, see Linode's [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) guide. {{< /note >}} ### Enable HTTPS Support diff --git a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md index 3f538d6e69e..0bac86f5a8c 100644 --- a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md +++ b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-centos-8/index.md @@ -22,11 +22,11 @@ aliases: ['/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm- This guide will show you how to install `mod_fcgid` and `PHP-FPM` on CentOS 8. It will also provide a basic configuration that uses socket based connections, instead of TCP. These steps will enable you to run PHP through `mod_fcgid`. Running PHP through `mod_fcgid` helps to reduce the amount of system resources used by forcing the web server to act as a proxy and only pass files ending with the *.php* file extension to PHP-FPM. Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. -This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/) guide. +This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. ## Before You Begin -1. Complete the steps in the [How to Install a LAMP Stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. +1. Complete the steps in the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. {{< note respectIndent=false >}} This guide's examples will use PHP version 7.2. By default, PHP 7.2 is available for installation from the default CentOS 8 repositories. When running commands related to PHP, ensure you replace any version numbers with your own system's PHP version. @@ -136,7 +136,7 @@ FcgidIOTimeout 300 [PHP-FPM](https://php-fpm.org/) brings in the concept of [pools](https://www.php.net/manual/en/class.pool.php). With pools, PHP-FPM can create and manage a pool of php processes to run PHP files from a site's root directory. Each pool that is run by PHP-FPM can be run with separate user and group ID's. Pools are a great way to provide more security when you are running multiple sites on one server. Running your site's PHP scripts using dedicated user and group IDs, means that no one user can execute scripts on all sites running on your Linode. In this section you will create a pool for the domain `example.com` which is owned by the user **bob**. {{< note >}} - To create the example **bob** user, you can follow the steps outlined in our [Securing Your User](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) guide. + To create the example **bob** user, you can follow the steps outlined in our [Securing Your User](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) guide. {{< /note >}} 1. Create a copy of your original pool file to use as the foundation for your `example.com` pool configuration. diff --git a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md index 2ee5d43d44d..4426e5517ac 100644 --- a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md +++ b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-debian-10/index.md @@ -22,11 +22,11 @@ aliases: ['/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm- This guide will show you how to install `mod_fcgid` and `PHP-FPM` on Debian 10. It will also provide a basic configuration that uses socket based connections, instead of TCP. These steps will enable you to run PHP through `mod_fcgid`. Running PHP through `mod_fcgid` helps to reduce the amount of system resources used by forcing the web server to act as a proxy and only pass files ending with the *.php* file extension to PHP-FPM. Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. -This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/) guide. +This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. ## Before You Begin -1. Complete the steps in the [How to Install a LAMP Stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. +1. Complete the steps in the [How to Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. {{< note respectIndent=false >}} This guide's examples will use PHP version 7.3. When running commands related to PHP, ensure you replace any version numbers with your own system's PHP version. @@ -137,7 +137,7 @@ FcgidIOTimeout 300 [PHP-FPM](https://php-fpm.org/) brings in the concept of [pools](https://www.php.net/manual/en/class.pool.php). With pools, PHP-FPM can create and manage a pool of PHP processes to run PHP files from a site's root directory. Each pool that is run by PHP-FPM can be run with separate user and group ID's. Pools are a great way to provide more security when you are running multiple sites on one server. Running your site's PHP scripts using dedicated user and group IDs, means that no one user can execute scripts on all sites running on your Linode. In this section you will create a pool for the domain `example.com` which is owned by the user **bob**. {{< note >}} - To create the example bob user, you can follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) guide. + To create the example bob user, you can 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#add-a-limited-user-account) guide. {{< /note >}} 1. Create a copy of your original pool file to use as the foundation for your `example.com` pool configuration. diff --git a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md index e912675a5d4..7718825b3fd 100644 --- a/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm-on-ubuntu-18-04/index.md @@ -22,11 +22,11 @@ aliases: ['/web-servers/apache/how-to-install-and-configure-fastcgi-and-php-fpm- This guide will show you how to install `mod_fcgid` and `PHP-FPM` on Ubuntu 18.04. It will also provide a basic configuration that uses socket based connections, instead of TCP. These steps will enable you to run PHP through `mod_fcgid`. Running PHP through `mod_fcgid` helps to reduce the amount of system resources used by forcing the web server to act as a proxy and only pass files ending with the *.php* file extension to PHP-FPM. Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. -This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/) guide. +This guide assumes that you are familiar and comfortable with setting up a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/). If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. ## Before You Begin -1. Complete the steps in the [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. +1. Complete the steps in the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. After completing the LAMP stack guide, you should have an Apache virtual hosts configuration for your own website. This guide will continue to refer to the site as `example.com`. {{< note respectIndent=false >}} This guide's examples will use PHP version 7.2. When running commands related to PHP, ensure you replace any version numbers with your own system's PHP version. @@ -137,7 +137,7 @@ FcgidIOTimeout 300 [PHP-FPM](https://php-fpm.org/) brings in the concept of [pools](https://www.php.net/manual/en/class.pool.php). With pools, PHP-FPM can create and manage a pool of PHP processes to run PHP files from a site's root directory. Each pool that is run by PHP-FPM can be run with separate user and group ID's. Pools are a great way to provide more security when you are running multiple sites on one server. Running your site's PHP scripts using dedicated user and group IDs, means that no one user can execute scripts on all sites running on your Linode. In this section you will create a pool for the domain `example.com` which is owned by the user **bob**. {{< note >}} - To create the example bob user, you can follow the steps outlined in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) guide. + To create the example bob user, you can 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#add-a-limited-user-account) guide. {{< /note >}} 1. Create a copy of your original pool file to use as the foundation for your `example.com` pool configuration. diff --git a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md index 0d24554b006..b6d326d6454 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2004/index.md @@ -22,9 +22,9 @@ The Apache HTTP Web Server — usually just called Apache — is one of the most ## 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,7 +33,7 @@ The Apache HTTP Web Server — usually just called Apache — is one of the most ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Installing Apache @@ -106,7 +106,7 @@ The Apache service runs on `systemd`, which can be used to manage the Apache ser ### Apache Modules -Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/docs/guides/how-to-install-apache-ubuntu-2004/#multi-processing-modules)). +Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/cloud/guides/how-to-install-apache-ubuntu-2004/#multi-processing-modules)). Apache modules are typically installed via the package manager. After that, you can manage modules through Apache. @@ -258,7 +258,7 @@ This section walks you through setting up your own website using Apache. In doin sudo ufw allow http ``` - Refer to our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. ### Launching the Website diff --git a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md index f10d2332c4c..43bfc4f5d50 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-ubuntu-2404/index.md @@ -21,9 +21,9 @@ The Apache HTTP Web Server — usually just called Apache — is one of the most ## 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: @@ -32,7 +32,7 @@ The Apache HTTP Web Server — usually just called Apache — is one of the most ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Installing Apache @@ -105,7 +105,7 @@ The Apache service runs on `systemd`, which can be used to manage the Apache ser ### Apache Modules -Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/docs/guides/how-to-install-apache-ubuntu-2404/#multi-processing-modules)). +Apache can be extended and modified with modules. These range from modules that integrate interpreters like PHP and Python, enabling dynamic content, to modules that change Apache's fundamental model for handling connections. (See the next section for more on the latter type of modules, called [Multi-processing Modules](/cloud/guides/how-to-install-apache-ubuntu-2404/#multi-processing-modules)). Apache modules are typically installed via the package manager. After that, you can manage modules through Apache. @@ -258,7 +258,7 @@ This section walks you through setting up your own website using Apache. In doin sudo ufw allow http ``` - Refer to our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. ### Launching the Website diff --git a/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md b/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md index 573fa6742e9..c93233987ae 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-web-server-centos-8/index.md @@ -11,7 +11,7 @@ tags: ["centos","web server","apache"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' image: InstallApache_CentOS8.png relations: platform: @@ -23,15 +23,15 @@ aliases: ['/web-servers/apache/how-to-install-apache-web-server-centos-8/'] The *Apache HTTP Web Server* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on CentOS 8. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. ## Before You Begin -1. Set up your Linode in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up your Linode in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](/docs/products/networking/dns-manager/) guide. +1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. - - Don't forget to update your `/etc/hosts` file with your Linode's public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. + - Don't forget to update your `/etc/hosts` file with your Linode's public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) 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. 1. Install the SELinux core policy Python utilities. This will give you the ability to manage SELinux settings in a fine-grained way. @@ -61,7 +61,7 @@ If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) ## Multi-Processing Modules -Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In CentOS 8 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/docs/guides/tuning-your-apache-server/#multi-processing-modules) guide. +Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In CentOS 8 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/#multi-processing-modules) guide. 1. You can check which MPM is currently configured with the following command: diff --git a/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md b/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md index 9be35f632fa..5aab2bb1d43 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-web-server-debian-10/index.md @@ -12,7 +12,7 @@ tags: ["web server","apache","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' image: InstallApache_Deb10.png relations: platform: @@ -24,19 +24,19 @@ aliases: ['/web-servers/apache/how-to-install-apache-web-server-debian-10/'] The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Debian 10. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Set up your Linode in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up your Linode in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](/docs/products/networking/dns-manager/) guide. +1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. - - Don't forget to update your `/etc/hosts` file with the public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. + - Don't forget to update your `/etc/hosts` file with the public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) 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. {{% content "limited-user-note-shortguide" %}} @@ -48,7 +48,7 @@ Install Apache 2.4: ## Multi-Processing Modules -Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Debian 10 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/docs/guides/tuning-your-apache-server/#multi-processing-modules) guide. +Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Debian 10 the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/#multi-processing-modules) guide. 1. You can check which MPM is currently configured with the following command: @@ -313,7 +313,7 @@ You can control the server in the following ways. ### Optional: Firewall -Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A popular firewall for Debian is [UFW](/docs/guides/configure-firewall-with-ufw/). +Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A popular firewall for Debian is [UFW](/cloud/guides/configure-firewall-with-ufw/). If you had UFW installed before you installed Apache, Apache will have registered with UFW during installation and provides some simple to use configurations. diff --git a/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md b/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md index 2a2d6e7b7e6..e4cf3883d1f 100644 --- a/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/index.md @@ -12,7 +12,7 @@ tags: ["web server","apache","ubuntu"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - '[Apache HTTP Server Version 2.4 Documentation](http://httpd.apache.org/docs/2.4/)' - - '[Apache Configuration](/docs/web-servers/apache/configuration/)' + - '[Apache Configuration](/cloud/web-servers/apache/configuration/)' image: InstallApache_Ubuntu1804LTS.png relations: platform: @@ -24,19 +24,19 @@ aliases: ['/web-servers/apache/how-to-install-apache-web-server-ubuntu-18-04/',' The *Apache HTTP Web Sever* (Apache) is an open source web application for deploying web servers. This guide explains how to install and configure an Apache web server on Ubuntu 18.04 LTS. -If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. +If instead you would like to install a full LAMP (Linux, Apache, MySQL and PHP) stack, please see the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. Set up your Linode in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up your Linode in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](/docs/products/networking/dns-manager/) guide. +1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. - - Don't forget to update your `/etc/hosts` file with the public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. + - Don't forget to update your `/etc/hosts` file with the public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) 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. {{% content "limited-user-note-shortguide" %}} @@ -48,7 +48,7 @@ Install Apache 2.4: ## Multi-Processing Modules -Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Ubuntu 18.04 LTS the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/docs/guides/tuning-your-apache-server/#multi-processing-modules) guide. +Apache 2.4 offers several multi-processing modules (MPMs) to handle connections. In Ubuntu 18.04 LTS the default MPM is the *event module*, although the *prefork module* is still recommended if you’re using standard PHP. Below are the basic default settings. For detailed explanations and advanced settings for these modules, see the [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/#multi-processing-modules) guide. 1. You can check which MPM is currently configured with the following command: @@ -322,7 +322,7 @@ You can control the server in the following ways. ### Optional: Firewall -Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A common firewall for Ubuntu is [UFW](/docs/guides/configure-firewall-with-ufw/). +Depending on your firewall configuration, you may need to modify your settings to allow access to web ports. A common firewall for Ubuntu is [UFW](/cloud/guides/configure-firewall-with-ufw/). If you had UFW installed before you installed Apache, Apache will have registered with UFW during installation and provides some simple to use configurations. diff --git a/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md b/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md index 6af1da8dcbd..e5c4992afce 100644 --- a/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md +++ b/docs/guides/web-servers/apache/how-to-set-up-htaccess-on-apache/index.md @@ -24,11 +24,11 @@ An .htaccess file makes Apache web server configuration changes on a per-directo ## 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 Apache section in the [Install a Lamp Stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) to install Apache on your Linode. +1. Complete the Apache section in the [Install a Lamp Stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) to install Apache on your Linode. {{< note >}} Throughout this guide, replace each instance of `testuser` with your custom user account. Replace each occurrence of `example.com` with the IP address or Fully Qualified Domain Name (FQDN) of your Linode. @@ -36,7 +36,7 @@ Throughout this guide, replace each instance of `testuser` with your custom user ## Enable the Apache .htaccess File -To enable the .htaccess file, you must update your website's [Virtual Hosts](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/#virtual-hosts) file to add an `AllowOverride All` directive. +To enable the .htaccess file, you must update your website's [Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/#virtual-hosts) file to add an `AllowOverride All` directive. 1. Use a text editor to open your configuration file: @@ -74,7 +74,7 @@ Apache's [mod_autoindex module](https://httpd.apache.org/docs/2.4/mod/mod_autoin One way to restrict a directory listing is through Apache's .htaccess file. This section shows you how to update an .htaccess file to disable directory listings. {{< note >}} -CMS systems such as [WordPress](/docs/guides/how-to-install-wordpress-ubuntu-2004/) create .htaccess configurations by default. This guide assumes that no .htaccess file exists. If you have not created an .htaccess file, follow the steps in the [Create the .htaccess File](/docs/guides/how-to-set-up-htaccess-on-apache/#create-the-htaccess-file) section of this guide. +CMS systems such as [WordPress](/cloud/guides/how-to-install-wordpress-ubuntu-2004/) create .htaccess configurations by default. This guide assumes that no .htaccess file exists. If you have not created an .htaccess file, follow the steps in the [Create the .htaccess File](/cloud/guides/how-to-set-up-htaccess-on-apache/#create-the-htaccess-file) section of this guide. {{< /note >}} 1. Using your preferred text editor, open your .htaccess file and add the following configuration: diff --git a/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md b/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md index f9a3f78f9c7..8df6793f30d 100644 --- a/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md +++ b/docs/guides/web-servers/apache/how-to-use-ipv6-on-apache/index.md @@ -42,12 +42,12 @@ Although IPv4 and IPv6 are not directly compatible, several transitional and upg ## 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 Configure IPv6 @@ -261,7 +261,7 @@ LISTEN 0 128 [::]:22 [::]:* ## Adding an IPv6 Address to the Domain DNS Records -To enforce the use of an IPv6 address to access a hosted domain, update the DNS record for the domain. Change the DNS record to use the IPv6 address instead of the IPv4 address. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). All DNS changes take some time to propagate across the internet. Changing the DNS record does not affect direct access to the node using the raw IPv4 or IPv6 addresses. +To enforce the use of an IPv6 address to access a hosted domain, update the DNS record for the domain. Change the DNS record to use the IPv6 address instead of the IPv4 address. 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). All DNS changes take some time to propagate across the internet. Changing the DNS record does not affect direct access to the node using the raw IPv4 or IPv6 addresses. ## Additional IPv6 Tools diff --git a/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md b/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md index 93b4570dcc6..d32430cf674 100644 --- a/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md +++ b/docs/guides/web-servers/apache/install-and-configure-apache-on-centos-7/index.md @@ -25,7 +25,7 @@ relations: This guide explains how to install and configure the Apache web server on CentOS 7. Apache is an [open-source web server](https://httpd.apache.org/ABOUT_APACHE.html) that can be configured to serve a single or multiple websites using the same Linode. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check the [Users and Groups](/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 the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. Replace each instance of `example.com` in this guide with the domain name of the website. {{< /note >}} @@ -33,9 +33,9 @@ Replace each instance of `example.com` in this guide with the domain name of the ## Before you begin -1. Ensure you have followed both the [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. +1. Ensure you have followed both 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. -2. Check that the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). To check the hostname run: +2. Check 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). To check the hostname run: hostname hostname -f @@ -149,12 +149,12 @@ Congratulations! You've set up Apache and you're now ready to host websites. If ### Secure the server with SELinux -SELinux is a *mandatory access control* (MAC) system that confines privileged processes and automates security policy creation. To enable it on your Linode, see the [Beginner's Guide to SELinux on CentOS 7](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/). +SELinux is a *mandatory access control* (MAC) system that confines privileged processes and automates security policy creation. To enable it on your Linode, see the [Beginner's Guide to SELinux on CentOS 7](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/). ### Secure the site with SSL -To add additional security to the site, consider [enabling a *secure sockets layer* (SSL) certificate](/docs/security/ssl/ssl-apache2-centos). +To add additional security to the site, consider [enabling a *secure sockets layer* (SSL) certificate](/cloud/security/ssl/ssl-apache2-centos). ### Install and Configure GlusterFS, Galera, and XtraDB for High Availability -Consult the [Host a Website with High Availability](/docs/guides/host-a-website-with-high-availability/) guide to mitigate downtime through redundancy, monitoring, and failover. +Consult the [Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability/) guide to mitigate downtime through redundancy, monitoring, and failover. diff --git a/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md b/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md index 465ce30959e..f9b7944ffc1 100644 --- a/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md +++ b/docs/guides/web-servers/apache/install-and-use-apache-on-almalinux/index.md @@ -33,12 +33,12 @@ As a potential replacement for CentOS, AlmaLinux provides many attractive sellin ## 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 and Enable the Apache Web Server on AlmaLinux @@ -142,7 +142,7 @@ If you do not have an `index.html` file in `/var/www/html` directory, you can cr 1. Navigate to the IP address of the Linode again. You should now see the web page contents for the home page of your domain. -1. **(Optional)** You should ideally create a virtual host for each site on the server. For more information on creating virtual hosts on Apache, consult the Linode guide on [Apache Configuration Basics](/docs/guides/apache-configuration-basics/). +1. **(Optional)** You should ideally create a virtual host for each site on the server. For more information on creating virtual hosts on Apache, consult the Linode guide on [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/). ## Learn More About AlmaLinux diff --git a/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md b/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md index be2f6259f96..d3b78435265 100644 --- a/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md +++ b/docs/guides/web-servers/apache/install-php-8-for-apache-and-nginx-on-ubuntu/index.md @@ -62,14 +62,14 @@ PHP has only a few disadvantages. Some of these drawbacks include a lack of libr ## 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. **Do not** follow the *Configure a Firewall section* yet as this guide includes firewall rules specifically for an OpenVPN server. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall section* yet as this guide includes firewall rules specifically for an OpenVPN server. -1. PHP is usually used in conjunction with a web server. An Apache or NGINX web server should already be installed on the Linode. See the Linode guides for [Apache](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/) or [NGINX](/docs/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/) for more information. Instructions for both servers are included in this guide. If `ufw` is enabled, ensure it allows web server access. +1. PHP is usually used in conjunction with a web server. An Apache or NGINX web server should already be installed on the Linode. See the Linode guides for [Apache](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) or [NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/) for more information. Instructions for both servers are included in this guide. If `ufw` is enabled, ensure it allows web server access. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Add the PHP Repository @@ -160,7 +160,7 @@ php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager sudo a2enmod actions fcgid alias proxy_fcgi 1. If you have configured a virtual host for your domain, add an FPM handler to the site's `.conf` file. Otherwise, add the handler to the default `000-default.conf` file. The `.conf` files can be found in the `/etc/apache2/sites-available` directory. Add the line `SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost"` to the `VirtualHost` block as shown here. {{< note respectIndent=false >}} -For information on how to add a virtual host, see the Linode guide on [How to Install Apache Web Server on Ubuntu 18.04 LTS](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/). +For information on how to add a virtual host, see the Linode guide on [How to Install Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/). {{< /note >}} {{< file "/etc/apache2/sites-available/000-default.conf" aconf >}} @@ -178,7 +178,7 @@ For information on how to add a virtual host, see the Linode guide on [How to In ## How to Install PHP and PHP-FPM with NGINX -The procedure to install PHP on NGINX is very similar to the procedure for [Apache](/docs/guides/install-php-8-for-apache-and-nginx-on-ubuntu/#how-to-install-php-and-php-fpm-with-apache). If Apache is installed on the system, the PHP installation process might try to activate it. If this happens, stop Apache with the command `sudo systemctl disable --now apache2`. +The procedure to install PHP on NGINX is very similar to the procedure for [Apache](/cloud/guides/install-php-8-for-apache-and-nginx-on-ubuntu/#how-to-install-php-and-php-fpm-with-apache). If Apache is installed on the system, the PHP installation process might try to activate it. If this happens, stop Apache with the command `sudo systemctl disable --now apache2`. 1. Install the `php-fpm` module. @@ -208,7 +208,7 @@ php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager {{< /output >}} 1. Add the following configuration to the virtual host `.conf` file for your domain. If a virtual host has not been configured, add it to the `default` NGINX file instead. These files are located in the `/etc/nginx/sites-available` directory. {{< note respectIndent=false >}} -For more information on configuring a virtual host on NGINX, consult the Linode Guide on [How to Install and Use NGINX on Ubuntu 20.04](/docs/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/). +For more information on configuring a virtual host on NGINX, consult the Linode Guide on [How to Install and Use NGINX on Ubuntu 20.04](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/). {{< /note >}} {{< file "/etc/nginx/sites-available/default" aconf >}} diff --git a/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md b/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md index ebd16ad19ee..92600d01f8f 100644 --- a/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md +++ b/docs/guides/web-servers/apache/install-php-fpm-and-apache-on-debian-8/index.md @@ -30,13 +30,13 @@ PHP-FPM also offers more security, since scripts are not run as the Apache user. ## 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). 2. 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 >}} ## Install Apache and PHP-FPM @@ -66,7 +66,7 @@ deb-src http://mirrors.linode.com/debian/ jessie-updates main contrib non-free sudo apt-get install php5-mysql -4. You can now [configure virtual hosting](/docs/guides/apache-web-server-debian-8/#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Once your site(s) is set up, you can configure Apache to pass PHP scripts to the CGI process. +4. You can now [configure virtual hosting](/cloud/guides/apache-web-server-debian-8/#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Once your site(s) is set up, you can configure Apache to pass PHP scripts to the CGI process. ## Configure PHP-FPM @@ -120,7 +120,7 @@ deb-src http://mirrors.linode.com/debian/ jessie-updates main contrib non-free This is a separate and optional configuration scenario from that described above where specific Unix users are created to execute PHP code and to control system resources per site. Instead of the `www-data` user owning all of Apache's processes and sites, the configuration below allows each site to be run by Apache under its own system user (`site1` under `user1`, `site2` under `user2`, etc.). -This is particularly useful when running multiple client sites because you can give each customer write permissions in a respective web directory without affecting the security of the web server as a whole. The example below assumes two websites, each with its own Apache virtual host, and one system user for each website to which you want to assign a PHP pool. For more information see our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +This is particularly useful when running multiple client sites because you can give each customer write permissions in a respective web directory without affecting the security of the web server as a whole. The example below assumes two websites, each with its own Apache virtual host, and one system user for each website to which you want to assign a PHP pool. For more information see our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. 1. Make a copy of `www.conf` for each pool: diff --git a/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md b/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md index 24f374395c5..bb277ac3f7f 100644 --- a/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md +++ b/docs/guides/web-servers/apache/measure-your-websites-recurring-readership-with-bise/index.md @@ -66,13 +66,13 @@ So, if your website's logs indicate that a user at a certain IP address spent a To use Bise, you should have the following: -* A website running on Apache, or another web server configured to write out its access logs in the Common Log Format. Visit the [Apache section](/docs/web-servers/apache/) for help with installing Apache. +* A website running on Apache, or another web server configured to write out its access logs in the Common Log Format. Visit the [Apache section](/cloud/web-servers/apache/) for help with installing Apache. * Access to those logs! Bise needs read-access to those log files in order to work. The [If You Don't Have Read-Access to the Logs](#if-you-don-t-have-read-access-to-the-logs) section will provide suggestions if you don't currently have read access. -* [Cpanminus](/docs/guides/manage-cpan-modules-with-cpan-minus/), to install Bise's prerequisite libraries. +* [Cpanminus](/cloud/guides/manage-cpan-modules-with-cpan-minus/), to install Bise's prerequisite libraries. -* [Cron](/docs/guides/schedule-tasks-with-cron/), if you plan to run Bise on a regular schedule. Any Linux machine almost certainly has this installed as well. +* [Cron](/cloud/guides/schedule-tasks-with-cron/), if you plan to run Bise on a regular schedule. Any Linux machine almost certainly has this installed as well. {{< note respectIndent=false >}} Any other scheduling software that can run command-line scripts for you will also work, but this guide will demonstrate using Bise with Cron, specifically. @@ -90,7 +90,7 @@ At the time of this writing, Bise lacks any kind of one-step installation soluti git clone https://github.com/jmacdotorg/bise.git {{< note respectIndent=false >}} -You can follow the [How to Install Git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide if `git` is not installed on your system. +You can follow the [How to Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide if `git` is not installed on your system. {{< /note >}} 1. In your terminal, set your current working directory to your new `bise` directory: @@ -115,7 +115,7 @@ Install Bise's prerequisites using `cpanm`: - **If you do not have `cpanm` installed**, then you have two options: - * Install `cpanm`, as described in [this Linode guide](/docs/guides/manage-cpan-modules-with-cpan-minus/). Then, run the command described above. + * Install `cpanm`, as described in [this Linode guide](/cloud/guides/manage-cpan-modules-with-cpan-minus/). Then, run the command described above. * Run this command, which will load and run a temporary copy of `cpanm` and then proceed to install Bise's dependencies: @@ -272,7 +272,7 @@ If you're happy with the behavior of the default rows, you can certainly continu There are four kinds of rows you can define, each of which examines a different part of your access logs. These correspond to the values for the `test_type` parameter: [`path`](#test_type-path), [`path_regex`](#test_type-path_regex), [`referer_regex`](#test_type-referer_regex), and [`agent_regex`](#test_type-agent_regex). {{< note >}} -Three of the row types involve the use of regular expressions. You should probably understand [the basics of this text-processing technology](/docs/guides/how-to-use-grep-command/#regular-expression-overview) before defining your own row definitions with any of these types. +Three of the row types involve the use of regular expressions. You should probably understand [the basics of this text-processing technology](/cloud/guides/how-to-use-grep-command/#regular-expression-overview) before defining your own row definitions with any of these types. Note also that Bise ignores whitespace in regular expressions, allowing you to write more complex regexes with inline comments, as one of the examples below will illustrate. {{< /note >}} @@ -342,7 +342,7 @@ The configuration file lets you set these optional directives as well: ## Running Bise as a cron Task -Once you have Bise creating meaningful reports about your website's readership, consider having your system run it regularly. For example, you could automatically run the report once a week. The [Cron utility](/docs/guides/schedule-tasks-with-cron/) can be used to schedule this task. +Once you have Bise creating meaningful reports about your website's readership, consider having your system run it regularly. For example, you could automatically run the report once a week. The [Cron utility](/cloud/guides/schedule-tasks-with-cron/) can be used to schedule this task. Cron's normal behavior is to mail you anything a scheduled program prints as output or error messages. So, you can use Cron to receive periodic emails about your website's readership levels. diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md index ea4324690ad..85ebab0e24d 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 5 (Lenny) guide](/docs/web-servers/apache/installation/debian-5-lenny) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 5 (Lenny) guide](/cloud/web-servers/apache/installation/debian-5-lenny) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md index 39b62a052fb..6db2da0a2f6 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-12/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 12 guide](/docs/guides/apache-2-web-server-on-fedora-12/) before proceeding. These steps should be performed as root via a shell session. +We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 12 guide](/cloud/guides/apache-2-web-server-on-fedora-12/) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md index 4fe00e4e934..eb544fedbe9 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 14 guide](/docs/guides/apache-2-web-server-on-fedora-14/) before proceeding. These steps should be performed as root via a shell session. +We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Fedora 14 guide](/cloud/guides/apache-2-web-server-on-fedora-14/) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md index 1e84ab3c0a1..d7a104d163b 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 10.04 (Lucid) guide](/docs/web-servers/apache/installation/ubuntu-10-04-lucid) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 10.04 (Lucid) guide](/cloud/web-servers/apache/installation/ubuntu-10-04-lucid) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md index 9089ab0941a..c5dc6963341 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache installation guide](/docs/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache installation guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md index 8f7472249e8..23acfc382d8 100644 --- a/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/apache/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 9.10 (Karmic) guide](/docs/web-servers/apache/installation/ubuntu-9-10-karmic) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 9.10 (Karmic) guide](/cloud/web-servers/apache/installation/ubuntu-9-10-karmic) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md index 698d2bd2bb2..6585164b92f 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-centos-5/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## 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 @@ Issue the following command to ensure that Apache will start following the next chkconfig httpd on -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-centos-5/#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5/#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: yum install php-cgi @@ -53,7 +53,7 @@ When this process completes, we can configure Apache to hand PHP scripts to the ## Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md index 054695ee07f..0088e003d9b 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/index.md @@ -18,15 +18,15 @@ relations: deprecated: true --- -In most cases, we recommend using `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the Web Server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; when the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the Web Server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; when the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +Additionally, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## 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,7 +44,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-debian-5-lenny/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-debian-5-lenny/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -56,7 +56,7 @@ In order to set up Apache to use PHP-CGI on Debian systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -112,7 +112,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md index be554ec7f2d..8278cb6792d 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-12/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and process. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## Installing Apache and PHP @@ -37,7 +37,7 @@ To start Apache for the first time and ensure that it resumes following subseque /etc/init.d/httpd start chkconfig httpd on -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-fedora-12/#configure-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-fedora-12/#configure-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: yum install php-cgi @@ -45,7 +45,7 @@ When this process completes, we can configure Apache to hand PHP scripts to the ## Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md index 71371c9696d..b7bd1a36bfb 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-fedora-13/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and processes. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges; it forces all scripts to be executed with the permissions of a shared user account, and is incompatible with some other Apache modules and processes. For example, in our experience `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/development/ror/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes, using the method outlined below. -Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide, we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## 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 @@ -46,7 +46,7 @@ To start Apache for the first time and ensure that it resumes following subseque /etc/init.d/httpd start chkconfig httpd on -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-fedora-13/#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-fedora-13/#configure-apache) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: yum install php-cgi @@ -54,7 +54,7 @@ When this process completes, we can configure Apache to hand PHP scripts to the ## Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Fedora systems this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md index 4c1fe89dce7..f88f2b93964 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-04-lts-lucid/index.md @@ -18,15 +18,15 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## 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 @@ -71,7 +71,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -83,7 +83,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -139,7 +139,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md index 93b071d6a97..2b4b9c9e53b 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-10-10-maverick/index.md @@ -18,15 +18,15 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## 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,7 +44,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-ubuntu-10-10-maverick/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/#configure-name-based-virtual-hosts) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -56,7 +56,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -112,7 +112,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md index 879e8cdb085..67fad9c86ab 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-8-04-hardy/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## Installing Apache and PHP @@ -35,7 +35,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy/#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-8-04-lts-hardy/#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -47,7 +47,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -103,7 +103,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md index 84fa50a09aa..24dbb7dc8d0 100644 --- a/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/apache/run-php-applications-under-cgi-with-apache-on-ubuntu-9-10-karmic/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/docs/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. +In most cases, we recommend using the `mod_php` module to run PHP scripts with the [Apache HTTP server](/cloud/web-servers/apache/). This embeds a PHP interpreter in the web server process and makes running PHP applications easy. The embedded interpreter approach, however, is not without challenges. When the PHP interpreter is embedded in the web server process, PHP scripts are executed by and with the permissions of the web server's user. In smaller deployments, this is perfectly acceptable, but in larger deployments and operations it can create security risks. While Apache's `itk` message passing module (mpm) makes it possible to run Apache processes under user processes in a per-virtual host setup, this is incompatible with the embedded interpreter. The `itk` module is compatible with PHP running as a CGI process. -Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/docs/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. +Additionally, in our experience, `mod_php` is incompatible with the `mod_rails` or Phusion Passenger method of running [Ruby On Rails](/cloud/frameworks/). In these cases, if you want to run PHP and Rails applications within a single instance of Apache, you must run PHP scripts as CGI processes using the method outlined below. -Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](/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/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/docs/web-servers/apache/). +Before beginning this guide we assume that you've completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, we recommend considering the [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and the article concerning [systems administration basics](/cloud/guides/linux-system-administration-basics/). If you're interested in learning more about the Apache HTTP server, we encourage you to consider our extensive documentation on [Apache configuration](/cloud/web-servers/apache/). ## Enable Universe Repositories @@ -61,7 +61,7 @@ If you have not already installed the Apache HTTP server, issue the following co apt-get install apache2 -You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-ubuntu-9-10-karmic/#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: +You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/#configure-apache-for-named-based-virtual-hosting) in accordance with the needs of your server. To install the PHP CGI binaries, issue the following command: apt-get install php5-cgi @@ -73,7 +73,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -129,7 +129,7 @@ Now, in the `` entries for your sites (the site-specific files in {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. ## More Information diff --git a/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md b/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md index 3ecee56917e..c0ebb7bde35 100644 --- a/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md +++ b/docs/guides/web-servers/apache/run-php-cgi-apache-centos-6/index.md @@ -23,14 +23,14 @@ deprecated: true In instances where running the `mod_php` module to run PHP scripts on Apache is not sufficient, PHP can be run as a CGI binary. Combined with the `itk` multi-processing module (MPM), PHP scripts can be run as user processes in a per-virtual host setup. This guide will walk users through the process of setting up Apache and PHP CGI. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 @@ This guide is written for a non-root user. Commands that require elevated privil sudo chkconfig httpd on - You can now [configure virtual hosting](/docs/guides/apache-2-web-server-on-centos-5/#configure-apache) in accordance with the needs of your server. + You can now [configure virtual hosting](/cloud/guides/apache-2-web-server-on-centos-5/#configure-apache) in accordance with the needs of your server. 3. Install the PHP CGI binaries: @@ -60,7 +60,7 @@ This guide is written for a non-root user. Commands that require elevated privil ### Configure Apache for PHP CGI -The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems, this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: +The directives required to enable PHP CGI may be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For CentOS systems, this is located at `/etc/httpd/conf.d/`. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin diff --git a/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md b/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md index 7eb74781443..761c62c3452 100644 --- a/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md +++ b/docs/guides/web-servers/apache/run-php-cgi-apache-debian-7/index.md @@ -24,12 +24,12 @@ deprecated: true In instances where running the `mod_php` module to run PHP scripts on Apache is not sufficient, PHP can be run as a CGI binary. Combined with the `itk` multi-processing module (MPM), PHP scripts can be run as user processes in a per-virtual host setup. This guide will walk users through the process of setting up Apache and PHP CGI. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: @@ -48,7 +48,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt-get install apache2 -2. You can now [configure virtual hosting](/docs/guides/apache-web-server-debian-7/#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Next, install the CGI binaries: +2. You can now [configure virtual hosting](/cloud/guides/apache-web-server-debian-7/#configure-apache-for-virtual-hosting) in accordance with the needs of your server. Next, install the CGI binaries: sudo apt-get install php5-cgi @@ -60,7 +60,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo a2enmod actions -2. The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +2. The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Debian systems this directory is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -119,4 +119,4 @@ This may not be ideal if you have multiple users running publicly accessible scr {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. diff --git a/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md b/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md index 2306b982918..3938177af1c 100644 --- a/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/apache/run-php-cgi-apache-ubuntu-12-04/index.md @@ -23,14 +23,14 @@ deprecated: true In instances where running the `mod_php` module to run PHP scripts on Apache is not sufficient, PHP can be run as a CGI binary. Combined with the `itk` multi-processing module (MPM), PHP scripts can be run as user processes in a per-virtual host setup. This guide will walk users through the process of setting up Apache and PHP CGI. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: @@ -44,7 +44,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo apt-get install apache2 - You can now [configure virtual hosting](/docs/guides/apache-web-server-ubuntu-12-04/#configure-virtual-hosting) in accordance with the needs of your server. + You can now [configure virtual hosting](/cloud/guides/apache-web-server-ubuntu-12-04/#configure-virtual-hosting) in accordance with the needs of your server. 2. Install the PHP CGI binaries: @@ -58,7 +58,7 @@ In order to set up Apache to use PHP-CGI on Ubuntu systems, you must enable the sudo a2enmod actions -The required directives can be set anywhere in Apache's [configuration tree](/docs/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: +The required directives can be set anywhere in Apache's [configuration tree](/cloud/guides/apache-configuration-basics/). We recommend creating the `php-cgi.conf` file in Apache's `conf.d/` directory and setting these variables there. For Ubuntu systems, this is located at `/etc/apache2/conf.d/`. You may also choose to place these settings in your `/etc/apache2/httpd.conf` file. Regardless of their location, the relevant settings are: {{< file "Apache Configuration Block" apache >}} ScriptAlias /local-bin /usr/bin @@ -114,4 +114,4 @@ This may not be ideal if you have multiple users running publicly accessible scr {{< /file >}} -In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/docs/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. +In this example, `webeditor` is the name of the user of the specific site in question, and `webgroup` is the name of the user group that "owns" the web server related files and processes for this host. Remember that you must create the user accounts and groups using the `useradd` command. Consider our documentation of [user groups and permissions](/cloud/guides/linux-users-and-groups/) for more information about creating the necessary users and groups. diff --git a/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md b/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md index 61d45f88f9d..8ee13015f7a 100644 --- a/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md +++ b/docs/guides/web-servers/apache/running-fastcgi-php-fpm-on-debian-7-with-apache/index.md @@ -29,7 +29,7 @@ The main reason `mod_php` uses more resources is because it is loaded even for n Additionally, using PHP-FPM allows each virtual host to be configured to run PHP code as individual users. Previously, this was only possible by using suPHP. -This guide assumes that you are familiar and comfortable with setting up [LAMP stacks](/docs/websites/lamp) on Debian 7. If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/) documentation series. +This guide assumes that you are familiar and comfortable with setting up [LAMP stacks](/cloud/websites/lamp) on Debian 7. If you are new to Linux server administration, you may be interested in reading our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) documentation series. ## Installing mod_fastcgi and PHP-FPM diff --git a/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md b/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md index a51ea28b5c0..0ce53237934 100644 --- a/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md +++ b/docs/guides/web-servers/apache/troubleshooting-common-apache-issues/index.md @@ -16,17 +16,17 @@ external_resources: - '[Apache user wiki](http://wiki.apache.org/httpd/)' --- -This article provides troubleshooting guidelines for the [Apache web server](/docs/web-servers/apache/). Apache is a highly customizable tool for serving HTTP traffic. Because it allows for so many different configurations and settings in so many different places, sometimes Apache configuration can befuddle even advanced users. +This article provides troubleshooting guidelines for the [Apache web server](/cloud/web-servers/apache/). Apache is a highly customizable tool for serving HTTP traffic. Because it allows for so many different configurations and settings in so many different places, sometimes Apache configuration can befuddle even advanced users. In this guide, you'll start with some basic troubleshooting steps and then proceed to more advanced techniques that can help you untangle conflicting directives. We recommend starting at the beginning of this guide and going through it in order. By the time you're done, you should be able to debug your Apache installation. ## Is Apache Running? -First, check whether Apache is running. Follow the process in this [Troubleshooting Guide](/docs/products/compute/compute-instances/guides/troubleshooting-services/#check-if-the-service-is-running). +First, check whether Apache is running. Follow the process in this [Troubleshooting Guide](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-web-servers#check-if-the-service-is-running). If it isn't, go ahead and restart Apache, as explained in the next section. -You may also want to investigate the possibility of [memory issues](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/), if Apache is stopping unexpectedly. +You may also want to investigate the possibility of [memory issues](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances), if Apache is stopping unexpectedly. ## Restart Apache @@ -183,5 +183,5 @@ If you're continuing to have issues with Apache, we encourage you to make contac You might want to look at the following Linode guides: -- A group of guides for various [web frameworks](/docs/frameworks/) -- General [Apache HTTP server](/docs/web-servers/apache/) guides \ No newline at end of file +- A group of guides for various [web frameworks](/cloud/frameworks/) +- General [Apache HTTP server](/cloud/web-servers/apache/) guides \ No newline at end of file diff --git a/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md b/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md index e442ca1704a..e25dbe5432e 100644 --- a/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md +++ b/docs/guides/web-servers/appwrite/getting-started-appwrite/index.md @@ -19,9 +19,9 @@ This tutorial introduces you to Appwrite, highlighting its features and how it c ## 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. Update your system: @@ -34,7 +34,7 @@ This tutorial introduces you to Appwrite, highlighting its features and how it c ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Appwrite? @@ -66,7 +66,7 @@ Appwrite, on the other hand, uses a NoSQL approach to its database interface, an These steps take you through everything from installing the prerequisites to starting-up and running your own Appwrite instance. {{< note >}} -To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/docs/marketplace-docs/guides/appwrite/). +To automatically install Appwrite on a Compute Instance, consider deploying [Appwrite through the Linode Marketplace](/cloud/marketplace-docs/guides/appwrite/). {{< /note >}} ### Installing Docker @@ -75,9 +75,9 @@ The first step is to install Docker, which is used to both install and run your 1. Install Docker using the steps outlined in one of the following guides, depending on your Linux distribution. - - **Debian** and **Ubuntu**: Use our guide [How to Install and Use Docker on Ubuntu and Debian](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/). + - **Debian** and **Ubuntu**: Use our guide [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). - - **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Use our guide [How to Install and Use Docker on CentOS and Fedora](/docs/guides/installing-and-using-docker-on-centos-and-fedora/). + - **AlmaLinux**, **CentOS Stream**, **Fedora**, and **Rocky Linux**: Use our guide [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/). 1. Install the Docker Compose plugin using your distribution's package manager. @@ -131,9 +131,9 @@ Appwrite is now up and running. You can access the dashboard by navigating to `h However, doing so is often not feasible. Likely, you want to access the dashboard remotely. You can do so by navigating to the Appwrite server's URL, which may be an IP address, such as `192.0.2.0`. But first, you need to ensure the server's firewall provides external access to the HTTP port (`80`). -- **Debian** and **Ubuntu**: Refer to our guide on [How to Configure a Firewall with UFW](/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 Appwrite sign-up form. @@ -233,11 +233,11 @@ To get you started, here are a few particularly useful environmental variables A ## How to Create an Appwrite Project -It's beyond the scope of this tutorial to showcase all of Appwrite's features for creating a fully functioning backend server. For that, refer to the links at the end of this tutorial and to our guide [How to Create a React App with Appwrite](/docs/guides/create-react-app-with-appwrite/). +It's beyond the scope of this tutorial to showcase all of Appwrite's features for creating a fully functioning backend server. For that, refer to the links at the end of this tutorial and to our guide [How to Create a React App with Appwrite](/cloud/guides/create-react-app-with-appwrite/). Here you can see the initial steps for creating an Appwrite project. This can serve as the basis for anything else you want to do with Appwrite. -1. Navigate to the Appwrite dashboard, as described in the [Starting Appwrite](/docs/guides/getting-started-appwrite/#starting-appwrite) section above. +1. Navigate to the Appwrite dashboard, as described in the [Starting Appwrite](/cloud/guides/getting-started-appwrite/#starting-appwrite) section above. 1. Click the **Create Project** button, and enter the name for your project. This takes you to the dashboard for the new project. @@ -255,4 +255,4 @@ Here you can see the initial steps for creating an Appwrite project. This can se This tutorial covers everything you need to start working with Appwrite as your next backend server. From here, everything is in place to start putting together an Appwrite instance ready to support your application frontend. -Want to learn more about how to get started on such an application? Take a look at the Appwrite documentation linked below as well as at our guide [How to Create a React App with Appwrite](/docs/guides/create-react-app-with-appwrite/). \ No newline at end of file +Want to learn more about how to get started on such an application? Take a look at the Appwrite documentation linked below as well as at our guide [How to Create a React App with Appwrite](/cloud/guides/create-react-app-with-appwrite/). \ No newline at end of file diff --git a/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md b/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md index 71eb313c160..5d6dd4d8d95 100644 --- a/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md +++ b/docs/guides/web-servers/caddy/compile-caddy-from-source/index.md @@ -20,7 +20,7 @@ aliases: ['/web-servers/caddy/compile-caddy-from-source/'] ### Install Go -1. You need the latest version of Go installed on your Linode. Complete the steps in our guide on [installing Go](/docs/guides/install-go-on-ubuntu/). +1. You need the latest version of Go installed on your Linode. Complete the steps in our guide on [installing Go](/cloud/guides/install-go-on-ubuntu/). ### Install xcaddy @@ -58,4 +58,4 @@ Install the latest version of `xcaddy`, a command line tool that downloads and b v2.4.4 h1:QBsN1jXEsCqRpKPBb8ebVnBNgPxwL50HINWWTuZ7evU= -Caddy is now installed on your Linode. Read our guide on [Installing and Configuring Caddy](/docs/guides/install-and-configure-caddy-on-centos-7/) to learn more about Caddy. +Caddy is now installed on your Linode. Read our guide on [Installing and Configuring Caddy](/cloud/guides/install-and-configure-caddy-on-centos-7/) to learn more about Caddy. diff --git a/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-centos-8/index.md b/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-centos-8/index.md index 05744672608..6a31be0c3cb 100644 --- a/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-centos-8/index.md +++ b/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-centos-8/index.md @@ -21,11 +21,11 @@ aliases: ['/web-servers/caddy/how-to-install-and-configure-caddy-on-centos-8/'] ## 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. 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account), and [harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access). +1. 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](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account), and [harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). -1. Register (purchase) your site's domain name and follow our [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide to point the domain to your Linode. +1. Register (purchase) your site's domain name and follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to point the domain to your Linode. 1. Update your system: diff --git a/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-debian-10/index.md b/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-debian-10/index.md index 06f6d6a68af..7c6eb8f93a5 100644 --- a/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-debian-10/index.md +++ b/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-debian-10/index.md @@ -22,11 +22,11 @@ aliases: ['/web-servers/caddy/how-to-install-and-configure-caddy-on-debian-10/'] ## 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. 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](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) and [harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access). +1. 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](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) and [harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). -1. Register (purchase) your site's domain name and follow our [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide to point the domain to your Linode. +1. Register (purchase) your site's domain name and follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to point the domain to your Linode. 1. Update your system: diff --git a/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-ubuntu-18-04/index.md b/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-ubuntu-18-04/index.md index 24259223662..6b7be18767a 100644 --- a/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/caddy/how-to-install-and-configure-caddy-on-ubuntu-18-04/index.md @@ -23,11 +23,11 @@ aliases: ['/web-servers/caddy/how-to-install-and-configure-caddy-on-ubuntu-18-04 ## Before You Begin -1. Familiarize yourself with the [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 the [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. Complete the sections of the [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) and [harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access). +1. Complete the sections of the [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) and [harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). -1. Register (purchase) your site's domain name and follow our [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide to point the domain to your Linode. +1. Register (purchase) your site's domain name and follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to point the domain to your Linode. 1. Update your system: diff --git a/docs/guides/web-servers/caddy/install-and-configure-caddy-on-centos-7/index.md b/docs/guides/web-servers/caddy/install-and-configure-caddy-on-centos-7/index.md index 1352424512f..43a619d25c8 100644 --- a/docs/guides/web-servers/caddy/install-and-configure-caddy-on-centos-7/index.md +++ b/docs/guides/web-servers/caddy/install-and-configure-caddy-on-centos-7/index.md @@ -25,11 +25,11 @@ aliases: ['/web-servers/caddy/install-and-configure-caddy-on-centos-7/'] ## 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 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. +2. 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. -3. You need to register your site's domain name and follow our [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide to point your domain to your Linode. +3. You need to register your site's domain name and follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to point your domain to your Linode. 4. Update your system: diff --git a/docs/guides/web-servers/caddy/install-caddy-archlinux/index.md b/docs/guides/web-servers/caddy/install-caddy-archlinux/index.md index 7afbfac19cf..28f65b3162e 100644 --- a/docs/guides/web-servers/caddy/install-caddy-archlinux/index.md +++ b/docs/guides/web-servers/caddy/install-caddy-archlinux/index.md @@ -21,11 +21,11 @@ aliases: ['/web-servers/caddy/install-caddy-archlinux/'] ## Before You Begin -1. Familiarize yourself with the [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 the [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. Complete the sections of the [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) and [harden SSH access](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access). +1. Complete the sections of the [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) and [harden SSH access](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#harden-ssh-access). -1. Register (purchase) your site's domain name and follow our [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide to point the domain to your Linode. +1. Register (purchase) your site's domain name and follow our [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) guide to point the domain to your Linode. 1. Update your system: diff --git a/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md b/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md index b9bb16a8f19..c56e1ed0901 100644 --- a/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/index.md @@ -11,7 +11,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/web-servers/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/','/websites/cherokee/deploy-websites-with-a-cherokee-web-server-on-ubuntu-12-04/','/web-servers/cherokee/installing-cherokee-ubuntu-12-04-precise-pangolin/','/websites/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-12-04-lts-precise-pangolin/'] external_resources: - '[Cherokee Web Server Documentation](http://www.cherokee-project.com/doc/)' - - '[Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/docs/web-servers/cherokee/php-fastcgi-ubuntu-10-04-lucid)' + - '[Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/cloud/web-servers/cherokee/php-fastcgi-ubuntu-10-04-lucid)' relations: platform: key: install-cherokee-server @@ -24,11 +24,11 @@ Cherokee is a fast, flexible web server for POSIX compliant operating systems su This tutorial explains how to install and configure the Cherokee web server on Ubuntu 12.04 LTS (Precise Pangolin). You will be performing the installation through the terminal; please make sure you are logged into your Linode as root via SSH. -This document assumes that you already have a working and up-to-date Ubuntu 12.04 system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, we recommend that you do so prior to following these instructions. +This document assumes that you already have a working and up-to-date Ubuntu 12.04 system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, we recommend that you do so prior to following these instructions. ## 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/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md index e5c689ae01e..d14b3c42236 100644 --- a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md +++ b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true Cherokee is a fast, flexible web server for POSIX compliant operating systems such as Linux. It's designed to be easy to administer, and includes support for a wide range of common web server functions. This tutorial explains how to configure Cherokee to serve dynamic content with PHP via FastCGI on Fedora 13. -This document assumes that your system is already running the Cherokee web server. If you haven't already installed Cherokee, please follow our [Fedora 13 Cherokee installation](/docs/guides/websites-with-the-cherokee-web-server-on-fedora-13/) guide before continuing with these instructions. Please make sure you are logged into your Linode as root via SSH. +This document assumes that your system is already running the Cherokee web server. If you haven't already installed Cherokee, please follow our [Fedora 13 Cherokee installation](/cloud/guides/websites-with-the-cherokee-web-server-on-fedora-13/) guide before continuing with these instructions. Please make sure you are logged into your Linode as root via SSH. ## Install Required Packages @@ -61,7 +61,7 @@ Create directories for your site by issuing the following commands. Substitute y mkdir /srv/www/example.com/www/logs chown -R www-data:www-data /srv/www/example.com -If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/docs/guides/websites-with-the-cherokee-web-server-on-fedora-13/#secure-admin-panel-access). +If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/cloud/guides/websites-with-the-cherokee-web-server-on-fedora-13/#secure-admin-panel-access). cherokee-admin -b & diff --git a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md index ae8099a5108..822f6cc0466 100644 --- a/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/cherokee/web-apps-with-cherokee-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md @@ -22,7 +22,7 @@ Cherokee is a fast, flexible web server for POSIX compliant operating systems su This tutorial explains how to configure Cherokee to serve dynamic content with PHP via FastCGI on Ubuntu 10.04 LTS (Lucid). Please make sure you are logged into your Linode as root via SSH. -This document assumes that you already have a working and up to date Ubuntu 10.04 system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, it is recommended that you do so prior to following these instructions. +This document assumes that you already have a working and up to date Ubuntu 10.04 system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, it is recommended that you do so prior to following these instructions. ## Prerequisites @@ -31,7 +31,7 @@ Make sure your repositories and packages are up to date by issuing the following apt-get update apt-get upgrade -If you haven't already installed Cherokee, please follow our [Ubuntu 10.04 Cherokee installation](/docs/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/) guide before continuing with these instructions. +If you haven't already installed Cherokee, please follow our [Ubuntu 10.04 Cherokee installation](/cloud/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/) guide before continuing with these instructions. ## Install Required Packages @@ -59,7 +59,7 @@ Create directories for your site by issuing the following commands. Substitute y mkdir /srv/www/mydomain.com/www/logs chown -R www-data:www-data /srv/www/mydomain.com -If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/docs/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/#secure-admin-panel-access). +If you haven't already done so, start the Cherokee administration program by issuing the following command. Alternately, you may wish to follow our instructions for [secure Cherokee admin access](/cloud/guides/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/#secure-admin-panel-access). cherokee-admin -b & diff --git a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-debian-5-lenny/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-debian-5-lenny/index.md index d51e4fef804..77b58f3073d 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ Cherokee is a fast, flexible web server for POSIX compliant operating systems su This tutorial explains how to install and configure the Cherokee web server on Debian 5 (Lenny). This guide targets Cherokee version 0.7.2 (provided by the Debian repositories as of this writing), but the install steps should be similar for later versions. We will be performing the installation through the terminal; please make sure you are logged into your Linode as root via SSH. -This document assumes that you already have a working and up to date Debian 5 (Lenny) system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), we recommend that you do so prior to following these instructions. +This document assumes that you already have a working and up to date Debian 5 (Lenny) system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), we recommend that you do so prior to following these instructions. ## Install Cherokee diff --git a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-13/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-13/index.md index e3c8e2ca0a3..4db65957992 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-13/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-13/index.md @@ -20,11 +20,11 @@ deprecated: true Cherokee is a fast, flexible web server for POSIX compliant operating systems such as Linux. It's designed to be easy to administer, and includes support for a wide range of common web server functions. This tutorial explains how to install and configure the Cherokee web server on Fedora 13. Installation will be performed through the terminal; please make sure you are logged into your Linode as root via SSH. -It is assumed that you already have a working and up to date Fedora 13 system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, we recommend that you do so prior to following these instructions. +It is assumed that you already have a working and up to date Fedora 13 system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, we recommend that you do so prior to following these instructions. ## 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/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-14/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-14/index.md index 61eeee6b9a8..20b12592be7 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-14/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-fedora-14/index.md @@ -20,11 +20,11 @@ deprecated: true Cherokee is a fast, flexible web server for POSIX compliant operating systems such as Linux. It's designed to be easy to administer, and includes support for a wide range of common web server functions. This tutorial explains how to install and configure the Cherokee web server on Fedora 14. Installation will be performed through the terminal; please make sure you are logged into your Linode as root via SSH. -It is assumed that you already have a working and up to date Fedora 14 system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, we recommend that you do so prior to following these instructions. +It is assumed that you already have a working and up to date Fedora 14 system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, we recommend that you do so prior to following these instructions. ## 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/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md index b8b2dd2b615..f1212c32a03 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-10-04-lts-lucid/index.md @@ -22,11 +22,11 @@ Cherokee is a fast, flexible web server for POSIX compliant operating systems su This tutorial explains how to install and configure the Cherokee web server on Ubuntu 10.04 LTS (Lucid). We will be performing the installation through the terminal; please make sure you are logged into your Linode as root via SSH. -This document assumes that you already have a working and up to date Ubuntu 10.04 system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, we recommend that you do so prior to following these instructions. +This document assumes that you already have a working and up to date Ubuntu 10.04 system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, we recommend that you do so prior to following these instructions. ## 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 @@ -145,4 +145,4 @@ Be sure to stop `cherokee-admin` using the `killall` command shown above once yo You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [Cherokee Web Server Documentation](http://www.cherokee-project.com/doc/) -- [Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/docs/web-servers/cherokee/php-fastcgi-ubuntu-10-04-lucid) +- [Host Web Apps with Cherokee and PHP-FastCGI on Ubuntu 10.04 LTS (Lucid)](/cloud/web-servers/cherokee/php-fastcgi-ubuntu-10-04-lucid) diff --git a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-04-jaunty/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-04-jaunty/index.md index 95bfbd26303..d657725ca8a 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-04-jaunty/index.md @@ -22,7 +22,7 @@ Cherokee is a fast, flexible web server for POSIX compliant operating systems su This tutorial explains how to install and configure the Cherokee web server on Ubuntu 9.04 (Jaunty). This guide targets Cherokee version 0.11.6 (provided by the Ubuntu Jaunty repositories as of this writing), but the install steps should be similar for later versions. We will be performing the installation through the terminal; please make sure you are logged into your Linode as root via SSH. -This document assumes that you already have a working and up to date Ubuntu 9.04 (Jaunty) system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, we recommend that you do so prior to following these instructions. +This document assumes that you already have a working and up to date Ubuntu 9.04 (Jaunty) system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, we recommend that you do so prior to following these instructions. ## Check Package Sources diff --git a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-10-karmic/index.md index 58b6f0358ee..23867002835 100644 --- a/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/cherokee/websites-with-the-cherokee-web-server-on-ubuntu-9-10-karmic/index.md @@ -22,11 +22,11 @@ Cherokee is a fast, flexible web server for POSIX compliant operating systems su This tutorial explains how to install and configure the Cherokee web server on Ubuntu 9.10 (Karmic). This guide targets Cherokee version 0.99.19 (provided by the Ubuntu Karmic repositories as of this writing), but the install steps should be similar for later versions. We will be performing the installation through the terminal; please make sure you are logged into your Linode as root via SSH. -This document assumes that you already have a working and up to date Ubuntu 9.10 (Karmic) system. If you have not followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, we recommend that you do so prior to following these instructions. +This document assumes that you already have a working and up to date Ubuntu 9.10 (Karmic) system. If you have not followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, we recommend that you do so prior to following these instructions. ## 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/web-servers/comparing-nginx-and-apache-web-servers/index.md b/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md index bfcf63a025f..1020b851bb0 100644 --- a/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md +++ b/docs/guides/web-servers/comparing-nginx-and-apache-web-servers/index.md @@ -79,6 +79,6 @@ Typically in such a setup, NGINX acts as the **static content server**. Any requ When deciding on a web server, take a look at the characteristics of each, and determine which one best fits your needs. If you are looking for simplicity and flexibility and a more traditional web application, look no further than Apache. If performance is paramount, or you want an efficient webserver to work with microservices or containerized services, go with NGINX. If you want the best of both, try using them in conjunction. -To learn how to install Apache on your Linux server, check out our guide for [How to Install Apache Web Server](/docs/guides/how-to-install-apache-web-server-debian-10/). You can use the drop-down menu at the top of the guide to select your desired Linux distribution. +To learn how to install Apache on your Linux server, check out our guide for [How to Install Apache Web Server](/cloud/guides/how-to-install-apache-web-server-debian-10/). You can use the drop-down menu at the top of the guide to select your desired Linux distribution. -To learn how to install NGINX on your Linux server, check out our guide for [How to Install NGINX](/docs/guides/how-to-install-nginx-debian-10/). Likewise, use the drop-down at the beginning of the guide to select your Linux distribution. +To learn how to install NGINX on your Linux server, check out our guide for [How to Install NGINX](/cloud/guides/how-to-install-nginx-debian-10/). Likewise, use the drop-down at the beginning of the guide to select your Linux distribution. diff --git a/docs/guides/web-servers/java/java-web-server/index.md b/docs/guides/web-servers/java/java-web-server/index.md index 09fbb5d4f52..192e09fe575 100644 --- a/docs/guides/web-servers/java/java-web-server/index.md +++ b/docs/guides/web-servers/java/java-web-server/index.md @@ -16,12 +16,12 @@ Everyone likes the idea of reducing their workload when possible, yet the need 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 a non-root 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 Started with Java 18 (and above) diff --git a/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md b/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md index b4333f5d67c..4891d240080 100644 --- a/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/lamp/hosting-a-website-ubuntu-18-04/index.md @@ -18,12 +18,12 @@ In this guide, you learn how to host a website on Ubuntu 18.04 using the LAMP st This guide is intended for small and medium-sized websites running on WordPress, Drupal, or another PHP content management system. If your website doesn't belong in that category, you need to assess your requirements and install custom packages tailored for your particular requirements. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, check the [Users and Groups](/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 the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Hosting an Apache Web Server on Ubuntu 18.04 -Hosting a website starts with installing a *web server*, which is an application on your Linode that delivers content through the Internet. This section helps you get started with *Apache*, the world's most popular web server. For more information about Apache and other web servers, see the [guides on web servers](/docs/web-servers/). +Hosting a website starts with installing a *web server*, which is an application on your Linode that delivers content through the Internet. This section helps you get started with *Apache*, the world's most popular web server. For more information about Apache and other web servers, see the [guides on web servers](/cloud/web-servers/). If you are using Ubuntu 18.04, instead of installing each component separately, use *Tasksel* to install a LAMP stack on your Linode. When *Tasksel* completes, skip the installation steps in each section below and continue on to the configuration steps of each part of the stack: @@ -128,7 +128,7 @@ Apache (v6) ALLOW Anywhere (v6) Now that Apache is optimized for performance, it's time to starting hosting one or more websites. There are several possible methods of doing this. In this section, you use *name-based virtual hosts* to host websites in your home directory. {{< note >}} -You should *not* be logged in as `root` while executing these commands. To learn how to create a new user account and log in as that user, see [Add a Limited User Account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account). +You should *not* be logged in as `root` while executing these commands. To learn how to create a new user account and log in as that user, see [Add a Limited User Account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). {{< /note >}} 1. Disable the default Apache virtual host: @@ -187,7 +187,7 @@ You've configured Apache to host one or more websites on your Linode. After you ## Hosting a Website on Ubuntu - Installing MySQL -Databases store data in a structured and easily accessible manner, serving as the foundation for hundreds of web and server applications. A variety of open source database platforms exist to meet the needs of applications running on your Linode. This section helps you get started with *MySQL*, one of the most popular database platforms. For more information about MySQL and other databases, see our [database reference guides](/docs/databases/). +Databases store data in a structured and easily accessible manner, serving as the foundation for hundreds of web and server applications. A variety of open source database platforms exist to meet the needs of applications running on your Linode. This section helps you get started with *MySQL*, one of the most popular database platforms. For more information about MySQL and other databases, see our [database reference guides](/cloud/databases/). ### Install MySQL @@ -349,7 +349,7 @@ PHP is now installed on your Linode and configured for optimal performance. You've successfully installed Apache, MySQL, and PHP. Now it's time to upload a website to your Linode. This is one of the last steps before you "flip the switch" and publish your website on the Internet. -1. If you haven't done so already, download and install an SFTP capable client on your computer. Linode recommends using the [FileZilla](/docs/guides/filezilla/) SFTP client. Follow the instructions in that guide to connect to your Linode. +1. If you haven't done so already, download and install an SFTP capable client on your computer. Linode recommends using the [FileZilla](/cloud/guides/filezilla/) SFTP client. Follow the instructions in that guide to connect to your Linode. 1. Upload your website's files to the `/var/www/html/example.com/public_html` directory. Replace `example.com` with your domain name. @@ -408,10 +408,10 @@ It's a good idea to test your website(s) before you add the DNS records. This is 1. Enter your Linode's IP address in a web browser (e.g., type `http://192.0.2.0` in the address bar, replacing the example IP address with your own). Your website should load in the web browser. {{< note respectIndent=false >}} - If you have configured a firewall on your Linode, ensure your firewall rules allow traffic to your Apache web server. For more information on configuring firewall rules on Ubuntu, see [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). + If you have configured a firewall on your Linode, ensure your firewall rules allow traffic to your Apache web server. For more information on configuring firewall rules on Ubuntu, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). {{< /note >}} -1. If you plan on hosting multiple websites, you can test the virtual hosts by editing the `hosts` file on your local computer. Check out the [Previewing Websites Without DNS](/docs/guides/previewing-websites-without-dns/) guide for more information. +1. If you plan on hosting multiple websites, you can test the virtual hosts by editing the `hosts` file on your local computer. Check out the [Previewing Websites Without DNS](/cloud/guides/previewing-websites-without-dns/) guide for more information. 1. Test the name-based virtual hosts by entering the domain names in the address bar of the web browser on a local device. Your websites should load in the web browser. @@ -421,4 +421,4 @@ Remember to remove the entries for the name-based virtual hosts from your `hosts ## Next Steps -Now that you have tested your website by visiting its IP address, you can create DNS records so that you can access the website with a domain name. Read the [DNS Manager guide](/docs/products/networking/dns-manager/) for more information on how to add DNS records for your website. After you have a domain name set up, you should also add reverse DNS. Check out our [Reverse DNS guide](/docs/products/compute/compute-instances/guides/configure-rdns/) for more information on how to set up reverse DNS. +Now that you have tested your website by visiting its IP address, you can create DNS records so that you can access the website with a domain name. Read the [DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for more information on how to add DNS records for your website. After you have a domain name set up, you should also add reverse DNS. Check out our [Reverse DNS guide](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) for more information on how to set up reverse DNS. diff --git a/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md b/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md index 48a57897843..f5c8dd777cb 100644 --- a/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md +++ b/docs/guides/web-servers/lamp/how-to-create-a-lamp-stack-application/index.md @@ -10,16 +10,16 @@ keywords: ['LAMP Stack Application', 'How to create a LAMP stack application', ' tags: ['linux'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[LAMP stack](/docs/guides/web-servers/lamp/)' +- '[LAMP stack](/cloud/guides/web-servers/lamp/)' - '[Model-View-Controller](https://www.guru99.com/mvc-tutorial.html)' --- -[LAMP stack](/docs/guides/web-servers/lamp/) refers to a development framework for Web and mobile applications based on four open-source components: +[LAMP stack](/cloud/guides/web-servers/lamp/) refers to a development framework for Web and mobile applications based on four open-source components: - [Linux](https://www.linode.com/distributions/) operating system -- [Apache](/docs/guides/web-servers/apache/) Web server -- [MySQL](/docs/guides/databases/mysql/) relational database management system (RDBMS) -- [PHP](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/), [Perl](/docs/guides/development/perl/), or [Python](/docs/guides/development/python/) programming language +- [Apache](/cloud/guides/web-servers/apache/) Web server +- [MySQL](/cloud/guides/databases/mysql/) relational database management system (RDBMS) +- [PHP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/), [Perl](/cloud/guides/development/perl/), or [Python](/cloud/guides/development/python/) programming language LAMP played a key role in Web work for 20+ years and influenced Facebook, Slack, Wikipedia, and WordPress. It's widely supported by hosting providers. Tens of millions of new LAMP-based sites come online each year. Abundant documentation and rich communities of practitioners make LAMP a default choice for development still. @@ -31,11 +31,11 @@ It has an underlying Linux OS for hosting, an Apache Web server for presenting a ### Apache vs. NGINX -LAMP isn't the only open-source Web stack solution. There are alternatives such as [LEMP](/docs/guides/web-servers/lemp/), that replace Apache with [NGINX](/docs/guides/web-servers/nginx/) (pronounced "engine X"). [NGINX is faster than Apache](https://hackr.io/blog/nginx-vs-apache) and newer, but requires more advanced configuration, and is less robust on Windows than Apache. +LAMP isn't the only open-source Web stack solution. There are alternatives such as [LEMP](/cloud/guides/web-servers/lemp/), that replace Apache with [NGINX](/cloud/guides/web-servers/nginx/) (pronounced "engine X"). [NGINX is faster than Apache](https://hackr.io/blog/nginx-vs-apache) and newer, but requires more advanced configuration, and is less robust on Windows than Apache. ### RDBMS and Programming Language -Two other variations of LAMP use alternative software for "M" and "P". [MariaDB](/docs/guides/databases/mariadb/) is a drop-in [replacement for MySQL](https://www.guru99.com/mariadb-vs-mysql.html). thought there are differences between the two that are explained in this Guide. In general, everything you do with MySQL applies immediately to MariaDB as well. Several different programming languages work well in a LAMP stack, and while this guide discusses PHP, nearly all the principles of LAMP illustrated below apply equally to the Python programming language and others. +Two other variations of LAMP use alternative software for "M" and "P". [MariaDB](/cloud/guides/databases/mariadb/) is a drop-in [replacement for MySQL](https://www.guru99.com/mariadb-vs-mysql.html). thought there are differences between the two that are explained in this Guide. In general, everything you do with MySQL applies immediately to MariaDB as well. Several different programming languages work well in a LAMP stack, and while this guide discusses PHP, nearly all the principles of LAMP illustrated below apply equally to the Python programming language and others. ### LAMP Benefits @@ -45,7 +45,7 @@ LAMP's suitability extends beyond purely technical specifications. For example, ## Install the LAMP Stack -Everything that follows assumes the availability of a Linux host, familiarity with command-line work in the Linux filesystem, and permission to run as `root`, or with `sudo` privileges. The installation in this guide focuses purely on the "AMP" layers of LAMP. For a more depth look at installing LAMP, explore [our section of LAMP guides](/docs/guides/web-servers/lamp/). +Everything that follows assumes the availability of a Linux host, familiarity with command-line work in the Linux filesystem, and permission to run as `root`, or with `sudo` privileges. The installation in this guide focuses purely on the "AMP" layers of LAMP. For a more depth look at installing LAMP, explore [our section of LAMP guides](/cloud/guides/web-servers/lamp/). ### Install "A", "M", and "P" Within "L" @@ -78,7 +78,7 @@ sudo service mysql start Confirm that Apache is running with the following steps: -1. You need to [identify the IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) of the host and enter it in your web browser as a URL, such as `http://localhost` or `http://192.0.2.1` or a similar address. +1. You need to [identify the IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of the host and enter it in your web browser as a URL, such as `http://localhost` or `http://192.0.2.1` or a similar address. 1. After visiting this URL, your web browser should display the default Apache2 page with the message "It works!" indicating that Apache is running correctly. @@ -240,7 +240,7 @@ This demonstrates the flow of data from a Web browser all the way to the databas ## Application Context -LAMP is a reliable basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. LAMP is equally capable of serving CSS and [JavaScript](/docs/guides/languages/javascript/) but does not build in tooling for these client-side technologies. Projects reliant on elaborate modern user interface effects, usually choose a framework such as [React](/docs/guides/development/react/). +LAMP is a reliable basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. LAMP is equally capable of serving CSS and [JavaScript](/cloud/guides/languages/javascript/) but does not build in tooling for these client-side technologies. Projects reliant on elaborate modern user interface effects, usually choose a framework such as [React](/cloud/guides/development/react/). Server-side processing remains a common approach for many applications, and LAMP handles these types of applications well. Server-side computation typically involves several functions beyond the model application above, including account management, forms processing, security restrictions, analytic, and cost reporting, more robust exception handling, and quality assurance instrumentation. Contemporary applications often build an MVC [model-view-controller](https://www.guru99.com/mvc-tutorial.html) architecture, and/or define a REST [representational state transfer](https://restfulapi.net/) perspective. A commercial-grade installation usually migrates the database server to a separate host, and high-volume applications often introduce load balancers, security-oriented proxies, content delivery network (CDN) service, and other refinements. These functions are layers over the basic data flow between the user, browser, business logic processing, and datastore that the model application embodies. diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md index 9deec62c812..718d17a6754 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-arch-linux/index.md @@ -28,12 +28,12 @@ A LAMP (Linux, Apache, MySQL, PHP) stack is a common web stack used to prepare s Since Arch does not come in specific versions, this guide is up-to-date as of the December 2015 Arch update. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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). 2. Update your system: diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md index 10ee30c02db..80c91b9eb8d 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-7/index.md @@ -28,7 +28,7 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos ## 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). @@ -40,7 +40,7 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos sudo yum update {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md index 568359ffdd6..4963ee1ca86 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-centos-8/index.md @@ -28,21 +28,21 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos ## 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 >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md index 41c73dcc1a1..37c7a14e739 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-10/index.md @@ -30,21 +30,21 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos Prior to installing your LAMP stack ensure that: -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 apt-get update && sudo apt-get upgrade {{< note respectIndent=false >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md index ec13ef413bb..00b48c6fb92 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-debian-11/index.md @@ -29,7 +29,7 @@ A *LAMP stack* is a particular bundle of software packages commonly used for hos Prior to installing your LAMP stack: -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). @@ -39,7 +39,7 @@ Prior to installing your LAMP stack: ``` {{< note >}} - 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. + 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: @@ -49,7 +49,7 @@ Prior to installing your LAMP stack: ``` {{< note >}} - This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Apache diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-18-04/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-18-04/index.md index d32fb068c48..3c8072a7930 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-18-04/index.md @@ -36,11 +36,11 @@ Replace each instance of `example.com` in this guide with your site's domain nam ## 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. -{{< note >}}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 >}}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 >}} ## Installation @@ -194,7 +194,7 @@ To disable your website, run `a2dissite example.com`. sudo systemctl reload apache2 -Virtual hosting should now be enabled. To allow the virtual host to use your domain name, be sure that you have configured [DNS services](/docs/products/networking/dns-manager/) for your domain to point to your Linode's IP address. +Virtual hosting should now be enabled. To allow the virtual host to use your domain name, be sure that you have configured [DNS services](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain to point to your Linode's IP address. If there are additional websites you wish to host on your Linode, repeat the above steps to add a folder and configuration file for each. diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-20-04/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-20-04/index.md index cb5999134be..b5455d5db6f 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-20-04/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-20-04/index.md @@ -37,12 +37,12 @@ Replace each instance of `example.com` in this guide with your site's domain nam ## 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 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. +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 >}} ## Installation @@ -197,7 +197,7 @@ To disable your website, run `a2dissite example.com`. sudo systemctl reload apache2 -Virtual hosting should now be enabled. To allow the virtual host to use your domain name, be sure that you have configured [DNS services](/docs/products/networking/dns-manager/) for your domain to point to your Linode's IP address. +Virtual hosting should now be enabled. To allow the virtual host to use your domain name, be sure that you have configured [DNS services](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain to point to your Linode's IP address. If there are additional websites you wish to host on your Linode, repeat the above steps to add a folder and configuration file for each. diff --git a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md index 8d8e58259e8..f01321116f7 100644 --- a/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-a-lamp-stack-on-ubuntu-22-04/index.md @@ -39,12 +39,12 @@ The LAMP Stack is sufficient to host web applications and implement a modern com ## 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 a LAMP Stack on Ubuntu @@ -52,7 +52,7 @@ This guide is written for a non-root user. Commands that require elevated privil This section explains how to install a LAMP Stack on Ubuntu 22.04 LTS. These instructions are also generally valid for Ubuntu 20.04 LTS. {{< note >}} -These instructions are valid with or without a registered domain name. If a domain name maps to the IP address of the server, a virtual host should also be configured. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +These instructions are valid with or without a registered domain name. If a domain name maps to the IP address of the server, a virtual host should also be configured. 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 >}} To install the LAMP stack on Ubuntu 22.04 LTS, follow these steps. In all cases, enter `y` to proceed with the installation when asked for confirmation. diff --git a/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md b/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md index 69ecabeabb4..41c9a5a20e1 100644 --- a/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md +++ b/docs/guides/web-servers/lamp/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/index.md @@ -43,12 +43,12 @@ All of these applications are available in the core Fedora software library. ## 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 >}} {{< note >}} diff --git a/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md b/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md index c7807f12d99..21e62ee657c 100644 --- a/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/index.md @@ -30,16 +30,16 @@ This guide shows how to install and test a LAMP stack on Ubuntu 16.04 (LTS). ![Install LAMP on Ubuntu 16.04](install-lamp-on-ubuntu-1604.png "Install LAMP on Ubuntu 16.04") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Linux Users and Groups guide](/docs/guides/linux-users-and-groups/). +This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, see the [Linux Users and Groups guide](/cloud/guides/linux-users-and-groups/). Replace each instance of `example.com` in this guide with your site's domain name. {{< /note >}} ## 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. ## Quick Install Using Tasksel Instead of installing Apache, MySQL, and PHP separately, tasksel offers a convenient way to get a LAMP stack running quickly. @@ -161,7 +161,7 @@ a2dissite example.com.conf sudo systemctl reload apache2 -Virtual hosting should now be enabled. To allow the virtual host to use your domain name, be sure that you have configured [DNS services](/docs/products/networking/dns-manager/) for your domain to point to your Linode's IP address. +Virtual hosting should now be enabled. To allow the virtual host to use your domain name, be sure that you have configured [DNS services](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain to point to your Linode's IP address. If there are additional websites you wish to host on your Linode, repeat the above steps to add a folder and configuration file for each. diff --git a/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md b/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md index 75c0707d3ba..fd250de7a01 100644 --- a/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md +++ b/docs/guides/web-servers/lamp/lamp-on-centos-6/index.md @@ -28,12 +28,12 @@ deprecated: true A LAMP (Linux, Apache, MySQL, PHP) stack is a common web stack used to prepare servers for hosting web content. This guide shows you how to install a LAMP stack on a CentOS 6 system. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: diff --git a/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md b/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md index 737b2e2b77c..9a55bc5b29d 100644 --- a/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md +++ b/docs/guides/web-servers/lamp/lamp-on-debian-8-jessie/index.md @@ -27,14 +27,14 @@ Setting up a LAMP (Linux, Apache, MySql, PHP) stack on your server will allow fo ![LAMP on Debian 8](lamp-on-debian-8.png "LAMP on Debian 8") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 Prior to installing your LAMP stack 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. +- 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. - You have a hostname and *fully-qualified domain name* (FQDN) configured on your Linode. To ensure this is set run: hostname diff --git a/docs/guides/web-servers/lamp/lamp-server-on-centos-5/index.md b/docs/guides/web-servers/lamp/lamp-server-on-centos-5/index.md index 9260366964a..c5e339c5426 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-centos-5/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-centos-5/index.md @@ -29,7 +29,7 @@ In this guide, you will be instructed on setting up Apache, MySQL, and PHP. If y ## 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/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md b/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md index d555e1e8f4c..12d0afedbe9 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-debian-7-wheezy/index.md @@ -26,12 +26,12 @@ deprecated: true A LAMP (Linux, Apache, MySQL, PHP) stack is a common web stack used to prepare servers for hosting web content. This guide shows you how to install a LAMP stack on a Debian 7 (Wheezy) Linode. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: diff --git a/docs/guides/web-servers/lamp/lamp-server-on-fedora-19/index.md b/docs/guides/web-servers/lamp/lamp-server-on-fedora-19/index.md index 0c938f03aff..4c1649e7175 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-fedora-19/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-fedora-19/index.md @@ -31,7 +31,7 @@ Throughout this guide we will offer several suggested values for specific config ## 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/web-servers/lamp/lamp-server-on-fedora-20/index.md b/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md index 79e714dd62f..07d38e4dfdc 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-fedora-20/index.md @@ -25,14 +25,14 @@ deprecated: true This guide provides step-by-step instructions for installing a full-featured LAMP stack on a Fedora 20 system. In this guide, you will be instructed on setting up Apache, MySQL, and PHP. If you don't feel that you will need MySQL or PHP, please don't feel obligated to install them. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/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 >}} Throughout this guide we will offer several suggested values for specific configuration settings. Some of these values will be set by default. These settings are shown in the guide as a reference, in the event that you change these settings to suit your needs and then need to change them back. ## 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). +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: diff --git a/docs/guides/web-servers/lamp/lamp-server-on-gentoo/index.md b/docs/guides/web-servers/lamp/lamp-server-on-gentoo/index.md index 76d357e072f..6df05aefed1 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-gentoo/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-gentoo/index.md @@ -33,7 +33,7 @@ Throughout this guide we will offer several suggested values for specific config ## Set the Hostname and Configure /etc/hosts -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/web-servers/lamp/lamp-server-on-ubuntu-8-04-lts-hardy/index.md b/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-8-04-lts-hardy/index.md index 2d63dd0eab2..5a41d81776b 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-8-04-lts-hardy/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-8-04-lts-hardy/index.md @@ -29,7 +29,7 @@ In this guide, you will be instructed on setting up Apache, MySQL, and PHP. If y ## System Configuration -It is important to make sure that your system is properly configured before installing Apache. In particular, you need to make sure that your system is up to date and that you have set the correct timezone, hostname, and hosts in your hosts file. If you haven't configured these, you should follow the directions in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). This guide assumes that you are logged in as the root superuser on your Linode. +It is important to make sure that your system is properly configured before installing Apache. In particular, you need to make sure that your system is up to date and that you have set the correct timezone, hostname, and hosts in your hosts file. If you haven't configured these, you should follow the directions in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). This guide assumes that you are logged in as the root superuser on your Linode. ## Install and Configure the Apache Web Server diff --git a/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-04-jaunty/index.md b/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-04-jaunty/index.md index 4af8b92c488..56785d41a31 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-04-jaunty/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-04-jaunty/index.md @@ -29,7 +29,7 @@ In this guide, you will be instructed on setting up Apache, MySQL, and PHP. If y ## System Configuration -It is important to make sure that your system is properly configured before installing Apache. In particular, you need to make sure that your system is up to date and that you have set the correct timezone, hostname, and hosts in your hosts file. If you haven't configured these, you should follow the directions in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). This guide assumes that you are logged in as the root superuser on your Linode. +It is important to make sure that your system is properly configured before installing Apache. In particular, you need to make sure that your system is up to date and that you have set the correct timezone, hostname, and hosts in your hosts file. If you haven't configured these, you should follow the directions in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). This guide assumes that you are logged in as the root superuser on your Linode. ## Install and Configure the Apache Web Server diff --git a/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-10-karmic/index.md index 2d0b3a39887..3c190e6f486 100644 --- a/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/lamp/lamp-server-on-ubuntu-9-10-karmic/index.md @@ -27,7 +27,7 @@ This guide provides step by step instructions for installing a full featured LAM ## System Configuration -It is important to make sure that your system is properly configured before installing Apache. In particular, you need to make sure that your system is up to date and that you have set the correct timezone, hostname, and hosts in your hosts file. If you haven't configured these, you should follow the directions in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). This guide assumes that you are logged in as the root superuser on your Linode. +It is important to make sure that your system is properly configured before installing Apache. In particular, you need to make sure that your system is up to date and that you have set the correct timezone, hostname, and hosts in your hosts file. If you haven't configured these, you should follow the directions in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). This guide assumes that you are logged in as the root superuser on your Linode. ## Install and Configure the Apache Web Server diff --git a/docs/guides/web-servers/lamp/set-up-a-lamp-server-on-gentoo/index.md b/docs/guides/web-servers/lamp/set-up-a-lamp-server-on-gentoo/index.md index 51170c80aa8..a26bd9b5329 100644 --- a/docs/guides/web-servers/lamp/set-up-a-lamp-server-on-gentoo/index.md +++ b/docs/guides/web-servers/lamp/set-up-a-lamp-server-on-gentoo/index.md @@ -24,7 +24,7 @@ In this guide, you will be instructed on setting up Apache, MySQL, and PHP. If y ## Set the Hostname and Configure /etc/hosts -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: echo "HOSTNAME=\"titan\"" > /etc/conf.d/hostname /etc/init.d/hostname restart @@ -43,7 +43,7 @@ If you have IPv6 enabled on your Linode, you will also want to add an entry for 127.0.0.1 localhost.localdomain localhost 12.34.56.78 titan.example.com titan 2600:3c01::a123:b456:c789:d012 titan.example.com titan {{< /file >}} -The value you assign as your system's FQDN should have an "A" record in DNS pointing to your Linode's IPv4 address. For Linodes with IPv6 enabled, you should also set up a "AAAA" record in DNS pointing to your Linode's IPv6 address. For more information on configuring DNS, please see our guide on [configuring DNS with the Linode Manager](/docs/products/networking/dns-manager/guides/common-dns-configurations/). +The value you assign as your system's FQDN should have an "A" record in DNS pointing to your Linode's IPv4 address. For Linodes with IPv6 enabled, you should also set up a "AAAA" record in DNS pointing to your Linode's IPv6 address. For more information on configuring DNS, please see our guide on [configuring DNS with the Linode Manager](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations). ## Install and Configure the Apache Web Server diff --git a/docs/guides/web-servers/lemp/_index.md b/docs/guides/web-servers/lemp/_index.md index d07a9c2e12d..efd55b5fa0f 100644 --- a/docs/guides/web-servers/lemp/_index.md +++ b/docs/guides/web-servers/lemp/_index.md @@ -1,6 +1,6 @@ --- title: LEMP Guides -description: 'The LEMP stack configured in these documents is established in contrast to the popular [LAMP Stack](/docs/lamp-guides/) used to power many popular web applications. "LAMP" refers to a Linux-based operating system, the Apache web server, the MySQL database server, and the PHP programing language. It is common to substitute other programing languages like Python, Perl, and even Ruby for PHP.

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

      The "LEMP" configuration replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP) to increase the ability of the server to scale in response to demand. Furthermore, these guides provide instructions for deploying applications written in Python and Perl in addition to PHP, and for configuring the PostgreSQL database as an alternative to MySQL if your applications support this database server. LEMP provides a platform for applications that is compatible with the LAMP stack for nearly all applications; however, because nginx is able to serve more pages at once with a more predictable memory usage profile, it may be more suited to high demand situations.' authors: ["Linode"] contributors: ["Linode"] published: 2010-06-29 diff --git a/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md b/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md index 1d50be0bdbe..cc8da0586a4 100644 --- a/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md +++ b/docs/guides/web-servers/lemp/how-to-create-a-lemp-stack-application/index.md @@ -10,29 +10,29 @@ keywords: ['lemp','nginx','web server'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- -[LEMP stack](/docs/guides/web-servers/lemp/) refers to a development framework for Web and mobile applications based on four open source components: +[LEMP stack](/cloud/guides/web-servers/lemp/) refers to a development framework for Web and mobile applications based on four open source components: 1. [Linux](https://www.linode.com/distributions/) operating system -2. [NGINX](/docs/guides/web-servers/nginx/) Web server -3. [MySQL](/docs/guides/databases/mysql/) relational database management system (RDBMS) -4. [PHP](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/), [Perl](/docs/guides/development/perl/), or [Python](/docs/guides/development/python/) programming language +2. [NGINX](/cloud/guides/web-servers/nginx/) Web server +3. [MySQL](/cloud/guides/databases/mysql/) relational database management system (RDBMS) +4. [PHP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/), [Perl](/cloud/guides/development/perl/), or [Python](/cloud/guides/development/python/) programming language NGINX contributes to the acronym "LEMP" because English-speakers pronounce NGINX as "engine-x", hence an "E". ## 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 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 >}} ## How Does LEMP Differ from LAMP? -[LAMP](/docs/guides/web-servers/lamp/) is just like LEMP, except with Apache in place of NGINX. +[LAMP](/cloud/guides/web-servers/lamp/) is just like LEMP, except with Apache in place of NGINX. -LAMP played a crucial role in the Web for [over twenty years](https://www.marpis.net/lamp-history.php). NGINX was released publicly in 2004, largely to address faults in LAMP. LEMP use spread widely after 2008, and NGINX is now the second [most popular Web server](https://kinsta.com/knowledgebase/what-is-nginx/), after the [Apache Web server](/docs/guides/web-servers/apache/) that LAMP uses. +LAMP played a crucial role in the Web for [over twenty years](https://www.marpis.net/lamp-history.php). NGINX was released publicly in 2004, largely to address faults in LAMP. LEMP use spread widely after 2008, and NGINX is now the second [most popular Web server](https://kinsta.com/knowledgebase/what-is-nginx/), after the [Apache Web server](/cloud/guides/web-servers/apache/) that LAMP uses. Both LEMP and LAMP combine open source tools to supply the essentials for a Web application. This includes an underlying Linux operating system which hosts everything else, including: - The NGINX or Apache Web server that receives and responds to end-user actions. @@ -47,7 +47,7 @@ In broad terms, the two Web servers have much in common. [NGINX is faster than A ### RDBMS and Programming Language -Two other variations deserve clarity in regard to the initials "M" and "P". [MariaDB](/docs/guides/databases/mariadb/) is a drop-in replacement for MySQL. The differences between the two are explained in [this tutorial](https://www.guru99.com/mariadb-vs-mysql.html). Everything you do with MySQL applies immediately with MariaDB as well. +Two other variations deserve clarity in regard to the initials "M" and "P". [MariaDB](/cloud/guides/databases/mariadb/) is a drop-in replacement for MySQL. The differences between the two are explained in [this tutorial](https://www.guru99.com/mariadb-vs-mysql.html). Everything you do with MySQL applies immediately with MariaDB as well. While several different programming languages work well in a LEMP stack, this guide focuses on PHP. However, nearly all the principles of LEMP illustrated below apply with Python or another alternative. @@ -59,7 +59,7 @@ LEMP's suitability extends beyond purely technical dimensions. Its flexible open ## Install the LEMP Stack -Linode's support for LEMP begins with abundant documentation, including [How to Install the LEMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/). +Linode's support for LEMP begins with abundant documentation, including [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/). Rich collections of documentation are available to readers [new to Linux](https://opensource.com/article/19/7/ways-get-started-linux) and its command line. This guide assumes familiarity with the command line and Linux filesystems, along with permission to run as root or with sudo privileges. With the "L" (Linux) in place, the installation in this Guide focuses purely on the "EMP" layers of LEMP. @@ -148,7 +148,7 @@ This demonstrates that PHP is installed and that the modules needed to communica ### Verify NGINX -Verification of NGINX service is a little more involved. The first step is [identification of the IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) of the host. +Verification of NGINX service is a little more involved. The first step is [identification of the IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of the host. 1. Navigate a browser to a URL such as `http://localhost` or `http://23.77.NNN.NNN`, henceforth referred to as `$LEMP_HOST` @@ -335,7 +335,7 @@ This demonstrates the flow of data from a Web browser to the database server. Ea ## Application Context -LEMP is a trustworthy basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. However, LEMP is equally capable of serving up CSS and [JavaScript](/docs/guides/languages/javascript/), but does not build in tooling for these client-side technologies. Projects reliant on elaborate user interface effects usually choose a framework focused on the client side. [React](/docs/guides/development/react/) is an example of such a framework. +LEMP is a trustworthy basis for Web development, with decades of successful deliveries over a range of requirements. It directly supports only [server-side processing](https://www.indeed.com/career-advice/career-development/client-side-vs-server-side). The model application above delivers pure HTML to the browser. However, LEMP is equally capable of serving up CSS and [JavaScript](/cloud/guides/languages/javascript/), but does not build in tooling for these client-side technologies. Projects reliant on elaborate user interface effects usually choose a framework focused on the client side. [React](/cloud/guides/development/react/) is an example of such a framework. Server-side orientation remains adequate for many applications, and LEMP fits these well. Server-side computation typically involves several functions beyond the model application above, including: - Account Management diff --git a/docs/guides/web-servers/lemp/how-to-install-a-lemp-server-on-ubuntu-16-04/index.md b/docs/guides/web-servers/lemp/how-to-install-a-lemp-server-on-ubuntu-16-04/index.md index d57a4aaf4ed..25e4708f19b 100644 --- a/docs/guides/web-servers/lemp/how-to-install-a-lemp-server-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-a-lemp-server-on-ubuntu-16-04/index.md @@ -27,7 +27,7 @@ The LAMP stack (Linux, Apache, MariaDB, and PHP) is a popular server configurati ## Before You Begin 1. You will need root access to the system, or a user account with `sudo` privilege. -2. Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +2. Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). 3. Update your system. ## Installation diff --git a/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md b/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md index 64780f4547a..6f5dbc36f67 100644 --- a/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-a-lemp-stack-on-ubuntu-22-04/index.md @@ -42,12 +42,12 @@ The LEMP stack consists of the following components: ## 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 LEMP Stack on Ubuntu @@ -55,7 +55,7 @@ This guide is written for a non-root user. Commands that require elevated privil This section explains how to install and configure the LEMP Stack on Ubuntu 22.04 LTS. However, the instructions for the Ubuntu 20.04 LTS release are very similar. The LEMP stack is not available through Tasksel, so the individual components must be installed separately. {{< note >}} -These instructions apply with or without a registered domain name. If the server is hosting a domain, a virtual host must be configured. For more information about domain names and how to point the domain to a Linode, consult the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +These instructions apply with or without a registered domain name. If the server is hosting a domain, a virtual host must be configured. For more information about domain names and how to point the domain to a Linode, consult the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). {{< /note >}} The various LEMP stack components can be installed using the `apt` utility. To install the LEMP stack, follow these steps. In all cases, enter `y` to proceed with the installation when Ubuntu asks for confirmation. diff --git a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md index b3501a6c818..6c08ae5d20f 100644 --- a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-centos-8/index.md @@ -27,11 +27,11 @@ The LAMP stack (Linux, Apache, MariaDB, and PHP) is a popular server configurati ## 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 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 LEMP 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 >}}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 LEMP 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 >}} ## Installation @@ -192,7 +192,7 @@ cockpit dhcpv6-client ssh ## Test the LEMP Stack -1. To ensure that your web server can be reached with your domain name, configure the [DNS records](/docs/products/networking/dns-manager/) for your domain to point to your Linode's IP address. +1. To ensure that your web server can be reached with your domain name, configure the [DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain to point to your Linode's IP address. 2. Restart PHP and reload the NGINX configuration: @@ -257,5 +257,5 @@ cockpit dhcpv6-client ssh ## Next Steps For more on the software in this stack see the following guides: -- [Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Serve PHP with PHP-FPM and NGINX](/docs/guides/serve-php-php-fpm-and-nginx/) +- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx/) diff --git a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md index 8ad832b7668..b204e679074 100644 --- a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-debian-10/index.md @@ -27,12 +27,12 @@ The LAMP stack (Linux, Apache, MariaDB, and PHP) is a popular server configurati ## 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 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 LEMP 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. +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 LEMP 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 >}} ## Installation @@ -169,7 +169,7 @@ If you configured UFW on your server, enable the firewall to allow web traffic. ## Test the LEMP Stack -1. To ensure that your web server can be reached with your domain name, configure the [DNS records](/docs/products/networking/dns-manager/) for your domain to point to your Linode's IP address. +1. To ensure that your web server can be reached with your domain name, configure the [DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain to point to your Linode's IP address. 2. Restart PHP and reload the NGINX configuration: @@ -235,6 +235,6 @@ If you configured UFW on your server, enable the firewall to allow web traffic. For more on the software in this stack see the following guides: -- [Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Set Up MariaDB Clusters with Galera](/docs/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) -- [Serve PHP with PHP-FPM and NGINX](/docs/guides/serve-php-php-fpm-and-nginx/) +- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Set Up MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) +- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx/) diff --git a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md index 14d63f2a9fb..e20326403c7 100644 --- a/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/lemp/how-to-install-the-lemp-stack-on-ubuntu-18-04/index.md @@ -27,11 +27,11 @@ The LAMP stack (Linux, Apache, MariaDB, and PHP) is a popular server configurati ## 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 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 LEMP 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 >}}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 LEMP 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 >}} ## Installation @@ -167,7 +167,7 @@ If you configured UFW on your server, enable the firewall to allow web traffic. ## Test the LEMP Stack -1. To ensure that your web server can be reached with your domain name, configure the [DNS records](/docs/products/networking/dns-manager/) for your domain to point to your Linode's IP address. +1. To ensure that your web server can be reached with your domain name, configure the [DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain to point to your Linode's IP address. 2. Restart PHP and reload the NGINX configuration: @@ -233,6 +233,6 @@ If you configured UFW on your server, enable the firewall to allow web traffic. For more on the software in this stack see the following guides: -- [Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Set Up MariaDB Clusters with Galera](/docs/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) -- [Serve PHP with PHP-FPM and NGINX](/docs/guides/serve-php-php-fpm-and-nginx/) +- [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Set Up MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) +- [Serve PHP with PHP-FPM and NGINX](/cloud/guides/serve-php-php-fpm-and-nginx/) diff --git a/docs/guides/web-servers/lemp/install-a-lemp-stack-on-debian/index.md b/docs/guides/web-servers/lemp/install-a-lemp-stack-on-debian/index.md index 01d57d90e81..bd152be4fb7 100644 --- a/docs/guides/web-servers/lemp/install-a-lemp-stack-on-debian/index.md +++ b/docs/guides/web-servers/lemp/install-a-lemp-stack-on-debian/index.md @@ -25,7 +25,7 @@ This guide describes an alternative to the popular LAMP stack, known as *LEMP*. ## Before You Begin * You will need root access to your Linode, or a user account with `sudo` privilege. -* Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +* Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). * Update your system. ## Installation diff --git a/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md b/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md index 2c08bbf887d..cca696ca1b2 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-arch-linux/index.md @@ -20,11 +20,11 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/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, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -96,7 +96,7 @@ include /srv/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/srv/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/docs/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/srv/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -216,5 +216,5 @@ Congratulations! You now have a fully functional and fully featured LEMP stack f You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/docs/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md b/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md index 2b36afee8aa..b42ac4471e6 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-centos-5/index.md @@ -21,11 +21,11 @@ deprecated_link: 'web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/' This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/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, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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,7 +44,7 @@ There are several viable and popular options for installing nginx. The first opt The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the EPEL repositories, unless your needs require a version newer than the one available in the EPEL repositories. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/docs/guides/websites-with-nginx-on-centos-5/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-centos-5/). ### Deploy from EPEL Packages @@ -100,7 +100,7 @@ Create a dedicated system user to run the nginx process under by issuing the fol useradd -M -r --shell /bin/sh --home-dir /opt/nginx nginx -Now install and configure the [init script](/docs/assets/561-init-rpm.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: +Now install and configure the [init script](/cloud/assets/561-init-rpm.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: wget -O init-rpm.sh http://www.linode.com/docs/assets/561-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -165,7 +165,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/docs/guides/how-to-configure-nginx/). +Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -175,7 +175,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -If your application includes PHP code you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject, consider our dedicated guide to [PHP FastCGI with Nginx](/docs/guides/nginx-and-phpfastcgi-on-centos-5/). Begin the deployment process by issuing the following commands to install the required dependencies: +If your application includes PHP code you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject, consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-centos-5/). Begin the deployment process by issuing the following commands to install the required dependencies: rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm yum update @@ -296,8 +296,8 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/docs/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) -- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/docs/guides/nginx-and-perlfastcgi-on-centos-5/) -- [Use PostgreSQL as an Alternative to MySQL for data storage](/docs/guides/centos-5/) -- [Deploy Python Applications with uWSGI and nginx](/docs/guides/wsgi-using-uwsgi-and-nginx-on-centos-5/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5/) +- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/centos-5/) +- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-centos-5/) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md b/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md index 9bbb96c7b77..49500b3bbbb 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-centos-6/index.md @@ -11,11 +11,11 @@ tags: ["lemp","web server","php","mysql","centos","nginx"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/lemp/lemp-server-on-centos-6/','/web-servers/lemp/lemp-server-on-centos-6/','/lemp-guides/centos-6/'] external_resources: - - '[Basic nginx Configuration](/docs/guides/how-to-configure-nginx/)' - - '[Clustered Web Servers and Software Load Balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/)' - - '[Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/docs/guides/nginx-and-perlfastcgi-on-centos-5/)' - - '[Use PostgeSQL as an Alternative to MySQL for data storage](/docs/guides/centos-5/)' - - '[Deploy Python Applications with uWSGI and nginx](/docs/guides/wsgi-using-uwsgi-and-nginx-on-centos-5/)' + - '[Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/)' + - '[Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5/)' + - '[Use PostgeSQL as an Alternative to MySQL for data storage](/cloud/guides/centos-5/)' + - '[Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-centos-5/)' relations: platform: key: install-lemp-stack @@ -27,11 +27,11 @@ deprecated_link: 'web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/' This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/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, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -50,7 +50,7 @@ There are several viable and popular options for installing nginx. The first opt The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the EPEL repositories, unless your needs require a version newer than the one available in the EPEL repositories. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/docs/guides/lemp-server-on-centos-6/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/lemp-server-on-centos-6/). ### Deploy from EPEL Packages @@ -279,7 +279,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/docs/guides/how-to-configure-nginx/). +Depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: diff --git a/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md b/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md index 4935217c135..46d15438823 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-debian-7-wheezy/index.md @@ -10,11 +10,11 @@ tags: ["lemp","web server","php","mysql","nginx","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/lemp/lemp-server-on-debian-7-wheezy/','/web-servers/lemp/lemp-server-on-debian-7-wheezy/','/lemp-guides/debian-7-wheezy/'] external_resources: - - '[Basic Nginx Configuration](/docs/guides/how-to-configure-nginx/)' - - '[Clustered Web Servers and Software Load Balancing with Nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/)' - - '[Deploy CGI and Perl Scripts with Perl-FastCGI and Nginx](/docs/guides/nginx-and-perlfastcgi-on-debian-6-squeeze/)' - - '[Use PostgeSQL as an Alternative to MySQL for data storage](/docs/guides/debian-6-squeeze/)' - - '[Deploy Python Applications with uWSGI and Nginx](/docs/guides/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/)' + - '[Basic Nginx Configuration](/cloud/guides/how-to-configure-nginx/)' + - '[Clustered Web Servers and Software Load Balancing with Nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/)' + - '[Deploy CGI and Perl Scripts with Perl-FastCGI and Nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-6-squeeze/)' + - '[Use PostgeSQL as an Alternative to MySQL for data storage](/cloud/guides/debian-6-squeeze/)' + - '[Deploy Python Applications with uWSGI and Nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/)' relations: platform: key: install-lemp-stack @@ -26,13 +26,13 @@ deprecated_link: web-servers/lemp/install-a-lemp-stack-on-debian/ This document describes a compatible alternative to the **LAMP** (Linux, Apache, MySQL, and PHP) stack, known as **LEMP**. The LEMP stack replaces the Apache web server component (which is the "A" in LAMP) with Nginx (pronounced "engine x", providing the "E" in LEMP). LEMP is comprised of a variety of open source software used to build and run web servers. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/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, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ![LEMP Server on Debian 7 (Wheezy)](lemp_server_on_debian_7_wheezy.png "LEMP Server on Debian 7") ## Set the Hostname -Before you begin installing and configuring the components described in this guide, please make sure you have 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 have 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 @@ -50,7 +50,7 @@ Before beginning with the installation of this web application stack, issue the There are several viable and popular options for installing the Nginx software. The method used here retrieves packages from the Debian Project's software repository and provides a stable and tested version of the web server. Another option would be to retrieve packages compiled by the Debian Backports project. Backports packages are more up to date than the stable packages provided by the Debian project. However, Backports do not necessarily receive the same updates, support, and maintenance that official packages receive. -For more in-depth installation instructions consider our [guide to Installing Nginx](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +For more in-depth installation instructions consider our [guide to Installing Nginx](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). To install Nginx from the Debian repository, issue the following command: @@ -94,7 +94,7 @@ To deactivate a site, simply delete the symbolic link by issuing the following c The source file is saved, and the site can be re-enabled at any time. -For more information regarding Nginx configuration options, consider our [Overview of Nginx Configuration](/docs/guides/how-to-configure-nginx/). +For more information regarding Nginx configuration options, consider our [Overview of Nginx Configuration](/cloud/guides/how-to-configure-nginx/). ## Deploy PHP with FastCGI diff --git a/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md b/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md index 167ed4c21b3..e4eae8a1127 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/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, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Prepare System For Deployment @@ -34,7 +34,7 @@ There are several viable and popular options for installing the nginx software. The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the Fedora repositories unless your needs require a version newer than the one available. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/docs/guides/websites-with-nginx-on-fedora-13/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-fedora-13/). ### Deploy from Fedora Project Packages @@ -87,7 +87,7 @@ Create a dedicated system user to run the nginx process under by issuing the fol useradd -M -r --shell /bin/sh --home-dir /opt/nginx nginx -Now install and configure the [init script](/docs/assets/546-init-rpm.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: +Now install and configure the [init script](/cloud/assets/546-init-rpm.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: wget -O init-rpm.sh http://www.linode.com/docs/assets/546-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -152,7 +152,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/docs/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -162,7 +162,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/docs/guides/nginx-and-phpfastcgi-on-fedora-13/). Begin the deployment process by issuing the following command to install the required dependencies: +If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-fedora-13/). Begin the deployment process by issuing the following command to install the required dependencies: yum install php php-cli spawn-fcgi wget @@ -281,8 +281,8 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/docs/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) -- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/docs/guides/nginx-and-perlfastcgi-on-fedora-13/) -- [Use PostgreSQL as an Alternative to MySQL for data storage](/docs/guides/fedora-13/) -- [Deploy Python Applications with uWSGI and nginx](/docs/guides/wsgi-using-uwsgi-and-nginx-on-fedora-13/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-fedora-13/) +- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/fedora-13/) +- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-fedora-13/) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md b/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md index 2e15818b277..f1e8ec234ed 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-fedora-14/index.md @@ -20,11 +20,11 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP." The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). If you are new to Linux systems administration, you may want to consider the guides in our [using Linux guide](/docs/guides/introduction-to-linux-concepts/) series, particularly "[Linux Administration Basics](/docs/guides/linux-system-administration-basics/)." +Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux systems administration, you may want to consider the guides in our [using Linux guide](/cloud/guides/introduction-to-linux-concepts/) series, particularly "[Linux Administration Basics](/cloud/guides/linux-system-administration-basics/)." ## Set the Hostname -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 @@ -43,7 +43,7 @@ There are several viable and popular options for installing the nginx software. The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Fedora project. All options are compatible, but in most cases we recommend using the packages from the Fedora repositories unless your needs require a version newer than the one available. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/docs/guides/websites-with-nginx-on-fedora-13/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-fedora-13/). ### Deploy from Fedora Project Packages @@ -96,7 +96,7 @@ Create a dedicated system user to run the nginx process under by issuing the fol useradd -M -r --shell /bin/sh --home-dir /opt/nginx nginx -Now install and configure the [init script](/docs/assets/558-init-rpm.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: +Now install and configure the [init script](/cloud/assets/558-init-rpm.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: wget -O init-rpm.sh http://www.linode.com/docs/assets/558-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -161,7 +161,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/docs/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file` format. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -171,7 +171,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/docs/guides/nginx-and-phpfastcgi-on-fedora-14/). Begin the deployment process by issuing the following command to install the required dependencies: +If your application includes PHP code, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-fedora-14/). Begin the deployment process by issuing the following command to install the required dependencies: yum install php php-cli spawn-fcgi wget @@ -291,5 +291,5 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/docs/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md b/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md index 1b2e8235588..c79b75e2087 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-fedora-15/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -This guide will help you get up and running quickly with a LEMP (Linux, nginx, MySQL, PHP) stack on your Linode. If you haven't done so already, please follow the instructions in our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) before proceeding. 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 will help you get up and running quickly with a LEMP (Linux, nginx, MySQL, PHP) stack on your Linode. If you haven't done so already, please follow the instructions in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) before proceeding. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -247,7 +247,7 @@ Please follow the announcements, lists, and RSS feeds on the pages linked below You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) - [nginx Wiki](http://wiki.nginx.org/Main) - [PHP Documentation](http://php.net/docs.php) - [MySQL Documentation](http://dev.mysql.com/doc/) diff --git a/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md index 620c5a6fcf4..2fcf5da4425 100644 --- a/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/lemp/lemp-server-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true This document describes a compatible alternative to the "LAMP" (Linux, Apache, MySQL, and PHP) stack, known as "LEMP". The LEMP stack replaces the Apache web server component with nginx (pronounced "engine x," providing the "E" in LEMP,) which can increase the ability of the server to scale in response to demand. -Prior to beginning this guide, please complete the [Setting Up and Securing a Compute Instance](/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, please complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Prepare System For Deployment @@ -50,7 +50,7 @@ There are several viable and popular options for installing the nginx software. The second option requires downloading the source for nginx from the upstream provider and compiling the software manually. Manual compilation makes it possible to run the most current version of the software at the expense of the testing and automatic updates from the Ubuntu project. All options are compatible, but in most cases we recommend using the packages from the Ubuntu repositories, unless your needs require a version newer than the one available in the Ubuntu repositories. Possible reasons for compiling nginx yourself include access to optional compile-time modules and features added in more recent versions. -For more in-depth installation instructions consider our [guide to installing nginx](/docs/guides/websites-with-nginx-on-ubuntu-9-10-karmic/). +For more in-depth installation instructions consider our [guide to installing nginx](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/). ### Deploy from Ubuntu Project Packages @@ -99,7 +99,7 @@ Create a dedicated system user to run the nginx process under by issuing the fol adduser --system --no-create-home --disabled-login --disabled-password --group nginx -Now install and configure the [init script](/docs/assets/543-init-deb.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: +Now install and configure the [init script](/cloud/assets/543-init-deb.sh) to make it possible to start and stop the web server more easily. Issue the following command sequence: wget -O init-deb.sh http://www.linode.com/docs/assets/543-init-deb.sh mv init-deb.sh /etc/init.d/nginx @@ -175,7 +175,7 @@ include /opt/nginx-sites.conf; {{< /file >}} -Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file`. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/docs/guides/how-to-configure-nginx/). +Then, depending on the size and nature of your deployment, place your virtual host configurations either directly in the `/opt/nginx-sites.conf` file or include statements for server-specific configuration files in the `nginx-sites.file`. For more information regarding nginx configuration options, consider our [overview of nginx configuration](/cloud/guides/how-to-configure-nginx/). Once you've configured and loaded the nginx configuration, restart the web server to implement the new configuration by issuing the following command: @@ -185,7 +185,7 @@ Make sure that the directories referenced in your configuration exist on your fi ## Deploy PHP with FastCGI -In order to deploy PHP applications, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/docs/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/). Begin the deployment process by issuing the following command to install the required dependencies: +In order to deploy PHP applications, you will need to implement the following "PHP-FastCGI" solution to allow nginx to properly handle and serve pages that contain PHP code. For a more complete introduction to this subject consider our dedicated guide to [PHP FastCGI with Nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/). Begin the deployment process by issuing the following command to install the required dependencies: apt-get install php5-cli php5-cgi build-essential wget psmisc @@ -320,8 +320,8 @@ When upstream sources offer new releases, repeat the instructions for installing You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Basic nginx Configuration](/docs/guides/how-to-configure-nginx/) -- [Clustered Web Servers and Software Load Balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) -- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/docs/guides/nginx-and-perlfastcgi-on-debian-5-lenny/) -- [Use PostgreSQL as an Alternative to MySQL for data storage](/docs/guides/debian-5-lenny/) -- [Deploy Python Applications with uWSGI and nginx](/docs/guides/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/) +- [Basic nginx Configuration](/cloud/guides/how-to-configure-nginx/) +- [Clustered Web Servers and Software Load Balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Deploy CGI and Perl Scripts with Perl-FastCGI and nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-5-lenny/) +- [Use PostgreSQL as an Alternative to MySQL for data storage](/cloud/guides/debian-5-lenny/) +- [Deploy Python Applications with uWSGI and nginx](/cloud/guides/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/) diff --git a/docs/guides/web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/index.md b/docs/guides/web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/index.md index 9c29c4b8310..e9c4898eea8 100644 --- a/docs/guides/web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/index.md +++ b/docs/guides/web-servers/lemp/lemp-stack-on-centos-7-with-fastcgi/index.md @@ -20,7 +20,7 @@ The LAMP stack (Linux, Apache, MariaDB, and PHP) is a popular server configurati ## Before You Begin 1. You need root access to the system or a user account with `sudo` privilege. -2. Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +2. Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). 3. Update your system. ## Installation diff --git a/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-debian-5-lenny/index.md b/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-debian-5-lenny/index.md index 0e76de1ee08..63cc7cb2fce 100644 --- a/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true This tutorial explains how to install and configure the lighttpd (e.g. "lighty") web server on Debian 5 (Lenny). Lighttpd is designed to provide a lightweight web server, capable of serving large loads, using less memory than servers like the Apache httpd server. It's commonly deployed on high traffic sites, including YouTube. You might want to consider using lighttpd if you're having problems scaling your current web server to meet your load requirements. Lighttpd makes sense for users who find "big" programs like Apache daunting and bloated. -Our example will illustrate the installation of a lighttpd server on a Debian 5 (Lenny) system. We assume that you've followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and are running on an updated system. This document does not, however, include instructions for deploying other common services in the web development stack. We recommend you consult additional resources (a few are listed at the end of this tutorial) to deploy the remainder of your web stack. +Our example will illustrate the installation of a lighttpd server on a Debian 5 (Lenny) system. We assume that you've followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and are running on an updated system. This document does not, however, include instructions for deploying other common services in the web development stack. We recommend you consult additional resources (a few are listed at the end of this tutorial) to deploy the remainder of your web stack. If you're switching from an alternate web server like Apache, remember to turn Apache off for testing purposes, or configure lighttpd to serve on an alternate port until it's configured properly. @@ -28,7 +28,7 @@ For purposes of this tutorial we'll assume you are logged into an SSH session on ## 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/web-servers/lighttpd/lighttpd-web-server-on-ubuntu-12-04-preci/index.md b/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-ubuntu-12-04-preci/index.md index 30d8000b9d5..e088c282dbf 100644 --- a/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-ubuntu-12-04-preci/index.md +++ b/docs/guides/web-servers/lighttpd/lighttpd-web-server-on-ubuntu-12-04-preci/index.md @@ -24,7 +24,7 @@ deprecated: true This tutorial explains how to install and configure the lighttpd (e.g. "lighty") web server on Ubuntu 12.04 (Precise). Lighttpd is designed to provide a lightweight web server that is capable of serving large loads and using less memory than servers like the Apache HTTP server. It's commonly deployed on high traffic sites, including YouTube. You might want to consider using lighttpd if you're having problems scaling your current web server to meet your load requirements. Lighttpd makes sense for users who find "big" programs like Apache daunting and bloated. -Our example will illustrate the installation of a lighttpd server on an Ubuntu 12.04 (Precise) system. We assume that you've followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and are running on an updated system. This document does not, however, include instructions for deploying other common services in the web development stack. We recommend you consult additional resources (a few are listed at the end of this tutorial) to deploy the remainder of your web stack. +Our example will illustrate the installation of a lighttpd server on an Ubuntu 12.04 (Precise) system. We assume that you've followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and are running on an updated system. This document does not, however, include instructions for deploying other common services in the web development stack. We recommend you consult additional resources (a few are listed at the end of this tutorial) to deploy the remainder of your web stack. If you're switching from an alternate web server like Apache, remember to turn Apache off for testing purposes, or configure lighttpd to serve on an alternate port until it's configured properly. @@ -32,7 +32,7 @@ For purposes of this tutorial we'll assume you are logged into an SSH session on ## 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/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md b/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md index 8c998c857f3..69236df9dc9 100644 --- a/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/lighttpd/use-lighttpd-web-server-on-ubuntu-16-04/index.md @@ -32,9 +32,9 @@ This guide explains how to install and configure the lighttpd ("lighty") web ser ## Before You Begin -1. Familiarize yourself with and complete the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/), setting your Linode's hostname and timezone. +1. Familiarize yourself with and complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), setting your Linode's hostname and timezone. -1. Lighttpd is a network-facing service and failing to secure your server may expose you to vulnerabilities. Consult the [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. +1. Lighttpd is a network-facing service and failing to secure your server may expose you to vulnerabilities. Consult the [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. 1. If you're switching from a different web server like Apache, remember to turn off the other server for testing purposes, or [configure lighttpd](#configure-lighttpd) to use an alternate port until it's configured properly. @@ -42,7 +42,7 @@ This guide explains how to install and configure the lighttpd ("lighty") web ser sudo apt-get update && apt-get upgrade {{< note >}} -The steps required in this guide require root privileges. Be sure to run the following steps as **root** or with the `sudo` prefix. For more information on privileges see the [Users and Groups guide](/docs/guides/linux-users-and-groups/). +The steps required in this guide require root privileges. Be sure to run the following steps as **root** or with the `sudo` prefix. For more information on privileges see the [Users and Groups guide](/cloud/guides/linux-users-and-groups/). {{< /note >}} ## How To Install Lighttpd Web Server On Ubuntu 16.04 @@ -130,7 +130,7 @@ simple-vhost.default-host = "example.com" - If a request is made for the URL `exampleA.com`, content is served from `/var/www/html/exampleA.com/htdocs`. - If a request is made for a URL which resolves to the server, but does not have a directory, content is served from `/var/www/html/example.com/htdocs`, because `example.com` is the default host. - For subdomains, create host directories for each subdomain in the same way. For instance, to use `exampleSub` as a subdomain of `exampleA.com`, create a directory called `exampleSub.exampleA.com` with a `htdocs` directory for content. Be sure to add [DNS records](/docs/products/networking/dns-manager/) for any subdomains you plan to use. + For subdomains, create host directories for each subdomain in the same way. For instance, to use `exampleSub` as a subdomain of `exampleA.com`, create a directory called `exampleSub.exampleA.com` with a `htdocs` directory for content. Be sure to add [DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for any subdomains you plan to use. 1. Restart the web server again to reload changes: diff --git a/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md b/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md index 6e22f0069cf..8f622367f7e 100644 --- a/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md +++ b/docs/guides/web-servers/nginx/build-nginx-with-pagespeed-from-source/index.md @@ -25,7 +25,7 @@ There are currently two ways to get PageSpeed and NGINX working together: - Compile PageSpeed as a [dynamic module](https://www.nginx.com/blog/compiling-dynamic-modules-nginx-plus/) to use with NGINX, whether NGINX was installed from source or a binary. {{< note respectIndent=false >}} -Installing NGINX from source requires several manual installation steps and will require manual maintenance when performing tasks like version upgrades. To install NGINX using a package manager see the [NGINX](/docs/web-servers/nginx/) section. +Installing NGINX from source requires several manual installation steps and will require manual maintenance when performing tasks like version upgrades. To install NGINX using a package manager see the [NGINX](/cloud/web-servers/nginx/) section. {{< /note >}} This guide will show how to compile both NGINX and PageSpeed. If you would prefer to use PageSpeed as a module for NGINX, see [this NGINX blog post](https://www.nginx.com/blog/optimize-website-google-pagespeed-dynamic-module-nginx-plus/) for instructions. @@ -37,7 +37,7 @@ This guide will show how to compile both NGINX and PageSpeed. If you would prefe - You will need root access to the system, or a user account with `sudo` privileges. -- Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). - Update your system's packages. @@ -217,7 +217,7 @@ You can use NGINX's binary to control the process directly without making a star 2. In NGINX terminology, a *Server Block* equates to a website (similar to the *Virtual Host* in Apache terminology). Each NGINX site's configuration should be in its own file with the name formatted as `example.com.conf`, located at `/etc/nginx/conf.d/`. - If you followed this guide or our [Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) series, then your site's configuration will be in a `server` block in a file stored in `/etc/nginx/conf.d/`. If you do not have this setup, then you likely have the `server` block directly in `/etc/nginx/nginx.conf`. See *[Server Block Examples](https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/)* in the NGINX docs for more info. + If you followed this guide or our [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) series, then your site's configuration will be in a `server` block in a file stored in `/etc/nginx/conf.d/`. If you do not have this setup, then you likely have the `server` block directly in `/etc/nginx/nginx.conf`. See *[Server Block Examples](https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/)* in the NGINX docs for more info. Create a configuration file for your site with a basic server block inside: diff --git a/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md b/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md index 94ebc8f4935..5fd10cc4267 100644 --- a/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md +++ b/docs/guides/web-servers/nginx/configuring-load-balancer-sticky-session/index.md @@ -49,8 +49,8 @@ When using a load balancer, more than one server is responding to requests. So, ## Tools Used for Load Balancing -The popular open-source web server, [*NGINX*](/docs/guides/web-servers/nginx/), can be used as a load balancer to support your web services. NGINX provides [extensive documentation](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) to get you started installing and configuring it to load balance traffic to backend servers. +The popular open-source web server, [*NGINX*](/cloud/guides/web-servers/nginx/), can be used as a load balancer to support your web services. NGINX provides [extensive documentation](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/) to get you started installing and configuring it to load balance traffic to backend servers. -Linode offers a load balancing service called [*NodeBalancers*](/docs/products/networking/nodebalancers/). Using load balancers as a service (LBaaS) to route your server's web traffic reduces the amount of configuration you need to worry about. This allows you to focus on developing your application, and take advantage of built-in point-and-click functionality. +Linode offers a load balancing service called [*NodeBalancers*](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer). Using load balancers as a service (LBaaS) to route your server's web traffic reduces the amount of configuration you need to worry about. This allows you to focus on developing your application, and take advantage of built-in point-and-click functionality. -If you are using [Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) to run your containerized applications, load balancers help you expose your cluster's resources to the public internet and route traffic to your cluster's nodes. If you are using Linode's managed Kubernetes service, [LKE](https://www.linode.com/products/kubernetes/), you can configure NodeBalancers using [annotations](/docs/products/compute/kubernetes/guides/load-balancing/#configuring-your-linode-nodebalancers-with-annotations). You can also use [NGINX to configure load balancing via ingress on Kubernetes](https://www.nginx.com/blog/nginx-plus-ingress-controller-kubernetes-load-balancing/). +If you are using [Kubernetes](/cloud/guides/beginners-guide-to-kubernetes/) to run your containerized applications, load balancers help you expose your cluster's resources to the public internet and route traffic to your cluster's nodes. If you are using Linode's managed Kubernetes service, [LKE](https://www.linode.com/products/kubernetes/), you can configure NodeBalancers using [annotations](https://techdocs.akamai.com/cloud-computing/docs/get-started-with-load-balancing-on-an-lke-cluster#configuring-your-linode-nodebalancers-with-annotations). You can also use [NGINX to configure load balancing via ingress on Kubernetes](https://www.nginx.com/blog/nginx-plus-ingress-controller-kubernetes-load-balancing/). diff --git a/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md b/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md index 79614c462e0..337f3876507 100644 --- a/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md +++ b/docs/guides/web-servers/nginx/deploy-django-applications-using-uwsgi-and-nginx-on-ubuntu-14-04/index.md @@ -13,7 +13,7 @@ external_resources: - '[Writing your first Django app Tutorial](https://docs.djangoproject.com/en/dev/intro/tutorial01/#intro-tutorial01)' - '[virtualenvwrapper Documentation](https://virtualenvwrapper.readthedocs.org/en/latest/)' - '[WSGI/Python Quickstart Guide](https://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html)' - - '[nginx Configuration](/docs/guides/how-to-configure-nginx/)' + - '[nginx Configuration](/cloud/guides/how-to-configure-nginx/)' deprecated: True --- @@ -21,15 +21,15 @@ 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. This guide will use an example account named `django`. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create the `django` user, harden SSH access and remove unnecessary network services. You may need to create additional firewall rules for your specific application. +2. This guide will use an example account named `django`. 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 the `django` user, harden SSH access and remove unnecessary network services. You may need to create additional firewall rules for your specific application. 3. Update your system: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 nginx, Python Tools and uWSGI diff --git a/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md b/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md index 1ad907abd00..be930efd62e 100644 --- a/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md +++ b/docs/guides/web-servers/nginx/deploying-nginx-docker-container/index.md @@ -18,12 +18,12 @@ Follow along with this tutorial to learn about the advantages of running Nginx v ## 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 >}} ## Getting Started with Docker @@ -32,7 +32,7 @@ This guide is written for a non-root user. Commands that require elevated privil Docker containers also have the advantage of container orchestration. Platforms like Kubernetes can leverage the portability and self-contained nature of Docker containers to efficiently deploy applications to clusters. -Read more about Docker, its advantages, and its use cases in our guide [When and Why to Use Docker](/docs/guides/when-and-why-to-use-docker/). Learn about using Docker with Kubernetes container orchestration in our guide on how to [Manage a Docker Cluster with Kubernetes](/docs/guides/manage-a-docker-cluster-with-kubernetes/). +Read more about Docker, its advantages, and its use cases in our guide [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/). Learn about using Docker with Kubernetes container orchestration in our guide on how to [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes/). ### Why Run Nginx in a Docker Container? @@ -42,7 +42,7 @@ Beyond this, a Dockerized Nginx instance can be a gateway to more complicated se ### Installing Docker -To install Docker, follow the instructions in our guide on [Installing and Using Docker](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/). Use the drop down at the top of the guide to select the appropriate distribution. The present tutorial assumes that you have followed the sections on: +To install Docker, follow the instructions in our guide on [Installing and Using Docker](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). Use the drop down at the top of the guide to select the appropriate distribution. The present tutorial assumes that you have followed the sections on: - Installing Docker Engine - Starting and Testing Docker @@ -92,10 +92,10 @@ Open a Web browser and navigate to your system's public IP address. For example, ![The default Nginx welcome page](nginx-welcome.png) {{< note >}} -Depending on the system's firewall settings, you may first need to open port `80`/`http`. Refer to the links in the firewall section of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall) guide to learn how. +Depending on the system's firewall settings, you may first need to open port `80`/`http`. Refer to the links in the firewall section of our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall) guide to learn how. {{< /note >}} -Jump ahead to the section on [Applying Custom Nginx Configurations](/docs/guides/deploying-nginx-docker-container/#applying-custom-nginx-configurations) to take the next step in running your own website through the Nginx container. +Jump ahead to the section on [Applying Custom Nginx Configurations](/cloud/guides/deploying-nginx-docker-container/#applying-custom-nginx-configurations) to take the next step in running your own website through the Nginx container. ### Managing the Nginx Container @@ -294,7 +294,7 @@ From there, follow along with the steps below to create a simple Nginx Docker im Once again, you should be able to navigate to your system's public IP address in a Web browser to see your custom website. -To move ahead with more advanced Dockerfile setups, take a look at our guide [How to Use a Dockerfile to Build a Docker Image](/docs/guides/how-to-use-dockerfiles/). There, you can find a thorough overview of Dockerfile creation and usage. +To move ahead with more advanced Dockerfile setups, take a look at our guide [How to Use a Dockerfile to Build a Docker Image](/cloud/guides/how-to-use-dockerfiles/). There, you can find a thorough overview of Dockerfile creation and usage. ## Conclusion diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md index a9031a446de..3930bb1e0a1 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-1-installation-and-basic-setup/index.md @@ -19,7 +19,7 @@ This guide is the first of a four-part series. Parts One and Two will walk you t ## Before You Begin * You will need root access to the system, or a user account with `sudo` privilege. -* Set your system's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +* Set your system's [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). * Update your system. ## Install NGINX @@ -229,4 +229,4 @@ http { ## Part 2: (Slightly More) Advanced Configurations -By now you should have a basic NGINX installation and a some foundational settings to get you started. For slightly more advanced configurations, yet still applicable to anyone hosting a site on a Linode, see Part 2 of this series: [(Slightly more) Advanced Configurations for NGINX](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/) +By now you should have a basic NGINX installation and a some foundational settings to get you started. For slightly more advanced configurations, yet still applicable to anyone hosting a site on a Linode, see Part 2 of this series: [(Slightly more) Advanced Configurations for NGINX](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md index b5fe5abc417..0dcea8b9a91 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-2-advanced-configuration/index.md @@ -18,7 +18,7 @@ image: Getting-Started-with-NGINX-Part-2-smg.jpg ## Before You Begin -- This guide is Part 2 of our *Getting Started with NGINX* series, and you will need a working NGINX setup with a website accessible via HTTP. If you do not already have that, complete [Part 1: Basic Installation and Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +- This guide is Part 2 of our *Getting Started with NGINX* series, and you will need a working NGINX setup with a website accessible via HTTP. If you do not already have that, complete [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). - You will need root access to the system, or a user account with `sudo` privilege. @@ -169,7 +169,7 @@ You can allow or deny browser features with this header, depending on whether yo To summarize where we are so far: -* We're continuing with the configuration from [Part 1](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/#configuration-recap), so we have a single site being served over HTTP. +* We're continuing with the configuration from [Part 1](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/#configuration-recap), so we have a single site being served over HTTP. * We've added the caching and HTTP header changes mentioned above. @@ -243,4 +243,4 @@ http { ## Part 3: Enable TLS for HTTPS Connections -If a well-running HTTP site is all you're looking for, the configurations in this guide will meet that requirement. If you plan to serve your site over HTTPS, then continue to Part 3 of this series: [Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/). +If a well-running HTTP site is all you're looking for, the configurations in this guide will meet that requirement. If you plan to serve your site over HTTPS, then continue to Part 3 of this series: [Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/). diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md index 4a4c582fcf0..2bd63783f1a 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-3-enable-tls-for-https/index.md @@ -21,11 +21,11 @@ A single NGINX installation can host multiple websites and any number of them ca ## Before You Begin -* This guide is Part 3 of our *Getting Started with NGINX* series and you will need a working NGINX setup with your site accessible via HTTP. If do not already have that, complete at least [Part 1: Basic Installation and Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) before going further. +* This guide is Part 3 of our *Getting Started with NGINX* series and you will need a working NGINX setup with your site accessible via HTTP. If do not already have that, complete at least [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) before going further. * You will need root access to the system, or a user account with `sudo` privileges. -* You will need a TLS certificate and key for your site. The certificate can be self-signed if this is a private or internal site, or if you are simply experimenting. Alternatively, use a commercial certificate chain if that's what your site requires. If you don't already have a certificate and server key, see our guides for creating a [self-signed certificate](/docs/guides/create-a-self-signed-tls-certificate/) or a [certificate signing request](/docs/guides/obtain-a-commercially-signed-tls-certificate/). +* You will need a TLS certificate and key for your site. The certificate can be self-signed if this is a private or internal site, or if you are simply experimenting. Alternatively, use a commercial certificate chain if that's what your site requires. If you don't already have a certificate and server key, see our guides for creating a [self-signed certificate](/cloud/guides/create-a-self-signed-tls-certificate/) or a [certificate signing request](/cloud/guides/obtain-a-commercially-signed-tls-certificate/). * If you compiled NGINX from source code, ensure that it was compiled with `--with-http_ssl_module`. Verify in the output of `nginx -V`. @@ -177,4 +177,4 @@ server { Now that you've got NGINX serving your site over HTTPS, do not simply use the above configurations as-is. It only gets HTTPS working on your server and is inherently insecure without further configuration. -To harden your server's handling of TLS connections, continue to Part 4 of this series: [TLS Deployment Best Practices for NGINX](/docs/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/). +To harden your server's handling of TLS connections, continue to Part 4 of this series: [TLS Deployment Best Practices for NGINX](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/). diff --git a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md index 4e5c137f0ab..0d27433c53d 100644 --- a/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md +++ b/docs/guides/web-servers/nginx/getting-started-with-nginx-part-4-tls-deployment-best-practices/index.md @@ -16,7 +16,7 @@ aliases: ['/websites/nginx/nginx-ssl-and-tls-deployment-best-practices/','/web-s ## Before you Begin -- This guide is Part 4 of our *Getting Started with NGINX* series and you will need a working NGINX setup with a website accessible via HTTPS. If do not already have that, then complete at least [Part 1: Basic Installation and Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) and [Part 3: Enable TLS on NGINX for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) before going further. +- This guide is Part 4 of our *Getting Started with NGINX* series and you will need a working NGINX setup with a website accessible via HTTPS. If do not already have that, then complete at least [Part 1: Basic Installation and Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) and [Part 3: Enable TLS on NGINX for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) before going further. - You will need root access to the system, or a user account with `sudo` privilege. @@ -27,7 +27,7 @@ aliases: ['/websites/nginx/nginx-ssl-and-tls-deployment-best-practices/','/web-s - To enable any configuration changes you make, you need to run `nginx -s reload` as root. {{< note type="alert" >}} -Most directives in this guide can be added either to NGINX's `http` block, or an individual site's `server` block. The exceptions are `add_header` directives, which are [not inherited](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields). If you're only hosting one website, or if you want all your hosted sites to have the same NGINX parameters, then adding all your `add_header` directives the `http` block is fine. If you intend to use different header options for different site configurations, [see here](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields) for a different approach. +Most directives in this guide can be added either to NGINX's `http` block, or an individual site's `server` block. The exceptions are `add_header` directives, which are [not inherited](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields). If you're only hosting one website, or if you want all your hosted sites to have the same NGINX parameters, then adding all your `add_header` directives the `http` block is fine. If you intend to use different header options for different site configurations, [see here](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields) for a different approach. {{< /note >}} ## Redirect Incoming HTTP Traffic HTTPS @@ -71,7 +71,7 @@ server { For more information on HSTS in NGINX, [see NGINX's blog](https://www.nginx.com/blog/http-strict-transport-security-hsts-and-nginx/). -1. Add the HSTS header directive to the `http` block of `/etc/nginx/nginx.conf`. If you choose to put it elsewhere, remember that HTTP response header fields are [not inherited](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields) from parent blocks. +1. Add the HSTS header directive to the `http` block of `/etc/nginx/nginx.conf`. If you choose to put it elsewhere, remember that HTTP response header fields are [not inherited](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/#http-response-header-fields) from parent blocks. {{< file "/etc/nginx/nginx.conf" nginx >}} add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; @@ -95,7 +95,7 @@ Strict-Transport-Security: max-age=31536000; includeSubDomains A Diffie-Hellman parameter is a set of randomly generated data used when establishing [Perfect Forward Secrecy](https://en.wikipedia.org/wiki/Forward_secrecy) during initiation of an HTTPS connection. The default size is usually 1024 or 2048 bits, depending on the server's OpenSSL version, but a 4096 bit key will provide greater security. -1. Change directories to where you maintain your site's TLS certificates. [From Part 3](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/), we're maintaining the server's certificates out of `/root/certs/example.com/` so we'll continue with that here. +1. Change directories to where you maintain your site's TLS certificates. [From Part 3](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/), we're maintaining the server's certificates out of `/root/certs/example.com/` so we'll continue with that here. cd /root/certs/example.com diff --git a/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md b/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md index e7c9d7cde50..5f53059c580 100644 --- a/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md +++ b/docs/guides/web-servers/nginx/how-to-configure-http-2-on-nginx/index.md @@ -13,18 +13,18 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: HowtoConfigureHTTP-2onNGINX.jpg --- -[*HTTP/2*](https://en.wikipedia.org/wiki/HTTP/2) updates the original *Hypertext Transfer Protocol* (HTTP) specification to offer improvements in efficiency and latency. The new version includes several other new features while maintaining compatibility with older browsers. Due to the clear advantages of HTTP/2, web servers should be upgraded to use the new version. This guide explains how to configure, use, and test HTTP/2 with an [*NGINX*](https://www.nginx.com/) server. For a deep-dive into the HTTP/2 protocol see our [An Introduction to HTTP/2](/docs/guides/introducing-http-2/) guide. +[*HTTP/2*](https://en.wikipedia.org/wiki/HTTP/2) updates the original *Hypertext Transfer Protocol* (HTTP) specification to offer improvements in efficiency and latency. The new version includes several other new features while maintaining compatibility with older browsers. Due to the clear advantages of HTTP/2, web servers should be upgraded to use the new version. This guide explains how to configure, use, and test HTTP/2 with an [*NGINX*](https://www.nginx.com/) server. For a deep-dive into the HTTP/2 protocol see our [An Introduction to HTTP/2](/cloud/guides/introducing-http-2/) guide. ## Before You Begin -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 you possess a Fully Qualified Domain Name (FQDN) for the website. The DNS records for the site must point to the Linode server. {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## A Summary of the NGINX and HTTP/2 Configuration Process @@ -37,7 +37,7 @@ The following high-level steps are necessary to configure HTTP/2 on NGINX. These ### Install NGINX -The following instructions install the NGINX environment required to support HTTP/2 and encryption. If NGINX is already installed, skip this section and proceed to the [Enable HTTPS Using Certbot and Let's Encrypt Certificates](/docs/guides/how-to-configure-http-2-on-nginx/#enable-https-using-certbot-and-lets-encrypt-certificates) step. For more information about NGINX, consult the Linode's [How to Configure NGINX](/docs/guides/how-to-configure-nginx/) guide. +The following instructions install the NGINX environment required to support HTTP/2 and encryption. If NGINX is already installed, skip this section and proceed to the [Enable HTTPS Using Certbot and Let's Encrypt Certificates](/cloud/guides/how-to-configure-http-2-on-nginx/#enable-https-using-certbot-and-lets-encrypt-certificates) step. For more information about NGINX, consult the Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) guide. 1. Update the system packages to pick up the newest version of NGINX. Reboot the system if advised to do so. @@ -65,7 +65,7 @@ The following instructions install the NGINX environment required to support HTT sudo ufw enable {{< note >}} -You should configure a location block for the domain. This structure is mandatory if there is more than one domain on the Linode. See Linode's [How to Configure NGINX](/docs/guides/how-to-configure-nginx/) guide for complete instructions. +You should configure a location block for the domain. This structure is mandatory if there is more than one domain on the Linode. See Linode's [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) guide for complete instructions. {{< /note >}} ### Enable HTTPS Using Certbot and Let's Encrypt Certificates diff --git a/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md b/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md index 2adc9dcf94c..195a8374d6f 100644 --- a/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-and-use-nginx-on-ubuntu-20-04/index.md @@ -23,12 +23,12 @@ aliases: ['/web-servers/nginx/installation/ubuntu-10.04-lucid/','/web-servers/ng ## 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 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 NGINX @@ -48,7 +48,7 @@ This guide is written for non-root users. Commands that require elevated privile sudo ufw allow http sudo ufw reload - Refer to our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. + Refer to our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide for more on how to use UFW for managing your firewall. 1. Visit the default NGINX page to see your installation in action. You can find it by navigating to your server's domain name or its IP address. @@ -159,11 +159,11 @@ server { ## Conclusion -To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/docs/guides/comparing-nginx-and-apache-web-servers/) guide. +To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers/) guide. For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX. -- [Part 1: Installation and Basic Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/docs/web-servers/nginx/slightly-more-advanced-configurations-for-nginx/) -- [Part 3: Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/docs/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/web-servers/nginx/slightly-more-advanced-configurations-for-nginx/) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) diff --git a/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md b/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md index e3283bf8fca..5fb14d89220 100644 --- a/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-nginx-centos-8/index.md @@ -27,11 +27,11 @@ NGINX is an open source web server with powerful load balancing, reverse proxy, ## Before You Begin -1. Set up your Linode in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up your Linode in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](/docs/products/networking/dns-manager/) guide. +1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. - - Don't forget to update your `/etc/hosts` file with your Linode's public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. + - Don't forget to update your `/etc/hosts` file with your Linode's public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) 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. 1. Install the SELinux core policy Python utilities. This will give you the ability to manage SELinux settings in a fine-grained way. @@ -143,9 +143,9 @@ http { - For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX: - - [Part 1: Installation and Basic Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) - - [Part 2: (Slightly More) Advanced Configurations](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/) - - [Part 3: Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) - - [Part 4: TLS Deployment Best Practices](/docs/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) + - [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) + - [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) + - [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) + - [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) -- Changes to your NGINX configurations may require updates to your SELinux policies and contexts. For an introduction to SELinux, see our [Getting Started with SELinux](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/) guide. +- Changes to your NGINX configurations may require updates to your SELinux policies and contexts. For an introduction to SELinux, see our [Getting Started with SELinux](/cloud/guides/a-beginners-guide-to-selinux-on-centos-7/) guide. diff --git a/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md b/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md index 9fa78a9ae65..6a30ed23762 100644 --- a/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-nginx-debian-10/index.md @@ -27,11 +27,11 @@ NGINX is an open source web server with powerful load balancing, reverse proxy, ## Before You Begin -1. Set up your Linode in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up your Linode in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](/docs/products/networking/dns-manager/) guide. +1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. - - Don't forget to update your `/etc/hosts` file with the public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. + - Don't forget to update your `/etc/hosts` file with the public IP address and your site's fully qualified domain name as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) 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. {{% content "limited-user-note-shortguide" %}} @@ -109,7 +109,7 @@ server { For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX: -- [Part 1: Installation and Basic Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/) -- [Part 3: Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/docs/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) diff --git a/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md b/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md index 1890ca0889f..9ad83279af8 100644 --- a/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/nginx/how-to-install-nginx-ubuntu-18-04/index.md @@ -28,11 +28,11 @@ NGINX is an open source web server with powerful load balancing, reverse proxy, ## Before You Begin -1. Set up your Linode in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Set up your Linode in the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](/docs/products/networking/dns-manager/) guide. +1. If you want a custom domain name for your site, you can set this up using our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. - - Don't forget to update your `/etc/hosts` file with the public IP and your site's fully qualified domain name as explained in the [Update Your System's hosts File](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) section of the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. + - Don't forget to update your `/etc/hosts` file with the public IP and your site's fully qualified domain name as explained in the [Update Your System's hosts File](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#update-your-systems-hosts-file) 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. {{% content "limited-user-note-shortguide" %}} @@ -110,7 +110,7 @@ server { For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part series on NGINX: -- [Part 1: Installation and Basic Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/) -- [Part 3: Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/docs/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/guides/getting-started-with-nginx-part-2-advanced-configuration/) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) diff --git a/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md b/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md index 6dc59e23f6c..f9dec9ffc3d 100644 --- a/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md +++ b/docs/guides/web-servers/nginx/install-and-configure-nginx-and-php-fastcgi-on-ubuntu-16-04/index.md @@ -13,7 +13,7 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI article on Wikipedia](https://en.wikipedia.org/wiki/FastCGI)' - '[PHP Documentation](http://www.php.net/docs.php)' - - '[How to Configure Ngnix](/docs/guides/how-to-configure-nginx/)' + - '[How to Configure Ngnix](/cloud/guides/how-to-configure-nginx/)' relations: platform: key: nginx-php-fastcgi @@ -26,12 +26,12 @@ The nginx web server is a fast, lightweight server designed to efficiently handl ![Install and configure nginx and PHP-FastCGI on Ubuntu 16.04](nginx-php-fcgi-tg.png "Install and configure nginx and PHP-FastCGI on Ubuntu 16.04") {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges, see our [Linux Users and Groups](/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 >}} ## Before You Begin -- Complete the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, specifically [setting the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- Complete the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, specifically [setting the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). - To confirm your hostname, issue the following commands on your Linode: @@ -40,7 +40,7 @@ The steps in this guide require root privileges. Be sure to run the steps below The first command shows your short hostname, and the second shows your fully qualified domain name (FQDN). -- If you are new to Linux systems administration, you may want to consider the [Introduction to Linux Concepts](/docs/guides/introduction-to-linux-concepts/) guide and the [Linux Administration Basics](/docs/guides/linux-system-administration-basics/) guide. +- If you are new to Linux systems administration, you may want to consider the [Introduction to Linux Concepts](/cloud/guides/introduction-to-linux-concepts/) guide and the [Linux Administration Basics](/cloud/guides/linux-system-administration-basics/) guide. - Update your system: diff --git a/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md b/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md index cb4aeddc862..e9a5667f54a 100644 --- a/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md +++ b/docs/guides/web-servers/nginx/install-and-use-nginx-on-almalinux-8/index.md @@ -23,12 +23,12 @@ 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. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Install NGINX @@ -48,7 +48,7 @@ This guide is written for non-root users. Commands that require elevated privile sudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --reload - Refer to our [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) for more on how to use FirewallD for managing your server's firewall. + Refer to our [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) for more on how to use FirewallD for managing your server's firewall. 1. Visit the default NGINX page to see your installation in action. You can find it by navigating to your server's domain name or its IP address. @@ -175,11 +175,11 @@ server { ## Conclusion -To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/docs/guides/comparing-nginx-and-apache-web-servers/) guide. +To learn more about NGINX's features and capabilities, check out our [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers/) guide. For more advanced configuration options, including security and performance optimizations and TLS setup, see our four-part Getting Started series on NGINX. -- [Part 1: Installation and Basic Setup](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) -- [Part 2: (Slightly More) Advanced Configurations](/docs/web-servers/nginx/slightly-more-advanced-configurations-for-nginx/) -- [Part 3: Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) -- [Part 4: TLS Deployment Best Practices](/docs/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) +- [Part 1: Installation and Basic Setup](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) +- [Part 2: (Slightly More) Advanced Configurations](/cloud/web-servers/nginx/slightly-more-advanced-configurations-for-nginx/) +- [Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) +- [Part 4: TLS Deployment Best Practices](/cloud/guides/getting-started-with-nginx-part-4-tls-deployment-best-practices/) diff --git a/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md index 2a828d15809..f13b10b0304 100644 --- a/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-and-php-via-fastcgi-on-ubuntu-12-04-precise-pangolin/index.md @@ -19,11 +19,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP via FastCGI on your Ubuntu 12.04 LTS (Precise Pangolin) 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -276,4 +276,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/install-nginx-centos/index.md b/docs/guides/web-servers/nginx/install-nginx-centos/index.md index 38d9ab7ef31..a3826064ba7 100644 --- a/docs/guides/web-servers/nginx/install-nginx-centos/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-centos/index.md @@ -18,7 +18,7 @@ tags: ["web server","nginx"] aliases: ['/web-servers/nginx/install-nginx-centos/'] --- -These instructions install NGINX Mainline on CentOS 7 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. +These instructions install NGINX Mainline on CentOS 7 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. 1. Create the file `/etc/yum.repos.d/nginx.repo` in a text editor and add the following: diff --git a/docs/guides/web-servers/nginx/install-nginx-debian/index.md b/docs/guides/web-servers/nginx/install-nginx-debian/index.md index 9c8106410b1..b555aeda361 100644 --- a/docs/guides/web-servers/nginx/install-nginx-debian/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-debian/index.md @@ -16,7 +16,7 @@ tags: ["web server","nginx"] aliases: ['/web-servers/nginx/install-nginx-debian/'] --- -These instructions install NGINX Mainline on Debian 9 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. +These instructions install NGINX Mainline on Debian 9 from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. 1. Open `/etc/apt/sources.list` in a text editor and add the following line to the bottom: diff --git a/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md b/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md index ea76ebc17cf..4ed5a882219 100644 --- a/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md +++ b/docs/guides/web-servers/nginx/install-nginx-ubuntu-ppa/index.md @@ -14,7 +14,7 @@ tags: ["web server","nginx"] aliases: ['/web-servers/nginx/install-nginx-ubuntu-ppa/'] --- -These steps install NGINX Mainline on Ubuntu from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. +These steps install NGINX Mainline on Ubuntu from NGINX Inc's official repository. For other distributions, see the [NGINX admin guide](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-package). For information on configuring NGINX for production environments, see our *[Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/)* series. 1. Open `/etc/apt/sources.list` in a text editor and add the following line to the bottom. Replace `CODENAME` in this example with the codename of your Ubuntu release. For example, for Ubuntu 18.04, named Bionic Beaver, insert `bionic` in place of `CODENAME` below: diff --git a/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md index 26e05b1aadd..d6ae129f0f1 100644 --- a/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -11,10 +11,10 @@ tags: ["web server","ubuntu","nginx"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/websites/nginx/websites-with-nginx-on-ubuntu-12-04-lts-precise-pangolin/index.cfm/','/websites/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/','/websites/nginx/websites-with-nginx-on-ubuntu-12-04-lts-precise-pangolin/','/web-servers/nginx/installation/ubuntu-12-04-precise-pangolin/','/web-servers/nginx/installing-nginx-on-ubuntu-12-04-lts-precise-pangolin/','/websites/nginx/install-nginx-ubuntu-12-04/'] external_resources: - - '[Linode nginx Documentation](/docs/web-servers/nginx/)' + - '[Linode nginx Documentation](/cloud/web-servers/nginx/)' - '[nginx Community Documentation](http://wiki.nginx.org)' - - '[Configure Perl and FastCGI with nginx](/docs/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/)' - - '[Configure PHP and FastCGI with nginx](/docs/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/)' + - '[Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/)' + - '[Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/)' relations: platform: key: how-to-install-nginx @@ -23,17 +23,17 @@ relations: deprecated: true --- -Nginx is a lightweight, high performance web server designed to deliver large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache server](/docs/web-servers/apache/), Nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight, high performance web server designed to deliver large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache server](/cloud/web-servers/apache/), Nginx uses an asynchronous event-driven model which provides more predictable performance under load. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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: @@ -256,4 +256,4 @@ Regardless of installation source or method, Nginx can be tested by navigating t ![Nginx welcome](nginx-welcome.png) -Continue reading our introduction to [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up a web server. +Continue reading our introduction to [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up a web server. diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md index 5dc47ddfbed..d93175d241b 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-arch-linux/index.md @@ -22,7 +22,7 @@ The nginx web server is a fast, lightweight server designed to efficiently handl ## 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 @@ -160,4 +160,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md index c14fb44c6ba..d97096d9e08 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-centos-5/index.md @@ -14,8 +14,8 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[Perl Documentation](http://perldoc.perl.org/)' - - '[Installing Nginx on CentOS 5](/docs/guides/websites-with-nginx-on-centos-5/)' - - '[Basic Ngnix Configuration](/docs/guides/how-to-configure-nginx/)' + - '[Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5/)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' relations: platform: key: nginx-perl-fastcgi @@ -26,11 +26,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your CentOS 5 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -108,7 +108,7 @@ Issue the following commands to enable the site: ln -s /etc/nginx/sites-available/www.example.com /etc/init.d/nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Manager](http://cloud.linode.com/)). +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Manager](http://cloud.linode.com/)). ## Configure FastCGI Wrapper diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md index adf7cdb9698..3e1f9a73e1f 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-5-lenny/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI. -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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -80,7 +80,7 @@ Issue the following commands to enable the site: ln -s /etc/nginx/sites-available/www.example.com /etc/init.d/nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Manager](http://cloud.linode.com/)). +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Manager](http://cloud.linode.com/)). ## Configure FastCGI Wrapper @@ -132,5 +132,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Debian 5 (Lenny)](/docs/web-servers/nginx/installation/debian-5-lenny) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Debian 5 (Lenny)](/cloud/web-servers/nginx/installation/debian-5-lenny) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md index ce9e9022f7a..424eee45f52 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-debian-6-squeeze/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -41,7 +41,7 @@ Issue the following commands to update your system and install the nginx web ser ## Configure DNS -Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](/docs/products/networking/dns-manager/guides/common-dns-configurations/) for instructions. +Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) for instructions. ## Configure Virtual Hosting @@ -181,4 +181,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md index 918cf2e0ce3..1b4682b08a7 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-12/index.md @@ -20,7 +20,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your Fedora 12 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -102,7 +102,7 @@ Issue the following commands to enable the site: ln -s /etc/nginx/sites-available/www.example.com service nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address. ## Configure FastCGI Wrapper @@ -155,5 +155,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Fedora 12](/docs/guides/websites-with-nginx-on-fedora-12/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 12](/cloud/guides/websites-with-nginx-on-fedora-12/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md index 902dd99b263..7fbb4a72a2c 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your Fedora 13 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -100,7 +100,7 @@ Issue the following commands to enable the site: ln -s /etc/nginx/sites-available/www.example.com service nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address (found on the "Remote Access" tab in the [Linode Manager](http://manager.linode.com/)). +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address (found on the "Remote Access" tab in the [Linode Manager](http://manager.linode.com/)). ## Configure FastCGI Wrapper @@ -153,5 +153,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Fedora 13](/docs/guides/websites-with-nginx-on-fedora-13/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md index 97d13a5eecf..6c4a8292c31 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-fedora-14/index.md @@ -22,7 +22,7 @@ The nginx web server is a fast, lightweight server designed to efficiently handl ## 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 @@ -93,7 +93,7 @@ Issue the following commands to enable the site: ln -s /etc/nginx/sites-available/www.example.com /etc/init.d/nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Cloud Manager](http://cloud.linode.com/)). +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Cloud Manager](http://cloud.linode.com/)). ## Configure FastCGI Wrapper @@ -349,5 +349,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Fedora 14](/docs/guides/websites-with-nginx-on-fedora-14/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md index 432d86575b7..a443ffb2915 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -59,7 +59,7 @@ Commands: ## Configure DNS -Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](/docs/products/networking/dns-manager/guides/common-dns-configurations/) for instructions. +Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) for instructions. ## Configure Virtual Hosting @@ -199,4 +199,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md index 4c15ace93b7..ccb112c1334 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your Ubuntu 10.10 (Maverick) 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -41,7 +41,7 @@ Issue the following commands to update your system and install the nginx web ser ## Configure DNS -Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](/docs/products/networking/dns-manager/) for instructions. +Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for instructions. ## Configure Virtual Hosting @@ -181,4 +181,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md index 7a410a7c419..3da79ebc02e 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-11-04-natty/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -41,7 +41,7 @@ Issue the following commands to update your system and install the nginx web ser ## Configure DNS -Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](/docs/products/networking/dns-manager/guides/common-dns-configurations/) for instructions. +Create an "A" record pointing your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) for instructions. ## Configure Virtual Hosting @@ -180,4 +180,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md index 6b97dcaf8ae..7c389b3cfdc 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-12-04-lts-precise-pangolin/index.md @@ -13,7 +13,7 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[Perl Documentation](http://perldoc.perl.org/)' - - '[Basic Ngnix Configuration](/docs/guides/how-to-configure-nginx/)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' relations: platform: key: nginx-perl-fastcgi @@ -24,11 +24,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your Ubuntu 12.04 LTS (Precise Pangolin) 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -45,7 +45,7 @@ Issue the following commands to update your system and install the nginx web ser ## Configure DNS -Create an "A" record that points your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](/docs/products/networking/dns-manager/) for instructions. +Create an "A" record that points your domain name to your Linode's IP address. If you're using the Linode DNS Manager interface, please refer to our [Linode DNS manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for instructions. ## Configure Virtual Hosting diff --git a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md index b2f338fd5a3..a51b78b9ac5 100644 --- a/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with Perl and FastCGI on your Ubuntu 9.10 (Karmic) 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -111,11 +111,11 @@ Issue the following commands to enable the site: ln -s /etc/nginx/sites-available/www.example.com /etc/init.d/nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Cloud Manager](http://cloud.linode.com/)). +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (Perl will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) pointing your domain name to your Linode's IP address (found on the **Networking** tab in the [Linode Cloud Manager](http://cloud.linode.com/)). ## Configure spawn-fcgi -Install the Perl module for FastCGI using the [CPAN Minus](/docs/guides/manage-cpan-modules-with-cpan-minus/) interface for CPAN. Install CPAN Minus and FCGI by issuing the following sequence of commands: +Install the Perl module for FastCGI using the [CPAN Minus](/cloud/guides/manage-cpan-modules-with-cpan-minus/) interface for CPAN. Install CPAN Minus and FCGI by issuing the following sequence of commands: cd /opt/ curl https://github.com/miyagawa/cpanminus/raw/master/cpanm > cpanm @@ -172,5 +172,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [Perl Documentation](http://perldoc.perl.org/) -- [Installing NGINX on Ubuntu 9.10 (Karmic)](/docs/web-servers/nginx/installation/ubuntu-9-10-karmic) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Ubuntu 9.10 (Karmic)](/cloud/web-servers/nginx/installation/ubuntu-9-10-karmic) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md index e1d5d8c8f70..9e3ca8a5047 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-arch-linux/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI on your Arch Linux-powered Linode system. -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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -162,4 +162,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md index bd5dc230161..9c8194b27b2 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-centos-5/index.md @@ -14,8 +14,8 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[PHP Documentation](http://www.php.net/docs.php)' - - '[Installing Nginx on CentOS 5](/docs/guides/websites-with-nginx-on-centos-5/)' - - '[Basic Ngnix Configuration](/docs/guides/how-to-configure-nginx/)' + - '[Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5/)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' relations: platform: key: nginx-php-fastcgi @@ -26,7 +26,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI on your CentOS 5 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -139,7 +139,7 @@ After reviewing your configuration for potential security issues, issue the foll ln -s /etc/nginx/sites-available/www.example.com service nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) pointing your domain name to your Linode's IP address. ## Configure spawn-fcgi diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md index 1c84e656f94..66ca8b3cc16 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-5-lenny/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI. -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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -107,7 +107,7 @@ After reviewing your configuration for potential security issues, issue the foll ln -s /etc/nginx/sites-available/www.example.com /etc/init.d/nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) pointing your domain name to your Linode's IP address. ## Install spawn-fcgi @@ -152,5 +152,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing Nginx on Debian 5 (Lenny)](/docs/web-servers/nginx/installation/debian-5-lenny/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing Nginx on Debian 5 (Lenny)](/cloud/web-servers/nginx/installation/debian-5-lenny/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md index 38ca69c34c5..01dba2e3849 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-debian-6-squeeze/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP via FastCGI 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md index 115616c83fe..19339e4c6af 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-12/index.md @@ -20,7 +20,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI on your Fedora 12 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -129,7 +129,7 @@ After reviewing your configuration for potential security issues, issue the foll ln -s /etc/nginx/sites-available/www.example.com service nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address. ## Configure spawn-fcgi @@ -165,5 +165,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing NGINX on Fedora 12](/docs/guides/websites-with-nginx-on-fedora-12/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 12](/cloud/guides/websites-with-nginx-on-fedora-12/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md index d7a7a6dfc2f..2bce31c05c8 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-13/index.md @@ -20,7 +20,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI on your Fedora 13 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -129,7 +129,7 @@ After reviewing your configuration for potential security issues, issue the foll ln -s /etc/nginx/sites-available/www.example.com service nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address. ## Configure spawn-fcgi @@ -165,5 +165,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing NGINX on Fedora 13](/docs/guides/websites-with-nginx-on-fedora-13/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md index 0d212c384ab..5731152df37 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-fedora-14/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI on your Fedora 14 system. -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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -122,7 +122,7 @@ After reviewing your configuration for potential security issues, issue the foll ln -s /etc/nginx/sites-available/www.example.com service nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address. ## Configure spawn-fcgi @@ -158,5 +158,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing NGINX on Fedora 14](/docs/guides/websites-with-nginx-on-fedora-14/) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing NGINX on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md index 9b5bdc92cc5..8a913ac3142 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP via FastCGI 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md index 96fb37f783b..f84776bccf5 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP via FastCGI on your Ubuntu 10.10 (Maverick) 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md index fdb89f48d8b..0dbb03ea3d8 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-11-04-natty/index.md @@ -20,11 +20,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP via FastCGI 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over 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 @@ -277,4 +277,4 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md index ef80db0d598..355dda0338c 100644 --- a/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/index.md @@ -20,7 +20,7 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP and FastCGI on your Ubuntu 9.10 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/). These steps should be performed via a root login to your Linode over SSH. +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). These steps should be performed via a root login to your Linode over SSH. ## Basic System Configuration @@ -128,7 +128,7 @@ After reviewing your configuration for potential security issues, issue the foll ln -s /etc/nginx/sites-available/www.example.com /etc/init.d/nginx restart -You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](/docs/products/networking/dns-manager/guides/common-dns-configurations/) pointing your domain name to your Linode's IP address. +You may wish to create a test HTML page under `/srv/www/www.example.com/public_html/` and view it in your browser to verify that nginx is properly serving your site (PHP will not work yet). Please note that this will require an [entry in DNS](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) pointing your domain name to your Linode's IP address. ## Install spawn-fcgi @@ -171,5 +171,5 @@ You may wish to consult the following resources for additional information on th - [The NGINX Homepage](http://nginx.org/) - [FastCGI Project Homepage](http://www.fastcgi.com/) - [PHP Documentation](http://www.php.net/docs.php) -- [Installing Nginx on Ubuntu 9.10 (Karmic)](/docs/web-servers/nginx/installation/ubuntu-9-10-karmic) -- [Basic NGINX Configuration](/docs/guides/how-to-configure-nginx/) +- [Installing Nginx on Ubuntu 9.10 (Karmic)](/cloud/web-servers/nginx/installation/ubuntu-9-10-karmic) +- [Basic NGINX Configuration](/cloud/guides/how-to-configure-nginx/) diff --git a/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md b/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md index 186223e4489..8e87edeb7fb 100644 --- a/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md +++ b/docs/guides/web-servers/nginx/nginx-phpfastcgi-ubuntu-14-04/index.md @@ -13,7 +13,7 @@ external_resources: - '[The nginx Homepage](http://nginx.org/)' - '[FastCGI Project Homepage](http://www.fastcgi.com/)' - '[PHP Documentation](http://www.php.net/docs.php)' - - '[Basic Ngnix Configuration](/docs/guides/how-to-configure-nginx/)' + - '[Basic Ngnix Configuration](/cloud/guides/how-to-configure-nginx/)' relations: platform: key: nginx-php-fastcgi @@ -24,11 +24,11 @@ deprecated: true The nginx web server is a fast, lightweight server designed to efficiently handle the needs of both low and high traffic websites. Although commonly used to serve static content, it's quite capable of handling dynamic pages as well. This guide will help you get nginx up and running with PHP via FastCGI on your Ubuntu 14.04 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/) guide. These steps should be performed via a root login to your Linode over SSH. +It is assumed that you've already followed the steps outlined in our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. These steps should be performed via a root login to your Linode over 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 diff --git a/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md b/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md index 10d4328c9a9..6ec36e5deac 100644 --- a/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md +++ b/docs/guides/web-servers/nginx/serve-php-php-fpm-and-nginx/index.md @@ -19,7 +19,7 @@ The [PHP Fast Process Manager](https://php-fpm.org/) is a [FastCGI](https://en.w ## Before You Begin -- **You need a working NGINX setup.** If you do not already have that, complete Part 1 of our Getting Started with NGINX series: [*Basic Installation and Setup*](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +- **You need a working NGINX setup.** If you do not already have that, complete Part 1 of our Getting Started with NGINX series: [*Basic Installation and Setup*](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). - You will need root access to the system, or a user account with `sudo` privileges. @@ -46,7 +46,7 @@ The [PHP Fast Process Manager](https://php-fpm.org/) is a [FastCGI](https://en.w /etc/php/7.0/fpm/pool.d/www.conf /etc/php/7.0/cli/php.ini -3. The `listen.owner` and `listen.group` directives determines owner for PHP-FPM socket. Those are set to `www-data` by default, but they need to match the user and group NGINX is running as. If you installed NGINX using our [*Getting Started with NGINX*](/docs/web-servers/) series, then your setup will be using the `nginx` user and group. You can verify with: +3. The `listen.owner` and `listen.group` directives determines owner for PHP-FPM socket. Those are set to `www-data` by default, but they need to match the user and group NGINX is running as. If you installed NGINX using our [*Getting Started with NGINX*](/cloud/web-servers/) series, then your setup will be using the `nginx` user and group. You can verify with: ps -aux | grep nginx @@ -84,7 +84,7 @@ The [PHP Fast Process Manager](https://php-fpm.org/) is a [FastCGI](https://en.w ## Configure the NGINX Server Block -1. Again pulling from [Part 1 of our NGINX series](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/#configuration-recap), we'll start with a basic Server Block for a static HTTP page being served from `/var/www/example.com`. Replace `example.com` with your site's domain or IP address, and the `root` directive with your site's root directory. +1. Again pulling from [Part 1 of our NGINX series](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/#configuration-recap), we'll start with a basic Server Block for a static HTTP page being served from `/var/www/example.com`. Replace `example.com` with your site's domain or IP address, and the `root` directive with your site's root directory. {{< file "/etc/nginx/conf.d/example.com.conf" nginx >}} server { diff --git a/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md b/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md index 2351e2c01df..7abb2a9c703 100644 --- a/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md +++ b/docs/guides/web-servers/nginx/use-nginx-reverse-proxy/index.md @@ -268,4 +268,4 @@ Follow these steps to get a certificate via Certbot. Certbot will automatically ## Next Steps -For more information about general NGINX configuration, see our [NGINX series](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). For practical examples of NGINX used to reverse proxy applications, see our guides on [RStudio Server](/docs/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/) and [Thingsboard](/docs/guides/install-thingsboard-iot-dashboard/). \ No newline at end of file +For more information about general NGINX configuration, see our [NGINX series](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). For practical examples of NGINX used to reverse proxy applications, see our guides on [RStudio Server](/cloud/guides/how-to-deploy-rstudio-server-using-an-nginx-reverse-proxy/) and [Thingsboard](/cloud/guides/install-thingsboard-iot-dashboard/). \ No newline at end of file diff --git a/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md b/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md index 02a3175366c..5f29fd06094 100644 --- a/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/nginx/use-uwsgi-to-deploy-python-apps-with-nginx-on-ubuntu-12-04/index.md @@ -21,7 +21,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -164,7 +164,7 @@ You can test by pointing a web browser to your domain. If you see `Hello World!` ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances. These instances run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances. These instances run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -201,6 +201,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 12.04 (Precise Pangolin)](/docs/websites/apache/apache-2-web-server-on-ubuntu-12-04-lts-precise-pangolin) -- [Deploy a LEMP Server on Ubuntu 12.04 (Precise Pangolin)](/docs/lemp-guides/ubuntu-12-04-precise-pangolin) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 12.04 (Precise Pangolin)](/cloud/websites/apache/apache-2-web-server-on-ubuntu-12-04-lts-precise-pangolin) +- [Deploy a LEMP Server on Ubuntu 12.04 (Precise Pangolin)](/cloud/lemp-guides/ubuntu-12-04-precise-pangolin) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md b/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md index 2ea94de1a30..5b2567c6d0f 100644 --- a/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md +++ b/docs/guides/web-servers/nginx/using-nginx-proxy-manager/index.md @@ -20,12 +20,12 @@ This tutorial introduces the Nginx Proxy Manager and illustrates how to start us ## 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 >}} ## What Is the Nginx Proxy Manager? @@ -207,7 +207,7 @@ With the prerequisites in place, start up the Nginx Proxy Manager. This calls fo The Docker Compose configuration above contains an optional feature. The `proxiable` network allows you to run the Nginx Proxy Manager within the same Docker network as other services. This gives you the option of easy and secure communications between the proxy manager and your Docker services. -The example Grafana setup in the [How to Expose a Service through the Nginx Proxy Manager](/docs/guides/using-nginx-proxy-manager/#how-to-expose-a-service-through-the-nginx-proxy-manager) section later in this guide leverages this feature. See the included Docker Compose configuration for how the network is included in the service. +The example Grafana setup in the [How to Expose a Service through the Nginx Proxy Manager](/cloud/guides/using-nginx-proxy-manager/#how-to-expose-a-service-through-the-nginx-proxy-manager) section later in this guide leverages this feature. See the included Docker Compose configuration for how the network is included in the service. ### Accessing the Nginx Proxy Manager Interface @@ -240,7 +240,7 @@ The demonstration here leverages useful features of the Nginx Proxy Manager. Fir You must create at least one DNS record for a domain name to proxy your service to. The rest of this tutorial uses `example.com` as the domain, replace that in the example commands with your actual domain name. -While Linode does not provide domain name registration, you can use the Linode DNS manager to manage DNS records for a domain name. Refer to our guide [DNS Manager - Get Started](/docs/products/networking/dns-manager/get-started/) for details on these steps if you are using the Linode DNS Manager. +While Linode does not provide domain name registration, you can use the Linode DNS manager to manage DNS records for a domain name. Refer to our guide [DNS Manager - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) for details on these steps if you are using the Linode DNS Manager. The rest of this tutorial assumes that you have done the following: @@ -304,7 +304,7 @@ GRAFANA_ADMIN_PASSWORD=adminpass With your service running, return to the Nginx Proxy Manager interface. There, add a proxy host for the service, creating a reverse proxy that forwards traffic from the domain to the service. -1. Access the Nginx Proxy Manager interface as previously shown in the [Accessing the Nginx Proxy Manager Interface](/docs/guides/using-nginx-proxy-manager/#accessing-the-nginx-proxy-manager-interface) section. +1. Access the Nginx Proxy Manager interface as previously shown in the [Accessing the Nginx Proxy Manager Interface](/cloud/guides/using-nginx-proxy-manager/#accessing-the-nginx-proxy-manager-interface) section. 1. Navigate to the **Proxy Hosts** page. Get there either using the **Proxy Hosts** button from the **Dashboard** or via the **Hosts > Proxy Hosts** option from the top menu bar. diff --git a/docs/guides/web-servers/nginx/using-openresty/index.md b/docs/guides/web-servers/nginx/using-openresty/index.md index 6471c9a10b8..e1c64cd5a54 100644 --- a/docs/guides/web-servers/nginx/using-openresty/index.md +++ b/docs/guides/web-servers/nginx/using-openresty/index.md @@ -18,12 +18,12 @@ Learn in this guide everything you need to know about OpenResty and how to insta ## 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 OpenResty? @@ -42,7 +42,7 @@ OpenResty is meant to allow your entire app within NXINGX. This makes OpenResty However, there are some use cases that do not take advantage of the extra features of OpenResty. For instance, your web application may not need the additional NGINX modules, or Lua scripting offered by OpenResty. Such cases do not warrant changing over to OpenResty from NGINX, although they could still operate on OpenResty's NGINX core. -Since OpenResty is essentially an enhanced version of NGINX, comparisons between NGINX and Apache apply to OpenResty vs Apache. Thus, you can learn more about how it would compare with Apache through our guide [A Comparison of the NGINX and Apache Web Servers](/docs/guides/comparing-nginx-and-apache-web-servers/). +Since OpenResty is essentially an enhanced version of NGINX, comparisons between NGINX and Apache apply to OpenResty vs Apache. Thus, you can learn more about how it would compare with Apache through our guide [A Comparison of the NGINX and Apache Web Servers](/cloud/guides/comparing-nginx-and-apache-web-servers/). ## How to Install OpenResty @@ -170,7 +170,7 @@ sudo systemctl status openresty With an OpenResty instance installed and running, you can now try out a few examples. -This guide uses the standard HTTP port (`80`) for its examples. To follow along, you should open that port on your instance. Visit our guide on [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). Identify the firewall manager appropriate for your system in the firewall section, and follow the linked guide to open the HTTP port for your system. +This guide uses the standard HTTP port (`80`) for its examples. To follow along, you should open that port on your instance. Visit our guide on [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall). Identify the firewall manager appropriate for your system in the firewall section, and follow the linked guide to open the HTTP port for your system. OpenResty serves as a simple welcome page by default, similar to the default NGINX page. You can access the welcome page by navigating to the server's remote IP address in a web browser. For instance, if your server's remote IP address is `192.0.2.0`, navigate in your browser to `http://192.0.2.0`. diff --git a/docs/guides/web-servers/nginx/web-servers-list/index.md b/docs/guides/web-servers/nginx/web-servers-list/index.md index ccadf2b0ef5..dfed1c42d5c 100644 --- a/docs/guides/web-servers/nginx/web-servers-list/index.md +++ b/docs/guides/web-servers/nginx/web-servers-list/index.md @@ -26,7 +26,7 @@ The web server names listed here are in alphabetical order, not in any order of The [Apache web server](https://httpd.apache.org/) is the most popular web server in the industry. It is developed by the Apache Software Foundation, it’s free and open source. Apache is available for nearly every major operating system including Linux, Unix, FreeBSD, macOS and Microsoft Windows. Because of its popularity and support by a broad developer community, Apache has a wide selection of add-on modules for everything from security to performance enhancements. While Apache is written in C, it supports a wide variety of development languages in its add-on modules. Apache supports HTTP/2 and IPv6 along with a number of important network features. -To get started with the Apache HTTP server, you can consult our extensive library of [Apache guides and tutorials](/docs/guides/web-servers/apache). +To get started with the Apache HTTP server, you can consult our extensive library of [Apache guides and tutorials](/cloud/guides/web-servers/apache). ### Apache Tomcat @@ -34,11 +34,11 @@ To get started with the Apache HTTP server, you can consult our extensive librar ### Caddy Web Server -The [Caddy web server](https://caddyserver.com/) is an open source and free web server developed by Matthew Holt. Caddy runs on Linux, Unix, FreeBSD, macOS, and Microsoft Windows. Caddy automatically uses secure communications with HTTPS and TLS being the defaults. According to Caddy, the server is easy to configure, fast to deploy, and it will run in a variety of environments, including in containers without modification. It’s written in the Go language. Caddy supports HTTP/2, IPv6, reverse proxy and load balancing. Caddy version 2 is now available, which the company says removes some previous limitations. To learn how to install Caddy, refer to our [guides on the Caddy web server](/docs/guides/web-servers/caddy/). +The [Caddy web server](https://caddyserver.com/) is an open source and free web server developed by Matthew Holt. Caddy runs on Linux, Unix, FreeBSD, macOS, and Microsoft Windows. Caddy automatically uses secure communications with HTTPS and TLS being the defaults. According to Caddy, the server is easy to configure, fast to deploy, and it will run in a variety of environments, including in containers without modification. It’s written in the Go language. Caddy supports HTTP/2, IPv6, reverse proxy and load balancing. Caddy version 2 is now available, which the company says removes some previous limitations. To learn how to install Caddy, refer to our [guides on the Caddy web server](/cloud/guides/web-servers/caddy/). ### Eclipse Jetty Webserver -[Eclipse Jetty](https://www.eclipse.org/jetty/) is a free and open source HTTP server, HTTP client, and java servlet container that runs under Java and Jakarta. The server can be used on Linux, Unix, and Microsoft Windows and any other operating system that supports Java applications. Jetty is designed to handle large numbers of connections simultaneously while retaining a small footprint. Jetty can run in containers and on cloud services, and it can be embedded in other applications. Jetty is used as the web server component in other open source projects including [Hadoop](/docs/guides/how-to-install-and-set-up-hadoop-cluster/), OpenNMS, and Eucalyptus. There are several versions of Jetty depending on what version of Java or Jakarta you’re using. Jetty is hosted by the [Eclipse Foundation](https://www.eclipse.org/org/). +[Eclipse Jetty](https://www.eclipse.org/jetty/) is a free and open source HTTP server, HTTP client, and java servlet container that runs under Java and Jakarta. The server can be used on Linux, Unix, and Microsoft Windows and any other operating system that supports Java applications. Jetty is designed to handle large numbers of connections simultaneously while retaining a small footprint. Jetty can run in containers and on cloud services, and it can be embedded in other applications. Jetty is used as the web server component in other open source projects including [Hadoop](/cloud/guides/how-to-install-and-set-up-hadoop-cluster/), OpenNMS, and Eucalyptus. There are several versions of Jetty depending on what version of Java or Jakarta you’re using. Jetty is hosted by the [Eclipse Foundation](https://www.eclipse.org/org/). ### H2O Web Server @@ -60,11 +60,11 @@ The [Lighttpd web server](https://www.lighttpd.net/) (pronounced “lighty”) i [NGINX](https://www.nginx.com/) (pronounced “Engine X”) is considered by many to be a preferred alternative to Apache. It’s a free and open source web server with a wide variety of other capabilities including load balancing, mail proxy, and the ability to provide predictable performance under heavy loads. While the total number of web sites using NGINX is smaller than the number using IIS, NGINX appears on a greater number of large sites, and depending on how you count, it may be as many as Apache. NGINX runs on a number of high-profile sites including Microsoft and IBM, each of which have their own web server software. The server handles a large number of concurrent users using an event-driven approach that avoids multiple threading. NGINX handles secure communications with TLS/SSL and minimizes memory usage. -While NGINX is free and open source, there’s also a company of the same name that’s part of F5 as the [F5 NGINX Application Platform](https://www.nginx.com/products/), which is not free. However, the commercial version provides a number of enterprise level enhancements including security and scalability. Refer to our documentation library to [learn how to install and configure an NGINX web server on Linux](/docs/guides/web-servers/nginx/). +While NGINX is free and open source, there’s also a company of the same name that’s part of F5 as the [F5 NGINX Application Platform](https://www.nginx.com/products/), which is not free. However, the commercial version provides a number of enterprise level enhancements including security and scalability. Refer to our documentation library to [learn how to install and configure an NGINX web server on Linux](/cloud/guides/web-servers/nginx/). ### Node.js -[Node.js](https://nodejs.org/en/) is not a web server itself. It’s the underlying software for web servers built on JavaScript. Node.js provides the modules for networking, security, and other data functions. It allows concurrent operations in the web server software. Node.js is available for Linux, macOS, Microsoft Windows, IBM AIX, FreeBSD, and Open BSD. Libraries for Node.js are widely available on cloud hosting platforms. Get started using Node.js by [installing the Node Version Manager](/docs/guides/how-to-install-use-node-version-manager-nvm/). +[Node.js](https://nodejs.org/en/) is not a web server itself. It’s the underlying software for web servers built on JavaScript. Node.js provides the modules for networking, security, and other data functions. It allows concurrent operations in the web server software. Node.js is available for Linux, macOS, Microsoft Windows, IBM AIX, FreeBSD, and Open BSD. Libraries for Node.js are widely available on cloud hosting platforms. Get started using Node.js by [installing the Node Version Manager](/cloud/guides/how-to-install-use-node-version-manager-nvm/). ### OpenLiteSpeed Web Server diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md index 39d8529c246..03fff475440 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-arch-linux/index.md @@ -18,13 +18,13 @@ tags: ["web server","nginx"] deprecated: true --- -Nginx is a lightweight and high performance web server, designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/), which uses a threaded or process-oriented approach to handling requests, NGINX uses an asynchronous event-driven model to provide more predictable performance under load. +Nginx is a lightweight and high performance web server, designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/), which uses a threaded or process-oriented approach to handling requests, NGINX uses an asynchronous event-driven model to provide more predictable performance under load. -Before you begin installing the NGINX web server, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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/), our [beginner's guide](/docs/products/compute/compute-instances/faqs/), and our [administration basics guide](/docs/guides/linux-system-administration-basics/). +Before you begin installing the NGINX web server, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), our [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances), and our [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -54,13 +54,13 @@ To start the server for the first time, use the following command: /etc/rc.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by NGINX. Continue reading our introduction to [basic NGINX configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by NGINX. Continue reading our introduction to [basic NGINX configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs NGINX Documentation](/docs/web-servers/nginx/) +- [Linode Docs NGINX Documentation](/cloud/web-servers/nginx/) - [NGINX Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with NGINX](/docs/guides/nginx-and-perlfastcgi-on-arch-linux/) -- [Configure PHP and FastCGI with NGINX](/docs/guides/nginx-and-phpfastcgi-on-arch-linux/) +- [Configure Perl and FastCGI with NGINX](/cloud/guides/nginx-and-perlfastcgi-on-arch-linux/) +- [Configure PHP and FastCGI with NGINX](/cloud/guides/nginx-and-phpfastcgi-on-arch-linux/) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md index a367e9b53f1..dd6df8d42d7 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-centos-5/index.md @@ -18,15 +18,15 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -48,7 +48,7 @@ During the installation process you will need to accept the EPEL repository's ke /etc/init.d/nginx start -You can now continue with the [configuration](/docs/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the EPEL maintainers to provide quality control, testing, and security teams to ensure that you're running the best possible version of the server. However, the packages provided by the EPEL project do not necessarily track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the EPEL maintainers to provide quality control, testing, and security teams to ensure that you're running the best possible version of the server. However, the packages provided by the EPEL project do not necessarily track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. # Installing nginx from the Source Distribution @@ -116,7 +116,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/docs/assets/662-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/cloud/assets/662-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-rpm.sh http://www.linode.com/docs/assets/662-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -128,14 +128,14 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. # More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/docs/guides/nginx-and-perlfastcgi-on-centos-5/) -- [Configure PHP and FastCGI with nginx](/docs/guides/nginx-and-phpfastcgi-on-centos-5/) -- [Configure Ruby on Rails with nginx](/docs/guides/ruby-on-rails-with-nginx-on-centos-5/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-centos-5/) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-centos-5/) +- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-centos-5/) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md index 91977fec2f8..3472b845989 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-5-lenny/index.md @@ -18,15 +18,15 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -108,7 +108,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to Manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/docs/assets/659-init-deb.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/cloud/assets/659-init-deb.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-deb.sh http://www.linode.com/docs/assets/659-init-deb.sh mv init-deb.sh /etc/init.d/nginx @@ -119,14 +119,14 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/docs/guides/nginx-and-perlfastcgi-on-debian-5-lenny/) -- [Configure PHP and FastCGI with nginx](/docs/guides/nginx-and-phpfastcgi-on-debian-5-lenny/) -- [Configure Ruby on Rails with nginx](/docs/guides/ruby-on-rails-with-nginx-on-debian-5-lenny/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-debian-5-lenny/) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-debian-5-lenny/) +- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-debian-5-lenny/) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md index 13fcaebaf1c..954cac785c2 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-debian-6-squeeze/index.md @@ -18,15 +18,15 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -101,7 +101,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to Manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/docs/assets/658-init-deb.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/cloud/assets/658-init-deb.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-deb.sh http://www.linode.com/docs/assets/658-init-deb.sh mv init-deb.sh /etc/init.d/nginx @@ -112,11 +112,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/websites-with-nginx-on-debian-6-squeeze/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/websites-with-nginx-on-debian-6-squeeze/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md index a9f4caebc10..223e3035ec6 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-12/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing nginx from EPEL Packages @@ -37,7 +37,7 @@ Once finished, start nginx with the following command: /etc/init.d/nginx start -You can now continue with the [configuration](/docs/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. ## Installing nginx from the Source Distribution @@ -112,7 +112,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/docs/assets/636-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/cloud/assets/636-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-rpm.sh http://www.linode.com/docs/assets/636-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -124,11 +124,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md index 9b25bb32c92..98983d3b28c 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-13/index.md @@ -18,11 +18,11 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. Although nginx is a relatively new entrant in the web server field, it has achieved a great deal of respect for its agility and efficiency, particularly in high profile situations. Many very high traffic and profile websites have begun to use nginx for its efficiency. At the same time, administrators of smaller systems have found nginx ideal for their systems for its slim memory footprint. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing nginx from EPEL Packages @@ -37,7 +37,7 @@ Once finished, start nginx the following command: /etc/init.d/nginx start -You can now continue with the [configuration](/docs/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. ## Installing nginx from the Source Distribution @@ -112,7 +112,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/docs/assets/635-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can create an "init script" using [this example](/cloud/assets/635-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-rpm.sh http://www.linode.com/docs/assets/635-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -124,11 +124,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md index 67bc0d6ed0d..d1b74db46d5 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-fedora-14/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which can provide more predictable performance under load. +Nginx is a lightweight and high performance HTTP web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which can provide more predictable performance under load. -It is assumed that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. 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/). You should be logged into your Linode as the "root" user before proceeding. +It is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). You should be logged into your Linode as the "root" user before proceeding. ## Set the Hostname -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,7 +44,7 @@ Once finished, start nginx the following command: /etc/init.d/nginx start -You can now continue with the [configuration](/docs/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. +You can now continue with the [configuration](/cloud/guides/how-to-configure-nginx/) of nginx. Installing nginx in this manner will allow you to rely on the Fedora package maintainers to provide quality control, testing, and security updates to ensure that you're running the best possible version of the software. However, the packages provided by the Fedora project may not track the latest development of the nginx server and do not allow you to enable certain nginx options at compile time. Given the rapid development of nginx and variances between recent versions, installing from distribution packages is not ideal for many users. Continue to the next section to install nginx directly from source. ## Install nginx from the Source Distribution @@ -119,7 +119,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to manage nginx -Before you begin to use the nginx server, you must create a means of controlling it. You can create an "init script" using [this example](/docs/assets/663-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before you begin to use the nginx server, you must create a means of controlling it. You can create an "init script" using [this example](/cloud/assets/663-init-rpm.sh) to control nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-rpm.sh http://www.linode.com/docs/assets/663-init-rpm.sh mv init-rpm.sh /etc/rc.d/init.d/nginx @@ -131,11 +131,11 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md index d9a68078059..f5cc2e0300b 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-04-lts-lucid/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. This guide will help you get nginx up and running on your Ubuntu 10.04 LTS (Lucid) Linode. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. This guide will help you get nginx up and running on your Ubuntu 10.04 LTS (Lucid) Linode. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -120,7 +120,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to Manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can use our [nginx init script](/docs/assets/660-init-deb.sh) to start, stop, or restart nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can use our [nginx init script](/cloud/assets/660-init-deb.sh) to start, stop, or restart nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-deb.sh http://www.linode.com/docs/assets/660-init-deb.sh mv init-deb.sh /etc/init.d/nginx @@ -131,13 +131,13 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/docs/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/) -- [Configure PHP and FastCGI with nginx](/docs/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-04-lts-lucid/) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-04-lts-lucid/) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md index 174664e4573..03ff1053649 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-10-10-maverick/index.md @@ -18,13 +18,13 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Set the Hostname -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 @@ -122,7 +122,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to Manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can use our [nginx init script](/docs/assets/661-init-deb.sh) to start, stop, or restart nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can use our [nginx init script](/cloud/assets/661-init-deb.sh) to start, stop, or restart nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-deb.sh http://www.linode.com/docs/assets/661-init-deb.sh mv init-deb.sh /etc/init.d/nginx @@ -133,13 +133,13 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by nginx. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/docs/guides/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/) -- [Configure PHP and FastCGI with nginx](/docs/guides/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-10-10-maverick/) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-10-10-maverick/) diff --git a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md index 289f6f4c6c0..0d6d64794c7 100644 --- a/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/websites-with-nginx-on-ubuntu-9-10-karmic/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/docs/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. +Nginx is a lightweight and high performance web server designed with the purpose of delivering large amounts of static content quickly and with efficient use of system resources. In contrast to the [Apache HTTP server](/cloud/web-servers/apache/) that uses a threaded or process-oriented approach to handling requests, nginx uses an asynchronous event-driven model which provides more predictable performance under load. -Before we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 we begin installing the nginx web server, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing nginx from Ubuntu Packages @@ -128,7 +128,7 @@ When upstream sources offer new releases, repeat the instructions for installing ### Create an Init Script to Manage nginx -Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can use our [nginx init script](/docs/assets/634-init-deb.sh) to start, stop, or restart nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: +Before we can begin to use the nginx server, we must create a means of controlling the daemon process. You can use our [nginx init script](/cloud/assets/634-init-deb.sh) to start, stop, or restart nginx. Issue the following commands to download the file, change the execution mode, and set the system to initialize nginx on boot: wget -O init-deb.sh http://www.linode.com/docs/assets/634-init-deb.sh mv init-deb.sh /etc/init.d/nginx @@ -139,14 +139,14 @@ You can now start, stop, and restart nginx just like any other server daemon. Fo /etc/init.d/nginx start -Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/docs/guides/how-to-configure-nginx/) for more information about using and setting up the web server. +Congratulations! You now have a running and fully functional HTTP server powered by the nginx web server. Continue reading our introduction to [basic nginx configuration](/cloud/guides/how-to-configure-nginx/) for more information about using and setting up the web server. ## More Information You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Linode Docs nginx Documentation](/docs/web-servers/nginx/) +- [Linode Docs nginx Documentation](/cloud/web-servers/nginx/) - [nginx Community Documentation](http://wiki.nginx.org) -- [Configure Perl and FastCGI with nginx](/docs/guides/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/) -- [Configure PHP and FastCGI with nginx](/docs/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/) -- [Configure Ruby on Rails with nginx](/docs/guides/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/) +- [Configure Perl and FastCGI with nginx](/cloud/guides/nginx-and-perlfastcgi-on-ubuntu-9-10-karmic/) +- [Configure PHP and FastCGI with nginx](/cloud/guides/nginx-and-phpfastcgi-on-ubuntu-9-10-karmic/) +- [Configure Ruby on Rails with nginx](/cloud/guides/ruby-on-rails-with-nginx-on-ubuntu-9-10-karmic/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md index 9ed98cf9d8a..8f88a3059cf 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-arch-linux/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -109,7 +109,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, consider the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, consider the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -146,5 +146,5 @@ In this example we create the `uwsgicluster` upstream, which has five components You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Deploy a LEMP Server on Arch Linux](/docs/guides/lemp-server-on-arch-linux/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Deploy a LEMP Server on Arch Linux](/cloud/guides/lemp-server-on-arch-linux/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md index b16f2f9c463..c8a301a7d1a 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-centos-5/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -146,7 +146,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -183,6 +183,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on CentOS 5](/docs/guides/websites-with-nginx-on-centos-5/) -- [Deploy a LEMP Server on CentOS 5](/docs/guides/lemp-server-on-centos-5/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on CentOS 5](/cloud/guides/websites-with-nginx-on-centos-5/) +- [Deploy a LEMP Server on CentOS 5](/cloud/guides/lemp-server-on-centos-5/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md index 69df6a2b097..1c7b1b6f836 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -58,7 +58,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/docs/guides/websites-with-nginx-on-debian-5-lenny/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -153,7 +153,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -190,6 +190,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Debian 5 (Lenny)](/docs/guides/websites-with-nginx-on-debian-5-lenny/) -- [Deploy a LEMP Server on Debian 5 (Lenny)](/docs/lemp-guides/debian-5-lenny/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Debian 5 (Lenny)](/cloud/guides/websites-with-nginx-on-debian-5-lenny/) +- [Deploy a LEMP Server on Debian 5 (Lenny)](/cloud/lemp-guides/debian-5-lenny/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md index 1d30e5ae566..5fa45b6c0d3 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -58,7 +58,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/docs/guides/websites-with-nginx-on-debian-6-squeeze/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-debian-6-squeeze/) for compiling nginx from source: apt-get install libpcre3-dev libssl-dev cd /opt/ @@ -152,7 +152,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -189,6 +189,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Debian 5 (Lenny)](/docs/web-servers/nginx/installation/debian-5-lenny) -- [Deploy a LEMP Server on Debian 5 (Lenny)](/docs/lemp-guides/debian-5-lenny/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Debian 5 (Lenny)](/cloud/web-servers/nginx/installation/debian-5-lenny) +- [Deploy a LEMP Server on Debian 5 (Lenny)](/cloud/lemp-guides/debian-5-lenny/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md index bd23cd7f87c..c2818b735da 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-13/index.md @@ -49,7 +49,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/docs/guides/websites-with-nginx-on-fedora-13/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-fedora-13/) for compiling nginx from source: yum groupinstall "Development Tools" yum install zlib-devel wget openssl-devel pcre pcre-devel sudo @@ -148,7 +148,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -185,6 +185,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Fedora 13](/docs/guides/websites-with-nginx-on-fedora-13/) -- [Deploy a LEMP Server on Fedora 13](/docs/guides/lemp-server-on-fedora-13/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Fedora 13](/cloud/guides/websites-with-nginx-on-fedora-13/) +- [Deploy a LEMP Server on Fedora 13](/cloud/guides/lemp-server-on-fedora-13/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md index 5f4061dba92..1be306f0de3 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-fedora-14/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -143,7 +143,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -180,6 +180,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Fedora 14](/docs/guides/websites-with-nginx-on-fedora-14/) -- [Deploy a LEMP Server on Fedora 14](/docs/guides/lemp-server-on-fedora-14/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Fedora 14](/cloud/guides/websites-with-nginx-on-fedora-14/) +- [Deploy a LEMP Server on Fedora 14](/cloud/guides/lemp-server-on-fedora-14/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md index a7ea7d6f1f4..081b1c0ebc0 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -56,7 +56,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Now issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/docs/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid/) for compiling nginx from source: +Now issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Debian packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid/) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -151,7 +151,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, consider the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. Consider our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, consider the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -188,6 +188,6 @@ In this example we create the `uwsgicluster` upstream, which has five components You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 10.04 (Lucid)](/docs/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid/) -- [Deploy a LEMP Server on Ubuntu 10.04 (Lucid)](/docs/lemp-guides/ubuntu-10-04-lucid/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 10.04 (Lucid)](/cloud/guides/websites-with-nginx-on-ubuntu-10-04-lts-lucid/) +- [Deploy a LEMP Server on Ubuntu 10.04 (Lucid)](/cloud/lemp-guides/ubuntu-10-04-lucid/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md index 977e8e49cad..8c5812ba5d9 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-10-10-maverick/index.md @@ -22,7 +22,7 @@ The uWSGI server provides a non-FastCGI method for deploying Python applications ## 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 @@ -58,7 +58,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/docs/guides/websites-with-nginx-on-ubuntu-10-10-maverick/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-10-10-maverick/) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -153,7 +153,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -190,6 +190,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 10.10 (Maverick)](/docs/guides/websites-with-nginx-on-ubuntu-10-10-maverick/) -- [Deploy a LEMP Server on Ubuntu 10.10 (Maverick)](/docs/lemp-guides/ubuntu-10-10-maverick/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 10.10 (Maverick)](/cloud/guides/websites-with-nginx-on-ubuntu-10-10-maverick/) +- [Deploy a LEMP Server on Ubuntu 10.10 (Maverick)](/cloud/lemp-guides/ubuntu-10-10-maverick/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md index 480eaddbf31..f19146439c5 100644 --- a/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/web-servers/nginx/wsgi-using-uwsgi-and-nginx-on-ubuntu-9-10-karmic/index.md @@ -50,7 +50,7 @@ Send the following sequence of commands to set the required file permissions: ## Compile nginx with uWSGI Support -Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/docs/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) for compiling nginx from source: +Issue the following commands to download and compile nginx with support for the `uwsgi` protocol. If you previously installed nginx from Ubuntu packages, remove them at this juncture. The following command sequence mirrors the procedure defined in the [installation guide for nginx](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) for compiling nginx from source: apt-get install libpcre3-dev build-essential libssl-dev cd /opt/ @@ -145,7 +145,7 @@ All requests to URLs ending in `/static` will be served directly from the `/srv/ ## Additional Application Servers -If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: +If the Python application you've deployed requires more application resources than a single Linode instance can provide, all of the methods for deploying a uWSGI application server are easily scaled to rely on multiple uSWGI instances that run on additional Linodes with the request load balanced using nginx's `upstream` capability. See our documentation of [proxy and software load balancing with nginx](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) for more information. For a basic example configuration, see the following example: {{< file "nginx configuration" nginx >}} upstream uwsgicluster { @@ -182,6 +182,6 @@ In this example, we create the `uwsgicluster` upstream, which has five component You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. -- [Installing Nginx on Ubuntu 9.10 (Karmic)](/docs/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) -- [Deploy a LEMP Server on Ubuntu 9.10 (Karmic)](/docs/lemp-guides/ubuntu-9-10-karmic/) -- [Configure nginx Proxy Servers](/docs/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) +- [Installing Nginx on Ubuntu 9.10 (Karmic)](/cloud/guides/websites-with-nginx-on-ubuntu-9-10-karmic/) +- [Deploy a LEMP Server on Ubuntu 9.10 (Karmic)](/cloud/lemp-guides/ubuntu-9-10-karmic/) +- [Configure nginx Proxy Servers](/cloud/guides/use-nginx-as-a-front-end-proxy-and-software-load-balancer/) diff --git a/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md b/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md index 14a0ee383ef..207db847ada 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-centos-6-4/index.md @@ -21,10 +21,10 @@ deprecated: true ![HTTP Proxy Using Squid on CentOS](Creating_an_HTTP_Proxy_Using_Squid_on_CentOS_64_smg.jpg) -Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/docs/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy VPN Services with OpenVPN](/docs/guides/secure-communications-with-openvpn-on-centos-6/). +Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy VPN Services with OpenVPN](/cloud/guides/secure-communications-with-openvpn-on-centos-6/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 Squid diff --git a/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md b/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md index de74d4f2c10..901bb80fd49 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-centos-8/index.md @@ -29,15 +29,15 @@ This guide will show you how to create your own HTTP proxy using Squid, a highly - Bypass certain regional and local network restrictions. {{< note >}} -The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/docs/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/docs/marketplace-docs/guides/openvpn/). +The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn/). {{< /note >}} ## Install Squid -1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/), including adding a limited user account and configuring a firewall. +1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), including adding a limited user account and configuring a firewall. {{< note respectIndent=false >}} -This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} 1. Ensure that your system is up-to-date: @@ -215,7 +215,7 @@ Next, you will enable clients to connect to your Squid HTTP proxy. sudo firewall-cmd --add-port=3128/tcp --permanent sudo firewall-cmd --reload - You can find more information on configuring firewall rules for CentOS in our guide on [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/). + You can find more information on configuring firewall rules for CentOS in our guide on [Introduction to FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). ## Connect to your Squid HTTP Proxy diff --git a/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md b/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md index 8968b598bca..80330c5ffd2 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-debian-10/index.md @@ -29,15 +29,15 @@ This guide will show you how to create your own HTTP proxy using Squid, a highly - Bypass certain regional and local network restrictions. {{< note >}} -The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/docs/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/docs/marketplace-docs/guides/openvpn/). +The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn/). {{< /note >}} ## Install Squid -1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/), including adding a limited user account and configuring a firewall. +1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), including adding a limited user account and configuring a firewall. {{< note respectIndent=false >}} -This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} 1. Ensure that your system is up-to-date: @@ -214,7 +214,7 @@ Next, you will enable clients to connect to your Squid HTTP proxy. sudo ufw allow 3128/tcp - You can find more information on configuring firewall rules for Debian in our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). + You can find more information on configuring firewall rules for Debian in our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). ## Connect to your Squid HTTP Proxy diff --git a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md index 28c233fd7d2..cd49dcb977f 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-12-04/index.md @@ -23,10 +23,10 @@ deprecated: true ![Creating an HTTP Proxy Using Squid on Ubuntu 12.04](creating-an-http-proxy-with-squid-on-ubuntu-1204-title-graphic.jpg "Creating an HTTP Proxy Using Squid on Ubuntu 12.04") -Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/docs/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy VPN Services with OpenVPN](/docs/guides/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/). +Squid is a proxy/cache application with a variety of configurations and uses. This guide will cover using Squid as an HTTP proxy. Please note that unless you follow the last section of the guide [Anonymizing Traffic](#anonymizing-traffic), this will not anonymize your traffic to the outside world, as your originating IP address will still be sent in the X-Forwarded-For header. Additionally, the traffic is not encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guide to [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy VPN Services with OpenVPN](/cloud/guides/secure-communications-with-openvpn-on-ubuntu-12-04-precise-and-debian-7/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 Squid diff --git a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md index 52a0d94a8e6..ef55e252979 100644 --- a/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md +++ b/docs/guides/web-servers/squid/squid-http-proxy-ubuntu-18-04/index.md @@ -29,15 +29,15 @@ This guide will show you how to create your own HTTP proxy using Squid, a highly - Bypass certain regional and local network restrictions. {{< note >}} -The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/docs/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/docs/marketplace-docs/guides/openvpn/). +The traffic passed from your client to your Squid HTTP proxy will not be encrypted and will still be visible on your local network. If you are looking for a solution that offers greater security, you may want to look at our guides on [Setting up an SSH Tunnel](/cloud/guides/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing/) or [Deploy OpenVPN Access Server with Quick Deploy Apps](/cloud/marketplace-docs/guides/openvpn/). {{< /note >}} ## Install Squid -1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/), including adding a limited user account and configuring a firewall. +1. Secure your Linode by completing the instructions in our guide on [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance), including adding a limited user account and configuring a firewall. {{< note respectIndent=false >}} -This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +This guide is written for a limited, non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} 1. Ensure that your system is up-to-date: @@ -214,7 +214,7 @@ Next, you will enable clients to connect to your Squid HTTP proxy. sudo ufw allow 3128/tcp - You can find more information on configuring firewall rules for Ubuntu in our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). + You can find more information on configuring firewall rules for Ubuntu in our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). ## Connect to your Squid HTTP Proxy diff --git a/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md b/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md index dd262ce3da2..8b93970ff9c 100644 --- a/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md +++ b/docs/guides/web-servers/supabase/create-next-js-app-supabase/index.md @@ -22,9 +22,9 @@ This tutorial covers everything you need to get started using these two tools 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. Update your system. @@ -37,7 +37,7 @@ This tutorial covers everything you need to get started using these two tools to ``` {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Create a Supabase Backend @@ -52,7 +52,7 @@ You have two options when it comes to setting up your Supabase instance: - The first is the cloud-hosted option provided by Supabase. To begin, navigate to the [Supabase project creation](https://app.supabase.com/) page and create an account. From there, select **New Project** to get started. -- The other option is self-hosted. To get started with your own self-hosted Supabase instance follow section two of our guide on [How to Self-host Supabase with Docker](/docs/guides/installing-supabase/). Ensure that your self-hosted instance is up and running by executing the following command from its base directory: +- The other option is self-hosted. To get started with your own self-hosted Supabase instance follow section two of our guide on [How to Self-host Supabase with Docker](/cloud/guides/installing-supabase/). Ensure that your self-hosted instance is up and running by executing the following command from its base directory: ```command sudo docker compose up -d @@ -115,7 +115,7 @@ The following steps show you how to initialize a Next.js application with NPM an This guide uses JavaScript code for the Next.js application. However, you can configure Next.js for TypeScript. With that configuration, all of your Next.js application can be managed using TypeScript code instead of JavaScript. You can learn more about setting up a Next.js project with TypeScript in our guide **Building a Next.js App with TypeScript** . -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. It also includes `npx`, which the next step uses to bootstrap a template Next.js project. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). NPM handles the project's dependencies and runs the Next.js frontend. It also includes `npx`, which the next step uses to bootstrap a template Next.js project. 1. Create the Next.js project, using `create-next-app` to bootstrap a template application. This example names the new project `example-app`. @@ -154,7 +154,7 @@ The following sections walk you through each of these files. Follow along to see Typically, Next.js projects use the `pages/index.js` file as an entry point, acting as the center of your application's look and feel. The file may not contain much, but it references other components and brings everything together. -The template created above includes a default `pages/index.js` file. Open that file, and modify its existing contents to those shown below. You can find the full example file [here](/docs/guides/create-next-js-app-supabase/example-app-src/pages/index.js). +The template created above includes a default `pages/index.js` file. Open that file, and modify its existing contents to those shown below. You can find the full example file [here](/cloud/guides/create-next-js-app-supabase/example-app-src/pages/index.js). Follow along with the in-code comments to get explanations what each part of the Next.js code is doing. @@ -189,7 +189,7 @@ export default function Home() { The next file supplies a simple and reusable interface to the Supabase backend. -Add a new `utils` subdirectory to your Next.js project, and create a file there named `supabaseConnection.js`. Give that file the contents shown here. Make sure to replace `http://192.0.2.0:8000` and `example-supabse-anon-key` with your Supabase instance's **API URL** and **anon key**. You can find the full example file [here](/docs/guides/create-next-js-app-supabase/example-app-src/utils/supabaseConnection.js). +Add a new `utils` subdirectory to your Next.js project, and create a file there named `supabaseConnection.js`. Give that file the contents shown here. Make sure to replace `http://192.0.2.0:8000` and `example-supabse-anon-key` with your Supabase instance's **API URL** and **anon key**. You can find the full example file [here](/cloud/guides/create-next-js-app-supabase/example-app-src/utils/supabaseConnection.js). ```file {title="utils/supabaseConnection.js" lang="js" hl_lines="7,8"} // Import the module for client creation from the Supabase SDK. @@ -209,7 +209,7 @@ export const supabase = createClient(supabaseUrl, supabaseAnonKey) To handle the logic for processing and rendering the shopping list, you can create a `ShoppingList` component. Recall that the `index.js` file includes a tag for this component. The component itself handles all of the logic for the shopping list, making your application much more adaptable and expandable. -Add another subdirectory to the project, `components`, and add a file to it named `ShoppingList.js`. Give that file the contents shown in each of the following code blocks. Because this file is more extensive and complicated than the other two, this section breaks it down into parts. However, you can see the whole file [here](/docs/guides/create-next-js-app-supabase/example-app-src/components/ShoppingList.js). +Add another subdirectory to the project, `components`, and add a file to it named `ShoppingList.js`. Give that file the contents shown in each of the following code blocks. Because this file is more extensive and complicated than the other two, this section breaks it down into parts. However, you can see the whole file [here](/cloud/guides/create-next-js-app-supabase/example-app-src/components/ShoppingList.js). - The component first needs to import the necessary modules and set up its state variables. The component also uses the `useEffect` function to call for a fresh shopping list when the component loads. @@ -372,9 +372,9 @@ To start up your Next.js frontend, you should first specify what port you want i - Open the chosen port on your system's firewall to access the application remotely. - - For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). + - For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). - - For AlmaLinux, CentOS Stream, Fedora, and Rocky Linux refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/). + - For AlmaLinux, CentOS Stream, Fedora, and Rocky Linux refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/). Once you have the port set up, start the Next.js development server with the following command: diff --git a/docs/guides/web-servers/supabase/create-react-app-supabase/index.md b/docs/guides/web-servers/supabase/create-react-app-supabase/index.md index 80367bd698f..05494cd1585 100644 --- a/docs/guides/web-servers/supabase/create-react-app-supabase/index.md +++ b/docs/guides/web-servers/supabase/create-react-app-supabase/index.md @@ -24,9 +24,9 @@ In this tutorial, learn how you can put these two remarkable tools together. Fol ## 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. @@ -39,7 +39,7 @@ In this tutorial, learn how you can put these two remarkable tools together. Fol sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Create a Supabase Backend @@ -103,7 +103,7 @@ The React frontend developed here displays a shopping list. It gives the user th These next steps show you how to initialize a React application with NPM and how to add the Supabase client SDK to the project. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). The present guide uses NPM to create a base React project, to install the Supabase client, and to run the React frontend. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). The present guide uses NPM to create a base React project, to install the Supabase client, and to run the React frontend. 1. Create the base React project. This example uses `create-react-app` to bootstrap a new React project and names the new project `example-app`. The command results in a directory with that name being created in the current directory. @@ -362,9 +362,9 @@ You can also configure your application to automatically start on port `3001`, o To open the required port in your system's firewall, follow the appropriate guide of linked below. -- For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +- For Debian and Ubuntu, refer to our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). -- For AlmaLinux, CentOS, and Fedora, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) +- For AlmaLinux, CentOS, and Fedora, refer to our guide on [Enabling and Configuring FirewallD on CentOS](/cloud/guides/introduction-to-firewalld-on-centos/) Once you have done that, you can start up the React server with the following command: diff --git a/docs/guides/web-servers/supabase/installing-supabase/index.md b/docs/guides/web-servers/supabase/installing-supabase/index.md index a54567bba3a..fdf9e6f6a80 100644 --- a/docs/guides/web-servers/supabase/installing-supabase/index.md +++ b/docs/guides/web-servers/supabase/installing-supabase/index.md @@ -20,9 +20,9 @@ This tutorial, the first in our series on Supabase, introduces you to the basics ## 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. -2. 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. +2. 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. 3. Update your system. @@ -34,7 +34,7 @@ This tutorial, the first in our series on Supabase, introduces you to the basics sudo dnf upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 Supabase with Docker @@ -51,9 +51,9 @@ The first step is to install Docker and Docker Compose. Docker runs your Supabas 1. Install Docker using the steps outlined in sections two and three of the following guides, depending on your Linux distribution. - - **Debian and Ubuntu:** [How to Install and Use Docker on Ubuntu and Debian](/docs/guides/installing-and-using-docker-on-ubuntu-and-debian/). + - **Debian and Ubuntu:** [How to Install and Use Docker on Ubuntu and Debian](/cloud/guides/installing-and-using-docker-on-ubuntu-and-debian/). - - **AlmaLinux, CentOS Stream, Fedora, and Rocky Linux:** [How to Install and Use Docker on CentOS and Fedora](/docs/guides/installing-and-using-docker-on-centos-and-fedora/). + - **AlmaLinux, CentOS Stream, Fedora, and Rocky Linux:** [How to Install and Use Docker on CentOS and Fedora](/cloud/guides/installing-and-using-docker-on-centos-and-fedora/). 2. Install the Docker Compose plugin using your distribution's package manager. @@ -109,7 +109,7 @@ If you're on a local machine, simply, navigate to `localhost:3000` in your web b ![Supabase dashboard](supabase-dashboard.png) -However, if you are wanting to access Supabase remotely, you need to open the port in your system's firewall. You can learn about how to do so through our guide on [securing your server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). +However, if you are wanting to access Supabase remotely, you need to open the port in your system's firewall. You can learn about how to do so through our guide on [securing your server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall). You also need to modify the URL values in your Supabase instance's configuration to match your server's remote address. Open Supabase's `.env` file, and change the `SITE_URL`, `API_EXTERNAL_URL`, and `PUBLIC_REST_URL` variables, replacing `localhost` with your server's remote address. @@ -142,7 +142,7 @@ Once you have made the updates, restart your instance: After making the above preparations, you can access the Supabase interface remotely by navigating to port `3000` on your server's remote IP address. For instance, if your server's remote IP address is `192.0.2.0`, navigate in a web browser to `http://192.0.2.0:3000`. {{< note >}} -You may need to open the port in your system's firewall. You can learn about how to do so through our guide on [securing your server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). +You may need to open the port in your system's firewall. You can learn about how to do so through our guide on [securing your server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall). {{< /note >}} ## How to Configure Supabase @@ -214,7 +214,7 @@ NGINX provides an excellent proxy. It routes traffic between the various Supabas Moreover, using NGINX gives a solution for applying SSL certification to your endpoints. Doing so, which is outlined in the next section, provides a vast improvement to your server's security. -1. Install NGINX. Follow steps two and three from our guide on [How to Install and Use NGINX](/docs/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/). Use the drop down at the top of the guide to select your Linux distribution and get the steps matched to it. +1. Install NGINX. Follow steps two and three from our guide on [How to Install and Use NGINX](/cloud/guides/how-to-install-and-use-nginx-on-ubuntu-20-04/). Use the drop down at the top of the guide to select your Linux distribution and get the steps matched to it. Additionally, follow any directions in the above guide related to locating and preparing the NGINX default configuration. On Debian and Ubuntu, for instance, this just means finding the configuration file at `/etc/nginx/sites-available/default`. On AlmaLinux, by contrast, you need first to comment out a section in the `/etc/nginx/nginx.conf` file and create a `/etc/nginx/conf.d/example.com.conf` file (replacing `example.com` with your domain). @@ -293,7 +293,7 @@ The following steps show you how to apply an SSL certificate to Supabase using [ With an SSL certificate, your instance's traffic gets encrypted and secured over HTTPS. -1. Follow along with our guide on [Enabling HTTPS Using Certbot with NGINX](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) up to the step for executing the `certbot` command. Be sure to select the appropriate Linux distribution from the dropdown at the top of that guide. +1. Follow along with our guide on [Enabling HTTPS Using Certbot with NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) up to the step for executing the `certbot` command. Be sure to select the appropriate Linux distribution from the dropdown at the top of that guide. 2. Certbot needs to use `port 80` for Let's Encrypt verification, so temporarily stop NGINX: diff --git a/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md b/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md index ca26aae7c48..f57c3f6cde6 100644 --- a/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md +++ b/docs/guides/websites/cms/basics/best-open-source-content-management-systems/index.md @@ -70,13 +70,13 @@ This is just what it says it is. The best open-source e-commerce CMSs incorporat Here the focus is on publishing words and possibly audio and video content. You need ways for editors and writers to prepare and publish content. You also need to be able to quickly add and change complex links, and to categorize the content. Another important element is the ability to link your content to social media and network platforms. -[WordPress](/docs/guides/websites/cms/wordpress/) is by far the most well-known of these CMSs, but there are many others. +[WordPress](/cloud/guides/websites/cms/wordpress/) is by far the most well-known of these CMSs, but there are many others. ### Social Media Developing an online community site is much more complicated than a simple website. Here content is created not only by you, but by your sites' members as well. This means you must give them the tools they need to create and share content. -While social networking sites such as Facebook and Twitter are based on open-source, you can't use their code to make your own Facebook clone. There are many open-source social media CMSs, such as [Elgg](https://elgg.org/), [Mastodon](/docs/guides/install-mastodon-on-ubuntu-2004/), and [Dolphin](https://github.com/boonex/dolphin.pro), but none of them, or services based on them, have gained anything close to the success of the major social networks. Still, if you want to build a social network of your own, these give you the foundation you need. +While social networking sites such as Facebook and Twitter are based on open-source, you can't use their code to make your own Facebook clone. There are many open-source social media CMSs, such as [Elgg](https://elgg.org/), [Mastodon](/cloud/guides/install-mastodon-on-ubuntu-2004/), and [Dolphin](https://github.com/boonex/dolphin.pro), but none of them, or services based on them, have gained anything close to the success of the major social networks. Still, if you want to build a social network of your own, these give you the foundation you need. ### Content Management System Types @@ -111,7 +111,7 @@ Grav is written primarily in PHP and the [Symfony](https://symfony.com/) web app - It's not ideal for complex websites. -You can quickly deploy an instance of the Grav CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Grav through the Linode Marketplace](/docs/marketplace-docs/guides/grav/) guide to get started. +You can quickly deploy an instance of the Grav CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Grav through the Linode Marketplace](/cloud/marketplace-docs/guides/grav/) guide to get started. ### Drupal @@ -130,7 +130,7 @@ Drupal has many loyal fans, most of whom are hard-core web developers and progra - It has a steep learning curve. - Using Drupal to its best advantage requires programming skills. -You can deploy a Drupal instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Drupal through the Linode Marketplace](/docs/marketplace-docs/guides/drupal/) guide to get started. +You can deploy a Drupal instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Drupal through the Linode Marketplace](/cloud/marketplace-docs/guides/drupal/) guide to get started. ### Ghost @@ -170,7 +170,7 @@ Written in PHP, Joomla stores your data in a MySQL database. Unlike many PHP pro - Sophisticated sites may require a veteran Joomla developer. - Fewer extensions than the most popular CMSs. -You can deploy an instance of the Joomla CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Joomla through the Linode Marketplace](/docs/marketplace-docs/guides/joomla/) guide to get started. +You can deploy an instance of the Joomla CMS on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying Joomla through the Linode Marketplace](/cloud/marketplace-docs/guides/joomla/) guide to get started. ### Magento @@ -212,7 +212,7 @@ To take full advantage of its capabilities, you need to have Python and Zope dev ### Strapi -The headless [Strapi](https://strapi.io/) CMS is built on [Node.js](https://nodejs.org/). It's customizable using APIs. Its database and file content can be accessed for display on websites, smartphones, and Internet of Things (IoT) devices. This content is delivered via the [JAMstack](https://jamstack.org/) static-site generators and front-end frameworks, such as Gatsby.js, Next.js, Nuxt.js, Angular, React, and Vue.js. On the backend, it supports both [SQL and NoSQL databases](/docs/guides/what-is-nosql/). +The headless [Strapi](https://strapi.io/) CMS is built on [Node.js](https://nodejs.org/). It's customizable using APIs. Its database and file content can be accessed for display on websites, smartphones, and Internet of Things (IoT) devices. This content is delivered via the [JAMstack](https://jamstack.org/) static-site generators and front-end frameworks, such as Gatsby.js, Next.js, Nuxt.js, Angular, React, and Vue.js. On the backend, it supports both [SQL and NoSQL databases](/cloud/guides/what-is-nosql/). Strapi is the most popular headless CMS. This new approach takes some getting used to, although once mastered it’s useful. This is especially true when you consider how often your audience may be seeing your website, not with a desktop-based web browser, but on a smartphone, tablet, or IoT device. @@ -265,7 +265,7 @@ WooCommerce is written in PHP, and like the program underneath it, it is license Its flexibility can be confusing until you have a firm grip on all the options. -You can deploy a WooCommerce instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WooCommerce through the Linode Marketplace](/docs/marketplace-docs/guides/woocommerce/) guide to get started. +You can deploy a WooCommerce instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WooCommerce through the Linode Marketplace](/cloud/marketplace-docs/guides/woocommerce/) guide to get started. ### WordPress @@ -288,7 +288,7 @@ WordPress is written in PHP. You can argue it's the program that made PHP the la - Due to the sheer number of all WordPress's options, it can be confusing. - Because it's so popular, hackers target it more than any other CMS. Using a third-party security program such as [WordFence](https://www.wordfence.com/) or [Jetpack](https://jetpack.com/) is essential. -You can deploy a WordPress instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WordPress through the Linode Marketplace](/docs/marketplace-docs/guides/wordpress/) guide to get started. +You can deploy a WordPress instance on a Linode server using the Akamai Quick Deploy App. Follow the steps in the [Deploying WordPress through the Linode Marketplace](/cloud/marketplace-docs/guides/wordpress/) guide to get started. ## Which Top Open-Source Content Management System is Right For You? diff --git a/docs/guides/websites/cms/basics/cms-overview/index.md b/docs/guides/websites/cms/basics/cms-overview/index.md index e1b8d1f9a62..51e53d678f8 100644 --- a/docs/guides/websites/cms/basics/cms-overview/index.md +++ b/docs/guides/websites/cms/basics/cms-overview/index.md @@ -20,7 +20,7 @@ Even experienced programmers often choose using a CMS over coding a website. Con ## Content Management Systems on a Linode -Linode has installation guides for [Drupal](/docs/guides/managing-web-content-with-drupal-7/), [WordPress](/docs/guides/how-to-install-and-configure-wordpress/), and [Joomla](/docs/guides/manage-web-content-with-joomla/). Together, they are the most popular CMS apps on the web. However, before you install, you'll need a running Linode, so see the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. For security, work through the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. And, finally for server configuration, create a LAMP stack with the [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide. +Linode has installation guides for [Drupal](/cloud/guides/managing-web-content-with-drupal-7/), [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/), and [Joomla](/cloud/guides/manage-web-content-with-joomla/). Together, they are the most popular CMS apps on the web. However, before you install, you'll need a running Linode, so see the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. For security, work through the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. And, finally for server configuration, create a LAMP stack with the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. {{< note >}} A LAMP stack is a System Admin term for a web server using Linux, Apache, MySQL, and PHP. Linux is an operating system, Apache is web-server software, MySQL is a database, and PHP is a programming language. This is a common stack combination and supports many CMS applications. @@ -40,25 +40,25 @@ Three of the world's most popular content management systems are open source, fr ### Drupal -[Drupal](/docs/guides/managing-web-content-with-drupal-7/) manages many visually stunning, popular sites like Weather.com, WhiteHouse.gov, and Rutgers.edu. Drupal has been in continuous release since 2001. Because of an active development cycle, Drupal releases an update every two to four months. A huge user community attends bi-annual conferences in North America and Europe. +[Drupal](/cloud/guides/managing-web-content-with-drupal-7/) manages many visually stunning, popular sites like Weather.com, WhiteHouse.gov, and Rutgers.edu. Drupal has been in continuous release since 2001. Because of an active development cycle, Drupal releases an update every two to four months. A huge user community attends bi-annual conferences in North America and Europe. Drupal's strength lies in its organization. Drupal starts with the Drupal core, a base set of files, which allows for package add-ons like themes or modules. The core may have a basic set of modules or built-in themes, but can be continually customized. Optionally, a Drupal distribution is a similar to the core but centered around specific site needs. Distributions exist for kickstarter sites, news media sites, or community-based sites, to name a few. ### Joomla -[Joomla](/docs/guides/manage-web-content-with-joomla/) has been in release since 2005 and manages sites like eBay, General Electric, and Ikea. Joomla released version 4.0 in March 2015. While Drupal has more modules and themes, Joomla has more extensions with thousands of add-on options, although the idea of modules and extensions often overlap. Both Drupal and Joomla have users in the millions, which means thousands of user comments and help topics can be found online. +[Joomla](/cloud/guides/manage-web-content-with-joomla/) has been in release since 2005 and manages sites like eBay, General Electric, and Ikea. Joomla released version 4.0 in March 2015. While Drupal has more modules and themes, Joomla has more extensions with thousands of add-on options, although the idea of modules and extensions often overlap. Both Drupal and Joomla have users in the millions, which means thousands of user comments and help topics can be found online. Joomla works best for intermediate users, and while it lends itself to social collaboration or community-driven website design, it can be customized toward any situation. The installation process is uncomplicated, but generating content will not be as easy as it is with WordPress. ### WordPress -Originally built as a blogger platform, [WordPress](/docs/guides/how-to-install-and-configure-wordpress/) is arguably the easiest to use and the most popular. Initially released in 2003, it has grown rapidly since. The WP platform is used for over 60 million websites, and 100,000 new websites are created daily. +Originally built as a blogger platform, [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) is arguably the easiest to use and the most popular. Initially released in 2003, it has grown rapidly since. The WP platform is used for over 60 million websites, and 100,000 new websites are created daily. WordPress is best for static content. However, WP sites are often built for complex, dynamic solutions because the community is so large and has added so many capabilities. The structure of the company behind WordPress, Automattic, and its philosophy represent the ability for large growth with such an open-source project. ## Next Steps -We have briefly covered the concepts of content management systems, CMS themes, LAMP stacks, CMS add-ons, open source, [Drupal](/docs/guides/managing-web-content-with-drupal-7/), [Joomla](/docs/guides/manage-web-content-with-joomla/), and [WordPress](/docs/guides/how-to-install-and-configure-wordpress/). Create a Linode, follow our installation guides, and start delivering your content to the world. +We have briefly covered the concepts of content management systems, CMS themes, LAMP stacks, CMS add-ons, open source, [Drupal](/cloud/guides/managing-web-content-with-drupal-7/), [Joomla](/cloud/guides/manage-web-content-with-joomla/), and [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/). Create a Linode, follow our installation guides, and start delivering your content to the world. diff --git a/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md b/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md index fc06cbefe03..f9ead2fc3c5 100644 --- a/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md +++ b/docs/guides/websites/cms/cpanel/install-a-commercial-ssl-certificate-using-cpanel/index.md @@ -20,7 +20,7 @@ external_resources: ## Before You Begin -1. This guide requires that you have cPanel/WHM installed and configured on your system. If you do not have it installed, follow our instructions on how to [Install cPanel on CentOS](/docs/guides/install-cpanel-on-centos/). +1. This guide requires that you have cPanel/WHM installed and configured on your system. If you do not have it installed, follow our instructions on how to [Install cPanel on CentOS](/cloud/guides/install-cpanel-on-centos/). 2. You should have a cPanel account created. If you have not created an account yet, reference the cPanel Documentation to learn how to [Create a New Account](https://documentation.cpanel.net/display/ALD/Create+a+New+Account). diff --git a/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md b/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md index ada9d36665e..81db69d59d6 100644 --- a/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md +++ b/docs/guides/websites/cms/cpanel/install-cpanel-on-centos/index.md @@ -26,26 +26,26 @@ You'll need to [obtain a VPS license directly from cPanel](https://store.cpanel. ## Before You Begin -1. Follow Linode's [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide, selecting a Linux distribution that's supported by cPanel. This guide covers AlmaLinux 8, Rocky Linux 8, and CentOS 7 (though cPanel does not recommend using CentOS 7 for new installations). While Ubuntu 20.04 LTS is also supported, it is outside the scope of this guide. Review the [System Requirements](https://docs.cpanel.net/installation-guide/system-requirements/) page within cPanel's documentation for a current list of supported operating systems. +1. Follow Linode's [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide, selecting a Linux distribution that's supported by cPanel. This guide covers AlmaLinux 8, Rocky Linux 8, and CentOS 7 (though cPanel does not recommend using CentOS 7 for new installations). While Ubuntu 20.04 LTS is also supported, it is outside the scope of this guide. Review the [System Requirements](https://docs.cpanel.net/installation-guide/system-requirements/) page within cPanel's documentation for a current list of supported operating systems. -1. Use the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a limited Linux user with `sudo` privileges. +1. Use the [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 limited Linux user with `sudo` privileges. ## DNS Prerequisites -cPanel includes options for hosting your own DNS services. We generally recommend using [Linode DNS services](/docs/products/networking/dns-manager/guides/common-dns-configurations/) because it provides a stable, redundant, and easily managed DNS platform. If you elect to run your own DNS services on a single Linode using cPanel, please be aware that such a setup provides no redundancy. +cPanel includes options for hosting your own DNS services. We generally recommend using [Linode DNS services](https://techdocs.akamai.com/cloud-computing/docs/common-dns-configurations) because it provides a stable, redundant, and easily managed DNS platform. If you elect to run your own DNS services on a single Linode using cPanel, please be aware that such a setup provides no redundancy. -Should you wish to provide DNS services, you'll need to add *A records* for your nameservers in your WHM as described in the [DNS on cPanel guide](/docs/guides/set-up-dns-services-on-cpanel/#nameserver-selection). +Should you wish to provide DNS services, you'll need to add *A records* for your nameservers in your WHM as described in the [DNS on cPanel guide](/cloud/guides/set-up-dns-services-on-cpanel/#nameserver-selection). If you plan to use a domain name for nameservers for which you will also be hosting DNS services, you'll need to ask your domain name registrar to create [DNS glue records](http://en.wikipedia.org/wiki/Domain_Name_System#Circular_dependencies_and_glue_records) based on your Linode's IP addresses before proceeding. ## Kernel Prerequisites -CPanel requires the distribution-supplied/*upstream* CentOS kernel, as opposed to the Linode-provided kernel. Run `uname -r` on your Linode to check which kernel you are booted with. If you are booted under the Linode kernel, follow the [How to Change your Linode's Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) guide for instructions on switching to the upstream kernel. +CPanel requires the distribution-supplied/*upstream* CentOS kernel, as opposed to the Linode-provided kernel. Run `uname -r` on your Linode to check which kernel you are booted with. If you are booted under the Linode kernel, follow the [How to Change your Linode's Kernel](https://techdocs.akamai.com/cloud-computing/docs/manage-the-kernel-on-a-compute-instance) guide for instructions on switching to the upstream kernel. ## Install cPanel {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the **sudo** prefix. For more information on privileges, see our [Users and Groups](/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 >}} Before proceeding, make sure you've purchased a cPanel license. You may obtain a license from the [cPanel Store](https://store.cpanel.net/). Next, log into your Linode as the `root` user via SSH to its IP address (found on the **Networking** tab in the Linode Cloud Manager). @@ -117,7 +117,7 @@ When you've finished, click on **Save & Go to Step 5**. #### Using Self-Managed DNS -If you wish to operate your own DNS servers on your Linode, select either **BIND** or **NSD** under the *Name Server* column. You must list the nameservers you set up in the "DNS Prerequisites" section of this document. Consult Linode's guide on setting up your own nameservers in WHM using a single IP address, available in our [Set up DNS Services on cPanel](/docs/guides/set-up-dns-services-on-cpanel/) guide. +If you wish to operate your own DNS servers on your Linode, select either **BIND** or **NSD** under the *Name Server* column. You must list the nameservers you set up in the "DNS Prerequisites" section of this document. Consult Linode's guide on setting up your own nameservers in WHM using a single IP address, available in our [Set up DNS Services on cPanel](/cloud/guides/set-up-dns-services-on-cpanel/) guide. ![cPanel DNS server selection using custom nameservers.](274-cpanel-whm-04-02-nameservers-custom-large.png) @@ -127,7 +127,7 @@ When you've finished, click on **Save & Go to Step 5**. Step 5 of the cPanel installation covers configuration options for additional cPanel services. -1. We recommend against installing an FTP server on your Linode, as FTP is an outdated and insecure protocol. Instead, we recommend using [SFTP](/docs/guides/sftp-linux/) to upload and download files. However, you may install an FTP server if you wish. SFTP is available by default for any main cPanel username. If you need to add file access for multiple users, you may want to install Pure-FTPd during the configuration phase. +1. We recommend against installing an FTP server on your Linode, as FTP is an outdated and insecure protocol. Instead, we recommend using [SFTP](/cloud/guides/sftp-linux/) to upload and download files. However, you may install an FTP server if you wish. SFTP is available by default for any main cPanel username. If you need to add file access for multiple users, you may want to install Pure-FTPd during the configuration phase. ![cPanel FTP server selection.](275-cpanel-whm-05-ftp-large.png) diff --git a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md index 8ba999a610a..8a740d10f14 100644 --- a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md +++ b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-7/index.md @@ -10,29 +10,29 @@ aliases: ['/websites/cms/drupal/themes-modules-backups-drupal-drush-on-debian-7/ tags: ["drupal","cms","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[SSL Certificates](/docs/security/ssl/)' + - '[SSL Certificates](/cloud/security/ssl/)' deprecated: true deprecated_link: 'websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/' --- Drush is a command line tool, which can be used for various Drupal projects. This tutorial uses Drush to install themes, modules, and a manual backup system, covering some basic administration tasks for Drupal websites. -Linode has another guide for installing Drush and creating a Drupal website, [Installing & Using Drupal Drush on Debian 7](/docs/guides/how-to-install-drush-on-ubuntu-18-04/). Depending on your experience level with Drush, you may want to start with that guide. +Linode has another guide for installing Drush and creating a Drupal website, [Installing & Using Drupal Drush on Debian 7](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/). Depending on your experience level with Drush, you may want to start with that guide. ## Prerequisites Before installing themes, modules, and a backup system with Drush, make sure that the following prerequisites have been met: -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. Configure a LAMP stack using the [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide. +3. Configure a LAMP stack using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. -4. Install Drush and a Drupal website core with the [Installing & Using Drupal Drush on Debian 7](/docs/guides/how-to-install-drush-on-ubuntu-18-04/) guide. +4. Install Drush and a Drupal website core with the [Installing & Using Drupal Drush on Debian 7](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 Themes with Drush @@ -111,7 +111,7 @@ It's always important to keep regular backups of a website. Backups protect you The backup process above can be automated. You must create an SHH Pair Key, a Bash script, and use Cron automation. -1. Create SSH Key Pair Authentication *without a password* for the Linode hosting your Drupal site, and pass the public key to the backup server. This is a simple task. It's covered in the Using [SSH Key Pair Authentication](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key) section of the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Create SSH Key Pair Authentication *without a password* for the Linode hosting your Drupal site, and pass the public key to the backup server. This is a simple task. It's covered in the Using [SSH Key Pair Authentication](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#upload-ssh-key) section of the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. 2. On the Drupal hosting Linode, create a Bash script file. In the file excerpt below, replace `example.com` and the rsync command inputs from step 2 above: @@ -148,7 +148,7 @@ rsync -avz /home/local-user/drush-backups/archive-dump/ remote-user@remote-ip-ad {{< /file >}} - This back up configuration creates a saved version once a week. The Cron timer is set for 12:01 a.m. every Sunday. There are many ways to configure a back up with additional options to consider. Check our [Cron](/docs/guides/schedule-tasks-with-cron/) guide for more information. + This back up configuration creates a saved version once a week. The Cron timer is set for 12:01 a.m. every Sunday. There are many ways to configure a back up with additional options to consider. Check our [Cron](/cloud/guides/schedule-tasks-with-cron/) guide for more information. This backup system leaves saved versions of the site and database on both the local and remote Linodes. Depending on the disk size of your Linode, you may want to occasionally delete older backup versions. The deletion task could be automated within the Bash script above. Since the Cron timer is only set for once a week, disk usage is probably not a large concern. There are many configuration options to consider. diff --git a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md index 1767432853f..2c8e4f778de 100644 --- a/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md +++ b/docs/guides/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-7/index.md @@ -10,7 +10,7 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-o tags: ["debian","drupal","cms","lamp"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: - - '[SSL Certificates](/docs/security/ssl/)' + - '[SSL Certificates](/cloud/security/ssl/)' deprecated: true deprecated_link: 'websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-on-debian-10/' --- @@ -23,14 +23,14 @@ Both new and experienced Drupal users can benefit from learning Drush. Users tha Before installing Drush and Drupal, ensure that the following prerequisites have been met: -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. Configure a LAMP stack using the [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide. +3. Configure a LAMP stack using the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 Git & Composer @@ -164,7 +164,7 @@ Although MySQL accepts passwords with a special character, for example an exclam In server administration, there are many options for user and group permissions. The directions below create a site owner and a site owner's group. The Apache user, named **www-data**, is added to the site owner's group. Then read, write, and execute permissions are granted to both the site owner and the site owner's group. -To create a new user for the site owner position, review the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) guide. +To create a new user for the site owner position, review the [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account) guide. 1. From the `drupal` directory, change ownership of the site to the chosen owner and that owner's group. Replace `exampleuser` below with the chosen owner's username: @@ -194,7 +194,7 @@ File permissions are a constant concern for the system owner or root user. When Your site is now available at **`example.com`/drupal** or **`ipaddress`/drupal**. Sign-in with the generated username and password and start delivering content to the world! -When you're ready for the Drupal site to appear as your homepage, move the site to the **/var/www/`example.com`/** directory and double-check the document root listing in the virtual host file. See Step 5 in the [Configuring Name Based Virtual Hosts](/docs/guides/lamp-server-on-debian-7-wheezy/#configure-name-based-virtual-hosts) section of our *Hosting a Website* guide. +When you're ready for the Drupal site to appear as your homepage, move the site to the **/var/www/`example.com`/** directory and double-check the document root listing in the virtual host file. See Step 5 in the [Configuring Name Based Virtual Hosts](/cloud/guides/lamp-server-on-debian-7-wheezy/#configure-name-based-virtual-hosts) section of our *Hosting a Website* guide. ## Additional Options @@ -204,14 +204,14 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers To start, add a virtual host file with Apache. Next, build another site including the appropriate MySQL, PHP, and CMS configurations. -- To add a virtual host file, read Linode's [Configure Name-based Virtual Hosts](/docs/guides/lamp-server-on-debian-7-wheezy/#configure-name-based-virtual-hosts) guide +- To add a virtual host file, read Linode's [Configure Name-based Virtual Hosts](/cloud/guides/lamp-server-on-debian-7-wheezy/#configure-name-based-virtual-hosts) guide ### Install Drush for the Active User Only diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md index 1682c8604bb..23aa571f6cf 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-8/index.md @@ -19,9 +19,9 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## 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/) guide to create a standard user account, harden SSH access, remove unnecessary network services and create firewall rules for your web server; you may need to make additional firewall exceptions for your specific application. +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) guide to create a standard user account, harden SSH access, remove unnecessary network services and create firewall rules for your web server; you may need to make additional firewall exceptions for your specific application. 3. Update your system: @@ -29,9 +29,9 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) 4. Install and configure a LAMP stack. You can do this in one of two ways: - * See our [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide to configure each component manually. + * See our [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide to configure each component manually. - * Deploy using our LAMP [StackScript](/docs/products/tools/stackscripts/). + * Deploy using our LAMP [StackScript](https://techdocs.akamai.com/cloud-computing/docs/stackscripts). ## Download and Prepare Drupal 8 @@ -121,7 +121,7 @@ Require all granted ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/docs/guides/hosting-a-website-ubuntu-18-04/#create-a-database) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/hosting-a-website-ubuntu-18-04/#create-a-database) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md index 83e0a3f6028..f417181d0e3 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-centos-8/index.md @@ -23,13 +23,13 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## 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 CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) 1. Install the `wget` and `tar` utilities. You will need this in a later section to install the Drupal 8 core. @@ -41,7 +41,7 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -88,7 +88,7 @@ $settings['trusted_host_patterns'] = array( LoadModule rewrite_module modules/mod_rewrite.so {{}} -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. {{< file "/etc/httpd/sites-enabled/example.com.conf" conf >}} @@ -129,7 +129,7 @@ LoadModule rewrite_module modules/mod_rewrite.so ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md index c96687139e9..f31ea36ecc5 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10/index.md @@ -21,22 +21,22 @@ aliases: ['/websites/cms/drupal/how-to-install-and-configure-drupal-on-debian-10 Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. This guide demonstrates how to install Drupal 8 on your Linode running Debian 10. {{< note >}} -If you are not using Debian 10, you can view different Linux distribution versions of this guide in the [Drupal](/docs/websites/cms/drupal/) section of our documentation site. +If you are not using Debian 10, you can view different Linux distribution versions of this guide in the [Drupal](/cloud/websites/cms/drupal/) section of our documentation site. {{< /note >}} ## 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" %}} -3. Install and configure a [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) +3. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -80,7 +80,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -113,7 +113,7 @@ $settings['trusted_host_patterns'] = array( ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md index a4a9b7cafd0..8a40b3a96e3 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-and-configure-drupal-on-ubuntu-18-04/index.md @@ -22,17 +22,17 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## 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" %}} -3. Install and configure a [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +3. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -76,7 +76,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -109,7 +109,7 @@ $settings['trusted_host_patterns'] = array( ![Drupal 8 choose installation profile.](drupal-choose-installation-profile.png) -3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) with a MySQL or MariaDB database. +3. Complete the database configuration using the DB name, username and password you created when [setting up your LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) with a MySQL or MariaDB database. ![Drupal 8 database configuration.](drupal-database-configuration.png) diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md index 47f5077c907..a983c8eb748 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-centos-8/index.md @@ -12,7 +12,7 @@ tags: ["drupal","centos","apache","lamp","php","cms"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: DrupalThemesMods_DrushCentOS8.png external_resources: - - '[SSL Certificates](/docs/security/ssl/)' + - '[SSL Certificates](/cloud/security/ssl/)' - '[Drush Commands](https://docs.drush.org/en/9.x/)' - '[Backup and Migrate](https://www.drupal.org/docs/8/modules/backup-and-migrate/howto-for-backup-and-migrate)' relations: @@ -29,15 +29,15 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-mo Before installing themes, modules, and a backup system using Drush, make sure that the following prerequisites have been met: -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 CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) -1. Install [Composer and Drush on CentOS 8](/docs/guides/how-to-install-drush-on-centos-8/) +1. Install [Composer and Drush on CentOS 8](/cloud/guides/how-to-install-drush-on-centos-8/) 1. Make sure that your system is up to date, using: @@ -61,7 +61,7 @@ In this section you will download, enable, and set a Drupal theme using Drush. composer require drupal/bootstrap {{< note respectIndent=false >}} -If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/docs/guides/how-to-install-drupal-using-drush-on-centos-8/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on CentOS 8](/docs/guides/how-to-install-drupal-using-drush-on-centos-8/) guide. +If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-centos-8/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on CentOS 8](/cloud/guides/how-to-install-drupal-using-drush-on-centos-8/) guide. Ensure that your `/var/www/html/example.com/public_html` directory has user and group read, write, and execute permissions. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md index db9a0772601..e23b857a932 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-debian-10/index.md @@ -12,7 +12,7 @@ tags: ["drupal","lamp","cms","debian"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: DrupalThemesMods_DrushDeb10.png external_resources: - - '[SSL Certificates](/docs/security/ssl/)' + - '[SSL Certificates](/cloud/security/ssl/)' - '[Drush Commands](https://docs.drush.org/en/9.x/)' - '[Backup and Migrate](https://www.drupal.org/docs/8/modules/backup-and-migrate/howto-for-backup-and-migrate)' relations: @@ -25,21 +25,21 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-mo Drush is a command line tool, which can be used for various Drupal projects. This tutorial uses Drush to install themes, modules, and covering some basic administration tasks such as backup and migrate for Drupal websites. -Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Debian 10](/docs/guides/how-to-install-drupal-using-drush-on-debian-10/). Depending on your experience level with Drush, you may want to start with that guide. +Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Debian 10](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10/). Depending on your experience level with Drush, you may want to start with that guide. ## Before You Begin Before installing themes, modules, and a backup system with Drush, make sure that the following prerequisites have been met: -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 Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) +1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) -1. Install [Composer and Drush on Debian 10](/docs/guides/how-to-install-drush-on-debian-10/) +1. Install [Composer and Drush on Debian 10](/cloud/guides/how-to-install-drush-on-debian-10/) 1. Make sure that your system is up to date, using: @@ -64,7 +64,7 @@ In this section you will download, enable, and set a Drupal theme using Drush. composer require drupal/bootstrap {{< note respectIndent=false >}} -If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/docs/guides/how-to-install-drupal-using-drush-on-debian-10/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Debian 10](/docs/guides/how-to-install-drupal-using-drush-on-debian-10/) guide. +If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Debian 10](/cloud/guides/how-to-install-drupal-using-drush-on-debian-10/) guide. Ensure that your `/var/www/html/example.com/public_html` directory has user and group read, write, and execute permissions. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md index 3fd4860c4cd..51b66728397 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-themes-and-modules-using-drush-on-ubuntu-18-04/index.md @@ -12,7 +12,7 @@ tags: ["drupal","ubuntu","cms","lamp"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' image: DrupalThemesMods_DrushUbuntu1804.png external_resources: - - '[SSL Certificates](/docs/security/ssl/)' + - '[SSL Certificates](/cloud/security/ssl/)' - '[Drush Commands](https://docs.drush.org/en/9.x/)' - '[Backup and Migrate](https://www.drupal.org/docs/8/modules/backup-and-migrate/howto-for-backup-and-migrate)' relations: @@ -25,21 +25,21 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-themes-and-mo Drush is a command line tool, which can be used for various Drupal projects. This tutorial uses Drush to install themes, modules, and covering some basic administration tasks such as backup and migrate for Drupal websites. -Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Ubuntu 18.04](/docs/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/). Depending on your experience level with Drush, you may want to start with that guide. +Linode has another guide for installing Drush and creating a Drupal website, [Install Drupal using Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/). Depending on your experience level with Drush, you may want to start with that guide. ## Before You Begin Before installing themes, modules, and a backup system with Drush, make sure that the following prerequisites have been met: -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 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +1. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) -1. Install [Composer and Drush on Ubuntu 18.04](/docs/guides/how-to-install-drush-on-ubuntu-18-04/) +1. Install [Composer and Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/) 1. Make sure that your system is up to date, using: @@ -64,7 +64,7 @@ In this section you will download, enable, and set a Drupal theme using Drush. composer require drupal/bootstrap {{< note respectIndent=false >}} -If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/docs/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Ubuntu 18.04](/docs/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/) guide. +If you receive an error related to not being able to write to the `composer.json` file, see the [Setting the Site’s Ownership and Permissions](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/#setting-the-sites-ownership-and-permissions) section of the [Install Drupal using Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drupal-using-drush-on-ubuntu-18-04/) guide. Ensure that your `/var/www/html/example.com/public_html` directory has user and group read, write, and execute permissions. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md index 43af3e68124..e1397148d13 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-centos-8/index.md @@ -24,15 +24,15 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-o ## 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 CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) -1. Install [Composer and Drush on CentOS 8](/docs/guides/how-to-install-drush-on-centos-8/) +1. Install [Composer and Drush on CentOS 8](/cloud/guides/how-to-install-drush-on-centos-8/) 1. Install the `wget` and `tar` utilities. You will need this in a later section to install the Drupal 8 core. @@ -44,7 +44,7 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-o ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -64,7 +64,7 @@ Ensure that the version number matches the Drupal 8 version you wish to download sudo yum install -y php php-{cli,mysqlnd,json,opcache,xml,mbstring,gd,curl} -1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on CentOS 8](/docs/guides/how-to-install-and-configure-drupal-on-centos-8/#drupal-first-start) guide for more details. +1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/#drupal-first-start) guide for more details. sudo cp /var/www/html/example.com/public_html/sites/default/default.settings.php /var/www/html/example.com/public_html/sites/default/settings.php @@ -91,7 +91,7 @@ $settings['trusted_host_patterns'] = array( LoadModule rewrite_module modules/mod_rewrite.so {{}} -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide, the configuration file for your site is located at `/etc/httpd/conf.d/example.com.conf`. {{< file "/etc/httpd/sites-enabled/example.com.conf" conf >}} @@ -129,7 +129,7 @@ In this section, you will use [Drush](https://www.drush.org/) to install a Drupa cd /var/www/html/example.com/public_html -1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. +1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. drush si standard --db-url=mysql://username:password@localhost/databasename --site-name=example.com @@ -154,7 +154,7 @@ If you encounter errors related to writing to the `sites/default` directory, fol In server administration, there are many options for user and group permissions. The directions below create a site owner and a site owner's group. The site owner will be added to the Apache web server's group, named `apache`. Then, read, write, and execute permissions are granted to the `apache` user and group. -1. To create a new user for the site owner position, see 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. +1. To create a new user for the site owner position, see 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. 1. From the `public_html` directory, change ownership of the site to the `apache` user and group. @@ -192,13 +192,13 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers At a high-level, the steps you will need to follow to begin configuring a Drupal multisite set up are: -- Add a new [MySQL user, password, and database](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) -- Create a new [Apache virtual hosts file and corresponding directories](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) +- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) +- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) - See [Drupal's Multisite documentation](https://www.drupal.org/docs/8/multisite/drupal-8-multisite) for more details. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md index 0cf8f18a8f8..ea2dfc114ed 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-debian-10/index.md @@ -24,19 +24,19 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-o ## 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 Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) +1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) -1. Install [Composer and Drush on Debian 10](/docs/guides/how-to-install-drush-on-debian-10/) +1. Install [Composer and Drush on Debian 10](/cloud/guides/how-to-install-drush-on-debian-10/) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -56,7 +56,7 @@ Ensure that the version number matches the Drupal 8 version you wish to download sudo apt-get install php-gd php-xml php-dom php-simplexml php-mbstring -1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Debian 10](/docs/guides/how-to-install-and-configure-drupal-on-debian-10/#drupal-first-start) guide for more details. +1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/#drupal-first-start) guide for more details. sudo cp /var/www/html/example.com/public_html/sites/default/default.settings.php /var/www/html/example.com/public_html/sites/default/settings.php @@ -80,7 +80,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -111,7 +111,7 @@ In this section, you will use [Drush](https://www.drush.org/) to install a Drupa cd /var/www/html/example.com/public_html -1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. +1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. drush si standard --db-url=mysql://username:password@localhost/databasename --site-name=example.com @@ -136,7 +136,7 @@ If you encounter errors related to writing to the `sites/default` directory, fol In server administration, there are many options for user and group permissions. The directions below create a site owner and a site owner's group. The Apache user, named `www-data`, is added to the site owner's group. Then, read, write, and execute permissions are granted to both the site owner and the site owner's group. -1. To create a new user for the site owner position, see 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. +1. To create a new user for the site owner position, see 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. 1. From the `public_html` directory, change ownership of the site to the site owner and group. Replace `example_user` below with the chosen owner's username: @@ -174,13 +174,13 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers At a high-level, the steps you will need to follow to begin configuring a Drupal multisite set up are: -- Add a new [MySQL user, password, and database](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) -- Create a new [Apache virtual hosts file and corresponding directories](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) +- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) +- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) - See [Drupal's Multisite documentation](https://www.drupal.org/docs/8/multisite/drupal-8-multisite) for more details. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md index 0a5da31b258..9e631049047 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-using-drush-on-ubuntu-18-04/index.md @@ -24,19 +24,19 @@ aliases: ['/websites/cms/drupal/drush-drupal/how-to-install-drupal-using-drush-o ## 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" %}} -3. Install and configure a [How to Install a LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +3. Install and configure a [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) -4. Install [Composer and Drush on Ubuntu 18.04](/docs/guides/how-to-install-drush-on-ubuntu-18-04/) +4. Install [Composer and Drush on Ubuntu 18.04](/cloud/guides/how-to-install-drush-on-ubuntu-18-04/) ## Download and Prepare Drupal 8 -1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. +1. Navigate to your site's document root. If you installed and configured your Apache server using our [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, your document root should be located in the `/var/www/html/example.com/public_html/` directory. Replace `example.com` with your own document root path's name. cd /var/www/html/example.com @@ -56,7 +56,7 @@ Ensure that the version number matches the Drupal 8 version you wish to download sudo apt-get install php-gd php-xml php-dom php-simplexml php-mbstring -1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Ubuntu 18.04](/docs/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/#drupal-first-start) guide for more details. +1. Create your Drupal 8 installation's `settings.php` file from the default settings file. This file will be configured when you run through Drupal's automated web configuration. See the [Install and Configure Drupal on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/#drupal-first-start) guide for more details. sudo cp /var/www/html/example.com/public_html/sites/default/default.settings.php /var/www/html/example.com/public_html/sites/default/settings.php @@ -80,7 +80,7 @@ $settings['trusted_host_patterns'] = array( sudo a2enmod rewrite -2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. +2. Specify the rewrite conditions for your Drupal site's document root in Apache's configuration file using the text editor of your choice. If you installed and configured your Apache server using [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, the configuration file for your site is located at `/etc/apache2/sites-available/example.com.conf`. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -111,7 +111,7 @@ In this section, you will use [Drush](https://www.drush.org/) to install a Drupa cd /var/www/html/example.com/public_html -1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. +1. Your Linode is now ready for you to install a Drupal site. In the command below, replace `mysql://username:password@localhost/databasename` with your own site's username, password, and database. For example, if you followed the [How to Install a LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) your username is `webuser`, password is `password`, and the database is `webdata`. Also, replace `--site-name=example.com` with your own website's name. drush si standard --db-url=mysql://username:password@localhost/databasename --site-name=example.com @@ -136,7 +136,7 @@ If you encounter errors related to writing to the `sites/default` directory, fol In server administration, there are many options for user and group permissions. The directions below create a site owner and a site owner's group. The Apache user, named `www-data`, is added to the site owner's group. Then, read, write, and execute permissions are granted to both the site owner and the site owner's group. -1. To create a new user for the site owner position, see 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. +1. To create a new user for the site owner position, see 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. 1. From the `public_html` directory, change ownership of the site to the site owner and group. Replace `example_user` below with the chosen owner's username: @@ -174,13 +174,13 @@ There are many ways to set up administration for a website. Below are sections e The above setup is designed for ease of use. However, there are setups designed for tighter security and other considerations. -- To design your own setup, read Linode's documentation on [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide +- To design your own setup, read Linode's documentation on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/) guide - For an extremely secure setup, read Drupal's [Securing File Permissions and Ownership](https://www.drupal.org/node/244924) guide ### Multi-site Servers At a high-level, the steps you will need to follow to begin configuring a Drupal multisite set up are: -- Add a new [MySQL user, password, and database](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) -- Create a new [Apache virtual hosts file and corresponding directories](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) +- Add a new [MySQL user, password, and database](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#mysql) +- Create a new [Apache virtual hosts file and corresponding directories](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#virtual-hosts) - See [Drupal's Multisite documentation](https://www.drupal.org/docs/8/multisite/drupal-8-multisite) for more details. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md index ddb175249cf..2c22f3f78d5 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-debian-10/index.md @@ -36,9 +36,9 @@ Using the Drupal and PostgreSQL images from Docker Hub offers the following bene ## 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" %}} @@ -154,4 +154,4 @@ The `docker-compose.yml` specifies the `latest` version of the Drupal image, so ## Next Steps -More extensive documentation on Docker is available in the [Containers](/docs/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/applications/containers/) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md index 808aaceed8d..71b1a1ebf57 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drupal-with-docker-compose-ubuntu-18-04/index.md @@ -36,9 +36,9 @@ Using the Drupal and PostgreSQL images from Docker Hub offers the following bene ## 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" %}} @@ -154,4 +154,4 @@ The `docker-compose.yml` specifies the `latest` version of the Drupal image, so ## Next Steps -More extensive documentation on Docker is available in the [Containers](/docs/applications/containers/) section of the Linode Guides & Tutorials site. +More extensive documentation on Docker is available in the [Containers](/cloud/applications/containers/) section of the Linode Guides & Tutorials site. diff --git a/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md index 60d6556784e..b221012bcc0 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drush-on-centos-8/index.md @@ -29,19 +29,19 @@ Both new and experienced Drupal users can benefit from learning Drush. Users tha Before installing Drush, ensure that you complete the following steps: -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 and configure a [LAMP stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/). +1. Install and configure a [LAMP stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 Git & Composer -The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/docs/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. +The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. 1. Install Git: @@ -67,7 +67,7 @@ Composer is designed to install PHP dependencies on a per-project basis. The ste sudo ln -s /usr/local/bin/composer /usr/bin/composer -1. Use Git to download - or [clone](/docs/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: +1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush diff --git a/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md index 1a0037d17e9..d6fe60eb219 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drush-on-debian-10/index.md @@ -29,17 +29,17 @@ Both new and experienced Drupal users can benefit from learning Drush. Users tha Before installing Drush, ensure that the following prerequisites have been met: -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 and configure a [LAMP stack on Debian 10](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) +1. Install and configure a [LAMP stack on Debian 10](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 Git & Composer -The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/docs/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. +The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. 1. Install Git: @@ -65,7 +65,7 @@ Composer is designed to install PHP dependencies on a per-project basis. The ste sudo ln -s /usr/local/bin/composer /usr/bin/composer -1. Use Git to download - or [clone](/docs/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: +1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush diff --git a/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md index 8b7689741fb..34e23fead30 100644 --- a/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-install-drush-on-ubuntu-18-04/index.md @@ -29,18 +29,18 @@ Both new and experienced Drupal users can benefit from learning Drush. Users tha Before installing Drush, ensure that the following prerequisites have been met: -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 and configure a [LAMP stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +1. Install and configure a [LAMP stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 Git & Composer -The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/docs/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. +The developers of Drush recommend installing Drush using [Composer](https://getcomposer.org/doc/00-intro.md), a PHP dependency manager. Since the Drush project is hosted on [GitHub](https://github.com/) and controlled with [Git](/cloud/guides/how-to-configure-git/), you will also need to install Git. In this section, you will install both dependencies. 1. Install Git: @@ -66,7 +66,7 @@ Composer is designed to install PHP dependencies on a per-project basis. The ste sudo ln -s /usr/local/bin/composer /usr/bin/composer -1. Use Git to download - or [clone](/docs/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: +1. Use Git to download - or [clone](/cloud/guides/how-to-install-git-and-clone-a-github-repository/#clone-a-github-test-repository) - the [GitHub Drush project](https://github.com/drush-ops/drush) into a new directory, `/usr/local/src/drush`: sudo git clone https://github.com/drush-ops/drush.git /usr/local/src/drush diff --git a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md index 78aca0e4802..8d37d648057 100644 --- a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md +++ b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/index.md @@ -18,13 +18,13 @@ relations: aliases: ['/websites/cms/drupal/how-to-update-drupal-8-on-centos-8/'] --- -Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/docs/guides/how-to-install-and-configure-drupal-on-centos-8/) running a [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) on CentOS 8. +Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) on CentOS 8. ## Before You Begin -1. Complete all the steps in the [Install and Configure Drupal 8 on CentOS 8](/docs/guides/how-to-install-and-configure-drupal-on-centos-8/) guide. +1. Complete all the steps in the [Install and Configure Drupal 8 on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/) guide. -1. If you followed the [Install and Configure Drupal 8 on CentOS 8](/docs/guides/how-to-install-and-configure-drupal-on-centos-8/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. +1. If you followed the [Install and Configure Drupal 8 on CentOS 8](/cloud/guides/how-to-install-and-configure-drupal-on-centos-8/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. ls /var/wwww/html/ @@ -49,7 +49,7 @@ In this section, you will create an archive of your Drupal site's files and stor sudo mv -v example.com-BCKP-*.tar.gz ../backups {{< note respectIndent=false >}} -This process can also be scripted and run on a regular basis using [cron](/docs/guides/schedule-tasks-with-cron/). +This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/). {{< /note >}} ## Download Updates diff --git a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md index 0c9edd0f0c9..14fe7fd1f6a 100644 --- a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md +++ b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/index.md @@ -19,13 +19,13 @@ relations: aliases: ['/websites/cms/drupal/how-to-update-drupal-8-on-debian-10/'] --- -Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/docs/guides/how-to-install-and-configure-drupal-on-debian-10/) running a [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) on Debian 10. +Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) on Debian 10. ## Before You Begin -1. Complete all the steps in the [Install and Configure Drupal 8 on Debian 10](/docs/guides/how-to-install-and-configure-drupal-on-debian-10/) guide. +1. Complete all the steps in the [Install and Configure Drupal 8 on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/) guide. -1. If you followed the [Install and Configure Drupal 8 on Debian 10](/docs/guides/how-to-install-and-configure-drupal-on-debian-10/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. +1. If you followed the [Install and Configure Drupal 8 on Debian 10](/cloud/guides/how-to-install-and-configure-drupal-on-debian-10/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. ls /var/wwww/html/ @@ -50,7 +50,7 @@ In this section, you will create an archive of your Drupal site's files and stor sudo mv -v example.com-BCKP-*.tar.gz ../backups {{< note respectIndent=false >}} -This process can also be scripted and run on a regular basis using [cron](/docs/guides/schedule-tasks-with-cron/). +This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/). {{< /note >}} ## Download Updates diff --git a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md index 8fe7b783c19..eabc3a61ca9 100644 --- a/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/index.md @@ -18,17 +18,17 @@ relations: aliases: ['/websites/cms/drupal/how-to-update-drupal-8-on-ubuntu-18-04/'] --- -Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/docs/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) running a [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) on Ubuntu 18.04. +Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) content management system. While Drupal 8.1 includes a simple feature for incremental updates, you must preform manual Drupal core updates for any preceding versions. This guide demonstrates how to manually install an incremental Drupal 8 update on your Linode. The examples in this guide assume you have a functional [Drupal 8 installation](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) running a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) on Ubuntu 18.04. {{< note >}} -If you are not using Ubuntu 18.04, you can find a version of this guide for your Linux distribution in the [Drupal](/docs/websites/cms/drupal/) section of our documentation site. +If you are not using Ubuntu 18.04, you can find a version of this guide for your Linux distribution in the [Drupal](/cloud/websites/cms/drupal/) section of our documentation site. {{< /note >}} ## Before You Begin -1. Complete all the steps in the [Install and Configure Drupal 8 on Ubuntu 18.04](/docs/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) guide. +1. Complete all the steps in the [Install and Configure Drupal 8 on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) guide. -1. If you followed the [Install and Configure Drupal 8 on Ubuntu 18.04](/docs/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. +1. If you followed the [Install and Configure Drupal 8 on Ubuntu 18.04](/cloud/guides/how-to-install-and-configure-drupal-on-ubuntu-18-04/) guide, your site's document root should be in the `/var/www/html/example.com/` directory, where `example.com` is your own site's domain name. You can list all your directories in `/var/www/html` to verify the location of your site's document root. ls /var/wwww/html/ @@ -53,7 +53,7 @@ In this section, you will create an archive of your Drupal site's files and stor sudo mv -v example.com-BCKP-*.tar.gz ../backups {{< note respectIndent=false >}} -This process can also be scripted and run on a regular basis using [cron](/docs/guides/schedule-tasks-with-cron/). +This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/). {{< /note >}} ## Download Updates diff --git a/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md b/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md index bd19aed932c..c01291448be 100644 --- a/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md +++ b/docs/guides/websites/cms/drupal/installing-and-using-php-composer/index.md @@ -31,14 +31,14 @@ Composer only works on PHP version 5.3.2 or above, although PHP 5.3.4 or higher ## 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. **Do not** follow the *Configure a Firewall* section yet. This guide includes firewall rules specifically for an OpenVPN server. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall* section yet. This guide includes firewall rules specifically for an OpenVPN server. 1. Ensure PHP is already installed on the Linode. PHP 5.3.4 or above is required, but the latest version is recommended. Use the command `php -v` to determine the version of PHP that is installed. {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## How to Install and Update PHP Composer diff --git a/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md b/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md index 8a9869f3b3c..94aef2eb0a3 100644 --- a/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md +++ b/docs/guides/websites/cms/drupal/managing-web-content-with-drupal-7/index.md @@ -13,7 +13,7 @@ aliases: ['/websites/cms/drupal/managing-web-content-with-drupal-7/','/websites/ deprecated: true --- -Drupal is an advanced and powerful content management framework, built on the PHP scripting language and supported by a [database](/docs/databases/) engine like [MySQL](/docs/databases/mysql/). Drupal provides a flexible system that can be used to manage websites of all different types and profiles. Drupal is capable of providing the tools necessary to create rich, interactive "community" websites with forums, user blogs, and private messaging. Drupal can also provide support for multifaceted personal publishing projects and can power podcasts, blogs, and knowledge-based systems, all within a single, unified platform. +Drupal is an advanced and powerful content management framework, built on the PHP scripting language and supported by a [database](/cloud/databases/) engine like [MySQL](/cloud/databases/mysql/). Drupal provides a flexible system that can be used to manage websites of all different types and profiles. Drupal is capable of providing the tools necessary to create rich, interactive "community" websites with forums, user blogs, and private messaging. Drupal can also provide support for multifaceted personal publishing projects and can power podcasts, blogs, and knowledge-based systems, all within a single, unified platform. As the system's functionality is highly modular, one might even be inclined to think about Drupal not strictly as a content management system but rather as a content management framework. In addition to the core infrastructure, there are a number of Drupal modules that allow administrators of Drupal sites to provide specific functionality to the users of their sites without needing to spend resources on custom development. Furthermore, Drupal has an advanced theming engine that allows for a great amount of flexibility for displaying content in a visually useful and productive manner. @@ -21,15 +21,15 @@ As the system's functionality is highly modular, one might even be inclined to t Before we begin with the Drupal installation, there are few other guides that provide instructions for installing the necessary prerequisites. -- If you're new to Linux system administration, consider our [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/) guides. -- Before you can install Drupal, please complete our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to get a fully updated and running system. -- Then, you will want to use one of the [LAMP](/docs/web-servers/lamp/) guides, or for beginners, the [Hosting a Website](/docs/guides/hosting-a-website-ubuntu-18-04/) guide to get a functioning Linux/Apache/MySQL/PHP stack installed on your Linode. -- If you want more information about installing [Apache](/docs/web-servers/apache/) or [the MySQL database](/docs/databases/mysql/), our guides provide some additional information regarding these dependencies. +- If you're new to Linux system administration, consider our [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/) guides. +- Before you can install Drupal, please complete our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to get a fully updated and running system. +- Then, you will want to use one of the [LAMP](/cloud/web-servers/lamp/) guides, or for beginners, the [Hosting a Website](/cloud/guides/hosting-a-website-ubuntu-18-04/) guide to get a functioning Linux/Apache/MySQL/PHP stack installed on your Linode. +- If you want more information about installing [Apache](/cloud/web-servers/apache/) or [the MySQL database](/cloud/databases/mysql/), our guides provide some additional information regarding these dependencies. With these dependencies installed and running, we're ready to begin installing the Drupal content management system. We assume that you have a working SSH connection to your server and database credentials to access your database server. {{< note >}} -The steps required in this guide require root privileges. Be sure to run the steps below as ``root`` or with the **sudo** prefix. For more information on privileges see our [Users and Groups](/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 >}} ## Download and Install Drupal 7 @@ -143,7 +143,7 @@ You're now ready to begin using Drupal. Because Drupal is such a flexible and versatile system, it is difficult to recommend any particular set of practices for effective Drupal administration. The following guidelines and suggestions may be helpful on your journey: -- Drupal sites tend to consume a great deal of system resources because of the way the system interacts with the database server. If you're having this kind of problem, consider resizing your Linode for more RAM or running your database on a [dedicated database server](/docs/guides/how-to-install-mysql-on-debian-7/). +- Drupal sites tend to consume a great deal of system resources because of the way the system interacts with the database server. If you're having this kind of problem, consider resizing your Linode for more RAM or running your database on a [dedicated database server](/cloud/guides/how-to-install-mysql-on-debian-7/). - While it may be tempting to use many modules, it's often prudent to restrict your use of contributed modules to only those that provide functionality that you actively need. Turn off modules that you're not using to reduce your risk of running out of system resources or presenting possible security vulnerabilities. - Linode - and the Drupal community - recommend that you avoid doing development work on you production machine. If at all possible, keep a clone of your production environment on an alternate server or on your local machine. This will allow you to test new modules and changes without affecting your live site. diff --git a/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md b/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md index 6c5e5ff77f5..ea57a0dae86 100644 --- a/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md +++ b/docs/guides/websites/cms/drupal/update-and-secure-drupal-8-on-ubuntu/index.md @@ -22,9 +22,9 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) 1. Ensure that you have completed the following guides: - - [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) - - [Install a LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) - - [Install and Configure Drupal 8](/docs/guides/how-to-install-and-configure-drupal-8/) + - [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) + - [Install a LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) + - [Install and Configure Drupal 8](/cloud/guides/how-to-install-and-configure-drupal-8/) 2. Confirm the name of your site's Document Root folder by running the following command on your Linode: @@ -41,7 +41,7 @@ Drupal 8 is the latest version of the popular [Drupal](https://www.drupal.org/) ## Create Backups -Back up existing files and move the archive into the backups directory. This process can also be scripted and run on a regular basis using [cron](/docs/guides/schedule-tasks-with-cron/): +Back up existing files and move the archive into the backups directory. This process can also be scripted and run on a regular basis using [cron](/cloud/guides/schedule-tasks-with-cron/): cd /var/www/html/example.com/public_html sudo tar -cvzf example.com-BCKP-$(date +%Y%m%d).tar.gz ./ @@ -103,7 +103,7 @@ If `update.php` does not load or returns a 403 Forbidden error, you can try to c 4. Follow the prompts to continue the update. -5. If installing additional modules or configuring additional security settings, proceed to the *[Additional Security](/docs/guides/update-and-secure-drupal-8-on-ubuntu/#additional-security)* section below. Return to Step 6 once those configurations are complete. +5. If installing additional modules or configuring additional security settings, proceed to the *[Additional Security](/cloud/guides/update-and-secure-drupal-8-on-ubuntu/#additional-security)* section below. Return to Step 6 once those configurations are complete. 6. Rebuild the site's cache by clicking **Configuration** in the Admin Toolbar, then **Performance** under Development. Click **Clear all caches**. @@ -111,7 +111,7 @@ If `update.php` does not load or returns a 403 Forbidden error, you can try to c 8. From your Linode, open `/var/www/html/example.com/public_html/sites/default/settings.php` and confirm that `$update_free_access = FALSE`. -9. If everything looks good, take the site out of maintenance mode *[described above](/docs/guides/update-and-secure-drupal-8-on-ubuntu/#put-the-site-into-maintenance-mode)* by unchecking the box next to "Put site into maintenance mode." +9. If everything looks good, take the site out of maintenance mode *[described above](/cloud/guides/update-and-secure-drupal-8-on-ubuntu/#put-the-site-into-maintenance-mode)* by unchecking the box next to "Put site into maintenance mode." ## Additional Security diff --git a/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md b/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md index 29490cccf0a..516b237a83e 100644 --- a/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md +++ b/docs/guides/websites/cms/flatpress/manage-web-content-with-flatpress/index.md @@ -15,7 +15,7 @@ deprecated: true FlatPress is a web application for managing and publishing blogs. Modeled on other popular content management systems for blogging, FlatPress uses a file-based system for storing content and does not require any kind of database system. FlatPress provides advanced features, and depending on the specific needs of your project, FlatPress may support higher load. Additionally, FlatPress provides a fully featured template engine and plugin framework for user-generated plug-ins. -This guide assumes that you have completed the appropriate [Apache Web server](/docs/web-servers/apache/) installation guide for your operating system but you may choose an alternate web server such as [nginx](/docs/web-servers/nginx/) to provide access to your FlatPress powered site. +This guide assumes that you have completed the appropriate [Apache Web server](/cloud/web-servers/apache/) installation guide for your operating system but you may choose an alternate web server such as [nginx](/cloud/web-servers/nginx/) to provide access to your FlatPress powered site. ## Installing Prerequisites diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md index 17526c9fdfc..a58df887dea 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-on-ubuntu-16-04/index.md @@ -31,14 +31,14 @@ Ghost 1.0.0 is the first major, stable release of the Ghost content management s In this guide you'll set up, deploy, and secure a Ghost 1.0.0 blog on a Linode running Ubuntu 16.04 LTS, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/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, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} ## Before you Begin -1. This guide assumes that you've followed the steps in our [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and have created a new user for Ghost with elevated `sudo` privileges. The example in this guide uses `ghostexample`. +1. This guide assumes that you've followed the steps in our [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 have created a new user for Ghost with elevated `sudo` privileges. The example in this guide uses `ghostexample`. 2. Ensure that you have a valid domain name and properly configured DNS records for your domain. diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md index 5aa5235e7a7..36c23064cf9 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-cms-with-docker-compose-on-ubuntu-18-04/index.md @@ -32,15 +32,15 @@ In this guide you'll deploy Ghost using Docker Compose on Ubuntu 18.04. Ghost is ## 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 >}} Replace each instance of example.com in this guide with your Ghost site’s domain name. {{< /note >}} -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 Ghost Linode. +1. Complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name that will point to your Ghost Linode. 1. Your Ghost site will serve its content over HTTPS, so you will need to obtain an SSL/TLS certificate. Use [Certbot](https://certbot.eff.org/) to request and download a free certificate from [Let's Encrypt](https://letsencrypt.org/): @@ -58,7 +58,7 @@ Replace each instance of example.com in this guide with your Ghost site’s doma In your deployment, the web server will run in its own container, and the Certbot container would not be able to directly reload it. A workaround for this limitation would be needed to enable this architecture. {{< /note >}} -1. Install Docker and Docker Compose before proceeding. If you haven't used Docker before, review the [Introduction to Docker](/docs/guides/introduction-to-docker/), [When and Why to Use Docker](/docs/guides/when-and-why-to-use-docker/), and [How to Use Docker Compose](/docs/guides/how-to-use-docker-compose/) guides for some context on how these technologies work. +1. Install Docker and Docker Compose before proceeding. If you haven't used Docker before, review the [Introduction to Docker](/cloud/guides/introduction-to-docker/), [When and Why to Use Docker](/cloud/guides/when-and-why-to-use-docker/), and [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) guides for some context on how these technologies work. ### Install Docker diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md index 5fec5df9259..30bdc59d37d 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-centos-8/index.md @@ -27,19 +27,19 @@ aliases: ['/websites/cms/ghost/how-to-install-ghost-on-centos-8/'] ## In This Guide -In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running CentOS 8, using NGINX, MariaDB, Node.js, NPM, and Ghost-CLI. For installation instructions for other distributions, click [here](/docs/websites/cms/ghost). +In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running CentOS 8, using NGINX, MariaDB, Node.js, NPM, and Ghost-CLI. For installation instructions for other distributions, click [here](/cloud/websites/cms/ghost). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/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, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} ## Before you Begin -1. This guide assumes that you've followed the steps in our [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and have created a new user for Ghost with elevated `sudo` privileges. The example username used in this guide is `ghostexample`. +1. This guide assumes that you've followed the steps in our [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 have created a new user for Ghost with elevated `sudo` privileges. The example username used in this guide is `ghostexample`. -1. Ensure that you have a valid domain name and [properly configured DNS records](/docs/products/networking/dns-manager/) for your domain. +1. Ensure that you have a valid domain name and [properly configured DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain. 1. Ensure that your system is up to date: diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md index f6dc62b857e..59571ceb676 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-debian-10/index.md @@ -27,19 +27,19 @@ aliases: ['/websites/cms/ghost/how-to-install-ghost-on-debian-10/'] ## In This Guide -In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Debian 10, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/docs/websites/cms/ghost). +In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Debian 10, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/cloud/websites/cms/ghost). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/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, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} ## Before you Begin -1. This guide assumes that you've followed the steps in our [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and have created a new user for Ghost with elevated `sudo` privileges. The example username used in this guide is `ghostexample`. +1. This guide assumes that you've followed the steps in our [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 have created a new user for Ghost with elevated `sudo` privileges. The example username used in this guide is `ghostexample`. -1. Ensure that you have a valid domain name and [properly configured DNS records](/docs/products/networking/dns-manager/) for your domain. +1. Ensure that you have a valid domain name and [properly configured DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain. 1. Ensure that your system is up to date: diff --git a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md index ae4dc9ffdc2..bfa7e689c37 100644 --- a/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/index.md @@ -27,19 +27,19 @@ aliases: ['/websites/cms/ghost/how-to-install-ghost-on-ubuntu-18-04/'] ## In This Guide -In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Ubuntu 18.04 LTS, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/docs/websites/cms/ghost). +In this guide, you'll set up, deploy, and secure a Ghost v3.5.1 blog on a Linode running Ubuntu 18.04 LTS, using NGINX, MySQL, Node.js, NPM, Ghost-CLI, and Let's Encrypt. For installation instructions for other distributions, click [here](/cloud/websites/cms/ghost). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, consult our [Users and Groups](/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, consult our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. Replace each instance of `example.com` in this guide with your site’s domain name. {{< /note >}} ## Before you Begin -1. This guide assumes that you've followed the steps in our [Getting Started](/docs/products/platform/get-started/) and [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides and have created a new user for Ghost with elevated `sudo` privileges. The example username used in this guide is `ghostexample`. +1. This guide assumes that you've followed the steps in our [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 have created a new user for Ghost with elevated `sudo` privileges. The example username used in this guide is `ghostexample`. -1. Ensure that you have a valid domain name and [properly configured DNS records](/docs/products/networking/dns-manager/) for your domain. +1. Ensure that you have a valid domain name and [properly configured DNS records](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) for your domain. 1. Ensure that your system is up to date: diff --git a/docs/guides/websites/cms/how-to-install-a-webmin-control-panel-and-modules/index.md b/docs/guides/websites/cms/how-to-install-a-webmin-control-panel-and-modules/index.md index 652458dba68..0a1d6cd1043 100644 --- a/docs/guides/websites/cms/how-to-install-a-webmin-control-panel-and-modules/index.md +++ b/docs/guides/websites/cms/how-to-install-a-webmin-control-panel-and-modules/index.md @@ -29,9 +29,9 @@ Webmin is a web interface that allows you to manage configuration files and relo The commands in this guide work with either Debian 8 or Ubuntu 16.04. -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/) guide to create a standard user account, harden SSH access and remove unnecessary network services. You do not have to complete the Configure a Firewall section. If you choose to set up a firewall, ensure that incoming connections are allowed on port `10000`. +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) guide to create a standard user account, harden SSH access and remove unnecessary network services. You do not have to complete the Configure a Firewall section. If you choose to set up a firewall, ensure that incoming connections are allowed on port `10000`. 3. Update your system: @@ -39,7 +39,7 @@ The commands in this guide work with either Debian 8 or Ubuntu 16.04. ### Check 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/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md index 8a0db1171cd..c53ad3cd013 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-debian-5-lenny-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,17 +33,17 @@ Ensure your package lists and packages are up to date by issuing the following c ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/docs/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/docs/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. apt-get install amavisd-new spamassassin zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl @@ -63,7 +63,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/docs/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). ## Install fail2ban @@ -71,7 +71,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Installing ISPConfig @@ -90,7 +90,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may log into the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Debian 5 (Lenny) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/docs/networking/file-transfer), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Debian 5 (Lenny) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/networking/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -110,7 +110,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) diff --git a/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md index 481a1fe57d7..6823688998f 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-debian-6-squeeze-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,17 +33,17 @@ Ensure your package lists and packages are up to date by issuing the following c ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/docs/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/docs/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-debian-5-lenny/) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. apt-get install amavisd-new spamassassin zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl @@ -63,7 +63,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/docs/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). ## Install fail2ban @@ -71,7 +71,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Installing ISPConfig @@ -90,7 +90,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may log into the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Debian 6 (Squeeze) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/docs/networking/file-transfer), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Debian 6 (Squeeze) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/networking/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -109,7 +109,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) diff --git a/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md index 0a013e034bb..5ee907258f2 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-fedora-13-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -37,7 +37,7 @@ Before you can install some components for ISPConfig, you will need to install s ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/docs/guides/email-with-postfix-courier-and-mysql-on-fedora-13/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-fedora-13/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command: @@ -59,7 +59,7 @@ After installing MySQL, it's recommended that you run `mysql_secure_installation ## Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. yum install amavisd-new spamassassin unzip bzip2 perl-DBD-mysql @@ -85,7 +85,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be mv vlogger-1.3/vlogger /usr/sbin/ rm -rf vlogger* -More information on Webalizer can be found in our [Webalizer documentation](/docs/guides/webalizer-on-centos-5/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-centos-5/). ## Install fail2ban @@ -93,7 +93,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv yum install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Installing ISPConfig diff --git a/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md index 4186b79c980..8567f578ec8 100644 --- a/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-a-fedora-14-vps-with-ispconfig/index.md @@ -50,7 +50,7 @@ Before you can install some components for ISPConfig, you will need to install s ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command: @@ -72,7 +72,7 @@ After installing MySQL, it's recommended that you run `mysql_secure_installation ## Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. yum install amavisd-new spamassassin unzip bzip2 perl-DBD-mysql @@ -104,7 +104,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv yum install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Installing ISPConfig diff --git a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md index 59fae24c248..3bf1047c6ee 100644 --- a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-04-lucid-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,17 +33,17 @@ When you have saved this file, issue the following commands to refresh your syst ##Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/docs/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-dovecot-and-mysql-on-ubuntu-10-04-lts-lucid/) to determine what the needs of your system will be. In most cases, the defaults are fine. ##Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. apt-get install amavisd-new spamassassin zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl @@ -64,7 +64,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/docs/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). ##Install fail2ban @@ -72,7 +72,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ##Installing ISPConfig @@ -91,7 +91,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Ubuntu 10.04 (Lucid) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/docs/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Ubuntu 10.04 (Lucid) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/tools-reference/file-transfer/), as you'll need to use this method for uploading files to your Linode. ##Monitor for Software Updates and Security Notices @@ -111,7 +111,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) diff --git a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md index 5e8c35f4459..600e4b7089a 100644 --- a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-10-10-maverick-vps-with-ispconfig/index.md @@ -20,7 +20,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -33,17 +33,17 @@ When you have saved this file, issue the following commands to refresh your syst ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/docs/email/postfix/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/email/postfix/) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. apt-get install amavisd-new spamassassin zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl @@ -64,7 +64,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/docs/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). ## Install fail2ban @@ -72,7 +72,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Installing ISPConfig @@ -91,7 +91,7 @@ This script will configure services that you installed above to be monitored and Once the installation has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Ubuntu 10.10 (Maverick) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/docs/networking/file-transfer/), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Ubuntu 10.10 (Maverick) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/networking/file-transfer/), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -111,7 +111,7 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Limit User Access with SFTP Jails](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) diff --git a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md index a23ea596364..503dd888d7e 100644 --- a/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md +++ b/docs/guides/websites/cms/ispconfig/manage-an-ubuntu-9-10-karmic-vps-with-ispconfig/index.md @@ -15,7 +15,7 @@ deprecated: true ISPConfig is an open-source control panel similar to proprietary software like CPanel or Plesk. It features a wide variety of options to help you control your server and allow other users to maintain their websites. -Before beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning to follow this guide we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance).If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). This guide assumes you are installing this on a clean system. If you feel that you will not need certain features that are mentioned in this document, please feel free to exclude them from your setup. @@ -50,17 +50,17 @@ When you have saved this file, issue the following commands to refresh your syst ## Install Postfix, Courier, MySQL, and Dependencies -In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/docs/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/docs/databases/mysql/). You will need to read the documentation for detailed installation instructions. +In order to use the email capabilities in ISPConfig, you will need to install the email applications it depends on in order to function. More information on Postfix and Courier can be found in [our documentation](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/), and you are encouraged to read it to gain a better understanding of this software. MySQL is a relational database management system (RDBMS) that is commonly used for dynamic web pages and email. If you have already installed this, you will not need to install is as part of the ISPConfig installation process. You are encouraged to read the [MySQL documentation](/cloud/databases/mysql/). You will need to read the documentation for detailed installation instructions. Issue the following command (all one line): apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl maildrop getmail4 binutils -You will be asked a series of questions during the installation; please refer to the [Postfix guide](/docs/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/) to determine what the needs of your system will be. In most cases, the defaults are fine. +You will be asked a series of questions during the installation; please refer to the [Postfix guide](/cloud/guides/email-with-postfix-courier-and-mysql-on-ubuntu-9-10-karmic/) to determine what the needs of your system will be. In most cases, the defaults are fine. ## Install Amavisd-new and SpamAssassin -The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. +The following command will install spam protection for your email server. Please be advised that using SpamAssassin by itself may consume a vast amount of system resources depending on your configuration. You will want to tune this application according to the [low memory settings](https://techdocs.akamai.com/cloud-computing/docs/troubleshooting-memory-issues-on-compute-instances#reducing-spamassassin-memory-consumption). Using amavisd-new should help alleviate some of these potential issues. apt-get install amavisd-new spamassassin zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl @@ -80,7 +80,7 @@ Vlogger is a tool that logs information regarding Apache. Webalizer can then be apt-get install vlogger webalizer -More information on Webalizer can be found in our [Webalizer documentation](/docs/guides/webalizer-on-debian-5-lenny/). +More information on Webalizer can be found in our [Webalizer documentation](/cloud/guides/webalizer-on-debian-5-lenny/). ## Install fail2ban @@ -88,7 +88,7 @@ Installing fail2ban is entirely optional, however ISPConfig can manage this serv apt-get install fail2ban -More information regarding fail2ban can be found in our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +More information regarding fail2ban can be found in our [fail2ban guide](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Installing ISPConfig @@ -107,7 +107,7 @@ This script will configure services that you installed above to be monitored and Once it has completed, you may login to the control panel. By default, ISPConfig runs on port 8080, so you may find it at `http://12.34.56.78:8080/`. Replace `12.34.56.78` with your Linode's IP. The default login uses "admin" as the username and "admin" as the password. You will want to change these to prevent someone from accessing your system. -Congratulations! You now have ISPConfig installed on your Ubuntu 9.10 (Karmic) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/docs/networking/file-transfer), as you'll need to use this method for uploading files to your Linode. +Congratulations! You now have ISPConfig installed on your Ubuntu 9.10 (Karmic) Linode. You are highly encouraged to see the links in the "More Information" section to help you install extra applications that may help you manage your system better. Additionally, we highly recommend becoming familiar with our [SFTP guides](/cloud/networking/file-transfer), as you'll need to use this method for uploading files to your Linode. ## Monitor for Software Updates and Security Notices @@ -127,8 +127,8 @@ You may wish to consult the following resources for additional information on th - [ISPConfig Home Page](http://www.ispconfig.org/) - [ISPConfig Support](http://www.ispconfig.org/page/en/support.html) - [ISPConfig Community](http://www.ispconfig.org/page/en/community.html) -- [Upload Files to your Linode](/docs/networking/file-transfer) -- [Limit User Access with SFTP Jails](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) +- [Upload Files to your Linode](/cloud/networking/file-transfer) +- [Limit User Access with SFTP Jails](/cloud/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/) diff --git a/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md b/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md index 7e83f64187e..52b87d6bf52 100644 --- a/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md +++ b/docs/guides/websites/cms/joomla/manage-web-content-with-joomla/index.md @@ -13,13 +13,13 @@ aliases: ['/web-applications/cms-guides/joomla/','/websites/cms/joomla/manage-we deprecated: true --- -Joomla is an advanced "content management system" (CMS) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](/docs/guides/managing-web-content-with-drupal-7/) and [WordPress](/docs/guides/how-to-install-and-configure-wordpress/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](/docs/development/ror/) and [Django](/docs/development/frameworks/). Deployed on top of the industry standard [LAMP Stack](/docs/web-servers/lamp/), Joomla is designed to be both easy to use and manage from the end-user's perspective and easy to administer and host. +Joomla is an advanced "content management system" (CMS) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](/cloud/guides/managing-web-content-with-drupal-7/) and [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](/cloud/development/ror/) and [Django](/cloud/development/frameworks/). Deployed on top of the industry standard [LAMP Stack](/cloud/web-servers/lamp/), Joomla is designed to be both easy to use and manage from the end-user's perspective and easy to administer and host. -Before installing Joomla, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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 to follow the [LAMP Guide](/docs/web-servers/lamp/) appropriate for the distribution you have deployed. +Before installing Joomla, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you're new to Linux server administration you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, you will need to follow the [LAMP Guide](/cloud/web-servers/lamp/) appropriate for the distribution you have deployed. ## Installing Prerequisites -After installing the [LAMP stack](/docs/web-servers/lamp/), you must attend to a few additional prerequisites to complete this Joomla installation. Ensure that your distribution provides `wget` and `unzip` tools. In Debian- and Ubuntu-based systems, issue the following command: +After installing the [LAMP stack](/cloud/web-servers/lamp/), you must attend to a few additional prerequisites to complete this Joomla installation. Ensure that your distribution provides `wget` and `unzip` tools. In Debian- and Ubuntu-based systems, issue the following command: apt-get update apt-get upgrade --show-upgraded diff --git a/docs/guides/websites/cms/kloxo/install-kloxo-on-centos-5/index.md b/docs/guides/websites/cms/kloxo/install-kloxo-on-centos-5/index.md index ad2ebce9d40..8370d742153 100644 --- a/docs/guides/websites/cms/kloxo/install-kloxo-on-centos-5/index.md +++ b/docs/guides/websites/cms/kloxo/install-kloxo-on-centos-5/index.md @@ -17,7 +17,7 @@ Kloxo is a web-based control panel that is a free alternative to options such as ## Initial Setup -Before getting started, you'll need to make sure that your [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) has been properly set and that [static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/) has been configured **even if you only have one IP address**. You will also need to install MySQL. To do so, issue the following commands: +Before getting started, you'll need to make sure that your [hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) has been properly set and that [static networking](https://techdocs.akamai.com/cloud-computing/docs/manual-network-configuration-on-a-compute-instance) has been configured **even if you only have one IP address**. You will also need to install MySQL. To do so, issue the following commands: yum update yum install mysql-server diff --git a/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-5-lenny/index.md b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-5-lenny/index.md index 968a61dbaa8..b7924ec5353 100644 --- a/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-5-lenny/index.md +++ b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ Mango is a simple static content management system for publishing blogs from con ## 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/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-6-squeeze/index.md b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-6-squeeze/index.md index e0a20b18f89..57ae4737220 100644 --- a/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-debian-6-squeeze/index.md @@ -22,7 +22,7 @@ Mango is a simple static content management system for publishing blogs from con ## 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/websites/cms/mango/manage-content-with-markdown-and-mango-on-fedora-14/index.md b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-fedora-14/index.md index 33fdd286338..426aca40013 100644 --- a/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-fedora-14/index.md +++ b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-fedora-14/index.md @@ -22,7 +22,7 @@ Mango is a simple static content management system for publishing blogs from con ## 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/websites/cms/mango/manage-content-with-markdown-and-mango-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-ubuntu-10-10-maverick/index.md index bd16c81c047..04e3059dac4 100644 --- a/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/cms/mango/manage-content-with-markdown-and-mango-on-ubuntu-10-10-maverick/index.md @@ -22,7 +22,7 @@ Mango is a simple static content management system for publishing blogs from con ## 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/websites/cms/movable-type/manage-web-content-with-movable-type/index.md b/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md index dd2f6cf5c8f..b1bfbdd7978 100644 --- a/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md +++ b/docs/guides/websites/cms/movable-type/manage-web-content-with-movable-type/index.md @@ -13,7 +13,7 @@ aliases: ['/websites/cms/movable-type/manage-web-content-with-movable-type/','/w deprecated: true --- -Movable Type is a free, open source content management system designed to facilitate easy creation of blogs and websites. We assume you have a working LAMP environment set up on your Linode already; if not, please refer to our [LAMP guides](/docs/lamp-guides/) for setup instructions before continuing with this tutorial. +Movable Type is a free, open source content management system designed to facilitate easy creation of blogs and websites. We assume you have a working LAMP environment set up on your Linode already; if not, please refer to our [LAMP guides](/cloud/lamp-guides/) for setup instructions before continuing with this tutorial. For this example, we'll be using a LAMP server built on Debian Lenny. Your server environment may be based on a different distribution, but the installation steps should be very similar. For additional help beyond the scope of this document, you may want to consult the [Movable Type Install Guide](http://www.movabletype.org/documentation/installation/). diff --git a/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md b/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md index 699c2d93ca2..3b4e78d7e28 100644 --- a/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md +++ b/docs/guides/websites/cms/phpfusion/manage-web-content-with-phpfusion/index.md @@ -15,11 +15,11 @@ deprecated: true PHP Fusion is a lightweight content management system built on the popular LAMP stack. Designed for maximum flexibility and broad support it's for internationalization, in its latest version PHP Fusion focuses on standards compliance, security, and modular design. PHP Fusion is an obvious choice for developers who need to deploy a system to manage content and community interaction. -Before installing PHP Fusion, we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). Additionally, prior to installing PHP Fusion, you will need to install a fully functional [LAMP stack](/docs/lamp-guides/) on your Linode. +Before installing PHP Fusion, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, prior to installing PHP Fusion, you will need to install a fully functional [LAMP stack](/cloud/lamp-guides/) on your Linode. ## Install Prerequisites -After installing the [LAMP stack](/docs/lamp-guides/), there are a few additional prerequisites that you will need in order to complete this installation of PHP Fusion. Ensure that your distribution provides `wget` and `unzip` tools. On Debian and Ubuntu based systems, issue the following command: +After installing the [LAMP stack](/cloud/lamp-guides/), there are a few additional prerequisites that you will need in order to complete this installation of PHP Fusion. Ensure that your distribution provides `wget` and `unzip` tools. On Debian and Ubuntu based systems, issue the following command: apt-get update apt-get upgrade --show-upgraded diff --git a/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md b/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md index 5fcdd45abf2..c497faee987 100644 --- a/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md +++ b/docs/guides/websites/cms/plone/manage-web-content-with-plone-on-debian-5-lenny/index.md @@ -13,9 +13,9 @@ aliases: ['/web-applications/cms-guides/plone/','/websites/cms/plone/manage-web- deprecated: true --- -Plone is an advanced system for managing complex and content rich websites. Written in the Python programing language using the Zope web-framework, Plone provides a flexible substrate on top of the Zope system for developing highly specialized websites and is supported by an active community of developers. Zope provides a vibrant architecture for building complex and usable tools in a Python and web-centric manner. Plone and Zope may strike systems administrators as unique in comparison to other content management systems because they generate content by modifying the behavior of the Zope application server while incoming requests are proxied through a front end server like [Apache](/docs/web-servers/apache/) or [nginx](/docs/web-servers/nginx). +Plone is an advanced system for managing complex and content rich websites. Written in the Python programing language using the Zope web-framework, Plone provides a flexible substrate on top of the Zope system for developing highly specialized websites and is supported by an active community of developers. Zope provides a vibrant architecture for building complex and usable tools in a Python and web-centric manner. Plone and Zope may strike systems administrators as unique in comparison to other content management systems because they generate content by modifying the behavior of the Zope application server while incoming requests are proxied through a front end server like [Apache](/cloud/web-servers/apache/) or [nginx](/cloud/web-servers/nginx). -Before installing the Plone content management system, 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/). At the end of this document, we will briefly discuss configuring the [Apache](/docs/web-servers/apache/) and [nginx](/docs/web-servers/nginx) web servers for use with Plone as a front end server. +Before installing the Plone content management system, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). At the end of this document, we will briefly discuss configuring the [Apache](/cloud/web-servers/apache/) and [nginx](/cloud/web-servers/nginx) web servers for use with Plone as a front end server. ## Installing Plone @@ -38,21 +38,21 @@ The installation interface will present several questions during the installatio /etc/init.d/zope2.10 start -Now, assuming that you have an [A Record](/docs/guides/dns-overview/#a-and-aaaa) for the domain `example.com` pointed to the IP address for the Linode that is running this Plone instance, you can visit the address `http://example.com:8081` to visit the new Plone site. To login to the Zope administrative interface, visit `http://example.com:8081/manage` and authenticate using the credentials created during the installation process. +Now, assuming that you have an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) for the domain `example.com` pointed to the IP address for the Linode that is running this Plone instance, you can visit the address `http://example.com:8081` to visit the new Plone site. To login to the Zope administrative interface, visit `http://example.com:8081/manage` and authenticate using the credentials created during the installation process. You can now proceed with the development of your Plone website! ## Using Plone in Production Environments -Although the Plone application server is capable of generating and providing dynamic content, it's advisable to use a more general purpose web server as a front end running on port `80`. You can use either the [Apache HTTP server](/docs/web-servers/apache/) or the [nginx server](/docs/web-servers/nginx/). Basic instructions for setting up the front-end proxy servers can be found below. Both options are functionally equivalent, and your choice is simply a matter of personal preference. +Although the Plone application server is capable of generating and providing dynamic content, it's advisable to use a more general purpose web server as a front end running on port `80`. You can use either the [Apache HTTP server](/cloud/web-servers/apache/) or the [nginx server](/cloud/web-servers/nginx/). Basic instructions for setting up the front-end proxy servers can be found below. Both options are functionally equivalent, and your choice is simply a matter of personal preference. ### Configuring an Apache Front End Proxy -Begin by installing the Apache web server. You can read more about this process in our documentation for [installing Apache for Debian systems](/docs/guides/apache-2-web-server-on-debian-5-lenny/). Issue the following command: +Begin by installing the Apache web server. You can read more about this process in our documentation for [installing Apache for Debian systems](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). Issue the following command: apt-get install apache2 -Edit the `/etc/apache2/mods-available/proxy.conf` file to properly configure the [ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) as follows: +Edit the `/etc/apache2/mods-available/proxy.conf` file to properly configure the [ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) as follows: {{< file "/etc/apache2/mods-available/proxy.conf" apache >}} @@ -165,8 +165,8 @@ Congratulations, you now have a fully functional Plone system that is ready for You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [The Zope Book](http://docs.zope.org/zope2/zope2book/) -- [Basic nginx configuration](/docs/guides/how-to-configure-nginx/) -- [ProxyPass Apache to Multiple Webservers](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) +- [Basic nginx configuration](/cloud/guides/how-to-configure-nginx/) +- [ProxyPass Apache to Multiple Webservers](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) diff --git a/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md b/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md index f2aaa2c40be..90dca157019 100644 --- a/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md +++ b/docs/guides/websites/cms/solr/add-a-custom-search-to-your-site-with-solr/index.md @@ -20,14 +20,14 @@ Apache Solr is an open source search platform that provides administrators with ## 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 [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. Complete the [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 and package repositories and install `wget`. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 Java diff --git a/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md b/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md index ae543ecf121..cb144df017c 100644 --- a/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md +++ b/docs/guides/websites/cms/solr/turbocharge-wordpress-search-with-solr/index.md @@ -17,12 +17,12 @@ The standard search that is built into WordPress does not provide the best searc In this guide, you will learn how to install Java, install and configure Solr on Ubuntu 14.x or Debian 7.x, and integrate it into your WordPress blog using the WPSolr plugin. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 -- WordPress must be already installed and configured. If you have not yet installed WordPress, follow the [Manage Web Content with WordPress](/docs/guides/how-to-install-and-configure-wordpress/) guide. +- WordPress must be already installed and configured. If you have not yet installed WordPress, follow the [Manage Web Content with WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide. - Much of this guide assumes that Solr is being installed on the same server as WordPress; however, Solr can be installed on a second server for security or scalability reasons. Alternate steps are provided should Solr be installed on a second server. @@ -199,7 +199,7 @@ The following commands should be run on the server where **Solr** is installed. Run the following commands on the server where **Solr** is installed. {{< /note >}} -1. Use a text editor to create a new script `/etc/init.d/solr`. Alternatively, you can download it from [this link](/docs/assets/solr): +1. Use a text editor to create a new script `/etc/init.d/solr`. Alternatively, you can download it from [this link](/cloud/assets/solr): sudo nano /etc/init.d/solr diff --git a/docs/guides/websites/cms/strapi/using-strapi-cms/index.md b/docs/guides/websites/cms/strapi/using-strapi-cms/index.md index 13e4722fe43..f802b94ecc3 100644 --- a/docs/guides/websites/cms/strapi/using-strapi-cms/index.md +++ b/docs/guides/websites/cms/strapi/using-strapi-cms/index.md @@ -20,12 +20,12 @@ This guide gives you everything you need to get started self-hosting a Strapi 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. {{< note >}} -This guide is written for 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 >}} ## What Is Strapi? @@ -34,7 +34,7 @@ This guide is written for a non-root user. Commands that require elevated privil Strapi also works exceptionally well with a Jamstack architecture. Your frontend, using whatever framework you choose, can readily access your content from Strapi APIs, allowing your content to be rendered from markup. And Strapi's APIs can be customized in myriad ways to meet your applications' needs. -To learn more about the Jamstack architecture and what it offers, take a look at our [Getting Started with the Jamstack](/docs/guides/what-is-jamstack/) guide. +To learn more about the Jamstack architecture and what it offers, take a look at our [Getting Started with the Jamstack](/cloud/guides/what-is-jamstack/) guide. ### Why Strapi? @@ -60,7 +60,7 @@ This guide follows Strapi's Node.js setup process, Strapi's preferred installati Strapi runs as a Node.js project, which this guide sets up using the Node Package Manager (NPM). Once you run the Strapi project-setup script, you can start running your instance and create your administrator user. -1. Install the appropriate version of Node using NVM. Follow along with our [Installing and Using NVM](/docs/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) guide, and then use the following command to install Node: +1. Install the appropriate version of Node using NVM. Follow along with our [Installing and Using NVM](/cloud/guides/how-to-install-use-node-version-manager-nvm/#install-nvm) guide, and then use the following command to install Node: ```command nvm install node @@ -74,7 +74,7 @@ Strapi runs as a Node.js project, which this guide sets up using the Node Packag 1. Install Python if you intend to use SQLite for Strapi's database. This is the default behavior with Strapi, and the database used in this guide's example. But Strapi also supports other databases, from MySQL to PostgreSQL. - Refer to our [Install Python 3](/docs/guides/how-to-install-python-on-ubuntu-20-04/) guide for steps to install Python on your system. Use the dropdown at the top of the guide to select the appropriate distribution for you. + Refer to our [Install Python 3](/cloud/guides/how-to-install-python-on-ubuntu-20-04/) guide for steps to install Python on your system. Use the dropdown at the top of the guide to select the appropriate distribution for you. 1. Run the Strapi installation script. This uses NPM to run the script, creating the base Strapi project. @@ -117,7 +117,7 @@ Strapi runs as a Node.js project, which this guide sets up using the Node Packag The Strapi API server and administrator panel are ready for access. As shown in the output, the services are running on `localhost:1337`. You need to either access your server over an SSH tunnel or follow the steps in the next section to access the Strapi interfaces. -To use an SSH tunnel, you can see the steps in our guide on [accessing Futon over SSH](/docs/guides/access-futon-over-ssh-using-putty-on-windows/#establish-an-ssh-connection). Replace the port number in that guide (`5984`) with Strapi's port number — `1337`. +To use an SSH tunnel, you can see the steps in our guide on [accessing Futon over SSH](/cloud/guides/access-futon-over-ssh-using-putty-on-windows/#establish-an-ssh-connection). Replace the port number in that guide (`5984`) with Strapi's port number — `1337`. Whichever way you use to access Strapi, start by navigating to its administrator panel. There you are prompted to create an initial administrator user. @@ -128,12 +128,12 @@ From there, you are taken into the administrator panel for your new Strapi insta ![Strapi administrator panel](strapi-welcome.png) {{< note >}} -Subsequent sections of this guide assume you have followed the [Setting Up for Remote Access](/docs/guides/using-strapi-cms/#setting-up-for-remote-access) section below to configure Strapi for remote access. +Subsequent sections of this guide assume you have followed the [Setting Up for Remote Access](/cloud/guides/using-strapi-cms/#setting-up-for-remote-access) section below to configure Strapi for remote access. {{< /note >}} #### Setting Up for Remote Access -By default, Strapi runs its server and administrator panel on `localhost`. Preferably, you would then use a reverse proxy like [NGINX](/docs/guides/use-nginx-reverse-proxy/) to provide access to the API server endpoints. +By default, Strapi runs its server and administrator panel on `localhost`. Preferably, you would then use a reverse proxy like [NGINX](/cloud/guides/use-nginx-reverse-proxy/) to provide access to the API server endpoints. However, Strapi's administrator interface requires some additional configuration if you want to be able to access it remotely. The steps in this section show you how to make the necessary changes. @@ -169,13 +169,13 @@ These steps use `example.com` as the access point, so replace this with your ser 1. Open the port you are using to access Strapi in your system's firewall. - - On **Debian** and **Ubuntu**, manage firewall rules using UFW. Learn more about UFW in our guide [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). With UFW configured and running, you should be able to open the necessary port using the following command: + - On **Debian** and **Ubuntu**, manage firewall rules using UFW. Learn more about UFW in our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). With UFW configured and running, you should be able to open the necessary port using the following command: ```command sudo ufw allow 1337/tcp ``` - - On **CentOS** and similar distributions, manage the firewall rules using Firewalld. Learn more in our guide [Configure a Firewall with Firewalld](/docs/guides/introduction-to-firewalld-on-centos/). With Firewalld configured and running, you should be able to open the necessary port using the following commands: + - On **CentOS** and similar distributions, manage the firewall rules using Firewalld. Learn more in our guide [Configure a Firewall with Firewalld](/cloud/guides/introduction-to-firewalld-on-centos/). With Firewalld configured and running, you should be able to open the necessary port using the following commands: ```command sudo firewall-cmd --zone=public --add-port=1337/tcp --permanent @@ -380,7 +380,7 @@ curl http://example.com:1337/api/posts -H "Authorization: bearer }} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Optional PHP Extensions diff --git a/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md b/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md index dc2d5fafa75..ea78f1e539e 100644 --- a/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/high-availability-wordpress/index.md @@ -17,10 +17,10 @@ This guide configures a high availability WordPress site with a two-Linode clust ## Prerequisites -This guide is written for Debian 7 or Ubuntu 14.04. To complete this guide, ensure that there are two Linodes and a NodeBalancer present on your account. Both Linodes need a [Private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address). Also ensure that both of your Linodes have been configured with SSH keys, and place the opposing Linode's SSH key in the other's `/.ssh/authorized_keys` file. +This guide is written for Debian 7 or Ubuntu 14.04. To complete this guide, ensure that there are two Linodes and a NodeBalancer present on your account. Both Linodes need a [Private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address). Also ensure that both of your Linodes have been configured with SSH keys, and place the opposing Linode's SSH key in the other's `/.ssh/authorized_keys` file. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 Required Software Packages diff --git a/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md index ac8fab09a8e..0ca102f5578 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-and-configure-wordpress/index.md @@ -20,10 +20,10 @@ deprecated_link: websites/cms/install-wordpress-ubuntu-18-04/ WordPress is a popular, dynamic, blog-focused content management system. The software is built upon a LAMP or LEMP stack and features an extensive plugin framework and theme system, which allows site owners and developers to deploy easy-to-use and powerful publishing tools. -If you're using Ubuntu 16.04, please use our guide on how to [Install WordPress on Ubuntu 16.04](/docs/guides/install-wordpress-on-ubuntu-16-04/). +If you're using Ubuntu 16.04, please use our guide on how to [Install WordPress on Ubuntu 16.04](/cloud/guides/install-wordpress-on-ubuntu-16-04/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}}
      @@ -31,7 +31,7 @@ This guide is written for a non-root user. Commands that require elevated privil ## Before You Begin -- 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 that the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- 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 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). To check your hostname run: @@ -40,7 +40,7 @@ This guide is written for a non-root user. Commands that require elevated privil The first command will output your short hostname; the second, your fully-qualified domain name (FQDN). -- You have a configured web stack set up. This can be a [LAMP](/docs/websites/lamp/) or [LEMP](/docs/websites/lemp/) stack. +- You have a configured web stack set up. This can be a [LAMP](/cloud/websites/lamp/) or [LEMP](/cloud/websites/lemp/) stack. - MySQL has a database set up for WordPress. If you do not have a database, create it: diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md index 0c750512505..d2bdfc6ae59 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-almalinux-8/index.md @@ -25,14 +25,14 @@ WordPress is an open-source content management system (CMS). WordPress remains p ## 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. Replace all instances of `example.com` in this guide with your domain name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Set Up the Prerequisites @@ -70,9 +70,9 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and Both of the guides linked below are for CentOS 8 rather than AlmaLinux 8. However, the steps in these guides have been tested and verified to work on AlmaLinux without requiring any changes. {{< /note >}} - - To create a LAMP stack, follow the [How to Install a LAMP Stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. The `php.ini` file referred to in the guide can be found at the following location: `/etc/opt/remi/php74/php.ini`. + - To create a LAMP stack, follow the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. The `php.ini` file referred to in the guide can be found at the following location: `/etc/opt/remi/php74/php.ini`. - - To create a LEMP stack, follow the [How to Install the LEMP Stack on CentOS 8](/docs/guides/how-to-install-the-lemp-stack-on-centos-8/) guide. The `www.conf` file referred to in the guide can be found at `/etc/opt/remi/php74/php-fpm.d/www.conf`, and the `php.ini` file can be found at `/etc/opt/remi/php74/php.ini`. + - To create a LEMP stack, follow the [How to Install the LEMP Stack on CentOS 8](/cloud/guides/how-to-install-the-lemp-stack-on-centos-8/) guide. The `www.conf` file referred to in the guide can be found at `/etc/opt/remi/php74/php-fpm.d/www.conf`, and the `php.ini` file can be found at `/etc/opt/remi/php74/php.ini`. In addition to the steps in the guide, take the following steps to prepare your NGINX configuration for WordPress. @@ -188,4 +188,4 @@ Your WordPress site is up and running. You can reach the site's dashboard, where To get the most out of your WordPress site, check out WordPress's [First Steps with WordPress](https://wordpress.org/support/article/first-steps-with-wordpress/)guide. It helps you figure out how to start using and customizing your WordPress site. -To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/docs/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. +To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md index d086f035140..ae2cbb33b96 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-debian-10/index.md @@ -27,14 +27,14 @@ In this guide, learn how to install WordPress on your Debian 10 server. ## 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. Replace all instances of `example.com` in this guide with your domain name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Set Up the Prerequisites @@ -72,7 +72,7 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and 1. Complete the installation of a LAMP or LEMP stack by following the appropriate guide linked below. Ignore the sections on installing PHP, and otherwise replace any mention of the PHP version number with **7.4**. - - To create a LAMP stack, follow the [Install a LAMP Stack on Debian 10 ](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Additionally, you need to ensure that the `rewrite` Apache module is enabled, which you can do with the following steps: + - To create a LAMP stack, follow the [Install a LAMP Stack on Debian 10 ](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Additionally, you need to ensure that the `rewrite` Apache module is enabled, which you can do with the following steps: - See what modules are enabled using the below command: @@ -83,7 +83,7 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and sudo a2enmod rewrite sudo systemctl restart apache2 - - To create a LEMP stack, follow the [How to Install the LEMP Stack on Debian 10](/docs/guides/how-to-install-the-lemp-stack-on-debian-10/) guide. Additionally, take the following steps to prepare your NGINX configuration for WordPress. + - To create a LEMP stack, follow the [How to Install the LEMP Stack on Debian 10](/cloud/guides/how-to-install-the-lemp-stack-on-debian-10/) guide. Additionally, take the following steps to prepare your NGINX configuration for WordPress. - Add `index.php` to the `location /` block of your site's configuration file. @@ -175,4 +175,4 @@ Congratulations! Your WordPress site is up and running. You can reach the site's To start learning more about getting the most out of your WordPress site, check out WordPress's [First Steps with WordPress](https://wordpress.org/support/article/first-steps-with-wordpress/). It helps you figure out how to start using and making your WordPress site your own. -To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/docs/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. +To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md index 886f15f91d0..43c4e27c0fd 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-2004/index.md @@ -26,14 +26,14 @@ In this guide, learn how to install WordPress on your Ubuntu 20.04 server. ## 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. Replace all instances of `example.com` in this guide with your domain name. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## Set Up the Prerequisites @@ -46,9 +46,9 @@ To satisfy these requirements, you can set up a LAMP (Linux, Apache, MySQL, and 1. Install and configure a LAMP or LEMP stack. For either stack, make sure that you are installing at least PHP version **7.4**. This is the default on Ubuntu 20.04. Additionally, make sure to replace all version numbers in the below guides with the number of the version you are installing. - - To create a LAMP stack, follow the [How to Install a LAMP Stack on Ubuntu 20.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide. + - To create a LAMP stack, follow the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide. - - To create a LEMP stack, follow the [How to Install the LEMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) guide. + - To create a LEMP stack, follow the [How to Install the LEMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) guide. 1. If you are using a LAMP stack, make sure the `rewrite` module is enabled. @@ -153,4 +153,4 @@ Congratulations! Your WordPress site is up and running. You can reach the site's To start learning more about getting the most out of your WordPress site, check out WordPress's [First Steps with WordPress](https://wordpress.org/support/article/first-steps-with-wordpress/). It helps you figure out how to start using and making your WordPress site your own. -To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/docs/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. +To go beyond the basic configuration on your WordPress site, take a look at our [Configuring WordPress](/cloud/guides/configuring-wordpress/) guide. It walks you through more advanced configuration options that open up new features for your WordPress installation. diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md index f8b0bea633a..7f98a267350 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-ubuntu-22-04/index.md @@ -37,24 +37,24 @@ WordPress can be downloaded to an Ubuntu server using `wget`. It only requires m ## WordPress Prerequisites -A Ubuntu LAMP or LEMP stack satisfies all these prerequisites. A LAMP stack includes the Linux operating system, the [Apache web server](https://httpd.apache.org/docs/2.4/), the [MySQL RDBMS](https://dev.mysql.com/), and the PHP programming language. A LEMP stack substitutes [NGINX](https://www.nginx.com/) (pronounced "engine-x") in place of Apache and sometimes uses the MariaDB database instead of MySQL. Either stack can be installed using the standard Ubuntu library. For information on [installing a LAMP stack on Ubuntu 22.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/), see the Linode guide. There is also a Linode guide to [installing a LEMP stack on Ubuntu 22.04](/docs/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). +A Ubuntu LAMP or LEMP stack satisfies all these prerequisites. A LAMP stack includes the Linux operating system, the [Apache web server](https://httpd.apache.org/docs/2.4/), the [MySQL RDBMS](https://dev.mysql.com/), and the PHP programming language. A LEMP stack substitutes [NGINX](https://www.nginx.com/) (pronounced "engine-x") in place of Apache and sometimes uses the MariaDB database instead of MySQL. Either stack can be installed using the standard Ubuntu library. For information on [installing a LAMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/), see the Linode guide. There is also a Linode guide to [installing a LEMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). -For greater security, WordPress highly recommends HTTPS. However, these instructions work whether HTTPS is configured on the server or not. For information about enabling HTTPS on Ubuntu, see the [Linode guide on enabling HTTPS on Apache](/docs/guides/enabling-https-using-certbot-with-apache-on-ubuntu/). An alternate guide for [NGINX](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) is also available. +For greater security, WordPress highly recommends HTTPS. However, these instructions work whether HTTPS is configured on the server or not. For information about enabling HTTPS on Ubuntu, see the [Linode guide on enabling HTTPS on Apache](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu/). An alternate guide for [NGINX](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) is also available. {{< note >}} -WordPress sites are almost always accessed using a domain name. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +WordPress sites are almost always accessed using a domain name. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). {{< /note >}} ## 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. Fully configure a LAMP or LEMP stack on the Linode and confirm it is working properly. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Prepare the LAMP or LEMP Stack for WordPress @@ -291,7 +291,7 @@ The Ubuntu LAMP or LEMP stack is now fully configured and ready for WordPress. F The WordPress Dashboard is fairly self-explanatory. From the left-menu of the Dashboard, users can access pages allowing them to change settings, select themes, and install new plug-ins. Users can select the **Posts** option to add new pages or modify existing content. -Before proceeding, it is worthwhile to spend more time learning about WordPress. The [First Steps with WordPress guide](https://wordpress.org/support/article/first-steps-with-wordpress/) is very useful. It walks users through the WordPress interface and explains how to perform basic tasks. In addition, [How to Configure WordPress](/docs/guides/configuring-wordpress/) summarizes how to configure some of the more common WordPress settings. +Before proceeding, it is worthwhile to spend more time learning about WordPress. The [First Steps with WordPress guide](https://wordpress.org/support/article/first-steps-with-wordpress/) is very useful. It walks users through the WordPress interface and explains how to perform basic tasks. In addition, [How to Configure WordPress](/cloud/guides/configuring-wordpress/) summarizes how to configure some of the more common WordPress settings. For complete information about WordPress, including all advanced settings, see the [WordPress documentation site](https://wordpress.org/support/). diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md index 80ca8280737..e66ec1a67c0 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-7/index.md @@ -36,20 +36,20 @@ This tutorial covers how to complete the following tasks: Before moving ahead, make sure you have completed the following steps. -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 >}} -This guide is written for a non-root user. Commands 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. If you'd like to use your own [Domain Name](/docs/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](/docs/products/networking/dns-manager/get-started/) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Install a LAMP Stack on CentOS 7](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/) guide. **Skip the steps** in the [Configure Apache Virtual Hosts File](/docs/guides/how-to-install-wordpress-using-wp-cli-on-centos-7/#configure-apache-virtual-hosts-file), the [Create a MariaDB Database](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide. **Skip the steps** in the [Configure Apache Virtual Hosts File](/cloud/guides/how-to-install-wordpress-using-wp-cli-on-centos-7/#configure-apache-virtual-hosts-file), the [Create a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. {{< note respectIndent=false >}} -When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on CentOS 7](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/) guide, you will need to issue the command included below to install the required PHP packages. The command in the linked guide does not currently work with CentOS 7. +When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/) guide, you will need to issue the command included below to install the required PHP packages. The command in the linked guide does not currently work with CentOS 7. sudo apt install php libapache2-mod-php php-mysql {{< /note >}} diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md index a2bee57411d..341ea1520cb 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-centos-8/index.md @@ -36,17 +36,17 @@ This tutorial covers how to complete the following tasks: Before moving ahead, make sure you have completed the following steps. -1. If you'd like to use your own [Domain Name](/docs/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](/docs/products/networking/dns-manager/get-started/) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. If you have not already done so, create a Linode account and Compute Instance. See our [Getting Started with Linode](/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 >}} -This guide is written for a non-root user. Commands 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. Follow the [Install a LAMP Stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. **Skip the steps** in the [Configure Name-Based Virtual Hosts](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/#configure-name-based-virtual-hosts), the [Create a MariaDB Database](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide. **Skip the steps** in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/#configure-name-based-virtual-hosts), the [Create a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/#create-a-mariadb-database), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md index 050b3e8e1a2..08aa0d6eba7 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-debian-10/index.md @@ -36,17 +36,17 @@ This tutorial covers how to complete the following tasks: Before moving ahead, make sure you have completed the following steps. -1. If you 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 >}} -This guide is written for a non-root user. Commands 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. If you'd like to use your own [Domain Name](/docs/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](/docs/products/networking/dns-manager/get-started/) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md index e84ab15543f..3c37d4ff186 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md @@ -37,17 +37,17 @@ This tutorial covers how to complete the following tasks: Before moving ahead, make sure you have completed the following steps. -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 >}} -This guide is written for a non-root user. Commands 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. If you'd like to use your own [Domain Name](/docs/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](/docs/products/networking/dns-manager/get-started/) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Installation](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#installation), [Apache Configuration](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#apache), and [PHP Configuration](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#php) sections of the [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. Skip all other sections. This guide will cover the steps needed to configure your [Apache Virtual Hosts File](#configure-apache-virtual-hosts-file). +1. Follow the [Installation](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#installation), [Apache Configuration](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#apache), and [PHP Configuration](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/#php) sections of the [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) guide. Skip all other sections. This guide will cover the steps needed to configure your [Apache Virtual Hosts File](#configure-apache-virtual-hosts-file). ## Install WP-CLI diff --git a/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md b/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md index 597f6a21d29..14f91704b08 100644 --- a/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-install-wordprress-using-wp-cli-on-debian-9/index.md @@ -37,19 +37,19 @@ This tutorial covers how to complete the following tasks: Before moving ahead, make sure you have completed the following steps. -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 >}} -This guide is written for a non-root user. Commands 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. If you'd like to use your own [Domain Name](/docs/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](/docs/products/networking/dns-manager/get-started/) to point to your Linode's IP address. +1. If you'd like to use your own [Domain Name](/cloud/guides/dns-overview/) to host your WordPress installation, ensure that your domain name is [pre-configured](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your Linode's IP address. -1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. +1. Follow the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide. Skip the steps in the [Configure Name-Based Virtual Hosts](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#configure-name-based-virtual-hosts), the [Set Up a MariaDB Database](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#mariadb), and the [Optional: Test and Troubleshoot the LAMP Stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/#optional-test-and-troubleshoot-the-lamp-stack) section. Those steps will be covered later on in this guide. - When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on Debian 10 (Buster)](/docs/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, you will need to issue the command included below to install the required PHP packages, as the command in the linked guide does not currently work with Debian 9. + When following the steps to [install PHP](#install-php) in the [Install a LAMP Stack on Debian 10 (Buster)](/cloud/guides/how-to-install-a-lamp-stack-on-debian-10/) guide, you will need to issue the command included below to install the required PHP packages, as the command in the linked guide does not currently work with Debian 9. sudo apt install php libapache2-mod-php php-mysql diff --git a/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md index dff3de8929f..219a73d95c0 100644 --- a/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-secure-wordpress/index.md @@ -23,7 +23,7 @@ WordPress is a popular content management and website creation software system u ## Securing Your Website Through HTTPS -The first step in securing your WordPress installation is to ensure that you have a [TLS/SSL certificate](/docs/guides/what-is-a-tls-certificate/) configured using the TLS v1.2 (or later) protocol. This allows your website to be accessed securely on all major browsers, including Chrome, Firefox, Safari, and Edge (all of which require TLS v1.2 or later as of 2020). You can quickly analyze your site's current connection by navigating to your domain in a web browser. Look for the lock icon to the left of the URL in the address bar. Clicking on this lock should show a message similar to "Connection secure" if your site meets the browser's TLS requirements. You can also check a domain's certificate by using the [SSL Server Test](https://www.ssllabs.com/ssltest/) by Qualys SSL Labs. +The first step in securing your WordPress installation is to ensure that you have a [TLS/SSL certificate](/cloud/guides/what-is-a-tls-certificate/) configured using the TLS v1.2 (or later) protocol. This allows your website to be accessed securely on all major browsers, including Chrome, Firefox, Safari, and Edge (all of which require TLS v1.2 or later as of 2020). You can quickly analyze your site's current connection by navigating to your domain in a web browser. Look for the lock icon to the left of the URL in the address bar. Clicking on this lock should show a message similar to "Connection secure" if your site meets the browser's TLS requirements. You can also check a domain's certificate by using the [SSL Server Test](https://www.ssllabs.com/ssltest/) by Qualys SSL Labs. ### Installing a TLS Certificate using Certbot @@ -31,12 +31,12 @@ If your site does not yet have a certificate, you can easily generate one direct Install certbot and configure your TLS certificate by using one of the following guides: -- [How to Use Certbot to Install SSL/TLS Certificates for NGINX on Ubuntu 20.04](/docs/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) -- [How to Use Certbot to Install SSL/TLS Certificates for Apache on Ubuntu 20.04](/docs/guides/enabling-https-using-certbot-with-apache-on-ubuntu/) +- [How to Use Certbot to Install SSL/TLS Certificates for NGINX on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-nginx-on-ubuntu/) +- [How to Use Certbot to Install SSL/TLS Certificates for Apache on Ubuntu 20.04](/cloud/guides/enabling-https-using-certbot-with-apache-on-ubuntu/) You can also follow the [installation instructions](https://certbot.eff.org/instructions) on certbot's website. This should prompt you to select your web server software as well as the operating system of your server and will output the specific instructions that should work for you. -If you prefer to use a Certificate Authority other then Let's Encrypt, see the [Obtain a Commercially Signed TLS Certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) guide for further instructions. +If you prefer to use a Certificate Authority other then Let's Encrypt, see the [Obtain a Commercially Signed TLS Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) guide for further instructions. ### Configuring the Web Server @@ -44,11 +44,11 @@ Next, you'll want to verify that your web server is properly configured to handl - **Nginx** - **Nginx documentation:** [Configuring HTTPS servers](http://nginx.org/en/docs/http/configuring_https_servers.html) - - **Linode guide:** [Getting Started with NGINX - Part 3: Enable TLS for HTTPS Connections](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) + - **Linode guide:** [Getting Started with NGINX - Part 3: Enable TLS for HTTPS Connections](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) - **Apache** - **Apache documentation:** [SSL/TLS Strong Encryption: How-To ](https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html) - - **Linode guide:** [SSL Certificates with Apache on Debian & Ubuntu](/docs/guides/ssl-apache2-debian-ubuntu/) + - **Linode guide:** [SSL Certificates with Apache on Debian & Ubuntu](/cloud/guides/ssl-apache2-debian-ubuntu/) ## Enforcing a Strong Password Policy diff --git a/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md b/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md index 62b72c688eb..aaa0ac75c72 100644 --- a/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-set-up-multiple-wordpress-sites-with-lxd-containers/index.md @@ -65,23 +65,23 @@ For simplicity, the term *container* is used throughout this guide to describe t ## Before You Begin -1. Follow the [A Beginner's Guide to LXD: Setting Up an Apache Web Server In a Container](/docs/guides/beginners-guide-to-lxd/) guide. Specifically, you only need to follow these sections: the [Before You Begin](/docs/guides/beginners-guide-to-lxd/#before-you-begin) section, and the [Initialize LXD](/docs/guides/beginners-guide-to-lxd/#initialize-lxd) section. The guide instructs you to use Ubuntu 19.04 for your server, but you should select Ubuntu 20.04 instead (unless you prefer a different distribution). LXD 4.0.5 is installed by default on Ubuntu 20.04. +1. Follow the [A Beginner's Guide to LXD: Setting Up an Apache Web Server In a Container](/cloud/guides/beginners-guide-to-lxd/) guide. Specifically, you only need to follow these sections: the [Before You Begin](/cloud/guides/beginners-guide-to-lxd/#before-you-begin) section, and the [Initialize LXD](/cloud/guides/beginners-guide-to-lxd/#initialize-lxd) section. The guide instructs you to use Ubuntu 19.04 for your server, but you should select Ubuntu 20.04 instead (unless you prefer a different distribution). LXD 4.0.5 is installed by default on Ubuntu 20.04. {{< note respectIndent=false >}} For this guide LXD version 3.3 or later is needed. Check the version with the following command: lxd --version -If the version is not 3.3 or later, or if your preferred distribution does not have LXD installed by default, update to the latest version. Install the snap package as instructed in [A Beginner's Guide to LXD: Setting Up an Apache Webserver In a Container](/docs/guides/beginners-guide-to-lxd/). Then use the following command: +If the version is not 3.3 or later, or if your preferred distribution does not have LXD installed by default, update to the latest version. Install the snap package as instructed in [A Beginner's Guide to LXD: Setting Up an Apache Webserver In a Container](/cloud/guides/beginners-guide-to-lxd/). Then use the following command: sudo lxd.migrate {{< /note >}} -1. This guide requires you to own a domain name. This guide uses the hostnames `apache1.example.com` and `nginx1.example.com` for the two example WordPress websites. Throughout this guide, replace these names with subdomains under the domain that you own. Be sure to set up their DNS entries to point them to the IP address of your server. Specifically, create [A records](/docs/guides/dns-overview/#a-and-aaaa) for your subdomains. +1. This guide requires you to own a domain name. This guide uses the hostnames `apache1.example.com` and `nginx1.example.com` for the two example WordPress websites. Throughout this guide, replace these names with subdomains under the domain that you own. Be sure to set up their DNS entries to point them to the IP address of your server. Specifically, create [A records](/cloud/guides/dns-overview/#a-and-aaaa) for your subdomains. - If you're not familiar with DNS, review our [DNS Records: An Introduction](/docs/guides/dns-overview/) guide. After you have registered a domain name, you can choose to use Linode's [DNS Manager](https://www.linode.com/products/dns-manager/) to manage your DNS records. For help with this service, see our [DNS Manager guide](/docs/products/networking/dns-manager/). Your server's IP address can be found in the Cloud Manager; see our [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for help. If you prefer to use a different DNS management service, follow their instructions for creating A records. + If you're not familiar with DNS, review our [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide. After you have registered a domain name, you can choose to use Linode's [DNS Manager](https://www.linode.com/products/dns-manager/) to manage your DNS records. For help with this service, see our [DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Your server's IP address can be found in the Cloud Manager; see our [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for help. If you prefer to use a different DNS management service, follow their instructions for creating A records. -1. Complete the [Set Up a Reverse Proxy in an LXD Container to Host Multiple Websites](/docs/guides/beginners-guide-to-lxd-reverse-proxy/) guide. The guide instructs you to create a reverse proxy in a `proxy` container, and two web server containers, `apache1` and `nginx1`. These containers run the Apache 2 and NGINX web servers respectively. Then, the guide sets up Let's Encrypt TLS certificates for both websites. +1. Complete the [Set Up a Reverse Proxy in an LXD Container to Host Multiple Websites](/cloud/guides/beginners-guide-to-lxd-reverse-proxy/) guide. The guide instructs you to create a reverse proxy in a `proxy` container, and two web server containers, `apache1` and `nginx1`. These containers run the Apache 2 and NGINX web servers respectively. Then, the guide sets up Let's Encrypt TLS certificates for both websites. After completion of the linked guide, keep all of the containers that were created. Later in the current guide, WordPress is installed in the two web server containers. diff --git a/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md b/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md index bb0698b057d..3aa94be5d10 100644 --- a/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/index.md @@ -13,7 +13,7 @@ external_resources: - '[Profiling with XHProf and XHGUI](https://www.engineyard.com/blog/topic/profiling-with-xhprof-and-xhgui)' - '[Tideways XHProf Extension](https://github.com/tideways/php-xhprof-extension)' - '[XHGUI](https://github.com/perftools/xhgui)' -- '[How to Use Docker Compose](/docs/guides/how-to-use-docker-compose/)' +- '[How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/)' aliases: ['/websites/cms/how-to-speed-up-a-wordpress-website/','/websites/cms/wordpress/how-to-speed-up-a-wordpress-website/'] --- @@ -289,9 +289,9 @@ When you visit a WordPress page, the page is dynamically generated on each reque After you fix code performance bottlenecks and install other best practice measures, you can fine-tune the basic settings for your web server and database. This involves estimating the average memory and CPU usage of a request, comparing it with the total level of resources for your server, and then adjusting your software configuration to make the most of those resources. Linode has guides on optimizing Apache and MySQL: -- [Tuning Your Apache Server](/docs/guides/tuning-your-apache-server/) +- [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/) -- [How to Optimize MySQL Performance Using MySQLTuner](/docs/guides/how-to-optimize-mysql-performance-using-mysqltuner/) +- [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/) ## Optional: Profile Your Own WordPress Site diff --git a/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md index cb66438f8d7..250c1b8c3ca 100644 --- a/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-update-php-for-wordpress/index.md @@ -41,16 +41,16 @@ Additional best practices for WordPress upgrades are listed below: ## 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. **Do not** follow the *Configure a Firewall* section yet as this guide includes firewall rules specifically for an OpenVPN server. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. **Do not** follow the *Configure a Firewall* section yet as this guide includes firewall rules specifically for an OpenVPN server. -1. A full LAMP stack must already be installed. See the [How to Install a LAMP Stack on Ubuntu 20.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide for more details. +1. A full LAMP stack must already be installed. See the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide for more details. -1. WordPress should already be installed. See the Linode guides on [Installing WordPress](/docs/guides/install-wordpress-ubuntu-18-04/) and [Deploying WordPress from Quick Deploy Apps](/docs/marketplace-docs/guides/wordpress/). +1. WordPress should already be installed. See the Linode guides on [Installing WordPress](/cloud/guides/install-wordpress-ubuntu-18-04/) and [Deploying WordPress from Quick Deploy Apps](/cloud/marketplace-docs/guides/wordpress/). {{< note >}} -The steps in this guide are written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 >}} ## How to Update PHP @@ -93,7 +93,7 @@ Although unlikely, the site or its contents could be corrupted during the update The WordPress site can be backed up externally using FTP or SCP. It can also be backed up in a different folder on the Linode. In the long run, it is much safer to back up the files and database to external storage space. This preserves the archive in the event the server hard drive becomes corrupted or access to the server is permanently lost. However, to quickly upgrade WordPress or PHP, a temporary backup copy can be made somewhere else on the Linode. {{< note >}} -For a nominal fee, Linode can take a snapshot of your site through its [Backup Service](/docs/products/storage/backups/). A variety of third-party tools are also available. [cPanel](/docs/guides/use-cpanel-to-manage-domains-and-databases/) can be used to back up a site, but it has a licensing fee. A variety of third-party WordPress plug-ins are also available for this purpose. +For a nominal fee, Linode can take a snapshot of your site through its [Backup Service](https://techdocs.akamai.com/cloud-computing/docs/backup-service). A variety of third-party tools are also available. [cPanel](/cloud/guides/use-cpanel-to-manage-domains-and-databases/) can be used to back up a site, but it has a licensing fee. A variety of third-party WordPress plug-ins are also available for this purpose. {{< /note >}} To back up the WordPress files on the Linode, follow the below steps: @@ -109,7 +109,7 @@ To back up the WordPress files on the Linode, follow the below steps: sudo cp public_html/ -r ~/wpbackup {{< note respectIndent=false >}} -To back up files to another system, launch an FTP application from the other system and connect to Linode. Navigate to the `/var/www/html/yourdomainname.com` and copy over the entire contents of the `public_html` directory. For more information on using FTP, see our [Transfer Files with FileZilla](/docs/guides/filezilla/) guide. +To back up files to another system, launch an FTP application from the other system and connect to Linode. Navigate to the `/var/www/html/yourdomainname.com` and copy over the entire contents of the `public_html` directory. For more information on using FTP, see our [Transfer Files with FileZilla](/cloud/guides/filezilla/) guide. {{< /note >}} There are several alternatives for backing up a WordPress database. The [phpMyAdmin](https://www.phpmyadmin.net/) application is a popular choice. Many plug-ins can also back up the database. However, the MySQL utility `mysqldump` works in all situations without any additional tools. Back up your WordPress database by following the below procedure. @@ -129,7 +129,7 @@ To use a newer version of PHP, all necessary PHP modules must be upgraded to the sudo apt install php7.4 {{< note respectIndent=false >}} -If the `php7.4` component cannot be found on the system, version 7.4 might still be the default version. To determine the default version of the `php` package, run the command `sudo apt list php`. If this displays a reference to version 7.4, run the command `sudo apt install php`. To install a different version of PHP, follow the instructions in the [How to Install a Specific Version of PHP](/docs/guides/how-to-update-php-for-wordpress/#how-to-install-a-specific-version-of-php) section. +If the `php7.4` component cannot be found on the system, version 7.4 might still be the default version. To determine the default version of the `php` package, run the command `sudo apt list php`. If this displays a reference to version 7.4, run the command `sudo apt install php`. To install a different version of PHP, follow the instructions in the [How to Install a Specific Version of PHP](/cloud/guides/how-to-update-php-for-wordpress/#how-to-install-a-specific-version-of-php) section. {{< /note >}} 1. Install the 7.4 version of the other PHP modules, along with the `libapache2-mod-php7.4` component. The following list includes the essential PHP libraries for WordPress. @@ -166,7 +166,7 @@ If NGINX is used as the web server, run the following commands instead: Also, change the `fastcgi_pass` value in `/etc/nginx/conf.d/yourdomain.com.conf` to `fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;`. -Consult the Linode guide on [NGINX and PHP](/docs/guides/serve-php-php-fpm-and-nginx/) for more details. +Consult the Linode guide on [NGINX and PHP](/cloud/guides/serve-php-php-fpm-and-nginx/) for more details. {{< /note >}} 1. Restart the Apache server to apply the changes. @@ -191,7 +191,7 @@ php7.3/focal 7.3.29-1+ubuntu20.04.1+deb.sury.org+1 all 1. Install this version of PHP. sudo apt install php7.3 -1. Update all other PHP packages to the same version at the same time. For example, `php7.3-mysql` and `libapache2-mod-php7.3` must also be installed. See the [Update PHP on Ubuntu 20.04](/docs/guides/how-to-update-php-for-wordpress/#update-php-on-ubuntu-2004) section for a complete list. +1. Update all other PHP packages to the same version at the same time. For example, `php7.3-mysql` and `libapache2-mod-php7.3` must also be installed. See the [Update PHP on Ubuntu 20.04](/cloud/guides/how-to-update-php-for-wordpress/#update-php-on-ubuntu-2004) section for a complete list. If the package is not available, it might be available via the `ondrej` *Personal Package Archive* (PPA), developed by Ondřej Surý. This archive provides access to the most recent versions of PHP. The same naming convention as above is used. diff --git a/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md b/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md index 32b0089deac..24ca3c5f0ea 100644 --- a/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md +++ b/docs/guides/websites/cms/wordpress/how-to-use-nginx-fastcgi-page-cache-with-wordpress/index.md @@ -37,18 +37,18 @@ No additional components or applications are required to enable the NGINX cache. ## 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. Configure a LEMP stack on the server, consisting of the NGINX web server, the MariaDB database, and the PHP programming language. MySQL can be substituted in place of MariaDB. For information on how to install and configure a LEMP stack, see the Linode guide on [installing a LEMP stack on Ubuntu 22.04](/docs/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). +1. Configure a LEMP stack on the server, consisting of the NGINX web server, the MariaDB database, and the PHP programming language. MySQL can be substituted in place of MariaDB. For information on how to install and configure a LEMP stack, see the Linode guide on [installing a LEMP stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lemp-stack-on-ubuntu-22-04/). -1. Ensure WordPress is installed and updated. To install WordPress, review the Linode guide on [installing WordPress on Ubuntu](/docs/guides/how-to-install-wordpress-ubuntu-22-04/). +1. Ensure WordPress is installed and updated. To install WordPress, review the Linode guide on [installing WordPress on Ubuntu](/cloud/guides/how-to-install-wordpress-ubuntu-22-04/). -1. WordPress sites are almost always accessed using a domain name. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +1. WordPress sites are almost always accessed using a domain name. For more information on domains and how to create a DNS record, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Configure the LEMP Stack to Support Caching diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md index e418d9b7f86..a57ed27d35b 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-on-ubuntu-16-04/index.md @@ -25,7 +25,7 @@ In this guide, you'll learn to how to install WordPress on a Linode running Ubun ![Install WordPress on Ubuntu 16.04](wordpress-ubuntu-16-04-title.png "Install WordPress on Ubuntu 16.04") {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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. All configuration files should be edited with elevated privileges. Remember to include `sudo` before running your text editor. @@ -34,7 +34,7 @@ Replace each instance of `example.com` in this guide with your site's domain nam ## Before You Begin -- This guide assumes you have followed the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and that your Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- This guide assumes you have followed the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and that your 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: @@ -43,7 +43,7 @@ Replace each instance of `example.com` in this guide with your site's domain nam The first command will output your short hostname; the second, your fully-qualified domain name (FQDN). -- Configure a [LAMP](/docs/guides/install-lamp-stack-on-ubuntu-16-04/) or [LEMP](/docs/guides/how-to-install-a-lemp-server-on-ubuntu-16-04/) web stack. +- Configure a [LAMP](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) or [LEMP](/cloud/guides/how-to-install-a-lemp-server-on-ubuntu-16-04/) web stack. - Make sure MySQL has a database set up for WordPress. If you do not have a WordPress database, create one: diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md index 1dba00b90f8..2b12b1b03cf 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-ubuntu-18-04/index.md @@ -33,7 +33,7 @@ Replace each instance of `example.com` in this guide with the domain name or IP ## Before You Begin Installing WordPress -- Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, and ensure that the Linode's [hostname is set](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +- Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide, and 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). To check the hostname run: @@ -42,7 +42,7 @@ Replace each instance of `example.com` in this guide with the domain name or IP The first command outputs the short hostname; the second, a fully-qualified domain name (FQDN). -- Configure a [LAMP](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [LEMP](/docs/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) web stack on Ubuntu 18.04 installation. +- Configure a [LAMP](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) or [LEMP](/cloud/guides/how-to-install-the-lemp-stack-on-ubuntu-18-04/) web stack on Ubuntu 18.04 installation. - If you are running NGINX, edit the `location /` block of the configuration to set `index.php` as an index for the site: diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md index aaa9ad62c75..cf1b55264f4 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-14-04/index.md @@ -31,11 +31,11 @@ This is where WP-CLI, a powerful command line tool with which you can manage Wor This guide is written for Ubuntu 14.04. Before moving ahead, make sure you have completed the following guides: -* [Getting Started with Linode](/docs/products/platform/get-started/) -* [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) -* [How to Install a LAMP Stack on Ubuntu 14.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) +* [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) +* [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) +* [How to Install a LAMP Stack on Ubuntu 14.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/) {{< note >}} -This guide is written for a non-root user. Commands 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 WP-CLI diff --git a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md index 1738a1b9c01..18fa27b4860 100644 --- a/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/cms/wordpress/install-wordpress-using-wp-cli-on-ubuntu-18-04/index.md @@ -33,11 +33,11 @@ This is where WP-CLI, a powerful command line tool with which you can manage Wor This guide is written for Ubuntu 18.04. Before moving ahead, make sure you have completed the following guides: -* [Getting Started with Linode](/docs/products/platform/get-started/) -* [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) -* [How to Install a LAMP Stack on Ubuntu 18.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) +* [Getting Started with Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) +* [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) +* [How to Install a LAMP Stack on Ubuntu 18.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) {{< note >}} -This guide is written for a non-root user. Commands 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 WP-CLI diff --git a/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md b/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md index 77d51ffae71..677b1790641 100644 --- a/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/ecommerce/how-to-install-prestashop-on-ubuntu-16-04/index.md @@ -23,16 +23,16 @@ If you've ever thought about opening an online store, you may have felt overwhel PrestaShop's ecommerce breadth can make it seem daunting to learn; however, its menus are neatly structured, terms are intuitive, and interface is easily navigable. In addition, customizing your website with PrestaShop's many *What You See Is What You Get* (WYSIWYG) tools makes for a user-friendly set up, without having to inspect and edit source code. Also, PrestaShop comes with many out-of-the-box features and plug-ins that streamline setup and use. -Installing Prestashop on a remote server is more involved and time-consuming than using cloud hosting, but the rewards are greater: you will have better performance, since you have conserved server resources, and greater flexibility, with the freedom to tweak your settings as you see fit. You won't ever have to wait for a cloud-host support team to change PHP settings for you. Furthermore, [high availability](/docs/guides/introduction-to-high-availability/), [load balancing](/docs/products/networking/nodebalancers/get-started/), advanced [backup schemes](/docs/products/storage/backups/), and other features become easily accessible, allowing you to scale your business and increase your site's reliability. +Installing Prestashop on a remote server is more involved and time-consuming than using cloud hosting, but the rewards are greater: you will have better performance, since you have conserved server resources, and greater flexibility, with the freedom to tweak your settings as you see fit. You won't ever have to wait for a cloud-host support team to change PHP settings for you. Furthermore, [high availability](/cloud/guides/introduction-to-high-availability/), [load balancing](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers), advanced [backup schemes](https://techdocs.akamai.com/cloud-computing/docs/backup-service), and other features become easily accessible, allowing you to scale your business and increase your site's reliability. ## Before You Begin -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 order to obtain a free SSL certificate from [Let's Encrypt](https://letsencrypt.org/), you will need to buy a Fully Qualified Domain Name (FQDN) and set it to point to your Linode. See our [DNS Manager Overview](/docs/products/networking/dns-manager/) guide for more information. +1. In order to obtain a free SSL certificate from [Let's Encrypt](https://letsencrypt.org/), you will need to buy a Fully Qualified Domain Name (FQDN) and set it to point to your Linode. See our [DNS Manager Overview](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for more information. {{< note respectIndent=false >}} Throughout this guide, replace `example.com` with the public IP address or Fully Qualified Domain Name (FQDN) of your Linode. @@ -44,7 +44,7 @@ In most cases, you can start out with an Ubuntu 16.04 instance with 1GB of RAM. ## Install Apache and MariaDB -This guide will run PrestaShop on a modified LAMP stack using MariaDB instead of MySQL. You can read more about MariaDB and its features [here](https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql-features/). If you would prefer to use a traditional LAMP stack, please see our guide, [How to Install a LAMP Stack on Ubuntu 16.04](/docs/guides/install-lamp-stack-on-ubuntu-16-04/). +This guide will run PrestaShop on a modified LAMP stack using MariaDB instead of MySQL. You can read more about MariaDB and its features [here](https://mariadb.com/kb/en/the-mariadb-library/mariadb-vs-mysql-features/). If you would prefer to use a traditional LAMP stack, please see our guide, [How to Install a LAMP Stack on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/). 1. Install Apache, PHP, and MariaDB: @@ -265,9 +265,9 @@ max_execution_time = 30 {{% content "email-warning-shortguide" %}} -Setting up mail delivery in PrestaShop is vital because so much happens through email: customer account confirmations, subscriptions, delivery statuses, order confirmations, etc. Although an email server [like this one](/docs/guides/email-with-postfix-dovecot-and-mysql/) can be hosted on a Linode, it can be complicated to set up and maintain. +Setting up mail delivery in PrestaShop is vital because so much happens through email: customer account confirmations, subscriptions, delivery statuses, order confirmations, etc. Although an email server [like this one](/cloud/guides/email-with-postfix-dovecot-and-mysql/) can be hosted on a Linode, it can be complicated to set up and maintain. -It's also possible to use an all-in-one solution like [Mail-in-a-Box](/docs/guides/mail-in-a-box-email-server/), but the easiest approach is to use a dedicated solution like [Google Workspace](/docs/guides/using-google-workspace-for-email/) or [Fastmail](https://www.fastmail.com/). This way you can focus on maintaining your store and get dependable email service without worrying about the technical details. +It's also possible to use an all-in-one solution like [Mail-in-a-Box](/cloud/guides/mail-in-a-box-email-server/), but the easiest approach is to use a dedicated solution like [Google Workspace](/cloud/guides/using-google-workspace-for-email/) or [Fastmail](https://www.fastmail.com/). This way you can focus on maintaining your store and get dependable email service without worrying about the technical details. Once you have decided on an email provider, configure PrestaShop's email system: in the left menu, under **CONFIGURE**, hover over **Advanced Parameters** and click **E-mail** in the submenu. Once the page loads, look for **Set my own SMTP parameters (for advanced users ONLY)**. diff --git a/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md b/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md index 3ef1126b4be..4f53232b32b 100644 --- a/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md +++ b/docs/guides/websites/ecommerce/install-magento-2-4-on-centos-8/index.md @@ -27,16 +27,16 @@ Although this guide covers installation of Magento 2.4, version 2.3 is still ava ## Before You Begin -1. If you have not already done so, create a Linode account and Compute Instance. It's recommended to run Magento on at least a 4GB 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. It's recommended to run Magento on at least a 4GB 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. Do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for an Magento server. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. Do **not** follow the Configure a Firewall section yet. This guide includes firewall rules specifically for an Magento server. sudo dnf update && sudo dnf upgrade 1. This guide uses the sample domain name of `example.com` and a Magento root directory of `/var/www/html/example.com/public_html`, along with default username and password variables such as `magentouser` and `magentopassword`. Substitute your own values when you encounter these variables throughout the guide. {{< note >}} -The steps in this guide require root privileges. Be sure to run the steps below as `root` or with the `sudo` prefix. For more information on privileges, see our [Users and Groups](/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 >}} ## Advantages/Drawbacks of Magento @@ -116,7 +116,7 @@ Several other software components must be present and properly configured before 3. PHP 7.4 4. Elasticsearch -Follow the instructions in the [How to Install a LAMP Stack on CentOS 8](/docs/guides/how-to-install-a-lamp-stack-on-centos-8/) guide to install Apache, SQL, and PHP. +Follow the instructions in the [How to Install a LAMP Stack on CentOS 8](/cloud/guides/how-to-install-a-lamp-stack-on-centos-8/) guide to install Apache, SQL, and PHP. {{< note type="secondary" title="Install PHP 7.4" isCollapsible=true >}} 1. Enable the repositories by using: ```sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y``` @@ -147,7 +147,7 @@ Follow the instructions in the [How to Install a LAMP Stack on CentOS 8](/docs/g {{< note respectIndent=false >}} -Most payment processors and financial institutions do not recognise or accept self-signed certificates. Before putting your store into production, you must obtain a commercially-signed certificate. More information can be found in [the Linode guide about SSL certificates](/docs/guides/obtain-a-commercially-signed-tls-certificate/). +Most payment processors and financial institutions do not recognise or accept self-signed certificates. Before putting your store into production, you must obtain a commercially-signed certificate. More information can be found in [the Linode guide about SSL certificates](/cloud/guides/obtain-a-commercially-signed-tls-certificate/). {{< /note >}} 4. Configure the virtual host settings for your website on Apache. There are a variety of ways to structure these settings. One straightforward approach is to add them to the `/etc/httpd/conf.d/vhost.conf` file. Add the following contents to the file, replacing `example.com` with your own domain. The directory specified within the virtual host serves as your Magento root directory. Later on, you will install the Magento software from this location. @@ -191,7 +191,7 @@ Most payment processors and financial institutions do not recognise or accept se sudo systemctl enable httpd.service sudo systemctl restart httpd.service {{< note >}} -If you require more information on setting up Apache or configuring virtual hosts, consult Linode's [Apache on CentOS 8](/docs/guides/how-to-install-apache-web-server-centos-8/) guide. +If you require more information on setting up Apache or configuring virtual hosts, consult Linode's [Apache on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) guide. {{< /note >}} {{< note >}} NGINX 1.x can also be used as the Magento web server. @@ -604,7 +604,7 @@ We recommend you disable the ability to display your storefront within a frame t ### SSL Certificates -SSL certificates encrypt and verify sensitive financial and sales data. You should use them when setting up your storefront. A self-signed certificate (as discussed earlier) is sufficient to complete the Magento installation. However, your site requires a commercially-signed certificate in order to interact with most payment processors and to avoid warning messages when customers navigate to your site. More information is available in the Linode guides to [obtaining a commercially signed SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/docs/guides/ssl-apache2-centos/). +SSL certificates encrypt and verify sensitive financial and sales data. You should use them when setting up your storefront. A self-signed certificate (as discussed earlier) is sufficient to complete the Magento installation. However, your site requires a commercially-signed certificate in order to interact with most payment processors and to avoid warning messages when customers navigate to your site. More information is available in the Linode guides to [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-centos/). The SSL and the HTTPS protocols are enabled on the Magento Admin page. diff --git a/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md b/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md index 0f12bd1b6a0..03fc5796c40 100644 --- a/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md +++ b/docs/guides/websites/ecommerce/install-magento-on-centos-7/index.md @@ -31,17 +31,17 @@ This guide explains how to install the latest Magento release at the time of pub ## 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. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache. If you haven't, refer to our [Apache on CentOS 7](/docs/guides/install-and-configure-apache-on-centos-7/) guide. However, do not install MariaDB or PHP. We will explain how to install compatible versions of those packages in this guide. +3. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache. If you haven't, refer to our [Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7/) guide. However, do not install MariaDB or PHP. We will explain how to install compatible versions of those packages in this guide. 3. Update your system: sudo yum update {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Prepare Your Server for Magento @@ -58,7 +58,7 @@ Since Magento will be served by Apache, some additional configuration is needed If this shows version 2.2 or another version, upgrade your packages before proceeding. -2. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to our [Apache on CentOS 7](/docs/guides/install-and-configure-apache-on-centos-7/) guide for additional guidance. +2. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to our [Apache on CentOS 7](/cloud/guides/install-and-configure-apache-on-centos-7/) guide for additional guidance. {{< file "/etc/httpd/conf.d/vhost.conf" aconf >}} @@ -211,7 +211,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen scp /path/on/local/Magento-CE-2.*.tar.gz user@yourhost:~/ - Alternatively, you can use an FTP client, like [Filezilla](/docs/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. + Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. 3. Log into your Linode via SSH as your standard user account. Navigate to the document root you specified in your virtual host file: @@ -248,7 +248,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen This allows your `magento` user (and members of the `apache` group) to write to the various files they need to run and serve Magento on your site. {{< note respectIndent=false >}} -The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/docs/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. +The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. {{< /note >}} 4. Restart Apache: @@ -297,7 +297,7 @@ The dashboard is functional at this point, but you've still got work to do befor ### Set Cron Jobs -Magento relies on [cron](/docs/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are easy to configure. +Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are easy to configure. 1. Open the crontab for your `magento` user. Perform this step as a user with `sudo` privileges: @@ -343,19 +343,19 @@ At a minimum, you should restrict write access to the `app/etc` directory before Depending on whether you install custom themes or extensions, you may need to do additional configuration. This will vary depending on what you have installed. Once you're ready to deploy your site into production mode, refer to [Magento's ownership and permissions guide](http://devdocs.magento.com/guides/v2.1/config-guide/prod/prod_file-sys-perms.html) for a more comprehensive set of recommendations. {{< note >}} -If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/docs/guides/linux-users-and-groups/). +If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups/). {{< /note >}} ### Secure your Site with SSL Secure sockets layer (SSL) certificates are a vital part of e-commerce. They enable encrypted transmission of sensitive data, such as credit card numbers, that can be verified and trusted by clients. In fact, some payment vendors such as PayPal, require SSL certificates to be used for customer transactions. -For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/docs/guides/ssl-apache2-centos/). +For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-centos/). {{< note >}} Many payment vendors that require SSL do not support self-signed certificates. Depending on how you handle payments, it is likely you will need to purchase a commercially signed certificate. -When you [configure Apache to use the SSL certificate](/docs/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site and only want that section to be encrypted, make sure to modify your `` block to match. +When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} Once you've installed your SSL certificate and configured Apache to serve your site securely, you'll need to configure Magento to use secure URLs. diff --git a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md index 384c399f386..1c5f989c0f0 100644 --- a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-16-04/index.md @@ -32,22 +32,22 @@ This guide explains how to install the latest Magento release at the time of pub ## 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. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache, MySQL and PHP. If you haven't, refer to our [LAMP on Ubuntu 16.04](/docs/guides/install-lamp-stack-on-ubuntu-16-04/) guide. Be aware that there are known compatibility issues with PHP 7.0.5, so check your version with `php -v` before proceeding. +3. Magento runs on a LAMP stack, and this guide assumes you have already installed and configured Apache, MySQL and PHP. If you haven't, refer to our [LAMP on Ubuntu 16.04](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) guide. Be aware that there are known compatibility issues with PHP 7.0.5, so check your version with `php -v` before proceeding. 3. Update your system: sudo apt-get update && sudo apt-get upgrade {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, you can check our [Users and Groups](/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 >}} ## Prepare Your Server for Magento -In addition to the standard [LAMP stack](/docs/guides/install-lamp-stack-on-ubuntu-16-04/) software in our guide, Magento requires a few extra dependencies. To install them: +In addition to the standard [LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) software in our guide, Magento requires a few extra dependencies. To install them: sudo apt-get install php7.0-common php7.0-gd php7.0-mcrypt php7.0-curl php7.0-intl php7.0-xsl php7.0-mbstring php7.0-zip php7.0-iconv mysql-client @@ -65,7 +65,7 @@ Since Magento will be served by Apache, some additional configuration is needed sudo a2enmod rewrite -3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/docs/guides/install-lamp-stack-on-ubuntu-16-04/#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. +3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. {{< file "/etc/apache2/sites-available/example.com.conf" conf >}} @@ -168,7 +168,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen scp /path/on/local/Magento-CE-2.*.tar.gz user@yourhost:~/ - Alternatively, you can use an FTP client, like [Filezilla](/docs/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. + Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. 3. Log into your Linode via SSH as your standard user account. Navigate to the document root you specified in your virtual host file: @@ -205,7 +205,7 @@ When choosing a version, refer to Magento's [prerequisites](http://devdocs.magen This allows your `magento` user (and members of the `www-data` group) to write to the various files they need to run and serve Magento on your site. {{< note respectIndent=false >}} -The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/docs/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. +The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. {{< /note >}} 4. Restart Apache: @@ -254,7 +254,7 @@ The dashboard is functional at this point, but you've still got work to do befor ### Set Cron Jobs -Magento relies on [cron](/docs/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. +Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. 1. Open the crontab for your `magento` user. Perform this step as a user with `sudo` privileges: @@ -298,19 +298,19 @@ At a minimum, you should restrict write access to the `app/etc` directory before Depending on whether you install custom themes or extensions, you may need to do additional configuration. This will vary depending on what you have installed. Once you're ready to deploy your site into production mode, refer to [Magento's ownership and permissions guide](http://devdocs.magento.com/guides/v2.1/config-guide/prod/prod_file-sys-perms.html) for a more comprehensive set of recommendations. {{< note >}} -If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/docs/guides/linux-users-and-groups/). +If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups/). {{< /note >}} ### Secure your Site with SSL Secure sockets layer (SSL) certificates are a vital part of e-commerce. They enable encrypted transmission of sensitive data, such as credit card numbers, that can be verified and trusted by clients. In fact, some payment vendors such as PayPal, require SSL certificates to be used for customer transactions. -For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/docs/guides/ssl-apache2-debian-ubuntu/). +For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-debian-ubuntu/). {{< note >}} Many payment vendors that require SSL do not support self-signed certificates. Depending on how you handle payments, it is likely you will need to purchase a commercially signed certificate. -When you [configure Apache to use the SSL certificate](/docs/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. +When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} Once you've installed your SSL certificate and configured Apache to serve your site securely, you'll need to configure Magento to use secure URLs. diff --git a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md index 60b958a6602..0d265d4247f 100644 --- a/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/ecommerce/install-magento-on-ubuntu-18-04/index.md @@ -28,9 +28,9 @@ Considering the resources some Magento plugins demand, we strongly recommend tha ## 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. Magento runs on a LAMP stack, and is **only compatible with PHP 7.0 or 7.1**. This guide contains instructions for setting up Apache, MySQL, and PHP in a manner compatible with the latest version of Magento (v. 2.2.5). Check your version of PHP with `php -v`. If your version is incompatible, refer to the included instructions for installing and setting PHP 7.0 as the default version. @@ -42,7 +42,7 @@ Considering the resources some Magento plugins demand, we strongly recommend tha sudo apt update && sudo apt upgrade ``` - {{< note respectIndent=false >}} This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. {{< /note >}} + {{< note respectIndent=false >}} This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Install A Magento-compatible LAMP Stack @@ -133,7 +133,7 @@ Since Magento will be served by Apache, some additional configuration is needed sudo a2enmod rewrite ``` -3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/docs/guides/install-lamp-stack-on-ubuntu-16-04/#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. +3. Modify the virtual host file for your Magento site to resemble the example below. If you have not previously created a virtual host file, do so now and refer to the [Configure Virtual Hosts](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/#configure-virtual-hosts) section of the LAMP on Ubuntu 16.04 guide for additional guidance. {{< file "/etc/apache2/sites-available/example.com.conf" apache >}} @@ -228,7 +228,7 @@ In this section, we'll explain how to install the Magento Community Edition (CE) scp /path/on/local/Magento-CE-2.*.tar.gz user@host-ip_or_web-url:~/ ``` - Alternatively, you can use an FTP client, like [Filezilla](/docs/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. + Alternatively, you can use an FTP client, like [Filezilla](/cloud/guides/filezilla/), if you're running Windows or are otherwise unable to use a command-line tool like `scp`. 3. Log into your Linode via SSH as your standard user account. Navigate to the document root you specified in your virtual host file: @@ -274,7 +274,7 @@ In this section, we'll explain how to install the Magento Community Edition (CE) This allows your `magento` user (and members of the `www-data` group) to write to the various files they need to run and serve Magento on your site. - {{< note respectIndent=false >}} The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple of minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/docs/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/docs/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. {{< /note >}} + {{< note respectIndent=false >}} The first two commands may take some time to run because they are matching various files and directories in your installation folder. It may appear that the system is inactive, but be sure to allow a couple of minutes before cancelling the operations. You can always start a new SSH connection, or run these commands in a [screen](/cloud/guides/using-gnu-screen-to-manage-persistent-terminal-sessions/) session, and use tools like [htop & iotop](/cloud/guides/top-htop-iotop/#additional-top-like-programs) to monitor progress. {{< /note >}} 4. Restart Apache: @@ -330,7 +330,7 @@ The dashboard is functional at this point, but you've still got work to do befor ### Set Cron Jobs -Magento relies on [cron](/docs/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. +Magento relies on [cron](/cloud/guides/schedule-tasks-with-cron/) to perform tasks like continuously reindexing your site and generating emails and newsletters. If you logged into your admin panel, you may have noticed an error message saying that cron jobs needed to be set. Fortunately, the cron jobs Magento uses for a base installation are very easy to configure. 1. Open the crontab for your `magento` user. Perform this step as a user with `sudo` privileges: @@ -377,17 +377,17 @@ sudo find app/etc -type d -exec chmod g-ws {} \; Depending on whether you install custom themes or extensions, you may need to do additional configuration. This will vary depending on what you have installed. Once you're ready to deploy your site into production mode, refer to [Magento's ownership and permissions guide](https://devdocs.magento.com/guides/v2.2/config-guide/prod/prod_file-sys-perms.html) for a more comprehensive set of recommendations. -{{< note >}} If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/docs/guides/linux-users-and-groups/). {{< /note >}} +{{< note >}} If you need to make additional configuration changes in the future, you'll need to manually add write permissions again before you can do so. For more information, see our guide on [Linux users and groups](/cloud/guides/linux-users-and-groups/). {{< /note >}} ### Secure your Site with SSL Secure sockets layer (SSL) certificates are a vital part of e-commerce. They enable encrypted transmission of sensitive data, such as credit card numbers, that can be verified and trusted by clients. In fact, some payment vendors such as PayPal, require SSL certificates to be used for customer transactions. -For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/docs/guides/ssl-apache2-debian-ubuntu/). +For instructions on how to use SSL certificates in your store, see our guides on [obtaining a commercially signed SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) and [using SSL certificates with Apache](/cloud/guides/ssl-apache2-debian-ubuntu/). {{< note >}} Many payment vendors that require SSL do not support self-signed certificates. Depending on how you handle payments, it is likely you will need to purchase a commercially signed certificate. -When you [configure Apache to use the SSL certificate](/docs/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} +When you [configure Apache to use the SSL certificate](/cloud/guides/ssl-apache2-centos/#configure-apache-to-use-the-ssl-certificate), if you installed Magento in a subdirectory of your site, and only want that section to be encrypted, make sure to modify your `` block to match. {{< /note >}} Once you've installed your SSL certificate and configured Apache to serve your site securely, you'll need to configure Magento to use secure URLs. diff --git a/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md b/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md index 00f810a0f6a..a4b9da29b63 100644 --- a/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md +++ b/docs/guides/websites/ecommerce/install-opencart-on-centos-7/index.md @@ -29,7 +29,7 @@ relations: ## Before You Begin -1. You should set up [LAMP on CentOS 7](/docs/guides/how-to-install-a-lamp-stack-on-centos-7/). +1. You should set up [LAMP on CentOS 7](/cloud/guides/how-to-install-a-lamp-stack-on-centos-7/). 2. Install the Extra Packages for Enterprise Linux (EPEL) repository. sudo yum install epel-release @@ -147,9 +147,9 @@ You can now login using the administrator account details you entered previously Now that you have your OpenCart installation up and running, there are a few more steps that we recommend. Because of the security-sensitive nature of ecommerce websites, you will want to make sure your system is secure. -1. Make sure you follow our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. +1. Make sure you follow our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. -2. Secure your website with SSL/TLS. Learn to [Install a SSL certificate with Apache on CentOS 7](/docs/guides/ssl-apache2-centos/). Once you've installed a certificate, enable **Use SSL** by following the [Opencart Documentation on SSL](http://docs.opencart.com/administration/ssl/). +2. Secure your website with SSL/TLS. Learn to [Install a SSL certificate with Apache on CentOS 7](/cloud/guides/ssl-apache2-centos/). Once you've installed a certificate, enable **Use SSL** by following the [Opencart Documentation on SSL](http://docs.opencart.com/administration/ssl/). 3. Follow the [Basic Security Practices](http://docs.opencart.com/administration/security/) from the OpenCart documentation. diff --git a/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md b/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md index 6bdbb1560f8..fd0187462bb 100644 --- a/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md +++ b/docs/guides/websites/ecommerce/magento-on-debian-5-lenny/index.md @@ -17,9 +17,9 @@ relations: deprecated: true --- -Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) and offers the user a wide variety of options. +Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) and offers the user a wide variety of options. -Before installing Magento we assume that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide 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 Magento we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide as well as our [LAMP guide.](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing Prerequisites @@ -28,7 +28,7 @@ Make sure your package repositories and installed programs are up to date by iss apt-get update apt-get upgrade --show-upgraded -Magento requires Apache to be installed to serve webpages, as well as PHP 5 and MySQL. If you're running an older version of PHP, you can use our [PHP-CGI Apache](/docs/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) guide to run PHP5 as a binary. Along with the base PHP5 install, you'll need several other extensions. The following command will attempt to install every required extension and then restart Apache: +Magento requires Apache to be installed to serve webpages, as well as PHP 5 and MySQL. If you're running an older version of PHP, you can use our [PHP-CGI Apache](/cloud/guides/run-php-applications-under-cgi-with-apache-on-debian-5-lenny/) guide to run PHP5 as a binary. Along with the base PHP5 install, you'll need several other extensions. The following command will attempt to install every required extension and then restart Apache: apt-get install php5-mysql php5-curl php5-gd php5-mcrypt a2enmod rewrite @@ -50,7 +50,7 @@ You'll also need to create a database for Magento, and a user with permission to GRANT ALL ON magento.* TO 'mage' IDENTIFIED BY 'password'; exit -Please see our [MySQL](/docs/guides/use-mysql-relational-databases-on-debian-5-lenny/) document for additional tips for optimizing memory. At this point your server has the prerequisites to install Magento. +Please see our [MySQL](/cloud/guides/use-mysql-relational-databases-on-debian-5-lenny/) document for additional tips for optimizing memory. At this point your server has the prerequisites to install Magento. ## Installing Magento @@ -73,7 +73,7 @@ From here you can point your browser to the URL you installed Magento at. All of ### SSL Certificates -You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) document, you can set up your SSL certificate in the Administrative Area. After logging into Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. +You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) document, you can set up your SSL certificate in the Administrative Area. After logging into Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. ## More Information diff --git a/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md index 477b22c07b0..8bf3921174c 100644 --- a/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/ecommerce/magento-on-ubuntu-9-10-karmic/index.md @@ -17,9 +17,9 @@ relations: deprecated: true --- -Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/docs/guides/lamp-server-on-ubuntu-9-10-karmic/) and offers the user a wide variety of options. +Magento is a self hosted e-commerce solution used by many people to sell products online. It runs on a [LAMP stack](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/) and offers the user a wide variety of options. -Before installing Magento, we assume that you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) as well as our [LAMP guide](/docs/guides/lamp-server-on-ubuntu-9-10-karmic/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/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 Magento, we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) as well as our [LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Installing Prerequisites @@ -64,7 +64,7 @@ You'll also need to create a database for Magento, and a user with permission to GRANT ALL ON magento.* TO 'mage' IDENTIFIED BY 'password'; exit -Please see our [MySQL](/docs/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) document for additional information regarding MySQL. +Please see our [MySQL](/cloud/guides/use-mysql-relational-databases-on-ubuntu-9-10-karmic/) document for additional information regarding MySQL. Additionally you will want to increase PHP's `memory_limit` setting, by editing the `/etc/php5/cli/php.ini` and `/etc/php5/apache2/php.ini` file as follows: @@ -99,7 +99,7 @@ From here you can point your browser to the URL you installed Magento to. All of ### SSL Certificates -You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/) document, you can set up your SSL certificate in the Administrative Area. After logging in to Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. +You may want to install a commercial SSL certificate on your Magento website in order to encrypt the data passed between your customer's computer and your server. After following our [obtaining a commercial SSL certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/) document, you can set up your SSL certificate in the Administrative Area. After logging in to Magento, scroll over the "System" tab and select "Configuration". Click the "Web" tab on the left-hand side and drop down the "Secure" listing. From here you can alter your Base URL to include the `https` protocol. ## More Information diff --git a/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md b/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md index bc203d5c65c..84cc509e404 100644 --- a/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md +++ b/docs/guides/websites/ecommerce/opencart-on-centos-6/index.md @@ -16,7 +16,7 @@ relations: deprecated: true --- -OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/docs/lamp-guides) on your Linode. You should have also [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/lamp-guides) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## PHP Settings diff --git a/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md b/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md index 82efc10feeb..71226b6ad48 100644 --- a/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/ecommerce/opencart-on-debian-6-squeeze/index.md @@ -17,7 +17,7 @@ relations: deprecated: true --- -OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/docs/web-servers/lamp/) on your Linode. You should have also [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/web-servers/lamp/) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## PHP Settings diff --git a/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md b/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md index 96c3834354d..f5747414b24 100644 --- a/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md +++ b/docs/guides/websites/ecommerce/opencart-on-fedora-15/index.md @@ -17,7 +17,7 @@ relations: deprecated: true --- -OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/docs/lamp-guides) on your Linode. You should have also [set the hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). +OpenCart is an open source storefront designed to give you flexibility and fine-grained control over your online storefront. Before getting started, you should have already set up a [LAMP stack](/cloud/lamp-guides) on your Linode. You should have also [set the hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname). ## PHP Settings diff --git a/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md b/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md index 32c8b3045c0..1b3f9c2683b 100644 --- a/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md +++ b/docs/guides/websites/ecommerce/oscommerce-on-debian-5-lenny/index.md @@ -19,7 +19,7 @@ deprecated: true osCommerce is an open source solution for creating your own online store. It runs on a LAMP stack and is a strong alternative to Magento, which can be difficult to administer for some. -Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Debian LAMP guide](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/). +Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Debian LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/). ## Installation @@ -82,7 +82,7 @@ From here you can begin customizing your store. The default index page will give ## SSL Certificates -You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: +You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: {{< file "/srv/www/example.com/public\\_html/includes/configure.php" php >}} // Define the webserver and path parameters diff --git a/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md b/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md index cddefdc6762..eb28d27e8c7 100644 --- a/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md +++ b/docs/guides/websites/ecommerce/oscommerce-on-fedora-13/index.md @@ -19,7 +19,7 @@ deprecated: true osCommerce is an open source solution for creating your own online store. It runs on a LAMP stack and is a strong alternative to Magento, which can be difficult to administer for some. -Before installing osCommerce, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](/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/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Fedora LAMP guide](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). +Before installing osCommerce, it is assumed that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Fedora LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/). ## Installation @@ -80,7 +80,7 @@ From here you can begin customizing your store. The default index page will give ## SSL Certificates -You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: +You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: {{< file "/srv/www/example.com/public\\_html/includes/configure.php" php >}} // Define the webserver and path parameters diff --git a/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md index f3972805932..1083971aa31 100644 --- a/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/ecommerce/oscommerce-on-ubuntu-9-10-karmic/index.md @@ -19,7 +19,7 @@ deprecated: true osCommerce is an open source solution for creating your own online store. It runs on a LAMP stack and is a strong alternative to Magento, which can be difficult to administer for some. -Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](/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/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Ubuntu LAMP guide](/docs/guides/lamp-server-on-ubuntu-9-10-karmic/). +Before installing osCommerce we assume that you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). Additionally, osCommerce requires Apache, MySQL, and PHP to be installed. We assume you've followed our [Ubuntu LAMP guide](/cloud/guides/lamp-server-on-ubuntu-9-10-karmic/). ## Installation @@ -103,7 +103,7 @@ From here you can begin customizing your store. The default index page will give ## SSL Certificates -You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/docs/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: +You may want to install a commercial SSL certificate on your store to encrypt the data sent from your customer to your server. After [Obtaining a Commercial SSL Certificate](/cloud/guides/obtain-a-commercially-signed-tls-certificate/), you'll need to make a couple of changes to your `includes/configure.php` file. Below is an example section from that file that highlights the changes you need to make: {{< file "/srv/www/example.com/public\\_html/includes/configure.php" php >}} // Define the webserver and path parameters diff --git a/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md b/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md index a903161cb6b..e28c48cd329 100644 --- a/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/erp/install-an-odoo-11-stack-on-ubuntu-16-04/index.md @@ -14,9 +14,9 @@ external_resources: - '[Odoo User Documentation](https://www.odoo.com/documentation/user/11.0/)' - '[Odoo Developer Documentation](https://www.odoo.com/documentation/11.0)' - '[PostgreSQL 9.6 Documentation](https://www.postgresql.org/docs/9.6/static/index.html)' - - '[Install an SSL certificate with LetsEncrypt](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/)' - - '[How to Set up tinc, a Peer-to-Peer VPN](/docs/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' - - '[Using Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' + - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/)' + - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' + - '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' deprecated: true --- @@ -26,7 +26,7 @@ deprecated: true [Odoo](https://www.odoo.com/) (formerly known as OpenERP) is a self-hosted suite of over 10,000 open source applications for a variety of business needs, including CRM, eCommerce, accounting, inventory, point of sale, and project management. These applications are all fully integrated and can be installed and accessed through a web interface, making it easy to automate and manage your company's processes. -For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu](/docs/guides/install-odoo-10-on-ubuntu-16-04/) guide for details). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 11 cluster in which the Odoo server and PostgreSQL database are hosted on separate Linodes, with database replication for added performance and reliability. +For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu](/cloud/guides/install-odoo-10-on-ubuntu-16-04/) guide for details). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 11 cluster in which the Odoo server and PostgreSQL database are hosted on separate Linodes, with database replication for added performance and reliability. ## System Requirements @@ -41,9 +41,9 @@ All examples in this guide are for Ubuntu 16.04. If you plan to use a different ## 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: @@ -66,7 +66,7 @@ Ports `22`, `80`, and `5432` are the defaults for SSH, HTTP and PostgreSQL commu sudo ufw allow 22/tcp -For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). ## Hostname Assignment diff --git a/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md b/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md index b7e5b62d300..9d8fe3bd348 100644 --- a/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md +++ b/docs/guides/websites/erp/install-an-odoo-13-stack-on-debian-10/index.md @@ -15,8 +15,8 @@ external_resources: - '[Odoo User Documentation](https://www.odoo.com/documentation/user/13.0/)' - '[Odoo Developer Documentation](https://www.odoo.com/documentation/13.0)' - '[PostgreSQL 11 Documentation](https://www.postgresql.org/docs/11/static/index.html)' - - '[Install an SSL certificate with LetsEncrypt](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/)' - - '[How to Set up tinc, a Peer-to-Peer VPN](/docs/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' + - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/)' + - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' relations: platform: key: install-an-odoo-13-stack @@ -28,7 +28,7 @@ relations: [Odoo](https://www.odoo.com/) (formerly known as OpenERP) is a self-hosted suite of over 10,000 open source applications for a variety of business needs. A few popular applications for Odoo include CRMs, eCommerce, accounting, inventory, point of sale, and project management. These applications are all fully integrated and can be installed and accessed through a web interface. Using Odoo's web interface can make it easier to automate and manage your company's processes. -For simple installations, Odoo and its dependencies can be installed on a single Linode. Our [Install Odoo 10 on Ubuntu 16.04](/docs/guides/install-odoo-10-on-ubuntu-16-04/) guide has an example of this. However, this single-server setup is not suited for production deployments. This guide covers how to configure an Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. +For simple installations, Odoo and its dependencies can be installed on a single Linode. Our [Install Odoo 10 on Ubuntu 16.04](/cloud/guides/install-odoo-10-on-ubuntu-16-04/) guide has an example of this. However, this single-server setup is not suited for production deployments. This guide covers how to configure an Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. ## System Requirements @@ -38,22 +38,22 @@ The setup in this guide requires the following *minimal* Linode specifications: * A Shared **1GB** Linode (Nanode) to install the Odoo 13 web application -Your implementation may need more nodes or higher-memory plans. Your required server resources depend on the number of end-users you want to serve and the number of modules you plan to incorporate. If you're not sure what size server you need, you can always start with a lower resource tier and then [resize your Linodes](/docs/products/compute/compute-instances/guides/resize/) to a higher plan later on. +Your implementation may need more nodes or higher-memory plans. Your required server resources depend on the number of end-users you want to serve and the number of modules you plan to incorporate. If you're not sure what size server you need, you can always start with a lower resource tier and then [resize your Linodes](https://techdocs.akamai.com/cloud-computing/docs/resize-a-compute-instance) to a higher plan later on. {{< note >}} -If you set up both servers inside the same data center, then you can configure the database server and the application server to talk to each other over that data center's private network. Communication over the data center's private network can be faster than communication between data centers. As well, the data transfer between your servers does not count against your account's [monthly network transfer usage](/docs/products/platform/get-started/guides/network-transfer/). +If you set up both servers inside the same data center, then you can configure the database server and the application server to talk to each other over that data center's private network. Communication over the data center's private network can be faster than communication between data centers. As well, the data transfer between your servers does not count against your account's [monthly network transfer usage](https://techdocs.akamai.com/cloud-computing/docs/network-transfer-usage-and-costs). {{< /note >}} All examples in this guide are for Debian 10. If you plan to use a different operating system, adapt the commands as necessary. ## Before You Begin -1. Familiarize yourself with our [Getting Started](/docs/products/platform/get-started/) guide. Create the Linodes described in the previous [System Requirements](#system-requirements) section of the current guide. Complete the steps for setting your Linodes' hostname and timezone. +1. Familiarize yourself with our [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. Create the Linodes described in the previous [System Requirements](#system-requirements) section of the current guide. Complete the steps for setting your Linodes' 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/) 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) to create a standard user account, harden SSH access, and remove unnecessary network services. {{< note respectIndent=false >}} -Commands that require elevated privileges are prefixed with `sudo`. If you're not familiar with the `sudo` command, you can check our [Users and Groups](/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 systems: @@ -77,9 +77,9 @@ If you want to configure a firewall for your Linodes, open the following ports: - Port `8069` is used by Odoo's webserver. -A convenient way to open these ports is by using the [UFW firewall utility](/docs/guides/configure-firewall-with-ufw/). However, this utility is not installed by default. Follow these instructions to install and configure UFW: +A convenient way to open these ports is by using the [UFW firewall utility](/cloud/guides/configure-firewall-with-ufw/). However, this utility is not installed by default. Follow these instructions to install and configure UFW: {{< note >}} -If you prefer to use a different firewall utility, like [iptables](/docs/guides/control-network-traffic-with-iptables/), be sure to use the same ports as described in the table above when configuring your software. +If you prefer to use a different firewall utility, like [iptables](/cloud/guides/control-network-traffic-with-iptables/), be sure to use the same ports as described in the table above when configuring your software. {{< /note >}} 1. Install `ufw` with the following command: @@ -97,7 +97,7 @@ If you prefer to use a different firewall utility, like [iptables](/docs/guides/ sudo ufw allow 22,6010,5432,8069/tcp {{< note respectIndent=false >}} -You may want to only accept connections from certain hosts/IP addresses. The [Advanced Rules](/docs/guides/configure-firewall-with-ufw/#advanced-rules) section of our UFW guide shows how to specify hosts/IP addresses in your rules. +You may want to only accept connections from certain hosts/IP addresses. The [Advanced Rules](/cloud/guides/configure-firewall-with-ufw/#advanced-rules) section of our UFW guide shows how to specify hosts/IP addresses in your rules. {{< /note >}} 1. After configuring your ports, enable the firewall: @@ -108,7 +108,7 @@ You may want to only accept connections from certain hosts/IP addresses. The [Ad sudo ufw status {{< note >}} -For more detailed information about firewall setup please read our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide. +For more detailed information about firewall setup please read our [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) guide. {{< /note >}} @@ -121,12 +121,12 @@ In order to simplify communication between Linodes, set hostnames for each serve | Odoo 13 | odoo | odoo.yourdomain.com | | PostgreSQL | postgresql | postgresql.yourdomain.com | -On each server, append the following lines to the `/etc/hosts` file. For the second line in each of these snippets, substitute your Linodes' IP addresses. If both servers are in the same Linode data center, then you can use private IP addresses for each Linode. Otherwise, use the public IP addresses of each Linode. Follow our [Find your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide to locate your addresses. +On each server, append the following lines to the `/etc/hosts` file. For the second line in each of these snippets, substitute your Linodes' IP addresses. If both servers are in the same Linode data center, then you can use private IP addresses for each Linode. Otherwise, use the public IP addresses of each Linode. Follow our [Find your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide to locate your addresses. {{< note >}} -A Linode does not come with a private IP address assigned to it by default. Private IPs are free to set up. If you would like to, follow our [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) guide to set up a private IP address on each Linode. Please note that you need to add the new private address inside your Linodes' networking configuration after it is assigned to your server. +A Linode does not come with a private IP address assigned to it by default. Private IPs are free to set up. If you would like to, follow our [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) guide to set up a private IP address on each Linode. Please note that you need to add the new private address inside your Linodes' networking configuration after it is assigned to your server. -Linode can configure your new private address for you through the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) utility, if it is enabled. After this tool is enabled in the Cloud Manager, reboot your Linode. You should be able to make connections on the private IP after reboot. Then, proceed with the rest of this guide. +Linode can configure your new private address for you through the [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking) utility, if it is enabled. After this tool is enabled in the Cloud Manager, reboot your Linode. You should be able to make connections on the private IP after reboot. Then, proceed with the rest of this guide. {{< /note >}} - **PostgreSQL database server**: @@ -218,7 +218,7 @@ Now that you finished PostgreSQL configuration you can start the `postgresql` se This section shows how to configure your Odoo 13 web application to work with the PostgreSQL database backend. Run the commands in this section on the Linode that you created for your Odoo application server. {{< note >}} -Odoo 13 uses Python 3.6+ instead of Python 3.5. [Debian 10 servers run Python 3.7.3 by default](/docs/guides/how-to-install-python-on-debian-10/), so you should not have compatibility problems. +Odoo 13 uses Python 3.6+ instead of Python 3.5. [Debian 10 servers run Python 3.7.3 by default](/cloud/guides/how-to-install-python-on-debian-10/), so you should not have compatibility problems. {{< /note >}} ### Prepare Linode for Odoo 13 Installation @@ -420,7 +420,7 @@ You have two options to backup your production database: You can later use this interface to restore your database from a specific database backup file. Odoo correctly restores to the database on the **PostgreSQL server**, and not to the database service that was installed on the Odoo application server. This happens because your Odoo configuration is explicit about the database connection. -1. You can use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/docs/guides/back-up-a-postgresql-database/) from the backend **PostgreSQL** Linode. +1. You can use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) from the backend **PostgreSQL** Linode. ## Update Odoo Modules @@ -454,7 +454,7 @@ You now have Odoo 13 and PostgreSQL installed and configured. There are several You can install a web server as a reverse proxy in front of the Odoo application server. By doing so, your Odoo installation would be accessible on port 80 (HTTP) or port 443 (HTTPS), instead of port 8069. -Our [Use NGINX as a Reverse Proxy](/docs/guides/use-nginx-reverse-proxy/) guide lists further benefits of setting up a reverse proxy. It also shows how to use NGINX as a reverse proxy for an example Node.js application. The instructions in this guide could be adapted for your Odoo installation. In particular, you could alter the instructions in that guide's [Configure NGINX](/docs/guides/use-nginx-reverse-proxy/#configure-nginx) section to use port 8069, instead of port 3000. +Our [Use NGINX as a Reverse Proxy](/cloud/guides/use-nginx-reverse-proxy/) guide lists further benefits of setting up a reverse proxy. It also shows how to use NGINX as a reverse proxy for an example Node.js application. The instructions in this guide could be adapted for your Odoo installation. In particular, you could alter the instructions in that guide's [Configure NGINX](/cloud/guides/use-nginx-reverse-proxy/#configure-nginx) section to use port 8069, instead of port 3000. If you proceed with setting up the reverse proxy, you should also add these lines to your `/etc/odoo-server.conf` Odoo server configuration file: @@ -478,7 +478,7 @@ Finally, allow port 80 in your firewall. If you're using UFW, these lines allow ### Set Up SSL -If you have set up a reverse proxy, you can also choose to serve your Odoo site over HTTPS. To do so, configure the reverse proxy server with an SSL certificate. The directions in our [How to Install Certbot for TLS on Debian 10](/docs/guides/enabling-https-using-certbot-with-nginx-on-debian/) guide show how to do this with NGINX on Debian 10. +If you have set up a reverse proxy, you can also choose to serve your Odoo site over HTTPS. To do so, configure the reverse proxy server with an SSL certificate. The directions in our [How to Install Certbot for TLS on Debian 10](/cloud/guides/enabling-https-using-certbot-with-nginx-on-debian/) guide show how to do this with NGINX on Debian 10. After setting up an SSL certificate, be sure to allow port 443 in your firewall. If you're using UFW, these lines allow the port: diff --git a/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md b/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md index 5c3fbb070ab..14ac9b8b5ed 100644 --- a/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md +++ b/docs/guides/websites/erp/install-an-odoo-13-stack-on-ubuntu-18-04/index.md @@ -15,10 +15,10 @@ external_resources: - '[Odoo User Documentation](https://www.odoo.com/documentation/user/13.0/)' - '[Odoo Developer Documentation](https://www.odoo.com/documentation/13.0)' - '[PostgreSQL 10 Documentation](https://www.postgresql.org/docs/10/static/index.html)' - - '[Install an Odoo 11 Stack on Ubuntu 16.04 using Linode](/docs/guides/install-an-odoo-11-stack-on-ubuntu-16-04/)' - - '[Install an SSL certificate with LetsEncrypt](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/)' - - '[How to Set up tinc, a Peer-to-Peer VPN](/docs/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' - - '[Using Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' + - '[Install an Odoo 11 Stack on Ubuntu 16.04 using Linode](/cloud/guides/install-an-odoo-11-stack-on-ubuntu-16-04/)' + - '[Install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/)' + - '[How to Set up tinc, a Peer-to-Peer VPN](/cloud/guides/how-to-set-up-tinc-peer-to-peer-vpn/)' + - '[Using Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/)' relations: platform: key: install-an-odoo-13-stack @@ -30,7 +30,7 @@ relations: [Odoo](https://www.odoo.com/) (formerly known as OpenERP) is a self-hosted suite of over 10,000 open source applications for a variety of business needs, including CRM, eCommerce, accounting, inventory, point of sale, and project management. These applications are all fully integrated and can be installed and accessed through a web interface, making it easy to automate and manage your company's processes. -For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu 16.04](/docs/guides/install-odoo-10-on-ubuntu-16-04/) guide for an example of this). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. +For simple installations, Odoo and its dependencies can be installed on a single Linode (see our [Install Odoo 10 on Ubuntu 16.04](/cloud/guides/install-odoo-10-on-ubuntu-16-04/) guide for an example of this). However, this single-server setup is not suited for production deployments. This guide covers how to configure a production Odoo 13 cluster where the Odoo server and PostgreSQL database are hosted on separate Linodes. This configuration gives you more flexibility and scalability while allowing you to use PostgreSQL database replication for added performance and reliability. ## System Requirements @@ -45,9 +45,9 @@ All examples in this guide are for Ubuntu 18.04. If you plan to use a different ## 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. This guide uses `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. +1. This guide uses `sudo` wherever possible. Complete the sections of our [Securing Your Server](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) to create a standard user account, harden SSH access, and remove unnecessary network services. 1. Update your systems: @@ -66,7 +66,7 @@ Ports `22`, `80`, and `5432` are the defaults for SSH, HTTP, and PostgreSQL comm sudo ufw allow 22/tcp -For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). +For more detailed information about firewall setup please read our guide [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). ## Hostname Assignment @@ -362,7 +362,7 @@ You have two options to backup your production database: 1. You can install PostgreSQL 10 on the **Odoo** server using the procedure described on this guide. This installs `pg_dump` and other utilities, allowing you to use the Odoo GUI as before. Since Odoo configuration is explicit about database connection you do not have to worry about anything else. This method restores the database to the **PostgreSQL** server rather than **Odoo**. -2. You can also use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/docs/guides/back-up-a-postgresql-database/) from the backend **PostgreSQL** server. +2. You can also use a procedure similar to the one described in our guide [How to Back Up Your PostgreSQL Database](/cloud/guides/back-up-a-postgresql-database/) from the backend **PostgreSQL** server. ### Update Odoo Modules diff --git a/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md b/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md index 4673e77b964..b1a4202a465 100644 --- a/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/erp/install-odoo-10-on-ubuntu-16-04/index.md @@ -26,13 +26,13 @@ This guide covers how to install and configure Odoo in under an hour using Git 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. **Do not** follow the *Configuring a Firewall* section in the Securing Your Server Guide--we will configure the firewall for an Odoo production server 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. **Do not** follow the *Configuring a Firewall* section in the Securing Your Server Guide--we will configure the firewall for an Odoo production server in the next section. ## Configure UFW Firewall for Odoo -Before installing Odoo, we'll set up some basic firewall rules to allow SSH connections and access to the Odoo server. In this example we'll use Odoo's default port `8069`, but this could be any port you specify later in the configuration file. If you plan to run any other services, you can add their ports here as well. Refer to our guide on how to [Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/#use-ufw-to-manage-firewall-rules) for help with rules and settings: +Before installing Odoo, we'll set up some basic firewall rules to allow SSH connections and access to the Odoo server. In this example we'll use Odoo's default port `8069`, but this could be any port you specify later in the configuration file. If you plan to run any other services, you can add their ports here as well. Refer to our guide on how to [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/#use-ufw-to-manage-firewall-rules) for help with rules and settings: sudo ufw allow ssh sudo ufw allow 8069/tcp @@ -427,4 +427,4 @@ If all your tests pass, you can safely update your production installation. ## Next Steps -If you plan to use Odoo 10 for your business, you may wish to configure SSL/TLS encryption to enable secure connections to your server. To do this, check out our guide on how to [install an SSL certificate with LetsEncrypt](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/). +If you plan to use Odoo 10 for your business, you may wish to configure SSL/TLS encryption to enable secure connections to your server. To do this, check out our guide on how to [install an SSL certificate with LetsEncrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/). diff --git a/docs/guides/websites/erp/install-odoo-9-erp-on-ubuntu-14-04/index.md b/docs/guides/websites/erp/install-odoo-9-erp-on-ubuntu-14-04/index.md index fcfbd332f24..8b1eca72b1c 100644 --- a/docs/guides/websites/erp/install-odoo-9-erp-on-ubuntu-14-04/index.md +++ b/docs/guides/websites/erp/install-odoo-9-erp-on-ubuntu-14-04/index.md @@ -25,9 +25,9 @@ This guide covers how to install and configure Odoo in just 35 minutes using Git ## Before You Begin -1. Complete the [Getting Started](/docs/products/platform/get-started/) guide. +1. Complete the [Getting Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started) guide. -2. Follow the [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; this guide will use `sudo` wherever possible. Do **not** follow the *Configuring a Firewall* section--this guide has instructions specifically for an Odoo production server. +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 to create a standard user account, harden SSH access and remove unnecessary network services; this guide will use `sudo` wherever possible. Do **not** follow the *Configuring a Firewall* section--this guide has instructions specifically for an Odoo production server. 3. Log in to your Linode via SSH and check for updates using `apt-get` package manager. diff --git a/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md b/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md index cb210169c1e..92a188d0521 100644 --- a/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-fluxbb/index.md @@ -14,7 +14,7 @@ deprecated: true FluxBB is a web application that powers discussion forums. It strives to be faster and more lightweight than other contenders in this space, and its developers strive for maximum stability and security. Thus, FluxBB is a viable option for those who need a web based discussion forum and require simplicity and stability without an expansive feature set. -Before beginning with this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](/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/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/docs/lamp-guides/) for your operating system. +Before beginning with this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/lamp-guides/) for your operating system. ## Installing Prerequisites diff --git a/docs/guides/websites/forums/discussion-forums-with-mybb/index.md b/docs/guides/websites/forums/discussion-forums-with-mybb/index.md index b0df05d7531..d8d7143b4b3 100644 --- a/docs/guides/websites/forums/discussion-forums-with-mybb/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-mybb/index.md @@ -14,7 +14,7 @@ deprecated: true MyBB is a popular alternative to large forum systems like SMF and phpBB. It is designed to be lightweight yet fully customizable, and can be modified to suit your needs. While MyBB will work with MySQL and SQLite, this guide will use MySQL as the database engine. -Before we begin, we assume you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You will also need a working [LAMP stack](/docs/lamp-guides/). +Before we begin, we assume you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need a working [LAMP stack](/cloud/lamp-guides/). ## Prerequisites diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md index 2631d9861e7..aa72bae1d1d 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-centos-5/index.md @@ -25,7 +25,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already started the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have a working [LAMP stack](/docs/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already started the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -66,9 +66,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/docs/guides/lamp-server-on-centos-5/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/lamp-server-on-centos-5/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/docs/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md index b6b4e5ad5b2..8037880a595 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-5-lenny/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already followed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have a working [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already followed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/) on your Linode. You should be connected to your server via SSH and logged in as root. ## Downloading and Unpacking @@ -64,7 +64,7 @@ Now, visit the `phpBB3` directory in your browser: In the above example, that wo ## Configure phpBB -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." You will now need to fill in your database information. Using the MySQL database, user and password we created earlier as an example, you would enter `phpbb` into the `database name` field, `phpbb` into the `database username` field, and `password` into the `database password` field. The other fields can remain blank for the defaults. Click "Proceed to next step." diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md index d70175a5a39..7bb88e1bee9 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-debian-6-squeeze/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have a working [LAMP stack](/docs/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -62,9 +62,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/docs/guides/how-to-install-a-lamp-stack-on-debian-11/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-debian-11/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/docs/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md index ddf03054358..8396c4bbdfa 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-fedora-14/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have a working [LAMP stack](/docs/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -69,9 +69,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/docs/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-lamp-stack-on-fedora-alma-rocky-linux/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/docs/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md index 5ca9904b739..0738de5646c 100644 --- a/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-phpbb-on-ubuntu-10-04-lucid/index.md @@ -20,7 +20,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have a working [LAMP stack](/docs/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -61,9 +61,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/docs/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md b/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md index 3b2c8c64cdf..78a7ce85630 100644 --- a/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md +++ b/docs/guides/websites/forums/discussion-forums-with-vanilla-forums/index.md @@ -14,7 +14,7 @@ deprecated: true Vanilla is a lightweight and flexible web-based discussion forum engine. Written against the popular LAMP stack, Vanilla combines simplicity and ease of use with a rich and customizable feature set. -Before beginning this guide we assume that you have completed our [Setting Up and Securing a Compute Instance](/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/). 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 are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). To complete this guide, you must also install a web server. This guide will assume that you have completed the appropriate [LAMP guide](/cloud/web-servers/lamp/) for your operating system. ## Installing Prerequisites diff --git a/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md b/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md index ee2ce071443..17e66b6a277 100644 --- a/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md +++ b/docs/guides/websites/forums/install-a-simple-machines-forum-on-your-website/index.md @@ -20,10 +20,10 @@ deprecated: true Simple Machines Forum (SMF) is a popular forum solution for small- to large-sized communities that offers a variety of features. With its modular design and flexibility, users can create their own plugins to modify the behavior of SMF in any way they wish. -Before you begin, be sure you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). You will also need a working [LAMP stack](/docs/websites/lamp/). +Before you begin, be sure you have followed the steps outlined in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). You will also need a working [LAMP stack](/cloud/websites/lamp/). {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with ``sudo``. If you're not familiar with the ``sudo`` command, you can check our [Users and Groups](/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 diff --git a/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md b/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md index c9ae53c4a44..8fa76b17d05 100644 --- a/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md +++ b/docs/guides/websites/forums/install-and-run-askbot-on-ubuntu-16-04/index.md @@ -27,14 +27,14 @@ In this guide, you'll install AskBot and deploy with **NGINX** as a web server, ## 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. A Fully-Qualified Domain Name configured to point to your Linode. You can learn how to point domain names to Linode by following the [DNS Manager > Get Started](/docs/products/networking/dns-manager/get-started/) guide. +4. A Fully-Qualified Domain Name configured to point to your Linode. You can learn how to point domain names to Linode by following the [DNS Manager > Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) guide. {{< note >}} -Throughout this guide, replace `example_user` with a non-root user with `sudo` access. If you’re not familiar with Linux user permissions and the `sudo` command, see the [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +Throughout this guide, replace `example_user` with a non-root user with `sudo` access. If you’re not familiar with Linux user permissions and the `sudo` command, see the [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## Install Dependencies and Create a Database @@ -160,7 +160,7 @@ WantedBy=multi-user.target sudo systemctl daemon-reload sudo systemctl restart nginx -5. Use [Let's Encrypt](/docs/guides/install-lets-encrypt-to-create-ssl-certificates/) to obtain an SSL certificate for your domain: +5. Use [Let's Encrypt](/cloud/guides/install-lets-encrypt-to-create-ssl-certificates/) to obtain an SSL certificate for your domain: sudo letsencrypt certonly -a webroot --agree-tos --email admin@example.com --webroot-path=/var/www/html -d example.com -d www.example.com diff --git a/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md b/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md index 3d53fe6946c..22fc28cfe82 100644 --- a/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md +++ b/docs/guides/websites/forums/launch-discussion-forums-with-phpbb-on-ubuntu-12-04/index.md @@ -24,7 +24,7 @@ deprecated: true phpBB is one of the most widely used open source forum solutions. It is easy to install and free to use, along with being fully customizable. If you don't want to spend money on other forum software like vBulletin, consider using phpBB. -For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide and have a working [LAMP stack](/docs/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. +For this guide, we'll assume you've already completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide and have a working [LAMP stack](/cloud/lamp-guides/) on your Linode. You should be connected to your server via SSH and logged in as root. ## Prerequisites @@ -96,9 +96,9 @@ Before you can install phpBB, you need to make sure that it has access to write chmod 0777 /srv/www/example.com/public_html/forum/config.php -Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." +Click the "Install" tab in the top left region of the page. You should be looking at a requirements page. If you followed the [LAMP guide](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/), your server will meet the requirements specified by the phpBB installation process. Click "Proceed to next step." The next page is simply a confirmation that your server meets the minimum installation requirements. Click "Start Install." -You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/docs/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." +You will need to fill in your database information. Assuming you installed MySQL while following the LAMP guide, here you would fill in your `database name`, `database username`, and `database password`. The other fields can be left blank for the defaults. If you are unsure of what to put here, head over to the [MySQL database guides](/cloud/databases/mysql/) to become familiar with MySQL and to create the database and username. Click "Proceed to next step." This brings us to the "Administrator Configuration" page where you can set your Administrator username, password, and admin e-mail address. Fill this out, then click "Proceed to next step". Click "Proceed to next step" again on the next page confirming the settings worked. Click "Proceed to next step" again after you reach the next page. diff --git a/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md b/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md index d5213e497df..e97ded024a2 100644 --- a/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md +++ b/docs/guides/websites/hosting/host-a-website-with-high-availability/index.md @@ -20,18 +20,18 @@ image: host-a-website-with-high-availability-title-graphic.jpg --- {{< note type="warning" >}} -This guide is designed to be used in data centers that support the legacy ARP-based failover method. For a list of data centers supporting this method, see [IP Sharing Availability](/docs/products/compute/compute-instances/guides/failover/#ip-sharing-availability). The instructions within this guide, specifically the steps within the [Keepalived](#keepalived) section, do not work for data centers that use the newer BGP-based failover method. +This guide is designed to be used in data centers that support the legacy ARP-based failover method. For a list of data centers supporting this method, see [IP Sharing Availability](https://techdocs.akamai.com/cloud-computing/docs/configure-failover-on-a-compute-instance#ip-sharing-availability). The instructions within this guide, specifically the steps within the [Keepalived](#keepalived) section, do not work for data centers that use the newer BGP-based failover method. {{< /note >}} When deploying a website or application, one of the most important elements to consider is availability, or the period of time for which your content is accessible to users. High availability is a term used to describe server setups that eliminate single points of failure by offering redundancy, monitoring, and failover. This ensures that even if one component of your web stack goes down, the content will still be accessible. -This guide shows how to host a highly available website with WordPress. However, you can use this setup to serve other types of content as well. This guide is intended to be a tutorial on the setup of such a system. For more information on how each element in the high availability stack functions, refer to our [introduction to high availability](/docs/guides/introduction-to-high-availability/). +This guide shows how to host a highly available website with WordPress. However, you can use this setup to serve other types of content as well. This guide is intended to be a tutorial on the setup of such a system. For more information on how each element in the high availability stack functions, refer to our [introduction to high availability](/cloud/guides/introduction-to-high-availability/). ## Before You Begin -1. Create 9 Compute Instances using the *CentOS 7* distribution, all in the same data center. 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 9 Compute Instances using the *CentOS 7* distribution, all in the same data center. 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. Do not create firewall rules yet, as we'll be handling that step in our guide. +1. Follow our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access. Do not create firewall rules yet, as we'll be handling that step in our guide. 1. The Linodes we create in this guide will use the following hostname conventions: @@ -41,10 +41,10 @@ This guide shows how to host a highly available website with WordPress. However, You can call your nodes anything you like, but try to keep the naming consistent for organizational purposes. When you see one of the above names, be sure to substitute the hostname you configured for the corresponding node. -1. To create a private network among your Linodes, you'll need a [private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for each. +1. To create a private network among your Linodes, you'll need a [private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each. {{< note >}} -Most steps in this guide require root privileges. Be sure you're entering the commands as root, or using `sudo` if you're using a limited user account. If you’re not familiar with the `sudo` command, visit our [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +Most steps in this guide require root privileges. Be sure you're entering the commands as root, or using `sudo` if you're using a limited user account. If you’re not familiar with the `sudo` command, visit our [Users and Groups](/cloud/guides/linux-users-and-groups/) guide. {{< /note >}} ## GlusterFS @@ -206,7 +206,7 @@ We'll use three 2GB Linodes with hostnames `galera1`, `galera2`, and `galera3` a ``` {{< note >}} -You will need an additional private IP address for one of your database nodes, as we'll be using it as a *floating IP* for failover in a later section. To request an additional private IP address, you'll need to [contact support](/docs/products/platform/get-started/guides/support/). +You will need an additional private IP address for one of your database nodes, as we'll be using it as a *floating IP* for failover in a later section. To request an additional private IP address, you'll need to [contact support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support). {{< /note >}} ### Install Galera and XtraDB @@ -504,7 +504,7 @@ Install the Apache HTTPD web server package on each of your three application no yum install httpd ``` -At this point, you may also tune your Apache instances to optimize performance based on your site or application's needs. This step is optional, however, and is beyond the scope of this guide. Check [Tuning Your Apache Server](/docs/guides/tuning-your-apache-server/) for more information. +At this point, you may also tune your Apache instances to optimize performance based on your site or application's needs. This step is optional, however, and is beyond the scope of this guide. Check [Tuning Your Apache Server](/cloud/guides/tuning-your-apache-server/) for more information. ### Configure SELinux Compatibility for Apache @@ -599,16 +599,16 @@ Your Apache servers should now be capable of serving files and applications from ## Keepalived {{< note type="warning" >}} -The steps in this section do not work as intended in data centers that use the newer BGP-based failover method. To learn how to configure failover in these data centers, review the [Configure Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/#configure-failover). Those instructions do not enable identical functionality to the steps below and additional configuration is needed, which is not covered in this guide. +The steps in this section do not work as intended in data centers that use the newer BGP-based failover method. To learn how to configure failover in these data centers, review the [Configure Failover on a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/configure-failover-on-a-compute-instance#configure-failover). Those instructions do not enable identical functionality to the steps below and additional configuration is needed, which is not covered in this guide. {{< /note >}} So far, we've successfully configured a redundant web stack with three layers of nodes performing a series of tasks. Gluster automatically handles monitoring, and we configured the failover for the file system nodes in our application nodes' `/etc/fstab` files. In this section, we use Keepalived to handle database failover. {{< note >}} -Alternatively, some users prefer to configure HAProxy instead of or in addition to Keepalived. For more information, visit our guide on [how to use HAProxy for load balancing](/docs/guides/how-to-use-haproxy-for-load-balancing/). +Alternatively, some users prefer to configure HAProxy instead of or in addition to Keepalived. For more information, visit our guide on [how to use HAProxy for load balancing](/cloud/guides/how-to-use-haproxy-for-load-balancing/). {{< /note >}} -Keepalived is a routing service that can be used to monitor and fail over components in a high availability configuration. In this section, you will be using the additional private IP address, or *floating IP* from your database node to fail over to the others if one should go down. A floating IP address is one that can be assigned to a different node if needed. If you didn't request an additional private IP in the Galera section, [contact support](/docs/products/platform/get-started/guides/support/) and do so before continuing. +Keepalived is a routing service that can be used to monitor and fail over components in a high availability configuration. In this section, you will be using the additional private IP address, or *floating IP* from your database node to fail over to the others if one should go down. A floating IP address is one that can be assigned to a different node if needed. If you didn't request an additional private IP in the Galera section, [contact support](https://techdocs.akamai.com/cloud-computing/docs/help-and-support) and do so before continuing. We've added the floating IP address to `galera1`, but in practice, it can be configured to any of your database nodes. @@ -619,12 +619,12 @@ yum install keepalived ``` {{< note type="alert" >}} -Make sure that [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) is turned **OFF** on your database nodes before proceeding. +Make sure that [Network Helper](https://techdocs.akamai.com/cloud-computing/docs/automatically-configure-networking) is turned **OFF** on your database nodes before proceeding. {{< /note >}} ### Configure IP Sharing -IP sharing, also referred to as IP failover, is the process by which an IP address is reassigned from one Compute Instance to another in the event the first one fails or goes down. See, [Configuring IP Sharing](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) for information about using Linode Cloud Manager to configure IP failover. +IP sharing, also referred to as IP failover, is the process by which an IP address is reassigned from one Compute Instance to another in the event the first one fails or goes down. See, [Configuring IP Sharing](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-ip-sharing) for information about using Linode Cloud Manager to configure IP failover. Configure IP failover on `galera2` and `galera3` to take on the floating IP address from `galera1` in the event that it fails. @@ -789,7 +789,7 @@ SELinux should now resume normal enforcement while allowing the operations descr The final step in creating a highly available website or application is to load balance traffic to the application servers. In this step, we'll use a NodeBalancer to distribute traffic between the application servers to ensure that no single server gets overloaded. NodeBalancers are highly available by default, and do not constitute a single point of failure. -For instructions on how to install this component, follow our guide on [Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/). Be sure to use the *private* IP addresses of your application servers when adding nodes to your backend. +For instructions on how to install this component, follow our guide on [Getting Started with NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers). Be sure to use the *private* IP addresses of your application servers when adding nodes to your backend. {{< note >}} NodeBalancers are an add-on service. Be aware that adding a NodeBalancer will create an additional monthly charge to your account. See [NodeBalancer Pricing](https://www.linode.com/pricing/#nodebalancers) guide for more information. @@ -854,16 +854,16 @@ If you're installing WordPress to manage your new highly available website, we'l systemctl restart httpd ``` -1. In a web browser, navigate to the IP address of one of your application nodes (or the NodeBalancer) to access the WordPress admin panel. Use `wordpress` as the database name and user name, enter the password you configured in Step 2, and enter your floating IP address as the database host. For additional WordPress setup instructions, see our guide on [Installing and Configuring WordPress](/docs/guides/how-to-install-and-configure-wordpress/#configure-wordpress). +1. In a web browser, navigate to the IP address of one of your application nodes (or the NodeBalancer) to access the WordPress admin panel. Use `wordpress` as the database name and user name, enter the password you configured in Step 2, and enter your floating IP address as the database host. For additional WordPress setup instructions, see our guide on [Installing and Configuring WordPress](/cloud/guides/how-to-install-and-configure-wordpress/#configure-wordpress). -You've successfully configured a highly available WordPress site, and you're ready to start publishing content. For more information, reference our [WordPress configuration guide](/docs/guides/how-to-install-and-configure-wordpress/). +You've successfully configured a highly available WordPress site, and you're ready to start publishing content. For more information, reference our [WordPress configuration guide](/cloud/guides/how-to-install-and-configure-wordpress/). ## DNS Records The NodeBalancer in the above system directs all incoming traffic to the application servers. As such, its IP address will be the one you should use when configuring your DNS records. To find this information, visit the **NodeBalancers** tab in the Linode Manager and look in the *IP Address* section. -For more information on DNS configuration, refer to our [introduction to DNS records](/docs/guides/dns-overview/) and our guide on how to use the [DNS Manager](/docs/products/networking/dns-manager/). +For more information on DNS configuration, refer to our [introduction to DNS records](/cloud/guides/dns-overview/) and our guide on how to use the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). ## Configuration Management -Because a high availability configuration involves so many different components, you may want to consider additional software to help you manage the cluster and create new nodes when necessary. For more information on the options available for managing your nodes, see our guides on [Salt](/docs/guides/getting-started-with-salt-basic-installation-and-setup/), [Chef](/docs/guides/beginners-guide-chef/), [Puppet](/docs/guides/install-and-configure-puppet/), and [Ansible](/docs/guides/running-ansible-playbooks/). You can also refer to our guide on [Automating Server Builds](/docs/products/platform/get-started/guides/automating-deployment/) for an overview of how to choose a solution that is right for you. +Because a high availability configuration involves so many different components, you may want to consider additional software to help you manage the cluster and create new nodes when necessary. For more information on the options available for managing your nodes, see our guides on [Salt](/cloud/guides/getting-started-with-salt-basic-installation-and-setup/), [Chef](/cloud/guides/beginners-guide-chef/), [Puppet](/cloud/guides/install-and-configure-puppet/), and [Ansible](/cloud/guides/running-ansible-playbooks/). You can also refer to our guide on [Automating Server Builds](https://techdocs.akamai.com/cloud-computing/docs/automate-cloud-resource-deployment) for an overview of how to choose a solution that is right for you. diff --git a/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md b/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md index 7badc63f476..040bd8a99ad 100644 --- a/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md +++ b/docs/guides/websites/hosting/intro-to-high-availability-and-disaster-recovery/index.md @@ -10,8 +10,8 @@ keywords: ["high availability", "disaster recovery", "hosting", "website", "fail tags: ["web server","monitoring"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: -- '[Host a Website with High Availability](/docs/guides/host-a-website-with-high-availability/)' -- '[Deploy a High Availability WordPress Website on Linode](/docs/guides/high-availability-wordpress/)' +- '[Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability/)' +- '[Deploy a High Availability WordPress Website on Linode](/cloud/guides/high-availability-wordpress/)' - '[Configure failover on a Linode](https://techdocs.akamai.com/cloud-computing/docs/configure-failover-on-a-compute-instance)' - '[High availability (HA) control plane on LKE](https://techdocs.akamai.com/cloud-computing/docs/high-availability-ha-control-plane-on-lke)' - '[Monitor and maintain a Linode](https://techdocs.akamai.com/cloud-computing/docs/monitor-and-maintain-a-compute-instance)' @@ -44,14 +44,14 @@ Disaster recovery is a process that is employed in the event of a wider-ranging A disaster recovery plan documents key information and procedures that should be adhered to in these scenarios. This can include lists of staff that are responsible for the plan, inventories of systems and software, activation of backup sites and systems, criteria that should be met during the recovery operation (including [RTO and RPO](#rtorpo)), and other considerations. -Our [Creating a Disaster Recovery Plan: A Definitive Guide](/docs/guides/disaster-recovery/) contains further guidance for creating a disaster recovery plan. +Our [Creating a Disaster Recovery Plan: A Definitive Guide](/cloud/guides/disaster-recovery/) contains further guidance for creating a disaster recovery plan. ## High Availability Architecture This section describes an example of a high availability architecture that features a WordPress website running in a single data center. There are redundant copies of each component in the architecture, and the health of each set of components is continually monitored. If any component fails, automatic failover is triggered and other healthy components are promoted. {{< note >}} -This specific architecture is implemented in the [host a website with high availability](/docs/guides/host-a-website-with-high-availability/) guide. While some of the technologies used are specific to this example, the concepts can be more broadly applied to other HA systems. +This specific architecture is implemented in the [host a website with high availability](/cloud/guides/host-a-website-with-high-availability/) guide. While some of the technologies used are specific to this example, the concepts can be more broadly applied to other HA systems. {{< /note >}} ![High availability server configuration](ha-diagram.svg?diagram-description-id=ha-architecture) @@ -232,7 +232,7 @@ Open source software and tools can support monitoring and failover, including: - **[Keepalived](https://www.keepalived.org/)**: A software package that can run periodic health checks and run notification scripts that are triggered by different health check changes over time. These notification scripts can then interact with features of your cloud platform (like [IP Sharing and BGP-based failover](https://techdocs.akamai.com/cloud-computing/docs/use-keepalived-health-checks-with-bgp-based-failover) on Akamai Cloud) to support failover of infrastructure. In the [high availability architecture](#high-availability-architecture) example in this guide, the database cluster runs keepalived to monitor failures of the primary database server and then promote a backup DB to be the new primary. -- **[HAProxy](/docs/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks/)**: A dedicated reverse proxy software solution. HAProxy can perform health checks of backend servers and stop routing traffic to backends that experience failures. +- **[HAProxy](/cloud/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks/)**: A dedicated reverse proxy software solution. HAProxy can perform health checks of backend servers and stop routing traffic to backends that experience failures. ### Load Balancing @@ -254,11 +254,11 @@ Akamai offers multiple tools to assist with load balancing, including: Open source software and tools can support load balancing, including: -- **Web servers**, like NGINX and Apache: These can be configured as [reverse proxies](/docs/guides/use-nginx-reverse-proxy/#what-is-a-reverse-proxy) for backend servers. +- **Web servers**, like NGINX and Apache: These can be configured as [reverse proxies](/cloud/guides/use-nginx-reverse-proxy/#what-is-a-reverse-proxy) for backend servers. -- **[HAProxy](/docs/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks/)**: A dedicated reverse proxy software solution. +- **[HAProxy](/cloud/guides/how-to-configure-haproxy-http-load-balancing-and-health-checks/)**: A dedicated reverse proxy software solution. -- **[Kubernetes](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/)**: [A range of load balancing functionality](https://kubernetes.io/docs/concepts/services-networking/) is offered by Kubernetes. [Services](https://kubernetes.io/docs/concepts/services-networking/service/) are an abstraction layer for a set of Pods that run your application code, and traffic is collectively routed across them. [LoadBalancer-type Services](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) correspond to cloud load balancing products provided by cloud platforms. +- **[Kubernetes](/cloud/guides/beginners-guide-to-kubernetes-part-1-introduction/)**: [A range of load balancing functionality](https://kubernetes.io/docs/concepts/services-networking/) is offered by Kubernetes. [Services](https://kubernetes.io/docs/concepts/services-networking/service/) are an abstraction layer for a set of Pods that run your application code, and traffic is collectively routed across them. [LoadBalancer-type Services](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) correspond to cloud load balancing products provided by cloud platforms. ### Replication @@ -277,9 +277,9 @@ Multiple Akamai services provide data replication, or can be used to support dat - **[Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage)**: Akamai Cloud's object storage service uses [an internal replication system](https://www.linode.com/products/object-storage/#accordion-7252094bf6-item-97b2f59293) to ensure that data is highly-available. - Users can enhance redundancy of their object storage data by [synchronizing bucket data across regions using rclone](/docs/guides/replicate-bucket-contents-with-rclone/), which can support high availability, disaster recovery, and load balancing strategies. + Users can enhance redundancy of their object storage data by [synchronizing bucket data across regions using rclone](/cloud/guides/replicate-bucket-contents-with-rclone/), which can support high availability, disaster recovery, and load balancing strategies. - Users can also [backup files from a Linode to Object Storage](/docs/guides/rclone-object-storage-file-sync/), which can play a role in backup and recovery. + Users can also [backup files from a Linode to Object Storage](/cloud/guides/rclone-object-storage-file-sync/), which can play a role in backup and recovery. - **[Managed Databases](https://techdocs.akamai.com/cloud-computing/docs/aiven-database-clusters)**: All database clusters created with Akamai's Managed Databases receive daily backups. For 3-node clusters, built-in data replication, redundancy, and automatic failover are provided. @@ -293,11 +293,11 @@ Multiple Akamai services provide data replication, or can be used to support dat Open source software that supports replication includes: -- **Database replication tools**: Some tools are built into the database system, like MySQL's [source-replica replication mechanism](/docs/guides/configure-source-replica-replication-in-mysql/). Other tools, like [Galera](https://galeracluster.com/), can be additionally installed to support replication. +- **Database replication tools**: Some tools are built into the database system, like MySQL's [source-replica replication mechanism](/cloud/guides/configure-source-replica-replication-in-mysql/). Other tools, like [Galera](https://galeracluster.com/), can be additionally installed to support replication. - **Networked filesystems, like [GlusterFS](https://www.gluster.org/)**: These are used to create distributed storage systems across multiple block storage devices, like a Linode's built-in storage disk, or a Block Storage volume. -- **[Command-line data transfer utilities](/docs/guides/comparing-data-transfer-utilities/)** like [rsync](/docs/guides/introduction-to-rsync/) and [rclone](/docs/guides/rclone-object-storage-file-sync/). +- **[Command-line data transfer utilities](/cloud/guides/comparing-data-transfer-utilities/)** like [rsync](/cloud/guides/introduction-to-rsync/) and [rclone](/cloud/guides/rclone-object-storage-file-sync/). ### Scaling diff --git a/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md b/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md index 93c22c0794e..4af85d8dee0 100644 --- a/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md +++ b/docs/guides/websites/hosting/secure-website-lets-encrypt-acme-sh/index.md @@ -14,21 +14,21 @@ external_resources: - '[Use Linode domain API (acme.sh wiki)](https://github.com/acmesh-official/acme.sh/wiki/dnsapi#14-use-linode-domain-api)' - '[Let''s Encrypt](https://letsencrypt.org/)' --- -[*acme.sh*](https://acme.sh/) is a client application for ACME-compatible services, like those used by [Let's Encrypt](https://letsencrypt.org/). It is an alternative to the popular [Certbot](/docs/guides/quick-answers/websites/) application with two big benefits: +[*acme.sh*](https://acme.sh/) is a client application for ACME-compatible services, like those used by [Let's Encrypt](https://letsencrypt.org/). It is an alternative to the popular [Certbot](/cloud/guides/quick-answers/websites/) application with two big benefits: - It is written in the Shell language, so it has no dependencies - acme.sh supports [more DNS providers](https://github.com/acmesh-official/acme.sh/wiki/dnsapi) than other similar clients. -If you use Linode for your website's DNS, you can use acme.sh to obtain both single and wildcard SSL certificates. You can use [Linode DNS](/docs/products/networking/dns-manager/) as the domain ownership verification. +If you use Linode for your website's DNS, you can use acme.sh to obtain both single and wildcard SSL certificates. You can use [Linode DNS](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) as the domain ownership verification. ## Before You Begin -1. Deploy a Linode by following the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guides. +1. Deploy a Linode by following the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guides. -1. Ensure that either NGINX or the Apache web server is installed and pre-configured on your distro by following our [web server documentation](/docs/guides/web-servers/). Ensure that port 443 is open on your firewall to allow for SSL/TLS resolution. +1. Ensure that either NGINX or the Apache web server is installed and pre-configured on your distro by following our [web server documentation](/cloud/guides/web-servers/). Ensure that port 443 is open on your firewall to allow for SSL/TLS resolution. -1. Decide which system user you want to issue and renew your certificates and [connect to your Linode as this user via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). If you want to automatically restart a web server, or write certificates to a restricted folder, you likely want to install acme.sh under root. +1. Decide which system user you want to issue and renew your certificates and [connect to your Linode as this user via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). If you want to automatically restart a web server, or write certificates to a restricted folder, you likely want to install acme.sh under root. ## Install acme.sh @@ -87,7 +87,7 @@ v2.8.7 ## Create an API token -acme.sh can use the [Linode v4 API](https://techdocs.akamai.com/linode-api/reference/api) to create and remove temporary DNS records for a Domain. Follow the steps [Get An API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) product documentation to create a Linode API v4 token. +acme.sh can use the [Linode v4 API](https://techdocs.akamai.com/linode-api/reference/api) to create and remove temporary DNS records for a Domain. Follow the steps [Get An API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) product documentation to create a Linode API v4 token. {{< note >}} Ensure the token you create has **Read/Write** access to **Domains**. @@ -95,7 +95,7 @@ Ensure the token you create has **Read/Write** access to **Domains**. ## Issue a certificate -1. [Connect to your Linode](/docs/products/compute/compute-instances/get-started/#connect-to-the-instance) and set an environment variable for the API token you obtained in the previous section. Replace `your-api-token-here` with your own token. +1. [Connect to your Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-compute-instances#connect-to-the-instance) and set an environment variable for the API token you obtained in the previous section. Replace `your-api-token-here` with your own token. export LINODE_V4_API_KEY="your-api-token-here" diff --git a/docs/guides/websites/hosting/set-up-web-server-host-website/index.md b/docs/guides/websites/hosting/set-up-web-server-host-website/index.md index ed3ee1db096..d70a094f1f4 100644 --- a/docs/guides/websites/hosting/set-up-web-server-host-website/index.md +++ b/docs/guides/websites/hosting/set-up-web-server-host-website/index.md @@ -19,7 +19,7 @@ image: Hosting-a-Website-smg.jpg Hosting a website is one of the most common uses for a Linode. A website can be anything from a single HTML file to an interactive application with multiple components, and the hosting process varies greatly depending on the type of website being served. This guide walks you through the process of setting up some of the most common simple website types. -Complete the steps in our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide before you begin. The steps in this guide take you from a configured Linode to a fully functioning website. +Complete the steps in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide before you begin. The steps in this guide take you from a configured Linode to a fully functioning website. This guide is written for Debian 9 and Ubuntu 18.04. If you are using a different distribution, adapt the commands (e.g. using `yum` instead of `apt`). @@ -29,9 +29,9 @@ The application you use to serve your website depends on the type of site. Find ### Static Sites -If your website consists entirely of static files like HTML, CSS, JavaScript, and images, then you only need to set up a simple web server to serve the files. Static sites include everything from bare-bones HTML pages to much more complicated [React.js](/docs/guides/how-to-deploy-a-react-app-on-ubuntu-18-04/) apps. NGINX is a good choice for hosting this type of website. +If your website consists entirely of static files like HTML, CSS, JavaScript, and images, then you only need to set up a simple web server to serve the files. Static sites include everything from bare-bones HTML pages to much more complicated [React.js](/cloud/guides/how-to-deploy-a-react-app-on-ubuntu-18-04/) apps. NGINX is a good choice for hosting this type of website. -If you plan to host a simple site such as a blog or photo gallery, another option is to use a [static site generator](/docs/guides/how-to-choose-static-site-generator/). +If you plan to host a simple site such as a blog or photo gallery, another option is to use a [static site generator](/cloud/guides/how-to-choose-static-site-generator/). 1. Install NGINX: @@ -89,17 +89,17 @@ server { If NGINX loads successfully, continue to the [Test your Website](#test-your-website) section below. -This configuration is sufficient to get you started. For more advanced options and optimizations, see our [series on NGINX configuration](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). +This configuration is sufficient to get you started. For more advanced options and optimizations, see our [series on NGINX configuration](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/). ### LAMP Stack -Other sites, such as [WordPress](/docs/guides/install-wordpress-ubuntu-18-04/), need a database in addition to a web server. This combination is known as a **stack**. WordPress is often used with the extremely popular LAMP stack (Linux, Apache, MariaDB and PHP). To install a LAMP stack manually, find the guide for your distribution in our [LAMP](/docs/web-servers/lamp/) section. +Other sites, such as [WordPress](/cloud/guides/install-wordpress-ubuntu-18-04/), need a database in addition to a web server. This combination is known as a **stack**. WordPress is often used with the extremely popular LAMP stack (Linux, Apache, MariaDB and PHP). To install a LAMP stack manually, find the guide for your distribution in our [LAMP](/cloud/web-servers/lamp/) section. -If you are using WordPress, another option is to use Docker. All of the components needed to run WordPress, along with WordPress itself, are bundled into a container that can be deployed with single command. See our [WordPress with Docker Compose](/docs/guides/wordpress-with-docker-compose/) guide for details. Official Docker images are also available for other CMS platforms including [Ghost](https://hub.docker.com/_/ghost/) and [Joomla](https://hub.docker.com/_/joomla/). +If you are using WordPress, another option is to use Docker. All of the components needed to run WordPress, along with WordPress itself, are bundled into a container that can be deployed with single command. See our [WordPress with Docker Compose](/cloud/guides/wordpress-with-docker-compose/) guide for details. Official Docker images are also available for other CMS platforms including [Ghost](https://hub.docker.com/_/ghost/) and [Joomla](https://hub.docker.com/_/joomla/). ### Other Site Types -If none of these application stacks fit your situation, review our [Websites](/docs/websites/) and [Development](/docs/development/) sections to find a solution that works for your project. +If none of these application stacks fit your situation, review our [Websites](/cloud/websites/) and [Development](/cloud/development/) sections to find a solution that works for your project. ## Test your Website @@ -110,7 +110,7 @@ Test your website(s) before you add DNS records and make the site available publ If you're new to Linode, or if you've just purchased a new domain name, the first step is to add a new domain in the **Domains** section of the Cloud Manager. If you don't know what DNS records to add, the DNS Manager can insert some basic records when you create the new domain. {{< note >}} -Creating a domain also creates its corresponding domain zone. For a deep dive into the Linode DNS Manager, see our [DNS Manager](/docs/products/networking/dns-manager/) guide. +Creating a domain also creates its corresponding domain zone. For a deep dive into the Linode DNS Manager, see our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. {{< /note >}} 1. From the **Domains** section, click on **Create Domain**. The domain creation page is displayed. @@ -162,7 +162,7 @@ The exact form fields will vary depending on the type of DNS record you select. 1. Enter a hostname in the **Hostname** field. -1. Enter the IP address of your server in the **IP Address** field. See [this quick answer page](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) to find your Linode's IP address. +1. Enter the IP address of your server in the **IP Address** field. See [this quick answer page](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) to find your Linode's IP address. 1. Select a time interval from the **TTL** menu. *TTL* stands for *time to live*, and affects how long DNS records are cached by DNS resolvers. When the designated time to live is reached, the resolver must query the authoritative name servers for new records. @@ -172,4 +172,4 @@ The exact form fields will vary depending on the type of DNS record you select. Computers use DNS to determine the IP address associated with a domain name. Reverse DNS lookup does the opposite by resolving an IP address to a designated domain name. You should always set the reverse DNS, even if your Linode hosts more than one domain. -For more information about how to configure a reverse DNS, see [Configure Your Linode for Reverse DNS (rDNS)](/docs/networking/dns/configure-your-linode-for-reverse-dns/) +For more information about how to configure a reverse DNS, see [Configure Your Linode for Reverse DNS (rDNS)](/cloud/networking/dns/configure-your-linode-for-reverse-dns/) diff --git a/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md b/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md index c7b9fbaed7d..e04673698b2 100644 --- a/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md +++ b/docs/guides/websites/hosting/setting-up-round-robin-dns/index.md @@ -24,11 +24,11 @@ This guide will explain how to configure round-robin DNS in it's most basic conf To continue following this guide, you will need a website that's hosted on a Linode and accessible through a domain name. If you already have a Linode configured this way, you can skip this section. -- [Create a Linode](/docs/products/platform/get-started/) on any plan that will host your website or web application. While a round-robin DNS configuration is possible with all major distros, the steps in this guide were specifically created using Debian 10. +- [Create a Linode](https://techdocs.akamai.com/cloud-computing/docs/getting-started) on any plan that will host your website or web application. While a round-robin DNS configuration is possible with all major distros, the steps in this guide were specifically created using Debian 10. -- [Add a domain and configure an A record](/docs/products/networking/dns-manager/get-started/) to point to your new Linode. When using round-robin DNS, a low TTL is recommended. +- [Add a domain and configure an A record](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) to point to your new Linode. When using round-robin DNS, a low TTL is recommended. -- [Install and configure a web server](/docs/guides/how-to-install-nginx-debian-10/), adding a site that uses your domain name. While any major web server will be able to accommodate round-robin DNS, this guide was specifically created using NGINX. +- [Install and configure a web server](/cloud/guides/how-to-install-nginx-debian-10/), adding a site that uses your domain name. While any major web server will be able to accommodate round-robin DNS, this guide was specifically created using NGINX. After creating your Linode, configuring DNS, and setting up your web server, you should be able to freely access a webpage using your domain name: @@ -64,7 +64,7 @@ Once your Linode is fully configured, the next step is to copy your configuratio ### Configuring Your Clone -1. Create an [A record](/docs/products/networking/dns-manager/get-started/) for each new Linode. Use the same domain name as before and point the new record to the IP address of the new Linode. You should now have two or more A records pointing to two or more different Linodes in different data centers, all using the same domain name. +1. Create an [A record](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) for each new Linode. Use the same domain name as before and point the new record to the IP address of the new Linode. You should now have two or more A records pointing to two or more different Linodes in different data centers, all using the same domain name. ![DNS record round robin.](dns-record-round-robin.png) @@ -98,13 +98,13 @@ In this example, round-robin DNS will be used to alternate between two NodeBalan If using NodeBalancers, DNS records should not be configured for the individual Linodes since they will instead be created for the NodeBalancers themselves. You should delete any A records for the individual Linodes now. {{< /note >}} -1. [Add a Private IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for each Linode that has been pre-configured for round-robin DNS. +1. [Add a Private IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#adding-an-ip-address) for each Linode that has been pre-configured for round-robin DNS. 1. Boot or Reboot all Linodes once they have been given a private IP address to ensure that the network configuration will be applied. 1. Visit the NodeBalancers page in the [Cloud Manager](http://cloud.linode.com) and select **Create NodeBalancer**. -1. For the purpose of this guide, you can keep the default settings for the new NodeBalancer's port configuration and health checks. Specifically, the port should be set to *80* and the protocol should be *HTTP*. If your website is already configured to use HTTPS, additional configuration will be required. See both [Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/) and [NodeBalancer SSL Configuration](/docs/products/networking/nodebalancers/guides/ssl-termination/). +1. For the purpose of this guide, you can keep the default settings for the new NodeBalancer's port configuration and health checks. Specifically, the port should be set to *80* and the protocol should be *HTTP*. If your website is already configured to use HTTPS, additional configuration will be required. See both [Getting Started with NodeBalancers](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-nodebalancers) and [NodeBalancer SSL Configuration](https://techdocs.akamai.com/cloud-computing/docs/tls-ssl-termination-on-nodebalancers). 1. Under the **Backend Nodes** section, add two backend nodes - one for each Linode within the same data center as the NodeBalancer. For each backend, select the private IP address of the corresponding Linode. @@ -114,6 +114,6 @@ In this example, round-robin DNS will be used to alternate between two NodeBalan 1. Now that the NodeBalancers are up, go directly to your NodeBalancer's IP addresses in a browser. You should see your web application freely available as the NodeBalancer proxies the traffic through. -1. After confirming that the NodeBalancer is working, [Add a domain and configure two A records](/docs/products/networking/dns-manager/get-started/) pointing towards the NodeBalancers you have created. Each A record should be using the same DNS name, and pointing towards the public IP address of your NodeBalancers. +1. After confirming that the NodeBalancer is working, [Add a domain and configure two A records](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) pointing towards the NodeBalancers you have created. Each A record should be using the same DNS name, and pointing towards the public IP address of your NodeBalancers. After completing these steps, round-robin DNS is now successfully configured for your NodeBalancers. Additional Linodes and NodeBalancers can be added to suit your application's specific needs. \ No newline at end of file diff --git a/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md b/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md index 1664136b812..02e92d7360b 100644 --- a/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md +++ b/docs/guides/websites/lms/how-to-install-canvas-on-debian-10/index.md @@ -35,11 +35,11 @@ This guide shows you how to get a Canvas website up and running on a Debian 10 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. -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 that Canvas can use to send email notifications to users. You can use a third-party SMTP service for this purpose. This guide uses [Mailgun](https://www.mailgun.com/) as the third-party SMTP provider in its example configurations. @@ -49,10 +49,10 @@ This guide shows you how to get a Canvas website up and running on a Debian 10 s You can run some of the components of your Canvas installation on separate machines to free up memory. Refer to Canvas's [Production Start](https://github.com/instructure/canvas-lms/wiki/Production-Start) guide for more information on what components can be installed independently. This approach requires that each machine is configured to enable communications between the components, and it is considered an advanced setup. {{< /note >}} -1. Replace `example.com` in this guide with your server's domain name. You can complete the steps mentioned in the [Add DNS Records](/docs/guides/set-up-web-server-host-website/#add-dns-records) section to register a domain name for your Linode server. +1. Replace `example.com` in this guide with your server's domain name. You can complete the steps mentioned in the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) section to register a domain name for your Linode server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Apache diff --git a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md index ca31dd28f93..7afc6c47496 100644 --- a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md +++ b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-22-04/index.md @@ -44,18 +44,18 @@ Some of Moodle's advantages are as follows: ## 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. Configure a LAMP Stack, including the Apache web server, the MySQL RDBMS, and PHP. For more information on configuring a LAMP stack, consult the Linode guide on [Installing a LAMP Stack on Ubuntu 22.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). +1. Configure a LAMP Stack, including the Apache web server, the MySQL RDBMS, and PHP. For more information on configuring a LAMP stack, consult the Linode guide on [Installing a LAMP Stack on Ubuntu 22.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-22-04/). -1. To properly use Moodle, configure a domain name for the server. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](/docs/products/networking/dns-manager/). +1. To properly use Moodle, configure a domain name for the server. For information on domain names and pointing the domain name to a Linode, see the [Linode DNS Manager guide](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). 1. **(Optional)** A virtual host for the domain is not strictly required, but is recommended. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Users and Groups](/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 Moodle Prerequisites diff --git a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md index a7fa29ff63d..9e42fd436e9 100644 --- a/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md +++ b/docs/guides/websites/lms/how-to-install-moodle-on-ubuntu-server-2004/index.md @@ -22,16 +22,16 @@ 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 and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [How to Install a LAMP Stack on Ubuntu 20.04](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide for instructions. +1. Install and configure a LAMP (Linux, Apache, MySQL, and PHP) stack. Follow the [How to Install a LAMP Stack on Ubuntu 20.04](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-20-04/) guide for instructions. For this guide, you do not need to configure a virtual host for Apache. However, you should follow all other non-optional sections in the guide linked above. {{< note >}} -This guide is written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you are not familiar with the `sudo` command, see the [Linux Users and Groups](/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 the Prerequisites diff --git a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md index 90ea34b5cac..b15c7e3853a 100644 --- a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md +++ b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2004/index.md @@ -34,22 +34,22 @@ This guide shows you how to get a Canvas website up and running on an Ubuntu 20. ## 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. Prepare an SMTP server that Canvas can use to send email notifications to users. You can use a third-party SMTP service for this purpose. This guide's example configurations use [Mailgun](https://www.mailgun.com/) as the third-party SMTP provider. - You can, alternatively, create your SMTP server by following the [Email with Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) guide. However, because of Canvas's resource demands, you may want to run the SMTP server on a separate machine than the one running Canvas. + You can, alternatively, create your SMTP server by following the [Email with Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/) guide. However, because of Canvas's resource demands, you may want to run the SMTP server on a separate machine than the one running Canvas. 1. Canvas recommends a minimum of 8 GB of RAM. The website may operate with fewer, but doing so may result in installation and/or runtime issues. This is especially the case when all of the Canvas components are running on a single machine. You can run some of the components of your Canvas installation on separate machines to improve performance if needed. Refer to Canvas's [Production Start](https://github.com/instructure/canvas-lms/wiki/Production-Start) guide for more on what components can be installed independently. Be aware that this approach requires some additional configuration to enable communications between the components. -1. Replace `example.com` in this guide with your server's domain name. You can complete the [Add DNS Records](/docs/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name for your Linode server. +1. Replace `example.com` in this guide with your server's domain name. You can complete the [Add DNS Records](/cloud/guides/set-up-web-server-host-website/#add-dns-records) steps to register a domain name for your Linode server. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Apache diff --git a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md index 6e8ced5f219..87a8e037e21 100644 --- a/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md +++ b/docs/guides/websites/lms/install-canvas-lms-on-ubuntu-2204/index.md @@ -44,7 +44,7 @@ The following sections help you install the software you need before you can clo You may have one or more of these software installed. To verify installation, type the name of the software followed by `--version`, such as `git --version`, and press **Enter**. Some products, such as Node.js, use `-v` in place of `--version`. If the version you have installed is equal to or higher than the version used for the guide, then you don’t need to perform another installation. If you have an older software version, update it. -You also need to install an email application. Canvas uses this email service to send notifications to users. There are numerous email server options and the one you choose depends on how you want to configure email for your server. One option is to use a third-party mail service such as [Mailgun](https://www.mailgun.com/). Another option is to install and configure a local email server using a product combination like [Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/). You can also use an existing email server that you already have in place. You need to know email essentials like the email domain, the username and password for an email account, and the address of the Simple Mail Transfer Protocol (SMTP) server for this guide. +You also need to install an email application. Canvas uses this email service to send notifications to users. There are numerous email server options and the one you choose depends on how you want to configure email for your server. One option is to use a third-party mail service such as [Mailgun](https://www.mailgun.com/). Another option is to install and configure a local email server using a product combination like [Postfix, Dovecot, and MySQL](/cloud/guides/email-with-postfix-dovecot-and-mysql/). You can also use an existing email server that you already have in place. You need to know email essentials like the email domain, the username and password for an email account, and the address of the Simple Mail Transfer Protocol (SMTP) server for this guide. ### Update and Upgrade Your Ubuntu 22.04 Instance @@ -218,7 +218,7 @@ To install Ruby on Ubuntu 22.04, you don't necessarily need to install the Ruby To install the Ruby Bundler on Ubuntu 22.04, you need to have a few prerequisites installed: -- **Ruby**: The Ruby programming language should be installed on your Ubuntu 22.04 machine. You can install it by following the steps explained in the [Install Ruby](/docs/guides/install-canvas-lms-on-ubuntu-2204/#install-ruby) section. +- **Ruby**: The Ruby programming language should be installed on your Ubuntu 22.04 machine. You can install it by following the steps explained in the [Install Ruby](/cloud/guides/install-canvas-lms-on-ubuntu-2204/#install-ruby) section. - **RubyGems**: RubyGems is a package manager for the Ruby programming language. It should be installed with Ruby by default. You can check if it's installed by running the command `gem -v` in the terminal. If a version number is displayed, then RubyGems is installed. diff --git a/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md b/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md index bc32602ba0d..4ce71dc3e0d 100644 --- a/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md +++ b/docs/guides/websites/proxies/deploy-multiple-web-servers-with-proxypass-on-ubuntu-12-04/index.md @@ -17,7 +17,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 12.04 (Precise Pangolin) guide](/docs/websites/apache/apache-2-web-server-on-ubuntu-12-04-lts-precise-pangolin) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode. If you don't, you may wish to review our [Apache on Ubuntu 12.04 (Precise Pangolin) guide](/cloud/websites/apache/apache-2-web-server-on-ubuntu-12-04-lts-precise-pangolin) before proceeding. These steps should be performed as root via a shell session. ## Enable the Proxy Module diff --git a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md index 56b550abd25..00923ed2341 100644 --- a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md +++ b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-centos-5/index.md @@ -18,7 +18,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web-serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on CentOS 5 guide](/docs/guides/apache-2-web-server-on-centos-5/) before proceeding. These steps should be performed as root via a shell session. +We assume you have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and already have Apache running on your Linode. If you don't, you may wish to review our [Apache on CentOS 5 guide](/cloud/guides/apache-2-web-server-on-centos-5/) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md index ab08f332b8d..005192db5ec 100644 --- a/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/proxies/multiple-web-servers-with-proxypass-on-debian-6-squeeze/index.md @@ -15,7 +15,7 @@ deprecated: true In some cases, administrators find that while Apache meets most of their general-purpose web serving needs, other web or application servers are better suited for certain tasks. Fortunately, it's easy to configure Apache to pass certain requests to other web server processes. These secondary (or tertiary) web servers may be running on the same Linode or separate nodes (perhaps via private networking). Our examples use lighttpd as a secondary web server, but they apply to any web server or application you'd like to proxy HTTP requests to. -We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 6 (Squeeze) guide](/docs/web-servers/apache/installation/debian-6-squeeze) before proceeding. These steps should be performed as root via a shell session. +We assume you already have Apache running on your Linode; if you don't, you may wish to review our [Apache on Debian 6 (Squeeze) guide](/cloud/web-servers/apache/installation/debian-6-squeeze) before proceeding. These steps should be performed as root via a shell session. ## Enabling the Proxy Module diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md index c83440311e3..9fd1d7e874d 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-centos-5/index.md @@ -21,9 +21,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to mange clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to mange clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-centos-5/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-centos-5/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -52,11 +52,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/httpd reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-centos-5/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring [mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-centos-5/#enabling-the-proxy-module) to ensure that `mod_proxy` is active. +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring [mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5/#enabling-the-proxy-module) to ensure that `mod_proxy` is active. Once `mod_proxy` is enabled and configured, you can insert the following directives into your virtual hosting configuration: @@ -80,7 +80,7 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Back End -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backends. +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backends. Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding configuring `mod_proxy`. Do not forget to create and configure the `/etc/httpd/conf.d/proxy.conf` file. @@ -155,7 +155,7 @@ In this example, the `RewriteCond` controls the behavior of the `RewriteEngine` All of the previous cases presented in this document outline configurations for using `mod_proxy` in various configurations to make it possible to use your Apache HTTP server as a front end for a more complex architecture. This case takes this one step further by allowing Apache to proxy requests to a group of identical backend servers, and thus be able to handle a much larger load. -Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in the [mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-centos-5/#enabling-the-proxy-module) documentation. Do not forget to reload the Apache configuration again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in the [mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-centos-5/#enabling-the-proxy-module) documentation. Do not forget to reload the Apache configuration again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -200,4 +200,4 @@ Apache also contains a "Balancer Manager" interface that you can use to monitor {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md index 66d8db5f69f..611d888a0d4 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-debian-5-lenny/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a front end server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-debian-5-lenny/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a front end server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-debian-5-lenny/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring `mod_proxy` and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Follow this guide, particularly the section regarding configuring `mod_proxy` and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive allows you to distribute serving HTTP reso ## Case Three: Proxy Only Some Requests to a Back End -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back-end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate back end servers. Follow this guide, particularly the section regarding [configuring mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/), and ensure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of back-end servers, this kind of architecture only makes sense for some kinds of deployments. In many situations, administrators might like to have much more fine-grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate back end servers. Follow this guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/), and ensure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/#enabling-the-proxy-module). Do not forget to reload the configuration Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/#enabling-the-proxy-module). Do not forget to reload the configuration Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is not established at a location that is to be passed to a proxied server. Congratulations, you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is not established at a location that is to be passed to a proxied server. Congratulations, you are now able to configure a fully functional cluster of web servers using the Apache web server as a front end! ## More Information @@ -222,7 +222,7 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-debian-5-lenny/) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md index 193de2306fa..90645604b0f 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-12/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-fedora-12/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-fedora-12/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -55,11 +55,11 @@ Reload the web server configuration to create the virtual host. Note that Fedora /etc/init.d/httpd reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/) to ensure that `mod_proxy` is active. +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) to ensure that `mod_proxy` is active. Once `mod_proxy` is enabled and configured, you can insert the following directives into your virtual hosting configuration: @@ -78,11 +78,11 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. -Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. +Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. -Once `mod_proxy` is enabled and [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/), you can insert the following directives into your virtual hosting configuration. +Once `mod_proxy` is enabled and [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/), you can insert the following directives into your virtual hosting configuration. {{< file "Apache Virtual Host Configuration" apache >}} @@ -151,7 +151,7 @@ In this example, the `RewriteCond` controls the behavior of the `RewriteEngine` All of the previous cases presented in this document outline configurations for using `mod_proxy` in various configurations to make it possible to use your Apache HTTP server as a frontend for a more complex architecture. This case takes this one step further, by allowing Apache to proxy requests to a group of identical backend servers, and thus be able to handle a much larger load. -Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -196,7 +196,7 @@ Apache also contains a "Balancer Manager" interface that you can use to monitor {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -204,4 +204,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md index 749fe912f63..8773db1314a 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-fedora-14/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-fedora-14/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-fedora-14/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -55,11 +55,11 @@ Reload the web server configuration to create the virtual host. Note that Fedora /etc/init.d/httpd reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-14/) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-14/) to ensure that `mod_proxy` is active. +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/) we outline a method for configuring multiple websites using Apache's `mod_proxy` module. Please follow that guide, particularly the section regarding [configuring mod_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/) to ensure that `mod_proxy` is active. Once `mod_proxy` is enabled and configured, you can insert the following directives into your virtual hosting configuration: @@ -78,11 +78,11 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/) we can configure `mod_proxy` to more flexibly pass requests to alternate backends. -Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-14/). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. +Before continuing, ensure that you've completed the ProxyPass guide, particularly the section regarding [configuring the proxy module](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/). Do not omit to create and configure the `/etc/httpd/conf.d/proxy.conf` file. -Once `mod_proxy` is enabled and [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-14/), you can insert the following directives into your virtual hosting configuration. +Once `mod_proxy` is enabled and [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/), you can insert the following directives into your virtual hosting configuration. {{< file "Apache Virtual Host Configuration" apache >}} @@ -151,7 +151,7 @@ In this example, the `RewriteCond` controls the behavior of the `RewriteEngine` All of the previous cases presented in this document outline configurations for using `mod_proxy` in various configurations to make it possible to use your Apache HTTP server as a frontend for a more complex architecture. This case takes this one step further, by allowing Apache to proxy requests to a group of identical backend servers, and thus be able to handle a much larger load. -Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-14/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Ensure that you have a `/etc/httpd/conf.d/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-14/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -196,7 +196,7 @@ Apache also contains a "Balancer Manager" interface that you can use to monitor {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -204,4 +204,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-fedora-12/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-fedora-12/) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md index 8e64e2006c8..36ebd7b688d 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-04-lucid/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -222,4 +222,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md index c1a615b89a2..1cde4544a4a 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-10-10-maverick/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-10-maverick/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -222,4 +222,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-10-maverick/) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md index f3e2f2a740c..7f84e441c05 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-12-04-precise-pangolin/index.md @@ -17,9 +17,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-10-04-lts-lucid/) before continuing with this guide. Additionally, consider our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -48,11 +48,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/var/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/var/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -80,14 +80,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite service apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -163,7 +163,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer service apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -213,7 +213,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -221,4 +221,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-10-04-lucid/) diff --git a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md index fd0c661ccb5..bf0b39d47e4 100644 --- a/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/proxies/using-apache-for-proxy-and-clustering-services-on-ubuntu-9-10-karmic/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/docs/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. +The Apache HTTP server is a versatile and robust engine for providing access to resources over HTTP. With its modular design and standard [configuration system](/cloud/guides/apache-configuration-basics/), it is a popular and familiar option for systems administrators and architects who require a potentially diverse array of HTTP services, along with a stable and predictable administrative interface. In addition to simply serving content and facilitating the generation of dynamic content, the Apache HTTP server can be deployed as a frontend server to manage clusters of web servers. -This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/docs/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) before continuing with this guide. Additionally, consider our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [beginner's guide](/docs/products/compute/compute-instances/faqs/) documents if you are new to Linode, and our [administration basics](/docs/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. +This guide provides a number of configuration examples and suggestions for using Apache as a frontend server for other HTTP servers and clusters of servers. If you have not already installed Apache, consider our documentation on [installing Apache](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) before continuing with this guide. Additionally, consider our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) documents if you are new to Linode, and our [administration basics](/cloud/guides/linux-system-administration-basics/) guide if you are new to Linux server administration. ## Case One: Separating Static Content from Dynamic Content @@ -49,11 +49,11 @@ Reload the web server configuration to create the virtual host. Issue the follow /etc/init.d/apache2 reload -Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/docs/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. +Now, place the static files in the `/srv/www/static.example.com/public_html/` folder and ensure all static content is served from URLs that begin with `http://static.example.com/`. You must create an [A Record](/cloud/guides/dns-overview/#a-and-aaaa) that points to your Linode's IP for the `static.example.com` domain. You can repeat and expand on this process by effectively creating a small cluster of independent servers that can serve separate components of a single website using sub-domains. ## Case Two: Using ProxyPass to Delegate Services to Alternate Machines -In our guide to using [multiple web servers with ProxyPass](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: +In our guide to using [multiple web servers with ProxyPass](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/) we outline a method for configuring multiple websites using Apache's `mod_proxy`. Please follow that guide, particularly the section regarding [configuring mod\_proxy](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/#enabling-the-proxy-module) and ensure that `mod_proxy` is active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http @@ -81,14 +81,14 @@ In essence, the `ProxyPass` directive in this manner allows you to distribute se ## Case Three: Proxy only Some Requests to a Backend -While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/docs/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: +While using `ProxyPass` directives allows you to distribute resources by directory amongst a collection of backend servers, this kind of architecture only makes sense for some specific kinds of deployments. In many situations administrators might like to have much more fine grained control over the requests passed to external servers. In conjunction with [mod\_rewrite](/cloud/guides/rewrite-urls-with-modrewrite-and-apache/), we can configure `mod_proxy` to more flexibly pass requests to alternate backend servers. Follow this guide, particularly the section regarding configuring mod\_proxy, and insure that `mod_proxy` and `mod_rewrite` are active by issuing the following commands to enable and restart web server: a2enmod proxy a2enmod proxy_http a2enmod rewrite /etc/init.d/apache2 restart -Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: +Once `mod_proxy` is enabled and configured, ensure that the server is [configured properly](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/). Now, a number of additional proxy services will be available. Consider the following virtual host configuration: {{< file "Apache Virtual Host Configuration" apache >}} @@ -164,7 +164,7 @@ All of the previous cases presented in this document outline configurations for a2enmod proxy_balancer /etc/init.d/apache2 restart -Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: +Edit the `/etc/apache2/mods-available/proxy.conf` file as described in [this documentation](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/#enabling-the-proxy-module). Do not omit to reload Apache again once you have fully configured your virtual host and cluster. Consider the following Apache configuration directives: {{< file "Apache Virtual Host Configuration" apache >}} @@ -214,7 +214,7 @@ Now include the following location directive in the virtual host where your clus {{< /file >}} -Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/docs/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! +Modify the `Allow from` directive to allow access *only* from your current local machine's IP address, and read more about [rule-based access control](/cloud/guides/rulebased-access-control-for-apache/). Now visit `/balancer-manager` of the domain of your virtual host (e.g. `example.com`,) in our example `http://example.com/balancer-manager` to use Apache's tools for managing your cluster. Ensure that the `/balancer-manager` location is **not** established at a location that is to be passed to a proxied server. Congratulations you are now able to configure a fully functional cluster of web servers using the Apache web server as a frontend! ## More Information @@ -222,4 +222,4 @@ You may wish to consult the following resources for additional information on th - [Official Apache Documentation for Proxy Pass](http://httpd.apache.org/docs/2.2/mod/mod_proxy.html) - [Official Apache Documentation for Proxy Balancer](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) -- [Configure ProxyPass and Multiple Web Servers with Apache](/docs/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/) +- [Configure ProxyPass and Multiple Web Servers with Apache](/cloud/guides/multiple-web-servers-with-proxypass-on-ubuntu-9-10-karmic/) diff --git a/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md b/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md index 2ecc231fb16..a03af30e3e5 100644 --- a/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md +++ b/docs/guides/websites/puppet/manage-and-automate-systems-configuration-with-puppet/index.md @@ -22,7 +22,7 @@ deprecated_link: applications/configuration-management/install-and-configure-pup Puppet is an open source "configuration change management" tool that allows users to automate and standardize the configuration of software infrastructure. Using a domain specific language for describing configuration, Puppet allows users to manage configurations in a service-oriented manner. -Because of Puppet's versatility, this guide provides an overview of a number of different Puppet-based deployments. Since there is no single "right way" to integrate Puppet into your network, this document will focus on a collection of independent strategies rather than a single procedure. Before following this document, it is assumed that you have an up-to-date system, have followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have installed Puppet according to our [Puppet installation guide](/docs/guides/install-and-configure-puppet/). +Because of Puppet's versatility, this guide provides an overview of a number of different Puppet-based deployments. Since there is no single "right way" to integrate Puppet into your network, this document will focus on a collection of independent strategies rather than a single procedure. Before following this document, it is assumed that you have an up-to-date system, have followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have installed Puppet according to our [Puppet installation guide](/cloud/guides/install-and-configure-puppet/). ## Using Puppet @@ -244,7 +244,7 @@ This instructs Puppet to run the specified command, in this case an `rsync` comm This guide only covers the most basic of puppet configurations options. It is certainly possible to deploy much more complex systems, including the following possibilities: -- Store revisions of your manifest files in a [version control system](/docs/guides/development/version-control/). Version control will make it easier to revert changes if you run into problems. It will also ease replication of manifests throughout a system with multiple Puppetmaster nodes. -- Deploy Puppetmaster with [Passenger](/docs/frameworks/): the default Puppetmaster server is based on WEBrick, which is only capable of supporting 20 or 30 puppet nodes, depending on your configuration, according the Puppet developers. +- Store revisions of your manifest files in a [version control system](/cloud/guides/development/version-control/). Version control will make it easier to revert changes if you run into problems. It will also ease replication of manifests throughout a system with multiple Puppetmaster nodes. +- Deploy Puppetmaster with [Passenger](/cloud/frameworks/): the default Puppetmaster server is based on WEBrick, which is only capable of supporting 20 or 30 puppet nodes, depending on your configuration, according the Puppet developers. - You may consider using Puppet in combination with the [Linode API](http://www.linode.com/api/) and [StackScripts](http://www.linode.com/stackscripts/) to automate provisioning, deprovisioning, and configuration of Linodes. - Use [Puppet's module support](http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Modules) to more easily manage applications which require more complex configurations. diff --git a/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md b/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md index 3dd55eda41f..b7502330a28 100644 --- a/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md +++ b/docs/guides/websites/static-sites/generating-static-sites-with-gatsby/index.md @@ -21,9 +21,9 @@ Through this tutorial, learn what Gatsby is and what it has to offer. By follow ## 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. @@ -40,7 +40,7 @@ Through this tutorial, learn what Gatsby is and what it has to offer. By follow ``` {{< note >}} -The steps in this guide are written for non-root users. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Linux Users and Groups](/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 Gatsby? @@ -73,7 +73,7 @@ Finally, another remarkable difference between the two frameworks is Gatsby's ec These steps walk you through installing the tooling for creating and managing Gatsby projects. The Gatsby framework itself only needs to be installed on a project-by-project basis, but having Gatsby's command-line tool (CLI) installed makes the process of working with Gatsby significantly easier. -1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/docs/guides/install-and-use-npm-on-linux/). Gatsby requires Node.js and NPM. Additionally, NPM can be used later for installing Gatsby plugins. +1. Follow our tutorial on how to [Install and Use the Node Package Manager (NPM) on Linux](/cloud/guides/install-and-use-npm-on-linux/). Gatsby requires Node.js and NPM. Additionally, NPM can be used later for installing Gatsby plugins. 1. Install the Gatsby CLI as a global NPM package: @@ -93,7 +93,7 @@ These steps walk you through installing the tooling for creating and managing Ga 1. Ensure that your system has Git installed. Gatsby requires Git to download starters, even for the default Gatsby template. - Follow our tutorial on [How to Install Git on Linux](/docs/guides/how-to-install-git-on-linux-mac-and-windows/#how-to-install-git-on-linux) to see how you can check if Git is installed and, if it is not, how you can install it. + Follow our tutorial on [How to Install Git on Linux](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/#how-to-install-git-on-linux) to see how you can check if Git is installed and, if it is not, how you can install it. ## How to Use Gatsby @@ -134,7 +134,7 @@ gatsby develop Then, navigate to `localhost` port `8000` in a web browser. To visit the application remotely, you can use an SSH tunnel: -- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow our guide on [Connecting to a Remote Server Over SSH using PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/), and use `8000` as the port number. +- On **Windows**, you can use the PuTTY tool to set up your SSH tunnel. Follow our guide on [Connecting to a Remote Server Over SSH using PuTTY](/cloud/guides/connect-to-server-over-ssh-using-putty/), and use `8000` as the port number. - On **macOS** or **Linux**, use the following command to set up the SSH tunnel. Replace `example-user` with your username on the remote server and `192.0.2.0` with the remote server's IP address: @@ -272,12 +272,12 @@ gatsby build Gatsby uses the `build` command to render your website and store the static files for it in the `public` subdirectory. These are the files you need to copy to the host you plan to use to serve your static site. -You can learn more about that process through our guide on how to [Deploy a Static Site Using Hugo and Object Storage](/docs/guides/host-static-site-object-storage/#upload-your-static-site-to-linode-object-storage), following the section on uploading a static site to Linode Object Storage. +You can learn more about that process through our guide on how to [Deploy a Static Site Using Hugo and Object Storage](/cloud/guides/host-static-site-object-storage/#upload-your-static-site-to-linode-object-storage), following the section on uploading a static site to Linode Object Storage. -Alternatively, take a look at our guides on how to [Set up a Web Server and Host a Website on Linode](/docs/guides/set-up-web-server-host-website/) or, for something more advanced, on how to [Host a Website with High Availability](/docs/guides/host-a-website-with-high-availability/). +Alternatively, take a look at our guides on how to [Set up a Web Server and Host a Website on Linode](/cloud/guides/set-up-web-server-host-website/) or, for something more advanced, on how to [Host a Website with High Availability](/cloud/guides/host-a-website-with-high-availability/). ## Conclusion This guides covered an introduction to Gatsby for creating static sites. -To read further, be sure to peruse the [official Gatsby documentation](https://www.gatsbyjs.com/docs/). You may also be interested in our guide on setting up a [CI/CD Pipeline with Gatsby, Netlify, and Travis CI](/docs/guides/install-gatsbyjs/). Doing so can give you an efficient process for managing your Gatsby website. +To read further, be sure to peruse the [official Gatsby documentation](https://www.gatsbyjs.com/docs/). You may also be interested in our guide on setting up a [CI/CD Pipeline with Gatsby, Netlify, and Travis CI](/cloud/guides/install-gatsbyjs/). Doing so can give you an efficient process for managing your Gatsby website. diff --git a/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md b/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md index f8c8b25290d..8e359290e7b 100644 --- a/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md +++ b/docs/guides/websites/static-sites/how-to-choose-static-site-generator/index.md @@ -53,7 +53,7 @@ Since static site generators are easy to set up, it's worth installing a few and * [**Jekyll**](https://jekyllrb.com/): Touts itself as "blog aware," meaning it was made to make blogging easy. Jekyll was built by GitHub and is consistently one of the most popular static site generators. The larger community means a great library of available themes, plugins, and available answers. [GitHub pages](https://help.github.com/articles/using-jekyll-as-a-static-site-generator-with-github-pages/) can be configured to automatically build and host a GitHub repository using Jekyll. Jekyll [installs via RubyGems](https://jekyllrb.com/docs/installation/) and uses [Liquid](https://shopify.github.io/liquid/) for templating. * [**Hugo**](https://gohugo.io/): Builds pages quickly. Hugo has a built-in [LiveReload](https://gohugo.io/getting-started/usage/#livereload), so you can see your changes in a browser as soon as changes to a tracked file are saved. Hugo is written in [Go](https://golang.org/) and uses Go templating. It also uses [shortcodes](https://gohugo.io/content-management/shortcodes/) to easily extend the types of content that can be included in a page. [Hugo can be installed](https://gohugo.io/getting-started/installing/) through a package manager or by downloading a binary. -* [**Hexo**](https://hexo.io/): Focuses on speed and simplicity, and is still flexible enough to use both Jekyll and [Octopress](http://octopress.org/) plugins. One command can deploy a site to your Linode using [Dokku](/docs/guides/deploy-a-flask-application-with-dokku/) or [SFTP](https://hexo.io/docs/deployment.html). Hexo uses Node.js under the hood, and can be installed with [NPM](https://www.npmjs.com/). +* [**Hexo**](https://hexo.io/): Focuses on speed and simplicity, and is still flexible enough to use both Jekyll and [Octopress](http://octopress.org/) plugins. One command can deploy a site to your Linode using [Dokku](/cloud/guides/deploy-a-flask-application-with-dokku/) or [SFTP](https://hexo.io/docs/deployment.html). Hexo uses Node.js under the hood, and can be installed with [NPM](https://www.npmjs.com/). * [**Gatsby**](https://www.gatsbyjs.org/): Gatsby is quickly moving up the list of popular static site generators. Pages are built quickly using React.js, and are created in a way that speeds loads times as well. Gatsby includes hot reloading, and changes are shown in the browser instantly. Because it uses React heavily, some familiarity with JavaScript and React components is helpful when creating a site with Gatsby. [Install Gatsby](https://www.gatsbyjs.org/docs/) using NPM. * [**GitBook**](https://www.gitbook.com): Built around Git, GitBook aims to make many of the features that make Git useful (branches, pull requests, version tracking) accessible to users more familiar with traditional desktop publishing. GitBook is commonly used for technical/API documentation, user manuals, or knowledge bases, and has built-in templates for these and other types of content. @@ -65,7 +65,7 @@ Since static site generators are easy to set up, it's worth installing a few and * Note that each generator requires different meta information. Refer to the official documentation to learn more about available features. 4. Preview your pages if available. 5. Instruct your static site generator to build the site. -6. Move the newly built or updated pages to your [web server](/docs/web-servers/). +6. Move the newly built or updated pages to your [web server](/cloud/web-servers/). ## Use a CMS Front-End diff --git a/docs/guides/websites/static-sites/install-gatsbyjs/index.md b/docs/guides/websites/static-sites/install-gatsbyjs/index.md index 8bcc6cf3d31..acf7908185a 100644 --- a/docs/guides/websites/static-sites/install-gatsbyjs/index.md +++ b/docs/guides/websites/static-sites/install-gatsbyjs/index.md @@ -15,7 +15,7 @@ aliases: ['/websites/static-sites/install-gatsbyjs/'] ## What is Gatsby? -Gatsby is a [Static Site Generator](/docs/guides/how-to-choose-static-site-generator/#what-is-a-static-site) for React built on Node.js. Gatsby uses a modern web technology stack based on client-side Javascript, reusable APIs, and prebuilt Markdown, otherwise known as the [*JAMstack*](https://jamstack.org/). This method of building a site is fast, secure, and scalable. All production site pages are prebuilt and static, so Gatsby does not have to build HTML for each page request. +Gatsby is a [Static Site Generator](/cloud/guides/how-to-choose-static-site-generator/#what-is-a-static-site) for React built on Node.js. Gatsby uses a modern web technology stack based on client-side Javascript, reusable APIs, and prebuilt Markdown, otherwise known as the [*JAMstack*](https://jamstack.org/). This method of building a site is fast, secure, and scalable. All production site pages are prebuilt and static, so Gatsby does not have to build HTML for each page request. ## What is the CI/CD Pipeline? @@ -49,17 +49,17 @@ This guide sets up the following flow of events: ## Before You Begin -1. Follow the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide and deploy a Linode running Ubuntu 18.04. +1. Follow the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide and deploy a Linode running Ubuntu 18.04. -1. Complete the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide 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 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 Linode's IP. +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 Linode's IP. 1. Create a [GitHub](https://github.com/) account if you don't already have one. GitHub is free for open source projects. -1. [Install Git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer. Later in this guide, [Homebrew](/docs/guides/how-to-install-git-on-linux-mac-and-windows/#install-git-using-homebrew-on-macos) will be used to install Gatsby on a Mac, so it's recommended that you also use Homebrew to install Git if you're using a Mac. +1. [Install Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) on your local computer. Later in this guide, [Homebrew](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/#install-git-using-homebrew-on-macos) will be used to install Gatsby on a Mac, so it's recommended that you also use Homebrew to install Git if you're using a Mac. ## Prepare Your Production Linode @@ -421,7 +421,7 @@ sudo: false ### Give Travis Permission to Deploy to Your Linode -In order to let Travis push your code to your production Linode, you first need to give the Travis build environment access to the Linode. This will be accomplished by generating a [public-private key pair](/docs/guides/use-public-key-authentication-with-ssh/) for your build environment and then uploading the public key to your Linode. Your code will be deployed over SSH, and the SSH agent in the build environment will be configured to use your new private key. +In order to let Travis push your code to your production Linode, you first need to give the Travis build environment access to the Linode. This will be accomplished by generating a [public-private key pair](/cloud/guides/use-public-key-authentication-with-ssh/) for your build environment and then uploading the public key to your Linode. Your code will be deployed over SSH, and the SSH agent in the build environment will be configured to use your new private key. The private key will also need to be encrypted, as the key file will live in your Gatsby project's Git repository, and you should **never** check a plain-text version of it into version control. diff --git a/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md b/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md index 58f5e4c5ca8..f20892c7d0b 100644 --- a/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md +++ b/docs/guides/websites/varnish/getting-started-with-varnish-cache/index.md @@ -22,18 +22,18 @@ Varnish works by handling requests before they make it to your backend; whether Additionally, Varnish cache can be used as part of a [highly available environment](#use-varnish-cache-for-high-availability-with-backend-polling), which ensures uptime during high traffic loads or server failures. -If your web server is nginx and you plan to use Varnish cache to serve WordPress, visit Linode's guide to [Using Varnish & nginx to Serve WordPress over SSL & HTTP on Debian 8](/docs/guides/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/). +If your web server is nginx and you plan to use Varnish cache to serve WordPress, visit Linode's guide to [Using Varnish & nginx to Serve WordPress over SSL & HTTP on Debian 8](/cloud/guides/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/). ## Before You Begin -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 [web server](/docs/websites/) like Apache or nginx. +3. Install and configure a [web server](/cloud/websites/) like Apache or nginx. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/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 and Configure Varnish Cache @@ -262,7 +262,7 @@ set beresp.grace = 1h; #### Serve Varnish Cache from Another Linode (Optional) -For added availability, consider serving Varnish cache from a separate Linode. In this case, the Varnish installation steps should be performed on a separate Linode in the same data center as the web server. Once installed, configure the Varnish backend `.host` value to point at the web server Linode's [private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Note that DNS records for your site should be pointed at the Varnish Linode, since this is where the client connects. +For added availability, consider serving Varnish cache from a separate Linode. In this case, the Varnish installation steps should be performed on a separate Linode in the same data center as the web server. Once installed, configure the Varnish backend `.host` value to point at the web server Linode's [private IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Note that DNS records for your site should be pointed at the Varnish Linode, since this is where the client connects. That's it! If everything went well, visitors to your site are now being served Varnish-cached content from memory, resulting in dramatic improvements to your site's speed. @@ -282,4 +282,4 @@ If Varnish is running on the same Linode as your web server, be sure to allow in If Varnish and your web server are running on separate Linodes, you'll need to accept incoming traffic on port 80 on the Varnish Linode, and port 8080 on the web server. -These two are simply the minimum rule modifications. It is strongly recommended you use additional firewall rules on each, based on the other services you have running. If you're not sure how to set up a firewall, check out our guides on [iptables](/docs/guides/control-network-traffic-with-iptables/) and [UFW](/docs/guides/configure-firewall-with-ufw/). +These two are simply the minimum rule modifications. It is strongly recommended you use additional firewall rules on each, based on the other services you have running. If you're not sure how to set up a firewall, check out our guides on [iptables](/cloud/guides/control-network-traffic-with-iptables/) and [UFW](/cloud/guides/configure-firewall-with-ufw/). diff --git a/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md b/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md index 4bcd1d10a3d..4c99d9b15f6 100644 --- a/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md +++ b/docs/guides/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/index.md @@ -43,11 +43,11 @@ Our setup is illustrated below. Please note that frontend NGINX and backend NGIN This tutorial assumes that you have SSH access to your Linode running Debian 8 (Jessie). Before you get started: -1. Complete the steps in our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) and [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. You'll need a standard user account with `sudo` privileges for many commands in this guide. +1. Complete the steps in our [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) and [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. You'll need a standard user account with `sudo` privileges for many commands in this guide. -2. Follow the steps outlined in our [LEMP on Debian 8](/docs/guides/install-a-lemp-stack-on-debian/) guide. Skip the NGINX configuration section, since we'll address it later in this guide. +2. Follow the steps outlined in our [LEMP on Debian 8](/cloud/guides/install-a-lemp-stack-on-debian/) guide. Skip the NGINX configuration section, since we'll address it later in this guide. -3. After configuring NGINX according to this guide, follow the steps in our [WordPress](/docs/guides/how-to-install-and-configure-wordpress/) guide to install and configure WordPress. We'll include a step in the instructions to let you know when it's time to do this. +3. After configuring NGINX according to this guide, follow the steps in our [WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide to install and configure WordPress. We'll include a step in the instructions to let you know when it's time to do this. ## Install and Configure Varnish @@ -287,7 +287,7 @@ set resp.http.X-Purger = req.http.X-Purger; {{< /file >}} - This concludes the `custom.vcl` configuration. You can now save and exit the file. The final `custom.vcl` file will look like [this](/docs/assets/custom.vcl). + This concludes the `custom.vcl` configuration. You can now save and exit the file. The final `custom.vcl` file will look like [this](/cloud/assets/custom.vcl). {{< note respectIndent=false >}} You can download the complete sample configuration file using the link above and `wget`. If you do, remember to replace the variables as described above. @@ -488,7 +488,7 @@ server { For an SSL-encrypted website, you need one server block to receive traffic on port 443 and pass decrypted traffic to Varnish on port `80`, and another server block to serve unencrypted traffic to Varnish on port `8080`, when Varnish asks for it. {{< note type="alert" respectIndent=false >}} -The `ssl_certificate` directive must specify the location and name of the SSL certificate file. Take a look at our guide to using [SSL on NGINX](/docs/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) for more information, and update the `ssl_certificate` and `ssl_certificate_key` values as needed. +The `ssl_certificate` directive must specify the location and name of the SSL certificate file. Take a look at our guide to using [SSL on NGINX](/cloud/guides/getting-started-with-nginx-part-3-enable-tls-for-https/) for more information, and update the `ssl_certificate` and `ssl_certificate_key` values as needed. {{< /note >}} Alternately, if you don't have a commercially-signed SSL certificate (issued by a CA), you can issue a self-signed SSL certificate using *openssl*, but this should be done only for testing purposes. Self-signed sites will return a "This Connection is Untrusted" message when opened in a browser. @@ -526,7 +526,7 @@ server { sudo systemctl restart nginx sudo systemctl start varnish -8. Install WordPress, following our [How to Install and Configure WordPress](/docs/guides/how-to-install-and-configure-wordpress/) guide. Once WordPress is installed, continue with this guide. +8. Install WordPress, following our [How to Install and Configure WordPress](/cloud/guides/how-to-install-and-configure-wordpress/) guide. Once WordPress is installed, continue with this guide. 9. After installing WordPress, restart Varnish to clear any cached redirects to the setup page: @@ -588,4 +588,4 @@ By using nginx in conjunction with Varnish, the speed of any WordPress website c You can strengthen the security of the SSL connection by generating a custom Diffie-Hellman (DH) parameter, for a more secure cryptographic key exchange process. -An additional configuration option is to enable Varnish logging for the plain HTTP website, since now Varnish will be the first to receive the client requests, while NGINX only receives requests for those pages that are not found in the cache. For SSL-encrypted websites, the logging should be done by NGINX because client requests pass through it first. Logging becomes even more important if you use log monitoring software such as [Fail2ban](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/), Awstats or Webalizer. +An additional configuration option is to enable Varnish logging for the plain HTTP website, since now Varnish will be the first to receive the client requests, while NGINX only receives requests for those pages that are not found in the cache. For SSL-encrypted websites, the logging should be done by NGINX because client requests pass through it first. Logging becomes even more important if you use log monitoring software such as [Fail2ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/), Awstats or Webalizer. diff --git a/docs/guides/websites/wikis/confluence-on-centos-5/index.md b/docs/guides/websites/wikis/confluence-on-centos-5/index.md index c0dd8f1a26a..bf2dba704b4 100644 --- a/docs/guides/websites/wikis/confluence-on-centos-5/index.md +++ b/docs/guides/websites/wikis/confluence-on-centos-5/index.md @@ -25,7 +25,7 @@ deprecated: true ## 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/websites/wikis/confluence-on-debian-5-lenny/index.md b/docs/guides/websites/wikis/confluence-on-debian-5-lenny/index.md index 79a26871c90..fd47a82d3e5 100644 --- a/docs/guides/websites/wikis/confluence-on-debian-5-lenny/index.md +++ b/docs/guides/websites/wikis/confluence-on-debian-5-lenny/index.md @@ -22,7 +22,7 @@ deprecated: true ## 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/websites/wikis/confluence-on-fedora-13/index.md b/docs/guides/websites/wikis/confluence-on-fedora-13/index.md index 124dc01f0ba..8693708f0bc 100644 --- a/docs/guides/websites/wikis/confluence-on-fedora-13/index.md +++ b/docs/guides/websites/wikis/confluence-on-fedora-13/index.md @@ -22,7 +22,7 @@ deprecated: true ## 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/websites/wikis/confluence-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/wikis/confluence-on-ubuntu-10-04-lucid/index.md index 5c179c630cf..50fe854a16d 100644 --- a/docs/guides/websites/wikis/confluence-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/wikis/confluence-on-ubuntu-10-04-lucid/index.md @@ -22,7 +22,7 @@ deprecated: true ## 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/websites/wikis/confluence-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/wikis/confluence-on-ubuntu-9-10-karmic/index.md index 323288f566d..4a1a63fa563 100644 --- a/docs/guides/websites/wikis/confluence-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/wikis/confluence-on-ubuntu-9-10-karmic/index.md @@ -22,7 +22,7 @@ deprecated: true ## 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/websites/wikis/dokuwiki-engine/index.md b/docs/guides/websites/wikis/dokuwiki-engine/index.md index 068f2b69a56..461fb8cdf4b 100644 --- a/docs/guides/websites/wikis/dokuwiki-engine/index.md +++ b/docs/guides/websites/wikis/dokuwiki-engine/index.md @@ -20,7 +20,7 @@ DokuWiki is a flexible and extensible wiki engine that aims to be easy to manage ![Build a Fully Featured Wiki with DokuWiki](dokuwiki_title_graphic.png) -Before beginning the installation of DokuWiki, we assume that you have completed the [Setting Up and Securing a Compute Instance](/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 beginning the installation of DokuWiki, we assume that you have completed the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). If you are new to Linux server administration, you may be interested in our [introduction to Linux concepts guide](/cloud/guides/introduction-to-linux-concepts/), [beginner's guide](https://techdocs.akamai.com/cloud-computing/docs/faqs-for-compute-instances) and [administration basics guide](/cloud/guides/linux-system-administration-basics/). ## Install Prerequisites @@ -30,7 +30,7 @@ There are a few prerequisites that you will need before embarking on the install apt-get upgrade apt-get install php5 php-pear apache2 wget -Additionally, you will likely want to configure your Apache instance for virtual hosting according to our guide for [name based virtual hosting](/docs/guides/apache-2-web-server-on-debian-5-lenny/). On CentOS and Fedora powered systems, issue the following commands to run system updates, install required prerequisites, and ensure that Apache will resume following the next reboot cycle: +Additionally, you will likely want to configure your Apache instance for virtual hosting according to our guide for [name based virtual hosting](/cloud/guides/apache-2-web-server-on-debian-5-lenny/). On CentOS and Fedora powered systems, issue the following commands to run system updates, install required prerequisites, and ensure that Apache will resume following the next reboot cycle: yum update yum install php php-pear httpd wget diff --git a/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md b/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md index 59a8841abf3..8d8268755c4 100644 --- a/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md +++ b/docs/guides/websites/wikis/how-to-install-mediawiki-centos-8/index.md @@ -22,12 +22,12 @@ 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. {{< note >}} -This guide is written for a non-root 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 Apache @@ -41,7 +41,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo systemctl enable httpd.service sudo systemctl start httpd.service -3. See the guide for [How to Install Apache Web Server on CentOS 8](/docs/guides/how-to-install-apache-web-server-centos-8/) for more details and configuration options for the Apache web server. +3. See the guide for [How to Install Apache Web Server on CentOS 8](/cloud/guides/how-to-install-apache-web-server-centos-8/) for more details and configuration options for the Apache web server. ## Install PHP @@ -86,7 +86,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and This script gives you the choice to change the MariaDB root password, remove anonymous user accounts, disable root logins outside of localhost, and remove test databases. It is recommended that you answer yes to these options. You can read more about the script in the [MariaDB Knowledge Base](https://mariadb.com/kb/en/mariadb/mysql_secure_installation/). -4. See the guide for [How to Install MariaDB on CentOS 8](/docs/guides/how-to-install-mariadb-on-centos-8/) for more details and configuration options for the MariaDB installation. +4. See the guide for [How to Install MariaDB on CentOS 8](/cloud/guides/how-to-install-mariadb-on-centos-8/) for more details and configuration options for the MariaDB installation. 5. Create a database and a database user for MediaWiki by opening MariaDB as the root user (`sudo mysql -u root -p`) and entering the commands given in the following example. Replace `my_wiki` with the desired database name, `wikiuser` with the desired database username, and `password` with a password for that user, which should not match the database's root password: @@ -122,7 +122,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and sudo mv /var/www/html/mediawiki-1.35.0 /var/www/html/w {{< note respectIndent=false >}} - Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/docs/guides/linux-users-and-groups/#changing-file-ownership). + Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#changing-file-ownership). {{< /note >}} ## Install MediaWiki diff --git a/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md b/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md index ebb6ff8ca38..53c140058e0 100644 --- a/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md +++ b/docs/guides/websites/wikis/how-to-install-mediawiki-ubuntu-2004/index.md @@ -22,12 +22,12 @@ 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. {{< note >}} -This guide is written for a non-root 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 Apache @@ -45,7 +45,7 @@ This guide is written for a non-root user. Commands that require elevated privil sudo systemctl enable apache2 sudo systemctl start apache2 -3. See the guide for [How to Install Apache Web Server on Ubuntu 18.04 LTS](/docs/guides/how-to-install-apache-web-server-ubuntu-18-04/) for more details and configuration options for the Apache web server. +3. See the guide for [How to Install Apache Web Server on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-apache-web-server-ubuntu-18-04/) for more details and configuration options for the Apache web server. ## Install PHP @@ -80,7 +80,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and sudo systemctl enable mariadb sudo systemctl start mariadb -4. See the guide for [How to Install MariaDB on Ubuntu 18.04 LTS](/docs/guides/how-to-install-mariadb-on-ubuntu-18-04/) for more details and configuration options for the MariaDB installation. +4. See the guide for [How to Install MariaDB on Ubuntu 18.04 LTS](/cloud/guides/how-to-install-mariadb-on-ubuntu-18-04/) for more details and configuration options for the MariaDB installation. 5. Create a database and a database user for MediaWiki by opening MariaDB as the root user (`sudo mariadb -u root -p`) and entering the commands given in the following example. Replace `wikidb` with the desired database name, `wikiuser` with the desired database username, and `password` with a password for that user, which should not match the database's root password: @@ -118,7 +118,7 @@ MediaWiki supports a variety of database options, including MariaDB, MySQL, and sudo mv /var/www/html/mediawiki-1.35.0 /var/www/html/w {{< note respectIndent=false >}} - Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/docs/guides/linux-users-and-groups/#changing-file-ownership). + Extracting the archive as root makes the root user the files' owner. If this is not your intention, you need to use the `chown` command to change the files' ownership after extraction. For more information, see our guide on [Linux Users and Groups](/cloud/guides/linux-users-and-groups/#changing-file-ownership). {{< /note >}} ## Install MediaWiki diff --git a/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md b/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md index 1f09c204bc4..df641f1d681 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-arch-linux/index.md @@ -18,7 +18,7 @@ tags: ["wiki"] deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/docs/guides/how-to-configure-git/) for version control, and either the [Apache](/docs/web-servers/apache/) or [nginx](/docs/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/web-servers/apache/) or [nginx](/cloud/web-servers/nginx/) web server. ## Install Ikiwiki @@ -222,7 +222,7 @@ Configure the `username` user's identity within git. Modify the following model git config --global user.email "username@example.com" git config --global user.name "username example" -Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/docs/assets/694-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: +Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/cloud/assets/694-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: cd ~/wiki cp -R /usr/share/ikiwiki/templates ~/wiki/ diff --git a/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md b/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md index bd72a33eac5..fd28bd8abbd 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/docs/guides/how-to-configure-git/) for version control, and either the [Apache](/docs/web-servers/apache/) or [nginx](/docs/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/web-servers/apache/) or [nginx](/cloud/web-servers/nginx/) web server. ## Basic System Configuration @@ -330,7 +330,7 @@ Add the following excerpt to `~/wiki/.git/config`: {{< /file >}} -Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/docs/assets/691-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: +Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/cloud/assets/691-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: cd ~/wiki cp -R /usr/share/ikiwiki/templates ~/wiki/ diff --git a/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md b/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md index 97a491a7964..3eb2bb9eb49 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-debian-6-squeeze/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/docs/guides/how-to-configure-git/) for version control, and either the [Apache](/docs/web-servers/apache/) or [nginx](/docs/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/web-servers/apache/) or [nginx](/cloud/web-servers/nginx/) web server. ## Basic System Configuration @@ -305,7 +305,7 @@ Add the following excerpt to `~/wiki/.git/config`: {{< /file >}} -Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/docs/assets/690-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: +Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/cloud/assets/690-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: cd ~/wiki cp -R /usr/share/ikiwiki/templates ~/wiki/ diff --git a/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md b/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md index 4464dab3336..ea30c82ee64 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-fedora-12/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/docs/development/version-control/) system of your choice, though this guide assumes that you use [git](/docs/guides/how-to-configure-git/). +Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/development/version-control/) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git/). -This guide is written for Fedora 12, and assumes that you've followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/docs/guides/apache-2-web-server-on-fedora-12/) and a working installation of [git](/docs/guides/how-to-configure-git/). +This guide is written for Fedora 12, and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-12/) and a working installation of [git](/cloud/guides/how-to-configure-git/). ## Installing Ikiwiki @@ -59,7 +59,7 @@ While the auto-setup script is great for getting up and running in a matter of m ## Manual Ikiwiki Configuration -To help you begin a manual configuration, we've included a full-featured [Ikiwiki configuration file](/docs/assets/657-ikiwiki.setup) for you to review and edit. This provides configuration options for common plugins and some additional comments. Issue the following commands to fetch this file: +To help you begin a manual configuration, we've included a full-featured [Ikiwiki configuration file](/cloud/assets/657-ikiwiki.setup) for you to review and edit. This provides configuration options for common plugins and some additional comments. Issue the following commands to fetch this file: cd ~/ wget -O ikiwiki.setup http://www.linode.com/docs/assets/657-ikiwiki.setup @@ -184,7 +184,7 @@ You may find yourself wondering why there are so many git repositories for a sin ## Notes for Using Gitosis with Ikiwiki -If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/docs/guides/how-to-configure-git/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](/docs/assets/657-ikiwiki.setup) for details on how to configure this. +If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-configure-git/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](/cloud/assets/657-ikiwiki.setup) for details on how to configure this. The files that needed to be owned by the `gitosis` user are the "destination" directory where Ikiwiki puts its output, the "source directory", and the bare repository. Run the following commands to set this ownership. diff --git a/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md b/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md index f772cca8eb4..fdc102d7360 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-fedora-13/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/docs/development/version-control/) system of your choice, though this guide assumes that you use [git](/docs/guides/how-to-configure-git/). +Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/development/version-control/) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git/). -This guide is written for Fedora 13, and assumes that you've followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/docs/guides/apache-2-web-server-on-fedora-13/) and a working installation of [git](/docs/guides/how-to-configure-git/). +This guide is written for Fedora 13, and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-fedora-13/) and a working installation of [git](/cloud/guides/how-to-configure-git/). ## Installing Ikiwiki @@ -59,7 +59,7 @@ While the auto-setup script is great for getting up and running in a matter of m ## Manual Ikiwiki Configuration -To help you begin a manual configuration, we've included a full-featured [Ikiwiki configuration file](/docs/assets/656-ikiwiki.setup) for you to review and edit. This provides configuration options for common plugins and some additional comments. Issue the following commands to fetch this file: +To help you begin a manual configuration, we've included a full-featured [Ikiwiki configuration file](/cloud/assets/656-ikiwiki.setup) for you to review and edit. This provides configuration options for common plugins and some additional comments. Issue the following commands to fetch this file: cd ~/ wget -O ikiwiki.setup http://www.linode.com/docs/assets/656-ikiwiki.setup @@ -184,7 +184,7 @@ You may find yourself wondering why there are so many git repositories for a sin ## Notes for Using Gitosis with Ikiwiki -If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/docs/guides/how-to-configure-git/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing the `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted usersor "6755". See the example [Ikiwiki configuration file](/docs/assets/656-ikiwiki.setup) for details on how to configure this. +If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-configure-git/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing the `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted usersor "6755". See the example [Ikiwiki configuration file](/cloud/assets/656-ikiwiki.setup) for details on how to configure this. The files that needed to be owned by the `gitosis` user are the "destination" directory where Ikiwiki puts its output, the "source directory", and the bare repository. Run the following commands to set this ownership. diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md index 3c7bacd00b6..54ad63fdde6 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/docs/guides/how-to-configure-git/) for version control, and either the [Apache](/docs/web-servers/apache/) or [nginx](/docs/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/web-servers/apache/) or [nginx](/cloud/web-servers/nginx/) web server. ## Basic System Configuration @@ -306,7 +306,7 @@ Add the following excerpt to `~/wiki/.git/config`: {{< /file >}} -Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/docs/assets/692-ikiwiki.setup), and create an initial commit in the `~/wiki` repository: +Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/cloud/assets/692-ikiwiki.setup), and create an initial commit in the `~/wiki` repository: cd ~/wiki cp -R /usr/share/ikiwiki/templates ~/wiki/ diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md index a57bb40b94f..e002ad1a38b 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/docs/guides/how-to-configure-git/) for version control, and either the [Apache](/docs/web-servers/apache/) or [nginx](/docs/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/web-servers/apache/) or [nginx](/cloud/web-servers/nginx/) web server. ## Basic System Configuration @@ -303,7 +303,7 @@ Add the following excerpt to `~/wiki/.git/config`: {{< /file >}} -Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/docs/assets/693-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: +Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/cloud/assets/693-ikiwiki.yaml), and create an initial commit in the `~/wiki` repository: cd ~/wiki cp -R /usr/share/ikiwiki/templates ~/wiki/ diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md index f91b1bcc1b0..3a639aa19bf 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-12-04-precise-pangolin/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/docs/guides/how-to-configure-git/) for version control, and either the [Apache](/docs/web-servers/apache/) or [NGINX](/docs/web-servers/nginx/) web server. +Ikiwiki is a static website content management system. Originally designed as a wiki "engine", the package is built on top of plain text files and standard revision control components. Ikiwiki also contains support for blogging, an advanced template system, and an extensive plugin system and library that provide users with great flexibility and features. The installation procedure outlined in this document will guide you through deploying an ikiwiki site using [git](/cloud/guides/how-to-configure-git/) for version control, and either the [Apache](/cloud/web-servers/apache/) or [NGINX](/cloud/web-servers/nginx/) web server. ## Basic System Configuration @@ -305,7 +305,7 @@ Add the following excerpt to `~/wiki/.git/config`: merge = refs/heads/master {{< /file >}} -Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/docs/assets/657-ikiwiki.setup), and create an initial commit in the `~/wiki` repository: +Issue the following commands to copy the default `basewiki` and `templates` to the `~/wiki` directory, download a [sample ikiwiki configuration file](/cloud/assets/657-ikiwiki.setup), and create an initial commit in the `~/wiki` repository: cd ~/wiki cp -R /usr/share/ikiwiki/templates ~/wiki/ diff --git a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md index a7222c3ee17..7681ea935c9 100644 --- a/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md +++ b/docs/guides/websites/wikis/ikiwiki-on-ubuntu-9-10-karmic/index.md @@ -18,9 +18,9 @@ relations: deprecated: true --- -Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/docs/development/version-control/) system of your choice, though this guide assumes that you use [git](/docs/guides/how-to-configure-git/). +Unlike some other popular wiki engines, Ikiwiki compiles static HTML pages which can be efficiently served with a basic web server. These are generated from a source directory that can be stored in the [version control](/cloud/development/version-control/) system of your choice, though this guide assumes that you use [git](/cloud/guides/how-to-configure-git/). -This guide is written for Ubuntu 9.10 (Karmic), and assumes that you've followed our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/docs/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a working installation of [git](/docs/guides/how-to-configure-git/). +This guide is written for Ubuntu 9.10 (Karmic), and assumes that you've followed our [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) and have a running and updated system. Additionally, it is assume that you have a functioning [Apache web server](/cloud/guides/apache-2-web-server-on-ubuntu-9-10-karmic/) and a working installation of [git](/cloud/guides/how-to-configure-git/). ## Installing Ikiwiki @@ -79,7 +79,7 @@ While the auto-setup script is great for getting up and running in a matter of m ## Manual Ikiwiki Configuration -To help you begin a manual configuration, we've included a full-featured [Ikiwiki configuration file](/docs/assets/655-ikiwiki.setup) for you to review and edit. This provides configuration options for common plugins and some additional comments. Issue the following commands to fetch this file: +To help you begin a manual configuration, we've included a full-featured [Ikiwiki configuration file](/cloud/assets/655-ikiwiki.setup) for you to review and edit. This provides configuration options for common plugins and some additional comments. Issue the following commands to fetch this file: cd ~/ wget -O ikiwiki.setup http://www.linode.com/docs/assets/655-ikiwiki.setup @@ -196,7 +196,7 @@ You may find yourself wondering why there are so many git repositories for a sin ## Notes for Using Gitosis with Ikiwiki -If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/docs/guides/how-to-install-git-on-linux-mac-and-windows/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](/docs/assets/655-ikiwiki.setup) for details on how to configure this. +If you're using `gitosis` to manage the git repositories as described in the [introduction to Git](/cloud/guides/how-to-install-git-on-linux-mac-and-windows/) guide, there are a couple of configuration options for Ikiwiki that you'll need to keep in mind as you're setting things up. As `gitosis` needs to "own" the git repositories it manages, the `gitosis` user ends up executing `post-update` hook and wrappers, and as a result many Ikiwiki files need to be owned by the `gitosis` user. This should not present a concern as Ikiwiki's scripts are designed to be run securely by untrusted users. This means running `ikiwiki.cgi` as mode "6755". See the example [Ikiwiki configuration file](/cloud/assets/655-ikiwiki.setup) for details on how to configure this. The files that needed to be owned by the `gitosis` user are the "destination" directory where Ikiwiki puts its output, the "source directory", and the bare repository. Run the following commands to set this ownership. diff --git a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md index 4bf1082fc90..9629b637531 100644 --- a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md +++ b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1604/index.md @@ -27,7 +27,7 @@ deprecated_link: 'guides/how-to-install-mediawiki-ubuntu-2004/' MediaWiki is a popular, free wiki software package. It's the same software Wikipedia uses. It is fully dynamic and runs on a LAMP stack, taking advantage of the PHP language and the MySQL database backend. With easy installation and configuration, MediaWiki is a good solution when you need a familiar, full-featured, dynamic wiki engine. -This guide assumes that you already have a working [LAMP stack](/docs/guides/install-lamp-stack-on-ubuntu-16-04/) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. +This guide assumes that you already have a working [LAMP stack](/cloud/guides/install-lamp-stack-on-ubuntu-16-04/) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. ## Download and Unpack MediaWiki @@ -73,7 +73,7 @@ From the database section above, you will need: - DB username - DB user's password -Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/docs/guides/standalone-mysql-server/). +Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/cloud/guides/standalone-mysql-server/). After the installation is finished, MediaWiki will create a `LocalSettings.php` file, with the configurations from the installation process. Move the `LocalSettings.php` file to `/var/www/html/example.com/public_html/mediawiki/` and restrict access to the file: diff --git a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md index 89900148ea9..de3bcb46c5c 100644 --- a/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md +++ b/docs/guides/websites/wikis/install-mediawiki-on-ubuntu-1804/index.md @@ -22,7 +22,7 @@ relations: MediaWiki is a popular, free wiki software package. It's the same software Wikipedia uses. It is fully dynamic and runs on a LAMP stack, taking advantage of the PHP language and the MySQL database backend. With easy installation and configuration, MediaWiki is a good solution when you need a familiar, full-featured, dynamic wiki engine. -This guide assumes that you already have a working [LAMP stack](/docs/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. +This guide assumes that you already have a working [LAMP stack](/cloud/guides/how-to-install-a-lamp-stack-on-ubuntu-18-04/) running on Ubuntu. Your web accessible `DocumentRoot` should be located in `/var/www/html/example.com/public_html/`. You should be connected to your server via SSH and logged in as root. ## Download and Unpack MediaWiki @@ -67,7 +67,7 @@ From the database section above, you will need: - DB username - DB user's password -Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/docs/guides/standalone-mysql-server/). +Giving MediaWiki superuser access to your MySQL database allows it to create new accounts. If you plan on having a large number of users or content, consider setting up a second Linode as a [dedicated database server](/cloud/guides/standalone-mysql-server/). After the installation is finished, MediaWiki will create a `LocalSettings.php` file, with the configurations from the installation process. Move the `LocalSettings.php` file to `/var/www/html/example.com/public_html/mediawiki/` and restrict access to the file: diff --git a/docs/guides/websites/wikis/twiki-on-centos-5/index.md b/docs/guides/websites/wikis/twiki-on-centos-5/index.md index afa3a57abd6..4066b8a541c 100644 --- a/docs/guides/websites/wikis/twiki-on-centos-5/index.md +++ b/docs/guides/websites/wikis/twiki-on-centos-5/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-centos-5/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-centos-5/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -135,7 +135,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, issue the following commands to start the web server for the first time and ensure that the server starts following the next reboot cycle: @@ -163,7 +163,7 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache) diff --git a/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md b/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md index 6d85fb93b2c..f1b719da6d1 100644 --- a/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md +++ b/docs/guides/websites/wikis/twiki-on-debian-5-lenny/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache) -- [Exim Send Only MTA](/docs/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) -- [Postfix Mail Gateway MTA](/docs/guides/basic-postfix-email-gateway-on-debian-5-lenny/) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-5-lenny/) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-debian-5-lenny/) diff --git a/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md b/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md index dea2b1bf065..a771ca9424a 100644 --- a/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md +++ b/docs/guides/websites/wikis/twiki-on-debian-6-squeeze/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache) -- [Exim Send Only MTA](/docs/guides/sendonly-mail-server-with-exim-on-debian-6-squeeze/) -- [Postfix Mail Gateway MTA](/docs/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-debian-6-squeeze/) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-debian-6-squeeze/) diff --git a/docs/guides/websites/wikis/twiki-on-fedora-14/index.md b/docs/guides/websites/wikis/twiki-on-fedora-14/index.md index 63e5ae2ba3b..d62f1ae32e8 100644 --- a/docs/guides/websites/wikis/twiki-on-fedora-14/index.md +++ b/docs/guides/websites/wikis/twiki-on-fedora-14/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -135,7 +135,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, issue the following commands to start the web server for the first time and ensure that the server starts following the next reboot cycle: @@ -163,4 +163,4 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache/) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache/) diff --git a/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md b/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md index ef7b5a95c5f..40a8d455dd7 100644 --- a/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md +++ b/docs/guides/websites/wikis/twiki-on-ubuntu-10-04-lucid/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache) -- [Exim Send Only MTA](/docs/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/) -- [Postfix Mail Gateway MTA](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) diff --git a/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md b/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md index 998c515e441..af18d092678 100644 --- a/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md +++ b/docs/guides/websites/wikis/twiki-on-ubuntu-10-10-maverick/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,9 +166,9 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache) -- [Exim Send Only MTA](/docs/guides/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/) -- [Postfix Mail Gateway MTA](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-10-maverick/) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-10-maverick/) diff --git a/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md b/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md index 2ae973c2e09..59b1340539a 100644 --- a/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md +++ b/docs/guides/websites/wikis/twiki-on-ubuntu-12-04-precise-pangolin/index.md @@ -18,7 +18,7 @@ relations: deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. This guide outlines a basic TWiki installation, setup, and configuration process. ## Prepare System and Install TWiki @@ -139,7 +139,7 @@ Before you can proceed with the installation process, you will need to configure {{< /file >}} -Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/docs/guides/rulebased-access-control-for-apache/) document. +Add your local IP address to the `Allow from` directive in the `FilesMatch` block to allow access to the configuration scripts. For more information about access control with Apache, consider the [Rule Based Access Control](/cloud/guides/rulebased-access-control-for-apache/) document. When you've completed these modifications, reload the web server configuration by issuing the following command: @@ -166,6 +166,6 @@ Congratulations! You have successfully installed TWiki. You can now visit your w You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. - [TWiki Project Upstream](http://twiki.org/) -- [Apache HTTP Server Documentation](/docs/web-servers/apache/) -- [Exim Send Only MTA](/docs/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/) -- [Postfix Mail Gateway MTA](/docs/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) +- [Apache HTTP Server Documentation](/cloud/web-servers/apache/) +- [Exim Send Only MTA](/cloud/guides/sendonly-mail-server-with-exim-on-ubuntu-10-04-lts-lucid/) +- [Postfix Mail Gateway MTA](/cloud/guides/basic-postfix-email-gateway-on-ubuntu-10-04-lucid/) diff --git a/docs/guides/websites/wikis/twiki/index.md b/docs/guides/websites/wikis/twiki/index.md index 9936a51b885..c165e510380 100644 --- a/docs/guides/websites/wikis/twiki/index.md +++ b/docs/guides/websites/wikis/twiki/index.md @@ -13,4 +13,4 @@ tags: ["wiki"] deprecated: true --- -TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/docs/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. These guides outline a basic TWiki installation, setup, and configuration process. +TWiki is a robust "structured wiki" roughly comparable to other "Enterprise" wiki solutions such as [Confluence](/cloud/guides/confluence-on-debian-5-lenny/). Structured wikis provide a powerful way to share, store, and work with information in task centric applications. TWiki is a foundation for supporting content-centric workflows including bug and issue tracking, knowledge management, and data entry. Written in Perl and distributed under the terms of the GNU GPL, TWiki is highly extensible and has a robust and active plug-in infrastructure. Because of this flexibility, TWiki straddles the boundary between web application and web application framework. These guides outline a basic TWiki installation, setup, and configuration process. diff --git a/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md b/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md index bf7d4efcecb..eb2bc37eb4f 100644 --- a/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/deploy-marketplace-app-cluster-shortguide/index.md @@ -9,12 +9,12 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' description: 'Quick Deploy App cluster shortguide' --- -Akamai Quick Deploy Apps let you easily deploy an application cluster on Compute Instances using Cloud Manager. See [Get Started with Quick Deploy Apps](/docs/marketplace-docs/get-started/) for complete steps. +Akamai Quick Deploy Apps let you easily deploy an application cluster on Compute Instances using Cloud Manager. See [Get Started with Quick Deploy Apps](/cloud/marketplace-docs/get-started/) for complete steps. 1. Log in to [Cloud Manager](https://cloud.linode.com) and select the **Quick Deploy App** link from the left navigation menu. This displays the Linode **Create** page with the **Marketplace** tab pre-selected. 1. Under the **Select App** section, select the cluster app you would like to deploy. Quick Deploy Apps that are deployed as clusters have a **cluster** label next to the app's name. -1. Complete the form by following the steps and advice within the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. Depending on the Quick Deploy App you selected, there may be additional configuration options available. See the [Configuration Options](#configuration-options) section below for compatible distributions, recommended plans, and any additional configuration options available for this Quick Deploy App. +1. Complete the form by following the steps and advice within the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. Depending on the Quick Deploy App you selected, there may be additional configuration options available. See the [Configuration Options](#configuration-options) section below for compatible distributions, recommended plans, and any additional configuration options available for this Quick Deploy App. 1. Click the **Create Linode** button. Once the first Compute Instance has been provisioned and has fully powered on, **wait for the software installation to complete**. If the instance is powered off or restarted before this time, the other Compute Instances may never be deployed and the software installation will likely fail. \ No newline at end of file diff --git a/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md b/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md index 299ca46ceff..66885711bfe 100644 --- a/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/deploy-marketplace-apps-shortguide/index.md @@ -9,12 +9,12 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' description: 'Quick Deploy App deployment shortguide' --- -Akamai Quick Deploy Apps let you easily deploy software on a Compute Instance using Cloud Manager. See [Get Started with Quick Deploy Apps](/docs/marketplace-docs/get-started/) for complete steps. +Akamai Quick Deploy Apps let you easily deploy software on a Compute Instance using Cloud Manager. See [Get Started with Quick Deploy Apps](/cloud/marketplace-docs/get-started/) for complete steps. 1. Log in to [Cloud Manager](https://cloud.linode.com) and select the **Quick Deploy Apps** link from the left navigation menu. This displays the Linode **Create** page with the **Marketplace** tab pre-selected. 1. Under the **Select App** section, select the app you would like to deploy. -1. Complete the form by following the steps and advice within the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. Depending on the Quick Deploy App you selected, there may be additional configuration options available. See the [Configuration Options](#configuration-options) section below for compatible distributions, recommended plans, and any additional configuration options available for this Quick Deploy App. +1. Complete the form by following the steps and advice within the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. Depending on the Quick Deploy App you selected, there may be additional configuration options available. See the [Configuration Options](#configuration-options) section below for compatible distributions, recommended plans, and any additional configuration options available for this Quick Deploy App. 1. Click the **Create Linode** button. Once the Compute Instance has been provisioned and has fully powered on, **wait for the software installation to complete**. If the instance is powered off or restarted before this time, the software installation will likely fail. \ No newline at end of file diff --git a/docs/marketplace-docs/_shortguides/marketplace-custom-domain-fields-shortguide/index.md b/docs/marketplace-docs/_shortguides/marketplace-custom-domain-fields-shortguide/index.md index b0db5d3812d..a79347e7095 100644 --- a/docs/marketplace-docs/_shortguides/marketplace-custom-domain-fields-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/marketplace-custom-domain-fields-shortguide/index.md @@ -11,8 +11,8 @@ description: 'Quick Deploy App custom domain shortguide' #### Custom Domain (Optional) -If you wish to automatically configure a custom domain, you first need to configure your domain to use Linode's name servers. This is typically accomplished directly through your registrar. See [Use Linode’s Name Servers with Your Domain](/docs/products/networking/dns-manager/guides/authoritative-name-servers/). Once that is finished, you can fill out the following fields for the Quick Deploy App: +If you wish to automatically configure a custom domain, you first need to configure your domain to use Linode's name servers. This is typically accomplished directly through your registrar. See [Use Linode’s Name Servers with Your Domain](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers). Once that is finished, you can fill out the following fields for the Quick Deploy App: -- **Linode API Token:** If you wish to use the Linode's [DNS Manager](/docs/products/networking/dns-manager/) to manage DNS records for your custom domain, create a Linode API *Personal Access Token* on your account with Read/Write access to *Domains*. If this is provided along with the subdomain and domain fields (outlined below), the installation attempts to create DNS records via the Linode API. See [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/). If you do not provide this field, you need to manually configure your DNS records through your DNS provider and point them to the IP address of the new instance. +- **Linode API Token:** If you wish to use the Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to manage DNS records for your custom domain, create a Linode API *Personal Access Token* on your account with Read/Write access to *Domains*. If this is provided along with the subdomain and domain fields (outlined below), the installation attempts to create DNS records via the Linode API. See [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens). If you do not provide this field, you need to manually configure your DNS records through your DNS provider and point them to the IP address of the new instance. - **Subdomain:** The subdomain you wish to use, such as *www* for `www.example.com`. - **Domain:** The domain name you wish to use, such as *example.com*. \ No newline at end of file diff --git a/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md b/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md index 5a771dc6edf..52a28bfdfe9 100644 --- a/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/marketplace-limited-user-fields-shortguide/index.md @@ -15,5 +15,5 @@ You can optionally fill out the following fields to automatically create a limit - **Limited sudo user:** Enter your preferred username for the limited user. - **Password for the limited user:** Enter a *strong* password for the new user. -- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/docs/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. -- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](/docs/products/compute/compute-instances/guides/lish/). \ No newline at end of file +- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. +- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). \ No newline at end of file diff --git a/docs/marketplace-docs/_shortguides/marketplace-required-limited-user-fields-shortguide/index.md b/docs/marketplace-docs/_shortguides/marketplace-required-limited-user-fields-shortguide/index.md index bc3f411fbe5..c13a2ad8c67 100644 --- a/docs/marketplace-docs/_shortguides/marketplace-required-limited-user-fields-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/marketplace-required-limited-user-fields-shortguide/index.md @@ -18,11 +18,11 @@ You need to fill out the following fields to automatically create a limited sudo {{< note type="warning" title="Locating The Generated Sudo Password">}} A password is generated for the limited user and stored in a `.credentials` file in their home directory, along with application specific passwords. This can be viewed by running: `cat /home/$USERNAME/.credentials` - For best results, add an [account SSH key](/docs/products/platform/accounts/guides/manage-ssh-keys/) for the Cloud Manager user that is deploying the instance, and select that user as an `authorized_user` in the API or by selecting that option in Cloud Manager. Their SSH pubkey will be assigned to _both_ root and the limited user. + For best results, add an [account SSH key](https://techdocs.akamai.com/cloud-computing/docs/manage-ssh-keys) for the Cloud Manager user that is deploying the instance, and select that user as an `authorized_user` in the API or by selecting that option in Cloud Manager. Their SSH pubkey will be assigned to _both_ root and the limited user. {{< /note >}} -- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes*. You can still switch to the root user once logged in, and you can also log in as root through [Lish](/docs/products/compute/compute-instances/guides/lish/). +- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes*. You can still switch to the root user once logged in, and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{< note type="warning" title="Accessing The Instance Without SSH">}} - If you disable root access for your deployment and do not provide a valid Account SSH Key assigned to the `authorized_user`, you will need to login as the root user via the [Lish console](/docs/products/compute/compute-instances/guides/lish/) and run `cat /home/$USERNAME/.credentials` to view the generated password for the limited user. + If you disable root access for your deployment and do not provide a valid Account SSH Key assigned to the `authorized_user`, you will need to login as the root user via the [Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and run `cat /home/$USERNAME/.credentials` to view the generated password for the limited user. {{< /note >}} \ No newline at end of file diff --git a/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md b/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md index 4be019c0d68..d6766172668 100644 --- a/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md +++ b/docs/marketplace-docs/_shortguides/marketplace-verify-standard-shortguide/index.md @@ -9,4 +9,4 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' description: 'Quick Deploy Apps verification shortguide' --- -To verify that the app has been fully installed, see [Get Started with Akamai Quick Deploy Apps > Verify Installation](/docs/marketplace-docs/get-started/#verify-installation). Once installed, follow the instructions within the [Getting Started After Deployment](#getting-started-after-deployment) section to access the application and start using it. \ No newline at end of file +To verify that the app has been fully installed, see [Get Started with Akamai Quick Deploy Apps > Verify Installation](/cloud/marketplace-docs/get-started/#verify-installation). Once installed, follow the instructions within the [Getting Started After Deployment](#getting-started-after-deployment) section to access the application and start using it. \ No newline at end of file diff --git a/docs/marketplace-docs/get-started/index.md b/docs/marketplace-docs/get-started/index.md index 1be9a8b5d1d..58204609341 100644 --- a/docs/marketplace-docs/get-started/index.md +++ b/docs/marketplace-docs/get-started/index.md @@ -30,7 +30,7 @@ There are two types of deployments available: single instances and clusters. Mos ![Screenshot of Select App section](marketplace-select-app.png) -1. Complete the form by following the steps and advice within the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. Depending on the Quick Deploy App you selected, there may be additional configuration options available. See the guide that corresponds with your selected App for compatible distributions, recommended plans, and any additional configuration options available. +1. Complete the form by following the steps and advice within the [Creating a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/create-a-compute-instance) guide. Depending on the Quick Deploy App you selected, there may be additional configuration options available. See the guide that corresponds with your selected App for compatible distributions, recommended plans, and any additional configuration options available. 1. Click the **Create Linode** button. Once the Compute Instance has been provisioned and has fully powered on, **wait for the software installation to complete**. If the instance is powered off or restarted before this time, the software installation will likely fail. To verify that the app has been fully installed, see the [Verify Installation](#verify-installation) section below. @@ -42,9 +42,9 @@ Since software for a Quick Deploy App is installed *after* a Linode Compute Inst - **Attempt to access the app:** Each Quick Deploy App has an estimated deployment time range (such as 5-10 minutes). It's recommended that you attempt to access your application after this time has elapsed. If you can successfully access it, the installation has completed successfully. -- **Lish console:** Open the [Lish console](/docs/products/compute/compute-instances/guides/lish/) and follow along with the installation script. Once the *"Installation Complete!"* notice appears, the install is finished. +- **Lish console:** Open the [Lish console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and follow along with the installation script. Once the *"Installation Complete!"* notice appears, the install is finished. -- **Log file:** The same *"Installation Complete!"* notice should also appear at the end of the installation's log file, which you can view by logging in to your instance through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) and running: +- **Log file:** The same *"Installation Complete!"* notice should also appear at the end of the installation's log file, which you can view by logging in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and running: ```command grep -i 'installation complete' /var/log/stackscript.log @@ -54,10 +54,10 @@ Since software for a Quick Deploy App is installed *after* a Linode Compute Inst ## Access the App -Since each Quick Deploy App installs different software with different functions, the instructions for accessing an App can vary greatly. In some cases, the App deploys a webpage or admin panel that's accessible over a web browser. In other cases, you may need to log in to your instance through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) and navigate to the software directory. To learn how to access the App that you deployed, review the guide that corresponds with your Quick Deploy App. +Since each Quick Deploy App installs different software with different functions, the instructions for accessing an App can vary greatly. In some cases, the App deploys a webpage or admin panel that's accessible over a web browser. In other cases, you may need to log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and navigate to the software directory. To learn how to access the App that you deployed, review the guide that corresponds with your Quick Deploy App. ## Add a Custom Domain For websites like WordPress, WooCommerce, and Drupal, it may be desirable to have a domain name associated with your app. Otherwise, your app is only accessible through the instance's IP address or rDNS value. -For information on how to add a domain name to your app, visit our [DNS Manager](/docs/products/networking/dns-manager/) guide. Specifically, you should [set up an *A record*](/docs/products/networking/dns-manager/guides/manage-dns-records/) and assign your IP address to it. For more general information about how DNS works, review the [DNS Records: An Introduction](/docs/guides/dns-overview/) guide. +For information on how to add a domain name to your app, visit our [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide. Specifically, you should [set up an *A record*](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) and assign your IP address to it. For more general information about how DNS works, review the [DNS Records: An Introduction](/cloud/guides/dns-overview/) guide. diff --git a/docs/marketplace-docs/guides/_index.md b/docs/marketplace-docs/guides/_index.md index 7cc648a0344..bae5d629900 100644 --- a/docs/marketplace-docs/guides/_index.md +++ b/docs/marketplace-docs/guides/_index.md @@ -10,106 +10,106 @@ aliases: ['/products/tools/marketplace/guides/','/products/tools/marketplace-one ## Basics -- [Get Started with Akamai Quick Deploy Apps](/docs/marketplace-docs/get-started/): Learn how to deploy and access a Quick Deploy App +- [Get Started with Akamai Quick Deploy Apps](/cloud/marketplace-docs/get-started/): Learn how to deploy and access a Quick Deploy App ## List of Quick Deploy Apps -- [aaPanel](/docs/marketplace-docs/guides/aapanel/) -- [Akaunting](/docs/marketplace-docs/guides/akaunting/) -- [Ant Media Server Enterprise Edition](/docs/marketplace-docs/guides/antmediaenterpriseserver/) -- [Ant Media Server](/docs/marketplace-docs/guides/antmediaserver/) -- [Apache Airflow](/docs/marketplace-docs/guides/apache-airflow/) -- [Apache Cassandra Cluster](/docs/marketplace-docs/guides/apache-cassandra-cluster/) -- [Apache Kafka Cluster](/docs/marketplace-docs/guides/apache-kafka-cluster/) -- [Appwrite](/docs/marketplace-docs/guides/appwrite/) -- [AzuraCast](/docs/marketplace-docs/guides/azuracast/) -- [Backstage](/docs/marketplace-docs/guides/backstage/) -- [BeEF](/docs/marketplace-docs/guides/beef/) -- [Cloudron](/docs/marketplace-docs/guides/cloudron/) -- [ClusterControl](/docs/marketplace-docs/guides/clustercontrol/) -- [Couchbase Cluster](/docs/marketplace-docs/guides/couchbase-cluster/) -- [Counter-Strike Global Offensive](/docs/marketplace-docs/guides/counter-strike-go/) -- [cPanel](/docs/marketplace-docs/guides/cpanel/) -- [CyberPanel](/docs/marketplace-docs/guides/cyberpanel/) -- [Discourse](/docs/marketplace-docs/guides/discourse/) -- [Django](/docs/marketplace-docs/guides/django/) -- [Docker](/docs/marketplace-docs/guides/docker/) -- [Drupal](/docs/marketplace-docs/guides/drupal/) -- [Easypanel](/docs/marketplace-docs/guides/easypanel/) -- [FileCloud](/docs/marketplace-docs/guides/filecloud/) -- [Flask](/docs/marketplace-docs/guides/flask/) -- [Focalboard](/docs/marketplace-docs/guides/focalboard/) -- [Galera Cluster](/docs/marketplace-docs/guides/galera-cluster/) -- [Gitea](/docs/marketplace-docs/guides/gitea/) -- [Gitlab](/docs/marketplace-docs/guides/gitlab/) -- [GlusterFS Cluster](/docs/marketplace-docs/guides/glusterfs-cluster/) -- [Grav](/docs/marketplace-docs/guides/grav/) -- [Guacamole](/docs/marketplace-docs/guides/guacamole/) -- [Haltdos Community WAF](/docs/marketplace-docs/guides/haltdos-community-waf/) -- [Harbor](/docs/marketplace-docs/guides/harbor/) -- [HashiCorp Nomad](/docs/marketplace-docs/guides/hashicorp-nomad/) -- [HashiCorp Vault](/docs/marketplace-docs/guides/hashicorp-vault/) -- [InfluxDB](/docs/marketplace-docs/guides/influxdb/) -- [Jenkins](/docs/marketplace-docs/guides/jenkins/) -- [JetBackup](/docs/marketplace-docs/guides/jetbackup/) -- [Jitsi](/docs/marketplace-docs/guides/jitsi/) -- [Jitsi Cluster](/docs/marketplace-docs/guides/jitsi-cluster/) -- [Joomla](/docs/marketplace-docs/guides/joomla/) -- [Joplin](/docs/marketplace-docs/guides/joplin/) -- [JupyterLab](/docs/marketplace-docs/guides/jupyterlab/) -- [Kali Linux](/docs/marketplace-docs/guides/kali-linux/) -- [LAMP Stack](/docs/marketplace-docs/guides/lamp-stack/) -- [LEMP Stack](/docs/marketplace-docs/guides/lemp-stack/) -- [LinuxGSM](/docs/marketplace-docs/guides/linuxgsm/) -- [LiteSpeed cPanel](/docs/marketplace-docs/guides/litespeed-cpanel/) -- [LiveSwitch](/docs/marketplace-docs/guides/liveswitch/) -- [Mastodon](/docs/marketplace-docs/guides/mastodon/) -- [MEAN Stack](/docs/marketplace-docs/guides/mean-stack/) -- [MERN Stack](/docs/marketplace-docs/guides/mern-stack/) -- [Microweber](/docs/marketplace-docs/guides/microweber/) -- [Minecraft ](/docs/marketplace-docs/guides/minecraft/) -- [Moodle](/docs/marketplace-docs/guides/moodle/) -- [MySQL/MariaDB](/docs/marketplace-docs/guides/mysql/) -- [NATS Single Node](/docs/marketplace-docs/guides/nats-single-node/) -- [Nextcloud](/docs/marketplace-docs/guides/nextcloud/) -- [Node.js](/docs/marketplace-docs/guides/nodejs/) -- [Odoo](/docs/marketplace-docs/guides/odoo/) -- [ONLYOFFICE](/docs/marketplace-docs/guides/onlyoffice/) -- [Openbao](/docs/marketplace-docs/guides/openbao/) -- [OpenLiteSpeed Django](/docs/marketplace-docs/guides/openlitespeed-django/) -- [OpenLiteSpeed Node.js](/docs/marketplace-docs/guides/openlitespeed-nodejs/) -- [OpenLiteSpeed Rails](/docs/marketplace-docs/guides/openlitespeed-rails/) -- [OpenLiteSpeed WordPress](/docs/marketplace-docs/guides/openlitespeed-wordpress/) -- [OpenVPN](/docs/marketplace-docs/guides/openvpn/) -- [Owncast](/docs/marketplace-docs/guides/owncast/) -- [Owncloud Server](/docs/marketplace-docs/guides/owncloud/) -- [Passky](/docs/marketplace-docs/guides/passky/) -- [Passbolt](/docs/marketplace-docs/guides/passbolt/) -- [Peppermint](/docs/marketplace-docs/guides/peppermint/) -- [phpMyAdmin](/docs/marketplace-docs/guides/phpmyadmin/) -- [Pi-hole](/docs/marketplace-docs/guides/pihole/) -- [Plesk](/docs/marketplace-docs/guides/plesk/) -- [Plex Media Server](/docs/marketplace-docs/guides/plex/) -- [PostgreSQL](/docs/marketplace-docs/guides/postgresql/) -- [PostgreSQL Cluster](/docs/marketplace-docs/guides/postgresql-cluster/) -- [Pritunl](/docs/marketplace-docs/guides/pritunl/) -- [Prometheus and Grafana](/docs/marketplace-docs/guides/prometheus-grafana/) -- [RabbitMQ](/docs/marketplace-docs/guides/rabbitmq/) -- [Redis](/docs/marketplace-docs/guides/redis/) -- [Redis Sentinel](/docs/marketplace-docs/guides/redis-cluster/) -- [Rocket.Chat](/docs/marketplace-docs/guides/rocketchat/) -- [Ruby on Rails](/docs/marketplace-docs/guides/ruby-on-rails/) -- [Saltcorn](/docs/marketplace-docs/guides/saltcorn/) -- [Secure Your Server](/docs/marketplace-docs/guides/secure-your-server/) -- [Shadowsocks](/docs/marketplace-docs/guides/shadowsocks/) -- [Splunk](/docs/marketplace-docs/guides/splunk/) -- [Superinsight](/docs/marketplace-docs/guides/superinsight/) -- [Uptime Kuma](/docs/marketplace-docs/guides/uptime-kuma/) -- [Valkey](/docs/marketplace-docs/guides/valkey/) -- [VS Code](/docs/marketplace-docs/guides/vscode/) -- [Wazuh](/docs/marketplace-docs/guides/wazuh/) -- [WireGuard](/docs/marketplace-docs/guides/wireguard/) -- [WooCommerce](/docs/marketplace-docs/guides/woocommerce/) -- [WordPress](/docs/marketplace-docs/guides/wordpress/) -- [Yacht](/docs/marketplace-docs/guides/yacht/) -- [Zabbix](/docs/marketplace-docs/guides/zabbix/) +- [aaPanel](/cloud/marketplace-docs/guides/aapanel/) +- [Akaunting](/cloud/marketplace-docs/guides/akaunting/) +- [Ant Media Server Enterprise Edition](/cloud/marketplace-docs/guides/antmediaenterpriseserver/) +- [Ant Media Server](/cloud/marketplace-docs/guides/antmediaserver/) +- [Apache Airflow](/cloud/marketplace-docs/guides/apache-airflow/) +- [Apache Cassandra Cluster](/cloud/marketplace-docs/guides/apache-cassandra-cluster/) +- [Apache Kafka Cluster](/cloud/marketplace-docs/guides/apache-kafka-cluster/) +- [Appwrite](/cloud/marketplace-docs/guides/appwrite/) +- [AzuraCast](/cloud/marketplace-docs/guides/azuracast/) +- [Backstage](/cloud/marketplace-docs/guides/backstage/) +- [BeEF](/cloud/marketplace-docs/guides/beef/) +- [Cloudron](/cloud/marketplace-docs/guides/cloudron/) +- [ClusterControl](/cloud/marketplace-docs/guides/clustercontrol/) +- [Couchbase Cluster](/cloud/marketplace-docs/guides/couchbase-cluster/) +- [Counter-Strike Global Offensive](/cloud/marketplace-docs/guides/counter-strike-go/) +- [cPanel](/cloud/marketplace-docs/guides/cpanel/) +- [CyberPanel](/cloud/marketplace-docs/guides/cyberpanel/) +- [Discourse](/cloud/marketplace-docs/guides/discourse/) +- [Django](/cloud/marketplace-docs/guides/django/) +- [Docker](/cloud/marketplace-docs/guides/docker/) +- [Drupal](/cloud/marketplace-docs/guides/drupal/) +- [Easypanel](/cloud/marketplace-docs/guides/easypanel/) +- [FileCloud](/cloud/marketplace-docs/guides/filecloud/) +- [Flask](/cloud/marketplace-docs/guides/flask/) +- [Focalboard](/cloud/marketplace-docs/guides/focalboard/) +- [Galera Cluster](/cloud/marketplace-docs/guides/galera-cluster/) +- [Gitea](/cloud/marketplace-docs/guides/gitea/) +- [Gitlab](/cloud/marketplace-docs/guides/gitlab/) +- [GlusterFS Cluster](/cloud/marketplace-docs/guides/glusterfs-cluster/) +- [Grav](/cloud/marketplace-docs/guides/grav/) +- [Guacamole](/cloud/marketplace-docs/guides/guacamole/) +- [Haltdos Community WAF](/cloud/marketplace-docs/guides/haltdos-community-waf/) +- [Harbor](/cloud/marketplace-docs/guides/harbor/) +- [HashiCorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad/) +- [HashiCorp Vault](/cloud/marketplace-docs/guides/hashicorp-vault/) +- [InfluxDB](/cloud/marketplace-docs/guides/influxdb/) +- [Jenkins](/cloud/marketplace-docs/guides/jenkins/) +- [JetBackup](/cloud/marketplace-docs/guides/jetbackup/) +- [Jitsi](/cloud/marketplace-docs/guides/jitsi/) +- [Jitsi Cluster](/cloud/marketplace-docs/guides/jitsi-cluster/) +- [Joomla](/cloud/marketplace-docs/guides/joomla/) +- [Joplin](/cloud/marketplace-docs/guides/joplin/) +- [JupyterLab](/cloud/marketplace-docs/guides/jupyterlab/) +- [Kali Linux](/cloud/marketplace-docs/guides/kali-linux/) +- [LAMP Stack](/cloud/marketplace-docs/guides/lamp-stack/) +- [LEMP Stack](/cloud/marketplace-docs/guides/lemp-stack/) +- [LinuxGSM](/cloud/marketplace-docs/guides/linuxgsm/) +- [LiteSpeed cPanel](/cloud/marketplace-docs/guides/litespeed-cpanel/) +- [LiveSwitch](/cloud/marketplace-docs/guides/liveswitch/) +- [Mastodon](/cloud/marketplace-docs/guides/mastodon/) +- [MEAN Stack](/cloud/marketplace-docs/guides/mean-stack/) +- [MERN Stack](/cloud/marketplace-docs/guides/mern-stack/) +- [Microweber](/cloud/marketplace-docs/guides/microweber/) +- [Minecraft ](/cloud/marketplace-docs/guides/minecraft/) +- [Moodle](/cloud/marketplace-docs/guides/moodle/) +- [MySQL/MariaDB](/cloud/marketplace-docs/guides/mysql/) +- [NATS Single Node](/cloud/marketplace-docs/guides/nats-single-node/) +- [Nextcloud](/cloud/marketplace-docs/guides/nextcloud/) +- [Node.js](/cloud/marketplace-docs/guides/nodejs/) +- [Odoo](/cloud/marketplace-docs/guides/odoo/) +- [ONLYOFFICE](/cloud/marketplace-docs/guides/onlyoffice/) +- [Openbao](/cloud/marketplace-docs/guides/openbao/) +- [OpenLiteSpeed Django](/cloud/marketplace-docs/guides/openlitespeed-django/) +- [OpenLiteSpeed Node.js](/cloud/marketplace-docs/guides/openlitespeed-nodejs/) +- [OpenLiteSpeed Rails](/cloud/marketplace-docs/guides/openlitespeed-rails/) +- [OpenLiteSpeed WordPress](/cloud/marketplace-docs/guides/openlitespeed-wordpress/) +- [OpenVPN](/cloud/marketplace-docs/guides/openvpn/) +- [Owncast](/cloud/marketplace-docs/guides/owncast/) +- [Owncloud Server](/cloud/marketplace-docs/guides/owncloud/) +- [Passky](/cloud/marketplace-docs/guides/passky/) +- [Passbolt](/cloud/marketplace-docs/guides/passbolt/) +- [Peppermint](/cloud/marketplace-docs/guides/peppermint/) +- [phpMyAdmin](/cloud/marketplace-docs/guides/phpmyadmin/) +- [Pi-hole](/cloud/marketplace-docs/guides/pihole/) +- [Plesk](/cloud/marketplace-docs/guides/plesk/) +- [Plex Media Server](/cloud/marketplace-docs/guides/plex/) +- [PostgreSQL](/cloud/marketplace-docs/guides/postgresql/) +- [PostgreSQL Cluster](/cloud/marketplace-docs/guides/postgresql-cluster/) +- [Pritunl](/cloud/marketplace-docs/guides/pritunl/) +- [Prometheus and Grafana](/cloud/marketplace-docs/guides/prometheus-grafana/) +- [RabbitMQ](/cloud/marketplace-docs/guides/rabbitmq/) +- [Redis](/cloud/marketplace-docs/guides/redis/) +- [Redis Sentinel](/cloud/marketplace-docs/guides/redis-cluster/) +- [Rocket.Chat](/cloud/marketplace-docs/guides/rocketchat/) +- [Ruby on Rails](/cloud/marketplace-docs/guides/ruby-on-rails/) +- [Saltcorn](/cloud/marketplace-docs/guides/saltcorn/) +- [Secure Your Server](/cloud/marketplace-docs/guides/secure-your-server/) +- [Shadowsocks](/cloud/marketplace-docs/guides/shadowsocks/) +- [Splunk](/cloud/marketplace-docs/guides/splunk/) +- [Superinsight](/cloud/marketplace-docs/guides/superinsight/) +- [Uptime Kuma](/cloud/marketplace-docs/guides/uptime-kuma/) +- [Valkey](/cloud/marketplace-docs/guides/valkey/) +- [VS Code](/cloud/marketplace-docs/guides/vscode/) +- [Wazuh](/cloud/marketplace-docs/guides/wazuh/) +- [WireGuard](/cloud/marketplace-docs/guides/wireguard/) +- [WooCommerce](/cloud/marketplace-docs/guides/woocommerce/) +- [WordPress](/cloud/marketplace-docs/guides/wordpress/) +- [Yacht](/cloud/marketplace-docs/guides/yacht/) +- [Zabbix](/cloud/marketplace-docs/guides/zabbix/) diff --git a/docs/marketplace-docs/guides/aapanel/index.md b/docs/marketplace-docs/guides/aapanel/index.md index e648bd38ba2..4fce41b6555 100644 --- a/docs/marketplace-docs/guides/aapanel/index.md +++ b/docs/marketplace-docs/guides/aapanel/index.md @@ -51,8 +51,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -66,7 +66,7 @@ This returns passwords that were automatically generated when the instance was d ### Access your aaPanel App -1. Log in to your instance through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). Once you've login via SSH you will see the message of the day (MOTD) which includes the login URL for this instance. +1. Log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). Once you've login via SSH you will see the message of the day (MOTD) which includes the login URL for this instance. 2. Open the URL and enter the login credentials. diff --git a/docs/marketplace-docs/guides/akaunting/index.md b/docs/marketplace-docs/guides/akaunting/index.md index 8dc9d82eb47..d204d8b2e55 100644 --- a/docs/marketplace-docs/guides/akaunting/index.md +++ b/docs/marketplace-docs/guides/akaunting/index.md @@ -51,7 +51,7 @@ It is built with modern technologies (such as Laravel and VueJS) and includes a ### Accessing the Akaunting App -1. Open your web browser and navigate to `http://[ip-address]/`, replacing *[ip-address]* with your Compute Instance's IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing your IP address. +1. Open your web browser and navigate to `http://[ip-address]/`, replacing *[ip-address]* with your Compute Instance's IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing your IP address. 1. The Akaunting login page appears. The username for this instance is the *Admin Email* and the password is the *Admin Password* that you set when you deployed this Quick Deploy App. diff --git a/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md b/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md index 6566a715980..d3cf25e8b9a 100644 --- a/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md +++ b/docs/marketplace-docs/guides/antmediaenterpriseserver/index.md @@ -19,7 +19,7 @@ marketplace_app_name: "Ant Media Server Enterprise Edition" [Ant Media Server](https://antmedia.io/) is an [open source](https://github.com/ant-media/Ant-Media-Server) video streaming platform known for its scalability and low latency. It supports WebRTC live streaming, as well as CMAF and HLS streaming, and can be ingested through RTMP, WebRTC, or HLS. There are two editions of Ant Media Server: Community Edition and Enterprise Edition. This Quick Deploy App installs the Enterprise Edition, which is equipped with more features and enhanced performance. See this [Comparison Chart](https://github.com/ant-media/Ant-Media-Server/wiki#community-edition--enterprise-edition) for details. {{< note >}} -The Enterprise Edition of Ant Media Server requires a valid license to use the software beyond the initial 14 day [free trial](https://antmedia.io/free-trial/) period. To purchase a license, visit [Ant Media's website](https://antmedia.io/#selfhosted) and select a plan that fits your needs. Licenses are not available directly through Linode. Alternatively, you can deploy the free [Ant Media Server Community Edition Quick Deploy App](/docs/marketplace-docs/guides/antmediaserver/). +The Enterprise Edition of Ant Media Server requires a valid license to use the software beyond the initial 14 day [free trial](https://antmedia.io/free-trial/) period. To purchase a license, visit [Ant Media's website](https://antmedia.io/#selfhosted) and select a plan that fits your needs. Licenses are not available directly through Linode. Alternatively, you can deploy the free [Ant Media Server Community Edition Quick Deploy App](/cloud/marketplace-docs/guides/antmediaserver/). {{< /note >}} ## Deploying a Quick Deploy App @@ -55,7 +55,7 @@ The Enterprise Edition of Ant Media Server requires a valid license to use the s The Ant Media Server will deploy with an administrator account preconfigured using the email entered in the `email address` UDF on deployment. The generated password is in the `/home/$USERNAME/.credentials` along with the sudo user password. {{< /note >}} -1. Using [LISH](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. +1. Using [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. ```command cat /home/$USERNAME/.credentials @@ -68,7 +68,7 @@ The Ant Media Server will deploy with an administrator account preconfigured usi Ant Media Server Password: 79KP106i3AxW8YOmaWA7FNVo ``` -1. Open your web browser and navigate to `https://[domain]:5443`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]:5443`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. Use the `Ant Media Server Username` and `Ant Media Server Password` from the `credentials` file to log in to the Ant Media Dashboard. diff --git a/docs/marketplace-docs/guides/antmediaserver/index.md b/docs/marketplace-docs/guides/antmediaserver/index.md index 113e27e41ae..c92b5d5f8df 100644 --- a/docs/marketplace-docs/guides/antmediaserver/index.md +++ b/docs/marketplace-docs/guides/antmediaserver/index.md @@ -31,7 +31,7 @@ The Community Edition is a limited version of Ant Media Server Enterprise Editio - Simulcasting to Periscope - Your Live or VoD streams can play anywhere including mobile(Android, iOS) browsers. -If you need adaptive streaming, cluster, load balancer, and hardware encoding, consider using the [Enterprise Edition](/docs/marketplace-docs/guides/antmediaenterpriseserver/). +If you need adaptive streaming, cluster, load balancer, and hardware encoding, consider using the [Enterprise Edition](/cloud/marketplace-docs/guides/antmediaenterpriseserver/). ## Deploying a Quick Deploy App @@ -66,7 +66,7 @@ If you need adaptive streaming, cluster, load balancer, and hardware encoding, c The Ant Media Server will deploy with an administrator account preconfigured using the email entered in the `email address` UDF on deployment. The generated password can be found in `/home/$USERNAME/.credentials`, along with the sudo user password. {{< /note >}} -1. Using [LISH](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. +1. Using [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) connect to the instance and access the Ant Media Server credentials in the `/home/$USERNAME/.credentials` file. You will find an example of the output below. Keep in mind that $USERNAME will be replaced with your chosen sudo username. ```command cat /home/$USERNAME/.credentials @@ -79,7 +79,7 @@ The Ant Media Server will deploy with an administrator account preconfigured usi Ant Media Server Password: 79KP106i3AxW8YOmaWA7FNVo ``` -1. Open your web browser and navigate to `https://[domain]:5443`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]:5443`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. Use the `Ant Media Server Username` and `Ant Media Server Password` from the `credentials` file to log in to the Ant Media Dashboard. diff --git a/docs/marketplace-docs/guides/apache-airflow/index.md b/docs/marketplace-docs/guides/apache-airflow/index.md index 051e46184c8..f97bd243e28 100644 --- a/docs/marketplace-docs/guides/apache-airflow/index.md +++ b/docs/marketplace-docs/guides/apache-airflow/index.md @@ -47,7 +47,7 @@ To learn more about Airflow and determine if it's the right tool for you, read t ## Getting Started after Deployment -1. Log into your new Compute Instance through [LISH](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) using the root user and the password you entered when creating the instance. +1. Log into your new Compute Instance through [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) using the root user and the password you entered when creating the instance. 1. If you log in on the same day you deployed the app, a message is displayed with a link to your Apache Airflow GUI and the username and password to use. @@ -68,7 +68,7 @@ To learn more about Airflow and determine if it's the right tool for you, read t cat /etc/motd ``` -1. Open your web browser and navigate to the Airflow URL provided in the last step. This should be the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing the rDNS. +1. Open your web browser and navigate to the Airflow URL provided in the last step. This should be the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing the rDNS. 1. Within the Airflow login prompt that appears, enter the credentials provided in a previous step and sign in. @@ -82,7 +82,7 @@ To learn more about Airflow and determine if it's the right tool for you, read t - [Airflow > Tutorials](https://airflow.apache.org/docs/apache-airflow/stable/tutorial/index.html) - [Airflow > How-to Guides](https://airflow.apache.org/docs/apache-airflow/stable/howto/index.html) - - [Create Connections and Variables in Apache Airflow](/docs/guides/apache-airflow-tutorial-creating-connections-and-variables/) + - [Create Connections and Variables in Apache Airflow](/cloud/guides/apache-airflow-tutorial-creating-connections-and-variables/) {{< note type="warning">}} The Akamai Quick Deploy App app deploys Apache Airflow in standalone mode, suitable for development, testing, and initial configurations. Standalone mode is not recommended for [production deployments](https://airflow.apache.org/docs/apache-airflow/stable/production-deployment.html). diff --git a/docs/marketplace-docs/guides/apache-cassandra-cluster/index.md b/docs/marketplace-docs/guides/apache-cassandra-cluster/index.md index 30208d62813..f2f99e9ffc9 100644 --- a/docs/marketplace-docs/guides/apache-cassandra-cluster/index.md +++ b/docs/marketplace-docs/guides/apache-cassandra-cluster/index.md @@ -34,7 +34,7 @@ Create a highly available Apache Cassandra cluster. Apache Cassandra is an open- ### Apache Cassandra Options -- **[Linode API Token](/docs/products/tools/api/guides/manage-api-tokens/#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Apache Cassandra cluster. +- **[Linode API Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Apache Cassandra cluster. {{% content "marketplace-required-limited-user-fields-shortguide" %}} diff --git a/docs/marketplace-docs/guides/apache-kafka-cluster/index.md b/docs/marketplace-docs/guides/apache-kafka-cluster/index.md index 27dabc31136..8eba0be11d3 100644 --- a/docs/marketplace-docs/guides/apache-kafka-cluster/index.md +++ b/docs/marketplace-docs/guides/apache-kafka-cluster/index.md @@ -45,7 +45,7 @@ Our marketplace application allows the deployment of a Kafka cluster using Kafka ### Kafka Options -- **[Linode API Token](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Kafka cluster. +- **[Linode API Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Kafka cluster. {{% content "marketplace-required-limited-user-fields-shortguide" %}} diff --git a/docs/marketplace-docs/guides/apache-spark-cluster/index.md b/docs/marketplace-docs/guides/apache-spark-cluster/index.md index 309ae5f755e..57cd51698b1 100644 --- a/docs/marketplace-docs/guides/apache-spark-cluster/index.md +++ b/docs/marketplace-docs/guides/apache-spark-cluster/index.md @@ -43,7 +43,7 @@ The minimum RAM requirement for the worker nodes is 4GB RAM to ensure that jobs ### Spark Options -- **[Linode API Token](/docs/products/tools/api/guides/manage-api-tokens/#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Spark cluster. +- **[Linode API Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Spark cluster. {{% content "marketplace-required-limited-user-fields-shortguide" %}} diff --git a/docs/marketplace-docs/guides/appwrite/index.md b/docs/marketplace-docs/guides/appwrite/index.md index 14dbcf546e6..6a4ba5bfa14 100644 --- a/docs/marketplace-docs/guides/appwrite/index.md +++ b/docs/marketplace-docs/guides/appwrite/index.md @@ -33,7 +33,7 @@ marketplace_app_name: "Appwrite" ### Accessing the Appwrite Web UI -1. Open your web browser and navigate to `http://[ip-address]`, where *[ip-address]* is your Compute Instance's IPv4 address or default rDNS domain. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses. +1. Open your web browser and navigate to `http://[ip-address]`, where *[ip-address]* is your Compute Instance's IPv4 address or default rDNS domain. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses. 1. In the **Sign in** page that is displayed, click the **Sign Up** link if this is your first time accessing the app. diff --git a/docs/marketplace-docs/guides/arangodb/index.md b/docs/marketplace-docs/guides/arangodb/index.md index 8d17286eb1f..60ab4a65168 100644 --- a/docs/marketplace-docs/guides/arangodb/index.md +++ b/docs/marketplace-docs/guides/arangodb/index.md @@ -47,7 +47,7 @@ marketplace_app_name: "ArangoDB" ### Accessing the ArangoDB Web Interface -1. Open your web browser and navigate to `https://[domain]`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, but this connection is not encrypted. To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. Open your web browser and navigate to `https://[domain]`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, but this connection is not encrypted. To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). ![Screenshot of the ArangoDB login page](arangodb-login.png) diff --git a/docs/marketplace-docs/guides/ark-survival-evolved/index.md b/docs/marketplace-docs/guides/ark-survival-evolved/index.md index 0fc520b758e..5e3f6bec63d 100644 --- a/docs/marketplace-docs/guides/ark-survival-evolved/index.md +++ b/docs/marketplace-docs/guides/ark-survival-evolved/index.md @@ -17,7 +17,7 @@ contributors: ["Akamai"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- {{< note type="warning" title="This app is no longer available for deployment" >}} -ARK: Survival Evolved has been removed from the App Quick Deploy App and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up ARK: Survival Evolved manually on a Compute Instance, see our [Creating a Dedicated ARK Server on Ubuntu](/docs/guides/create-an-ark-server-on-ubuntu) guide. +ARK: Survival Evolved has been removed from the App Quick Deploy App and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up ARK: Survival Evolved manually on a Compute Instance, see our [Creating a Dedicated ARK Server on Ubuntu](/cloud/guides/create-an-ark-server-on-ubuntu) guide. {{< /note >}} [ARK: Survival Evolved](http://playark.com/ark-survival-evolved/) is a multiplayer action-survival game released in 2017. The game places you on a series of fictional islands inhabited by dinosaurs and other prehistoric animals. In ARK, the main objective is to survive. ARK is an ongoing battle where animals and other players have the ability to destroy you. To survive, you must build structures, farm resources, breed dinosaurs, and even set up trading hubs with neighboring tribes. diff --git a/docs/marketplace-docs/guides/azuracast/index.md b/docs/marketplace-docs/guides/azuracast/index.md index ac61a5699bf..135c22e3f1c 100644 --- a/docs/marketplace-docs/guides/azuracast/index.md +++ b/docs/marketplace-docs/guides/azuracast/index.md @@ -51,7 +51,7 @@ marketplace_app_name: "AzuraCast" Once you install AzuraCast: -1. Open your web browser and navigate to `http://[domain]/admin`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). To learn more about viewing IP addresses and rDNS, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. Open your web browser and navigate to `http://[domain]/admin`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). To learn more about viewing IP addresses and rDNS, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). 1. Log in with your *Super Administrator* credentials. This account has system-wide permissions and was set up during the installation when you entered your Administrator Email Address. @@ -61,7 +61,7 @@ Once you install AzuraCast: !["AzuraCast Create Station"](azuracast-create-station.png "AzuraCast Create Station") -1. Configure station's settings including the use of a custom URL, if you have one set up. To learn more about using a custom URL with Linode DNS, see [DNS Manager](/docs/products/networking/dns-manager/). Click **Save Changes**. +1. Configure station's settings including the use of a custom URL, if you have one set up. To learn more about using a custom URL with Linode DNS, see [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). Click **Save Changes**. Your station is now ready and you can start broadcasting. To manage the created station, click **Manage Stations** in the **Dashboard** section. This opens the *Station Dashboard* that you can use to control your station, add songs, add DJs, take requests, and more. diff --git a/docs/marketplace-docs/guides/beef/index.md b/docs/marketplace-docs/guides/beef/index.md index c485e1440bf..fc3b813d73e 100644 --- a/docs/marketplace-docs/guides/beef/index.md +++ b/docs/marketplace-docs/guides/beef/index.md @@ -48,14 +48,14 @@ marketplace_app_name: "BeEF" 1. Once the app has been *fully* deployed, view the BeEF completion message through one of the methods below: - - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. See [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. + - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. ```command cat /home/$USERNAME/.credentials ``` -1. Open your web browser and navigate to `https://[domain]:3000/ui/panel`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]:3000/ui/panel`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ![Screenshot of the BeEF login prompt](beef-login-prompt.png) diff --git a/docs/marketplace-docs/guides/clustercontrol/index.md b/docs/marketplace-docs/guides/clustercontrol/index.md index dc6214a7aaa..54dce497824 100644 --- a/docs/marketplace-docs/guides/clustercontrol/index.md +++ b/docs/marketplace-docs/guides/clustercontrol/index.md @@ -53,7 +53,7 @@ ClusterControl offers both free and paid plans. Visit [Severalnines' website](ht ### Access your ClusterControl App -To access your ClusterControl instance, Open a browser and navigate to the domain you created during in the beginning of your deployment or your Linode rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. Replace `https://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). +To access your ClusterControl instance, Open a browser and navigate to the domain you created during in the beginning of your deployment or your Linode rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. Replace `https://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). From there you will see the welcome screen where you can enter the requested information to setup your ClusterControl instance: diff --git a/docs/marketplace-docs/guides/couchbase-cluster/index.md b/docs/marketplace-docs/guides/couchbase-cluster/index.md index 868fbfbb234..d717c4f5901 100644 --- a/docs/marketplace-docs/guides/couchbase-cluster/index.md +++ b/docs/marketplace-docs/guides/couchbase-cluster/index.md @@ -67,7 +67,7 @@ Deploying the Couchbase Enterprise Server One-Click Cluster on a plan with less ### Accessing the Couchbase Server -Access Couchbase's web UI by launching your preferred web browser and navigating to either the reverse DNS address of the *cluster provisioner*. This is the instance labeled `couchbase-occ-1-$region-$uuid`. Refer to the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for instructions on how to find your instance's IP addresses and rDNS information. +Access Couchbase's web UI by launching your preferred web browser and navigating to either the reverse DNS address of the *cluster provisioner*. This is the instance labeled `couchbase-occ-1-$region-$uuid`. Refer to the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for instructions on how to find your instance's IP addresses and rDNS information. To access the Dashboard, use the username "Administrator" along with the generated password located in `/home/$sudo_username/.credentials`. @@ -83,7 +83,7 @@ The Couchbase Cluster deploys with preconfigured UFW firewall rules. These rules Only the *cluster provisioner* has firewall access configured for web and client ports. -The Couchbase Enterprise Server Cluster Quick Deploy App manages these UFW configurations with `application profile` files in the `/etc/ufw/appplications.d` directory. See [Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) for more details on using UFW. +The Couchbase Enterprise Server Cluster Quick Deploy App manages these UFW configurations with `application profile` files in the `/etc/ufw/appplications.d` directory. See [Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) for more details on using UFW. ## Next Steps diff --git a/docs/marketplace-docs/guides/cpanel/index.md b/docs/marketplace-docs/guides/cpanel/index.md index 46220cb0566..d25cde3bad7 100644 --- a/docs/marketplace-docs/guides/cpanel/index.md +++ b/docs/marketplace-docs/guides/cpanel/index.md @@ -42,7 +42,7 @@ cPanel requires a valid license to use the software beyond the initial 15 day [f WHM is the core interface for managing your server and all websites (also called "accounts"). -1. Open your web browser and navigate to `http://[ip-address]:2087/`, where *[ip-address]* can be replaced with your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `http://[ip-address]:2087/`, where *[ip-address]* can be replaced with your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. The WHM login page should appear. Enter `root` as the username and use the root password you created when deploying this instance. Then click the **Log In** button. @@ -54,7 +54,7 @@ WHM is the core interface for managing your server and all websites (also called 1. On the same page, you must also enter in the nameservers for this server. Nameservers are the underlying servers of the DNS system that map domain names to IP addresses. Managing DNS through cPanel lets you quickly add sites, configure subdomains, set up email, and more without needing to manually update DNS records. For this step, make sure you have a registered domain name. - 1. Within the nameservers for your domain name, create two [*A records*](/docs/guides/dns-overview/#a-and-aaaa). The *hostname* / *name* field should be *ns1* (for the first record) and *ns2* (for the second). The IP address should be the IPv4 address of your new Compute Instance. If you do not have a nameserver for your registered domain, consider using Linode's [DNS Manager](/docs/products/networking/dns-manager/). + 1. Within the nameservers for your domain name, create two [*A records*](/cloud/guides/dns-overview/#a-and-aaaa). The *hostname* / *name* field should be *ns1* (for the first record) and *ns2* (for the second). The IP address should be the IPv4 address of your new Compute Instance. If you do not have a nameserver for your registered domain, consider using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). 1. Within the cPanel form, enter the following values into the nameserver fields. Replace *example.com* with the domain name you are using. diff --git a/docs/marketplace-docs/guides/cribl/index.md b/docs/marketplace-docs/guides/cribl/index.md index 429cfd685ef..31b3c7b4538 100644 --- a/docs/marketplace-docs/guides/cribl/index.md +++ b/docs/marketplace-docs/guides/cribl/index.md @@ -46,8 +46,8 @@ Once the app is deployed, you need to obtain the credentials from the server. To 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the contents of the credentials file: @@ -61,7 +61,7 @@ This returns the admin password and other details that were automatically genera Once you've obtained the credentials, you can access your Cribl instance and open a browser and navigate to your Linode domain entered during deployment or the rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. -1. In a browser, paste your instance's rDNS domain. Replace `{{< placeholder "https://203-0-113-0.ip.linodeusercontent.com" >}}` with your [Linode's actual rDNS domain](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). +1. In a browser, paste your instance's rDNS domain. Replace `{{< placeholder "https://203-0-113-0.ip.linodeusercontent.com" >}}` with your [Linode's actual rDNS domain](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). 2. Log in with the admin username (`admin`) and the password in the credentials file. diff --git a/docs/marketplace-docs/guides/cyberpanel/index.md b/docs/marketplace-docs/guides/cyberpanel/index.md index cba6c50b3f0..0e91224f41c 100644 --- a/docs/marketplace-docs/guides/cyberpanel/index.md +++ b/docs/marketplace-docs/guides/cyberpanel/index.md @@ -39,7 +39,7 @@ marketplace_app_name: "CyberPanel" ### Access your CyberPanel App -1. When the installation completes, log in to your Linode via SSH, replacing `192.0.2.1` with your [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/), and entering your Linode's root password when prompted: +1. When the installation completes, log in to your Linode via SSH, replacing `192.0.2.1` with your [Linode's IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance), and entering your Linode's root password when prompted: ```command ssh root@192.0.2.1 diff --git a/docs/marketplace-docs/guides/deepseek/index.md b/docs/marketplace-docs/guides/deepseek/index.md index 450f7776203..117c7ffe219 100644 --- a/docs/marketplace-docs/guides/deepseek/index.md +++ b/docs/marketplace-docs/guides/deepseek/index.md @@ -44,7 +44,7 @@ This Quick Deploy App only works with Akamai GPU instances. If you choose a plan ### DeepSeek R1 Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Email address (for the Let's Encrypt SSL certificate)** *(required)*: Your email is used for Let's Encrypt renewal notices. This allows you to visit Open WebUI securely through a browser. diff --git a/docs/marketplace-docs/guides/discourse/index.md b/docs/marketplace-docs/guides/discourse/index.md index d9a67fe76f9..a2c6b436dc5 100644 --- a/docs/marketplace-docs/guides/discourse/index.md +++ b/docs/marketplace-docs/guides/discourse/index.md @@ -25,9 +25,9 @@ Discourse requires that you have a domain name and access to a personal SMTP ema - If you don't already have your domain hosted at Linode, the install creates A and AAAA domain records for you. - - This means you need a Linode API token. If you don't have a token, you must [create one](/docs/products/tools/api/get-started/#get-an-access-token) before continuing. + - This means you need a Linode API token. If you don't have a token, you must [create one](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) before continuing. - - Ensure that your domain registrar is [using Linode's name servers](/docs/products/networking/dns-manager/guides/authoritative-name-servers/). + - Ensure that your domain registrar is [using Linode's name servers](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers). - Additionally, the SMTP user must be able to send email from `noreply@your-domain.com` for administrator account verification. @@ -61,7 +61,7 @@ Discourse requires that you have a domain name and access to a personal SMTP ema Discourse requires that you have a domain name and SMTP email. These fields are required for a successful installation and are marked *Required*. Additionally, the SMTP user must be able to send email from `noreply@your-fully-qualified-domain.com` for account verification. -- **Linode API Token:** If you wish to use the Linode's [DNS Manager](/docs/products/networking/dns-manager/) to manage DNS records for your custom domain, create a Linode API *Personal Access Token* on your account with Read/Write access to *Domains*. If this is provided along with the subdomain and domain fields (outlined below), the installation attempts to create DNS records via the Linode API. See [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/). If you do not provide this field, you need to manually configure your DNS records through your DNS provider and point them to the IP address of the new instance. +- **Linode API Token:** If you wish to use the Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) to manage DNS records for your custom domain, create a Linode API *Personal Access Token* on your account with Read/Write access to *Domains*. If this is provided along with the subdomain and domain fields (outlined below), the installation attempts to create DNS records via the Linode API. See [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens). If you do not provide this field, you need to manually configure your DNS records through your DNS provider and point them to the IP address of the new instance. - **Subdomain:** The subdomain you wish to use, such as *www* for `www.example.com`. - **Domain:** The domain name you wish to use, such as *example.com*. @@ -75,10 +75,10 @@ Discourse is now installed and ready to use. 1. Your A and AAAA Domain records for the domain and subdomain, if you designated one, have been created and you should see them in Cloud Manager. - - In Cloud Manager's [DNS Manager](/docs/products/networking/dns-manager/guides/create-domain/), confirm that there are now an entries for your domain and possible subdomain. - - [Configure rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) on your Linode to point to `subdomain.your-domain.com` or `your-domain.com` if you did not enter a subdomain. + - In Cloud Manager's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain), confirm that there are now an entries for your domain and possible subdomain. + - [Configure rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) on your Linode to point to `subdomain.your-domain.com` or `your-domain.com` if you did not enter a subdomain. -1. While the installation has created the A and AAAA domain records, it does not create the email records you need. In Cloud Manager DNS Manager, [add the MX, TXT, and any other records](/docs/products/networking/dns-manager/guides/manage-dns-records/) required to send email as specified by your email provider. +1. While the installation has created the A and AAAA domain records, it does not create the email records you need. In Cloud Manager DNS Manager, [add the MX, TXT, and any other records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) required to send email as specified by your email provider. 1. You can now navigate to the Discourse app in your browser with the fully qualified domain name you entered during configuration, `https://subdomain.your-domain.com` or `https://your-domain.com`. @@ -116,12 +116,12 @@ The Discourse Quick Deploy App installs the following software on your Linode: If you did not get a confirmation email during setup it could be caused by several issues. ### Check DNS Records -Ensure that you have correctly setup the [email DNS records](/docs/products/networking/dns-manager/guides/manage-dns-records/) required to send email as specified from your email provider. The Installer does not do this for you as every email host has different required records and values. +Ensure that you have correctly setup the [email DNS records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) required to send email as specified from your email provider. The Installer does not do this for you as every email host has different required records and values. ### Change the Confirmation Email Sender Discourse sends this email from `noreply@subdomain.your-domain.com`. The SMTP user you entered during setup must have permissions to send from this address. If this is not the case, and you did not receive the email, you can change this address in a configuration file. -1. [Connect to your Quick Deploy App's Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). +1. [Connect to your Quick Deploy App's Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). 1. Change into the directory `/var/discourse/containers/`: diff --git a/docs/marketplace-docs/guides/django/index.md b/docs/marketplace-docs/guides/django/index.md index c1697866d5f..8ccaf8d8f9b 100644 --- a/docs/marketplace-docs/guides/django/index.md +++ b/docs/marketplace-docs/guides/django/index.md @@ -53,7 +53,7 @@ marketplace_app_name: "Django" The Django Quick Deploy App will assign `django_sample` as the [Django project name](https://docs.djangoproject.com/en/5.0/intro/tutorial01/#creating-a-project) at `/var/www/django_app/django_sample/`. {{< /note >}} -1. Open your web browser and navigate to `https://[domain]`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ![View your Django site's test page.](django-test-page.png "View your Django site's test page") diff --git a/docs/marketplace-docs/guides/docker/index.md b/docs/marketplace-docs/guides/docker/index.md index e4353b35fb2..814a97a4c3a 100644 --- a/docs/marketplace-docs/guides/docker/index.md +++ b/docs/marketplace-docs/guides/docker/index.md @@ -7,7 +7,7 @@ keywords: ['docker','marketplace', 'container'] tags: ["container","cloud-manager","linode platform","docker","quick deploy apps"] image: Docker_oneclickapps.png external_resources: - - '[Docker Commands Cheat Sheet](/docs/guides/docker-commands-quick-reference-cheat-sheet/)' + - '[Docker Commands Cheat Sheet](/cloud/guides/docker-commands-quick-reference-cheat-sheet/)' - '[Docker Documentation](https://docs.docker.com/)' - '[Play with Docker](https://training.play-with-docker.com/)' - '[Docker Hub](https://www.docker.com/products/docker-hub)' @@ -53,7 +53,7 @@ Docker is now installed and ready to use. The following steps provide a sample a After Docker has finished installing, you can access Docker from your terminal and deploy a sample application or any application that you intend on running. -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) using the limited user account you may have created during deployment. If you do not yet have one, login as the `root` user and [create a limited user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) using the limited user account you may have created during deployment. If you do not yet have one, login as the `root` user and [create a limited user account](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#add-a-limited-user-account). 1. Locate the application or sample application you wish to deploy. @@ -63,15 +63,15 @@ After Docker has finished installing, you can access Docker from your terminal a 1. Learn how to use Docker by running through the [Docker for Beginners](https://github.com/docker/labs/tree/master/beginner/) lab or by reading the documentation below: - - [An Introduction to Docker](/docs/guides/introduction-to-docker/) - - [How to Deploy an nginx Container with Docker on Linode](/docs/guides/how-to-deploy-an-nginx-container-with-docker/) - - [Docker Commands Quick Reference Cheat Sheet](/docs/guides/docker-commands-quick-reference-cheat-sheet/) - - [How to Use Docker Files](/docs/guides/how-to-use-dockerfiles/) - - [How to Use Docker Compose](/docs/guides/how-to-use-docker-compose/) - - [How to Connect Docker Containers](/docs/guides/docker-container-communication/) - - [How to Create a Docker Swarm Manager and Nodes on a Linode](/docs/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/) - - [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/docs/guides/deploy-container-image-to-kubernetes/) - - [Manage a Docker Cluster with Kubernetes](/docs/guides/manage-a-docker-cluster-with-kubernetes/) + - [An Introduction to Docker](/cloud/guides/introduction-to-docker/) + - [How to Deploy an nginx Container with Docker on Linode](/cloud/guides/how-to-deploy-an-nginx-container-with-docker/) + - [Docker Commands Quick Reference Cheat Sheet](/cloud/guides/docker-commands-quick-reference-cheat-sheet/) + - [How to Use Docker Files](/cloud/guides/how-to-use-dockerfiles/) + - [How to Use Docker Compose](/cloud/guides/how-to-use-docker-compose/) + - [How to Connect Docker Containers](/cloud/guides/docker-container-communication/) + - [How to Create a Docker Swarm Manager and Nodes on a Linode](/cloud/guides/how-to-create-a-docker-swarm-manager-and-nodes-on-linode/) + - [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes/) + - [Manage a Docker Cluster with Kubernetes](/cloud/guides/manage-a-docker-cluster-with-kubernetes/) {{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/marketplace-docs/guides/drupal/index.md b/docs/marketplace-docs/guides/drupal/index.md index e49608e7f3a..baa4b1a49ec 100644 --- a/docs/marketplace-docs/guides/drupal/index.md +++ b/docs/marketplace-docs/guides/drupal/index.md @@ -56,8 +56,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -73,7 +73,7 @@ This returns passwords that were automatically generated when the instance was d To access your Drupal site: -1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't provide a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make sure to use the `https` prefix in the URL to access the website securely. +1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't provide a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Make sure to use the `https` prefix in the URL to access the website securely. ## Software Included diff --git a/docs/marketplace-docs/guides/easypanel/index.md b/docs/marketplace-docs/guides/easypanel/index.md index 439d819f132..f14686bf2e5 100644 --- a/docs/marketplace-docs/guides/easypanel/index.md +++ b/docs/marketplace-docs/guides/easypanel/index.md @@ -31,7 +31,7 @@ marketplace_app_name: "Easypanel" ## Getting Started after Deployment -1. Open your web browser and navigate to `https://[ip-address]:3000` where *[ip-address]* can be replaced with your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses. The connection uses the `https` protocol with a self-signed certificate. Your browser will likely display a message stating that the connection is not private or that there is a potential security risk. You can safely continue past this message. In most browsers, click **Advanced** and then **Proceed** or **Accept risk**. +1. Open your web browser and navigate to `https://[ip-address]:3000` where *[ip-address]* can be replaced with your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses. The connection uses the `https` protocol with a self-signed certificate. Your browser will likely display a message stating that the connection is not private or that there is a potential security risk. You can safely continue past this message. In most browsers, click **Advanced** and then **Proceed** or **Accept risk**. 1. In the setup screen, enter your preferred username, password, email address. You can also enter your Github token now or you can leave that field blank to enter it at a later time. Click **Setup** once finished. diff --git a/docs/marketplace-docs/guides/elk-cluster/index.md b/docs/marketplace-docs/guides/elk-cluster/index.md index 4205d484b8b..d2f0f793b3e 100644 --- a/docs/marketplace-docs/guides/elk-cluster/index.md +++ b/docs/marketplace-docs/guides/elk-cluster/index.md @@ -38,7 +38,7 @@ Your cluster should be fully installed within 5-10 minutes with a cluster of 5 n ### Elastic Stack Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Email address (for the Let's Encrypt SSL certificate)** *(required)*: Your email is used for Let's Encrypt renewal notices. A valid SSL certificate is validated through certbot and installed on the Kibana instance in the cluster. This allows you to visit Kibana securely through a browser. diff --git a/docs/marketplace-docs/guides/filecloud/index.md b/docs/marketplace-docs/guides/filecloud/index.md index 5762dad69cf..94134dfadcd 100644 --- a/docs/marketplace-docs/guides/filecloud/index.md +++ b/docs/marketplace-docs/guides/filecloud/index.md @@ -48,7 +48,7 @@ FileCloud will no longer be providing new distribution images on the Akamai Clou ## Getting Started after Deployment -1. Open your web browser and navigate to `https://[domain]/admin`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]/admin`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. In the login fields that appear,the default username is *admin*, and the password can be found in the credentials file located in /home/$USERNAME/.credentials. diff --git a/docs/marketplace-docs/guides/flask/index.md b/docs/marketplace-docs/guides/flask/index.md index 5722cba839a..c88dd6a25e2 100644 --- a/docs/marketplace-docs/guides/flask/index.md +++ b/docs/marketplace-docs/guides/flask/index.md @@ -52,8 +52,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -67,7 +67,7 @@ This returns passwords that were automatically generated when the instance was d To get started: -1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make sure to use the `https` prefix in the URL to access the website securely. +1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Make sure to use the `https` prefix in the URL to access the website securely. 1. The deployment ships with a sample application, but you can review the flask app and it's components below: @@ -79,13 +79,13 @@ To get started: In addition to installing Flask, this Quick Deploy App app installs and configures software to support running Flask in a production environment. Below is a list of the installed software: -- The [NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) web server is installed with a basic NGINX configuration, located in `/etc/nginx/sites-enabled/$DOMAIN`. The $DOMAIN will be the domain entered during deployment or the default rDNS address that comes with each instance. +- The [NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) web server is installed with a basic NGINX configuration, located in `/etc/nginx/sites-enabled/$DOMAIN`. The $DOMAIN will be the domain entered during deployment or the default rDNS address that comes with each instance. - An sample Flask application is downloaded to your Linode's `/var/www/flask_project` directory. - [Gunicorn](https://gunicorn.org/), a Python WSGI (web server gateway interface) HTTP Server for UNIX, is installed and running. It is used to forward requests from your NGINX web server to your Flask application. {{< note >}} -Many configuration files can be overwritten to support a new configuration instead of deleted outright. For more information on the default configuration, see our [Flask Installation Guide](/docs/guides/flask-and-gunicorn-on-ubuntu/) and the [Installed Software Section](/docs/marketplace-docs/guides/flask/#installed-software) of this guide. +Many configuration files can be overwritten to support a new configuration instead of deleted outright. For more information on the default configuration, see our [Flask Installation Guide](/cloud/guides/flask-and-gunicorn-on-ubuntu/) and the [Installed Software Section](/cloud/marketplace-docs/guides/flask/#installed-software) of this guide. {{< /note >}} ### Next Steps @@ -94,7 +94,7 @@ Many configuration files can be overwritten to support a new configuration inste Now that you are familiar with all the software installed on your Linode with the Flask Quick Deploy App app, you can explore the following steps: -- [Connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). You will need your Linode's root password to proceed. You can explore the installed programs and update any configurations as needed. Consider following the steps in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to continue hardening your Linode's security. -- Read through our [Deploy a Flask Application on Ubuntu](/docs/guides/flask-and-gunicorn-on-ubuntu/) guide, which takes a deeper dive into the example Flask app that is deployed by the Quick Deploy App app. -- Visit our [Create a GIS Application using Flask, Stadia Maps, and MongoDB](/docs/guides/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/) guide to learn how to create your own GIS application. -- Consult our [How To Create an OAuth App with the Linode Python API Library](/docs/guides/create-an-oauth-app-with-the-python-api-library/) to learn how to develop a Flask app using Linode's API to automate creating Linode resources. +- [Connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). You will need your Linode's root password to proceed. You can explore the installed programs and update any configurations as needed. Consider following the steps in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide to continue hardening your Linode's security. +- Read through our [Deploy a Flask Application on Ubuntu](/cloud/guides/flask-and-gunicorn-on-ubuntu/) guide, which takes a deeper dive into the example Flask app that is deployed by the Quick Deploy App app. +- Visit our [Create a GIS Application using Flask, Stadia Maps, and MongoDB](/cloud/guides/how-to-create-a-gis-app-using-flask-stadia-maps-and-mongodb/) guide to learn how to create your own GIS application. +- Consult our [How To Create an OAuth App with the Linode Python API Library](/cloud/guides/create-an-oauth-app-with-the-python-api-library/) to learn how to develop a Flask app using Linode's API to automate creating Linode resources. diff --git a/docs/marketplace-docs/guides/focalboard/index.md b/docs/marketplace-docs/guides/focalboard/index.md index d0b17d1ec84..428d36ab6e3 100644 --- a/docs/marketplace-docs/guides/focalboard/index.md +++ b/docs/marketplace-docs/guides/focalboard/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Focalboard" ### Accessing the Focalboard App -1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. ![Screenshot of the URL bar](focalboard-url.png) diff --git a/docs/marketplace-docs/guides/galera-cluster/index.md b/docs/marketplace-docs/guides/galera-cluster/index.md index f76bfc7d3a1..4362f6ee79d 100644 --- a/docs/marketplace-docs/guides/galera-cluster/index.md +++ b/docs/marketplace-docs/guides/galera-cluster/index.md @@ -20,7 +20,7 @@ marketplace_app_name: "Galera Cluster" Galera provides a performant MariaDB database solution with synchronous replication to achieve high availability. Galera is deployed with MariaDB, which is an open-source database management system that uses a relational database and SQL (Structured Query Language) to manage its data. MariaDB was originally based off of MySQL and maintains backward compatibility. {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} -This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant MariaDB Galera cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy MariaDB on a single Compute Instance, see [Deploy MySQL/MariaDB](/docs/marketplace-docs/guides/mysql/). +This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant MariaDB Galera cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy MariaDB on a single Compute Instance, see [Deploy MySQL/MariaDB](/cloud/marketplace-docs/guides/mysql/). {{< /note >}} ## Deploying a Quick Deploy App @@ -42,7 +42,7 @@ This Quick Deploy App deploys 3 Compute Instances to create a highly available a - **Cluster Name** *(required)*: Enter the name you wish to use for this cluster deployment. -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Add SSH Keys to all nodes** *(required)*: If you select *yes*, any SSH Keys that are added to the root user account (in the **SSH Keys** section), are also added to your limited user account on all deployed Compute Instances. @@ -174,4 +174,4 @@ The standard tool for interacting with MariaDB is the `mysql` client which insta For more on MySQL/MariaDB, checkout the following guides: -- [MariaDB Clusters with Galera](/docs/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) +- [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) diff --git a/docs/marketplace-docs/guides/gemma3/index.md b/docs/marketplace-docs/guides/gemma3/index.md index 69dea6f1788..65e293dbd38 100644 --- a/docs/marketplace-docs/guides/gemma3/index.md +++ b/docs/marketplace-docs/guides/gemma3/index.md @@ -64,7 +64,7 @@ Before deployment, you need a Hugging Face API token to access the Gemma 3 model Your Open WebUI admin credentials are stored in a `.credentials` file on your instance. To retrieve them: -1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance, or use the [Lish Console](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance, or use the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Once logged in, retrieve your credentials from the `.credentials` file: diff --git a/docs/marketplace-docs/guides/gitea/index.md b/docs/marketplace-docs/guides/gitea/index.md index 2b2d0b77995..555efbd386a 100644 --- a/docs/marketplace-docs/guides/gitea/index.md +++ b/docs/marketplace-docs/guides/gitea/index.md @@ -62,7 +62,7 @@ The Gitea Quick Deploy App installs the following software on your Compute Insta |:--------------|:------------| | [**Gitea**](https://gitea.io/) | Open source remote Git repository software. [v1.13.0](https://github.com/go-gitea/gitea/releases/tag/v1.13.0) | | [**PostgreSQL**](https://www.postgresql.org/) | Open source object-relational database system. | -| [**NGINX**](https://www.nginx.com/) | Open source web server. Used as a reverse proxy by this app. See our guide on [Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) for more information. | -| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Compute Instance for use with this app. See our guide on [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) for instructions. | +| [**NGINX**](https://www.nginx.com/) | Open source web server. Used as a reverse proxy by this app. See our guide on [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) for more information. | +| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Compute Instance for use with this app. See our guide on [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/) for instructions. | {{% content "marketplace-update-note-shortguide" %}} diff --git a/docs/marketplace-docs/guides/gitlab/index.md b/docs/marketplace-docs/guides/gitlab/index.md index 1055bc97d83..c6160502a60 100644 --- a/docs/marketplace-docs/guides/gitlab/index.md +++ b/docs/marketplace-docs/guides/gitlab/index.md @@ -53,8 +53,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -68,7 +68,7 @@ This returns passwords that were automatically generated when the instance was d Once your new Compute Instance has been fully deployed, follow the instructions below to access your new Gitlab app. -1. Log in to your Gitlab site by opening a web browser and entering either your Compute Instance's default rDNS domain or your domain name (if you entered one during deployment). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing and setting the rDNS value. +1. Log in to your Gitlab site by opening a web browser and entering either your Compute Instance's default rDNS domain or your domain name (if you entered one during deployment). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing and setting the rDNS value. On the login screen, enter the following credentials: diff --git a/docs/marketplace-docs/guides/glusterfs-cluster/index.md b/docs/marketplace-docs/guides/glusterfs-cluster/index.md index 186a917b4d9..46b57a0fb2b 100644 --- a/docs/marketplace-docs/guides/glusterfs-cluster/index.md +++ b/docs/marketplace-docs/guides/glusterfs-cluster/index.md @@ -38,7 +38,7 @@ marketplace_app_name: "GlusterFS Cluster" ### GlusterFS Options -- **[Linode API Token](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token):** The provisioner node will use an authenticated API token to create the additional components to the cluster. This is required to fully create the GlusterFS cluster. +- **[Linode API Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens#create-an-api-token):** The provisioner node will use an authenticated API token to create the additional components to the cluster. This is required to fully create the GlusterFS cluster. {{% content "marketplace-required-limited-user-fields-shortguide" %}} diff --git a/docs/marketplace-docs/guides/gpt-oss-with-openwebui/index.md b/docs/marketplace-docs/guides/gpt-oss-with-openwebui/index.md index 6cf20c7c4d2..667e9354aba 100644 --- a/docs/marketplace-docs/guides/gpt-oss-with-openwebui/index.md +++ b/docs/marketplace-docs/guides/gpt-oss-with-openwebui/index.md @@ -42,7 +42,7 @@ This Quick Deploy App only works with Akamai GPU instances. If you choose a plan ### GPT-OSS Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Email address (for the Let's Encrypt SSL certificate)** *(required)*: Your email is used for Let's Encrypt renewal notices. This allows you to visit Open WebUI securely through a browser. diff --git a/docs/marketplace-docs/guides/grav/index.md b/docs/marketplace-docs/guides/grav/index.md index 436e07bae15..3aacc06880d 100644 --- a/docs/marketplace-docs/guides/grav/index.md +++ b/docs/marketplace-docs/guides/grav/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Grav" ### Accessing the Grav Admin Panel -1. Open your web browser and navigate to `http://[domain]/admin`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though your connection will not be encrypted. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `http://[domain]/admin`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though your connection will not be encrypted. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ![Screenshot of the URL bar with the Grav URL](grav-url.png) diff --git a/docs/marketplace-docs/guides/guacamole/index.md b/docs/marketplace-docs/guides/guacamole/index.md index 23b0a65b418..81c74d4e836 100644 --- a/docs/marketplace-docs/guides/guacamole/index.md +++ b/docs/marketplace-docs/guides/guacamole/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Apache Guacamole" ### Accessing the Guacamole Web Interface -1. Open your web browser and navigate to `https://[domain]`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. Open your web browser and navigate to `https://[domain]`, where *[domain]* is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). 2. You should see the Apache Guacamole login page. Log in using the default credentials: - **Username:** `guacadmin` diff --git a/docs/marketplace-docs/guides/haltdos-community-waf/index.md b/docs/marketplace-docs/guides/haltdos-community-waf/index.md index c066e519a24..01bf0c27300 100644 --- a/docs/marketplace-docs/guides/haltdos-community-waf/index.md +++ b/docs/marketplace-docs/guides/haltdos-community-waf/index.md @@ -35,7 +35,7 @@ marketplace_app_name: "Haltdos Community WAF" ### Accessing Haltdos Community WAF -1. Open your web browser and navigate to `https://[ip-address]:9000/`, where *[ip-address]* can be replaced with your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[ip-address]:9000/`, where *[ip-address]* can be replaced with your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. {{< note type="warning" >}} Haltdos uses a self-signed TLS/SSL certificate. It is likely that your web browser will display a security warning. You need to accept this risk and bypass the warning to continue. diff --git a/docs/marketplace-docs/guides/harbor/index.md b/docs/marketplace-docs/guides/harbor/index.md index 5beaa816f6f..8031eeec948 100644 --- a/docs/marketplace-docs/guides/harbor/index.md +++ b/docs/marketplace-docs/guides/harbor/index.md @@ -17,7 +17,7 @@ marketplace_app_name: "Harbor" [Harbor](https://goharbor.io/) is an open source container registry platform, cloud-native content storage, and signing/scanning tool. Harbor enhances the open source Docker distribution by providing features like security, identification, and management. The image transfer efficiency can be improved by having a registry closer to the build and run environment. Harbor includes comprehensive security features like user administration, access control, and activity auditing, as well as image replication between registries. -Harbor is an excellent compliment to the [Linode Kubernetes Engine (LKE)](/docs/products/compute/kubernetes/). However, you cannot install Harbor on an existing or new LKE clusters. +Harbor is an excellent compliment to the [Linode Kubernetes Engine (LKE)](https://techdocs.akamai.com/cloud-computing/docs/linode-kubernetes-engine). However, you cannot install Harbor on an existing or new LKE clusters. ## Deploying a Quick Deploy App @@ -48,12 +48,12 @@ Harbor is an excellent compliment to the [Linode Kubernetes Engine (LKE)](/docs/ ### Accessing the Harbor App -1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. 1. To locate your Harbor login credentials, view the Harbor credentials file through one of the methods below: - - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. See [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. + - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH:** Log in to your Compute Instance over SSH using the `root` user and run the following command. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md b/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md index 8044b34b633..21fc290a55d 100644 --- a/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md +++ b/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/index.md @@ -13,10 +13,10 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' The [HashiCorp Nomad](https://www.nomadproject.io/) Clients Cluster deploys 3, 5 or 7 Compute Instances as clients to horizontally scale an *existing HashiCorp Nomad Cluster*. The plan type and size you select is applied to each individual instance. -See our guide on deploying a [HashiCorp Nomad Cluster](/docs/marketplace-docs/guides/hashicorp-nomad-cluster/) if you have not already deployed a cluster. +See our guide on deploying a [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) if you have not already deployed a cluster. {{< note >}} -Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy HashiCorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/docs/marketplace-docs/guides/hashicorp-nomad/). +Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy HashiCorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad/). {{< /note >}} ## Deploying a Quick Deploy App @@ -39,13 +39,13 @@ Please be aware that each Compute Instance will appear on your invoice as a sepa ### Nomad Client Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Limited sudo user** *(required)*: A limited user account with sudo access is created as part of this cluster deployment. Enter your preferred username for this limited user. The password is automatically created. -- **consul_nomad_autojoin_token generated by Nomad Server OCC** *(required)*: This token is generated by the [HashiCorp Nomad Cluster](/docs/marketplace-docs/guides/hashicorp-nomad-cluster/) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster. +- **consul_nomad_autojoin_token generated by Nomad Server OCC** *(required)*: This token is generated by the [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster. -- **cluster_uuid** *(required)*: This is the tag applied to the [HashiCorp Nomad Cluster](/docs/marketplace-docs/guides/hashicorp-nomad-cluster/) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster or in Cloud Manager. +- **cluster_uuid** *(required)*: This is the tag applied to the [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) deployment and can be found in the `~/.deployment_secrets.txt` file created in your original cluster or in Cloud Manager. - **Add Account SSH Keys to All Nodes?** If you select *yes*, any SSH Keys that are added to the root user account (in the **SSH Keys** section), are also added to your limited user account on all deployed Compute Instances. @@ -59,6 +59,6 @@ After deployment, you can confirm your clients have been successfully added to y ![Screenshot of Nomad Web UI Clients tab](NomadClientsTab.jpg) -Please see [HashiCorp Nomad Cluster](/docs/marketplace-docs/guides/hashicorp-nomad-cluster/) for information on accessing the Nomad Web UI and managing your cluster. +Please see [HashiCorp Nomad Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-cluster/) for information on accessing the Nomad Web UI and managing your cluster. {{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md b/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md index c78b1d3ae14..3611c857917 100644 --- a/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md +++ b/docs/marketplace-docs/guides/hashicorp-nomad-cluster/index.md @@ -18,7 +18,7 @@ marketplace_app_name: "HashiCorp Nomad Cluster" {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} This Quick Deploy App deploys 6 Compute Instances to create a highly available, redundant Hashicorp Nomad Cluster. The plan type and size you select is applied to each individual instance. -Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy Hashicorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/docs/marketplace-docs/guides/hashicorp-nomad/). +Please be aware that each Compute Instance will appear on your invoice as a separate item. If you would rather deploy Hashicorp Nomad on a single Compute Instance, see [Deploy Hashicorp Nomad](/cloud/marketplace-docs/guides/hashicorp-nomad/). {{< /note >}} ## Deploying a Quick Deploy App @@ -40,7 +40,7 @@ Please be aware that each Compute Instance will appear on your invoice as a sepa ### Nomad Cluster Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Limited sudo user** *(required)*: A limited user account with sudo access is created as part of this cluster deployment. Enter your preferred username for this limited user. The sudo password is automatically created and stored in the `~/.deployment_secrets.txt` file. See [Accessing the Nomad Web UI](#accessing-the-nomad-web-ui) below. @@ -75,7 +75,7 @@ Please be aware that each Compute Instance will appear on your invoice as a sepa ``` In this file, there are multiple generated tokens, as well as your limited sudo user password. These tokens are used for authenticating to the Nomad Web UI, adding Nomad clients to the cluster, managing jobs, and managing the Consul service mesh. Save the contents of this file somewhere secure as you will need the tokens later. -1. Open your web browser and navigate to `http://[rDNS]`, where `[rDNS]` is the reverse DNS address of your Compute Instance labeled `server-1`. See our [How to Configure rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) guide for more information about viewing and editing rDNS. +1. Open your web browser and navigate to `http://[rDNS]`, where `[rDNS]` is the reverse DNS address of your Compute Instance labeled `server-1`. See our [How to Configure rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) guide for more information about viewing and editing rDNS. 1. The [Nomad Web UI](https://learn.hashicorp.com/collections/nomad/web-ui) should be displayed with a link to enter a token. Click the token link, and enter the `nomad_user_token` from the `~/.deployment-secrets.txt` file (see above) to authenticate to the UI. @@ -96,6 +96,6 @@ Please be aware that each Compute Instance will appear on your invoice as a sepa The HashiCorp Nomad Cluster provides default configurations to get you started. We recommend reviewing HashiCorp's [Configuration](https://www.nomadproject.io/docs/configuration) and [Job Spec](https://www.nomadproject.io/docs/job-specification) documentation to customize your Nomad Cluster for your specific workload. -If you find that you need additional Clients for your Nomad Cluster, the [Nomad Clients Cluster](/docs/marketplace-docs/guides/hashicorp-nomad-clients-cluster/) deployment lets you scale horizontally by deploying 3, 5, or 7 additional Compute Instances as Clients. +If you find that you need additional Clients for your Nomad Cluster, the [Nomad Clients Cluster](/cloud/marketplace-docs/guides/hashicorp-nomad-clients-cluster/) deployment lets you scale horizontally by deploying 3, 5, or 7 additional Compute Instances as Clients. {{% content "marketplace-update-note-shortguide" %}} diff --git a/docs/marketplace-docs/guides/hashicorp-nomad/index.md b/docs/marketplace-docs/guides/hashicorp-nomad/index.md index 0a2d6f7b58f..35cb52bc460 100644 --- a/docs/marketplace-docs/guides/hashicorp-nomad/index.md +++ b/docs/marketplace-docs/guides/hashicorp-nomad/index.md @@ -37,7 +37,7 @@ marketplace_app_name: "HashiCorp Nomad" ### Accessing the Nomad Web UI -1. Open your web browser and navigate to `http://[ip-address]:8080`, where *[ip-address]* is your Compute Instance's IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses. +1. Open your web browser and navigate to `http://[ip-address]:8080`, where *[ip-address]* is your Compute Instance's IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses. 1. The [Nomad Web UI](https://learn.hashicorp.com/collections/nomad/web-ui) is displayed. From here, you can manage the cluster, jobs, integrations, and ACL tokens. diff --git a/docs/marketplace-docs/guides/hashicorp-vault/index.md b/docs/marketplace-docs/guides/hashicorp-vault/index.md index 15e9399a2d1..4c682cddfe1 100644 --- a/docs/marketplace-docs/guides/hashicorp-vault/index.md +++ b/docs/marketplace-docs/guides/hashicorp-vault/index.md @@ -41,7 +41,7 @@ The data within Vault is protected by a series of encryption keys. The first lay Follow the instructions below to view the unseal key and root token. -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) using the root user credentials you created during deployment. +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) using the root user credentials you created during deployment. 1. Run the following command to display all five portions of the unseal key. These portions can be used together to decrypt the root key and unseal Vault. @@ -63,7 +63,7 @@ Follow the instructions below to view the unseal key and root token. ### Accessing the Vault Web UI -1. Open your web browser and navigate to `http://[ip-address]:8200`, where *[ip-address]* is your Compute Instance's IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses. +1. Open your web browser and navigate to `http://[ip-address]:8200`, where *[ip-address]* is your Compute Instance's IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses. 1. To access the Vault instance, three of the unseal keys must be entered along with the root token. diff --git a/docs/marketplace-docs/guides/influxdb/index.md b/docs/marketplace-docs/guides/influxdb/index.md index 07deaf7a7fd..266bcd33ee4 100644 --- a/docs/marketplace-docs/guides/influxdb/index.md +++ b/docs/marketplace-docs/guides/influxdb/index.md @@ -46,7 +46,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ### Accessing the InfluxDB Server -1. Access InfluxDB's welcome page by launching your preferred web browser and navigating to either the custom domain designated during deployment or your Linode's rDNS domain, such as `192-0-2-17.ip.linodeusercontent.com`. If you need assistance in finding your Linode's IP addresses and rDNS information, refer to the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for detailed instructions. +1. Access InfluxDB's welcome page by launching your preferred web browser and navigating to either the custom domain designated during deployment or your Linode's rDNS domain, such as `192-0-2-17.ip.linodeusercontent.com`. If you need assistance in finding your Linode's IP addresses and rDNS information, refer to the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for detailed instructions. ![Screenshot of InfluxDB login page](influxdb_login.jpg) diff --git a/docs/marketplace-docs/guides/jaeger/index.md b/docs/marketplace-docs/guides/jaeger/index.md index daf10a2aa14..f38da4203b1 100644 --- a/docs/marketplace-docs/guides/jaeger/index.md +++ b/docs/marketplace-docs/guides/jaeger/index.md @@ -47,7 +47,7 @@ marketplace_app_name: "Jaeger" ### Accessing the Jaeger Web Interface -1. Open your web browser and navigate to `https://{{< placeholder "DOMAIN" >}}`, where `{{< placeholder "DOMAIN" >}}` is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, but this connection is not encrypted. To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. Open your web browser and navigate to `https://{{< placeholder "DOMAIN" >}}`, where `{{< placeholder "DOMAIN" >}}` is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, but this connection is not encrypted. To learn more about viewing IP addresses and rDNS, see the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). 2. Use the following credentials to log in: - **Username**: Enter the administrator username you configured during deployment. The default is `jaegeradmin`. diff --git a/docs/marketplace-docs/guides/jenkins/index.md b/docs/marketplace-docs/guides/jenkins/index.md index c00b8f453c1..3b8f108eaa7 100644 --- a/docs/marketplace-docs/guides/jenkins/index.md +++ b/docs/marketplace-docs/guides/jenkins/index.md @@ -50,7 +50,7 @@ After deploying your Jenkins instance, log in and continue the configuration. ### Access Your Jenkins Instance -1. [Connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) using `root` or the `sudo user` created during deployment if you added Account SSH Keys. +1. [Connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) using `root` or the `sudo user` created during deployment if you added Account SSH Keys. 1. Retrieve your Jenkins admin password from the `/home/$SUDO_USER/.credentials` file. diff --git a/docs/marketplace-docs/guides/jetbackup/index.md b/docs/marketplace-docs/guides/jetbackup/index.md index d90a46d557f..50e1ce53f86 100644 --- a/docs/marketplace-docs/guides/jetbackup/index.md +++ b/docs/marketplace-docs/guides/jetbackup/index.md @@ -51,7 +51,7 @@ To access JetBackup 5 in cPanel/WHM after installation, navigate to WHM Home > P #### Standalone App -To access your JetBackup instance, Open a browser and navigate to your Linode rDNS domain `http://203-0-113-0.ip.linodeusercontent.com:3035/`. Replace `http://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). This will bring you to a login page, where you can use the root credentials to the server to enter the JetBackup dashboard. +To access your JetBackup instance, Open a browser and navigate to your Linode rDNS domain `http://203-0-113-0.ip.linodeusercontent.com:3035/`. Replace `http://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). This will bring you to a login page, where you can use the root credentials to the server to enter the JetBackup dashboard. Now that you’ve accessed your dashboard, checkout [the official JetBackup documentation](https://docs.jetbackup.com/v5.1/adminpanel/gettingStarted.html#gettingstarted) to learn how to further configure your instance. diff --git a/docs/marketplace-docs/guides/jitsi-cluster/index.md b/docs/marketplace-docs/guides/jitsi-cluster/index.md index 86bdb147480..75aa4e9de5f 100644 --- a/docs/marketplace-docs/guides/jitsi-cluster/index.md +++ b/docs/marketplace-docs/guides/jitsi-cluster/index.md @@ -52,8 +52,8 @@ Jitsi is now installed and ready to use. 1. Before you go to your app, if you filled out the optional Jitsi configuration fields: - - In Cloud Manager's [DNS Manager](/docs/products/networking/dns-manager/guides/create-domain/) there is now an entry for your domain with two `A/AAAA` records pointing to your new server. One for the domain name and one for the hostname. - - [Configure the rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) on your Linode. + - In Cloud Manager's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) there is now an entry for your domain with two `A/AAAA` records pointing to your new server. One for the domain name and one for the hostname. + - [Configure the rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) on your Linode. 1. If you didn't setup a domain, navigate to the rDNS address of the Linode in your browser. You can find the rDNS address in the **Networking** tab for your Linode in [Cloud Manager](https://cloud.linode.com). If you did setup a domain, navigate to the address as described in the [Jitsi Options](#jitsi-options) section above. diff --git a/docs/marketplace-docs/guides/jitsi/index.md b/docs/marketplace-docs/guides/jitsi/index.md index cb72d413df4..6c3a6bf0cef 100644 --- a/docs/marketplace-docs/guides/jitsi/index.md +++ b/docs/marketplace-docs/guides/jitsi/index.md @@ -50,8 +50,8 @@ Jitsi is now installed and ready to use. 1. Before you go to your app, if you filled out the optional Jitsi configuration fields: - - In Cloud Manager's [DNS Manager](/docs/products/networking/dns-manager/guides/create-domain/) there is now an entry for your domain with two `A/AAAA` records pointing to your new server. One for the domain name and one for the hostname. - - [Configure the rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) on your Linode. + - In Cloud Manager's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) there is now an entry for your domain with two `A/AAAA` records pointing to your new server. One for the domain name and one for the hostname. + - [Configure the rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) on your Linode. 1. If you didn't setup a domain, navigate to the rDNS address of the Linode in your browser. You can find the rDNS address in the **Networking** tab for your Linode in [Cloud Manager](https://cloud.linode.com). If you did setup a domain, navigate to the address as described in the [Jitsi Options](#jitsi-options) section above. diff --git a/docs/marketplace-docs/guides/joomla/index.md b/docs/marketplace-docs/guides/joomla/index.md index a522309f9d8..236d83f5cef 100644 --- a/docs/marketplace-docs/guides/joomla/index.md +++ b/docs/marketplace-docs/guides/joomla/index.md @@ -14,7 +14,7 @@ marketplace_app_id: 985372 marketplace_app_name: "Joomla" --- -[Joomla](https://www.joomla.org/) is an advanced CMS (content management system) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](https://www.drupal.org/) and [WordPress](https://wordpress.org/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](https://rubyonrails.org/) and [Django](https://www.djangoproject.com/). Deployed on top of the industry standard [LAMP Stack](/docs/web-servers/lamp/), Joomla is designed to be both easy to use and manage from the end user's perspective and easy to administer and host. +[Joomla](https://www.joomla.org/) is an advanced CMS (content management system) used to facilitate the easy creation and ongoing maintenance of dynamic websites. Comparable in some respects to other web applications like [Drupal](https://www.drupal.org/) and [WordPress](https://wordpress.org/), Joomla also has advanced features that resemble web-development frameworks like [Ruby On Rails](https://rubyonrails.org/) and [Django](https://www.djangoproject.com/). Deployed on top of the industry standard [LAMP Stack](/cloud/web-servers/lamp/), Joomla is designed to be both easy to use and manage from the end user's perspective and easy to administer and host. ## Deploying a Quick Deploy App @@ -47,7 +47,7 @@ marketplace_app_name: "Joomla" ### Accessing the Joomla Site -1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though your connection will not be encrypted. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though your connection will not be encrypted. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ### Setting Up Joomla diff --git a/docs/marketplace-docs/guides/joplin/index.md b/docs/marketplace-docs/guides/joplin/index.md index 3d421d186c2..32576b383cf 100644 --- a/docs/marketplace-docs/guides/joplin/index.md +++ b/docs/marketplace-docs/guides/joplin/index.md @@ -47,7 +47,7 @@ marketplace_app_name: "Joplin" The Joplin server dashboard lets you manage your account, add other users, and perform various administration tasks. Before using your new Joplin instance to take notes, you should first log in to the admin dashboard and update your profile using the instructions below. -1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though your connection will not be encrypted. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though your connection will not be encrypted. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. In the login prompt that appears, enter `admin@localhost` as the **Email** and `admin` as the **Password**. Click **Login** to continue. diff --git a/docs/marketplace-docs/guides/jupyterlab/index.md b/docs/marketplace-docs/guides/jupyterlab/index.md index 9c012982bb0..71135f942d3 100644 --- a/docs/marketplace-docs/guides/jupyterlab/index.md +++ b/docs/marketplace-docs/guides/jupyterlab/index.md @@ -46,11 +46,11 @@ marketplace_app_name: "JupyterLab" ## Accessing the Jupyter Server -Launch your web browser and navigate to the custom domain you set during deployment or the reverse DNS (rDNS) domain associated with your Compute Instance (e.g., 192-0-2-1.ip.linodeusercontent.com). This will direct you to the Jupyter Server login page, where you'll need to enter a token or password. For guidance on locating your Linode's IP addresses and rDNS information, consult the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide. +Launch your web browser and navigate to the custom domain you set during deployment or the reverse DNS (rDNS) domain associated with your Compute Instance (e.g., 192-0-2-1.ip.linodeusercontent.com). This will direct you to the Jupyter Server login page, where you'll need to enter a token or password. For guidance on locating your Linode's IP addresses and rDNS information, consult the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide. ## Obtaining the Jupyter Token -By default, Jupyter issues a token for authentication. The Jupyter access token was automatically generated during the initial install process and is stored in the `/home/$USERNAME/.credentials` file. To view the default token, log in to your Compute Instance either through the [LISH Console](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish) or via SSH, and check the contents of the file: +By default, Jupyter issues a token for authentication. The Jupyter access token was automatically generated during the initial install process and is stored in the `/home/$USERNAME/.credentials` file. To view the default token, log in to your Compute Instance either through the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish) or via SSH, and check the contents of the file: ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/kali-linux/index.md b/docs/marketplace-docs/guides/kali-linux/index.md index d1a76ab7f16..e7c0369a458 100644 --- a/docs/marketplace-docs/guides/kali-linux/index.md +++ b/docs/marketplace-docs/guides/kali-linux/index.md @@ -69,7 +69,7 @@ To access your Kali Linux desktop through a VNC client: There are many options for macOS and Windows, but this guide uses [RealVNC Viewer](https://www.realvnc.com/en/connect/download/viewer/). {{< /note >}} -1. From your desktop, create an SSH tunnel to your Compute Instance with the command below replacing `{{< placeholder "USERNAME" >}}` with the VNC username you created and `[ip]` with the IPv4 address of your Compute Instance. To learn more on viewing IP addresses, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). +1. From your desktop, create an SSH tunnel to your Compute Instance with the command below replacing `{{< placeholder "USERNAME" >}}` with the VNC username you created and `[ip]` with the IPv4 address of your Compute Instance. To learn more on viewing IP addresses, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). ```output ssh -L 61000:localhost:5901 -N -l {{< placeholder "USERNAME" >}} [ip] diff --git a/docs/marketplace-docs/guides/lamp-stack/index.md b/docs/marketplace-docs/guides/lamp-stack/index.md index bc70ca2b7d0..8e92232926f 100644 --- a/docs/marketplace-docs/guides/lamp-stack/index.md +++ b/docs/marketplace-docs/guides/lamp-stack/index.md @@ -52,19 +52,19 @@ A LAMP (Linux, [Apache](https://www.apache.org), [MySQL](https://www.mysql.com), After your LAMP stack has finished deploying, you can: -- [Connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). You will need your Linode's root password to proceed. Note that your Linode's web root will be located in the `/var/www/html` directory. +- [Connect to your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). You will need your Linode's root password to proceed. Note that your Linode's web root will be located in the `/var/www/html` directory. -- [Navigate to the public IP address or domain entered during creation](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) of your Linode in a browser. You will see the default Apache webpage. +- [Navigate to the public IP address or domain entered during creation](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of your Linode in a browser. You will see the default Apache webpage. - Consult the following guides to learn more about working with the various components of the LAMP stack: - - [Secure HTTP Traffic with Certbot](/docs/guides/secure-http-traffic-certbot/) - - [Apache Configuration Basics](/docs/guides/apache-configuration-basics/) - - [How to Optimize MySQL Performance Using MySQLTuner](/docs/guides/how-to-optimize-mysql-performance-using-mysqltuner/) + - [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot/) + - [Apache Configuration Basics](/cloud/guides/apache-configuration-basics/) + - [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/) -- Upload files to your web root directory with an SFTP application like [FileZilla](/docs/guides/filezilla/). Use the same root credentials that you would use for SSH. +- Upload files to your web root directory with an SFTP application like [FileZilla](/cloud/guides/filezilla/). Use the same root credentials that you would use for SSH. -- Assign a domain name to your Linode's IP address. Review the [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/docs/guides/dns-overview/) for general information about how DNS works. +- Assign a domain name to your Linode's IP address. Review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. ## Software Included diff --git a/docs/marketplace-docs/guides/lemp-stack/index.md b/docs/marketplace-docs/guides/lemp-stack/index.md index b245cc63ece..3d24cccb793 100644 --- a/docs/marketplace-docs/guides/lemp-stack/index.md +++ b/docs/marketplace-docs/guides/lemp-stack/index.md @@ -16,7 +16,7 @@ marketplace_app_id: 606691 marketplace_app_name: "LEMP" --- -The LEMP stack (Linux, [NGINX](https://www.nginx.com/), [MySQL](https://www.mysql.com/), [PHP](https://www.php.net/)) is a popular, free, and open-source web software bundle used for hosting websites on the Linux operating system. While similar to the [LAMP Stack](/docs/marketplace-docs/guides/lamp-stack/), a LEMP stack uses the NGINX web server instead of [Apache](https://httpd.apache.org/). NGINX is preferred by many users for a variety of reasons, including its flexibility, speed, and ability to perform under high load. +The LEMP stack (Linux, [NGINX](https://www.nginx.com/), [MySQL](https://www.mysql.com/), [PHP](https://www.php.net/)) is a popular, free, and open-source web software bundle used for hosting websites on the Linux operating system. While similar to the [LAMP Stack](/cloud/marketplace-docs/guides/lamp-stack/), a LEMP stack uses the NGINX web server instead of [Apache](https://httpd.apache.org/). NGINX is preferred by many users for a variety of reasons, including its flexibility, speed, and ability to perform under high load. ## Deploying a Quick Deploy App @@ -51,17 +51,17 @@ The LEMP stack (Linux, [NGINX](https://www.nginx.com/), [MySQL](https://www.mysq After your LEMP stack has finished deploying, you can view it and upload your own files using one of the methods below: -- Log in to your new Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) using either the `root` user or limited user and the associated password you entered when creating the instance. Your application's web files are located in the `/var/www/html` directory. +- Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using either the `root` user or limited user and the associated password you entered when creating the instance. Your application's web files are located in the `/var/www/html` directory. -- Navigate to the domain entered during the creation of the Linode instance. If you did not enter a domain, you can also use your Compute Instance's rDNS, which may look like `123-0-123-0.ip.linodeusercontent.com`. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing and setting the rDNS value. +- Navigate to the domain entered during the creation of the Linode instance. If you did not enter a domain, you can also use your Compute Instance's rDNS, which may look like `123-0-123-0.ip.linodeusercontent.com`. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing and setting the rDNS value. - Consult the following guides to learn more about working with the various components of the LEMP stack: - - [Secure HTTP Traffic with Certbot](/docs/guides/secure-http-traffic-certbot/) - - [How to Configure NGINX](/docs/guides/how-to-configure-nginx/) - - [How to Optimize MySQL Performance Using MySQLTuner](/docs/guides/how-to-optimize-mysql-performance-using-mysqltuner/) + - [Secure HTTP Traffic with Certbot](/cloud/guides/secure-http-traffic-certbot/) + - [How to Configure NGINX](/cloud/guides/how-to-configure-nginx/) + - [How to Optimize MySQL Performance Using MySQLTuner](/cloud/guides/how-to-optimize-mysql-performance-using-mysqltuner/) -- Upload files to your web root directory with an SFTP application like [FileZilla](/docs/guides/filezilla/). Use the same root credentials that you would use for SSH. +- Upload files to your web root directory with an SFTP application like [FileZilla](/cloud/guides/filezilla/). Use the same root credentials that you would use for SSH. ## Software Included diff --git a/docs/marketplace-docs/guides/linuxgsm/index.md b/docs/marketplace-docs/guides/linuxgsm/index.md index 2ee5f5bebcc..875bddaaa1a 100644 --- a/docs/marketplace-docs/guides/linuxgsm/index.md +++ b/docs/marketplace-docs/guides/linuxgsm/index.md @@ -47,7 +47,7 @@ marketplace_app_name: "LinuxGSM" ### Obtaining the Admin Password -The password for the sudo user account was automatically generated during the initial install process. To find this password, log in to your Compute Instance through the [LISH Console](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish), or with SSH if you provided an [Account Key](/docs/products/platform/accounts/guides/manage-ssh-keys/). The credentials are available in the file `/home/$USERNAME/.credentials`: +The password for the sudo user account was automatically generated during the initial install process. To find this password, log in to your Compute Instance through the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish), or with SSH if you provided an [Account Key](https://techdocs.akamai.com/cloud-computing/docs/manage-ssh-keys). The credentials are available in the file `/home/$USERNAME/.credentials`: ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/litespeed-cpanel/index.md b/docs/marketplace-docs/guides/litespeed-cpanel/index.md index ed86eb5e1fc..8389ff38c64 100644 --- a/docs/marketplace-docs/guides/litespeed-cpanel/index.md +++ b/docs/marketplace-docs/guides/litespeed-cpanel/index.md @@ -46,7 +46,7 @@ LiteSpeed offers both free and paid plans. Visit [LiteSpeed's website](https://w ## Verify Installation -To determine if the installation has completed successfully, log in to your instance through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) and run: +To determine if the installation has completed successfully, log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) and run: ```command tail -3 /var/log/stackscript.log @@ -64,7 +64,7 @@ Please make sure to save this password. ### Accessing WHM/cPanel -1. Open your web browser and navigate to `http://[ip-address]:2087`, replacing *[ip-address]* with your Compute Instance's IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing your IP address. +1. Open your web browser and navigate to `http://[ip-address]:2087`, replacing *[ip-address]* with your Compute Instance's IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing your IP address. 1. The WHM login page appears. Enter `root` as the username and the root password you created when deploying your instance. Click the **Log In** button to continue. @@ -82,7 +82,7 @@ Please make sure to save this password. 1. In the next screen, enter in an email address to receive status and error notifications. - You are also prompted to provide nameserver's for your cPanel instance. By default, cPanel will fill in the values for you. Update the values with the nameservers you would like to use. If you are managing your own nameservers, enter them into the form or, if you will be using [Linode's DNS manager](/docs/products/networking/dns-manager/), enter in Linode's nameservers into the form. Click **Finish** to complete the initial login process. + You are also prompted to provide nameserver's for your cPanel instance. By default, cPanel will fill in the values for you. Update the values with the nameservers you would like to use. If you are managing your own nameservers, enter them into the form or, if you will be using [Linode's DNS manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager), enter in Linode's nameservers into the form. Click **Finish** to complete the initial login process. {{< note >}} Linode's nameservers are the following: @@ -106,7 +106,7 @@ Now that you’ve accessed your LiteSpeed instance, check out [the official Lite ### Accessing the LiteSpeed WebAdmin Interface -1. Log in to your instance through [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your instance through [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Run the following script to reset the password: @@ -116,7 +116,7 @@ Now that you’ve accessed your LiteSpeed instance, check out [the official Lite 1. When requested, enter *admin* as the username and then enter your desired password. -1. Once finished, open your web browser and navigate to `http://[ip-address]:7080`, replacing *[ip-address]* with your Compute Instance's IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing your IP address. +1. Once finished, open your web browser and navigate to `http://[ip-address]:7080`, replacing *[ip-address]* with your Compute Instance's IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing your IP address. 1. The LiteSpeed WebAdmin Console login prompt appears. Enter *admin* as the username and use the password you just set in the previous steps. diff --git a/docs/marketplace-docs/guides/liveswitch/index.md b/docs/marketplace-docs/guides/liveswitch/index.md index bb2b3260a9b..319e06b5933 100644 --- a/docs/marketplace-docs/guides/liveswitch/index.md +++ b/docs/marketplace-docs/guides/liveswitch/index.md @@ -48,7 +48,7 @@ After deployment, follow the instructions below to access your application. ### Accessing the LiveSwitch App -1. In a web browser, go to `https://[ip-address]/admin`, replacing *[ip-address]* with your Compute Instance's IP address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. In a web browser, go to `https://[ip-address]/admin`, replacing *[ip-address]* with your Compute Instance's IP address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. Follow the *Welcome* setup wizard to input your license key and create your user. diff --git a/docs/marketplace-docs/guides/magicspam/index.md b/docs/marketplace-docs/guides/magicspam/index.md index c06bf150c41..774c3a3e0c8 100644 --- a/docs/marketplace-docs/guides/magicspam/index.md +++ b/docs/marketplace-docs/guides/magicspam/index.md @@ -19,7 +19,7 @@ marketplace_app_id: 869159 marketplace_app_name: "MagicSpam" --- {{< note type="warning" title="This app is no longer available for deployment" >}} -MagicSpam has been removed from the App Quick Deploy App and can no longer be deployed. This guide is retained for reference only. For information on how to configure MagicSpam, see our [Using MagicSpam to Secure your Email Server](/docs/guides/using-magicspam-email-authentication) guide. +MagicSpam has been removed from the App Quick Deploy App and can no longer be deployed. This guide is retained for reference only. For information on how to configure MagicSpam, see our [Using MagicSpam to Secure your Email Server](/cloud/guides/using-magicspam-email-authentication) guide. {{< /note >}} [MagicSpam](https://magicspam.com/) is a powerful anti-spam and email security solution for Linux systems. It integrates directly with popular control panels, such as cPanel and Plesk. It's primary function is to stop inbound spam from entering your server right at the SMTP layer, which lowers bandwidth and overhead. It also secure mailboxes on your server from being compromised and used to send outbound spam. @@ -56,7 +56,7 @@ If you want to deploy MagicSpam onto an existing Linode Compute Instance, do not - **Control Panel** *(required)*: The Control Panel to deploy alongside MagicSpam. - **MagicSpam License Key** *(required)*: Your MagicSpam license key to for the selected Control Panel. -- **Hostname** *(required)*: Enter a hostname for your new instance. See [Configure a Custom Hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for examples. +- **Hostname** *(required)*: Enter a hostname for your new instance. See [Configure a Custom Hostname](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-custom-hostname) for examples. ## Getting Started after Deployment diff --git a/docs/marketplace-docs/guides/mainconcept-live-encoder-demo/index.md b/docs/marketplace-docs/guides/mainconcept-live-encoder-demo/index.md index c2c440f91ce..293491efd33 100644 --- a/docs/marketplace-docs/guides/mainconcept-live-encoder-demo/index.md +++ b/docs/marketplace-docs/guides/mainconcept-live-encoder-demo/index.md @@ -52,7 +52,7 @@ Once your MainConcept Live Encoder Quick Deploy App is deployed, you can log in 203-0-113-1.ip.linodeusercontent.com ``` - See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-rdns) guide for information on viewing and configuring your rDNS. + See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-rdns) guide for information on viewing and configuring your rDNS. 2. Once the login prompt loads, enter `admin` as the *Username* and `admin` as the *Password*. diff --git a/docs/marketplace-docs/guides/mastodon/index.md b/docs/marketplace-docs/guides/mastodon/index.md index b3dd6346535..8b77ff30a55 100644 --- a/docs/marketplace-docs/guides/mastodon/index.md +++ b/docs/marketplace-docs/guides/mastodon/index.md @@ -49,7 +49,7 @@ The Mastodon Quick Deploy App *requires* a custom domain. After deploying Mastod {{% content "marketplace-required-limited-user-fields-shortguide" %}} - **Domain** (*required*): The domain name you wish to use for the mastodon server, such as *example.com*. -- **Linode API Token** (*required*): A personal access token for your account. The Linode API is used to create DNS records for your custom domain through the [DNS Manager](/docs/products/networking/dns-manager/). See [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/). +- **Linode API Token** (*required*): A personal access token for your account. The Linode API is used to create DNS records for your custom domain through the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). See [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens). - **Email for the Let's Encrypt certificate** (*required*): The email you wish to use when creating your TLS/SSL certificate through Let's Encrypt. This email address receives notifications when the certificate needs to be renewed. - **Username for the Mastodon Owner** (*required*): The username for the Owner user that will be created for the Mastodon server. - **Email Address for the Mastodon Owner** (*required*): The contact email for the Mastodon server's owner. @@ -59,7 +59,7 @@ The Mastodon Quick Deploy App *requires* a custom domain. After deploying Mastod ### Configure Your Domain's Name Servers -To use Mastodon with the custom domain you specified during deployment, you must configure the domain to use Linode's name servers. This is typically accomplished directly through your registrar. See [Use Linode’s Name Servers with Your Domain](/docs/products/networking/dns-manager/guides/authoritative-name-servers/). +To use Mastodon with the custom domain you specified during deployment, you must configure the domain to use Linode's name servers. This is typically accomplished directly through your registrar. See [Use Linode’s Name Servers with Your Domain](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers). ### View the Mastodon Site @@ -69,7 +69,7 @@ Open a web browser and navigate to the custom domain you entered when deploying 1. **Obtain and save passwords** that were generated on your behalf during deployment, including your Mastodon user's password. - 1. Log in to your new Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. + 1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. 1. The passwords have been saved in the /root/.deployment-secrets.txt file. You can view this file in your preferred text editor or through the `cat` command: @@ -101,7 +101,7 @@ Open a web browser and navigate to the custom domain you entered when deploying - **Sidekiq:** `https://[domain.tld]/sidekiq` - **PgHero:** `https://[domain.tld]/pghero` -1. The Mastodon server is configured to send emails for actions such as new users signing up or resetting a password. The installation includes only minimal DNS records and there may be limited deliverability without further configuration. Review the guide to [Sending Email on Linode](/docs/products/platform/get-started/guides/send-email/) for more information on DNS configurations and email best practices. +1. The Mastodon server is configured to send emails for actions such as new users signing up or resetting a password. The installation includes only minimal DNS records and there may be limited deliverability without further configuration. Review the guide to [Sending Email on Linode](https://techdocs.akamai.com/cloud-computing/docs/send-email) for more information on DNS configurations and email best practices. To learn more about Mastodon, check out the [official documentation](https://docs.joinmastodon.org/) and [Mastodon blog](https://blog.joinmastodon.org/) with news and articles related to Mastodon. You can engage with the Mastodon administrative community on [Mastodon’s discussion forum](https://discourse.joinmastodon.org/), where you can peruse conversations about technical issues and community governance. When you are ready to make your instance known to the world, you can add it to the list over at [Instances.social](https://instances.social/admin) by filling out the admin form. diff --git a/docs/marketplace-docs/guides/mean-stack/index.md b/docs/marketplace-docs/guides/mean-stack/index.md index 670b3b5b246..f7d6f50baf7 100644 --- a/docs/marketplace-docs/guides/mean-stack/index.md +++ b/docs/marketplace-docs/guides/mean-stack/index.md @@ -64,8 +64,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -85,7 +85,7 @@ The MEAN stack components are organized as follows: To access these components within the command line: -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Go to the backend directory: @@ -102,7 +102,7 @@ To access these components within the command line: ### Viewing the MEAN App through a Web Browser -Open your web browser and navigate to `https://[domain]`, where `[domain]` is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +Open your web browser and navigate to `https://[domain]`, where `[domain]` is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. ## Software Included diff --git a/docs/marketplace-docs/guides/memgraph/index.md b/docs/marketplace-docs/guides/memgraph/index.md index 451a3499c7f..fa05f3c06b5 100644 --- a/docs/marketplace-docs/guides/memgraph/index.md +++ b/docs/marketplace-docs/guides/memgraph/index.md @@ -56,8 +56,8 @@ When deployment completes, the system automatically generates credentials to adm 1. Log in to your Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the contents of the `.credentials` file: diff --git a/docs/marketplace-docs/guides/mern-stack/index.md b/docs/marketplace-docs/guides/mern-stack/index.md index adca655c133..ea341e60ffe 100644 --- a/docs/marketplace-docs/guides/mern-stack/index.md +++ b/docs/marketplace-docs/guides/mern-stack/index.md @@ -63,8 +63,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -78,8 +78,8 @@ This returns passwords that were automatically generated when the instance was d - Consult the following guides to learn more about working with the various components of the MERN stack: - - [Build Database Clusters with MongoDB](/docs/guides/build-database-clusters-with-mongodb/) - - [Deploy a React Application on Linode](/docs/guides/how-to-deploy-a-react-app-on-debian-10/) + - [Build Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/) + - [Deploy a React Application on Linode](/cloud/guides/how-to-deploy-a-react-app-on-debian-10/) ## Software Included diff --git a/docs/marketplace-docs/guides/microweber/index.md b/docs/marketplace-docs/guides/microweber/index.md index 3d9fcbc28bc..22b14a22892 100644 --- a/docs/marketplace-docs/guides/microweber/index.md +++ b/docs/marketplace-docs/guides/microweber/index.md @@ -15,7 +15,7 @@ marketplace_app_name: "Microweber" [Microweber](https://microweber.org/) is an open-source, drag and drop website builder and CMS based on the Laravel PHP Framework. It includes features for e-commerce, live editing, file management, design customization, and has plugins for both cPanel and Plesk. {{< note >}} -When self-hosting Microweber, you are responsible for the security of your server. Follow best practices for securing, updating, and backing up the software on your Compute Instance. See [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/). +When self-hosting Microweber, you are responsible for the security of your server. Follow best practices for securing, updating, and backing up the software on your Compute Instance. See [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance). {{< /note >}} ## Deploying a Quick Deploy App @@ -37,7 +37,7 @@ When self-hosting Microweber, you are responsible for the security of your serve ### Accessing the Microweber Application -1. Open your web browser and navigate to `http://[ip-address]`, where *[ip-address]* can be replaced with your Compute Instance's IP address or rDNS domain. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `http://[ip-address]`, where *[ip-address]* can be replaced with your Compute Instance's IP address or rDNS domain. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. 1. Complete the initial setup for that appears. This includes setting the database settings, selecting the preferred website design, setting the default language, and more. diff --git a/docs/marketplace-docs/guides/milvus/index.md b/docs/marketplace-docs/guides/milvus/index.md index 7043d88910d..43805c04647 100644 --- a/docs/marketplace-docs/guides/milvus/index.md +++ b/docs/marketplace-docs/guides/milvus/index.md @@ -48,8 +48,8 @@ When deployment completes, the system automatically generates credentials for in 1. Log in to your Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the `.credentials` file: @@ -80,7 +80,7 @@ You should see containers for Milvus, etcd, and MinIO in a running state. ### Access the MinIO Dashboard Milvus uses MinIO as its object storage backend. You can access the MinIO web interface to verify bucket creation and storage activity. -To access your MinIO Dashboard, Open a browser and navigate to your Linode rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. Replace `https://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). The credentials can be found in the `.credentials` file (/home/$USERNAME/.credentials). +To access your MinIO Dashboard, Open a browser and navigate to your Linode rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. Replace `https://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). The credentials can be found in the `.credentials` file (/home/$USERNAME/.credentials). If you want to learn more about Milvus, checkout [the official Milvus documentation](https://milvus.io/docs) to learn how to further utilize your instance. diff --git a/docs/marketplace-docs/guides/minecraft/index.md b/docs/marketplace-docs/guides/minecraft/index.md index eb3f3e5f558..367a9b497c3 100644 --- a/docs/marketplace-docs/guides/minecraft/index.md +++ b/docs/marketplace-docs/guides/minecraft/index.md @@ -69,8 +69,8 @@ With over 100 million users around the world, [Minecraft](https://www.minecraft. - **Port Number:** The server's listening port number. *Advanced Configuration*. - **Snooper Enabled:** Determines if the server sends stats to [https://snoop.minecraft.net](https://snoop.minecraft.net). *Advanced Configuration*. - **Use Native Transport Enabled:** Improve server performance by optimizing sent and received packets. *Advanced Configuration*. -- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/docs/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. -- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](/docs/products/compute/compute-instances/guides/lish/). +- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. +- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{% content "marketplace-special-character-limitations-shortguide" %}} @@ -88,7 +88,7 @@ With over 100 million users around the world, [Minecraft](https://www.minecraft. ![Screenshot of Multiplayer game options](minecraft-add-server.png) -1. Create a name for your server and enter the IPv4 address of your Compute Instance. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. Click **Done** to add the server. +1. Create a name for your server and enter the IPv4 address of your Compute Instance. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. Click **Done** to add the server. ![Screenshot of Add Server options](minecraft-server-ip.png) diff --git a/docs/marketplace-docs/guides/mistio/index.md b/docs/marketplace-docs/guides/mistio/index.md index 5f0efab987f..cf3dd82aeff 100644 --- a/docs/marketplace-docs/guides/mistio/index.md +++ b/docs/marketplace-docs/guides/mistio/index.md @@ -52,7 +52,7 @@ Once the Mist.io server is successfully created, a few additional steps must be ### Log In to Mist.io -1. In a web browser, enter your Linode's [IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) or the [Domain](/docs/products/networking/dns-manager/) associated with it to access your Mist.io App's login screen. +1. In a web browser, enter your Linode's [IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) or the [Domain](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) associated with it to access your Mist.io App's login screen. 1. Click on the **Sign in** button at the top right of the page. diff --git a/docs/marketplace-docs/guides/mistral7b-instruct-with-openwebui/index.md b/docs/marketplace-docs/guides/mistral7b-instruct-with-openwebui/index.md index c5df38b7665..d7b72edfd1c 100644 --- a/docs/marketplace-docs/guides/mistral7b-instruct-with-openwebui/index.md +++ b/docs/marketplace-docs/guides/mistral7b-instruct-with-openwebui/index.md @@ -40,7 +40,7 @@ This Quick Deploy App only works with Akamai GPU instances. If you choose a plan ### Open WebUI Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Email address (for the Let's Encrypt SSL certificate)** *(required)*: Your email is used for Let's Encrypt renewal notices. This allows you to visit Open WebUI securely through a browser. diff --git a/docs/marketplace-docs/guides/mongodb-cluster/index.md b/docs/marketplace-docs/guides/mongodb-cluster/index.md index e44aacd1e57..a5b543250c2 100644 --- a/docs/marketplace-docs/guides/mongodb-cluster/index.md +++ b/docs/marketplace-docs/guides/mongodb-cluster/index.md @@ -40,11 +40,11 @@ This Quick Deploy App deploys 3 Compute Instances to create a highly available a ### MongoDB Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Limited sudo user** *(required)*: A limited user account with sudo access is created as part of this cluster deployment. Enter your preferred username for this limited user. The password is automatically created. See [Obtaining Usernames and Passwords](#obtaining-usernames-and-passwords). -- **Domain** *(required)*: The domain name you wish to use, such as *example.com*. This domain name is only used as part of the system's hostname and when creating the TLS/SSL certificate. No domain records are created within Linode's [DNS Manager](/docs/products/networking/dns-manager/). +- **Domain** *(required)*: The domain name you wish to use, such as *example.com*. This domain name is only used as part of the system's hostname and when creating the TLS/SSL certificate. No domain records are created within Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). - **Add SSH Keys to all nodes?** If you select *yes*, any SSH Keys that are added to the root user account (in the **SSH Keys** section), are also added to your limited user account on all deployed Compute Instances. @@ -70,7 +70,7 @@ The following fields (in addition to the domain field above) are used when creat After your cluster has been fully provisioned, use the instructs below to obtain and save passwords that were generated on your behalf during deployment. -1. Log in to your new Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. 1. The passwords have been saved in a `.deployment-secrets.txt` file located in your user's home directory. You can view this file in your preferred text editor or through the `cat` command. In the command below, replace *[username]* with the limited sudo user you created during deployment. @@ -102,7 +102,7 @@ After your cluster has been fully provisioned, use the instructs below to obtain After MongoDB has finished deploying, you can access and administer it directly from the console. -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Launch the [mongo shell](https://docs.mongodb.com/v4.4/mongo/) by running the following command. When prompted, enter the admin user password you set when creating this instance. @@ -150,5 +150,5 @@ For more information on access control and user management, as well as other tip For more on MongoDB, checkout the following guides: -- [Creating a MongoDB Replica Set](/docs/guides/create-a-mongodb-replica-set/) -- [Building Database Clusters with MongoDB](/docs/guides/build-database-clusters-with-mongodb/) +- [Creating a MongoDB Replica Set](/cloud/guides/create-a-mongodb-replica-set/) +- [Building Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/) diff --git a/docs/marketplace-docs/guides/mongodb/index.md b/docs/marketplace-docs/guides/mongodb/index.md index 475070c09d8..baead758711 100644 --- a/docs/marketplace-docs/guides/mongodb/index.md +++ b/docs/marketplace-docs/guides/mongodb/index.md @@ -54,7 +54,7 @@ MongoDB seeks to provide an alternative to traditional relational database manag After MongoDB has finished deploying, you can access and administer it directly from the console. -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Launch the [mongo shell](https://docs.mongodb.com/v4.4/mongo/) by running the following command. When prompted, enter the admin user password you set when creating this instance. @@ -94,5 +94,5 @@ For more information on access control and user management, as well as other tip For more on MongoDB, checkout the following guides: -- [Creating a MongoDB Replica Set](/docs/guides/create-a-mongodb-replica-set/) -- [Building Database Clusters with MongoDB](/docs/guides/build-database-clusters-with-mongodb/) +- [Creating a MongoDB Replica Set](/cloud/guides/create-a-mongodb-replica-set/) +- [Building Database Clusters with MongoDB](/cloud/guides/build-database-clusters-with-mongodb/) diff --git a/docs/marketplace-docs/guides/moodle/index.md b/docs/marketplace-docs/guides/moodle/index.md index 979f1508778..4c621df267d 100644 --- a/docs/marketplace-docs/guides/moodle/index.md +++ b/docs/marketplace-docs/guides/moodle/index.md @@ -54,8 +54,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -69,7 +69,7 @@ This returns passwords that were automatically generated when the instance was d ### Access Your Moodle App -To access your Moodle instance, Open a browser and navigate to your Linode rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. Replace `https://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). +To access your Moodle instance, Open a browser and navigate to your Linode rDNS domain `https://203-0-113-0.ip.linodeusercontent.com`. Replace `https://203-0-113-0.ip.linodeusercontent.com` with your [Linode's RDNS domain](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses). From there, you can log in by clicking the box on the top right of the page. On the login page, enter the admin username you provided during the app deployment and the password stored in the credentials file. diff --git a/docs/marketplace-docs/guides/mysql/index.md b/docs/marketplace-docs/guides/mysql/index.md index 01002555b11..4a68698bc4c 100644 --- a/docs/marketplace-docs/guides/mysql/index.md +++ b/docs/marketplace-docs/guides/mysql/index.md @@ -52,8 +52,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -141,4 +141,4 @@ The standard tool for interacting with MySQL is the `mysql` client which install For more on MySQL/MariaDB, checkout the following guides: -- [MariaDB Clusters with Galera](/docs/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) +- [MariaDB Clusters with Galera](/cloud/guides/set-up-mariadb-clusters-with-galera-debian-and-ubuntu/) diff --git a/docs/marketplace-docs/guides/nats-single-node/index.md b/docs/marketplace-docs/guides/nats-single-node/index.md index bb99e3d5152..04c707bff2b 100644 --- a/docs/marketplace-docs/guides/nats-single-node/index.md +++ b/docs/marketplace-docs/guides/nats-single-node/index.md @@ -56,7 +56,7 @@ Open your web browser and go to the custom domain you specified during deploymen ## Obtaining the NATS users passwords. -By default, this NATS deployment creates 2 users, one named "example" and another system user named "system". The passwords for these users are generated during the initial install process. To obtain these password, log in to your Compute Instance either through the [LISH Console](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish) or via SSH, then just read the `/home/$USERNAME/.credentials` file, ie: +By default, this NATS deployment creates 2 users, one named "example" and another system user named "system". The passwords for these users are generated during the initial install process. To obtain these password, log in to your Compute Instance either through the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish) or via SSH, then just read the `/home/$USERNAME/.credentials` file, ie: ```command cat /home/$USERNAME/.credentials diff --git a/docs/marketplace-docs/guides/neo4j/index.md b/docs/marketplace-docs/guides/neo4j/index.md index 8ded9fd9f4a..a4303da0d65 100644 --- a/docs/marketplace-docs/guides/neo4j/index.md +++ b/docs/marketplace-docs/guides/neo4j/index.md @@ -57,8 +57,8 @@ When deployment completes, the system automatically generates and stores credent 1. Log in to your Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the contents of the `.credentials` file: @@ -69,9 +69,9 @@ cat /home/$USERNAME/.credentials Once your app has finished deploying, you can log into Neo4j UI using your browser. -1. Open your web browser and navigate to `https://$DOMAIN$:7473/browser`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://$DOMAIN$:7473/browser`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. -**Please Note** If you did not add your local IP to the allow list at the beginning of the deployment, you will need to add it to the firewall in order to access the UI. You can utilize [UFW firewall guide](/docs/guides/configure-firewall-with-ufw/) to add your IP to the allow list. +**Please Note** If you did not add your local IP to the allow list at the beginning of the deployment, you will need to add it to the firewall in order to access the UI. You can utilize [UFW firewall guide](/cloud/guides/configure-firewall-with-ufw/) to add your IP to the allow list. Log in using the credentials from the `/home/$USERNAME/.credentialsoffic` file. diff --git a/docs/marketplace-docs/guides/netfoundry/index.md b/docs/marketplace-docs/guides/netfoundry/index.md index b58db986063..1d34e326458 100644 --- a/docs/marketplace-docs/guides/netfoundry/index.md +++ b/docs/marketplace-docs/guides/netfoundry/index.md @@ -48,8 +48,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/nextcloud/index.md b/docs/marketplace-docs/guides/nextcloud/index.md index a24e81a25ab..d63ef15790c 100644 --- a/docs/marketplace-docs/guides/nextcloud/index.md +++ b/docs/marketplace-docs/guides/nextcloud/index.md @@ -62,7 +62,7 @@ Before you can use Nextcloud, you must set up your deployment with the [Nextclou ![Screenshot of the Nextcloud AIO log in prompt](nextcloud-aio-login.png) -1. Once you have successfully logged in, you are prompted to either create a new AIO instance or restore from a backup. If your intention is to install a fresh Nextcloud instance, enter the domain you specified earlier when deploying the Quick Deploy App app or use your [rDNS](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses) value if no domain was specified. Then, click **Submit**. +1. Once you have successfully logged in, you are prompted to either create a new AIO instance or restore from a backup. If your intention is to install a fresh Nextcloud instance, enter the domain you specified earlier when deploying the Quick Deploy App app or use your [rDNS](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#viewing-ip-addresses) value if no domain was specified. Then, click **Submit**. ![Screenshot of the domain name prompt](nextcloud-aio-new.png) @@ -92,5 +92,5 @@ After performing the [initial setup and configuration steps](#configure-nextclou {{% content "marketplace-update-note-shortguide" %}} -- [Configure Nextcloud to use Linode Object Storage as an External Storage Mount](/docs/guides/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/). You can use Object Storage as a secondary place to store your Nextcloud files. Using Linode Object Storage to store files prevents you from running out of storage space that is limited by your Linode's plan size. +- [Configure Nextcloud to use Linode Object Storage as an External Storage Mount](/cloud/guides/how-to-configure-nextcloud-to-use-linode-object-storage-as-an-external-storage-mount/). You can use Object Storage as a secondary place to store your Nextcloud files. Using Linode Object Storage to store files prevents you from running out of storage space that is limited by your Linode's plan size. - Install the [Nextcloud desktop synchronization client](https://docs.nextcloud.com/desktop/2.3/installing.html) on a local computer to easily synchronize the desktop files to the Nextcloud server. \ No newline at end of file diff --git a/docs/marketplace-docs/guides/nodejs/index.md b/docs/marketplace-docs/guides/nodejs/index.md index 9cc3330f66a..d2bc4908160 100644 --- a/docs/marketplace-docs/guides/nodejs/index.md +++ b/docs/marketplace-docs/guides/nodejs/index.md @@ -48,19 +48,19 @@ The Node.js Quick Deploy App is running [Nginx](https://www.nginx.com/), [Node.j The Node.js sample application is stored in the `app.js` file within `/var/www/[domain]/`. -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Navigate to the directory in which the application is stored: cd /var/www/[domain] -1. Open the sample application with your preferred command line text editor, such as [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or [vim](/docs/guides/what-is-vi/). +1. Open the sample application with your preferred command line text editor, such as [nano](/cloud/guides/use-nano-to-edit-files-in-linux/) or [vim](/cloud/guides/what-is-vi/). nano app.js ### Viewing the Node.js App through a Web Browser -Open your web browser and navigate to `https://[domain]/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +Open your web browser and navigate to `https://[domain]/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. ## Software Included diff --git a/docs/marketplace-docs/guides/odoo/index.md b/docs/marketplace-docs/guides/odoo/index.md index ced7d41a810..7ec8ef079e0 100644 --- a/docs/marketplace-docs/guides/odoo/index.md +++ b/docs/marketplace-docs/guides/odoo/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Odoo" ### Accessing the Odoo App -1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. 1. Within the Odoo setup page that appears, save the automatically generated admin password (also called the *master password*), enter *odoo* as the **Database Name**, and fill out the remaining details for your account. diff --git a/docs/marketplace-docs/guides/ollama/index.md b/docs/marketplace-docs/guides/ollama/index.md index 4003574b02f..86d00b57d64 100644 --- a/docs/marketplace-docs/guides/ollama/index.md +++ b/docs/marketplace-docs/guides/ollama/index.md @@ -36,7 +36,7 @@ Ollama with Open WebUI should be fully installed within 5-10 minutes after the C ### Open WebUI Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this deployment. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this deployment. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Email address (for the Let's Encrypt SSL certificate)** *(required)*: Your email is used for Let's Encrypt renewal notices. This allows you to securely access Open WebUI through a browser. @@ -58,8 +58,8 @@ When deployment completes, the system generates the necessary environment config 1. Log in to your Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the contents of the `.credentials` file: @@ -71,7 +71,7 @@ When deployment completes, the system generates the necessary environment config Once your app has finished deploying, you can log into Open WebUI using your browser. -Open your web browser and navigate to `https://{{< placeholder "DOMAIN" >}}/`, where {{< placeholder "DOMAIN" >}} can be replaced with the custom domain you entered during deployment, or your Linode instance's rDNS domain (for example, `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +Open your web browser and navigate to `https://{{< placeholder "DOMAIN" >}}/`, where {{< placeholder "DOMAIN" >}} can be replaced with the custom domain you entered during deployment, or your Linode instance's rDNS domain (for example, `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. Now that you’ve accessed your dashboard, check out [the official OpenWebUI documentation](https://docs.openwebui.com/) and [the official Ollama documentation](https://docs.ollama.com/) to learn how to further use your instance. diff --git a/docs/marketplace-docs/guides/onlyoffice/index.md b/docs/marketplace-docs/guides/onlyoffice/index.md index 554e418eabe..6d5b0f4d770 100644 --- a/docs/marketplace-docs/guides/onlyoffice/index.md +++ b/docs/marketplace-docs/guides/onlyoffice/index.md @@ -44,7 +44,7 @@ marketplace_app_name: "ONLYOFFICE Docs" ### Accessing ONLYOFFICE Docs -1. Open your web browser and navigate to the custom domain you entered during deployment, your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`), or the IP address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-rdns) guide for information on viewing the rDNS value. +1. Open your web browser and navigate to the custom domain you entered during deployment, your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`), or the IP address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-rdns) guide for information on viewing the rDNS value. 1. The ONLYOFFICE Docs welcome page includes a command to retrieve the randomly generated JSON validation token and an example document management system to test the application. diff --git a/docs/marketplace-docs/guides/openlitespeed-django/index.md b/docs/marketplace-docs/guides/openlitespeed-django/index.md index f8fbe3ef229..2676a84dc21 100644 --- a/docs/marketplace-docs/guides/openlitespeed-django/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-django/index.md @@ -47,7 +47,7 @@ The OpenLiteSpeed Django app automatically installs Linux, the performance web s ### Accessing the OpenLiteSpeed Django App -1. Log in to your Compute Instance over SSH, using the sudo user created during deployment or `root`. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: +1. Log in to your Compute Instance over SSH, using the sudo user created during deployment or `root`. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: ```output ********************************************************* @@ -67,7 +67,7 @@ The OpenLiteSpeed Django app automatically installs Linux, the performance web s 1. The Django page is automatically configured with the custom domain provided during deployment, or the default rDNS. {{< note >}} - For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/docs/guides/dns-overview/) for general information about how DNS works. + For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. {{< /note >}} Now that you’ve accessed your OpenLiteSpeed Django instance, check out [the official OpenLiteSpeed Django documentation](https://docs.litespeedtech.com/cloud/images/django/) for further configuration steps. diff --git a/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md b/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md index b2464786413..0ba3de46457 100644 --- a/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-nodejs/index.md @@ -37,14 +37,14 @@ The OpenLiteSpeed Node.js One-Click app automatically installs the performance w ### Accessing the OpenLiteSpeed Node.js App 1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH -](/docs/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: +](/cloud/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: ![OpenLiteSpeed Nose.js setup information](setupinfo-nodejs.png) 1. You are then prompted to enter the domain you'd like to use for this instance. You can optionally use a custom domain provided you've already configured the *A Records* to point to this server's IPv4 and IPv6 addresses. Otherwise, you can skip this by pressing *CTRL+C* which will use the IP address or default RDNS of the Compute Instance. {{< note >}} - For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/docs/guides/dns-overview/) for general information about how DNS works. + For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. {{< /note >}} Now that you’ve accessed your OpenLiteSpeed Node.js instance, check out [the official OpenLiteSpeed Node.js documentation](https://docs.litespeedtech.com/cloud/images/nodejs/) to learn how to further configure your OpenLiteSpeed Node.js instance. diff --git a/docs/marketplace-docs/guides/openlitespeed-rails/index.md b/docs/marketplace-docs/guides/openlitespeed-rails/index.md index 1c0a5f35b83..600aae26b03 100644 --- a/docs/marketplace-docs/guides/openlitespeed-rails/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-rails/index.md @@ -37,14 +37,14 @@ The OpenLiteSpeed Rails app automatically installs the performance web server Op ### Accessing the OpenLiteSpeed Rails App 1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH -](/docs/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: +](/cloud/guides/connect-to-server-over-ssh/) for assistance. You should see output similar to the following: ![OpenLiteSpeed Rails setup information](setupinfo-rails.png) 1. You are then prompted to enter the domain you'd like to use for this instance. You can optionally use a custom domain provided you've already configured the *A Records* to point to this server's IPv4 and IPv6 addresses. Otherwise, you can skip this by pressing *CTRL+C* which will use the IP address or default RDNS of the Compute Instance. {{< note >}} - For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](/docs/products/networking/dns-manager/) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/docs/guides/dns-overview/) for general information about how DNS works. + For more documentation on how to assign a domain to your Linode, please review the [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide for instructions on setting up your DNS records in Cloud Manager, and read through [DNS Records: An Introduction](/cloud/guides/dns-overview/) for general information about how DNS works. {{< /note >}} Now that you’ve accessed your OpenLiteSpeed Rails instance, check out [the official OpenLiteSpeed Rails documentation](https://docs.litespeedtech.com/cloud/images/rails/) to learn how to further configure your OpenLiteSpeed Rails instance. diff --git a/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md b/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md index ef64ca7500c..f97fd1b81dd 100644 --- a/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md +++ b/docs/marketplace-docs/guides/openlitespeed-wordpress/index.md @@ -54,7 +54,7 @@ This Quick Deploy App installs the OpenLiteSpeed web server, WordPress, the Lite ## Getting Started After Deployment -Log in to your Compute Instance over SSH, using the `root` user or the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. Once logged in, you should see Message of the Day output which includes OpenLiteSpeed HTTPS URLs: +Log in to your Compute Instance over SSH, using the `root` user or the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. Once logged in, you should see Message of the Day output which includes OpenLiteSpeed HTTPS URLs: ```command cat /etc/motd @@ -77,7 +77,7 @@ The file `/home/$SUDO_USER/.credentials` includes chosen usernames and strong ge ### Accessing the WordPress Admin Dashboard -1. Open your web browser and navigate to `https://[domain]/wp-admin/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though the connection will not be secure. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]/wp-admin/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though the connection will not be secure. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ![Screenshot of the browser's URL bar](wordpress-browser-url.png) @@ -107,7 +107,7 @@ Now that OpenLiteSpeed WordPress has been fully deployed, you can begin adding c - See the Linode tab at: https://docs.litespeedtech.com/cloud/images/wordpress/ - [WordPress Support](https://wordpress.org/support/): Learn the basic workflows for using WordPress. -- [Securing WordPress](/docs/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. +- [Securing WordPress](/cloud/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. - [WordPress Themes](https://wordpress.org/themes/#): A collection of *thousands* of WordPress themes. - [Quick Deploy Apps Repository](https://github.com/akamai-compute-marketplace/marketplace-apps): Review the deployment Ansible playbooks. diff --git a/docs/marketplace-docs/guides/openvpn/index.md b/docs/marketplace-docs/guides/openvpn/index.md index 60348aaf699..5eb8774c438 100644 --- a/docs/marketplace-docs/guides/openvpn/index.md +++ b/docs/marketplace-docs/guides/openvpn/index.md @@ -57,7 +57,7 @@ The admin password for the OpenVPN application is no longer manually entered whe **OpenVPN Admin Interface:** -- **URL:** `https://192-0-2-1.ip.linodeusercontent.com`, where `192-0-2-1` represents the IPv4 address of your new Compute Instance. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-rdns) guide for information on viewing the rDNS value. +- **URL:** `https://192-0-2-1.ip.linodeusercontent.com`, where `192-0-2-1` represents the IPv4 address of your new Compute Instance. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-rdns) guide for information on viewing the rDNS value. - **Username:** `openvpn` - **Password:** See [Obtaining the Admin Password](#obtaining-the-admin-password) below. @@ -69,7 +69,7 @@ For more details on logging in to the OpenVPN admin interface for the first time ### Obtaining the Admin Password -The password for the main administrator account was automatically generated during the initial install process. To find this password, log in to your Compute Instance through the [LISH Console](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish). The credentials are available in the file `/root/.credentials` +The password for the main administrator account was automatically generated during the initial install process. To find this password, log in to your Compute Instance through the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish). The credentials are available in the file `/root/.credentials` ``` cat /root/.credentials Sudo Username: $SUDO_USER @@ -84,6 +84,6 @@ To obtain your OpenVPN password, run this command: ### Open a Connection to your VPN -To open a connection to your OpenVPN server from your computer, you'll need to install the OpenVPN client software. Follow the instructions in the [Client Software Installation](/docs/guides/install-openvpn-access-server-on-linux/#client-software-installation) section of our [OpenVPN](/docs/guides/install-openvpn-access-server-on-linux/#client-software-installation) guide for a detailed explanation of how to install and use this software. +To open a connection to your OpenVPN server from your computer, you'll need to install the OpenVPN client software. Follow the instructions in the [Client Software Installation](/cloud/guides/install-openvpn-access-server-on-linux/#client-software-installation) section of our [OpenVPN](/cloud/guides/install-openvpn-access-server-on-linux/#client-software-installation) guide for a detailed explanation of how to install and use this software. {{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/marketplace-docs/guides/owncast/index.md b/docs/marketplace-docs/guides/owncast/index.md index e5203b207b1..a74d424d6e7 100644 --- a/docs/marketplace-docs/guides/owncast/index.md +++ b/docs/marketplace-docs/guides/owncast/index.md @@ -51,8 +51,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/owncloud/index.md b/docs/marketplace-docs/guides/owncloud/index.md index 4cdaf0d9f28..33343a4a216 100644 --- a/docs/marketplace-docs/guides/owncloud/index.md +++ b/docs/marketplace-docs/guides/owncloud/index.md @@ -51,7 +51,7 @@ After deployment, follow the instructions below to access your application. ### Access the ownCloud Site -1. Open a web browser and enter the following URL, where *[domain]* is either your Compute Instance's default rDNS domain or your own domain name (if you entered one during deployment). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing the IP address and rDNS value. +1. Open a web browser and enter the following URL, where *[domain]* is either your Compute Instance's default rDNS domain or your own domain name (if you entered one during deployment). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing the IP address and rDNS value. ```command https://[domain]/ diff --git a/docs/marketplace-docs/guides/passky/index.md b/docs/marketplace-docs/guides/passky/index.md index d0b68fb252c..6ff0108f4f0 100644 --- a/docs/marketplace-docs/guides/passky/index.md +++ b/docs/marketplace-docs/guides/passky/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Passky" ### Accessing the Passky App -1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-rdns) guide for information on viewing the rDNS value. +1. Open your web browser and navigate to the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-rdns) guide for information on viewing the rDNS value. 1. On the Passky front page, enter the username and password you set during deployment to access the server GUI. diff --git a/docs/marketplace-docs/guides/peppermint/index.md b/docs/marketplace-docs/guides/peppermint/index.md index 958c44c688f..b2b7535296a 100644 --- a/docs/marketplace-docs/guides/peppermint/index.md +++ b/docs/marketplace-docs/guides/peppermint/index.md @@ -42,7 +42,7 @@ marketplace_app_name: "Peppermint" ### Access your Peppermint App -1. To access the Peppermint login screen, open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. To access the Peppermint login screen, open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. ![Peppermint login screen](peppermint.png) diff --git a/docs/marketplace-docs/guides/percona-monitoring-management/index.md b/docs/marketplace-docs/guides/percona-monitoring-management/index.md index a15cdcf02ae..86c97dbe555 100644 --- a/docs/marketplace-docs/guides/percona-monitoring-management/index.md +++ b/docs/marketplace-docs/guides/percona-monitoring-management/index.md @@ -90,14 +90,14 @@ After the [PMM Server](https://www.percona.com/doc/percona-monitoring-and-manage To begin monitoring a database node, you will need to install the [PMM Client](https://www.percona.com/doc/percona-monitoring-and-management/2.x/concepts/architecture.html#pmm-client) on the Linode that hosts your database and connect the node to the PMM Server. For instructions on setting up a database on Linode that you can connect to your PMM Server, see our guides on: -- [Deploying MySQL/MariaDB with Quick Deploy Apps](/docs/marketplace-docs/guides/mysql/) -- [Deploying PostgreSQL with Quick Deploy Apps](/docs/marketplace-docs/guides/postgresql/) +- [Deploying MySQL/MariaDB with Quick Deploy Apps](/cloud/marketplace-docs/guides/mysql/) +- [Deploying PostgreSQL with Quick Deploy Apps](/cloud/marketplace-docs/guides/postgresql/) {{< note >}} The PMM Server deployed with Linode's Percona (PMM) Quick Deploy App is compatible with [**PMM Client version 2**](https://www.percona.com/doc/percona-monitoring-and-management/2.x/index.html). {{< /note >}} -1. [Connect to your database Linode](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) via SSH. +1. [Connect to your database Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) via SSH. 1. Update your system's software. @@ -141,7 +141,7 @@ The PMM Server deployed with Linode's Percona (PMM) Quick Deploy App is compatib 1. Connect your database node to the PMM Server. Replace `admin_password` with your PMM Server's [Grafana password](#access-your-PMM-server-s-grafana-dashboard), and `192.0.2.0` with your PMM Server's IPv4 address. {{< note >}} - Follow the steps in [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) to retrieve your PMM Server's IPv4 address. + Follow the steps in [Find Your Linode's IP Address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) to retrieve your PMM Server's IPv4 address. {{< /note >}} pmm-admin \ @@ -167,7 +167,7 @@ The PMM Server deployed with Linode's Percona (PMM) Quick Deploy App is compatib Once your database node and your PMM Server are communicating, the final step is to add your database instance to be monitored by your PMM Server. These steps are completed on your database node. -1. [Connect to your Linode](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) via SSH. +1. [Connect to your Linode](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) via SSH. 1. Add your database instance to be monitored by your PMM Server. This command will add a MySQL database instance to be monitored. Replace `db_user` with your database's user name, and `db_user_password` with that user's password. You can also replace `mysql` with the database type that your node is hosting (i.e. `postgresql` or `mongodb`). See Percona's [Using PMM Client](https://www.percona.com/doc/percona-monitoring-and-management/2.x/manage/index-using-pmm-client.html) documentation for details. diff --git a/docs/marketplace-docs/guides/pgvector/index.md b/docs/marketplace-docs/guides/pgvector/index.md index cd2ef2d68b0..4f2176f1a14 100644 --- a/docs/marketplace-docs/guides/pgvector/index.md +++ b/docs/marketplace-docs/guides/pgvector/index.md @@ -46,8 +46,8 @@ When deployment completes, the system automatically generates credentials to adm 1. Log in to your Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the contents of the `.credentials` file: diff --git a/docs/marketplace-docs/guides/phpmyadmin/index.md b/docs/marketplace-docs/guides/phpmyadmin/index.md index b657231bf7d..709d4c57fd9 100644 --- a/docs/marketplace-docs/guides/phpmyadmin/index.md +++ b/docs/marketplace-docs/guides/phpmyadmin/index.md @@ -55,11 +55,11 @@ However, entering your phpMyAdmin credentials through an HTTP connection is inse ### Configure Your Domain with DNS Manager -The following sections require that you own a domain that has been configured for your use with your phpMyAdmin Linode. Following the instructions in the Linode [DNS Manager](/docs/products/networking/dns-manager/) guide, configure your domain's [name servers](/docs/products/networking/dns-manager/guides/authoritative-name-servers/) and add a [DNS record](/docs/products/networking/dns-manager/guides/manage-dns-records/) so that your domain is pointing to your phpMyAdmin Linode. +The following sections require that you own a domain that has been configured for your use with your phpMyAdmin Linode. Following the instructions in the Linode [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) guide, configure your domain's [name servers](https://techdocs.akamai.com/cloud-computing/docs/configure-your-domains-authoritative-name-servers) and add a [DNS record](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records) so that your domain is pointing to your phpMyAdmin Linode. ### Enable HTTPS with Certbot -1. [Connect to Your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). +1. [Connect to Your Linode via SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance). 1. Install Certbot for authentication with Python and Apache: diff --git a/docs/marketplace-docs/guides/pihole/index.md b/docs/marketplace-docs/guides/pihole/index.md index 43f392309eb..3d1c6938f3e 100644 --- a/docs/marketplace-docs/guides/pihole/index.md +++ b/docs/marketplace-docs/guides/pihole/index.md @@ -50,8 +50,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -65,7 +65,7 @@ This returns passwords that were automatically generated when the instance was d ### Accessing the Pi-hole App -1. Open your web browser and navigate to `http://[domain]/admin`, where *[domain]* can be replaced with the custom domain you entered during deployment, your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`), or your IPv4 address. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `http://[domain]/admin`, where *[domain]* can be replaced with the custom domain you entered during deployment, your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`), or your IPv4 address. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. The Pi-Hole dashboard opens. diff --git a/docs/marketplace-docs/guides/plesk/index.md b/docs/marketplace-docs/guides/plesk/index.md index 7825874dc0c..fa9b31a4a77 100644 --- a/docs/marketplace-docs/guides/plesk/index.md +++ b/docs/marketplace-docs/guides/plesk/index.md @@ -44,7 +44,7 @@ marketplace_app_name: "Plesk" ### Access your Plesk Site -1. Open a web browser and enter the following URL, where *[domain]* is either your Compute Instance's IP address, its default rDNS domain, or your domain name (if you entered one during deployment). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing the IP address and rDNS value. +1. Open a web browser and enter the following URL, where *[domain]* is either your Compute Instance's IP address, its default rDNS domain, or your domain name (if you entered one during deployment). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing the IP address and rDNS value. https://[domain]/login_up.php diff --git a/docs/marketplace-docs/guides/plex/index.md b/docs/marketplace-docs/guides/plex/index.md index 6ddc36d8bdf..4fcbbb703a5 100644 --- a/docs/marketplace-docs/guides/plex/index.md +++ b/docs/marketplace-docs/guides/plex/index.md @@ -16,7 +16,7 @@ marketplace_app_id: 662119 marketplace_app_name: "Plex Media Server" --- -[Plex](https://www.plex.tv/) is a feature-rich streaming platform that lets you organize and stream your own digital video and audio to your devices. This guide shows you how to deploy the [**Plex Media Server**](https://hub.docker.com/r/plexinc/pms-docker/) using Linode's Plex Quick Deploy App, upload media to your Plex Server, and connect to it from a Plex client application. Your 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 app. +[Plex](https://www.plex.tv/) is a feature-rich streaming platform that lets you organize and stream your own digital video and audio to your devices. This guide shows you how to deploy the [**Plex Media Server**](https://hub.docker.com/r/plexinc/pms-docker/) using Linode's Plex Quick Deploy App, upload media to your Plex Server, and connect to it from a Plex client application. Your 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 app. ## Why Use Plex Media Server @@ -88,13 +88,13 @@ You can now access [uploaded media](#uploading-media) and manage your Plex Serve ### (Optional) Connecting a Linode Block Storage Volume -If your media collection is larger than the space available from your Linode plan, [Block Storage](/docs/products/storage/block-storage/) is a convenient solution. This section outlines the steps for creating and connecting a Block Storage Volume for use with your Plex Server. +If your media collection is larger than the space available from your Linode plan, [Block Storage](https://techdocs.akamai.com/cloud-computing/docs/block-storage) is a convenient solution. This section outlines the steps for creating and connecting a Block Storage Volume for use with your Plex Server. {{< note >}} For future reference, you can find examples of the instructions provided in this section in Cloud Manager by navigating to [**Volumes**](https://cloud.linode.com/volumes), then selecting **Show Configuration** from the option menu for your Volume. {{< /note >}} -1. [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) if you don't have one already prepared. +1. [View, Create, and Delete Block Storage Volumes](https://techdocs.akamai.com/cloud-computing/docs/manage-block-storage-volumes) if you don't have one already prepared. 1. Establish an SSH connection to your Plex Server Linode as your [Limited User](#plex-marketplace-app-options). @@ -140,21 +140,21 @@ Media on your Volume is now accessible through the Plex web interface at the mou Your Plex Server is set up to access media files in the `~/plex/media` directory. You have many options for uploading or downloading media to your Plex Server. This section shows you how to organize and upload files to your Plex Server using the `scp` command. {{< note >}} -This section directs you to run commands either on your Plex Server Linode through an SSH connection as your [Limited User](#plex-options), or from the workstation [terminal](/docs/guides/using-the-terminal/) where the media files you wish to upload are stored. +This section directs you to run commands either on your Plex Server Linode through an SSH connection as your [Limited User](#plex-options), or from the workstation [terminal](/cloud/guides/using-the-terminal/) where the media files you wish to upload are stored. {{< /note >}} 1. On your Plex Server Linode, create a subdirectory within `~/plex/media` to store your media files. Plex recommends [organizing media by type](https://support.plex.tv/articles/naming-and-organizing-your-movie-media-files/), so pick a subdirectory name that matches the type of media you plan to upload. For example, to create a directory to store movie files, enter the following command: mkdir ~/plex/media/movies -1. From your media workstation, use the `scp` command to move media to your Plex Server's media subdirectory, substituting `$USERNAME` with your Linux [Limited User Name](#plex-marketplace-app-options), and `$IP_ADDRESS` with the [IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) of your Plex Server Linode: +1. From your media workstation, use the `scp` command to move media to your Plex Server's media subdirectory, substituting `$USERNAME` with your Linux [Limited User Name](#plex-marketplace-app-options), and `$IP_ADDRESS` with the [IP address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) of your Plex Server Linode: scp example_video.mp4 $USERNAME@$IP_ADDRESS:~/plex/media/movies Depending on the files' size, this may take a few minutes. {{< note >}} - There are other ways to upload files to your Plex Server Linode. See our section in [Linux System Administration Basics](/docs/guides/linux-system-administration-basics/#upload-files-to-a-remote-server) for more information. + There are other ways to upload files to your Plex Server Linode. See our section in [Linux System Administration Basics](/cloud/guides/linux-system-administration-basics/#upload-files-to-a-remote-server) for more information. {{< /note >}} ### Adding Media Libraries @@ -193,8 +193,8 @@ The Plex Quick Deploy App installs the following required software on your Linod | **Software** | **Description** | |:--------------|:------------| -| [**NGINX**](https://www.nginx.com/) | Open Source webserver and reverse proxy. See our guide on [Getting Started with NGINX](/docs/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) for more information. | -| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Linode for use with this app. To learn more, see [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/). | +| [**NGINX**](https://www.nginx.com/) | Open Source webserver and reverse proxy. See our guide on [Getting Started with NGINX](/cloud/guides/getting-started-with-nginx-part-1-installation-and-basic-setup/) for more information. | +| [**UFW**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. Ports 22/tcp, 80/tcp, and 443/tcp for IPv4 and IPv6 are enabled with installation of this app. Additional ports must be opened to send email from your Linode for use with this app. To learn more, see [How to Configure a Firewall with UFW](/cloud/guides/configure-firewall-with-ufw/). | | [**Plex Media Server**](https://hub.docker.com/r/plexinc/pms-docker/) | The Plex Media Server transmits locally-stored media files, enabling you to stream your personal media collection to any device that can support a [Plex Client](https://www.plex.tv/apps-devices/). The Latest release in Plex's Public Main branch is installed by this deployment. | diff --git a/docs/marketplace-docs/guides/postgresql-cluster/index.md b/docs/marketplace-docs/guides/postgresql-cluster/index.md index 8980cff9860..33c67682ca7 100644 --- a/docs/marketplace-docs/guides/postgresql-cluster/index.md +++ b/docs/marketplace-docs/guides/postgresql-cluster/index.md @@ -18,7 +18,7 @@ marketplace_app_name: "PostgreSQL Cluster" The PostgreSQL relational database system is a powerful, scalable, and standards-compliant open-source database platform. It is designed to handle a range of workloads, from single machines to data warehouses or Web services with many concurrent users. {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} -This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant PostgreSQL cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy PostgreSQL on a single Compute Instance, see [Deploy PostgreSQL](/docs/marketplace-docs/guides/postgresql/). +This Quick Deploy App deploys 3 Compute Instances to create a highly available and redundant PostgreSQL cluster, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy PostgreSQL on a single Compute Instance, see [Deploy PostgreSQL](/cloud/marketplace-docs/guides/postgresql/). {{< /note >}} ## Deploying a Quick Deploy App @@ -38,11 +38,11 @@ This Quick Deploy App deploys 3 Compute Instances to create a highly available a ### PostgreSQL Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Limited sudo user** *(required)*: A limited user account with sudo access is created as part of this cluster deployment. Enter your preferred username for this limited user. The password is automatically created. See [Obtaining Usernames and Passwords](#obtaining-usernames-and-passwords). -- **Domain** *(required)*: The domain name you wish to use, such as *example.com*. This domain name is only used to identify your cluster and as part of the system's hostname. No domain records are created within Linode's [DNS Manager](/docs/products/networking/dns-manager/). +- **Domain** *(required)*: The domain name you wish to use, such as *example.com*. This domain name is only used to identify your cluster and as part of the system's hostname. No domain records are created within Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). - **Add SSH Keys to all nodes?** If you select *yes*, any SSH Keys that are added to the root user account (in the **SSH Keys** section), are also added to your limited user account on all deployed Compute Instances. @@ -56,7 +56,7 @@ This Quick Deploy App deploys 3 Compute Instances to create a highly available a After your cluster has been fully provisioned, use the instructs below to obtain and save passwords that were generated on your behalf during deployment. -1. Log in to your new Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. 1. The passwords have been saved in a `.deployment-secrets.txt` file located in your user's home directory. You can view this file in your preferred text editor or through the `cat` command. In the command below, replace *[username]* with the limited sudo user you created during deployment. @@ -198,4 +198,4 @@ The example commands in this section should be run as the `postgres` Linux user. For more on PostgreSQL, checkout the following guides: -- [Securely Manage Remote PostgreSQL Servers](/docs/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) diff --git a/docs/marketplace-docs/guides/postgresql/index.md b/docs/marketplace-docs/guides/postgresql/index.md index c55317c93b3..ef79790c949 100644 --- a/docs/marketplace-docs/guides/postgresql/index.md +++ b/docs/marketplace-docs/guides/postgresql/index.md @@ -49,8 +49,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -150,4 +150,4 @@ The example commands in this section should be run as the `postgres` Linux user. For more on PostgreSQL, checkout the following guides: -- [Securely Manage Remote PostgreSQL Servers](/docs/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) +- [Securely Manage Remote PostgreSQL Servers](/cloud/guides/securely-manage-remote-postgresql-servers-with-pgadmin-on-macos-x/) diff --git a/docs/marketplace-docs/guides/pritunl/index.md b/docs/marketplace-docs/guides/pritunl/index.md index c1fca82f047..5e3626ad132 100644 --- a/docs/marketplace-docs/guides/pritunl/index.md +++ b/docs/marketplace-docs/guides/pritunl/index.md @@ -51,8 +51,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -64,7 +64,7 @@ This returns passwords that were automatically generated when the instance was d ### Accessing the Pritunl App -1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make sure to use the `https` prefix in the URL to access the website securely. +1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Make sure to use the `https` prefix in the URL to access the website securely. {{< note >}} In Chrome, you can accept the self-signed certificate by clicking **Advanced** and then **Proceed to** (unsafe). In Firefox, click **Advanced**, then **Add Exception**, and **Confirm Security Exception**. diff --git a/docs/marketplace-docs/guides/prometheus-grafana/index.md b/docs/marketplace-docs/guides/prometheus-grafana/index.md index e97d05e15ee..57aa1ff2b92 100644 --- a/docs/marketplace-docs/guides/prometheus-grafana/index.md +++ b/docs/marketplace-docs/guides/prometheus-grafana/index.md @@ -86,8 +86,8 @@ Once the app has been *fully* deployed, you need to obtain the credentials from 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user, or with the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. + - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH:** Log in to your Compute Instance over SSH using the `root` user, or with the sudo user created during deployment. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. 1. Once logged in, find the URLs and credential files listed in the MOTD: diff --git a/docs/marketplace-docs/guides/qwen/index.md b/docs/marketplace-docs/guides/qwen/index.md index 85cb8cc8848..eb833f24490 100644 --- a/docs/marketplace-docs/guides/qwen/index.md +++ b/docs/marketplace-docs/guides/qwen/index.md @@ -40,7 +40,7 @@ This Quick Deploy App only works with Akamai GPU instances. If you choose a plan ### Open WebUI Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this deployment. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this deployment. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Email address (for the Let's Encrypt SSL certificate)** *(required)*: Your email is used for Let's Encrypt renewal notices. This allows you to securely access Open WebUI through a browser. @@ -60,8 +60,8 @@ When deployment completes, the system automatically generates credentials to adm 1. Log in to your Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click **Linodes**, select your instance, and click **Launch LISH Console**. Log in as `root`. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 2. Run the following command to access the contents of the `.credentials` file: @@ -73,7 +73,7 @@ cat /home/$USERNAME/.credentials Once your app has finished deploying, you can log into Open WebUI using your browser. -1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. Now that you’ve accessed your dashboard, check out [the official OpenWebUI documentation](https://docs.openwebui.com/) to learn how to further use your instance. diff --git a/docs/marketplace-docs/guides/rabbitmq/index.md b/docs/marketplace-docs/guides/rabbitmq/index.md index 399fe6a2fd0..79a15d0088a 100644 --- a/docs/marketplace-docs/guides/rabbitmq/index.md +++ b/docs/marketplace-docs/guides/rabbitmq/index.md @@ -56,8 +56,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -71,7 +71,7 @@ This returns passwords that were automatically generated when the instance was d To get started: -1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make sure to use the `https` prefix in the URL to access the website securely. +1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Make sure to use the `https` prefix in the URL to access the website securely. 1. Log in with your username and password found in your /home/$USERNAME/.credentials file. diff --git a/docs/marketplace-docs/guides/redis-cluster/index.md b/docs/marketplace-docs/guides/redis-cluster/index.md index db20c51eef5..27050be0783 100644 --- a/docs/marketplace-docs/guides/redis-cluster/index.md +++ b/docs/marketplace-docs/guides/redis-cluster/index.md @@ -18,7 +18,7 @@ marketplace_app_name: "Redis Sentinel" [Redis](https://redis.io/) is an open-source, in-memory, data-structure store, with the optional ability to write and persist data to a disk, which can be used as a key-value database, cache, and message broker. Redis features built-in transactions, replication, and support for a variety of data structures such as strings, hashes, lists, sets, and others. {{< note type="warning" title="Quick Deploy App Cluster Notice" >}} -This Quick Deploy App deploys 3 or 5 Compute Instances to create a highly available and redundant Redis cluster using Redis Sentinel, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy Redis on a single Compute Instance, see [Deploy Redis](/docs/marketplace-docs/guides/redis/). +This Quick Deploy App deploys 3 or 5 Compute Instances to create a highly available and redundant Redis cluster using Redis Sentinel, each with the plan type and size that you select. Please be aware that each of these Compute Instances will appear on your invoice as separate items. To instead deploy Redis on a single Compute Instance, see [Deploy Redis](/cloud/marketplace-docs/guides/redis/). {{< /note >}} ## Deploying a Quick Deploy App @@ -38,7 +38,7 @@ This Quick Deploy App deploys 3 or 5 Compute Instances to create a highly availa ### Redis Sentinel Options -- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](/docs/products/platform/accounts/guides/manage-api-tokens/) to create one. +- **Linode API Token** *(required)*: Your API token is used to deploy additional Compute Instances as part of this cluster. At a minimum, this token must have Read/Write access to *Linodes*. If you do not yet have an API token, see [Get an API Access Token](https://techdocs.akamai.com/cloud-computing/docs/manage-personal-access-tokens) to create one. - **Limited sudo user** *(required)*: A limited user account with sudo access is created as part of this cluster deployment. Enter your preferred username for this limited user. The password is automatically created. See [Obtaining Usernames and Passwords](#obtaining-usernames-and-passwords). @@ -66,7 +66,7 @@ The following fields are used when creating your self-signed TLS/SSL certificate After your cluster has been fully provisioned, use the instructs below to obtain and save passwords that were generated on your behalf during deployment. -1. Log in to your new Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using the `root` user and the associated password you entered when creating the instance. If you opted to include your SSH keys as part of this deployment, you can also log in using those keys as either the `root` user or the limited user account you specified during deployment. 1. The passwords have been saved in a `.deployment-secrets.txt` file located in your user's home directory. You can view this file in your preferred text editor or through the `cat` command. In the command below, replace *[username]* with the limited sudo user you created during deployment. @@ -91,7 +91,7 @@ After your cluster has been fully provisioned, use the instructs below to obtain ### Access the Redis CLI -1. Log in to your new Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/) using either the `root` user or limited user and the associated password you entered when creating the instance. +1. Log in to your new Compute Instance through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](/cloud/guides/connect-to-server-over-ssh/) using either the `root` user or limited user and the associated password you entered when creating the instance. 1. To use the redis-cli, run either of the commands below: @@ -109,6 +109,6 @@ There are several types of Redis configurations you can use. For example, you ca - Read the [Redis Quickstart](https://redis.io/topics/quickstart) to learn about securing Redis and installing client libraries to use Redis with your applications. - Refer to the [Redis configuration documentation](https://redis.io/topics/config) to learn about the Redis configuration file. -Once you have determined how you would like to configure your Redis deployment, connect to your [Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) to complete your configuration. +Once you have determined how you would like to configure your Redis deployment, 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 complete your configuration. {{% content "marketplace-update-note-shortguide" %}} diff --git a/docs/marketplace-docs/guides/redis/index.md b/docs/marketplace-docs/guides/redis/index.md index e2d47d66f4e..0d59e36342c 100644 --- a/docs/marketplace-docs/guides/redis/index.md +++ b/docs/marketplace-docs/guides/redis/index.md @@ -67,8 +67,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: diff --git a/docs/marketplace-docs/guides/rocketchat/index.md b/docs/marketplace-docs/guides/rocketchat/index.md index e890e7e69e8..956615864b8 100644 --- a/docs/marketplace-docs/guides/rocketchat/index.md +++ b/docs/marketplace-docs/guides/rocketchat/index.md @@ -50,8 +50,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -65,7 +65,7 @@ This returns passwords that were automatically generated when the instance was d ### Accessing the Rocket.Chat App -1. Open a browser and navigate to the domain you created in the beginning of your deployment. You can also use your Compute Instance's rDNS, which will appear like `203-0-113-0.ip.linodeusercontent.com`. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing and setting the rDNS value. +1. Open a browser and navigate to the domain you created in the beginning of your deployment. You can also use your Compute Instance's rDNS, which will appear like `203-0-113-0.ip.linodeusercontent.com`. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing and setting the rDNS value. 1. Enter your credentials which can be found in the credentials file on the server. diff --git a/docs/marketplace-docs/guides/ruby-on-rails/index.md b/docs/marketplace-docs/guides/ruby-on-rails/index.md index f806b00c3cd..ea40ece3baa 100644 --- a/docs/marketplace-docs/guides/ruby-on-rails/index.md +++ b/docs/marketplace-docs/guides/ruby-on-rails/index.md @@ -54,8 +54,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -74,7 +74,7 @@ The Ruby on Rails Quick Deploy App is running [Nginx](https://www.nginx.com/), [ The Ruby on Rails sample application can be found in the `/var/www/$APPNAME` directory. -1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your Compute Instance via [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Go to the directory in which the application is stored, by running the following command: @@ -83,7 +83,7 @@ The Ruby on Rails sample application can be found in the `/var/www/$APPNAME` dir ### Viewing the Ruby on Rails App through a Web Browser -Open your web browser and navigate to `https://[domain]/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +Open your web browser and navigate to `https://[domain]/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. ## Software Included diff --git a/docs/marketplace-docs/guides/saltcorn/index.md b/docs/marketplace-docs/guides/saltcorn/index.md index 8960a96c303..04145b1482b 100644 --- a/docs/marketplace-docs/guides/saltcorn/index.md +++ b/docs/marketplace-docs/guides/saltcorn/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Saltcorn" ### Accessing the Saltcorn App -1. Open your web browser and navigate to `https://[domain]/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://[domain]/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. ![Screenshot of the URL bar](saltcorn-url.png) diff --git a/docs/marketplace-docs/guides/secure-your-server/index.md b/docs/marketplace-docs/guides/secure-your-server/index.md index 9b2b67a670a..9e2e9c710fe 100644 --- a/docs/marketplace-docs/guides/secure-your-server/index.md +++ b/docs/marketplace-docs/guides/secure-your-server/index.md @@ -13,7 +13,7 @@ marketplace_app_id: 692092 marketplace_app_name: "Secure Your Server" --- -This Quick Deploy App automatically configures a new Compute Instance with a limited user account and other best practices discussed in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. It also configures a basic firewall through [UFW](/docs/guides/configure-firewall-with-ufw/) and enables [Fail2Ban](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). +This Quick Deploy App automatically configures a new Compute Instance with a limited user account and other best practices discussed in the [Setting Up and Securing a Compute Instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance) guide. It also configures a basic firewall through [UFW](/cloud/guides/configure-firewall-with-ufw/) and enables [Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/). ## Deploying a Quick Deploy App diff --git a/docs/marketplace-docs/guides/shadowsocks/index.md b/docs/marketplace-docs/guides/shadowsocks/index.md index 201e21801f0..a7d9293a6b4 100644 --- a/docs/marketplace-docs/guides/shadowsocks/index.md +++ b/docs/marketplace-docs/guides/shadowsocks/index.md @@ -44,7 +44,7 @@ Shadowsocks is a lightweight SOCKS5 web proxy tool primarily used to bypass netw Once the Shadowsocks server is up and running, you must install the [Shadowsocks Client](https://shadowsocks.org/en/download/clients.html) on any device or devices that you'd like to have connect to the service. There are currently client services available for [Windows](https://github.com/shadowsocks/shadowsocks-windows/releases), [Mac OS X](https://github.com/Jigsaw-Code/outline-client/), [Linux](https://github.com/Jigsaw-Code/outline-client/), [Android](https://play.google.com/store/apps/details?id=com.github.shadowsocks), and [iOS](http://apt.thebigboss.org/onepackage.php?bundleid=com.linusyang.shadowsocks). -For a full set of instructions on how to install Shadowsocks on Windows and Mac OS X, see the [Install a Shadowsocks Client](/docs/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/#install-a-shadowsocks-client) section of our guide for [Creating a Shadowsocks Server Manually](/docs/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/). +For a full set of instructions on how to install Shadowsocks on Windows and Mac OS X, see the [Install a Shadowsocks Client](/cloud/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/#install-a-shadowsocks-client) section of our guide for [Creating a Shadowsocks Server Manually](/cloud/guides/create-a-socks5-proxy-server-with-shadowsocks-on-ubuntu-and-centos7/). When the client has completed the installation process, ensure that you're setting up your client to connect using the following unique information: diff --git a/docs/marketplace-docs/guides/splunk/index.md b/docs/marketplace-docs/guides/splunk/index.md index 9b2348de8aa..198034f98b0 100644 --- a/docs/marketplace-docs/guides/splunk/index.md +++ b/docs/marketplace-docs/guides/splunk/index.md @@ -54,7 +54,7 @@ The Splunk Quick Deploy App on Akamai Cloud includes support for the [Akamai SIE ### Obtaining the Admin Password -The password for the sudo user account was automatically generated during the initial install process. To find this password, log in to your Compute Instance through the [LISH Console](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish). The credentials are available in the file `/home/$USERNAME/.credentials` +The password for the sudo user account was automatically generated during the initial install process. To find this password, log in to your Compute Instance through the [LISH Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish#through-cloud-manager-weblish). The credentials are available in the file `/home/$USERNAME/.credentials` ``` cat /home/$USERNAME/.credentials sudo username: $USERNAME @@ -65,7 +65,7 @@ splunk admin password: fRLdHksJoMPrjLtRCogEPVLYOML1zQtQ0kIsL7IWvo49 ### Access your Splunk App -Open a browser and navigate to `https://192-0-2-1.ip.linodeusercontent.com:8000`, where `192-0-2-1` represents the IPv4 address of your new Compute Instance. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-rdns) guide for information on viewing the rDNS value. +Open a browser and navigate to `https://192-0-2-1.ip.linodeusercontent.com:8000`, where `192-0-2-1` represents the IPv4 address of your new Compute Instance. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance#configuring-rdns) guide for information on viewing the rDNS value. You will be presented a login field where you can enter the credentials you previously specified in the *Splunk Username* and the generated *Splunk Password* in `/home/$USERNAME/.credentials`. diff --git a/docs/marketplace-docs/guides/superinsight/index.md b/docs/marketplace-docs/guides/superinsight/index.md index 141da57fa36..d79cb0a6492 100644 --- a/docs/marketplace-docs/guides/superinsight/index.md +++ b/docs/marketplace-docs/guides/superinsight/index.md @@ -33,7 +33,7 @@ marketplace_app_name: "Superinsight" ## Getting Started after Deployment -1. Log into your new Compute Instance through [LISH](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) using the root user and the password you entered when creating the instance. +1. Log into your new Compute Instance through [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) using the root user and the password you entered when creating the instance. 1. If you log in on the same day you deployed the app, a message is displayed with the username and password for the new database as well as an example database connection string. diff --git a/docs/marketplace-docs/guides/team-fortress-2/index.md b/docs/marketplace-docs/guides/team-fortress-2/index.md index f52abab78c0..d408fcc402c 100644 --- a/docs/marketplace-docs/guides/team-fortress-2/index.md +++ b/docs/marketplace-docs/guides/team-fortress-2/index.md @@ -15,7 +15,7 @@ contributors: ["Akamai"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- {{< note type="warning" title="This app is no longer available for deployment" >}} -Team Fortress 2 has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Team Fortress 2 manually on a Compute Instance, see our [Team Fortress 2 on Debian and Ubuntu](/docs/guides/team-fortress2-on-debian-and-ubuntu/) guide. +Team Fortress 2 has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Team Fortress 2 manually on a Compute Instance, see our [Team Fortress 2 on Debian and Ubuntu](/cloud/guides/team-fortress2-on-debian-and-ubuntu/) guide. {{< /note >}} Team Fortress 2 (TF2) is a team-based multiplayer first-person shooter game. In TF2, you and your team choose from 9 unique classes and play against an enemy team in a variety of game modes. These modes include capture the flag, king of the hill, and even a battle pitting your team against a robotic horde. diff --git a/docs/marketplace-docs/guides/terraria/index.md b/docs/marketplace-docs/guides/terraria/index.md index f929f55a2f0..d77b0252830 100644 --- a/docs/marketplace-docs/guides/terraria/index.md +++ b/docs/marketplace-docs/guides/terraria/index.md @@ -17,7 +17,7 @@ contributors: ["Akamai"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- {{< note type="warning" title="This app is no longer available for deployment" >}} -Terraria has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Terraria manually on a Compute Instance, see our [How to Setup a Terraria Linux Server](/docs/guides/host-a-terraria-server-on-your-linode/) guide. +Terraria has been removed from Quick Deploy Apps and can no longer be deployed. This guide is retained for reference only. For information on how to deploy and set up Terraria manually on a Compute Instance, see our [How to Setup a Terraria Linux Server](/cloud/guides/host-a-terraria-server-on-your-linode/) guide. {{< /note >}} Terraria is a two-dimensional sandbox game in which players explore the world, collect resources, build structures, and battle enemies in procedurally generated environments. In Terraria a player begins by digging for ore, and the further they dig the more adventure they find. Multiplayer mode can be either cooperative or PvP. diff --git a/docs/marketplace-docs/guides/uptime-kuma/index.md b/docs/marketplace-docs/guides/uptime-kuma/index.md index 3a753505785..12d8a2d7fa8 100644 --- a/docs/marketplace-docs/guides/uptime-kuma/index.md +++ b/docs/marketplace-docs/guides/uptime-kuma/index.md @@ -51,8 +51,8 @@ To obtain credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -66,7 +66,7 @@ This returns passwords that were automatically generated when the instance was d To get started: -1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make sure to use the `https` prefix in the URL to access the website securely. +1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you didn't enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Make sure to use the `https` prefix in the URL to access the website securely. 1. Check [the official Uptime Kuma Repository](https://github.com/louislam/uptime-kuma) to learn how you can use your Uptime Kuma instance. diff --git a/docs/marketplace-docs/guides/valheim/index.md b/docs/marketplace-docs/guides/valheim/index.md index 326a40ad754..53edcf376e4 100644 --- a/docs/marketplace-docs/guides/valheim/index.md +++ b/docs/marketplace-docs/guides/valheim/index.md @@ -50,8 +50,8 @@ Install Valheim on Linode with the Valheim Game Server Quick Deploy App to maxim #### SSH Options (Optional) -- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/docs/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. -- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](/docs/products/compute/compute-instances/guides/lish/). +- **SSH public key for the limited user:** If you wish to login as the limited user through public key authentication (without entering a password), enter your public key here. See [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/cloud/guides/use-public-key-authentication-with-ssh/) for instructions on generating a key pair. +- **Disable root access over SSH:** To block the root user from logging in over SSH, select *Yes* (recommended). You can still switch to the root user once logged in and you can also log in as root through [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). {{% content "marketplace-special-character-limitations-shortguide" %}} diff --git a/docs/marketplace-docs/guides/virtualmin/index.md b/docs/marketplace-docs/guides/virtualmin/index.md index ec5537ff1ee..ad0c84b3679 100644 --- a/docs/marketplace-docs/guides/virtualmin/index.md +++ b/docs/marketplace-docs/guides/virtualmin/index.md @@ -43,17 +43,17 @@ Virtualmin has been removed from the App Quick Deploy App and can no longer be d ### Virtualmin Options {{% content "marketplace-limited-user-fields-shortguide" %}} -- **Enable passwordless sudo access for the limited user?** Select **Yes** to [disable SSH password authentication](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) for your limited sudo user as an additional security measure. Requires an **SSH Public Key** for SSH access to your Linode. +- **Enable passwordless sudo access for the limited user?** Select **Yes** to [disable SSH password authentication](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#ssh-daemon-options) for your limited sudo user as an additional security measure. Requires an **SSH Public Key** for SSH access to your Linode. #### Additional Security Configuration - **Configure automatic security updates?** Select **Yes** to enable automatic security updates for your Linode. -- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/) as an additional security measure. +- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/) as an additional security measure. {{% content "marketplace-custom-domain-fields-shortguide" %}} - **SOA Email for your domain** The email address to register as your Start of Authority (SOA). This field is required for creating DNS records for a new domain. -- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/docs/guides/dns-overview/#mx) for the purpose of sending emails from your instance. -- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/docs/guides/dns-overview/#spf) for the purpose of sending emails from your instance. +- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/cloud/guides/dns-overview/#mx) for the purpose of sending emails from your instance. +- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/cloud/guides/dns-overview/#spf) for the purpose of sending emails from your instance. {{% content "marketplace-special-character-limitations-shortguide" %}} @@ -63,8 +63,8 @@ Virtualmin is now installed and ready to use. 1. Before you go to our app, if you filled out the optional Virtualmin configuration fields: - - In Cloud Manager's [DNS Manager](/docs/products/networking/dns-manager/guides/create-domain/) there is now an entry for your domain with possible subdomain, MX, and SPF records pointing to your new server. - - [Configure the rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) on your Linode. + - In Cloud Manager's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain) there is now an entry for your domain with possible subdomain, MX, and SPF records pointing to your new server. + - [Configure the rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) on your Linode. 1. Virtualmin is served on port 10000, to access it, navigate to either the IP address of your server or to your domain name followed by port 10000. For example, `http://example.com:10000` or `http://203.0.113.0:10000`, replacing the domain name or IP address with values for your server. diff --git a/docs/marketplace-docs/guides/vscode/index.md b/docs/marketplace-docs/guides/vscode/index.md index f1a947dd850..705ea436cba 100644 --- a/docs/marketplace-docs/guides/vscode/index.md +++ b/docs/marketplace-docs/guides/vscode/index.md @@ -52,8 +52,8 @@ To obtain the credentials: 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). 1. Run the following command to access the credentials file: @@ -67,7 +67,7 @@ This returns passwords that were automatically generated when the instance was d VS Code is now installed. To get started: -1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you did not enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make sure to use the `https` prefix in the URL to access the website securely. +1. Open a web browser and navigate to the domain you entered when creating the instance: `https://domain.tld`. If you did not enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). To learn more on viewing the rDNS value, see [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance). Make sure to use the `https` prefix in the URL to access the website securely. ## Software Included diff --git a/docs/marketplace-docs/guides/wazuh/index.md b/docs/marketplace-docs/guides/wazuh/index.md index 3d2028c6156..2be3b76d258 100644 --- a/docs/marketplace-docs/guides/wazuh/index.md +++ b/docs/marketplace-docs/guides/wazuh/index.md @@ -46,7 +46,7 @@ marketplace_app_name: "Wazuh" ### View Credentials -1. Log into your new Compute Instance through [LISH](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) using either `root` user and the password you entered when creating the instance, or the generated sudo user and supplied SSH key. +1. Log into your new Compute Instance through [LISH](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish) or [SSH](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#connect-to-the-instance) using either `root` user and the password you entered when creating the instance, or the generated sudo user and supplied SSH key. 1. The usernames and passwords have been saved in the `/home/$SUDO_USER/.credentials` file, where sudo user is the user created during deployment. You can view this file in your preferred text editor or through the `cat` command. @@ -92,7 +92,7 @@ marketplace_app_name: "Wazuh" ### Access the Wazuh App -1. Open a web browser and navigate to the domain you entered when creating the `https://domain.tld` instance. If you did not enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing the rDNS value. Ensure that you are securely accessing the website by prefixing `https` to the URL. +1. Open a web browser and navigate to the domain you entered when creating the `https://domain.tld` instance. If you did not enter a domain, use your Compute Instance's default rDNS domain (`192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing the rDNS value. Ensure that you are securely accessing the website by prefixing `https` to the URL. 1. In the login screen that appears, enter `admin` as the username and enter its corresponding password. Find the password by following the steps in the [View Credentials](#view-credentials) section. diff --git a/docs/marketplace-docs/guides/weaviate/index.md b/docs/marketplace-docs/guides/weaviate/index.md index 88188171e12..908eef8edd4 100644 --- a/docs/marketplace-docs/guides/weaviate/index.md +++ b/docs/marketplace-docs/guides/weaviate/index.md @@ -46,7 +46,7 @@ Weaviate should be fully installed within 5-10 minutes after your instance has f Weaviate is a database service accessed programmatically through its API rather than through a web-based user interface. Your deployment includes two API keys stored in a credentials file. -1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance, or use the [Lish Console](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to your instance via SSH or Lish. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance, or use the [Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Once logged in, retrieve your API keys from the `.credentials` file: diff --git a/docs/marketplace-docs/guides/webmin/index.md b/docs/marketplace-docs/guides/webmin/index.md index 550bc06ce37..e21b087e8e4 100644 --- a/docs/marketplace-docs/guides/webmin/index.md +++ b/docs/marketplace-docs/guides/webmin/index.md @@ -44,17 +44,17 @@ Webmin has been removed from Quick Deploy Apps and can no longer be deployed. Th ### Webmin Options {{% content "marketplace-limited-user-fields-shortguide" %}} -- **Enable passwordless sudo access for the limited user?** Select **Yes** to [disable SSH password authentication](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) for your limited sudo user as an additional security measure. Requires an **SSH Public Key** for SSH access to your Linode. +- **Enable passwordless sudo access for the limited user?** Select **Yes** to [disable SSH password authentication](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#ssh-daemon-options) for your limited sudo user as an additional security measure. Requires an **SSH Public Key** for SSH access to your Linode. #### Additional Security Configuration - **Configure automatic security updates?** Select **Yes** to enable automatic security updates for your Linode. -- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/) as an additional security measure. +- **Use fail2ban to prevent automated instrusion attempts?** Select **Yes** to enable [SSH login protection with Fail2Ban](/cloud/guides/using-fail2ban-to-secure-your-server-a-tutorial/) as an additional security measure. {{% content "marketplace-custom-domain-fields-shortguide" %}} - **SOA Email for your domain** The email address to register as your Start of Authority (SOA). This field is required for creating DNS records for a new domain. -- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/docs/guides/dns-overview/#mx) for the purpose of sending emails from your instance. -- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/docs/guides/dns-overview/#spf) for the purpose of sending emails from your instance. +- **Do you need an MX record for this domain?** Select **Yes** to automatically configure an [MX record](/cloud/guides/dns-overview/#mx) for the purpose of sending emails from your instance. +- **Do you need an SPF record for this domain?** Select **Yes** to automatically configure an [SPF record](/cloud/guides/dns-overview/#spf) for the purpose of sending emails from your instance. {{% content "marketplace-special-character-limitations-shortguide" %}} @@ -64,8 +64,8 @@ Webmin is now installed and ready to use. 1. If you filled out the optional Webmin configuration fields: - - In Cloud Manager's [DNS Manager](/docs/products/networking/dns-manager/guides/create-domain/), confirm that there is now an entry for your domain with possible subdomain, MX, and SPF records pointing to your new server. - - [Configure rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) on your Linode to point to your new domain name. + - In Cloud Manager's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/create-a-domain), confirm that there is now an entry for your domain with possible subdomain, MX, and SPF records pointing to your new server. + - [Configure rDNS](https://techdocs.akamai.com/cloud-computing/docs/configure-rdns-reverse-dns-on-a-compute-instance) on your Linode to point to your new domain name. 1. Webmin is served on port 10000. To access Webmin, navigate to either the IP address of your server, or to your domain name followed by port 10000. For example, entering `http://example.com:10000` or `http://203.0.113.0:10000` while replacing the domain name or IP address with values for your server will allow you to reach the Webmin login screen. diff --git a/docs/marketplace-docs/guides/woocommerce/index.md b/docs/marketplace-docs/guides/woocommerce/index.md index efeaa3adc19..8d52b08f562 100644 --- a/docs/marketplace-docs/guides/woocommerce/index.md +++ b/docs/marketplace-docs/guides/woocommerce/index.md @@ -66,8 +66,8 @@ Once the app has been *fully* deployed, you need to obtain the credentials from 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. + - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. 1. Once logged in, access the credentials file by running the following command: @@ -79,7 +79,7 @@ Once the app has been *fully* deployed, you need to obtain the credentials from ### Accessing the WordPress Admin Dashboard -1. Open your web browser and navigate to `http://[domain]/wp-admin/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `http://[domain]/wp-admin/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's IPv4 address or rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ![Screenshot of the browser's URL bar](wordpress-browser-url.png) @@ -93,7 +93,7 @@ Once the app has been *fully* deployed, you need to obtain the credentials from ### Viewing Your Website -Open a web browser and navigate to `http://[domain]`, replacing *[domain]* with the custom domain you entered during deployment or your Compute Instance's IPv4 address or rDNS domain. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. Your WordPress site should now be displayed. +Open a web browser and navigate to `http://[domain]`, replacing *[domain]* with the custom domain you entered during deployment or your Compute Instance's IPv4 address or rDNS domain. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. Your WordPress site should now be displayed. ### Complete the WooCommerce Setup Wizard @@ -118,7 +118,7 @@ Open a web browser and navigate to `http://[domain]`, replacing *[domain]* with Now that your WordPress installation is deployed, you can start adding content and modifying it to suit your needs. Here are a few links to help get you started: - [WordPress Support](https://wordpress.org/support/): Learn the basic workflows for using WordPress. -- [Securing WordPress](/docs/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. +- [Securing WordPress](/cloud/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. - [WordPress Themes](https://wordpress.org/themes/#): A collection of *thousands* of WordPress themes. - [Quick Deploy Apps Repository](https://github.com/akamai-compute-marketplace/marketplace-apps): Review the deployment Ansible playbooks. diff --git a/docs/marketplace-docs/guides/wordpress/index.md b/docs/marketplace-docs/guides/wordpress/index.md index 9133524c3d3..84b870a6cb7 100644 --- a/docs/marketplace-docs/guides/wordpress/index.md +++ b/docs/marketplace-docs/guides/wordpress/index.md @@ -60,8 +60,8 @@ Once the app has been *fully* deployed, you need to obtain the credentials from 1. Log in to your new Compute Instance using one of the methods below: - - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/). - - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. + - **Lish Console:** Within Cloud Manager, navigate to **Linodes** from the left menu, select the Compute Instance you just deployed, and click the **Launch LISH Console** button. Log in as the `root` user. See [Using the Lish Console](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). + - **SSH:** Log in to your Compute Instance over SSH using the `root` user. See [Connecting to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/) for assistance. 1. Once logged in, access the credentials file by running the following command: @@ -73,7 +73,7 @@ Once the app has been *fully* deployed, you need to obtain the credentials from ### Accessing the WordPress Admin Dashboard -1. Open your web browser and navigate to `https://[domain]/wp-admin/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though the connection will not be secure. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. +1. Open your web browser and navigate to `https://[domain]/wp-admin/`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). You can also use your IPv4 address, though the connection will not be secure. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. ![Screenshot of the browser's URL bar](wordpress-browser-url.png) @@ -91,13 +91,13 @@ Once the app has been *fully* deployed, you need to obtain the credentials from ### Viewing Your Website -Open a web browser and navigate to `https://[domain]`, replacing *[domain]* with the custom domain you entered during deployment or your Compute Instance's IPv4 address or rDNS domain. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses and rDNS. Your WordPress site should now be displayed. +Open a web browser and navigate to `https://[domain]`, replacing *[domain]* with the custom domain you entered during deployment or your Compute Instance's IPv4 address or rDNS domain. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses and rDNS. Your WordPress site should now be displayed. ### Manually Configure a Domain If you didn't set up a domain during the deployment process, you can add it manually following the instructions in this section. Before beginning, make sure you have a registered domain name. -1. Within the *name servers* for your domain name, create an [*A record*](/docs/guides/dns-overview/#a-and-aaaa). The *hostname* / *name* field should be *@* for a bare domain (`example.tld`) or should specify the subdomain you wish to use, such as *app* for `app.example.tld`. It's common to create two A records, one using *@* and one using *www*. The IP address should be the IPv4 address of your new Compute Instance. If you do not have a name server, consider using Linode's [DNS Manager](/docs/products/networking/dns-manager/). +1. Within the *name servers* for your domain name, create an [*A record*](/cloud/guides/dns-overview/#a-and-aaaa). The *hostname* / *name* field should be *@* for a bare domain (`example.tld`) or should specify the subdomain you wish to use, such as *app* for `app.example.tld`. It's common to create two A records, one using *@* and one using *www*. The IP address should be the IPv4 address of your new Compute Instance. If you do not have a name server, consider using Linode's [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). 1. Update WordPress so that it uses your new domain name. This can be done directly in the WordPress Admin panel or through the command line. See [Changing The Site URL](https://wordpress.org/support/article/changing-the-site-url/) to learn more. @@ -117,7 +117,7 @@ If you didn't set up a domain during the deployment process, you can add it manu If you need to reset your admin user's password and you aren't receiving the password reset request email, you can update the password from command line. This method also lets you update the email address for your admin account without needing an email confirmation. -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). +1. Log in to the Compute Instance using [SSH](/cloud/guides/connect-to-server-over-ssh/) or [Lish](https://techdocs.akamai.com/cloud-computing/docs/access-your-system-console-using-lish). 1. Navigate to the `public_html` directory of your WordPress installation:. @@ -144,7 +144,7 @@ If you need to reset your admin user's password and you aren't receiving the pas Now that your WordPress installation is deployed, you can start adding content and modifying it to suit your needs. Here are a few links to help get you started: - [WordPress Support](https://wordpress.org/support/): Learn the basic workflows for using WordPress. -- [Securing WordPress](/docs/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. +- [Securing WordPress](/cloud/guides/how-to-secure-wordpress/): Advice on securing WordPress through HTTPS, using a secure password, changing the admin username, and more. - [WordPress Themes](https://wordpress.org/themes/#): A collection of *thousands* of WordPress themes. - [Quick Deploy Apps Repository](https://github.com/akamai-compute-marketplace/marketplace-apps): Review the deployment Ansible playbooks. diff --git a/docs/marketplace-docs/guides/yacht/index.md b/docs/marketplace-docs/guides/yacht/index.md index 0859c95de01..319315eabef 100644 --- a/docs/marketplace-docs/guides/yacht/index.md +++ b/docs/marketplace-docs/guides/yacht/index.md @@ -52,7 +52,7 @@ marketplace_app_name: "Yacht" ### Access your Yacht App -1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS. +1. Open your web browser and navigate to `https://DOMAIN/`, where *DOMAIN* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing rDNS. 1. Enter your [Yacht email address and password](#yacht-options): diff --git a/docs/marketplace-docs/guides/zabbix/index.md b/docs/marketplace-docs/guides/zabbix/index.md index b8ab1c0e932..a6f0a8c1c2a 100644 --- a/docs/marketplace-docs/guides/zabbix/index.md +++ b/docs/marketplace-docs/guides/zabbix/index.md @@ -51,7 +51,7 @@ marketplace_app_name: "Zabbix" After Zabbix has finished installing, you must first obtain the login credentials. You can then use these credentials to log in to your Zabbix App via a web browser. -1. From your terminal, log in to your new Compute Instance as the `root` user, or the `sudo` user created during deployment. Use the following command, replacing `192.0.2.1` with your instance's [IPv4 address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/): +1. From your terminal, log in to your new Compute Instance as the `root` user, or the `sudo` user created during deployment. Use the following command, replacing `192.0.2.1` with your instance's [IPv4 address](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance): ```command ssh root@192.0.2.1 @@ -71,7 +71,7 @@ After Zabbix has finished installing, you must first obtain the login credential MySQL Root Password: fpzdhOpcyw0arno6pw9SGr5vlRiu4GeyrH45kFlypXKrR ``` -1. Access the Zabbix Admin panel by opening a web browser and navigating to the following URL: `https://[domain]`, replacing *[domain]* with the rDNS domain assigned to your new Compute Instance, or the custom domain entered on deployment. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing IP addresses. +1. Access the Zabbix Admin panel by opening a web browser and navigating to the following URL: `https://[domain]`, replacing *[domain]* with the rDNS domain assigned to your new Compute Instance, or the custom domain entered on deployment. See the [Managing IP Addresses](https://techdocs.akamai.com/cloud-computing/docs/managing-ip-addresses-on-a-compute-instance) guide for information on viewing IP addresses. ![A screenshot of the Zabbix log in prompt](zabbix-login.png) diff --git a/docs/products/_index.md b/docs/products/_index.md deleted file mode 100644 index b651ec6ae3b..00000000000 --- a/docs/products/_index.md +++ /dev/null @@ -1,19 +0,0 @@ -+++ -title = "All Products" -linkTitle = "Products" -title_meta = "Linode Product Documentation" -description = "Get started using Cloud Manager, CLI, and API to deploy Linode services and manage your account." - -[[cascade]] -weightAge = 0 -weightSearchBoost = true - -[[cascade]] -layout = "tabbed-section-layout" -[cascade._target] -# The section rendering for individual product pages uses the tabbed layout -kind = "section" -path = "/products/*/**" -+++ - - \ No newline at end of file diff --git a/docs/products/_shortguides/new-data-center-notice/index.md b/docs/products/_shortguides/new-data-center-notice/index.md deleted file mode 100644 index c1cfc50cdf0..00000000000 --- a/docs/products/_shortguides/new-data-center-notice/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Note for the new data center launch. - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -On July 5th 2023, Akamai released three additional data centers: Chicago (USA), Paris (France), and Washington, DC (USA). Customers can leverage these data centers to deploy the full suite of Akamai's cloud computing services. In addition, Premium plans and higher capacity Object Storage clusters are currently only available in these new data centers. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/_shortguides/password-requirements-shortguide/index.md b/docs/products/_shortguides/password-requirements-shortguide/index.md deleted file mode 100644 index 266b6ce563e..00000000000 --- a/docs/products/_shortguides/password-requirements-shortguide/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -# Shortguide: Password requirements and recommendations - -headless: true -show_on_rss_feed: false ---- - -{{< note type="warning" title="Password requirements and recommendations" isCollapsible=true >}} -Account passwords must be a minimum of 11 characters in length and be sufficiently complex. Each password is individually analyzed by an algorithmic tool to determine it's strength. When creating a password, follow the recommendations listed below: - -- Password should be _at least_ 11 characters in length (though longer passwords are considered stronger). -- Avoid using simple passwords based on dictionary words. -- Use a mixture of unpredictable uppercase letters, lowercase letters, numbers, and symbols. -- Avoid repeating characters (`aaa`), sequences (`abcd`), and keyboard patterns (`qwerty`). -{{< /note >}} \ No newline at end of file diff --git a/docs/products/compute/_index.md b/docs/products/compute/_index.md deleted file mode 100644 index 5ebad537f6a..00000000000 --- a/docs/products/compute/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Compute -title_meta: Compute Products and Services -description: "Linode compute instances allow you to build, release, and scale faster with virtual machines and tools for every workload." ---- diff --git a/docs/products/compute/_shortguides/gpu-deposit-shortguide/index.md b/docs/products/compute/_shortguides/gpu-deposit-shortguide/index.md deleted file mode 100644 index f6c8b9b94cb..00000000000 --- a/docs/products/compute/_shortguides/gpu-deposit-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Notice regarding deposits for GPU instances - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -In some cases, a $100 deposit may be required to deploy GPU Compute Instances. This may include new accounts that have been active for less than 90 days and accounts that have spent less than $100 on Linode services. If you are unable to deploy GPU instances, contact [Support](https://www.linode.com/support/) for assistance. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/compute/_shortguides/instance-comparison-shortguide/index.md b/docs/products/compute/_shortguides/instance-comparison-shortguide/index.md deleted file mode 100644 index be5e2785b4d..00000000000 --- a/docs/products/compute/_shortguides/instance-comparison-shortguide/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -# Shortguide: Table comparing Compute Instance types, featured on overview pages within product documentation - -headless: true -show_on_rss_feed: false ---- - -|
      Instance Type
      | CPU | Overview | -| -- | -- | -- | -| [**Shared CPU**](/docs/products/compute/compute-instances/plans/shared-cpu/) | Shared | **1 GB - 192 GB Memory, 1 - 32 vCPUs, 25 GB - 3840 GB Storage**
      [Starting at $5/mo ($0.0075/hour)](https://www.linode.com/pricing/#compute-shared)

      Offers a balanced array of resources coupled with shared CPUs, which keeps costs down while still supporting a wide variety of cloud applications.

      *Best for development servers, staging servers, and low traffic web applications.* | -| [**Dedicated CPU**](/docs/products/compute/compute-instances/plans/dedicated-cpu/) | Dedicated | **4 GB - 512 GB\* Memory, 2 - 64 vCPUs, 80 GB - 7200 GB Storage**
      [Starting at $36/mo ($0.05/hour)](https://www.linode.com/pricing/#compute-dedicated)

      Equipped with Dedicated CPUs, which provide competition-free guaranteed CPU resources. Perfectly balanced for most production applications.

      *Best for production websites, high traffic databases, and any application that requires 100% sustained CPU usage.* | -| [**Premium**](/docs/products/compute/compute-instances/plans/premium/) | Dedicated | **4 GB - 512 GB\* Memory, 2 - 64 vCPUs, 80 GB - 7200 GB Storage**
      [Starting at $43/mo ($0.06/hour)](https://www.linode.com/pricing/#compute-premium)

      Provides the best available AMD EPYC™ CPUs on dedicated resources. Consistent performance for CPU-intensive workloads.

      *Best for enterprise-grade, business-critical, and latency-sensitive applications.* | -| [**High Memory**](/docs/products/compute/compute-instances/plans/high-memory/) | Dedicated | **24 GB - 300 GB Memory, 2 - 16 vCPUs, 20 GB - 340 GB Storage**
      [Starting at $60/mo ($0.09/hour)](https://www.linode.com/pricing/#compute-high-memory)

      Optimized for memory-intensive applications and equipped with Dedicated CPUs, which provide competition free guaranteed CPU resources.

      *Best for in-memory databases, in-memory caching systems, big data processing, and any production application that requires a large amount of memory while keeping costs down.* | -| [**GPU - NVIDIA RTX 4000 Ada (Beta)**](/docs/products/compute/compute-instances/plans/gpu/) | Dedicated | **1 - 8 cards, 20 - 160 GB Video Memory, 64 GB - 512 GB Memory, 20 - 60 vCPUs, 1.5 TB - 25 TB Storage**
      Starting at $600/mo ($0.83/hour)

      The only Compute Instance type that's equipped with NVIDIA RTX 4000 Ada GPUs (up to 8) for on demand execution of complex processing workloads.

      *Best for applications that require massive amounts of parallel processing power including machine learning, AI inferencing, graphics processing, and big data analysis.* | -| [**GPU - NVIDIA Quadro RTX 6000**](/docs/products/compute/compute-instances/plans/gpu/)
      (limited deployment availability) | Dedicated | **1 - 4 cards, 24 - 96 GB Video Memory, 32 GB - 128 GB Memory, 8 - 24 vCPUs, 640 GB - 2560 GB Storage**
      [Starting at $1000/mo ($1.50/hour)](https://www.linode.com/pricing/#compute-gpu)

      The only Compute Instance type that's equipped with NVIDIA Quadro RTX 6000 GPUs (up to 4) for on demand execution of complex processing workloads.

      *Best for applications that require massive amounts of parallel processing power, including machine learning, AI, graphics processing, and big data analysis.* | - -\*512 GB Dedicated CPU and Premium plans are in limited availability. - -See [Choosing a Compute Instance Type and Plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/) to compare plans. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/_index.md b/docs/products/compute/compute-instances/_index.md deleted file mode 100644 index 8540f66c202..00000000000 --- a/docs/products/compute/compute-instances/_index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Compute Instances -title_meta: "Compute Instance Product Documentation" -description: "Host your workloads on Linode's secure and reliable cloud infrastructure using Compute Instances, versatile Linux-based virtual machines." -published: 2023-01-18 -modified: 2024-05-21 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "Linux virtual machines equipped with a tailored set of resources designed to run any cloud-based workload." ---- - -Compute Instances are virtual machines that run on Linode's secure and reliable cloud infrastructure. To support a variety of workloads, Compute Instance plans are organized under several basic plan types, each with their own set of resources, unique value propositions, and technical specifications (see [Plan Types](/docs/products/compute/compute-instances/plans/)). Each Compute Instance can run a variety of [supported Linux distributions](/docs/products/compute/compute-instances/guides/distributions/), including the latest versions of Ubuntu, CentOS Stream, Debian, and more. - -## Availability - -Compute Instances are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Plans and Pricing - -Below is a table with specifications and prices for each type of Compute plan. Note that pricing and plan availability may vary between regions. See our [Pricing](https://www.linode.com/pricing/) page for a full list of pricing options. - -{{% content "instance-comparison-shortguide" %}} - -## Technical Specifications - -In addition to the resources allocated to each available plan (outlined above), Compute Instances have the following specifications: - -- Shared or Dedicated vCPU cores (dependent on the chosen plan) -- 100% SSD (Solid State Disk) storage -- 40 Gbps inbound network bandwidth -- Free inbound network transfer (ingress) -- Metered outbound network transfer (egress) that includes 1 TB - 20 TB of prorated* network transfer allowance -- Dedicated IPv4 and IPv6 addresses (additional addresses available on request) -- Deploy using the many available [Linux Distributions](https://www.linode.com/distributions/), [Quick Deploy Apps](https://www.linode.com/marketplace/), or Community [StackScripts](https://www.linode.com/products/stackscripts/) -- Direct console access through [Lish](/docs/products/compute/compute-instances/guides/lish/) -- Provisioning and management through [Cloud Manager](https://cloud.linode.com/), [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) -- [Multi-queue NIC](/docs/products/compute/compute-instances/guides/multiqueue-nic/) support on plans with 2 or more vCPU cores. - -\**If a service is not active for the entire month, the amount of network transfer allowance is prorated based on the number of hours the service is active.* - -## Services Included at No Extra Cost - -Linode bundles the following services with all Compute Instances: - -- Always-on [DDoS Protection](https://www.linode.com/products/ddos/) -- Domain management through our [DNS Manager](https://www.linode.com/products/dns-manager/) -- Seamless firewall management with [Cloud Firewalls](https://www.linode.com/products/cloud-firewall/) -- Private Layer 2 networks with [VLANs](https://www.linode.com/products/vlan/) -- Physical placement of your Compute Instances in a data center with [Placement Groups](/docs/products/compute/compute-instances/guides/placement-groups/) -- Metrics and monitoring through [Cloud Manager](https://www.linode.com/products/monitoring/) and [Longview](/docs/products/tools/longview/) (free plan) -- Reusable deployment scripts through [StackScripts](https://www.linode.com/products/stackscripts/) - -## Complementary Paid Services - -To help build and manage your applications, consider complementing your Compute Instance with the following compatible services: - -- Automated daily and weekly backups with our [Backups service](https://www.linode.com/products/backups/) -- Add additional storage drives with [Block Storage](https://www.linode.com/products/block-storage/) -- Create and store reusable images with [Custom Images](https://www.linode.com/products/images/) -- Advanced metrics and monitoring through [Longview Pro](/docs/products/tools/longview/get-started/) -- Automated service deployments with [LKE (Linode Kubernetes Engine)](https://www.linode.com/products/kubernetes/) -- Incident response (and more) with [Managed Services](https://www.linode.com/products/managed/) -- Enable load balancing and horizontal scaling with [NodeBalancers](https://www.linode.com/products/nodebalancers/) -- Add scalable storage to your application with [Object Storage](https://www.linode.com/products/object-storage/) \ No newline at end of file diff --git a/docs/products/compute/compute-instances/developers/index.md b/docs/products/compute/compute-instances/developers/index.md deleted file mode 100644 index 8ee6fe72dae..00000000000 --- a/docs/products/compute/compute-instances/developers/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Compute Instances" -description: "Easily manage Compute Instances with developer tools like the Linode API or CLI as well as third party tools and integrations." -published: 2023-01-18 -tab_group_main: - weight: 50 -aliases: ['/products/compute/shared-linodes/developers/','/products/compute/shared-cpu/developers/','/products/compute/gpu/developers/','/products/compute/dedicated-cpu/developers/','/products/compute/high-memory/developers/'] ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Linode Instances Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage Linode Instances](/docs/products/tools/cli/guides/linode-instances/). - -## Third Party Tools & Integrations - -**Terraform**: Terraform is an Infrastructure-as-code tool that includes management features for various types of Linode resources. Use Linode’s [official Terraform Provider](https://registry.terraform.io/providers/linode/linode/latest/docs) to [provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/). To learn more about Terraform see our documentation library’s [Terraform section](/docs/applications/configuration-management/terraform/). - -**Pulumi**: Pulumi is a development tool that lets you write computer programs which deploy cloud resources. With [Pulumi’s Linode integration](https://github.com/pulumi/pulumi-linode), you can manage your Linode resources in several programming languages, like JavaScript, Go, Python, and TypeScript. Pulumi manages your resources in the same way as Linode's API or CLI. See [Pulumi’s documentation](https://www.pulumi.com/docs/intro/cloud-providers/linode/) to get started. - -- [Getting Started with Pulumi](/docs/guides/deploy-in-code-with-pulumi/) diff --git a/docs/products/compute/compute-instances/faqs/_index.md b/docs/products/compute/compute-instances/faqs/_index.md deleted file mode 100644 index 6ec47a522cb..00000000000 --- a/docs/products/compute/compute-instances/faqs/_index.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: "FAQs" -title_meta: "FAQs for Compute Instances" -description: "Find quick answers to some of the most commonly asked questions about Compute Instances." -published: 2009-11-16 -modified: 2023-01-18 -tab_group_main: - weight: 60 -aliases: ['/beginners-guide/','/platform/linode-beginners-guide/','/platform/billing-and-support/linode-beginners-guide/','/guides/linode-beginners-guide/'] ---- - -If you're relatively new to Linux system administration, or just new to our platform, this guide will help address some of the most common questions we receive. If you've just created your first Linode account, please first refer to our [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide and return here once your Compute Instance has been deployed. - -## How do I log in to my Compute Instance? - -All Compute Instances can be accessed through [Lish](/docs/products/compute/compute-instances/guides/lish/) and [SSH](/docs/guides/connect-to-server-over-ssh/) (if properly configured). Both methods provide you with command line access to your system. You can learn more about connecting to your Linode for the first time in the [connecting to your Linode with SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) section of our [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. - -## How do I host websites on my Compute Instance? - -Since you have full root access to your Compute Instance's system, you're free to choose between a number of popular web servers to host your websites. If you'd like to install a full LAMP stack (including support for PHP/Perl/Python scripting and databases), our [LAMP guides](/docs/lamp-guides/) will explain each step of the process. If you'd just like to host a site that consists of static pages, these guides explain the installation of a few popular web server packages: - -- [Hosting Websites with Apache](/docs/websites/apache/): Apache is the most popular web server software on the Internet. -- [Hosting Websites with Nginx](/docs/websites/nginx): Nginx is a fast, scalable web server that is well suited for both static and dynamic content. -- [Hosting Websites with Lighttpd](/docs/websites/lighttpd/): Lighttpd is popular with users who want a very small, lightweight web server. - -## How can I send and receive email with my Compute Instance? - -{{% content "email-warning-shortguide" %}} - -If you'd prefer to leave the management of your email to a third party, you may follow our [Google Workspace](/docs/guides/using-google-workspace-for-email/) guide. Those desiring to operate their own mail server will find these guides helpful: - -- [Postfix Guides](/docs/email/postfix/): Information on using the highly popular Postfix MTA (mail transfer agent). -- [Zimbra Guides](/docs/email/zimbra/): Instructions for deploying Zimbra, a unified messaging system that includes email and calendar. -- [Citadel Groupware](/docs/email/citadel/): An easy to use "all in one" email system with a web-based administration panel. - -## Does my Compute Instance have a control panel? - -We provide a base system install of the Linux distribution of your choice. Although there isn't a control panel installed by default, you're welcome to obtain and install one if you like. You may wish to try an open-source control panel; we have numerous [control panel guides](/docs/websites/cms/) available to assist you with getting one installed. - -Please note that we do *not* sell control panel licenses. If you decide you'd like to use a commercial product, you'll need to obtain a license for it separately. - -## How do I upload files to my Compute Instance? - -By default, SSH is enabled on all newly deployed Compute Instances. You may use any file transfer program that supports the SFTP standard to upload files. We've created guides for some commonly used programs: - -- [WinSCP](/docs/guides/transfer-files-with-winscp-on-windows/): Windows 95 through Windows 10 -- [Cyberduck](/docs/guides/transfer-files-with-cyberduck-on-mac-os-x/): Mac OS X -- [Filezilla](/docs/guides/filezilla/): Available on all major desktop platforms, including Linux-based operating systems - -## How can I download a backup of my Compute Instance? - -First, you might want to give the [Linode Backup Service](http://www.linode.com/backups/) a try. It's a fast, flexible and cost-effective way to make extra copies of your data. That said, the old saying "you can never have too many backups" is certainly true. In case you'd like to "roll your own" solution, we've created guides that explain various ways of creating backups of your Compute Instance's filesystems: - -- [Introduction to Rsync](/docs/guides/introduction-to-rsync/): Using `rsync` to mirror files to another server. -- [Using Rdiff-backup with SSHFS](/docs/guides/using-rdiff-backup-with-sshfs/): An easy approach to using the `rdiff-backup` utility to maintain differential backups. -- [Cloning a Disk](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance): Creating an exact copy of a disk in Cloud Manager. -- [Copying a Disk Over SSH](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/): How to download an exact binary image of your Compute Instance's disk over SSH. - -## How can I install software on my Compute Instance? - -Please refer to our guide on [Linux package management](/docs/guides/linux-package-management-overview/) for distribution-specific instructions on getting software installed on your Compute Instance. Since you have full root access to your system, you're allowed to install anything that complies with our [terms of service](http://www.linode.com/tos). - -## How do I add another IP address? - -You may add an [additional public IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) from the **Networking** tab for each Compute Instance in Cloud Manager. After you've added a new IP address, you must [configure static networking](/docs/products/compute/compute-instances/guides/manual-network-configuration/) or enable [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) and reboot your instance before it can be used. - -{{< note >}} -We require technical justification for the issuance of new IP addresses; you may need to open a ticket from the [Support Tickets](https://cloud.linode.com/support/tickets) section of Cloud Manager explaining the reason for the new IP. -{{< /note >}} - -If you'd like to take advantage of our private networking feature, you may add a private IP to your Compute Instance from the **Networking** tab for each instance in Cloud Manager. Private IP addresses are not publicly accessible, although they are accessible from other Compute Instances in the same data center. Although we take measures to prevent others from intercepting your private IP traffic, you may still wish to configure a firewall to allow access from only the Compute Instances that you operate. - -## How do I set the reverse DNS for an IP address? - -To [set rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/), you can use the **More Options** ellipsis next to your Compute Instance's IPv4 address from the **Networking** tab in Cloud Manager. Please note that the value you specify needs to match an A record or CNAME in DNS pointing to your Compute Instance's IP address. It may take up to 48 hours for reverse DNS updates to take effect. - -## Why does my Compute Instance keep crashing? - -You may be running out of memory, disk space, or other resources. Have a look at our [troubleshooting guide](/docs/troubleshooting/) for tips on diagnosing problems and easy steps for fixing common issues. - -If an application is crashing, be sure to check its error logs. These are typically located within an application-specific directory under `/var/log`. - -## Why is my connection to my Compute Instance slow or broken? - -First, check to be sure that the service (SSH, HTTP, etc.) you're trying to access is running. If your Compute Instance runs a firewall, [check your firewall rules](/docs/guides/control-network-traffic-with-iptables/#view-your-current-iptables-rules) to ensure that you're allowing traffic to the desired destination. If this doesn't help, generate [MTR reports](/docs/guides/diagnosing-network-issues-with-mtr/) to and from your Compute Instance, and [submit them](/docs/products/platform/get-started/guides/support/#contact-customer-support) via the [Support Tickets](https://cloud.linode.com/support/tickets) section in Cloud Manager. You may need to use [Lish](/docs/products/compute/compute-instances/guides/lish/) if you're having problems reaching your Compute Instance via normal networking. - -## How can I upgrade or downgrade my Compute Instance? - -You can change your Compute Instance's plan by using the Resize feature in Cloud Manager. If you're downgrading, please make sure you've resized your disk images to fit within your desired plan's disk space allocation before issuing the resize job. For instructions, refer to our guide on [Resizing a Compute Instance](/docs/products/compute/compute-instances/guides/resize/). - -## How can I test downloads speeds from different data centers? - -You may use our [speed test](http://www.linode.com/speedtest/) page to check latency and download speeds from your location to each of our data centers. Many customers with a large Asia-Pacific presence find that our Singapore and Tokyo facilities work best, while those with a visitor base in Europe tend to prefer our London or Frankfurt data centers. - -## Can I transfer my Compute Instance to another data center? - -Yes. Any time you'd like to transfer your Compute Instance, you can proceed with a migration from the **Disks/Configs** tab for any instance within [Cloud Manager](https://cloud.linode.com). For more information, see our [Data Center Migration Guide](/docs/products/compute/compute-instances/guides/migrate-to-different-dc/). - -A migration will result in some changes that will be displayed in a caution message for your review before officially beginning the migration process. Your disks and configuration profiles will move with your Compute Instance, although your IP addresses will need to change. We strongly recommend reviewing this caution message carefully before proceeding for a list of all changes that you can expect. - -## Where can I learn about Linux basics? - -For those just getting started with Linux systems, we've created a series of guides that will help explain basic concepts: - -- [Introduction to Linux Concepts](/docs/guides/introduction-to-linux-concepts/): An introduction to Linux and Unix-like systems. -- [Linux Users and Groups](/docs/guides/linux-users-and-groups/): An introduction to the principal concepts and use of the users and groups system. -- [Using the Terminal](/docs/guides/using-the-terminal/): Introducing the command line interface known as the shell or terminal. -- [Linux Package Management](/docs/guides/linux-package-management-overview/): How to install software on your Compute Instance. -- [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/): Keeping your Linode safe from unauthorized access or abuse. - -## Where can I get help with something not covered here? - -We always recommend consulting our excellent [user community](https://www.linode.com/community/questions/) first when faced with a question that doesn't seem to be addressed in our documentation. There is also an active community of users available to help on [IRC](https://www.linode.com/chat). If you get stuck you may also open a [support](https://www.linode.com/contact) ticket from the "Get Help" sidebar in Cloud Manager. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/faqs/tab.svg b/docs/products/compute/compute-instances/faqs/tab.svg deleted file mode 100644 index 24b2df1f82a..00000000000 --- a/docs/products/compute/compute-instances/faqs/tab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/compute/compute-instances/feature.png b/docs/products/compute/compute-instances/feature.png deleted file mode 100644 index 77ba869c522..00000000000 Binary files a/docs/products/compute/compute-instances/feature.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/feature.svg b/docs/products/compute/compute-instances/feature.svg deleted file mode 100644 index 293a08adbdb..00000000000 --- a/docs/products/compute/compute-instances/feature.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/products/compute/compute-instances/get-started/index.md b/docs/products/compute/compute-instances/get-started/index.md deleted file mode 100644 index 2625d53e62b..00000000000 --- a/docs/products/compute/compute-instances/get-started/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Compute Instances" -description: "Learn how to quickly start using Compute Instances on the Linode Platform." -published: 2023-01-18 -tab_group_main: - weight: 20 -aliases: ['/products/compute/shared-linodes/get-started/','/products/compute/shared-cpu/get-started/','/products/compute/dedicated-cpu/get-started/','/products/compute/gpu/get-started/','/products/compute/high-memory/get-started/'] ---- - -Compute Instances (cloud-based virtual machines) are the foundational infrastructure components for most applications and workloads running on Linode. They offer a fully virtualized Linux system with root access. As such, you can install whatever software you need and configure to be perfectly tuned for your use cases. Compute Instances can host anything from a personal blog or small business website all the way up to enterprise applications serving millions of people a day. - -## Create a Compute Instance - -Compute Instances can be deployed using Cloud Manager, the Linode API, or the Linode CLI. For instructions on deploying one through Cloud Manager, see the following guides: - -- [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) -- [Choosing a Compute Instance Type and Plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/) - -{{< note >}} -Consider deploying an app from the [Linode Marketplace](https://www.linode.com/marketplace/apps/) to quickly get up and running with many popular applications, including [Wordpress](https://www.linode.com/marketplace/apps/linode/wordpress/), [WooCommerce](https://www.linode.com/marketplace/apps/linode/woocommerce/), [LEMP](https://www.linode.com/marketplace/apps/linode/lemp/), [cPanel](https://www.linode.com/marketplace/apps/cpanel/cpanel/), [Plesk](https://www.linode.com/marketplace/apps/plesk/plesk/), and [Nextcloud](https://www.linode.com/marketplace/apps/linode/nextcloud/). See [How to Use Linode's Quick Deploy Apps](/docs/marketplace-docs/get-started/). -{{< /note >}} - -## Connect to the Instance - -After the Compute Instance is finished provisioning and has fully booted up, you can connect to it through the built-in Lish Console in Cloud Manager (or via the SSH Lish Gateway) or SSH directly to your new system. - -- **Weblish (via Cloud Manager):** Click the **Launch LISH Console** link at the top right corner of the Compute Instance's detail page. See [Using the Lish Console > Through a Browser](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish). - -- **SSH:** Copy the command from the *SSH Access* field that is available in Cloud Manager under the **Access** section on the Compute Instance's detail page. Paste the command into your local computer's terminal. The command should look similar to the following, only with the IP address of your newly created instance. - - ```command - ssh root@192.0.2.1 - ``` - - - **Windows:** Windows 10 and 11 users can connect to their Compute Instance using the [Command Prompt (or PowerShell)](/docs/guides/connect-to-server-over-ssh-on-windows/#command-prompt-or-powershell---windows-10-or-11) application, provided their system is fully updated. For users of Windows 8 and earlier, [Secure Shell on Chrome](/docs/guides/connect-to-server-over-ssh-on-chrome/), [PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/), or many other third party tools can be used instead. See [Connecting to a Remote Server Over SSH on Windows](/docs/guides/connect-to-server-over-ssh-on-windows/). - - **macOS:** The *Terminal* application is pre-installed on macOS. See [Connecting to a Remote Server Over SSH on a Mac](/docs/guides/connect-to-server-over-ssh-on-mac/). - - **Linux:** You can use a terminal window, regardless of desktop environment or window manager. See [Connecting to a Remote Server Over SSH on Linux](/docs/guides/connect-to-server-over-ssh-on-linux/) - -- **Lish (via SSH):** Copy the command from the *LISH Console via SSH* field that is available in Cloud Manager under the **Access** section on the Compute Instance's detail page. Paste the command into your local computer's terminal. The command should look similar to the one below, only with your username, data center, and Compute Instance label. Review [Using the Lish Console > Through SSH](/docs/products/compute/compute-instances/guides/lish/#through-ssh-using-a-terminal) for more instructions. - - ```command - ssh -t user@lish-newark.linode.com example-instance - ``` - -## Migrate Existing Workloads - -Linode's Compute Instances (and other products and services) can run almost any workload you may have on other hosting providers. Review the [migration guides](/docs/guides/platform/migrate-to-linode/) for instructions. - -## Deploy New Applications - -Now you can start using your Compute Instance. Whether you're just here to test things out or are looking to host a specific application with us, we may have a guide that can help you get up and running. Open the [Guides](/docs/guides/) section and start browsing or use the search tool at the top of the page to find any guides related to your use case. - -{{% content "email-warning-shortguide" %}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/_index.md b/docs/products/compute/compute-instances/guides/_index.md deleted file mode 100644 index 15df95b925f..00000000000 --- a/docs/products/compute/compute-instances/guides/_index.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Compute Instances" -description: "A collection of guides to help you start deploying Compute Instances and using them to host your web applications and Cloud workloads" -published: 2023-01-18 -modified: 2024-06-20 -tab_group_main: - weight: 30 -aliases: ['/products/compute/shared-linodes/guides/','/products/compute/shared-cpu/guides/','/products/compute/gpu/guides/','/products/compute/dedicated-cpu/guides/','/products/compute/high-memory/guides/'] ---- - -## Basics - -- [Get Started with Compute Instances](/docs/products/compute/compute-instances/get-started/) -- [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) -- [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) -- [Monitor and Maintain a Compute Instance](/docs/products/compute/compute-instances/guides/monitor-and-maintain/) -- [Resize a Compute Instance](/docs/products/compute/compute-instances/guides/resize/) - -## Management Tasks - -- [Access Your System Console Using Lish (Linode Shell)](/docs/products/compute/compute-instances/guides/lish/) -- [Access Your Desktop Environment Using Glish (Linode Graphical Shell)](/docs/products/compute/compute-instances/guides/glish/) -- [Reset Root Password](/docs/products/compute/compute-instances/guides/reset-root-password/) -- [Clone a Compute Instance](/docs/products/compute/compute-instances/guides/clone-instance/) -- [Physically Group Compute Instances to Meet Your Needs](/docs/products/compute/compute-instances/guides/placement-groups) -- [Initiate a Cross Data Center Migration](/docs/products/compute/compute-instances/guides/migrate-to-different-dc/) -- [Configure Email Alerts for Resource Usage on Compute Instances](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/) - -## Linux Distributions - -- [Choosing a Linux Distribution](/docs/products/compute/compute-instances/guides/distributions/) -- [Packages Included on Linode Distribution Images](/docs/products/compute/compute-instances/guides/default-packages/) -- [Linode Packages Mirrors for Various Distributions](/docs/products/compute/compute-instances/guides/package-mirrors/) -- [Install a Custom Linux Distribution](/docs/guides/install-a-custom-distribution/) - -## Disks and Configurations - -- [Manage Disks and Storage](/docs/products/compute/compute-instances/guides/disks-and-storage/) -- [Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) -- [Managing the Kernel](/docs/products/compute/compute-instances/guides/manage-the-kernel/) -- [Copy a Disk Over SSH](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/) -- [Copying a Disk to a Different Account](/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/) - -## Networking - -- [Manage IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) -- [Configure rDNS (Reverse DNS)](/docs/products/compute/compute-instances/guides/configure-rdns/) -- [Automatically Configure Networking with Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) -- [Manual Network Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) -- [Configure Failover](/docs/products/compute/compute-instances/guides/failover/) -- [An Overview of IPv6 on Linode](/docs/products/compute/compute-instances/guides/ipv6/) -- [DHCP IP Address Reference](/docs/products/compute/compute-instances/guides/dhcp-ip-address-reference/) - -## Metadata (Automated System Configuration with Cloud-Init) - -- [Overview of the Metadata Service](/docs/products/compute/compute-instances/guides/metadata/) -- [Cloud-Config Usage and Examples](/docs/products/compute/compute-instances/guides/metadata-cloud-config/) -- [How to Use the Metadata Service API](/docs/products/compute/compute-instances/guides/metadata-api/) - -## Recovery and Troubleshooting - -- [Recover from Unexpected Shutdowns with Lassie (Shutdown Watchdog)](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) -- [Rescue and Rebuild](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) -- [Troubleshooting General Issues](/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/) -- [Troubleshooting Connection Issues](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) -- [Troubleshooting SSH Issues](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) -- [Troubleshooting Memory Issues](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/) -- [Troubleshooting Firewall Issues](/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/) -- [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) - -## GPU Instances - -- [Installing the NVIDIA CUDA Toolkit](/docs/products/compute/compute-instances/guides/install-nvidia-cuda/): Details on installing the NVIDIA CUDA Toolkit, required to make full use of your GPU instance. - -### NVIDIA Documentation - -- [CUDA FAQ](https://developer.nvidia.com/cuda-faq): NVIDIA's FAQ resource for the CUDA platform. - -- [NVIDIA CUDA Installation Guide for Linux](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html): The main installation guide for installing the CUDA Toolkit. - -- [CUDA Samples](https://github.com/nvidia/cuda-samples): Code samples demonstrating features found within the CUDA Toolkit. - -- [CUDA C++ Best Practices Guide](https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html): Discusses the best practices that developers can implement to get the most out of GPU instances. - -- [CUDA C++ Programming Guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html): Provides details on how to develop programs that target GPUs. - -## Going Further - -### Hosting a Website - -- [Host a Website on Ubuntu 18.04](/docs/guides/hosting-a-website-ubuntu-18-04/) - -- [How to Choose a Static Site Generator](/docs/guides/how-to-choose-static-site-generator/) - -- [Host a Website with High Availability](/docs/guides/host-a-website-with-high-availability/) - -### Set Up a Web Server - -- [Web Server Guides](/docs/web-servers/) - -### Migrate to Linode - -- [Migrate from Shared Hosting to Linode](/docs/guides/migrate-from-shared-hosting-to-linode/) - -- [Best Practices when Migrating to Linode](/docs/guides/best-practices-when-migrating-to-linode/) \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/clone-instance/clone-disk.png b/docs/products/compute/compute-instances/guides/clone-instance/clone-disk.png deleted file mode 100644 index 3077048e914..00000000000 Binary files a/docs/products/compute/compute-instances/guides/clone-instance/clone-disk.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/clone-instance/clone-instance-tab.png b/docs/products/compute/compute-instances/guides/clone-instance/clone-instance-tab.png deleted file mode 100644 index 59211712230..00000000000 Binary files a/docs/products/compute/compute-instances/guides/clone-instance/clone-instance-tab.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/clone-instance/clone-select-instance.png b/docs/products/compute/compute-instances/guides/clone-instance/clone-select-instance.png deleted file mode 100644 index db840282246..00000000000 Binary files a/docs/products/compute/compute-instances/guides/clone-instance/clone-select-instance.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/clone-instance/clone-your-linode.png b/docs/products/compute/compute-instances/guides/clone-instance/clone-your-linode.png deleted file mode 100644 index 81ea70efa36..00000000000 Binary files a/docs/products/compute/compute-instances/guides/clone-instance/clone-your-linode.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/clone-instance/configuration-profile-menu-clone.png b/docs/products/compute/compute-instances/guides/clone-instance/configuration-profile-menu-clone.png deleted file mode 100644 index 055090c7ab9..00000000000 Binary files a/docs/products/compute/compute-instances/guides/clone-instance/configuration-profile-menu-clone.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/clone-instance/disk-menu-clone.png b/docs/products/compute/compute-instances/guides/clone-instance/disk-menu-clone.png deleted file mode 100644 index 085a8c408ca..00000000000 Binary files a/docs/products/compute/compute-instances/guides/clone-instance/disk-menu-clone.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/clone-instance/index.md b/docs/products/compute/compute-instances/guides/clone-instance/index.md deleted file mode 100644 index 3fd5c7e9aeb..00000000000 --- a/docs/products/compute/compute-instances/guides/clone-instance/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Cloning a Compute Instance" -title_meta: "How to Clone a Compute Instance" -description: "This guide provides you with step-by-step instructions for making additional copies of your Compute Instance." -published: 2019-03-18 -modified: 2024-04-11 -keywords: ["clone", " cloning", "cloud manager"] -tags: ["linode platform","cloud manager"] -aliases: ['/migrate-to-linode/disk-images/clone-your-linode/','/platform/disk-images/clone-your-linode/','/platform/disk-images/clone-your-linode-classic-manager/','/guides/clone-your-linode/'] ---- - -Linode's cloning feature lets you duplicate a Compute Instance's disks (and configuration profiles) to a new or existing instance. - -## Clone to a New Compute Instance - -This process copies all disks and configuration profiles to a newly created Compute Instance on your account. - -{{< note >}} -Before continuing, you should power off the instance you want to clone. This helps prevent data corruption. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click the **Create** dropdown menu on the top left and select **Linode**. - -1. In the **Create New Linode** form, navigate to the **Clone Linode** tab. - - ![Screenshot of the Clone Linode tab.](clone-instance-tab.png) - -1. Under **Select Linode to Clone From**, search for and select the instance you wish to clone. If the selected instance is running, **Power Off** appears to the right. - -1. To help prevent data corruption during cloning, click **Power Off**. - - {{< note >}} - If you're using a mobile device, available instances appear as cards without the Power Off option. To power off an instance from a mobile device, go to the instance's details page. - {{< /note >}} - -1. Complete the remainder of the form. Enter a label and select the region, the plan, and other options for the new Compute Instance. - - {{< note >}} - - The plan's storage must be greater than the combined disk size of the original instance. If you wish to select a plan with less storage, you may need to [resize your disks](/docs/products/compute/compute-instances/guides/disks-and-storage/) before cloning. - - - If the target Compute Instance is in a [placement group](/docs/products/compute/compute-instances/guides/placement-groups/), the clone isn't automatically included in the same placement group. You need to specify a placement group to include it in. The target placement group needs to have capacity to include a cloned Compute Instance and it needs to be in the same data center as the clone. - {{< /note >}} - -1. Click the **Create Linode** button to start the cloning process. Cloning a Compute Instance can be much longer than creating a new instance based on a distribution image or custom image. The length of time depends on the size of the disks, among other factors. To keep track of the cloning progress, a status bar is displayed above the original Compute Instance with the percentage of completion. - -1. Once the cloning process is complete, you need to power on the new Compute Instance to begin using it. - -{{< note >}} -The new instance's IP address will be different than the original instance. If desired, you can transfer the IP address from the original Compute Instance to the new one. Swapping the IP address can prevent additional changes from being required, such as changing DNS records or the internal configuration of the new instance. See [Transferring IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#transferring-ip-addresses). -{{< /note >}} - -## Clone to an Existing Compute Instance - -This process lets you select specific disks or configuration profiles and duplicate them to an existing Compute Instance. When cloning a configuration profile, all disks assigned to that profile are also cloned. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and select the **Linodes** link in the left sidebar menu. - -1. Locate the Compute Instance you wish to clone and click its corresponding label, which displays the instance's detail page. - -1. To help prevent data corruption, click the **Power Off** link in the top right. - -1. **To clone a disk:** Navigate to the **Storage** tab, locate the disk you wish to clone within the **Disks** table, click the **more options ellipsis** dropdown menu, and select **Clone**. - - ![Screenshot of the Storage tab](disk-menu-clone.png) - - **To clone a configuration profile:** Navigate to the **Configurations** tab, locate the profile you wish to clone within the **Config** table, click the **more options ellipsis** dropdown menu, and select **Clone**. - - ![Screenshot of the Configurations tab](configuration-profile-menu-clone.png) - -1. A **Clone** form appears with either the **Disks** or **Configuration Profiles** tab displayed, depending on the previous step. From here, select the exact disks and configuration profiles you wish to clone. When a configuration profile is selected, all disks assigned to it (through **Block Device Assignments**) are also selected. - - ![The Clone form in Cloud Manager](clone-disk.png) - -1. In the **Destination** dropdown menu, select the destination Compute Instance. - - {{< note >}} - The destination instance must have enough free storage to accommodate the disks that are to be cloned. If there's not enough free storage space, you'll need to either [resize the disks](/docs/products/compute/compute-instances/guides/disks-and-storage/) (either on the original or destination Compute Instance) or [upgrade the destination instance to a larger plan](/docs/products/compute/compute-instances/guides/resize/). - {{< /note >}} - -1. Click the **Clone** button to start the cloning process. The length of time this takes depends on the size of the Compute Instance's disks (among other factors). To keep track of the cloning progress, a status bar is displayed above the original instance with the percentage of completion. - -1. Once the cloning process is complete, you may need to make changes to the destination Compute Instance in order to begin using the disks. This involves either booting the instance using the cloned configuration profile or adjusting the existing configuration profile to assign the cloned disks. See [Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/compute-migrations/index.md b/docs/products/compute/compute-instances/guides/compute-migrations/index.md deleted file mode 100644 index c551c170fce..00000000000 --- a/docs/products/compute/compute-instances/guides/compute-migrations/index.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -slug: compute-migrations -title: "Compute Migrations on Akamai Cloud" -description: 'This guide reviews the various types of compute migrations available on the Akamai Cloud platform.' -published: 2023-11-14 -keywords: ['migrate','migration','host'] -tags: ["linode platform","cloud manager"] ---- - -A migration occurs when a Compute Instance is moved from one physical host machine to another. This can happen within the same data center or across data centers. Migrations across data centers can be configured by customers in Cloud Manager. All other types of migrations must be configured by a Linode or Akamai administrator. - -## Types of Migrations - -There are three types of migrations that can occur: **cold**, **live**, or **warm**. - -### Cold Migrations - -During a cold migration, your Compute Instance is automatically shut down (if it's not powered off already), moved to another physical host machine, and then returned to its previous state (booted or powered down) once it has fully migrated. - -- **Advantages:** Can occur within the same data center and across data centers, generally the most available type of migration option -- **Disadvantages:** Requires the most downtime of all migration types - -### Live Migrations - -During a live migration, your Compute Instance remains up and running while it is moved from one host to another within the same data center. - -- **Advantages:** No downtime -- **Disadvantages:** Not always an option depending on the scenario (i.e. host hardware compatibility, plan resizing, etc.) - -### Warm Migrations - -During a warm migration, your Compute Instance remains up and running while it is synced from one host to another within the same data center. Once synced, the instance is automatically powered down and is booted back up on the new host to complete the migration process. - -- **Advantages:** Significantly less downtime than a cold migration, alternative to live migrations if they are not available -- **Disadvantages:** Requires a reboot to complete the process - -## When Migrations Occur - -Compute Instances can be migrated between hosts within the same data center and across data centers. Some of the reason for these migrations are detailed below. The type of migration that occurs (warm, live, or cold) depends on the situation as well as the host hardware on the origin and destination machine. - -**Within the same data center:** - -- Scheduled or emergency maintenance -- By customer request via [Support ticket](/docs/products/platform/get-started/guides/support/) while troubleshooting performance issues -- During the [resize process](/docs/products/compute/compute-instances/guides/resize/) - -Migrations within the same data center can be achieved via any migration type (cold, live, and warm). - -**Across data centers:** - -- Customer initiated for personal or business reasons (see our guide on [Initiating a Cross Data Center Migration](/docs/products/compute/compute-instances/guides/migrate-to-different-dc/)) -- By customer request via [Support ticket](/docs/products/platform/get-started/guides/support/) -- When an old data center is retired. If this is the case, you will be notified ahead of any anticipated migrations or maintenance. - -Migrations across data centers can only be achieved using cold migrations. - -## Troubleshooting Migrations and FAQ - -### What if my cold migration fails? - -Should a cold migration fail for any reason, the Support team is notified and will configure a new cold migration. - -### Why would a live migration not be available? - -In order for a live migration to occur, a host compatible with the host your instance currently resides on must be available. Not all host hardware is alike or available to accept a live migration, so live migrations are not always a viable option. - -### What could cause a warm migration to fail? - -- Your instance is not configured to respect ACPI shutdowns: - - This applies to warm migrations initiated by customers, including warm migrations taking place during the warm resize process. - - This also applies if you are running a custom distribution (i.e. Windows) or unsupported disk image that is not configured for ACPI shutdowns. -- If a Linode or Akamai administrator cancels the warm migration. -- If the sources Linode stops responding, is shut down before the cross-host sync, or if the process is disturbed in any way. - -### What should I do if my warm migration fails? - -- If your warm migration fails to complete after an early initiation is triggered via Cloud Manager, the Support team is notified. There are two options that are used at the discretion of the Support team. - - A new warm migration can be configured to be performed at a scheduled time. - - A cold migration can be configured. You can then initiate the cold migration via Cloud Manager or allow it to proceed as otherwise scheduled. - -### What should I do if my warm resize fails? - -- If a warm resize fails, you can either proceed with a cold resize (recommended) or troubleshoot your instance's configuration to respect ACPI shutdowns. - -### What if my cross data center migration fails? - -- Should a cross data center migration fail, you may reattempt the migration. If it fails again, open a [Support ticket](/docs/products/platform/get-started/guides/support/) for further assistance. - -## Next Steps - -If you want to learn more about migrations or need additional troubleshooting tips, see the following resources for additional information: - -- [Guides - Change Plans (Resize)](/docs/products/compute/compute-instances/guides/resize/) -- [Guides - Reboot Survival Guide](/docs/guides/reboot-survival-guide/) -- [Linode Community - How should I handle a Scheduled Migration for my Linode?](https://www.linode.com/community/questions/23075/how-should-i-handle-a-scheduled-migration-for-my-linode) -- [Linode Community - My Linode is unreachable after maintenance](https://www.linode.com/community/questions/323/my-linode-is-unreachable-after-maintenance) -- [Linode Blog - Live Migrations at Linode](https://www.linode.com/blog/linode/live-migrations-at-linode/) diff --git a/docs/products/compute/compute-instances/guides/configuration-profiles/Linode-Configuration-Profiles.jpg b/docs/products/compute/compute-instances/guides/configuration-profiles/Linode-Configuration-Profiles.jpg deleted file mode 100644 index fe0562d9006..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configuration-profiles/Linode-Configuration-Profiles.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configuration-profiles/activity-feed-booted-configuration-profile.png b/docs/products/compute/compute-instances/guides/configuration-profiles/activity-feed-booted-configuration-profile.png deleted file mode 100644 index 86a208df791..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configuration-profiles/activity-feed-booted-configuration-profile.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configuration-profiles/index.md b/docs/products/compute/compute-instances/guides/configuration-profiles/index.md deleted file mode 100644 index 124f00c4e54..00000000000 --- a/docs/products/compute/compute-instances/guides/configuration-profiles/index.md +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: "Manage Configuration Profiles on a Compute Instance" -title_meta: "How to Manage Configuration Profiles on a Compute Instance" -description: "Learn how to create and manage configuration profiles for a Compute Instance, including details on each setting and its recommended value." -published: 2021-04-30 -modified: 2024-01-30 -keywords: ["configuration profiles"] -tags: ["linode platform","cloud manager"] -image: Linode-Configuration-Profiles.jpg -aliases: ['/platform/disk-images/disk-images-and-configuration-profiles-classic-manager/','/disk-images-config-profiles/','/platform/disk-images/disk-images-and-configuration-profiles/','/migrate-to-linode/disk-images/disk-images-and-configuration-profiles/','/guides/linode-configuration-profiles/','/guides/disk-images-and-configuration-profiles/','/platform/disk-images/kvm-reference/','/platform/kvm-reference/','/platform/kvm/','/guides/kvm-reference/'] ---- - -A **configuration profile** functions as a boot loader for a Compute Instance. It controls general boot settings, including the disk the instance will boot from, the disks that will be mounted, the kernel that will be used, and the network interfaces on the instance. Multiple configuration profiles can be created, each one booting from different disks with different settings. This can allow you to try out new Linux distributions without paying for additional Compute Instances (see [Deploy an Image to a Disk on an Existing Compute Instance](/docs/products/tools/images/guides/deploy-image-to-existing-linode/)) or to create custom software testing environments. - -## View Configuration Profiles - -The configuration profiles for a Compute Instance can be viewed and managed from [Cloud Manager](https://cloud.linode.com). - -1. Log in to [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar, and select a Compute Instance from the list. - -1. Navigate to the **Configurations** tab to view the configuration profiles on a Compute Instance. - - ![Viewing configuration profiles](linode-config-profiles.png) - -From here, a [configuration profile can be created](#creating-a-configuration-profile) using the **Add Configuration** button. To take action on an certain configuration, locate it within the **Configurations** table and select from the list of actions, some or all of which may appear within the **ellipsis** menu: - -- **Boot:** Boots the Compute Instance using the settings defined within the selected configuration profile. See [Booting from a Configuration Profile](#booting-from-a-configuration-profile). -- **Edit:** Modify the settings within a configuration profile. See [Editing a Configuration Profile](#editing-a-configuration-profile). -- **Clone:** Clones the configuration profile and the attached disks to any Compute Instance on the same account. See [Cloning a Configuration Profile and the Attached Disks](#cloning-a-configuration-profile-and-the-attached-disks). -- **Delete:** Deletes the configuration profile. See [Deleting a Configuration Profile](#deleting-a-configuration-profile). - -## Settings - -When adding or editing a configuration profile on a Compute Instance, the following settings are available: - -- **Virtual Machine:** VM mode determines whether devices inside your virtual machine are *paravirtualized* or *fully virtualized*. Here are the drivers used for various devices in each mode: - - | Device | Paravirtualization | Full virtualization | - | -- | -- | -- | - | Block | VirtIO SCSI | IDE | - | Network | VirtIO Net | e1000 | - | Serial | ttyS0 | ttyS0 | - - Since paravirtualization offers more performant networking and disk IO, it is the recommended mode. All Linux distributions provided by Linode support paravirtualization. When installing an operating system not offered by Linode, full virtualization may be required if that OS does not include virtualization-aware drivers. - -- **Boot Settings:** - - **Kernel:** Select the version of the Linux kernel that will be used. The options include Grub 2 (for upstream or custom-compiled kernels), a specific Linode supplied kernel, or Direct Disk. For most distributions, its recommended to set this option to *Grub 2*. See [Manage the Kernel on a Compute Instance](/docs/products/compute/compute-instances/guides/manage-the-kernel/). - - **Run Level:** Adjust the [run level](https://en.wikipedia.org/wiki/Runlevel) of the OS to allow for advanced diagnostics. Recommended setting: *Run Default Level*. - - **Memory Limit:** Limits the amount of memory that the Compute Instance can use. Recommended setting: *Do not set any limits on memory usage*. - -- **Block Device Assignment:** Assigns the Compute Instance's disks to the disk devices in Linux, making them accessible once the instance has booted up. Up to 8 disks can be assigned (`/dev/sda` through `/dev/sdg`), though it's common to only use the first two devices: `/dev/sda` as the main disk and `/dev/sdb` as the swap disk. The **Root Device** is used to select the primary disk device (commonly `/dev/sda`), though another predefined device or custom device path can be used. - - {{< note >}} - In some Linode distribution images, block devices are assigned using [UUIDs](https://en.wikipedia.org/wiki/Universally_unique_identifier) in the `/etc/fstab` file to support proper disk mounting. In order to see the UUID assigned to each block device, you can use the `lsblk` command: - - ```command - lsblk -f - ``` - - This displays block devices for your booted configuration and their current mount points: - - ```output - NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS - sda ext4 1.0 linode-root cfa3834a-c6ec-0c85-1b68-6345a69f3759 14.3G 20% / - sdb swap 1 208b24eb-47fe-4e6b-907a-d70d24af0cf0 [SWAP] - sdc ext4 1.0 linode-root 72a6eb6d-941c-bf66-c5e7-636242a1efbe - ``` - {{< /note >}} - -- **Network Interfaces:** Configures network interfaces for the Public Internet, a [VPC](/docs/products/networking/vpc/), or a [VLAN](/docs/products/networking/vlans/). There are a total of 3 available network interfaces, which correspond to the devices assigned within the Linux system: `eth0`, `eth1`, and `eth2`. If no VLANs or VPCs are in use, the recommended setting is _Public Internet_ for `eth0` and _None_ for all other interfaces. When assigning an instance to a VPC, it's recommended to use `eth0` for the VPC interface. If public internet is required along with a VPC, configure the VPC interface as a 1:1 NAT with internet access (the _Assign a public IPv4 address for this Linode_ option under the VPC interface) instead of designating a separate network interface as _Public Intenet_. For more details on assigning a Compute Instance to a VPC or VLAN, review the appropriate documentation: - - - [Assign a Compute Instance to a VPC](/docs/products/networking/vpc/guides/assign-services/) - - [Attach a VLAN to a Compute Instance](/docs/products/networking/vlans/guides/attach-to-compute-instance/) - -- **Filesystem / Boot Helpers:** Various helper tasks that run when the Compute Instance is booted up. Recommended setting for all helpers: _Enabled_. - - **Enable distro helper:** Helps maintain correct inittab/upstart console device. - - **Disable `updatedb`:** Disables `updatedb` cron job to avoid disk thrashing. - - **Enable modules.dep helper:** Creates a module dependency file for the kernel you run. - - **Auto-mount devtmpfs:** Controls if `pv_ops` kernels auto-mount devtmpfs at boot. - - **Auto-configure networking:** Automatically configures static networking. See [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/). - -## Create a Configuration Profile - -Making a new configuration profile lets you create a new and separate boot configuration for your system. You can specify boot settings and disks to mount. Here's how to create a new configuration profile: - -1. Within [Cloud Manager](https://cloud.linode.com), view the Configuration Profiles for your desired Compute Instance. See [View Configuration Profiles](#view-configuration-profiles). - -1. Select the **Add a Configuration** link. The **Add Configuration** form appears: - -1. Enter the *Label* for the new configuration, as well as an optional *Comment*. - -1. Complete the remainder of the form, referencing the [Settings](#settings) section above for additional details and recommended values. For most basic configurations, it's recommended to adjust the following settings: - - **Kernel:** Select *Grub 2*. - - **Block Device Assignments:** Set `/dev/sda` to the disk you want to use as the primary disk (and boot disk) and set `/dev/sdb` to the swap disk. - -1. Click **Add Configuration** to create the new configuration profile. - -## Edit a Configuration Profile - -You can edit existing configuration profiles to change boot settings, set other disks to mount, and more. Here's how to edit a configuration profile: - -1. Within [Cloud Manager](https://cloud.linode.com), view the Configuration Profiles for your desired Compute Instance. See [View Configuration Profiles](#view-configuration-profiles). - -1. Within the **Configurations** table, locate the configuration profile you wish to modify and click the corresponding **Edit** button, which may also appear within the **ellipsis** menu. This displays the **Edit Configuration** form. - -1. Adjust any settings as needed, referencing the [Settings](#settings) section above for additional details and recommended values. - -1. Once finished, click **Save Changes**. - -The changes to the configuration profile have been saved. You may need to reboot your Compute Instance to activate the changes. - -## Boot from a Configuration Profile - -You can create and store many different configuration profiles in Cloud Manager, but you can only boot your Compute Instance from one configuration profile at a time. Here's how to select a configuration profile and boot your instance from it: - -1. Within [Cloud Manager](https://cloud.linode.com), view the Configuration Profiles for your desired Compute Instance. See [View Configuration Profiles](#view-configuration-profiles). - -1. Within the **Configurations** table, locate the configuration profile you wish to modify and click the corresponding **Boot** button, which may also appear within the **ellipsis** menu. - -1. A confirmation dialog window will appear. Click **Boot** to confirm. - -1. The Compute Instance will boot (or reboot) using the selected configuration profile. The progress of the boot can be viewed from the instance's status. - -You have successfully selected and booted your Compute Instance from a configuration profile. - -## Determine Which Configuration Profile Was Used - -When a Compute Instance is powered on or rebooted, it uses the settings stored within a configuration profile. You can determine which configuration profile was used by looking at the event history. Events are visible within the **Activity Feed** tab for a particular Compute Instance or within the main [Events](https://cloud.linode.com/events) page for the account. - -1. Log in to [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar, and select a Compute Instance from the list. - -1. Navigate to the **Activity Feed** tab to view all events for the instance. - -1. Locate the particular boot or reboot event and review the text. The configuration profile used during that boot will be mentioned here. - - ![Viewing the boot history within the Activity Feed](activity-feed-booted-configuration-profile.png) - - Sometimes the boot or reboot event doesn't list a configuration profile, such as when the [Lassie Shutdown Watchdog](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) initiates the event. In this case, look at the most recent reboot or boot event which does include the configuration profile that was used. - -## Clone a Configuration Profile and the Attached Disks - -A configuration profile, along with any attached disks, can be duplicated to any *other* Compute Instance on the account. See [Cloning to an Existing Compute Instance](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance) for instructions. - -## Delete a Configuration Profile - -You can remove a configuration profile from Cloud Manager at any time. Here's how: - -1. Within [Cloud Manager](https://cloud.linode.com), view the Configuration Profiles for your desired Compute Instance. See [View Configuration Profiles](#view-configuration-profiles). - -1. Within the **Configurations** table, locate the configuration profile you wish to modify and click the corresponding **Delete** button, which may also appear within the **ellipsis** menu. - -1. A confirmation dialog window will appear. Click **Delete** to confirm. - -1. The Compute Instance will boot (or reboot) using the selected configuration profile. The progress of the boot can be viewed from the instance's status. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/configuration-profiles/linode-config-profiles.png b/docs/products/compute/compute-instances/guides/configuration-profiles/linode-config-profiles.png deleted file mode 100644 index 648626eac2c..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configuration-profiles/linode-config-profiles.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configure-rdns/configure-your-linode-reverse-dns.jpg b/docs/products/compute/compute-instances/guides/configure-rdns/configure-your-linode-reverse-dns.jpg deleted file mode 100644 index f18755438a2..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configure-rdns/configure-your-linode-reverse-dns.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configure-rdns/edit-rdns-button.png b/docs/products/compute/compute-instances/guides/configure-rdns/edit-rdns-button.png deleted file mode 100644 index 6ff90ff9ba1..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configure-rdns/edit-rdns-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configure-rdns/edit-rdns-form.png b/docs/products/compute/compute-instances/guides/configure-rdns/edit-rdns-form.png deleted file mode 100644 index dd64a33bbbb..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configure-rdns/edit-rdns-form.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configure-rdns/index.md b/docs/products/compute/compute-instances/guides/configure-rdns/index.md deleted file mode 100644 index 606d1e38bce..00000000000 --- a/docs/products/compute/compute-instances/guides/configure-rdns/index.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: "Configure rDNS (Reverse DNS) on a Compute Instance" -title_meta: "How To Configure rDNS (Reverse DNS) on a Compute Instance" -description: "Reverse DNS (rDNS) resolves an IP address to the designated domain name. This guide will teach you how to set it up." -published: 2015-07-09 -modified: 2023-01-18 -keywords: ["reverse", "dns", "PTR"] -tags: ["dns","networking","cloud manager","linode platform"] -image: configure-your-linode-reverse-dns.jpg -aliases: ['/networking/configure-your-linode-for-reverse-dns/','/networking/dns/setting-reverse-dns/','/networking/dns/configure-your-linode-for-reverse-dns/','/networking/setting-up-reverse-dns-lookup/','/networking/dns/configure-your-linode-for-reverse-dns-classic-manager/','/guides/configure-your-linode-for-reverse-dns/','/guides/configure-rdns/'] ---- - -The ability to point a domain name to an IP address is referred to as *forward* DNS resolution. *Reverse* DNS (rDNS) lookup is the inverse process, where an IP address resolves to a domain name. Reverse DNS uses a *pointer record* (*PTR*) to match an IP address with a domain or subdomain. PTR records are generally set with a hosting provider. As such, rDNS can be set directly on Linode. Official Internet documents state that "every Internet-reachable host should have a name," and that the name should match a reverse pointer record (see [RFC 1033](http://tools.ietf.org/html/rfc1033) and [RFC 1912](http://tools.ietf.org/html/rfc1912)). - -{{< note >}} -By default, every IP Addresses has a default rDNS value of `x.ip.linodeusercontent.com`, where *x* is the IP address with dashes (`-`) replacing periods. This default value should be replaced before using the IP Address in a production environment. -{{< /note >}} - -## Determine the Domain Name to Use for rDNS - -First, decide the FQDN (full qualified domain name) you wish to use as your rDNS value. The structure of an FQDN is `[subdomain].[domain].[tld]`. For instance, this could be `web-01-prod.example.com` if you're hosting a website or `mail.example.com` for a mail server. Commonly, your rDNS domain should match the FQDN hostname of your Compute Instance. If you haven't yet configured your hostname, see [Configure a Custom Hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for example hostnames and instructions. - -## Configure DNS Records - -Before setting the rDNS value for your Compute Instance's IP address, you must first add an *A Record* on your domain's DNS provider that maps your full domain (including subdomain) to the IP. To do this, log in to whichever service you use to manage your domain's DNS records. This may be the Linode [DNS Manager](/docs/products/networking/dns-manager/), your domain's registrar, or a third-party DNS service. The instructions below assume you are using Linode's DNS Manager, though most DNS services work in a similar fashion. - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Domains** from the main navigation menu. - -1. Within the list of domains that appears, click the **Edit** link corresponding with the domain you wish to use for rDNS. If your domain is not listed, you may be using a different DNS service. - -1. Add the following two records by following the instructions within the [Add DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) guide. - - - *A Record*: Enter the subdomain you wish to use in the **Hostname** field and the public IPv4 address of your Compute Instance in the **IP Address** field. - - *AAAA Record*: Enter the subdomain you wish to use in the **Hostname** field and the public IPv6 address of your instance in the **IP Address** field. - -See our [Introduction to DNS Records](/docs/guides/dns-overview/) and [Common DNS Configurations](/docs/products/networking/dns-manager/guides/common-dns-configurations/) guides for more information about PTR and DNS records. - -## Setting Reverse DNS - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and click on the **Linodes** link in the sidebar to access a list of all your Compute Instances. - -1. Select the Compute Instance whose reverse DNS you would like to set up and navigate to the **Network** tab. - -1. Find the IP address whose reverse DNS you would like to configure and click on the **Edit rDNS** button, which may be available within the **more options** ellipsis menu on smaller screen sizes. - - ![Select 'Edit RDNS' option from the IP address menu.](edit-rdns-button.png) - -1. The *Edit Reverse DNS* menu appears. Enter the FQDN you've configured in a previous step. If you wish to reset the rDNS back to its original `*.members.linode.com` (or `*.ip.linodeusercontent.com`) domain, make sure this field is empty. - - ![Adding the domain name for reverse DNS](edit-rdns-form.png) - -1. Click **Save** to make the change. - - {{< note >}} - If you did not previously set up an A record for your domain that matches your Compute Instance's IP address, you will see an error like the following: - - > We were unable to perform a lookup for 'example.com' at this time. - - You may also see this error if you very recently created your A record, as it can take some time for your DNS changes to propagate. - {{< /note >}} - -You can verify the reverse DNS entry was properly submitted within the *IP addresses* table under the Reverse DNS column. - -Perform these steps for each IP address whose rDNS value you'd like to change. - -### IPv6 Pools and Routed Ranges - -While single IPv6 addresses can be configured following the same process as IPv4 addresses, reverse DNS for IPv6 pools (/116) and routed ranges (/64, /56) are configured a little differently. - -1. Follow the steps for [Setting Reverse DNS](#setting-reverse-dns), clicking the **Edit rDNS** button next to an IPv6 pool or range (instead of an individual address). - -2. In the **Edit Reverse DNS** form, enter the IPv6 address you'd like to use as well as the fully qualified domain name for that address. The IPv6 address needs to be a valid address within the selected IPv6 pool or range. Click on the **Save** button. - -3. You can add or edit the rDNS values for other IPv6 addresses within that IPv6 pool or range by repeating this process. Once more than one rDNS entry is added, the **Reverse DNS** column of the IPv6 table will show you exactly how many IP addresses have been given rDNS entries. - - ![Viewing rDNS for an IPv6 Pool or Range](rdns-ipv6-pool.png "Viewing rDNS for an IPv6 Pool or Range") - -4. To see each rDNS entry in more detail, click on the addresses entry in the rDNS column for your IPv6 pool or range. A new window will appear listing the IPv6 addresses you've configured along with their associated domain names. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/configure-rdns/rdns-ipv6-pool.png b/docs/products/compute/compute-instances/guides/configure-rdns/rdns-ipv6-pool.png deleted file mode 100644 index 75dc83f58b9..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configure-rdns/rdns-ipv6-pool.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/configure-rdns/view-rdns.png b/docs/products/compute/compute-instances/guides/configure-rdns/view-rdns.png deleted file mode 100644 index 54f18aed309..00000000000 Binary files a/docs/products/compute/compute-instances/guides/configure-rdns/view-rdns.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/1064-migration6.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/1064-migration6.png deleted file mode 100644 index 3bff78eb97a..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/1064-migration6.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/1065-migration6-small.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/1065-migration6-small.png deleted file mode 100644 index 3b959d53101..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/1065-migration6-small.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copydisk-create-disk-full.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copydisk-create-disk-full.png deleted file mode 100644 index 8eff3ad9c73..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copydisk-create-disk-full.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copydisk-create-disk.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copydisk-create-disk.png deleted file mode 100644 index f8e3a13b3b2..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copydisk-create-disk.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copying_a_disk_over_ssh_smg.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copying_a_disk_over_ssh_smg.png deleted file mode 100644 index d04b1a2a04b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/copying_a_disk_over_ssh_smg.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/index.md b/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/index.md deleted file mode 100644 index 21b83f5c5f5..00000000000 --- a/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/index.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: "Copy a Disk Over SSH" -description: "Create a disk image using dd and download it to another machine over SSH." -published: 2012-06-04 -modified: 2020-12-04 -keywords: ["copy", "disk", "ssh", "dd"] -tags: ["linode platform","ssh"] -image: copying_a_disk_over_ssh_smg.png -aliases: ['/migration/ssh-copy/','/migrate-to-linode/disk-images/copying-a-disk-image-over-ssh/','/platform/disk-images/copying-a-disk-image-over-ssh/','/guides/copying-a-disk-image-over-ssh/'] ---- - -Piping SSH commands to utilities such as `dd`, `gzip`, or `rsync` is an easy way to copy a Compute Instance's data into a single file for later extraction. This can effectively back up your Compute Instance's disk or migrate your installed system to other instances. - -This guide demonstrates how to download a `.img` file to your computer over SSH containing a block-level copy of your Compute Instance's disk device created with `dd`. - -{{< note >}} -If the amount of data on your disk is much less than the size of the disk, then downloading a copy with `dd` can take longer than just downloading your files. If you're interested in downloading individual files or directories, review the options listed in our [Download Files from Your Compute Instance](/docs/guides/download-files-from-a-compute-instance/) and [Backing Up Your Data](/docs/guides/backing-up-your-data/) guides. -{{< /note >}} - -## Download a Disk over SSH - -This guide shows you how to download a Compute Instance's disk image over SSH to a separate receiving system, like a personal computer or another Compute Instance. This is done by executing commands on both the **origin** system (the Compute Instance where your disk is stored) and the **destination** system which will receive a copy of this image. - -While this guide has been written to accommodate computers running Linux as their operating system, if the receiving system is instead running Microsoft Windows, there are multiple SSH solutions available such as [Cygwin and PuTTY](/docs/guides/connect-to-server-over-ssh-on-windows/) which can alternatively be used to complete this process. - -### Boot into Rescue Mode - -1. Boot the *origin* Compute Instance into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) and connect to it using [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Set a root password for the rescue system and start the SSH server: - - ```command - passwd - service ssh start - ``` - -### Copy and Download the Disk - -1. Prepare the *destination* system to download the disk image by verifying that SSH is installed. Most Linux/Unix-like systems include OpenSSH in their package base by default. - -1. Copy the disk over SSH from the origin system to the destination system. Run the following command on the destination system, replacing `192.0.2.9` with the origin Compute Instance's IP address and `/home/archive/linode.img` with the path where you want to store the disk. - - ```command - ssh root@192.0.2.9 "dd if=/dev/sda " | dd of=/home/archive/linode.img status=progress - ``` - -1. The destination system is now connected to the Compute Instance, prompting you to verify that the SSH key fingerprints are valid. If valid, type `yes` and press **Enter** to continue: - - ```output - The authenticity of host '192.0.2.9 (192.0.2.9)' can't be established. - RSA key fingerprint is 39:6b:eb:05:f1:28:95:f0:da:63:17:9e:6b:6b:11:4a. - Are you sure you want to continue connecting (yes/no)? - ``` - -1. The destination system is prompted to enter the root password you [created for the origin Compute Instance in rescue mode](#boot-linode-into-rescue-mode). Enter this password now: - - ```output - Warning: Permanently added '192.0.2.9' (RSA) to the list of known hosts. - root@192.0.2.9's password: - ``` - - When the transfer completes, you see a summary output similar to the output below: - - ```output - 4096000+0 records in - 4096000+0 records out - 2097152000 bytes (2.1 GB) copied, 371.632 seconds, 5.6 MB/s - ``` - - Copying your disk can take a while. If you have a slow internet connection, add the `-C` option to the SSH command to enable gzip compression of the disk image. If you receive a `Write failed: Broken pipe` error, repeat this process. - -### Verify the Disk - -Once the copy has completed, verify it by mounting the image on the receiving system with the following commands. - -1. Switch to the `root` user: - - ```command - su - ``` - -1. Make a directory to mount the disk: - - ```command - mkdir linode - ``` - -1. Mount the disk in the directory created in the previous step. Replace `linode.img` with the name of your Compute Instance's disk. - - ```command - mount -o loop linode.img linode - ``` - -1. List the directories on the disk to indicate if everything has transferred. Your output of `ls` is similar to below: - - ```command - ls linode - ``` - - ```output - bin dev home lost+found mnt proc sbin srv tmp var - boot etc lib media opt root selinux sys usr - ``` - -## Upload a Disk over SSH - -In some cases, it is necessary to upload your disk image to a new server. For example, if you previously downloaded your Compute Instance's disk and deleted the instance to halt billing on it, you can create a new Compute Instance at a later date and upload the disk to resume your services. This section of the guide assumes that you are creating a new Compute Instance with the default primary and swap disk as outlined in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. - -1. Once you've created a Compute Instance with enough disk space available to accommodate your disk image, prepare the new instance to receive this image. This is completed by first deleting the primary disk created by default, and keeping the swap disk. A swap disk typically starts at 256 MB or 512 MB in size, but can be larger or smaller depending upon your needs. - -1. Access your Compute Instance through Cloud Manager. Click the **Storage** tab to navigate to the *Disks* section. - -1. On the following page in the **Disks** menu, select the ellipsis next to any primary disks you are replacing and select **Delete**. - -1. Next, select **Add a Disk**. - -1. The **Add a Disk** panel appears. Select the **Create Empty Disk** option, enter a **Label** that you can use as a personal identifier, select the file system that matches the format of the disk that was downloaded over SSH, and enter a Size that is large enough to hold the contents of the disk you are uploading. Click **Save Changes**. - -1. Reboot Your Compute Instance into [Rescue Mode](#boot-linode-into-rescue-mode) and start the secure SSH server using the following commands: - - ```command - passwd - service ssh start - ``` - -1. Upload the disk image you have saved remotely over SSH to the new Compute Instance. Replace `192.0.2.9` with the Compute Instance's IP address and `/home/archive/linode.img` with the disk images's path. - - ```command - dd if=/home/archive/linode.img | ssh root@192.0.2.9 "dd of=/dev/sda" - ``` - - When the transfer completes, you see a summary output similar to below: - - ```output - 49807360+0 records in - 49807360+0 records out - 25501368320 bytes (26 GB) copied, 9462.12 s, 2.7 MB/s - ``` - - Copying your disk can take a while. If you receive a `Write failed: Broken pipe` error, repeat this process. - -### Expand the Filesystem - -If the disk you created on the new server is larger than the source disk (for example you're transferring a disk from a smaller Compute Instance to a larger Compute Instance), you have to resize the file system to make use of the new space. - -You can check if this is necessary by comparing the space of the file system to the space of the new disk: - -```command -df -h -``` - -```output -Filesystem Size Used Avail Use% Mounted on -/dev/sda 24G 19G 4.0G 83% / -``` - -```command -lsblk -``` - -```output -NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT -sda 8:0 0 30G 0 disk / -``` - -In the above example, the values in the **Size** column don't match. Although the disk is 30 GB, the file system can only see 24 GB. - -To use all available space on the new disk, execute the following from Rescue Mode. Replace `/dev/sdx` with your system disk's device identifier (/dev/sda, /dev/sdb, etc.). - -```command -e2fsck -f /dev/sdx -resize2fs /dev/sdx -``` - -### Boot from the Disk - -You now need to create a new configuration profile on the destination Compute Instance. - -1. Select your Compute Instance, click the **Configurations** tab, then select **Add a Configuration**. - -1. The **Add Configuration** panel appears. - - ![Selecting the configuration profile](1064-migration6.png "Selecting the configuration profile") - -1. Enter a name for the configuration profile in the **Label** field, and in the **Block Device Assignment** section set the `/dev/sda` to the new system disk you created earlier in this section of the guide. Set `/dev/sdb` to the swap image. - -1. The Compute Instance is now ready to reboot using the new system disk. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/add_disk.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/add_disk.png deleted file mode 100644 index 7f444695eff..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/add_disk.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/block-device-assignment.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/block-device-assignment.png deleted file mode 100644 index 917affa51e5..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/block-device-assignment.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/boot-this-config.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/boot-this-config.png deleted file mode 100644 index 82d3262e2b3..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/boot-this-config.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/copying_a_disk_to_a_differnet_account_smg.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/copying_a_disk_to_a_differnet_account_smg.png deleted file mode 100644 index 8cdc9d45fc3..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/copying_a_disk_to_a_differnet_account_smg.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/image-selection.png b/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/image-selection.png deleted file mode 100644 index 15193f7bba9..00000000000 Binary files a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/image-selection.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/index.md b/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/index.md deleted file mode 100644 index b98a222ef92..00000000000 --- a/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/index.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: "Copying a Disk to a Different Account" -title_meta: "How to Copy a Disk to a Different Account" -description: "Review this guide to find out how to copy a disk of a Linode from one Linode account to another." -published: 2020-06-01 -modified: 2024-06-20 -keywords: ["disk", "migration", "moving to different accounts"] -tags: ["linode platform","cloud manager"] -image: copying_a_disk_to_a_differnet_account_smg.png -aliases: ['/migration/copy-disk-image-different-account/','/linode-platform/manager/managing-disk-images/','/platform/disk-images/copying-a-disk-image-to-a-different-account/','/migrate-to-linode/disk-images/copying-a-disk-image-to-a-different-account/','/guides/copying-a-disk-image-to-a-different-account/'] ---- - -You can copy a disk of a Linode from one Linode account to another. This is a great way to prepare a disk for another Linode customer and transfer it from one individual account to another individual account. Or if you have multiple Linode accounts, this guide provides instructions to consolidate all the disks in one account. - -{{< note >}} -If you're copying a disk from a Linode that hosts applications, then ensure that you complete the backup and migrate steps for the respective applications. -{{< /note >}} - -## Preparing the Receiving Linode - -You need to prepare the *receiving* Linode before initiating the transfer. First, create a Linode with a new disks to hold the files from the other Linode. - -### Creating a New Receiving Linode - -1. Log in to [Cloud Manager](https://cloud.linode.com) with the username and password you created when signing up. - -1. Click **Create** at the top of the page and select **Linode**. - -1. Click **X** to not choose any **Image** in the **Choose a Distribution** section of the [Distributions](/docs/products/compute/compute-instances/guides/distributions/) tab. - - ![Creating a receiving Linode](image-selection.png) - -1. Choose the region where you would like the Linode to reside. If you're not sure which to select, see our [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) guide. You can also generate [MTR reports](/docs/guides/diagnosing-network-issues-with-mtr/) for a deeper look at the route path between you and a data center in each specific region. - -1. Select a Linode plan. - -1. Give the Linode a label. This is a name to help you easily identify it within Cloud Manager's Dashboard. If desired, assign a tag to the Linode in the **Add Tags** field. - -1. Skip the **Root Password** and **SSH Keys** fields, as they are disabled when creating an empty Linode. - -1. Click **Create Linode**. The system directs you to the *Linodes* page that reports the status of the Linode as it boots up. - -### Creating New Disks - -To hold the files transferred from the other Linode, create two new disks labeled `copy` and `swap`: - -1. Select the Linode that is receiving the disk. The Linode's dashboard appears. - -1. Go to the **Storage** tab and click **Add a Disk** in the **Disks** section. The **Add Disk** window appears. - - ![Creating a receiving Linode](add_disk.png) - -1. Type a descriptive name such as `copy` for the disk in the **Label** field. - -1. Select `ext4` in the **Filesystem** dropdown field. - -1. Set the size of the disk in the **Size** field. The size of the disk must be large enough to hold the contents of the disk that you want to copy. - -1. Click **Add** to create the disk. - -1. Repeat the steps to create a disk labeled `swap` and select `swap` in the **Filesystem** dropdown field. Ensure that the size of the `swap` disk is the same as that of the `swap` disk of the disk that you want to copy. - -The system creates disks to hold the files from the disk of other account. - -### Booting into Rescue Mode - -Start the receiving Linode in rescue mode: - -1. Select the Linode that is receiving the disk. The Linode's dashboard appears. - -1. Select the **More Options Ellipsis** and click the **Rescue** button. - -1. Set the **/dev/sda** field to `copy` and **/dev/sdb** to `swap`. - -1. Click **Reboot into Rescue Mode**. - -### Access the Linode in Rescue Mode - -After the Linode has booted, connect to the Linode through [LISH](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#connecting-to-a-compute-instance-running-in-rescue-mode). - -1. Select the Linode that is receiving the disk. The Linode's dashboard appears. -1. Click **Launch Lish Console** . A new window appears that displays the Lish console, a `Welcome to Finnix!` message, and a root prompt. -1. Set the `root` password for the Finnix rescue environment by entering the following command: - - ```command - passwd - ``` - - {{< note >}} - This root password is separate from the root password of the disk that you normally boot from. Setting the root password for Finnix does not affect the root account of the distribution. - {{< /note >}} - -1. Type the new password for the `root` user. -1. Start the SSH server: - - ```command - service ssh start - ``` - -You can now connect to the server as root with the SSH client on the local computer. -The Linode is now ready to receive the files from the other Linode account. - -## Copying the Disk - -To start copying the files on the disk from one account to another, initiate the file transfer: - -1. Connect to the *source* Linode through an SSH client. - -1. Type the following command to start copying the disk, replace `192.0.2.0` with the IP address of the *receiving* Linode: - - ```command - dd if=/dev/sda | ssh -C 192.0.2.0 "dd of=/dev/sda" status=progress - ``` - -1. The following output appears. Enter `yes` to continue connecting: - - ```output - The authenticity of host '192.0.2.0 (192.0.2.0)' can't be established. - RSA key fingerprint is 20:f4:de:4d:5c:6e:a9:c7:e6:1f:8a:ad:60:62:96:3f. - Are you sure you want to continue connecting (yes/no)? - ``` - -1. The system prompts you for the `root` password. Enter the password you created in the last section when you started the SSH server: - - ```output - root@192.0.2.0's password: - ``` - -1. The file transfer starts, as shown below: - - ```output - 2048000+0 records in - 2048000+0 records out - 1048576000 bytes (1.0 GB) copied, 391.504 seconds, 2.7 MB/s - 2048000+0 records in - 2048000+0 records out - 1048576000 bytes (1.0 GB) copied, 387.843 seconds, 2.7 MB/s - ``` - -Wait for the transfer to complete. Note that this process can take a while, depending on the size of your disk. - -## Verifying the Disk - -After the file transfer has completed, you should verify the disk by mounting it on the *receiving* Linode. Ensure that the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) is on for the *receiving* Linode or the [Static IP](/docs/products/compute/compute-instances/guides/manual-network-configuration/) is configured to enable networking with the new IP addresses. - -1. Connect to the *receiving* Linode through SSH as `root`. - -1. To check that the disks are transferred successfully make a new directory for the disk by typing the following command: - - ```command - mkdir linode - ``` - -1. Mount the disk by typing the following command: - - ```command - mount /dev/sda linode - ``` - -1. View the directories in the disk by typing the following command: - - ```command - ls linode/ - ``` - - The output is similar to: - - ```output - bin dev home lost+found mnt proc sbin srv tmp var - boot etc lib media opt root selinux sys usr - ``` - -{{< note >}} -If the system displays any disk errors, then perform the [Copying the Disk](/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/#copying-the-disk) steps again. -{{< /note >}} - -Now the Linode is ready to boot from the disk. - -## Booting from the Disk - -Boot the *receiving* Linode from the disk. First, create a configuration profile on the *receiving* Linode, and then boot the *receiving* Linode with the disk that you just transferred. - -### Creating the Configuration Profile - -To boot the *receiving* Linode from the transferred disk, create a new configuration profile: - -1. Click the **Linodes** tab. -1. Select the Linode that received the disk. The Linode's dashboard appears. -1. Select the **Configurations** tab followed by the **Add a Configuration** button. The **Add a Linode Configuration** window appears. -1. Enter a name for the configuration profile in the **Label** field, such as *Received disk*. -1. In the *Block Device Assignment* section, set **/dev/sda** to `copy` and **/dev/sdb** to `swap` disk. - ![Assigning the Block Device](block-device-assignment.png) -1. Click **Submit**. - -You have successfully created the configuration profile. - -### Booting the Receiving Linode - -Now to start the *receiving* Linode from the transferred disk, select the configuration profile that you created: - -1. From the **Configurations** tab of the Linode's dashboard, find the *Received disk* configuration profile that you created. - -1. Click the **Boot** button to restart the Linode using the selected configuration profile, and boot from the transferred disk. - - ![Booting the Receiving Linode](boot-this-config.png) - -The Linode boots using the disk you transferred. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-addons.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-addons.jpg deleted file mode 100644 index b7baa0cc85a..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-addons.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-choose-a-plan.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-choose-a-plan.jpg deleted file mode 100644 index 26a48bee221..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-choose-a-plan.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-cloud-firewall.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-cloud-firewall.jpg deleted file mode 100644 index 4f01102b978..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-cloud-firewall.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-create.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-create.jpg deleted file mode 100644 index ef094f52927..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-create.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-details.png b/docs/products/compute/compute-instances/guides/create/create-instance-details.png deleted file mode 100644 index 8b20a1cb1de..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-details.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-distribution.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-distribution.jpg deleted file mode 100644 index c89404c99e1..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-distribution.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-label.png b/docs/products/compute/compute-instances/guides/create/create-instance-label.png deleted file mode 100644 index c0ff8c5e9d8..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-label.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-password.png b/docs/products/compute/compute-instances/guides/create/create-instance-password.png deleted file mode 100644 index c8e4a879103..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-password.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-pg.png b/docs/products/compute/compute-instances/guides/create/create-instance-pg.png deleted file mode 100644 index 7c574f94ebc..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-pg.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-plan.png b/docs/products/compute/compute-instances/guides/create/create-instance-plan.png deleted file mode 100644 index 774b31751c0..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-plan.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-region.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-region.jpg deleted file mode 100644 index c313969913c..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-region.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-summary.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-summary.jpg deleted file mode 100644 index 1ce5502054a..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-summary.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-vlan.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-vlan.jpg deleted file mode 100644 index 193d6f9a56b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-vlan.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/create-instance-vpc.jpg b/docs/products/compute/compute-instances/guides/create/create-instance-vpc.jpg deleted file mode 100644 index de2679a55dc..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/create-instance-vpc.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/getting-started.jpg b/docs/products/compute/compute-instances/guides/create/getting-started.jpg deleted file mode 100644 index be5bf3d2826..00000000000 Binary files a/docs/products/compute/compute-instances/guides/create/getting-started.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/create/index.md b/docs/products/compute/compute-instances/guides/create/index.md deleted file mode 100644 index eca619f4488..00000000000 --- a/docs/products/compute/compute-instances/guides/create/index.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: "Create a Compute Instance" -title_meta: "Create a Compute Instance on the Linode Platform" -description: "Learn how to create a new Compute Instance, including choosing a distribution, region, and plan size." -published: 2022-04-19 -modified: 2024-07-22 -keywords: ["getting started", "deploy", "linode", "linux"] -aliases: ['/guides/creating-a-compute-instance/','/products/compute/dedicated-cpu/guides/deploy/'] ---- - -This guide walks you through creating a Compute Instance (also frequently called a *Linode*) through Cloud Manager. Whether this is your first time using Linode or if you're a long time user, you should carefully consider each step in the process to make sure you're getting the most of your Linode services. - -- [Open the Create Form in Cloud Manager](#open-the-create-form-in-cloud-manager) -- [Choose a Distribution, App, or Image](#choose-a-distribution-app-or-image) -- [Select a Region](#select-a-region) -- [Choose an Instance Type and Plan](#choose-an-instance-type-and-plan) -- [Set the Label and Add Tags](#set-the-label-and-add-tags) -- [Create a Password and Add SSH Keys](#create-a-password-and-add-ssh-keys) -- [Assign to a VPC (Optional) {#assign-to-a-vpc}](#assign-to-a-vpc-optional-assign-to-a-vpc) -- [Assign to a Cloud Firewall (Optional) {#assign-to-a-cloud-firewall}](#assign-to-a-cloud-firewall-optional-assign-to-a-cloud-firewall) -- [Assign to a VLAN (Optional) {#assign-to-a-vlan}](#assign-to-a-vlan-optional-assign-to-a-vlan) -- [Assign to a Placement Group (Optional) {#assign-to-a-placement-group}](#assign-to-a-placement-group-optional-assign-to-a-placement-group) -- [Configure Additional Options](#configure-additional-options) -- [Add User Data](#add-user-data) -- [Deploy the Instance](#deploy-the-instance) -- [Getting Started After Deployment](#getting-started-after-deployment) - -## Open the Create Form in Cloud Manager - -Log in to [Cloud Manager](https://cloud.linode.com/), click the **Create** dropdown menu on the top bar, and select *Linode*. This opens the **Create Linode** form. - -![Open Create form in Cloud Manager](create-instance-create.jpg) - -## Choose a Distribution, App, or Image - -![Distribution selection in Cloud Manager](create-instance-distribution.jpg) - -One of the first steps to deploy a Compute Instance is to decide *what* you actually wish to deploy. You're able to select a Linux distribution for a barebones install, a Quick Deploy App with your desired software, and a few other options. - -- **Distributions:** Select from any [supported Linux distribution](https://www.linode.com/distributions/). This option lets you start with a stable Linux operating system and build your own software stack from scratch. Popular distributions include the latest LTS releases of Ubuntu, Debian, CentOS Stream, RHEL-derivitates (such AlmaLinux and Rocky Linux), and more. Each distribution comes with its own set of preinstalled software and commands. See [Choosing a Linux Distribution](/docs/products/compute/compute-instances/guides/distributions/) for a full list of distributions. - -- **Marketplace**: Select from the many [Apps](https://www.linode.com/marketplace/apps/) currently featured in the [Linode Marketplace](https://www.linode.com/marketplace/). This installs and configures your desired software, allowing you to start using your applications right away. Popular apps include [Wordpress](https://www.linode.com/marketplace/apps/linode/wordpress/), [WooCommerce](https://www.linode.com/marketplace/apps/linode/woocommerce/), [LEMP](https://www.linode.com/marketplace/apps/linode/lemp/), [cPanel](https://www.linode.com/marketplace/apps/cpanel/cpanel/), [Plesk](https://www.linode.com/marketplace/apps/plesk/plesk/), and [Nextcloud](https://www.linode.com/marketplace/apps/linode/nextcloud/). See [How to Use Linode's Quick Deploy Apps](/docs/marketplace-docs/get-started/). - -- **StackScripts:** Select from any StackScripts previously created on your account or from a community StackScript. StackScripts automate the deployment of software and configuration by executing commands within your system after the first boot. See [How to Deploy a New Linode Using a StackScript](/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/). - -- **Images:** Select from any Custom Image or Recovery Image stored on your account. *Recovery Images* are generated after a Compute Instance has been deleted and *Custom Images* can be created based on existing instances or image files. See [Images - Get Started](/docs/products/tools/images/get-started/). - -- **Backups:** If you have the Backups service enabled on an existing Compute Instance, you can select any available backup snapshot to deploy from. See [Restore a Backup to a New Linode](/docs/products/storage/backups/guides/restore-to-a-new-instance/). - -- **Clone Linode:** Creates a new Compute Instance from the disks and configuration on an existing instance. See [Cloning a Linode](/docs/products/compute/compute-instances/guides/clone-instance/). - -This guide assumes you are creating a Compute Instance from a **Distribution**. If you select a different option, you may wish to follow the specific instructions within their own corresponding guides. - -## Select a Region - -![Region selection in Cloud Manager](create-instance-region.jpg) - -Next, you must select the **region** where the Compute Instance will reside. Regions correspond with individual data centers, each located in a different geographical area. You should likely select the region closest to you and/or your customers. This helps reduce latency and can make a significant impact in connection speeds and quality. If you wish to make use of a particular Linode product or service, you may also wish to verify that the product is available within your desired data center. - -You need to select a region before selecting your plan type. [Pricing](https://www.linode.com/pricing/) may vary between data centers. - -- [Global Infrastructure](https://www.linode.com/global-infrastructure/) -- [Speed Tests for Data Centers](https://www.linode.com/speed-test/) -- [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) - -## Choose an Instance Type and Plan - -![Plan selection in Cloud Manager](create-instance-choose-a-plan.jpg) - -Linode offers a few different instance types and plan sizes, each with a preset amount of hardware resources (such as vCPU cores, memory, and storage space). The table below displays a list of instance types along with their plan sizes and use cases. - -Since every workload is different, you may wish to review the [Choosing a Compute Instance Type and Plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/) guide for advice on selecting the best plan for your needs, application’s requirements, and pricing considerations. Note that [pricing and plan](https://www.linode.com/pricing/) options may vary between data centers. - -{{< note >}} -You can resize to a different plan size or instance type at any time. This means your aren't locked in to whichever plan you select here. See [Resizing a Compute Instance](/docs/products/compute/compute-instances/guides/resize/) for instructions. -{{< /note >}} - -{{% content "instance-comparison-shortguide" %}} - -## Set the Label and Add Tags - -![Label selection in Cloud Manager](create-instance-label.png) - -- **Label:** The label is the name of the Compute Instance, allowing you to easily identify it from other instances. A good label should provide some indication as to what the instance is used for. As an example, a label of `acme-web-prod` may indicate that the instance is the production website for the company Acme. If you have already implemented your own naming conventions for your cloud infrastructure, follow those conventions. Labels must only use letters, numbers, underscores, dashes, and periods. - -- **Tags:** Adding tags gives you the ability to categorize your Linode services however you wish. If you're a web development agency, you could add a tag for each client you have. You could also add tags for which services are for development, staging, or production. - -## Create a Password and Add SSH Keys - -![Enter root password in Cloud Manager](create-instance-password.png) - -- **Root Password:** The password used to log in to the system as the root user. The root user is the main account and has access to the entire system, including files and commands. This password should be extremely strong to prevent attackers from gaining access to your system. By default, the root user can log in over Lish and SSH using this password, though we do recommend disabling this within the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. - - {{% content "password-requirements-shortguide" %}} - -- **SSH Keys:** Add any SSH Keys to the root user account on the server. This enables you to log in through SSH without needing a password. SSH keys are created as a pair: a *private key* stored on your local computer and a *public key* that you can upload to remote systems and services. Since you only share your public key and your private key is kept safe and secure, this is a much more secure method for authentication than passwords. Learn more about uploading SSH keys through Cloud Manager on the [Manage SSH Keys](/docs/products/platform/accounts/guides/manage-ssh-keys/) guide. - -## Assign to a VPC (Optional) {#assign-to-a-vpc} - -![Screenshot of the VPC assignment section](create-instance-vpc.jpg) - -Consider using a [VPC](/docs/products/networking/vpc/) (Virtual Private Network) to isolate your new Compute Instance from other systems on the Akamai cloud computing platform and the internet. This adds an additional layer of privacy and can be used alongside Cloud Firewalls. If you are not sure you need a VPC, you can skip this step. You can add this new Compute Instance to a VPC at any time in the future by following the steps within the [Assign (and Remove) Services to a VPC](/docs/products/networking/vpc/guides/assign-services/) guide. - -- **Select VPC:** To assign this instance to a VPC, select the VPC from the **Assign VPC** dropdown menu. If you do not yet have a VPC in the selected data center, click the **Create a VPC** button and follow the instructions on the [Create a VPC](/docs/products/networking/vpc/guides/create/) guide. - -- **Select Subnet:** An instance can be assigned to a single subnet, which lets you further segment traffic and services within a VPC. Select the desired subnet within the **Subnet** dropdown menu. - -- **Auto-Assign IPv4 address:** By default, an IPv4 address will be automatically generated for the instance on the subnet’s defined CIDR range. If you want to manually assign an IP address, uncheck the **Auto-assign a VPC IPv4 address for this Linode** option and enter your custom IPv4 address. This address must still be within the subnet’s IP range. - -- **Public IPv4 address:** If you wish to enable public internet access on this new instance, check the **Assign a public IPv4 address for this Linode** option. By default, this is unchecked and you will not be able to access the internet from this instance. - -- **Additional IPv4 ranges:** You can assign additional IPv4 ranges that can be used to reach this Compute Instance and/or the services running on it. For example, you may wish to assign additional IPv4 ranges to directly expose Docker containers to the VPC. - -For additional information and considerations, review the [Assign (and Remove) Services](/docs/products/networking/vpc/guides/assign-services/) guide. - -## Assign to a Cloud Firewall (Optional) {#assign-to-a-cloud-firewall} - -![Screenshot of the Assign Cloud Firewall section](create-instance-cloud-firewall.jpg) - -To protect your new Compute Instance from unwanted traffic, consider using a [Cloud Firewall](/docs/products/networking/cloud-firewall/). This lets you cascade firewall rules across multiple services and manage those rules within Cloud Manager, Linode CLI, and Linode API. - -To assign your instance to a Cloud Firewall, select the firewall from the **Assign Firewall** dropdown menu. If you do not have a firewall or wish to create a new one, click the **Create Firewall** link and follow the instructions within the [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) guide. You can always skip this step and assign a firewall at a later time by following the instructions in the [Apply Firewall Rules to a Service](/docs/products/networking/cloud-firewall/guides/apply-to-service/) guide. - -## Assign to a VLAN (Optional) {#assign-to-a-vlan} - -![Screenshot of the VLAN assignment section](create-instance-vlan.jpg) - -Add this Compute Instance to a secure private network. VLANs are available at no additional cost, though not all data centers currently support this feature. See [VLANs](/docs/products/networking/vlans/) to learn more. - -{{< note type="warning" title="Consider using a VPC instead of a VLAN" isCollapsible=true >}} -In most cases, it's recommended to use a VPC over a VLAN. VPCs operate on a higher network layer and come with more IP addressing and IP routing functionality. Additionally, you can further segment out network traffic through subnets, each of which has its own CIDR range. Review [these differences](/docs/products/networking/vpc/#difference-between-private-network-options-vpcs-vlans-and-private-ips) to learn more. -{{< /note >}} - -## Assign to a Placement Group (Optional) {#assign-to-a-placement-group} - -![Creating a receiving Linode](create-instance-pg.png) - -Add this Compute Instance to a Placement Group to manage its physical location in a data center ("region"). Placement Groups can be set up to group your compute instances close together to help with performance, or further apart to support high availability. Placement Groups are available at no additional cost, but they're not available in all regions. See [Work with Placement Groups](/docs/products/compute/compute-instances/guides/placement-groups/) to learn more. - -{{< note >}} -If you don't have an existing Placement Group, you can click **Create Placement Group** to create a new one. This takes you to a separate interface, outside creating your compute instance. For ease of use, create your compute instances in a supported region, then later create a Placement Group and assign your compute instances to it. -{{< /note >}} - -## Configure Additional Options - -The following features and services can be configured during the Compute Instance's creation or at any point after. - -- **Add the Backups service:** Safeguard your data with Linode’s Backups service, enabling automatic backups of the disks on your Compute Instances. Up to four backups are stored as part of this service, including automated daily, weekly, and biweekly backups in addition to a manual backup snapshot. See [Backups](/docs/products/storage/backups/) to learn more and view pricing. - -- **Add a private IP:** A private IP gives you access to the data center's private network. This enables you to communicate with other Compute Instances with private IPs in the same region without using a public IPv4 address. Private IPs are needed to configure your instance as a NodeBalancer back end. The private IP feature requires a _Public Internet_ network interface. As such, Compute Instances configured with both VPCs _and_ a private IP address are configured with the _VPC_ network interface on `eth0` and the _Public Internet_ interface on `eth1`. - - {{< note type="warning" title="Consider using a VPC instead of the private IP address feature" isCollapsible=true >}} - Private IP addresses are accessible by any other instance in the same data center, provided that instance also has a private IP. To further isolate your instance, consider using a VPC instead. Review [these differences](/docs/products/networking/vpc/#difference-between-private-network-options-vpcs-vlans-and-private-ips) to learn more. - {{< /note >}} - -## Add User Data - -User data can be provided to the Metadata service, which is then consumed by cloud-init when your Compute Instance boots up for the first time. For information on the Metadata service, user data formats, and our cloud-init integration, review [Overview of the Metadata Service](/docs/products/compute/compute-instances/guides/metadata/). - -## Deploy the Instance - -![Summary section in Cloud Manager](create-instance-summary.jpg) - -Confirm the details for this Compute Instance within the *Linode Summary* section. Once you are satisfied, click **Create Linode** to start the deployment process. This process can take anywhere from 3 minutes for Distribution Images to up to 30 minutes for some Quick Deploy Apps. After the creation process has started, you are automatically redirected to the detail page for this instance. From here, you can follow the status as the instance is deployed as well as see information about the new instance, such as the IP addresses. - -![Details page in Cloud Manager](create-instance-details.png) - -## Getting Started After Deployment - -Once the Compute Instance has been created and is done initializing, you can start configuring and using it. The next recommendation is to follow the guide linked below, which assists you in connecting to your instance, performing any initial configuration steps on your Linux system, and securing your server. - -- [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) - -{{% content "email-warning-shortguide" %}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/default-packages/index.md b/docs/products/compute/compute-instances/guides/default-packages/index.md deleted file mode 100644 index a65c8dd9960..00000000000 --- a/docs/products/compute/compute-instances/guides/default-packages/index.md +++ /dev/null @@ -1,266 +0,0 @@ ---- -title: Default Distro Packages on Linode -description: "This guide contains a list of all default packages on Linode's Distribution Images." -published: 2021-08-27 -keywords: ["linux", "linode manager", "image", "cloud manager"] -aliases: ['/guides/platform/disk-images/','/guides/platform/disk-images/default-packages-on-linode-images/','/guides/default-packages-on-linode-images/'] -tags: ["linode platform","cloud manager"] ---- - -Linode installs base Linux images to all distributions. This includes all of the packages included by the base image by default. However, this also includes images added by Linode to nearly all Distros which provide access to common tools and functionalities. The packages are tailored to help with systems administration in the cloud, and ensure that all Linode images work with all Linode products and services. Below is a list of the additional packages installed for all of our distributions. - -{{< note >}} -Gentoo and Slackware do not use any packages not provided by the distribution. -{{< /note >}} - -## Alma Linux - - 'authconfig' - 'authselect-compat' - 'chrony' - 'cloud-init' - 'file' - 'grub2' - 'grub2-pc' - 'iotop' - 'kernel' - 'langpacks-en' - 'lsof' - 'mtr' - 'nano' - 'net-tools' - 'qemu-guest-agent' - 'sysstat' - 'vim-enhanced' - 'whois' - -## Alpine - 'acct' - 'blkid' - 'chrony' - 'curl' - 'docs' - 'e2fsprogs' - 'grub-bios' - 'haveged' - 'iotop' - 'linux-virt' - 'mtools' - 'mtr' - 'nano' - 'openssh' - 'openssh-client' - 'openssh-server' - 'openssh-sftp-server' - 'openssl' - 'sudo' - 'sysstat' - 'vim' - -## Arch - - 'cloud-init' - 'grub' - 'haveged' - 'inetutils' - 'iotop' - 'linux' - 'linux-firmware' - 'lsof' - 'man-db' - 'man-pages' - 'mtr' - 'nano' - 'net-tools' - 'openssh' - 'sudo' - 'sysstat' - 'vim' - 'whois' - -## CentOS Stream - - 'authconfig' - 'authselect-compat' - 'cloud-init' - 'file' - 'grub2' - 'grub2-pc' - 'iotop' - 'kernel' - 'langpacks-en' - 'lsof' - 'mtr' - 'nano' - 'net-tools' - 'qemu-guest-agent' - 'sysstat' - 'vim-enhanced' - -## CentOS - - 'authconfig' - 'authselect-compat' - 'chrony' - 'cloud-init' - 'file' - 'grub2' - 'grub2-pc' - 'iotop' - 'kernel' - 'langpacks-en' - 'lsof' - 'mtr' - 'nano' - 'net-tools' - 'qemu-guest-agent' - 'sysstat' - 'vim-enhanced' - 'whois' - -## Debian - - 'apt-listchanges' - 'bash-completion' - 'bind9-host' - 'cloud-init' - 'console-setup' - 'curl' - 'dnsutils' - 'grub-pc' - 'haveged' - 'hdparm' - 'iotop' - 'irqbalance-' - 'keyboard-configuration' - 'less' - 'liblockfile-bin' - 'libnss-systemd' - 'linux-image-amd64' - 'locales' - 'lsb-release' - 'lsof' - 'man-db' - 'manpages' - 'mtr-tiny' - 'netcat-traditional' - 'openssh-server' - 'pciutils' - 'perl' - 'pigz-' - 'python-minimal' - 'reportbug' - 'sudo' - 'sysstat' - 'task-english' - 'telnet' - 'traceroute' - 'vim' - 'wget' - 'whois' - -## Fedora - - '@server-product-environment' - 'authselect-compat' - 'chrony' - 'cloud-init' - 'fedora-release-server' - 'fedora-release-identity-server' - 'grub2' - 'grub2-pc' - 'iotop' - 'kernel' - 'langpacks-en' - 'python2.7' - 'sysstat' - 'vim-enhanced' - 'whois' - -## openSUSE - - 'pattern:basesystem' - 'pattern:console' - 'pattern:enhanced_base' - 'pattern:minimal_base' - 'pattern:yast2_basis' - 'acl' - 'at' - 'attr' - 'bash-completion' - 'bind-utils' - 'bzip2' - 'ca-certificates-mozilla' - 'chrony' - 'chrony-pool-openSUSE' - 'cloud-init' - 'cronie' - 'e2fsprogs' - 'grub2-i386-pc' - 'haveged' - 'iotop' - 'iputils' - 'issue-generator' - 'kernel-default' - 'kexec-tools' - 'logrotate' - 'man' - 'man-pages' - 'mosh' - 'mtr' - 'nano' - 'netcat-openbsd' - 'qemu-guest-agent' - 'rsync' - 'rsyslog' - 'screen' - 'sharutils' - 'sudo' - 'terminfo' - 'time' - 'tmux' - 'vim' - 'vim-data' - 'wget' - 'which' - 'whois' - -## Rocky - - 'authconfig' - 'authselect-compat' - 'chrony' - 'cloud-init' - 'file' - 'grub2' - 'grub2-pc' - 'iotop' - 'kernel' - 'langpacks-en' - 'lsof' - 'mtr' - 'nano' - 'net-tools' - 'qemu-guest-agent' - 'sysstat' - 'vim-enhanced' - 'whois' - -## Ubuntu - - 'gcc-10-base' - 'grub-pc' - 'haveged' - 'iotop' - 'libnss-nis' - 'libnss-nisplus' - 'linux-generic' - 'linux-headers-generic' - 'mime-support' - 'sysstat' - 'ubuntu-advantage-tools' - 'ubuntu-standard' - 'whois' - 'openssh-server^' - 'cloud-image^' - 'server^' \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/dhcp-ip-address-reference/index.md b/docs/products/compute/compute-instances/guides/dhcp-ip-address-reference/index.md deleted file mode 100644 index 7098e1291a4..00000000000 --- a/docs/products/compute/compute-instances/guides/dhcp-ip-address-reference/index.md +++ /dev/null @@ -1,132 +0,0 @@ ---- -slug: dhcp-ip-address-reference -title: DHCP IP Address Reference -description: 'A list of all IP addresses used for configurations that rely on DHCP by their data center.' -published: 2021-09-10 -keywords: [dhcp", "cloud firewall", "firewall", "networking"] -tags: ["linode platform","cloud manager"] -aliases: ['/quick-answers/linode-platform/dhcp-ip-address-reference/','/guides/dhcp-ip-address-reference/'] ---- - -In some cases, such as when configuring a firewall, you may need to know the IP addresses that Linode uses for our DHCP servers. Below is a list of all DHCP IP addresses categorized by their data center, to assist in any configuration you may need. - -## Fremont - -``` -173.255.254.129 -50.116.6.33 -66.175.222.121 -50.116.1.128 -173.255.245.39 -66.175.223.241 -``` - -## Dallas - -``` -50.116.29.9 -72.14.182.149 -50.116.18.11 -72.14.189.93 -66.228.55.26 -173.255.199.165 -``` - -## Atlanta - -``` -198.74.55.159 -50.116.46.210 -173.230.139.221 -192.155.93.9 -173.230.139.4 -74.207.234.190 -``` - -## Newark - -``` -97.107.131.49 -69.164.219.39 -66.228.42.172 -66.175.213.64 -97.107.132.48 -96.126.108.78 -``` - -## London - -``` -176.58.106.63 -151.236.222.62 -151.236.218.42 -176.58.111.6 -178.79.152.230 -178.79.187.246 -``` - -## Singapore - -``` -103.3.60.28 -103.3.60.29 -103.3.60.30 -103.3.60.31 -103.3.60.32 -103.3.60.33 -``` - -## Frankfurt - -``` -139.162.128.28 -139.162.128.29 -139.162.128.30 -139.162.128.31 -139.162.128.32 -139.162.128.33 -``` - -## Tokyo - -``` -139.162.65.28 -139.162.65.29 -139.162.65.30 -139.162.65.31 -139.162.65.32 -139.162.65.33 -``` - -## Toronto - -``` -172.105.0.50 -172.105.0.53 -172.105.0.52 -172.105.0.54 -172.105.0.51 -172.105.0.55 -``` - -## Mumbai - -``` -172.105.33.16 -172.105.33.17 -172.105.33.12 -172.105.33.13 -172.105.33.14 -172.105.33.15 -``` - -## Sydney - -``` -172.105.176.4 -172.105.166.4 -172.105.180.4 -172.105.170.4 -172.105.181.4 -172.105.171.4 -``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/add-disk.png b/docs/products/compute/compute-instances/guides/disks-and-storage/add-disk.png deleted file mode 100644 index 6a753aff37c..00000000000 Binary files a/docs/products/compute/compute-instances/guides/disks-and-storage/add-disk.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/compute-instance-power-off.png b/docs/products/compute/compute-instances/guides/disks-and-storage/compute-instance-power-off.png deleted file mode 100644 index a03ab71d6b5..00000000000 Binary files a/docs/products/compute/compute-instances/guides/disks-and-storage/compute-instance-power-off.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/compute-instance-summary-storage.png b/docs/products/compute/compute-instances/guides/disks-and-storage/compute-instance-summary-storage.png deleted file mode 100644 index b95e204e0a3..00000000000 Binary files a/docs/products/compute/compute-instances/guides/disks-and-storage/compute-instance-summary-storage.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/delete-disk.png b/docs/products/compute/compute-instances/guides/disks-and-storage/delete-disk.png deleted file mode 100644 index b0e09ba4d16..00000000000 Binary files a/docs/products/compute/compute-instances/guides/disks-and-storage/delete-disk.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/disk-resize.png b/docs/products/compute/compute-instances/guides/disks-and-storage/disk-resize.png deleted file mode 100644 index 77d9f85921b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/disks-and-storage/disk-resize.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/index.md b/docs/products/compute/compute-instances/guides/disks-and-storage/index.md deleted file mode 100644 index bb1ff03fa5b..00000000000 --- a/docs/products/compute/compute-instances/guides/disks-and-storage/index.md +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: "Manage Disks and Storage on a Compute Instance" -title_meta: "How to Manage Disks and Storage on a Compute Instance" -description: "A guide for understanding how local storage works on a Linode and for help performing common tasks on a Linode's disks." -published: 2021-04-30 -modified: 2023-01-18 -keywords: ["disks", "storage", "disk space"] -tags: ["linode platform","cloud manager"] -aliases: ['/guides/linode-disks/','/guides/disks-and-storage/','/guides/resize-a-linode-disk/','/products/tools/cloud-manager/guides/cloud-find-disks/'] ---- - -## Understanding Storage - -Every Compute Instance is equipped with persistent storage, the amount of which varies based on size and type of the instance's plan. This local storage is built entirely on enterprise-grade SSDs (solid state disks) and is extremely performant and reliable. - -### Disks - -The storage space on a Compute Instance can be allocated to individual *disks*. Disks are be used to store any data, including the operating system, applications, and files. Most instances are deployed with two disks. A large primary disk is used to store the Linux distribution, software, and data. There's also a much smaller swap disk, which is used if your instance runs out of memory. - -While two disks may be the default, a Compute Instance can be configured to have many more disks. These additional disks can serve a variety of purposes, including dedicated file storage or switching between entirely different Linux distributions. When multiple disks are added, [configuration profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) are used to determine the disks that are accessible when the instance is powered on, as well as which of those disks serves as the primary root disk. - -### Add Additional Storage - -The local storage capacity of a Compute Instance can only be increased by upgrading to a larger plan. This lets you increase the size of existing disks or add additional disks. [Block Storage](/docs/products/storage/block-storage/) Volumes can also be used to add additional storage, though these Volumes are separate from a Compute Instance's local disks and, for some use cases, may be less performant. - -## View Disks - -A Compute Instance's total storage space and disks can be viewed and managed from [Cloud Manager](https://cloud.linode.com). - -1. Log in to [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar, and select a Compute Instance from the list. - -1. Look within the **Summary** section of the instance's dashboard to view the total storage. - - ![Screenshot of a Compute Instance's total storage](compute-instance-summary-storage.png) - -1. Navigate to the **Storage** tab and find the **Disks** section, which lists all disks on the Compute Instance. - - ![Screenshot of a Compute Instance's list of disks](storage-tab.png) - -From here, a [disk can be created](#creating-a-disk) using the **Add a Disk** button. To take action on an disk, locate the disk within the **Disks** table and select from the list of actions, some or all of which may appear within the **ellipsis** menu: - -- **Rename:** Change the name of the disk. -- **Resize:** Increase or decrease the size of the disk. See [Resize a Disk](#resize-a-disk). -- **Imagize:** Create a Custom Image based on the disk. See [Capture an Image](/docs/products/tools/images/guides/capture-an-image/). -- **Clone:** Duplicate the disk, adding it to any Linode on your account. See [Clone a Disk](#clone-a-disk). -- **Delete:** Permanently delete's the disk and all of its data (cannot be undone). See [Delete a Disk](#delete-a-disk). - -## Create a Disk - -Each Compute Instance can have multiple disks. To create a new disk, follow the instructions below. - -{{< note >}} -If you wish to deploy an Image to a new disk, see the [Deploy an Image to a Disk on an Existing Compute Instance](/docs/products/tools/images/guides/deploy-image-to-existing-linode/) guide for complete instructions on creating the main disk, an optional swap disk, and a configuration profile. -{{< /note >}} - -1. Navigate to the **Storage** tab on the Compute Instance you wish to edit. See [View Disks](#view-disks). - -1. Click the **Add a Disk** button to show the **Add Disk** form. - - ![Screenshot of the Add a Disk button](add-disk.png) - - {{< note >}} - If this button is disabled, all of the instance's storage space has been allocated towards disks. Before continuing, [resize an existing disk](#resize-a-disk) or [upgrade the instance](/docs/products/compute/compute-instances/guides/resize/) to a larger plan. You'll want to confirm there is enough unallocated storage space to accommodate the desired size of the new disk. - {{< /note >}} - -1. Select from either the **Create Empty Disk** or **Create from Image** options. - - **Empty disks:** An empty disk can store additional data, be used as a swap disk, or it can be used to manually [install a custom distribution](/docs/guides/install-a-custom-distribution/). When creating an empty disk, select the desired *Filesystem*. In most cases, it's recommended to use the *ext4* filesystem. This ensures compatibility with our Backups service. If needed, *ext3* and *raw* disks are also available. If creating a swap disk, select the *swap* option. - - **Images:** Selecting an Image lets you deploy a [Distribution Image](https://www.linode.com/distributions/), a [Custom Image](/docs/products/tools/images/), or a Recovery Image to the new disk. When creating a disk based on an Image, select the *Image*, *Root Password*, and optionally add *SSH Keys*. - -1. Once an option is chosen, complete the remaining fields in the form. Enter the *Label* and the *Size* for the new disk. The *maximum size* of the disk is pre-populated and based on the Compute Instance's remaining storage allocation, though a smaller size can be entered if desired. - -1. Click the **Add** button to create the disk. The progress can be monitored from the new entry appearing for the disk within the Compute Instance's **Storage** page. - -Once a disk has been created, you will need to modify the existing configuration profile or add a new configuration profile. Specifically, the disk will need to be assigned to a device and optionally marked as the root device if this new disk will function as the primary boot disk. See the [Deploy an Image to a Disk on an Existing Compute Instance](/docs/products/tools/images/guides/deploy-image-to-existing-linode/) guide or the [Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) guide for additional details. - -## Resize a Disk - -The size of a Compute Instance's disk can be increased or decreased as needed. When resizing, it's important to keep the following restrictions in mind: - -- The **maximum size** of a disk is equal to the current size of the disk and the remaining unallocated storage space on the Compute Instance. The maximum size is displayed underneath the **Size** field when resizing the disk. -- The **minimum size** of a disk is equal to the current disk usage within the filesystem. This number is not displayed in Cloud Manager. To determine how much space the files on the disk are using, run the command `df -h` within the Compute Instance's command line (through [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) or [Lish](/docs/products/compute/compute-instances/guides/lish/)). -- **Raw disks** can only be resized to a larger disk. -- Disks with **custom partitions** cannot be resized. - -The following instructions cover how to resize a disk. For instructions regarding resizing a Compute Instance's plan (including downgrading to a smaller plan), see the [Resizing a Compute Instance](/docs/products/compute/compute-instances/guides/resize/) guide. - -1. Navigate to the **Storage** tab on the Compute Instance you wish to edit. See [View Disks](#view-disks). - -1. Click the **Power Off** button in the upper right of the page or within the **ellipsis** menu. Wait until the Compute Instance has been fully powered off before continuing to the next step. - - ![Screenshot of a Compute Instance Details page with the Power Off button highlighted](compute-instance-power-off.png) - -1. Within the **Disks** table, locate the disk you wish to resize and click the corresponding **Resize** button, which may also appear within the **ellipsis** menu. - - ![Screenshot of a Compute Instance Details page with the Resize disk button highlighted](disk-resize.png) - - {{< note >}} - If the **Resize** button is disabled, confirm that the Compute Instance has been fully powered off. - {{< /note >}} - -1. The **Resize Disk** form is displayed. In the **Size** field, enter the new size for the disk in megabytes. The new size of the disk needs to be within the maximum and minimize disk size discussed above. - -1. Click **Resize**. The progress can be monitored from the corresponding entry for the disk within the **Disks** table on the Compute Instance's **Storage** page. - -1. Once the disk has been successfully resized, click the **Power On** button to boot up the Linode. - -## Clone a Disk - -A disk can be duplicated onto the same Compute Instance or any other instance on the account. See [Cloning to an Existing Compute Instance](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance) for instructions. - -## Delete a Disk - -A disk can be deleted to remove it from the Compute Instance and free up additional storage space that can be used for other disks. - -{{< note type="alert" >}} -Deleting a disk is permanent and cannot be undone. Make sure all required data is properly backed up before continuing. -{{< /note >}} - -1. Navigate to the **Storage** tab on the Compute Instance you wish to edit. See [View Disks](#view-disks). - -1. Click the **Power Off** button in the upper right of the page or within the **ellipsis** menu. Before proceeding, wait until the Compute Instance has been fully powered off. - - ![Screenshot of a Compute Instance Details page with the Power Off button highlighted](compute-instance-power-off.png) - -1. Within the **Disks** table, locate the disk you wish to delete and click the corresponding **Delete** button, which may also appear within the **ellipsis** menu. - - ![Screenshot of the Delete button](delete-disk.png) - - {{< note >}} - If the **Delete** button is disabled, confirm that the Compute Instance has been fully powered off. - {{< /note >}} - -1. A confirmation dialog window will appear. Click the **Delete** button to confirm. - -1. The disk will be deleted within a few seconds. Click the **Power On** button to boot up the Compute Instance. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/disks-and-storage/storage-tab.png b/docs/products/compute/compute-instances/guides/disks-and-storage/storage-tab.png deleted file mode 100644 index 261fc69641d..00000000000 Binary files a/docs/products/compute/compute-instances/guides/disks-and-storage/storage-tab.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/distributions/index.md b/docs/products/compute/compute-instances/guides/distributions/index.md deleted file mode 100644 index b9835b96382..00000000000 --- a/docs/products/compute/compute-instances/guides/distributions/index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Choosing a Linux Distribution" -title_meta: "How to Choose a Linux Distribution" -description: "A list of all the Linux distributions provided on the Linode Platform and advice for how to select a distribution for your next project." -published: 2019-07-15 -modified: 2023-12-19 -keywords: ["distro", "distribution", "operating system", "Linux"] -tags: ["linux"] -aliases: ['/quick-answers/linux/choosing-a-distribution/','/guides/choosing-a-distribution/'] ---- - -## What is a Distribution? - -**Distributions**, also called *distros*, can be described as different operating system versions built on top of the underlying Linux Kernel to support a variety of use-cases and preferences. Since all distributions are built on Linux, most are similar and can be used interchangeably. Ubuntu, for example, is the most popular for it's ease of use and the ability to abstract smaller configuration tasks for you by default. Arch Linux, on the other hand, favors a high level of control over simplicity so that you can fine tune the way that your system functions. - -## List of Distributions Available on Linode - -Below is a full list of distributions. Once you've decided on a distribution, it's typically recommended to select the latest *LTS* (Long Term Support) release on systems intended for production use. This ensures that the system receives security updates for as long as possible. For release and version information, see [Supported Distributions](https://www.linode.com/distributions/). - -| Distribution | Description | -|------|-------| -| [AlmaLinux](https://almalinux.org/) | A nearly binary compatible derivative of RHEL intended to provide a long-term stable replacement for CentOS. Made by the same team as [CloudLinux OS](https://www.cloudlinux.com/) | -| [Alpine](https://alpinelinux.org/) | **Recommended for advanced Linux users only.** Lightweight distribution popular with [Docker](https://www.docker.com/) and security minded users. | -| [Arch](https://www.archlinux.org/) | **Recommended for advanced Linux users only.** Powerful and detail oriented, empowers more advanced users to fine tune their configuration. | -| [CentOS](https://www.centos.org) | Widely popular in professional and business settings while still being accessible to the average user. Versions 8 and earlier are binary equivalents of their corresponding RHEL (Red Hat Enterprise Linux) release. [CentOS Stream](https://www.redhat.com/en/topics/linux/what-is-centos-stream) has replaced CentOS and receives updates *just* ahead of the corresponding RHEL version. | -| [Debian](https://www.debian.org/) | A popular and stable distribution that's been actively maintained longer than most other distributions. | -| [Fedora](https://getfedora.org/) | Implements bleeding edge software. Fedora is similar though more advanced than CentOS and great for users who want to use the newest of the new and don't mind an added layer of complexity. | -| [Gentoo](https://www.gentoo.org/) | **Recommended for advanced Linux users only.** Advanced distribution designed for power users who want more control over their configuration and are comfortable compiling everything from source. | -| [Kali Linux](https://www.kali.org/) | **Recommended for advanced Linux users only.** A specialized and advanced Debian-based distribution designed for penetration testing and security auditing. This is a [minimum installation](https://www.kali.org/docs/troubleshooting/common-minimum-setup/), allowing you to install only the tools and metapackages you require. | -| [openSUSE Leap](https://www.opensuse.org/) | Provides powerful tools specific to system administration tasks. Starting with version 15.3, this distribution maintains parity with SLE (SUSE Linux Enterprise), making it a great choice for users of SLE or those looking to benefit from enterprise-grade stability. | -| [Rocky Linux](https://rockylinux.org/) | A nearly binary compatible derivative of RHEL intended to provide a long-term stable replacement for CentOS. Built by a community team led by the founder of the CentOS project. | -| [Slackware](http://www.slackware.com/) | **Recommended for advanced Linux users only.** The oldest actively maintained distribution. One of the most UNIX-like Linux distributions available. | -| [Ubuntu](https://ubuntu.com/) | Arguably the most popular Linux distribution, widely regarded for it's ease of use. The LTS versions of Ubuntu are featured heavily in Linode's guides and across the community. | - -{{< note >}} -Though this list covers most popular distributions, creating a Linode using a distribution that we do not provide is possible. Feel free to follow our [Custom Distribution Guide](/docs/guides/install-a-custom-distribution/) for more information. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/failover-bgp-frr/index.md b/docs/products/compute/compute-instances/guides/failover-bgp-frr/index.md deleted file mode 100644 index 91fa4f100d0..00000000000 --- a/docs/products/compute/compute-instances/guides/failover-bgp-frr/index.md +++ /dev/null @@ -1,184 +0,0 @@ ---- -title: "Configuring IP Failover over BGP using FRR (Advanced)" -description: "Learn how to use Linode's IP Sharing feature to configure IP failover using FRR, a routing software that implements BGP" -published: 2022-01-11 -modified: 2022-04-28 -keywords: ['IP failover','elastic IP','frr','bgp'] -external_resources: -- '[FRRouting Documentation](http://docs.frrouting.org/en/latest/overview.html)' -aliases: ['/guides/ip-failover-bgp-frr/'] ---- - -{{< note >}} -Not all data centers support configuring IP failover over BGP. Review the [Configuring Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) to learn more about IP Sharing / IP failover availability within each data center. -{{< /note >}} - -This guide covers using the open source [FRRouting (FRR)](http://docs.frrouting.org/en/latest/overview.html#about-frr) tool to configure failover between two Linode Compute Instances. FRR is a routing service that uses BGP to monitor and fail over components in a high availability configuration. These instructions supplement the general [Configuring Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide and are intended as an advanced alternative to lelastic when more control and customization is needed. - -## Before You Begin - -Before following this guide, ensure the following has been done on each Compute Instance used within your IP failover strategy. - -1. Read through the [Configuring Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide to learn more about how failover is implemented within Linode Compute. - -1. Set the [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and [update the hosts file](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) for each Compute Instance. - -1. Verify Python3 is installed. See [FRR's official documentation](http://docs.frrouting.org/en/latest/installation.html#python-dependency-documentation-and-tests) to learn about FRR's Python dependencies. - -## Configure Failover - -These instructions enable you to configure failover using FRR, which is very configurable and can be used for advanced failover implementation. This guide depends on the general [Configuring Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide for many steps. - -To configure failover, complete each section in the order shown: - -1. [Configuring Failover on a Compute Instance > Create and Share the Shared IP Address](/docs/products/compute/compute-instances/guides/failover/#1-create-and-share-the-shared-ip-address) -1. For *each* Compute Instance: - - [Configuring Failover on a Compute Instance > Add the Shared IP to the Networking Configuration](/docs/products/compute/compute-instances/guides/failover/#2-add-the-shared-ip-to-the-networking-configuration) - - [Install FRR](#install-frr) - - [Configure FRR](#configure-frr) -1. [Configuring Failover on a Compute Instance > Test Failover](/docs/products/compute/compute-instances/guides/failover/#test-failover) - -## Install FRR - -This section provides instructions for installing FRR on Debian, Ubuntu, and CentOS systems through their native package managers. If you're using a different distribution or prefer to install FRR from source, follow [FRR's official installation instructions](http://docs.frrouting.org/en/latest/installation.html) to install FRR using git. - -### Debian and Ubuntu - -**Supported distributions:** *Ubuntu 20.04, 18.04, and 16.04 | Debian 11, 10, and 9* - -1. Set the FRR environment variable to the version you would like to install. The possible values are `frr-6`, `frr-7`, `frr-8`, and `frr-stable`, though it is recommended to use `frr-stable` to install the latest stable version. - - ```command - FRRVER="frr-stable" - ``` - - {{< note >}} - For more information on FRR versions, see the [FRR Debian repository](https://deb.frrouting.org/) and [FRR's Github Releases](https://github.com/FRRouting/frr/releases). - {{< /note >}} - -1. If you're running an older Debian-based system, you may need to install the packages below, which come default with most modern Debian-based distributions. - - ```command - sudo apt update && sudo apt install apt-transport-https gnupg - ``` - -1. Add FRR's GPG key: - - ```command - curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add - - ``` - -1. Add FRR's Debian repository to your system's source's list: - - ```command - echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list - ``` - -1. Install FRR: - - ```command - sudo apt install frr frr-pythontools - ``` - -### CentOS/RHEL 7 and 8 - -**Supported distributions:** *CentOS Stream 9 (and 8), CentOS 8 (and 7), other RHEL derivatives (including AlmaLinux 8, and Rocky Linux 8), and Fedora.* - -1. Set the FRR environment variable to the version you would like to install. The possible values are `frr-6`, `frr-7`, `frr-8`, and `frr-stable`, though it is recommended to use `frr-stable` to install the latest stable version. - - ```command - FRRVER="frr-stable" - ``` - - {{< note >}} - For more information on FRR versions, see the [FRR RPM repository](https://rpm.frrouting.org/) and [FRR's Github Releases](https://github.com/FRRouting/frr/releases). - {{< /note >}} - -1. Add FRR's RPM repository to your system: - - - **CentOS/RHEL 8** - - ```command - curl -O https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el8.noarch.rpm - sudo dnf install ./$FRRVER* - - - **CentOS/RHEL 7** - - ```command - curl -O https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el7.noarch.rpm - sudo yum install ./$FRRVER* - ``` - -1. Install FRR: - - - **CentOS/RHEL 8** - - ```command - sudo dnf install frr frr-pythontools - ``` - - - **CentOS/RHEL 7** - - ```command - sudo yum install frr frr-pythontools - ``` - -## Configure FRR - -With FRR installed, you can now configure it to enable IP failover. - -1. FRR works using a variety of protocols. Since we're using FRR for its BGP support, the next step is to explicitly enable the `bgpd` daemon. Using a text editor of your choice, enable the `bgpd` daemon by updating its value to `yes` in the FRR daemons configuration file: - - ```file {title="/etc/frr/daemons"} - # The watchfrr and zebra daemons are always started. - # - bgpd=yes - ``` - -1. Gather the following information, which is required for the next step: - - - **Shared IP address** (`[SHARED_IP]`): The IPv4 address you shared or an address from the IPv6 range that you shared. You can choose any address from the IPv6 range. For example, within the range *2001:db8:e001:1b8c::/64*, the address `2001:db8:e001:1b8c::1` can be used. - - **Prefix** (`[PREFIX]`): For an IPv4 address, use `32`. For an IPv6 address, use either `56` or `64` depending on the size of the range you are sharing. - - **Protocol** (`[PROTOCOL]`): Use `ipv4` when sharing an IPv4 address and `ipv6` when sharing an IPv6 address. - - **Hostname** (`[HOSTNAME]`): The hostname defined on the Compute Instance you are configuring (ex: `atl-bgp-1`). - - **Role** (`[ROLE]`): The role of this Compute Instance within your failover strategy. - - `primary`: All requests are routed to this Compute Instance, provided it is accessible. - - `secondary`: If the `primary` instance fails, all requests are routed to this Compute Instance, provided it is accessible. - - **Data center ID** (`[DC_ID]`): The ID of your data center. See [IP Sharing Availability](/docs/products/compute/compute-instances/guides/failover/#ip-sharing-availability) for the corresponding ID. - -1. Edit the `/etc/frr/frr.conf` file and add the following lines. Ensure you replace any instances of `[SHARED_IP]`, `[HOSTNAME]`, `[ROLE]`, and `[DC_ID]` as outlined above. - - ```file {title="/etc/frr/frr.conf"} - hostname [HOSTNAME] - - router bgp 65001 - no bgp ebgp-requires-policy - coalesce-time 1000 - bgp bestpath as-path multipath-relax - neighbor RS peer-group - neighbor RS remote-as external - neighbor RS ebgp-multihop 10 - neighbor RS capability extended-nexthop - neighbor 2600:3c0f:[DC_ID]:34::1 peer-group RS - neighbor 2600:3c0f:[DC_ID]:34::2 peer-group RS - neighbor 2600:3c0f:[DC_ID]:34::3 peer-group RS - neighbor 2600:3c0f:[DC_ID]:34::4 peer-group RS - - address-family [PROTOCOL] unicast - network [SHARED_IP]/[PREFIX] route-map [ROLE] - redistribute static - exit-address-family - - route-map primary permit 10 - set community 65000:1 - route-map secondary permit 10 - set community 65000:2 - - ipv6 nht resolve-via-default - ``` - -1. Restart the FRR service: - - ```command - sudo systemctl restart frr - ``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/index.md b/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/index.md deleted file mode 100644 index cc586aab398..00000000000 --- a/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/index.md +++ /dev/null @@ -1,304 +0,0 @@ ---- -title: "Use Keepalived Health Checks with BGP-based Failover" -description: "This guide covers how to configure Keepalived with a simple health check and enable it to control lelastic, a simple BGP daemon created for the Linode platform." -published: 2022-10-19 -modified: 2022-11-28 -keywords: ['IP failover','keepalived','elastic IP'] -aliases: ['/guides/keepalived-with-bgp-failover/'] ---- - -[Keepalived](https://linux.die.net/man/8/keepalived) is one of the most commonly used applications that implements VRRP, a networking protocol that manages IP address assignment and ARP-based failover. It can be configured with additional health checks, such as checking the status of a service or running a custom script. When one of these health checks detects an issue, the instance changes to a fault state and failover is triggered. During these state transitions, additional task can be performed through custom scripts. - -The Linode platform is currently undergoing [network infrastructure upgrades](/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/), which affects IP address assignment and failover. Once this upgrade occurs for the data center and hardware that your Compute Instances reside on, VRRP software like Keepalived can no longer directly manage failover. However, other features of Keepalived can still be used. For instance, Keepalived can continue to run health checks or VRRP scripts. It can then be configured to interact with whichever BGP daemon your system is using to manage IP address assignment and failover. - -This guide covers how to configure Keepalived with a simple health check and enable it to control [lelastic](https://github.com/linode/lelastic), a BGP daemon created for the Linode platform. - -{{< note >}} -If you are migrating to BGP-based failover and currently have health checks configured with Keepalived, you can modify the steps in this guide to include your own settings. -{{< /note >}} - -## Configure IP Sharing and BGP Failover - -Before continuing, IP Sharing and BGP failover must be properly configured on both Compute Instances. To do this, follow the [Configuring Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide, which walks you through the process of configuring failover with lelastic. If you decide to use a tool other than lelastic, you will need to make modifications to some of the commands or code examples provided in some of the following sections. - -## Install and Configure Keepalived - -This section covers installing the keepalived software from your distribution's repository. See [Installing Keepalived](https://keepalived.readthedocs.io/en/latest/installing_keepalived.html) on the official documentation if you prefer to install it from source. - -1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. - -1. Install keepalived by following the instructions for your system's distribution. - - **Ubuntu and Debian:** - - ```command - sudo apt update && sudo apt upgrade - sudo apt install keepalived - ``` - - **CentOS 8 Stream, CentOS/RHL 8 (including derivatives such as AlmaLinux 8 and Rocky Linux 8), Fedora:** - - ```command - sudo dnf upgrade - sudo dnf install keepalived - ``` - - **CentOS 7:** - - ```command - sudo yum update - sudo yum install keepalived - ``` - -1. Create and edit a new keepalived configuration file. - - ```command - sudo nano /etc/keepalived/keepalived.conf - ``` - -1. Enter the following settings for your configuration into this file. Use the example below as a starting point, replacing each item below with the appropriate values for your Compute Instance. For more configuration options, see [Configuration Options](/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/#configuration-options). - - - *$password*: A secure password to use for this keepalived configuration instance. The same password must be used for each Compute Instance you configure. - - - *$ip-a*: The IP address of this Compute Instance. - - - *$ip-b*: The IP address of the other Compute Instance. - - - *$ip-shared*: The Shared IP address. - - ```file {title="/etc/keepalived/keepalived.conf"} - vrrp_instance example_instance { - state BACKUP - nopreempt - interface eth0 - virtual_router_id 10 - priority 100 - advert_int 1 - authentication { - auth_type PASS - auth_pass $password - } - unicast_src_ip $ip-a - unicast_peer { - $ip-b - } - virtual_ipaddress { - $ip-shared/32 - } - } - ``` - - In the above configuration file, the state is set to *BACKUP* and the parameter `nopreempt` is included. When each Compute Instance uses these settings, failover is sticky. This means the Shared IP address remains routed to a Compute Instance until it enters a *FAULT* state, even if it is lower priority than the other Compute Instance. If you wish to prioritize one instance over the other, remove the `nopreempt` parameter, set one of the Compute Instances to a *MASTER* state, and adjust the `PRIORITY` parameter as desired. - -1. Enable and start the keepalived service. - - ```command - sudo systemctl enable keepalived - sudo systemctl start keepalived - ``` - -1. Perform these steps again on the other Compute Instance you would like to configure. - -## Create the Notify Script - -Keepalived can be configured to run *notification scripts* when the instance changes state (such as when entering a *MASTER*, *BACKUP* ,or *FAULT* state). These scripts can perform any action and are commonly used to interact with a service or modify network configuration files. For this guide, the scripts are used to update a log file and start or stop the BGP daemon that controls BGP failover on your Compute Instance. - -1. Create and edit the notify script. - - ```command - sudo nano /etc/keepalived/notify.sh - ``` - -1. Copy and paste the following bash script into the newly created file. If you wish to control a BGP daemon other than lelastic, replace `sudo systemctl restart lelastic` and `sudo systemctl stop lelastic` with the appropriate commands for your service. - - ```file {title="/etc/keepalived/notify.sh"} - #!/bin/bash - - keepalived_log='/tmp/keepalived.state' - function check_state { - local state=$1 - cat << EOF >> $keepalived_log - =================================== - Date: $(date +'%d-%b-%Y %H:%M:%S') - [INFO] Now $state - - EOF - if [[ "$state" == "Master" ]]; then - sudo systemctl restart lelastic - else - sudo systemctl stop lelastic - fi - } - - function main { - local state=$1 - case $state in - Master) - check_state Master;; - Backup) - check_state Backup;; - Fault) - check_state Fault;; - *) - echo "[ERR] Provided arguement is invalid" - esac - } - main $1 - ``` - -1. Make the file executable. - - ```command - sudo chmod +x /etc/keepalived/notify.sh - ``` - -1. Modify the keepalived configuration files so that the notify script is used for each state change. - - ```file {title="/etc/keepalived/keepalived.conf"} - vrrp_instance example_instance { - ... - notify_master "/etc/keepalived/notify.sh Master" - notify_backup "/etc/keepalived/notify.sh Backup" - notify_fault "/etc/keepalived/notify.sh Fault" - } - ``` - -1. Restart your BGP daemon and keepalived. - - ```command - sudo systemctl restart lelastic - sudo systemctl restart keepalived - ``` - -1. View the log file to see if it was properly created and updated. If the notification script was successfully used, this log file should have an accurate timestamp and the current state of the instance. - - ```command - cat /tmp/keepalived.state - ``` - - ```output - =================================== - Date: 14-Oct-2022 14:30:54 - [INFO] Now Master - ``` - -## Configure the Health Check (VRRP Script) - -The next step is to configure Keepalived with a health check so that it can failover if it ever detects an issue. This is the primary reason you may want to use Keepalived alongside a BGP daemon. Keepalived can be configured to track a file (`track_file`), track a process (`track_process`), or run a custom script so that you can preform more complex health checks. When using a script, like is shown in this example, the script should return a `0` to indicate success and return any other value to indicate a failure. When a failure is detected, the state is changed to *FAULT* and the notify script runs. - -This guide helps you configure a custom script that detects if a file is present or not. If the file is present, the script returns a 1 to indicate a failure. - -1. Create and edit the health check script. - - ```command - sudo nano /etc/keepalived/check.sh - ``` - -1. Copy the following script and paste it into the file. - - ```file {title="/etc/keepalived/check.sh"} - #!/bin/bash - - trigger='/etc/keepalived/trigger.file' - if [ -f $trigger ]; then - exit 1 - else - exit 0 - fi - ``` - -1. Make the file executable. - - ```command - sudo chmod +x /etc/keepalived/failover.sh - ``` - -1. Update the keepalived configuration file to define the VRRP script and enable your VRRP instance to use the script. The *interval* determines how often the script is run, *fall* determines how many times the script must return a failure before the state is changed to *FAULT*, and *rise* determines how many times a success is returned before the instance goes back to a *BACKUP* or *MASTER* state. - - ```file {title="/etc/keepalived/keepalived.conf"} - vrrp_script check_for_file { - script "/etc/keepalived/check.sh" - interval 5 - fall 2 - rise 2 - } - vrrp_instance example_instance { - ... - track_script { - check_for_file - } - ... - } - ``` - -1. Restart your BGP daemon and keepalived. - - ```command - sudo systemctl restart lelastic - sudo systemctl restart keepalived - ``` - -1. To test this health check, create the trigger file on whichever Compute Instance is in a *MASTER* state. - - ```command - touch /etc/keepalived/trigger.file - ``` - -1. Check the log file on that Compute Instance to make sure it enters a *FAULT* state. Once it does, check the log file on the other Compute Instance to verify that it enters a *MASTER* state. - - ```command - tail -F /tmp/keepalived.state - ``` - - ```output - =================================== - Date: 14-Oct-2022 14:30:54 - [INFO] Now Master - ``` - -## Additional Recommended Security Settings - -By default, Keepalived attempts to run the scripts using a *keepalived_script* user. If that doesn't exist, it uses the *root* user. Since running these scripts as the root user introduces many security concerns, this section discusses creating the *keepalived_script* user. - -1. Create a limited user account called *keepalived_script*. Since it is never used to log in, that feature can be disabled. - - ```command - sudo useradd -r -s /sbin/nologin -M keepalived_script - ``` - -1. Edit the `sudoers` file. - - ```command - visudo /etc/sudoers - ``` - -1. Within this file, grant permission for the new user to restart and stop the BGP daemon. The example below uses lelastic. - - ```file {title="/etc/sudoers"} - # User privilege specification - root ALL=(ALL:ALL) ALL - keepalived_script ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl restart lelastic, /usr/bin/systemctl stop lelastic - ``` - -1. Update the ownership of the `/etc/keepalived` directory (and all of the files within it). - - ```command - sudo chown -R keepalived_script:keepalived_script /etc/keepalived - ``` - -1. Once again, edit the Keepalived configuration file and paste the following snippet to the top of that file. - - ```file {title="/etc/keepalived/keepalived.conf"} - global_defs { - enable_script_security - } - ... - ``` - -## Example Configuration Files - -The links below contain complete working configuration files along with the specified example IP addresses. Please review them if you would like to see all of the recommended settings for each Compute Instance combined into a single file. - -- **Shared IP:** 203.0.113.57 (configured on the loopback interface) -- **Compute Instance A:** 192.0.2.173 ([keepalived.conf](keepalived.conf.a)) -- **Compute Instance B:** 198.51.100.49 ([keepalived.conf](keepalived.conf.b)) \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/keepalived.conf.a b/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/keepalived.conf.a deleted file mode 100644 index 282d8d30f26..00000000000 --- a/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/keepalived.conf.a +++ /dev/null @@ -1,34 +0,0 @@ -global_defs { - enable_script_security -} -vrrp_script check_for_file { - script "/etc/keepalived/check.sh" - interval 5 - fall 2 - rise 2 -} -vrrp_instance example_instance { - state BACKUP - nopreempt - interface eth0 - virtual_router_id 10 - priority 99 - advert_int 1 - track_script { - check_for_file - } - authentication { - auth_type PASS - auth_pass dT409gtNjMiS - } - unicast_src_ip 192.0.2.173 - unicast_peer { - 198.51.100.49 - } - virtual_ipaddress { - 203.0.113.57/32 dev lo - } - notify_master "/etc/keepalived/notify.sh Master" - notify_backup "/etc/keepalived/notify.sh Backup" - notify_fault "/etc/keepalived/notify.sh Fault" -} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/keepalived.conf.b b/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/keepalived.conf.b deleted file mode 100644 index ee621971c06..00000000000 --- a/docs/products/compute/compute-instances/guides/failover-bgp-with-keepalived/keepalived.conf.b +++ /dev/null @@ -1,34 +0,0 @@ -global_defs { - enable_script_security -} -vrrp_script check_for_file { - script "/etc/keepalived/check.sh" - interval 5 - fall 2 - rise 2 -} -vrrp_instance example_instance { - state BACKUP - nopreempt - interface eth0 - virtual_router_id 10 - priority 99 - advert_int 1 - track_script { - check_for_file - } - authentication { - auth_type PASS - auth_pass dT409gtNjMiS - } - unicast_src_ip 198.51.100.49 - unicast_peer { - 192.0.2.173 - } - virtual_ipaddress { - 203.0.113.57/32 dev lo - } - notify_master "/etc/keepalived/notify.sh Master" - notify_backup "/etc/keepalived/notify.sh Backup" - notify_fault "/etc/keepalived/notify.sh Fault" -} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/index.md b/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/index.md deleted file mode 100644 index d82dd9945c5..00000000000 --- a/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/index.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Configuring IP Failover using keepalived" -description: "Learn how to use Linode's IP Sharing feature to configure ARP-based IP failover using keepalived" -published: 2021-11-19 -modified: 2022-03-23 -keywords: ['networking','IP failover','keepalived'] -external_resources: -- '[keepalived Documentation](https://keepalived.readthedocs.io/en/latest/index.html)' -aliases: ['/guides/ip-failover-keepalived/','/guides/ip-failover-legacy-keepalived/'] ---- - -{{< note >}} -Not all data centers supports configuring IP failover through keepalived. Review the [Configuring IP Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) to learn more about IP Sharing / IP failover availability within each data center. -{{< /note >}} - -This guide covers using keepalived to configure IP failover with Linode Compute Instances. Keepalived is a routing service that can be used to monitor and fail over components in a high availability configuration. In a typical setup with IP failover, there is one **primary** Instance and one or more **secondary** Instances. - -- **Primary** (also called `MASTER` in keepalived): The primary Compute Instance is the one containing the IP address you'd like to configure for IP failover. -- **Secondary** (also called `BACKUP` in keepalived): The secondary Compute Instances are then configured to use that IP address in the event the primary Instance stops responding. - -## IP Failover Compatibility - -Linode's IP failover feature using keepalived is compatible with various IP address types in certain data centers. Review the list below to learn what types are available in your data center. - -- **Public and Private IPv4 addresses:** Can be configured in a supported data center using keepalived. You must first configure Linode's IP Sharing feature as outlined in the [Configuring IP Sharing](#configuring-ip-sharing) section. See [Configure Failover > IP Sharing Availability](/docs/products/compute/compute-instances/guides/failover/#configure-failover) for a list of data centers that support ARP-based failover. - -- **IPv6 addresses:** IP failover with IPv6 addresses is not currently supported. - -- **VLAN IP addresses:** Can be configured in a supported data center using keepalived. See [VLANs > Availability](/docs/products/networking/vlans/#availability) for a list of data centers. - -## Configuring IP Sharing - -Before using keepalived to configure IP failover for a public or private IPv4 address (not VLANs), you first need to use Linode's IP Sharing feature to share your IP address with other Compute Instances. To do so, follow the instructions within the **Configuring IP Sharing** section of the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) guide for *each secondary* Compute Instance. - -## Installing and Configuring keepalived - -This section covers installing the keepalived software from your distribution's repository. See [Installing Keepalived](https://keepalived.readthedocs.io/en/latest/installing_keepalived.html) on the official documentation if you prefer to install it from source. After installing keepalived, the next step is to configure it for your particular IP failover scenario. - -1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. - -1. Install keepalived by following the instructions for your system's distribution. - - **Ubuntu and Debian:** - - ```command - sudo apt update && sudo apt upgrade - sudo apt install keepalived - ``` - - **CentOS 8 Stream, CentOS/RHL 8 (including derivatives such as AlmaLinux 8 and Rocky Linux 8), Fedora:** - - ```command - sudo dnf upgrade - sudo dnf install keepalived - ``` - - **CentOS 7:** - - ```command - sudo yum update - sudo yum install keepalived - ``` - -1. Start editing a new keepalived configuration file. - - ```command - sudo nano /etc/keepalived/keepalived.conf - ``` - -1. Enter the proper settings for your configuration into this file. Use the example below as a starting point, replacing the following items. For more configuration options, see [Configuration Options](#configuration-options). - - - Replace *$password* with a secure password to use for this configuration instance. You should use the same password for each Compute Instance you configure. - - - Replace *192.0.2.1* with the IP address for which you'd like to enable failover. - - {{< note >}} - If configuring IP failover on a VLAN IP, you likely need to change the *interface* value from `eth0` to `eth1`. See the **interface** item under [Configuration Options](#configuration-options) for help finding the Network Interface your VLAN may be using. - {{< /note >}} - - ```file {title="/etc/keepalived/keepalived.conf"} - vrrp_instance Instance1 { - state MASTER - interface eth0 - virtual_router_id 10 - priority 100 - advert_int 1 - authentication { - auth_type PASS - auth_pass $password - } - virtual_ipaddress { - 192.0.2.1 - } - } - ``` - -1. Enable and start the keepalived service. - - ```command - sudo systemctl enable keepalived - sudo systemctl start keepalived - ``` - -1. Perform these steps again on *each* secondary Compute Instance you would like to configure. You can use the same configuration file as provided above, but make the following adjustments: - - - Set the *state* value to `BACKUP` - - Set the *priority* value to `99` or less, depending on the failover order you prefer for the secondary Compute Instances. - -## Configuration Options - -When configuring keepalived, there are quite a few options that can be modified to accomplish various tasks and behaviors. This section covers some of them, though you can review the [Keepalived configuration synopsis](https://keepalived.readthedocs.io/en/latest/configuration_synopsis.html) page on the official documentation to learn more. - -- **vrrp_instance:** The VRRP instance definition block. Set this to whatever you'd like to call this block. To help with identification, this should be the same value across all Compute Instances that will share the specified IP address. -- **state:** Set this to `MASTER` if the IP address is natively assigned to this Compute Instance. When configuring it as a secondary failover server, use `BACKUP`. -- **interface:** Set this to whichever Network Interface the IP address is using or should use. To find the interface, log in to [Cloud Manager](https://cloud.linode.com/), click on the **Linodes** link on the left menu, select your Compute Instance, navigate to the **Configurations** tab and review the **Network Interfaces** column for your active configuration profile. For public IP addresses the interface is typically `eth0` and for vlan addresses the interface is likely `eth1`. - - ![The Configuration tab in Cloud Manager](ip-failover-keepalived-ethernet-configuration.png) - -- **priority:** When multiple secondary Compute Instances are configured for IP failover, this sets the order in which they will be used. -- **auth_pass:** Set the password used by keepalived for failover synchronization. This should be used across all Compute Instances that will share the specified IP address. -- **virtual_ipaddress:** This block defines which IP address is configured for IP failover. Set this to the IP address you'd like to use. - -## Testing the IP Failover Functionality - -1. Power off the *primary* Compute Instance. - -1. If you've configured IP failover for a public IP address, ping the IP address on your local machine. If you've configured IP failover on a private network, such as a VLAN, ping the IP address from another machine on that network. - - ```command - ping 192.0.2.1 - ``` - - If IP failover is successfully configured, the output should be similar to the following (once the primary Compute Instance has fully powered off): - - ```output - 64 bytes from 192.0.2.1: icmp_seq=3310 ttl=64 time=0.373 ms - ``` - - If you are instead receiving output telling you that the host is unreachable, IP failover likely hasn't been successfully configured. - - ```output - From 192.0.2.1 icmp_seq=3293 Destination Host Unreachable - ``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/ip-failover-keepalived-ethernet-configuration.png b/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/ip-failover-keepalived-ethernet-configuration.png deleted file mode 100644 index bf7cc670d3f..00000000000 Binary files a/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/ip-failover-keepalived-ethernet-configuration.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/failover/index.md b/docs/products/compute/compute-instances/guides/failover/index.md deleted file mode 100644 index a5e825fd593..00000000000 --- a/docs/products/compute/compute-instances/guides/failover/index.md +++ /dev/null @@ -1,289 +0,0 @@ ---- -title: "Configure Failover on a Compute Instance" -description: "This guide discusses how to enable failover on a Linode Compute Instance through using our IP Sharing feature with software such as keepalived or FRR." -published: 2022-03-23 -modified: 2024-06-20 -keywords: ['IP failover','IP sharing','elastic IP'] -aliases: ['/guides/ip-failover/'] -tags: ["media"] ---- - -In cloud computing, *failover* is the concept of rerouting traffic to a backup system should the original system become inaccessible. Linode Compute Instances support failover through the [IP Sharing](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) feature. This allows two Compute Instances to share a single IP address, one serving as the *primary* and one serving as the *secondary*. If the primary Compute Instance becomes unavailable, the shared IP address is seamlessly routed to the secondary Compute Instance (fail*over*). Once the primary instance is back online, the IP address route is restored (fail*back*). - -## Why Should I Implement Failover? - -When hosting web-based services, the total uptime and availability of those services should be an important consideration. There’s always a possibility that your Compute Instance may become inaccessible, perhaps due to a spike in traffic, your own internal configuration issues, a natural disaster, or planned (or unplanned) maintenance. When this happens, any websites or services hosted on that instance would also stop working. Failover provides a mechanism for protecting your services against a single point of failure. - -The term *high availability* describes web application architectures that eliminate single points of failure, offering redundancy, monitoring, and failover to minimize downtime for your users. Adding a load balancing solution to your application’s infrastructure is commonly a key component of high availability. Managed solutions, like Linode’s NodeBalancers, combine load balancing with built-in IP address failover. However, self-hosted solutions like nginx or haproxy do not include built-in IP failover. Should the system running the load balancing software experience downtime, the entire application goes down. To prevent this, you need an additional server running your load balancing software and a mechanism to failover the IP address. On the Linode platform, this is accomplished through the IP Sharing feature and some additional software configuration. - -{{< note >}} -For many production applications, you may want to consider a load balancing tool that goes beyond basic failover. Linode's [NodeBalancers](/docs/products/networking/nodebalancers/) combines load balancing with built-in failover. If you are using self-hosted load balancing software, such as NGINX or [HAProxy](/docs/guides/how-to-use-haproxy-for-load-balancing/), on your own Compute Instances, you must use the IP Sharing feature to provide failover for IP addresses. -{{< /note >}} - -## IP Sharing Availability - -Within Linode's platform, failover is configured by first enabling [IP Sharing](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) and then configuring software on both the primary and secondary Compute Instances. IP Sharing availability varies by data center. Review the list below to learn which data centers support IP Sharing and how it can be implemented. - -| Data center | IP Sharing support | Failover method | Software | ID | -| -- | -- | -- | -- | -- | -| Amsterdam (Netherlands) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 22 | -| Atlanta, GA (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 4 | -| Chennai (India) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 25 | -| Chicago, IL (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 18 | -| Dallas, TX (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 2 | -| Frankfurt (Germany) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 10 | -| Fremont, CA (USA) | *Undergoing network upgrades* | - | - | 3 | -| Jakarta (Indonesia) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 29 | -| Los Angeles, CA (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 30 | -| London (United Kingdom) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 7 | -| Madrid (Spain) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 24 | -| Miami, FL (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 28 | -| Milan (Italy) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 27 | -| Mumbai (India) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 14 | -| Newark, NJ (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 6 | -| Osaka (Japan) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 26 | -| Paris (France) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 19 | -| São Paulo (Brazil) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 21 | -| Seattle, WA, USA | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 20 | -| Singapore | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 9 | -| Stockholm (Sweden) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 23 | -| Sydney (Australia) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 16 | -| Tokyo (Japan) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 11 | -| Toronto (Canada) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 15 | -| Washington, DC (USA) | **Supported** | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 17 | - -{{< note >}} -- If a data center is marked as *undergoing network upgrades*, customers may encounter issues enabling IP Sharing and configuring failover. For Compute Instances that already have IP Sharing enabled, this feature should still function as intended. Once the network upgrades are completed, IP Sharing will be supported through the new method (BGP). Review documentation on our [planned network infrastructure upgrades](/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/) to learn more about these changes. -- IP failover for VLAN IP addresses is supported within every data center where VLANs are available. This feature does not depend on Linode's IP Sharing feature and depends on ARP-based failover software, such as keepalived. -{{< /note >}} - -## IP Address Failover Methods - -- **ARP-based (legacy method):** Supports IPv4. This method is currently being phased out. Since it is ARP-based, customers can configure it on their Compute Instances using software that supports VRRP (Virtual Router Redundancy Protocol), such as keepalived. Follow the instructions within the [keepalived](/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/) guide. - -- **BGP-based (new method):** Supports IPv4 (public and private) and IPv6 routed ranges (/64 and /56). This is currently being rolled out across our fleet in conjunction with our [planned network infrastructure upgrades](/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/). Since it is implemented using BGP routing, customers can configure it on their Compute Instances using lelastic (Linode’s own tool) or software like FRR, BIRD, or GoBGP. - - {{< note >}} - While keepalived is not used directly for failover, you can still make use of `vrrp_scripts` for health checks. You might do so if you wish to retain some of your existing keepalived functionality when migrating to a BGP-based failover method. - {{< /note >}} - -## Configure Failover - -The instructions within this guide enable you to configure failover using IP Sharing and the [lelastic](https://github.com/linode/lelastic) tool, a Linode provided tool based on GoBGP that automates much of the configuration. While lelastic enables many basic implementations of failover, you may want to consider using FRR or any other BGP client if your implementation is more advanced. See [Configuring IP Failover over BPG using FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/). - -{{< note >}} -- If your data center supports the legacy method (ARP), use the [Configuring IP Failover using keepalived](/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/) guide instead. That guide should also be used when setting up failover for VLAN IP addresses. -- If you've included your compute instances in a [placement group](/docs/products/compute/compute-instances/guides/placement-groups/), the group needs to use **Anti-affinity** as its Affinity Type, which spreads them out in a data center. The opposite Affinity Type, **Affinity** physically places compute instances close together, sometimes on the same host. This defeats the purpose of fail over. -{{< /note >}} - -To configure failover, complete each section that follows. - -### 1. Create and Share the Shared IP Address - -1. Log in to [Cloud Manager](https://cloud.linode.com/). - -1. Determine which two Compute Instances are to be used within your failover setup. They both must be located in the same data center. If you need to, create those Compute Instances now and allow them to fully boot up. - - {{< note >}} - To support this new BGP method of IP Sharing and failover, your Compute Instance must be assigned an IPv6 address. This is not an issue for most instances as an IPv6 address is assigned during deployment. If your Compute Instance was created *before* IPv6 addresses were automatically assigned, and you would like to enable IP Sharing within a data center that uses BGP-based failover, contact [Linode Support](https://www.linode.com/support/). - {{< /note >}} - -1. Disable Network Helper on both instances. For instructions, see the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) guide. - -1. Of the IP addresses assigned to your Compute Instances, determine which IP address you wish to use as the shared IP. You may want to add an additional IPv4 address _or_ IPv6 range (/64 or /56) to one of the instances, as this avoids temporary connectivity loss to applications that may be using your existing IP addresses. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) guide for instructions. *Each additional IPv4 address costs $2 per month*. - -1. On the Compute Instance that *is not* assigned the IP address you selected in the previous step, add that IPv4 address or IPv6 range as a *Shared IP* using Linode's **IP Sharing** feature. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) for instructions on configuring IP sharing. - - {{< note type=warning >}} - When IP Sharing is enabled for an IP address, all connectivity to that IP address is immediately lost *until* it is configured on [Lelastic](#install-and-configure-lelastic), [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/), or another BGP routing tool. This is not an issue when adding a new IP address, but should be considered if you are enabling IP Sharing on an existing IP address that is actively being used. - {{< /note >}} - -### 2. Add the Shared IP to the Networking Configuration - -Adjust the network configuration file on *each* Compute Instance, adding the shared IP address and restarting the service. - -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Add the shared IP address to the system's networking configuration file. Within the instructions for your distribution below, open the designated file with a text editor (such as [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or vim) and add the provided lines to the end of that file. When doing so, make the following replacements: - - - **[shared-ip]**: The IPv4 address you shared or an address from the IPv6 range that you shared. You can choose any address from the IPv6 range. For example, within the range *2001:db8:e001:1b8c::/64*, the address `2001:db8:e001:1b8c::1` can be used. - - **[prefix]**: For an IPv4 address, use `32`. For an IPv6 address, use either `56` or `64` depending on the size of the range you are sharing. - - {{< note >}} - Review the configuration file and verify that the shared IP address does not already appear. If it does, delete associated lines before continuing. - {{< /note >}} - - - **Ubuntu 18.04 LTS and newer**: Using [netplan](https://netplan.io/). The entire configuration file is shown below, though you only need to copy the `lo:` directive. - - ```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} - network: - version: 2 - renderer: networkd - ethernets: - eth0: - dhcp4: yes - lo: - match: - name: lo - addresses: - - [shared-ip]/[prefix] - ``` - - To apply the changes, reboot the instance or run: - - ```command - sudo netplan apply - ``` - - - **Debian and Ubuntu 16.04 (and older)**: Using [ifupdown](https://manpages.debian.org/unstable/ifupdown/ifup.8.en.html). Replace *[protocol]* with `inet` for IPv4 or `inet6` for IPv6. - - ```file {title="/etc/network/interfaces"} - ... - # Add Shared IP Address - iface lo [protocol] static - address [shared-ip]/[prefix] - ``` - - To apply the changes, reboot the instance or run: - - ```command - sudo ifdown lo && sudo ip addr flush lo && sudo ifup lo - ``` - - If you receive the following output, you can safely ignore it: *RTNETLINK answers: Cannot assign requested address*. - - - **CentOS/RHEL**: Using [NetworkManager](https://en.wikipedia.org/wiki/NetworkManager). Since NetworkManager does not support managing the loopback interface, you need to first add a dummy interface named *shared* (or any other name that you wish). Instead of editing the file directly, the [nmcli](https://linux.die.net/man/1/nmcli) tool is used. - - ```command - nmcli con add type dummy ifname shared - ``` - - Next, add your Shared IP address (or addresses) and bring up the new interface. Run the commands below, replacing *[protocol]* with `ipv4` for IPv4 or `ipv6` for IPv6 (in addition to replacing *[shared-ip]* and *[prefix]*) - - ```command - nmcli con mod dummy-shared [protocol].method manual [protocol].addresses [shared-ip]/[prefix] - nmcli con up dummy-shared - ``` - - Since the loopback interface is not used, you must also add the `-allifs` option to the lelastic command (discussed in a separate section below). - -### 3. Install and Configure Lelastic - -Next, we need to configure the failover software on *each* Compute Instance. For this, the [lelastic](https://github.com/linode/lelastic) utility is used. For more control or for advanced use cases, follow the instructions within the [Configuring IP Failover over BPG using FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) guide instead of using lelastic. - -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Install lelastic by downloading the latest release from the GitHub repository, extracting the contents of the archived file, and moving the lelastic executable to a folder within your PATH. This same process can be used to update lelastic, making sure to restart the lelastic service (detailed in a later step) to complete the upgrade. Before installing or updating lelastic, review the [releases page](https://github.com/linode/lelastic/releases) and update the version variable with the most recent version number. - - ```command - version=v0.0.6 - curl -LO https://github.com/linode/lelastic/releases/download/$version/lelastic.gz - gunzip lelastic.gz - chmod 755 lelastic - sudo mv lelastic /usr/local/bin/ - ``` - - {{< note >}} - **CentOS/RHEL:** If running a distribution with SELinux enabled (such as most CentOS/RHEL distributions), you must also set the SELinux type of the file to `bin_t`. - - ```command - sudo chcon -t bin_t /usr/local/bin/lelastic - ``` - {{< /note >}} - -1. Next, prepare the command to configure BGP routing through lelastic. Replace *[id]* with the ID corresponding to your data center in the [table above](#ip-sharing-availability) and *[role]* with either `primary` or `secondary`. You do not need to run this command, as it is configured as a service in the following steps. - - ```command - lelastic -dcid [id] -[role] & - ``` - - **Additional options:** - - `-send56`: Advertises an IPv6 address as a /56 subnet (defaults to /64). This is needed when using an IP address from a IPv6 /56 routed range. - - `-allifs`: Looks for the shared IP address on all interfaces, not just the loopback interface. - - {{< note >}} - **CentOS/RHEL:** Since the Shared IP address is configured on the *eth0* interface for NetworkManager distributions (like CentOS/RHEL), you must add the `-allifs` option to the lelastic command. - {{< /note >}} - - See [Test Failover](#test-failover) to learn more about the expected behavior for each role. - -1. Create and edit the service file using either nano or vim. - - ```command - sudo nano /etc/systemd/system/lelastic.service - ``` - -1. Paste in the following contents and then save and close the file. Replace *$command* with the lelastic command you prepared in a previous step. - - ```file {title="etc/systemd/system/lelastic.service"} - [Unit] - Description= Lelastic - After=network-online.target - Wants=network-online.target - - [Service] - Type=simple - ExecStart=/usr/local/bin/$command - ExecReload=/bin/kill -s HUP $MAINPID - - [Install] - WantedBy=multi-user.target - ``` - -1. Apply the correct permissions to the service file. - - ```command - sudo chmod 644 /etc/systemd/system/lelastic.service - ``` - -1. Start and enable the lelastic service. - - ```command - sudo systemctl start lelastic - sudo systemctl enable lelastic - ``` - - You can check the status of the service to make sure it's running (and to view any errors) - - ```command - sudo systemctl status lelastic - ``` - - If you need to, you can stop and disable the service to stop failover functionality on the particular Compute Instance. - - ```command - sudo systemctl stop lelastic - sudo systemctl disable lelastic - ``` - -## Test Failover - -Once configured, the shared IP address is routed to the *primary* Compute Instance. If that instance becomes inaccessible, the shared IP address is automatically routed to the *secondary* instance (fail*over*). Once the primary instance is back online, the shared IP address is restored to that instance (fail*back*). - -If desired, both instances can be configured with the same role (both primary or both secondary). This prevents failback functionality, meaning that the shared IP address is not restored to the original system, even if the original system comes back online. - -You can test the failover functionality of the shared IP using the steps below. - -1. Using a machine other than the two Compute Instances within the failover configuration (such as your local machine), ping the shared IP address. - - ```command - ping [shared-ip] - ``` - - Review the output to verify that the ping is successful. The output should be similar to the following: - - ```output - 64 bytes from 192.0.2.1: icmp_seq=3310 ttl=64 time=0.373 ms - ``` - - {{< note >}} - If you are sharing an IPv6 address, the machine from which you are running the `ping` command must have IPv6 connectivity. Not all ISPs have this functionality. - {{< /note >}} - -1. Power off the *primary* Compute Instance or stop the lelastic service on that instance. Once the service has stopped or the instance has fully powered down, the shared IP address should be routed to the secondary instance. - - ```command - sudo systemctl stop lelastic - ``` - -1. Verify that the shared IP is still accessible by again running the ping command. If the ping is successful, failover is working as intended. diff --git a/docs/products/compute/compute-instances/guides/glish/glish-login-lightdm-select-desktop.png b/docs/products/compute/compute-instances/guides/glish/glish-login-lightdm-select-desktop.png deleted file mode 100644 index c3d79b4ed78..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/glish-login-lightdm-select-desktop.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/glish/glish-login-lightdm.png b/docs/products/compute/compute-instances/guides/glish/glish-login-lightdm.png deleted file mode 100644 index d89de03de41..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/glish-login-lightdm.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/glish/glish-tty1.png b/docs/products/compute/compute-instances/guides/glish/glish-tty1.png deleted file mode 100644 index e59586df14f..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/glish-tty1.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/glish/glish-xfce-desktop.png b/docs/products/compute/compute-instances/guides/glish/glish-xfce-desktop.png deleted file mode 100644 index 11823a0f976..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/glish-xfce-desktop.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/glish/index.md b/docs/products/compute/compute-instances/guides/glish/index.md deleted file mode 100644 index 812bdc598eb..00000000000 --- a/docs/products/compute/compute-instances/guides/glish/index.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: "Access Your Desktop Environment Using Glish (Linode Graphical Shell)" -title_meta: "Access Your Desktop Environment Using Glish" -description: "Use Glish (the Linode Graphical Shell) to access a desktop environment, like Xfce or Gnome, on your web browser." -published: 2015-08-28 -modified: 2022-10-12 -keywords: ["Console", "Shell", "glish", "desktop environment", "display manager"] -tags: ["linode platform","cloud manager"] -image: using-linode-glish-title.jpg -aliases: ['/platform/manager/using-the-linode-graphical-shell-glish-classic-manager/','/networking/using-the-graphic-shell-glish/','/networking/using-the-linode-graphical-shell-glish/','/platform/manager/using-the-linode-graphical-shell-glish/','/platform/using-the-linode-graphical-shell-glish/','/networking/use-the-graphic-shell-glish/','/guides/using-the-linode-graphical-shell-glish/','/guides/glish/'] ---- - -Glish is the graphical version of [Lish](/docs/products/compute/compute-instances/guides/lish/) (the Linode Shell). It lets you run a desktop environment on your Compute Instance and access it through Cloud Manager. - -{{< note >}} -Linode distribution images do not have any desktop environments pre-installed. While this guide provides instructions for installing Xfce on Debian, you can use any other desktop environment and distribution. Popular desktop environments on Linux include Gnome, KDE, MATE, and Xfce. -{{< /note >}} - -## Enable Glish - -By default, Glish is enabled on all Compute Instances as part of the distro helper configuration tool. There is no additional configuration needed. Glish works by accessing the `tty1` console over the virtual VGA device. - -If you have disabled distro helper on your Compute Instance's [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/), manually launch a [getty](https://en.wikipedia.org/wiki/Getty_(Unix)) on `tty1` using the command below. This command may vary depending on the installed distribution. - -```command -exec /sbin/getty -8 38400 tty1 & -``` - -{{< note >}} -If you are having issues accessing Weblish or Glish, you may be behind a restrictive local firewall. See [Lish Gateways](/docs/products/compute/compute-instances/guides/lish/#lish-gateways) for a list of data centers, their corresponding gateways, and the ports that are used. -{{< /note >}} - -## Install a Display Manager and Desktop Environment - -Before using Glish, a display manager and desktop environment must be installed on the Compute Instance. You can use any desktop environment that you wish, including [Gnome](https://www.gnome.org/), [KDE](https://kde.org/), [MATE](https://mate-desktop.org/), and [Xfce](https://www.xfce.org/). When choosing one, consider the size of your Compute Instance and the requirements of that desktop environment. For instance, Xfce and MATE are lightweight and can run on the smallest Compute Instance. When running Gnome, at least 2 GB of memory is recommended. For KDE, at least 4 GB of memory is recommended. - -{{< note >}} -The instructions below install Xfce4 and LightDM on Debian 11. You are not limited to using these applications or this distribution. If you wish to use other software, follow the instructions for that application. -{{< /note >}} - -1. Log in to your Compute Instance using [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). - -1. Follow all of the instructions within the [Set Up and Secure a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide, including updating your system, setting the timezone, and adding a limited user account. Most display managers do not allow root login by default. - - ```command - sudo apt update && sudo apt upgrade - ``` - -1. Install your preferred desktop environment. The command below installs Xfce, along with the optional enhancements package and a web browser. - - ```command - sudo apt install xfce4 xfce4-goodies dbus-x11 firefox-esr - ``` - -1. Install a display manager, which provides a graphical login screen. This lets you log in as your desired user and with your preferred desktop environment. There are many display managers available, including [LightDM](https://wiki.debian.org/LightDM), [GDM](https://wiki.debian.org/GDM) (Gnome Desktop Manager), [SDDM](https://wiki.debian.org/SDDM), and [Ly](https://github.com/fairyglade/ly). This guide uses LightDM. - - ```command - sudo install lightdm - ``` - -1. Set your new display manager as the system default. The command below opens up a prompt that lets you select your preference from all display manager's that are currently installed. - - ```command - sudo dpkg-reconfigure lightdm - ``` - -## Access Glish and the Linux Desktop - -1. Log in to [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar, and select your desired Compute Instance from the list. - -1. To open the console, click on the **Launch Console** button in the top right corner of the summary page. - - ![Launch the Console](launch-console-button.png) - -1. Log in to the *Weblish* prompt (or use SSH) and start the display manager. The example below is for LightDM. - - ```command - sudo systemctl start lightdm - ``` - -1. Once the display manager has started, select the **Glish** tab. - - ![Screenshot of the Lish Console with the Glish button](switch-to-glish.png) - -1. The display manager's login prompt should appear within the Glish tab. If you are using LightDM, it should look similar to the screenshot below. Enter your username and password. Since the root user is likely disabled by default, use a limited user account on your system. - - ![Screenshot of LightDM in Glish](glish-login-lightdm.png) - - If you have multiple desktop environments, you can select between them by using the configuration button in the top left of the screen. - - ![Select the desktop environment within LightDM](glish-login-lightdm-select-desktop.png) - - If your display manager is not working properly, you may still see the tty prompt as shown below. If this is the case, go back to *weblish* and troubleshoot. - - ![Screenshot of tty in Glish](glish-tty1.png) - -1. Once you are successfully logged in, your desktop environment should be visible. From here, you can use your mouse and keyboard to control your desktop. - - ![Screenshot of Xfce4 in Glish](glish-xfce-desktop.png) - - {{< note type="note" >}} - Glish does not offer copy and paste functionality. - {{< /note >}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/glish/launch-console-button.png b/docs/products/compute/compute-instances/guides/glish/launch-console-button.png deleted file mode 100644 index e879e645dc2..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/launch-console-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/glish/switch-to-glish.png b/docs/products/compute/compute-instances/guides/glish/switch-to-glish.png deleted file mode 100644 index d95fcd52b46..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/switch-to-glish.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/glish/using-linode-glish-title.jpg b/docs/products/compute/compute-instances/guides/glish/using-linode-glish-title.jpg deleted file mode 100644 index 30ddb97caac..00000000000 Binary files a/docs/products/compute/compute-instances/guides/glish/using-linode-glish-title.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/ifupdown/index.md b/docs/products/compute/compute-instances/guides/ifupdown/index.md deleted file mode 100644 index 79d824be338..00000000000 --- a/docs/products/compute/compute-instances/guides/ifupdown/index.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -title: "Network Configuration Using ifupdown" -description: "Learn how to configure networking using the ifupdown utility on Debian and older Ubuntu distributions" -published: 2022-05-25 -keywords: ["static", "ip address","ifupdown", "ifup", "ifdown"] -tags: ["networking","linode platform",] -external_resources: - - '[ifupdown documentation](https://manpages.debian.org/bullseye/ifupdown/interfaces.5.en.html)' -aliases: ['/guides/ifupdown/'] ---- - -The [ifupdown](https://manpages.debian.org/bullseye/ifupdown/ifup.8.en.html) package is an older network configuration software that's still used by Debian and older Ubuntu distributions (such as 16.04 LTS and earlier). - -{{< note >}} -Newer Ubuntu releases use Netplan in conjunction with systemd-networkd (or NetworkManager). Newer Debian releases also include systemd-networkd, though ifupdown is still the default. -{{< /note >}} - -{{< note >}} -This guide serves as a supplement to the main [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. Please review that guide before making any configuration changes to your Compute Instance. -{{< /note >}} - -## Configuration Files - -Network configuration settings for ifupdown are managed inside of an [interfaces](https://manpages.debian.org/bullseye/ifupdown/interfaces.5.en.html) file or series of files. The main configuration is typically stored in `/etc/network/interfaces` and additional files are typically added within `/etc/network/interfaces.d/*` - -- **Default configuration file:** `/etc/network/interfaces` - -## Starter Configuration - -Here is an example of a typical configuration file for ifupdown. It statically defines the IPv4 address and allows SLAAC to configure the IPv6 address. - -```file {title="/etc/network/interfaces"} -auto lo -iface lo inet loopback - -source /etc/network/interfaces.d/* - -auto eth0 - -allow-hotplug eth0 - -iface eth0 inet6 auto -iface eth0 inet static - address 192.0.2.123/24 - gateway 192.0.2.1 -``` - -## Configuring IP Addresses Manually - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and review your Compute Instance's IP addresses. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make a note of the following pieces of information or keep this page accessible so you can reference it later. - - - Public IPv4 address(es) and the associated IPv4 gateway - - Private IPv4 address (if one has been added) - - IPv6 SLAAC address and the associated IPv6 gateway - - IPv6 /64 or /56 routed range (if one has been added) - - DNS resolvers (if you want to use Linode's resolvers) - -1. Disable Network Helper on the Compute Instance so that it doesn't overwrite any of your changes on the next system reboot. For instructions, see the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) guide. This guide covers disabling Network Helper *globally* (for all Compute Instances on your account) or just for a single instance. - -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). You may want to consider using Lish to avoid getting locked out in the case of a configuration error. - -1. Perform any necessary configuration steps as outlined in the workflows below. You can edit your network configuration file using a text editor like [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or [vim](/docs/guides/what-is-vi/). - - ```command - sudo nano /etc/network/interfaces - ``` - -1. Once you've edited the configuration file to fit your needs, you need to apply the changes or reboot the Compute Instance. To apply your changes with ifupdown, run the following commands: - - ```command - sudo ifdown eth0 && sudo ip addr flush eth0 && sudo ifup eth0 - ``` - -## Changing the Primary IPv4 Address - -To change the main IPv4 address configured on the system, set the `address` and `gateway` parameters under `iface eth0 inet static` to match the new IP address and its corresponding gateway IP address. - -```file {title="/etc/network/interfaces"} -... -iface eth0 inet static - address 192.0.2.123/24 - gateway 192.0.2.1 -``` - -## Configuring the Primary IPv4 Address through DHCP - -DHCP can be used to automatically configure your primary IPv4 address. The primary IPv4 address is defined as the IPv4 address assigned to your system that is in the first position when sorted numerically. To enable DHCP, modify or add an `iface` for your interface using `dhcp` instead of `static`. - -```file {title="/etc/network/interfaces"} -... -iface eth0 inet dhcp -# iface eth0 inet static -# address 192.0.2.123/24 -# gateway 192.0.2.1 -``` - -{{< note type="alert" >}} -When using DHCP, the IPv4 address configured on your system may change if you add or remove IPv4 addresses on your Compute Instance. If this happens, any tool or system using the original IPv4 address will no longer be able to connect. -{{< /note >}} - -To disable DHCP, switch `dhcp` back to `static` and manually add the relevant `address` and `gateway` lines. - -## Configuring Additional IPv4 Addresses - -Additional IP addresses can be configured by adding or modifying the `iface` group for the desired interface. Multiple `address` lines can be provided to configure more than one IP address. - -```file {title="/etc/network/interfaces"} -... -iface eth0 inet static - address [ip-address]/[prefix] -``` - -In the example above, make the following replacements: - -- **[ip-address]**: The IPv4 address that you wish to statically configure. -- **[prefix]**: The prefix is based on the type of IP address you are adding. It should be `24` for public IPv4 addresses and `17` for private IPv4 addresses. - -## Configuring the Primary IPv6 Address through SLAAC - -SLAAC is used to automatically configure your primary IPv6 address. Within ifupdown, you can configure an IPv6 SLAAC address by adding or modifying the `iface` for your interface and the `inet6` protocol, making sure to set it to `auto` instead of `static`. - -```file {title="/etc/network/interfaces"} -... -iface eth0 inet6 auto - accept_ra 2 -``` - -If you wish to disable IPv6 SLAAC addressing and instead statically configure your primary IPv6 address (not recommended), you can modify the `iface eth0 inet6` group by setting it to `static` and adding your primary IPv6 address within the `address` parameter (using the prefix of `/128`). - -```file {title="/etc/network/interfaces"} -... -iface eth0 inet6 static - address [ip-address]/128 - # accept_ra 2 -``` - -## Configuring Additional IPv6 Addresses - -If you have an IPv6 range assigned to your Compute Instance, addresses from this range can be configured within the `iface eth0 inet6` group, making sure it's set to `static` instead of `auto`. Multiple `address` lines can be provided to configure more than one IP address. - -```file {title="/etc/network/interfaces"} -... -iface eth0 inet6 static - address [ip-address]/[prefix] - autoconf 1 - accept_ra 2 -``` - -In the example above, make the following replacements: - -- **[ip-address]**: The IPv6 address that you wish to statically configure. You can choose any address within your available range. For example, within the range *2001:db8:e001:1b8c::/64*, the address `2001:db8:e001:1b8c::1` can be used. -- **[prefix]**: The prefix should either be `64` or `56` (depending on the size of your IPv6 range). - -The `autoconf` parameter (when set to `1`), allows the primary IPv6 address to be automatically configured through SLAAC, which is the preferred behavior for most cases. - -## Changing the DNS Resolvers - -DNS resolvers are the entities that resolve domain names to their corresponding IPv4 address. By default, the Compute Instance should be using the DNS resolvers for the data center in which it resides. You can change these through the `/etc/resolv.conf` file, setting the `nameserver` parameters to your preferred DNS resolvers. - -```file {title="/etc/resolv.conf"} -domain ip.linodeusercontent.com -search ip.linodeusercontent.com -nameserver 203.0.113.1 -nameserver 203.0.113.2 -nameserver 203.0.113.3 -... -``` - -In the above example, replace the IP addresses provided with the IP addresses of the DNS resolvers you wish to use. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/install-nvidia-cuda/index.md b/docs/products/compute/compute-instances/guides/install-nvidia-cuda/index.md deleted file mode 100644 index e661a7e6e37..00000000000 --- a/docs/products/compute/compute-instances/guides/install-nvidia-cuda/index.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: "Install the NVIDIA CUDA Toolkit" -title_meta: "Install the NVIDIA CUDA Toolkit on GPU Compute Instances" -description: "This guide provides step-by-step instructions for installing the NVIDIA CUDA Toolkit and drivers on a GPU Compute Instance at Linode for your workloads." -published: 2022-01-21 -modified: 2023-06-21 -aliases: ['/products/compute/gpu/guides/install-nvidia-drivers-with-cuda/','/products/compute/gpu/guides/install-nvidia-drivers-manually/','/products/compute/gpu/guides/install-nvidia-driver-dependencies/','/products/compute/gpu/guides/install-nvidia-cuda/'] ---- - -To take advantage of the powerful parallel processing capabilities offered by GPU instances equipped with NVIDIA Quadro RTX cards, you first need to install NVIDIA's CUDA Toolkit. This guide walks you through deploying a GPU instance and installing the CUDA Toolkit. - -1. Deploy a GPU Compute Instance using [Cloud Manager](https://cloud.linode.com/), the Linode CLI, or the Linode API. It's recommended to follow the instructions within the following guides: - - - [Getting Started with Linode](/docs/products/platform/get-started/) - - [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) - - Be sure to select a distribution that's compatible with the NVIDIA CUDA Toolkit. Review NVIDIA's [System Requirements](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements) to learn which distributions are supported. - -1. Upgrade your system and install the kernel headers and development packages for your distribution. See NVIDIA's [Pre-installation Actions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#pre-installation-actions) for additional information. - - - **Ubuntu and Debian** - - ```command - sudo apt update && sudo apt upgrade - sudo apt install build-essential linux-headers-$(uname -r) - ``` - - - **CentOS/RHEL 8, AlmaLinux 8, Rocky Linux 8, and Fedora** - - ```command - sudo dnf upgrade - sudo dnf install gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) - ``` - - - **CentOS/RHEL 7** - - ```command - sudo yum update - sudo yum install gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) - ``` - -1. Install the NVIDIA CUDA Toolkit software that corresponds to your distribution. - - 1. Navigate to the [NVIDIA CUDA Toolkit Download](https://developer.nvidia.com/cuda-downloads) page. This page provides the installation instructions for the latest version of the CUDA Toolkit. - - 1. Under the **Select Target Platform** section, choose the following options: - - - **Operating System:** Linux - - **Architecture:** x86_64 - - **Distribution:** Select the distribution you have installed on your GPU instance (such as Ubuntu). - - **Version:** Select the distribution version that's installed (such as 22.04). - - **Installer Type:** Select from one of the following methods: - - **rpm (local)** or **deb (local):** Stand-alone installer that contains dependencies. This is a much larger initial download size but is recommended for most users. - - **rpm (network)** or **deb (network):** Smaller initial download size as dependencies are managed separately through the package management system. Some distributions may not contain the dependencies needed and you may receive an error when installing the CUDA package. - - **runfile (local):** Installs the software outside of your package management system, which is typically not desired or recommended. - - {{< note type="warning" >}} - If you decide to use the runfile installation method, you may need to install gcc and other dependencies before running the installer file. In addition, you also need to disable any existing nouveau drivers that installed on most distributions by default. The runfile method is not covered in this guide. Instead, reference NVIDIA's runfile installation instructions for [Ubuntu](https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#id8), [Debian](https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#id10), [CentOS](https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#runfile-installer), [Fedora](https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#id2), or [openSUSE](https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#id6). - {{< /note >}} - - ![Screenshot of the CUDA Toolkit Downloads page](nvidia-cuda-instructions.png) - - 1. The **Download Installer** (or similar) section should appear and display a list of commands needed to download and install the CUDA Toolkit. Run each command listed there. - - 1. Reboot the GPU instance after all the commands have completed successfully. - - 1. Run `nvidia-smi` to verify that the NVIDIA drivers and CUDA Toolkit are installed successfully. This command should output details about the driver version, CUDA version, and the GPU itself. - -1. You should now be ready to run your CUDA-optimized workloads. You can optionally download NVIDIA's [CUDA code samples](https://github.com/nvidia/cuda-samples) and review CUDA's [Programming Guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html) to learn more about developing software to take advantage of a GPU instance. - -**Optional**: After you have completed the installation, you can [capture a custom image of the Compute Instance](/docs/products/tools/images/guides/capture-an-image/) and use it the next time you need to deploy a GPU instance. diff --git a/docs/products/compute/compute-instances/guides/install-nvidia-cuda/nvidia-cuda-instructions.png b/docs/products/compute/compute-instances/guides/install-nvidia-cuda/nvidia-cuda-instructions.png deleted file mode 100644 index 22b290d6121..00000000000 Binary files a/docs/products/compute/compute-instances/guides/install-nvidia-cuda/nvidia-cuda-instructions.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/ip-sharing-atlanta/index.md b/docs/products/compute/compute-instances/guides/ip-sharing-atlanta/index.md deleted file mode 100644 index 55b67b0126b..00000000000 --- a/docs/products/compute/compute-instances/guides/ip-sharing-atlanta/index.md +++ /dev/null @@ -1,301 +0,0 @@ ---- -title: "Enable IP Sharing (Elastic IPs) in Atlanta through FRR" -description: "This guide provides Linode users with steps to manually enable an Elastic IP on a Linode. This is meant to support users that are currently using Linode IP Sharing and need an intermediary replacement when migrating to a Next Generation Network data center." -published: 2020-06-02 -modified: 2022-01-11 -keywords: ['networking','Elastic IP','keywords','and key phrases'] -noindex: true -build: - list: false -external_resources: -- '[FRRouting Documentation](http://docs.frrouting.org/en/latest/overview.html)' -aliases: ['/platform/manager/manually-enable-elastic-ip-on-your-linode/','/guides/manually-enable-elastic-ip-on-your-linode/','/guides/ip-sharing-atlanta/'] ---- - -The Atlanta data center was upgraded in April of 2021 to improve performance and expand product availability (see the [Linode Atlanta Data Center Upgrades Completed](https://www.linode.com/blog/linode/linode-atlanta-data-center-upgrades-completed/) blog post). As part of this upgrade, the [IP Sharing](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) feature was impacted and no longer functions as it did before. Customers that currently use this feature can follow this guide to manually enable IP Sharing (also called *Elastic IPs*) through the open source [FRRouting (FRR)](http://docs.frrouting.org/en/latest/overview.html#about-frr) tool. This allows two Linode Compute Instances to share a single IP address, one serving as the primary and one serving as the secondary. If the primary Compute Instance becomes unavailable, the elastic IP will seamlessly failover to the secondary Compute Instance. - -{{< note >}} -This guide discusses a temporary workaround specific to the Atlanta data center. Future planned network upgrades may impact this feature again and may require additional configuration. -{{< /note >}} - -## Before You Begin - -1. Before beginning the process outlined in this guide, make sure that you have received an IPv4 address(es) from Linode Support to use as your Elastic IP(s). To request an additional IPv4 address, [open a new support ticket from Cloud Manager](/docs/products/platform/get-started/guides/support/#contact-customer-support). - -1. Ensure you have set the [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) and have updated the [hosts file](/docs/products/compute/compute-instances/guides/set-up-and-secure/#update-your-systems-hosts-file) on your Compute Instances. - -1. Ensure Python 3 is installed on your system. See [FRR's official documentation](http://docs.frrouting.org/en/latest/installation.html#python-dependency-documentation-and-tests) to learn about FRR's Python dependencies. - -1. [Disable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) on the Elastic IP Linodes and reboot them. - -## Install FRR - -This section provides instructions for installing FRR on Debian, Ubuntu, and CentOS systems through their native package managers. If you're using a different distribution or prefer to install FRR from source, follow [FRR's official installation instructions](http://docs.frrouting.org/en/latest/installation.html) to install FRR using git. - -### Ubuntu and Debian - -**Supported distributions:** *Ubuntu 20.04, 18.04, and 16.04 | Debian 11, 10, and 9* - -1. Install the package dependencies needed to securely install FRR on your system: - - ```command - sudo apt-get install apt-transport-https gnupg - ``` - -1. Add FRR's GPG key: - - ```command - curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add - - ``` - -1. Set the FRR environment variable as `frr-stable` to install the latest FRR release. Specific releases can also be targeted by setting the variable to `frr-8`, `frr-7`, `frr-6` (see [FRR Debian Repository](https://deb.frrouting.org/) for more details). - - ```command - FRRVER="frr-stable" - ``` - -1. Add FRR's Debian repository to your system's source's list: - - ```command - echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list - ``` - -1. Install the FRR package: - - ```command - sudo apt update && sudo apt install frr frr-pythontools - ``` - -### CentOS/RHEL - -**Supported distributions:** *CentOS Stream 9 (and 8), CentOS 8 (and 7), other RHEL derivatives (including AlmaLinux 8, and Rocky Linux 8), and Fedora.* - -1. Set the FRR environment variable as `frr-stable` to install the latest FRR release. Specific releases can also be targeted by setting the variable to `frr-8`, `frr-7`, `frr-6` (see [FRR RPM Repository](https://rpm.frrouting.org/) for more details). - - ```command - FRRVER="frr-stable" - ``` - -1. Download the FRR's RPM repository. - - **CentOS/RHEL 8** - - ```command - curl -O https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el8.noarch.rpm - ``` - - **CentOS/RHEL 7** - - ```command - curl -O https://rpm.frrouting.org/repo/$FRRVER-repo-1-0.el7.noarch.rpm - ``` - -1. Install the repository. - - ```command - sudo yum install ./$FRRVER* - ``` - -1. Install the FRR package. - - ```command - sudo yum install frr frr-pythontools - ``` - -## Enable bgpd - -Enable the Border Gateway Protocol (BGP) daemon on your system. - -1. Using a text editor of your choice, enable the `bgpd` daemon by updating its value to `yes` in `/etc/frr/daemons` (the FRR daemons configuration file): - - ```file {title="/etc/frr/daemons"} - # The watchfrr and zebra daemons are always started. - # - bgpd=yes - ``` - -1. Restart the FRR service: - - ```command - sudo systemctl restart frr.service - ``` - -## Configure FRR - -With FRR installed, you can now apply the required configurations to enable Elastic IP(s). When following the steps within this section, you need to have the following pieces of information: - -- **Elastic IP address** (`[ELASTIC_IP]`): The elastic IP address assigned to your Linode. If you do not yet have this, contact Linode support. -- **Hostname** (`[HOSTNAME]`): The hostname defined on your Linode (ex: `atl-bgp-1.example.com`). -- **Gateway IP** (`[DEFAULT_GW_IPV4]`: This is the Linode's IPv4 address (non-Elastic IP address), which determines the `peer-group HOST` setting. Enter the first 3 octets of the Linode's IPv4 address followed by a `1`. For example, if the Linode's IPv4 address is `192.0.2.0`, the value to enter is `192.0.2.1`. -- **Role** (`[ROLE]`): The role of the Linode's elastic IP address. - - `primary`: All requests are routed to this Linode's Elastic IP address, as long as the Linode is running. - - `secondary`: If the `primary` Linode fails, all requests are routed to this Linode's Elastic IP address, as long as the Linode is running. - -1. The template below includes the FRR configuration. Ensure you replace any instances of `[ELASTIC_IP]`, `[HOSTNAME]`, `[ROLE]`, and `[DEFAULT_GW_IPV4]` as outlined above. Store the template with your replaced values somewhere that you can easily access later. In the next step, you copy the contents of the template and paste them into the [VTY interactive shell](https://docs.frrouting.org/en/latest/vtysh.html). - - ```file {title="~/elastic.conf"} - hostname [HOSTNAME] - - router bgp 65045 - no bgp ebgp-requires-policy - coalesce-time 1000 - bgp bestpath as-path multipath-relax - neighbor HOST peer-group - neighbor HOST remote-as external - neighbor HOST capability extended-nexthop - neighbor [DEFAULT_GW_IPV4] peer-group HOST - address-family ipv4 unicast - network [ELASTIC_IP]/32 route-map [ROLE] - redistribute static - exit-address-family - route-map primary permit 10 - set large-community 63949:1:1 - route-map secondary permit 10 - set large-community 63949:1:2 - ``` - -1. Run the VTY shell: - - ```command - sudo vtysh - ``` - -1. Enter configuration mode: - - ```command - conf t - ``` - -1. Copy the contents of your template configuration file and paste them into the VTY shell. - -1. Tell the VTY shell that you are done entering your configurations: - - ```command - end - ``` - -1. Write your configurations to VTY: - - ```command - write - ``` - -1. Verify that the configurations you entered were correctly written by showing VTY's running configuration: - - ```command - show running-config - ``` - -1. Exit out of the VTY shell: - - ```command - q - ``` - -1. Configure the Linode's interface(s) with the Elastic IP: - - **Debian and Ubuntu (18.04 and 16.04)** - - Edit your Linode's `/etc/network/interfaces` file with the following entries. Replace `[ELASTIC_IP]` with the Elastic IPv4 address: - - ```file {title="/etc/network/interfaces"} - up ip addr add [ELASTIC_IP]/32 dev eth0 label eth0 - down ip addr del [ELASTIC_IP]/32 dev eth0 label eth0 - ``` - - If you configured more than one Elastic IP on your Linode, you can add additional interface entries to your network interfaces configuration file as follows: - - ```file {title="/etc/network/interfaces"} - up ip addr add [ELASTIC_IP]/32 dev eth0 label eth0 - down ip addr del [ELASTIC_IP]/32 dev eth0 label eth0 - up ip addr add [ELASTIC_IP]_2/32 dev eth0 label eth0 - down ip addr del [ELASTIC_IP]_2/32 dev eth0 label eth0 - ``` - - **Ubuntu 20.04** - - Edit your Linode's `/etc/systemd/network/05-eth0.network` file by adding an `Address` entry for the Elastic IP. Replace `[ELASTIC_IP]` with the Elastic IPv4 address: - - ```file {title="/etc/systemd/network/05-eth0.network"} - [Match] - Name=eth0 - ... - Address=[ELASTIC_IP]/32 - ``` - - If you configured more than one Elastic IP on your Linode, you can add additional interface entries to your network interfaces configuration file as follows: - - ```file {title="/etc/network/interfaces"} - Address=[ELASTIC_IP]/32 - Address=[ELASTIC_IP]_2/32 - ``` - - **CentOS/RHEL** - - Edit your Linode's `/etc/sysconfig/network-scripts/ifcfg-eth0` file with the following entry. Replace `[ELASTIC_IP]` with the Elastic IPv4 address: - - ```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} - IPADDR1=[ELASTIC_IP] - PREFIX1="32" - ``` - - If you configured more than one Elastic IP on your Linode, you can add additional interface entries to your network interfaces configuration file as follows: - - ```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} - IPADDR1=[ELASTIC_IP] - PREFIX1="32" - - IPADDR2=[ELASTIC_IP]_2 - PREFIX2="32" - ``` - -1. Apply the `eth0` network interface configuration: - - **Debian, Ubuntu (18.04 and 16.04), and CentOS/RHEL** - - ```command - sudo ifdown eth0 && sudo ifup eth0 - ``` - - **Ubuntu 20.04** - - ```command - systemctl restart systemd-networkd - ``` - -1. Ensure that your network interface configurations have been applied as expected: - - ```command - ip a | grep inet - ``` - - You should see a similar output: - - ```output - inet 127.0.0.1/8 scope host lo - inet6 ::1/128 scope host - inet 192.0.2.0/24 brd 192.0.2.255 scope global dynamic eth0 - inet 203.0.113.0/32 scope global eth0 - inet6 2600:3c04::f03c:92ff:fe7f:5774/64 scope global dynamic mngtmpaddr - inet6 fe80::f03c:92ff:fe7f:5774/64 scope link - ``` - -1. Restart the FRR service: - - ```command - sudo systemctl restart frr.service - ``` - -### Test Elastic IPs - -Depending on how you configured your Linode(s) and Elastic IP(s), testing steps may vary. In general, you can use the `ping` command to test sending packets to your configured Elastic IP(s) from a separate Linode, your workstation, or any other computer/server: - -```command -ping [ELASTIC_IP] -``` - -For example, if you have two Linodes configured with the same Elastic IP: - -- Ping the Elastic IP when both Linodes are up. The packets should be received by the primary Linode. You can monitor ping traffic on the Linode by [inspecting icmp packets with the tcpdump command](https://danielmiessler.com/study/tcpdump/#protocol). - -- Shut down the primary Linode and ping the Elastic IP. The packets should be received by the secondary Linode. You can monitor ping traffic on the Linode by [inspecting icmp packets with the tcpdump command](https://danielmiessler.com/study/tcpdump/#protocol). \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/ipv6/an-overview-of-ipv6-on-linode-title-graphic.jpg b/docs/products/compute/compute-instances/guides/ipv6/an-overview-of-ipv6-on-linode-title-graphic.jpg deleted file mode 100644 index 8dd3c9f73c5..00000000000 Binary files a/docs/products/compute/compute-instances/guides/ipv6/an-overview-of-ipv6-on-linode-title-graphic.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/ipv6/index.md b/docs/products/compute/compute-instances/guides/ipv6/index.md deleted file mode 100644 index 44dbe00bc7d..00000000000 --- a/docs/products/compute/compute-instances/guides/ipv6/index.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "An Overview of IPv6 on Linode" -description: "This guide is a brief overview of IPv6 support on Linode, including how to find your IPv6 address, requesting additional IPs, and managing IPs via Cloud Manager." -published: 2011-05-03 -modified: 2024-07-08 -keywords: ["ipv6 networking", "IP configuration"] -aliases: ['/networking/an-overview-of-ipv6-on-linode/','/networking/how-to-enable-native-ipv6-on-linux/','/networking/native-ipv6-networking/','/networking/linode-network/an-overview-of-ipv6-on-linode/','/guides/an-overview-of-ipv6-on-linode/'] -external_resources: - - '[Understanding IP Addressing](http://www.ripe.net/internet-coordination/press-centre/understanding-ip-addressing)' - - '[IPv6 and IPv4 CIDR Chart (PDF)](https://www.ripe.net/about-us/press-centre/ipv6-chart_2015.pdf)' -tags: ["networking","linode platform"] -image: an-overview-of-ipv6-on-linode-title-graphic.jpg ---- - -All Compute Instances are created with one IPv6 address, which is acquired by [*Stateless Address Autoconfiguration*](https://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration_(SLAAC)) (SLAAC). IPv6 is fully enabled on all of Linode's supported operating systems and uses hardware-based addressing. - -Linode does not offer private IPv6 address allocations. Our IPv6 accounting was designed so that local IPv6 traffic does not count against your [network transfer quota](/docs/products/platform/get-started/guides/network-transfer/), so you can use your default IPv6 address as if it were a private IP address. - -{{< note >}} -In order for your Compute Instance to receive its SLAAC address, it must respond to IPv6's ping protocol. - -Please be sure to allow ICMPv6 in your [firewall](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). For example, in `iptables`, you can issue the following commands: - -```command -ip6tables -A INPUT -p icmpv6 -j ACCEPT -ip6tables -A FORWARD -p icmpv6 -j ACCEPT -``` -{{< /note >}} - -## How to Find Your IPv6 Address - -You can find your Compute Instance's IPv6 address using Cloud Manager or the `ip` tool with the Linux Terminal. - -### Using Cloud Manager - -See the [Viewing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses) section of the Managing IP Addresses guide. - -### Linux Terminal - -1. Using your terminal, SSH into the Compute Instance whose IPv6 address you would like to find. - - ```command - ssh user@192.0.2.0 - ``` - -1. Use the `ip` tool to find your Compute Instance's IPv6 address: - - ```command - ip -6 address - ``` - - ```output - 1: lo: mtu 65536 state UNKNOWN qlen 1 - inet6 ::1/128 scope host - valid_lft forever preferred_lft forever - 3: eth0: mtu 1500 state UP qlen 1000 - inet6 2600:3c02::f03c:91ff:fe24:3a2f/64 scope global mngtmpaddr dynamic - valid_lft 2591998sec preferred_lft 604798sec - inet6 fe80::f03c:91ff:fe24:3a2f/64 scope link - valid_lft forever preferred_lft forever - ``` - -- Line 3 shows the IPv6 loopback interface, `::1/128`. This is used for IPv6 traffic within the system, similar to the `127.0.0.0/8` IPv4 address block. - -- Line 6 is the Compute Instance's public IP address, `2600:3c02::f03c:91ff:fe24:3a2f/64`. You can see it's in a `/64` range. - -- Line 8 is the link-local IPv6 address, `fe80::f03c:91ff:fe24:3a2f/64`. An IPv6 link-local address is a unicast address that is automatically configured on any interface. - -If your Compute Instance does not have the correct IPv6 address or any IPv6 address at all, you should verify that you have router advertisements enabled and IPv6 privacy extensions disabled. Your instance will need to accept router advertisements for SLAAC to function. These settings are properly configured by default in our supported distributions. - -## Additional IPv6 Addresses - -If a single IPv6 address isn't sufficient for your application, additional IPv6 addresses are provided through large address blocks, also called routed ranges or pools. From these ranges, you can manually configure individual IPv6 addresses on your Compute Instance. See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) and [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guides for instructions on adding an IPv6 range and to learn how to configure it within your system. - -The size of each block is identified through a prefix. These are indicated with a slash `/` followed by a number in base 10: the length of the network **prefix** in bits. This translates to the number of available addresses that are available in the range (or pool). For example, the prefix `/48` contains 2128-48 = 280 = 1,208,925,819,614,629,174,706,176 addresses. For an address like `2001:db8:1234::/48` the block of addresses is `2001:db8:1234:0000:0000:0000:0000:0000` to `2001:db8:1234:ffff:ffff:ffff:ffff:ffff`. - -The IPv6 prefixes and their respective quantity of IPv6 addresses that Linode provides are listed below. - -### IPv6 Routed Ranges - -An IPv6 routed range is assigned to a single Compute Instance. Addresses from that range can only be configured on that instance. - -{{< note >}} -Configuring a `/64` or `/56` routed range requires you to [disable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#enable-or-disable-network-helper) on your Compute Instance and manually configure its network settings. Please review the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) and [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guides for details on this process. -{{< /note >}} - -- `/64` **routed range** *(18,446,744,073,709,551,616 addresses)*: This is the most common range provided to our customers and sufficient for most applications that require additional IPv6 addresses. -- `/56` **routed range** *(4,722,366,482,869,645,213,696 addresses)*: These larger ranges are typically only required by specialized systems or networking applications. - -### IPv6 Pools - -An IPv6 pool is accessible from every Compute Instance on your account within the assigned data center. Addresses from that pool can be configured on each instance within that data center. This can enable features like IPv6 failover. - -- `/116` **pool** *(4,096 addresses)* - -{{< note type="alert" >}} -The IPv6 /116 prefix has been deprecated and is no longer available for new Compute Instances. If you have an existing Compute Instance with a /116 pool, please review the [Upcoming Changes Related to Network Infrastructure Upgrades](/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/) to learn about changes that may affect your services. -{{< /note >}} - -## IPv6 Forwarding - -If needed, IPv6 packets can be forwarded between two networks on Linode. By default, most Linux systems disable both IPv4 and IPv6 forwarding. To enable this functionality, see the [IP Forwarding](/docs/guides/linux-router-and-ip-forwarding/) guide. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/ipv6/ipv6-linode-network-tab.png b/docs/products/compute/compute-instances/guides/ipv6/ipv6-linode-network-tab.png deleted file mode 100644 index 93a7e2ce3a4..00000000000 Binary files a/docs/products/compute/compute-instances/guides/ipv6/ipv6-linode-network-tab.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/ipv6/ipv6-linode.png b/docs/products/compute/compute-instances/guides/ipv6/ipv6-linode.png deleted file mode 100644 index c8182303dd2..00000000000 Binary files a/docs/products/compute/compute-instances/guides/ipv6/ipv6-linode.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/index.md b/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/index.md deleted file mode 100644 index f8b29f367bc..00000000000 --- a/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/index.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Recover from Unexpected Shutdowns with Lassie (Shutdown Watchdog)" -title_meta: "Recover from Unexpected Shutdowns with Lassie" -description: "Learn how to investigate an unexpected shutdown and understand how Lassie, the Shutdown Watchdog, works to reboot your Compute Instances." -published: 2022-09-29 -keywords: ['lassie','unexpected shutdown','reboot'] -tags: ["linode platform","monitoring"] -aliases: ['/products/tools/monitoring/guides/monitoring-configure-watchdog/','/guides/lassie-shutdown-watchdog/'] ---- - -Linode Compute Instances have a featured called *Lassie* (Linode Autonomous System Shutdown Intelligent rEbooter), also referred to as the Shutdown Watchdog. When this feature is enabled, a Compute Instance automatically reboots if it ever powers off unexpectedly. - -## Shutdown Recovery Behavior - -The Shutdown Watchdog feature detects when a Compute Instance is powered off and checks if that directive came from the Linode platform (such as Cloud Manager or Linode API). If the power off command *did not* originate from the Linode platform, the shutdown is considered unexpected and the Compute Instance is automatically powered back on. - -{{< note >}} -Shutdown Watchdog can power back on a Compute Instance up to 5 times within a 15 minute period. If there is a recurring issue that is causing 6 or more shutdowns within this time period, the instance remains powered off until it is manually powered back on. This is to prevent endless reboot loops if there is an issue with the internal software of a Compute Instance. -{{< /note >}} - -## Enable (or Disable) Shutdown Watchdog - -By default, Shutdown Watchdog is enabled on all new Compute Instances. If you wish to disable or re-enable this feature, follow the instructions below: - -1. Log in to [Cloud Manager](https://cloud.linode.com) and navigate to the **Linodes** link in the sidebar. -1. Select the Linode Compute Instance that you wish to modify. -1. Navigate to the **Settings** tab. -1. Scroll down to the section labeled **Shutdown Watchdog**. - - ![Configuring Shutdown Watchdog](shutdown-watchdog.png) - -1. From here, click the corresponding toggle button to update this setting to the desired state, either *enabled* or *disabled*. - -## Reasons for an Unexpected Shutdown - -An *unexpected shutdown* is when a Compute Instance powers off without receiving a power off command from the Linode platform (such as one issued by a user in Cloud Manager or API). In general, this is caused within a Compute Instance's internal system or software configuration. The following list includes potential reasons for these unexpected shutdowns. - -- **A user issues the [**shutdown command**](https://man7.org/linux/man-pages/man8/shutdown.8.html)** in the shell environment of a Compute Instance. In Linux, a system can be powered off by entering the `shutdown` command (or other similar commands) in the system's terminal. Since Linode has no knowledge of internal commands issued on a Compute Instance, it is considered an unexpected shutdown. - -- **Kernel panic:** A kernel panic can occur when your system detects a fatal error and it isn't able to safely recover. Here is an example of a console log entry that indicates a kernel panic has occurred: - - ```output - Kernel panic - not syncing: No working init found. - ``` - -- **Out of memory (OOM) error:** When a Linux system runs out of memory, it can start killing processes to free up additional memory. In many cases, your system remains accessible but some of the software you use may stop functioning properly. This can occasionally result in your system becoming unresponsive or crashing, causing an unexpected shutdown. - - ```output - kernel: Out of memory: Kill process [...] - ``` - -- **Other system crashes**, such as a crash caused by the software installed on your system or a malicious process (such as malware). - -{{< note >}} -The Shutdown Watchdog feature never *causes* a Compute Instance to shut down and only ever *powers on* an instance if it detects an unexpected shutdown. -{{< /note >}} - -## Investigate the Cause of a Shutdown - -The underlying cause of these issues can vary. The most helpful course of action is to review your system logs. - -1. Open the [Lish console](/docs/products/compute/compute-instances/guides/lish/). This displays your system's boot log and, if your system boot was normal, a login prompt appears. If you do not see a login prompt, look for any errors or unexpected output that indicates a kernel panic, file system corruption, or other type of system crash. - -1. Log in to your system through either [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) and review the log files for you system using either journald or syslog. For systems using systemd-journald for logging, you can use the `journalctl` command to review system logs. See [Use journalctl to View Your System's Logs](/docs/guides/how-to-use-journalctl/) for instructions. - - - `journalctl -b`: Log entries for the last system boot - - `journalctl -k`: Kernel messages - - For systems using syslog, you should review the following log files using your preferred text editor (such as [nano](/docs/guides/use-nano-text-editor-commands/) or [vim](/docs/guides/what-is-vi/)) or file viewer (such as cat or [less](/docs/guides/how-to-use-less/)). - - - `/var/log/syslog`: Most logs as recorded by [syslog](https://en.wikipedia.org/wiki/Syslog). - - `/var/log/boot.log`: Log entries for the last system boot - - `/var/log/kern.log`: Kernel messages - - `/var/log/messages`: Various system notifications and messages typically recorded at boot. - - You may also want to review log files for any other software you have installed on your system that might be causing these issues. - -{{< note >}} -Unexpected shutdowns are primarily caused by issues with the internal software configuration of a Compute Instance. To investigate these issues further, it is recommended that you reach out to your own system administrators or on our [Community Site](https://www.linode.com/community/questions/). These issues are generally [outside the scope](/docs/products/platform/get-started/guides/support/#scope-of-support) of the Linode Support team. -{{< /note >}} - -## File System Corruption - -In some cases, unexpected shutdowns can cause file system corruption on a Compute Instance. If an error message (such as the one below) appears within your console logs, your file system may be corrupt or otherwise be in an inconsistent state. - -```output -/dev/sda: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. -``` - -In cases like this, it is recommended that you attempt to correct the issue by running the `fsck` tool in [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/). See [Using fsck to Find and Repair Disk Errors and Bad Sectors](/docs/guides/how-to-use-fsck-to-fix-disk-problems/) for instructions. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/shutdown-watchdog.png b/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/shutdown-watchdog.png deleted file mode 100644 index a5511cced0a..00000000000 Binary files a/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/shutdown-watchdog.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/lish/index.md b/docs/products/compute/compute-instances/guides/lish/index.md deleted file mode 100644 index 188f458cfa5..00000000000 --- a/docs/products/compute/compute-instances/guides/lish/index.md +++ /dev/null @@ -1,542 +0,0 @@ ---- -title: "Access Your System Console Using Lish (Linode Shell)" -title_meta: "Access Your System Console Using Lish" -description: "Learn how to use Lish as a shell for managing or rescuing your Compute Instances." -published: 2009-08-04 -modified: 2024-02-14 -keywords: ["Console", "Shell", "Lish", "rescue", "weblish"] -tags: ["linode platform","cloud manager"] -image: using-the-linode-shell-lish.jpg -aliases: ['/platform/manager/using-the-linode-shell-lish-classic-manager/','/platform/using-the-linode-shell-lish/','/networking/using-the-linode-shell-lish/','/using-lish-the-linode-shell/','/troubleshooting/using-lish-the-linode-shell/','/platform/manager/using-the-linode-shell-lish/','/guides/using-the-linode-shell-lish/','/guides/using-the-lish-console/','/guides/lish/'] ---- - -The **Lish Console**, also called the *Linode Shell*, provides direct console access to all of your Compute Instances. Through Lish, you can easily access your Compute Instance's internal Linux system and run commands, install software, or configure applications. Lish is especially useful when you are not able to connect to your server through other means, such as SSH. - -## Access Lish - -There are two ways to access Lish. You can use a terminal application to connect to a *Lish SSH gateway*, or you can log in to the [Linode Cloud Manager](https://cloud.linode.com) and use the Lish console in your web browser. This section explains both methods. - -### Through Cloud Manager (Weblish) - -You can connect to Lish using a web browser. This is useful when you don't have access to a terminal application, or if you just need quick and easy console access from Cloud Manager. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click on the **Linodes** link in the sidebar and select the desired Compute Instance. - -1. Click on the **Launch LISH Console** link in the top right-hand corner of Cloud Manager. - - ![Launch the Lish Console](launch-console-button.png) - -1. The Lish Web Console window appears, as shown below. From here, you can log in to your Compute Instance with any other username and password available on that system (such as `root`). - - ![An example of the Lish Web Console](weblish.png) - -You can exit to the Lish prompt by pressing **CTRL+A** then **D**. You cannot exit to a Lish gateway box using your web browser. To exit the session entirely, just close the Lish Web Console window. - -### Through SSH (Using a Terminal) - -You can connect to Lish with the SSH client of your choice. For example, you can use the Terminal application in Mac OS X, PuTTY in Windows, or your favorite X11 terminal emulator. - -{{< note >}} -If you have [Third Party Authentication](/docs/products/platform/accounts/guides/third-party-authentication/) enabled on your account, you will not be able to log in to your Compute Instance through Lish with password authentication, and must instead use SSH key authentication. Read the [Add Your Public Key](#add-your-public-key) section for more instructions on how to add an SSH key to your account for use with Lish. -{{< /note >}} - -1. Determine which Lish SSH gateway you wish to use. There's one in every data center. See [Lish Gateways](#lish-gateways) for a full list. - -1. Open a terminal window and enter the following command, replacing `username` with your Cloud Manager username, and `location` with your preferred Lish SSH gateway. - - ```command - ssh username@location - ``` - - For example, logging in as `user` via the Newark gateway would look like: - - ```command - ssh user@lish-newark.linode.com - ``` - - {{< note >}} - Users who have been granted "Access" rights on a particular Compute Instance will have access to its Lish console via the gateway. Linodes that a user can't access in Cloud Manager won’t show up in the Lish list. For more information about creating user accounts and configuring permissions, see [Accounts and Passwords](/docs/products/platform/accounts/guides/manage-users/). - {{< /note >}} - -1. Verify that the Lish SSH gateway's fingerprint is valid by verifying the Terminal's output against the list of our [Lish Gateway Fingerprints](#lish-gateways). Once verified, enter *yes* to proceed. - - ```output - The authenticity of host 'lish-newark.linode.com (66.228.40.59)' can't be established. - ECDSA key fingerprint is SHA256:57OGBNARJ1fhI+zrE3eTEeQWXVVDHRU8QHcP+BsWmN8. - Are you sure you want to continue connecting (yes/no)? - ``` - - {{< note type="warning" title="ECDSA host key warning" isCollapsible=true >}} - If after verifying the authenticity of the Lish SSH gateway's fingerprint, you receive a message indicating that the ECDSA host key differs from the key for the IP address, remove the cached IP address on your local machine. Ensure you replace `192.0.2.0` with the IP address indicated by the Terminal. - - ```command - ssh-keygen -R 192.0.2.0 - ``` - - Once you have removed the cached IP address, you can again attempt to SSH into the Lish gateway. - {{}} - -1. Enter the password you use to log in to Cloud Manager. You are now at the Lish shell. A list of your Compute Instances appears, as shown below: - - ```output - Linodes located in this data center: - linode241706 Newark, NJ - linode276072 Newark, NJ - - Linodes located in other data centers: - linode287497 Dallas, TX - ``` - - {{< note >}} - You can add a public SSH key for Lish in Cloud Manager to automatically connect to Lish without a password. See [this section](#add-your-public-key) for more information. - {{< /note >}} - -1. At the Lish command prompt, type a Compute Instance's name from the list. For example, typing `linode241706` will connect you to the screen console session for that Instance. - -1. Log in to the system with your username and password. - -After you log in, you'll have console access to your Compute Instance. You'll be able to restart services like `sshd`, edit firewall settings, and make other changes. To exit the console, press **CTRL+A** then **D** to return to the host machine, and then press **CTRL+D** to return to the Lish menu. If you'd like to see the list of your Compute Instances again, type `list` from the gateway. - -## Add Your Public Key - -If you don't want to enter your password every time you connect to Lish, or if you have [Third Party Authentication](/docs/products/platform/accounts/guides/third-party-authentication/) enabled on your account, you can add your public SSH key to the Linode Cloud Manager. If you haven't yet created SSH keys, please see our [Public Key Authentication with SSH](/docs/guides/use-public-key-authentication-with-ssh/) guide for more information. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click on the profile icon in the top right hand corner of the Manager and select **LISH Console Settings**. - -1. Copy your public SSH key into the **SSH Public Key** field, as shown below. - - ![Add your public ssh key](lish-add-public-key.png) - -1. Click the **Save** button. Your Lish key will be saved in Cloud Manager. - -Now you can log in to any of the Lish gateway boxes without having to type your password. - -If you wish to disable Lish access for users without keys, use the **Authentication Mode** dropdown menu on the same page, and select **Allow key authentication only** then click **Save**. - -## Lish Commands - -The Lish shell provides access to many functions which are otherwise only accessible via Cloud Manager. Enter the `help` command to see a full list of available commands. The output provides an introduction to Lish functionality: - -```output -kill - kill stuck screen sessions -exit - exit from lish -help - this menu - -[return] - connect to console -version - display running kernel version -boot - boot last used (or the only) config profile -boot N - boot the specified config profile -shutdown - shut down the Linode -reboot - shut down, then boot the last used config profile -reboot N - shut down, then boot the specified config profile -sysrq X - send SysRq X to your Linode -destroy - pulls the plug on a running Linode, no fs sync, no warning - -jobs - view the job queue for your Linode -configs - view the configuration profiles for your Linode -config N - view configuration profile details for profile N -status - view the status of your Linode -logview - view contents of console log -``` - -There are two ways to run these commands for a specific Compute Instance. If you are at the main Lish gateway, you can prefix the command with a ID, like this: - -```command -linode123456 logview -``` - -You can also bring up the Compute Instance's console, then type **CTRL+A** then **D** to drop back to the host for that Instance. Now all of the commands above will be run for that Instance specifically. To exit back to the main Lish menu, type `exit`. - -{{< note >}} -You can activate the ability to scroll back through the Lish console by pressing **CTRL-A + ESC** -{{< /note >}} - -## Advanced Lish Tricks - -While the Lish interface as described above is useful as a basic command-line interface, you may find that you want to issue commands to your Compute Instance without going through the Lish login process. - -You can directly connect to a Compute Instance's console: - -```command -ssh -t [manager-username]@lish-[location].linode.com [linode-name] -``` - -You can also append Lish commands to the SSH command on your system prompt. For instance, to reboot your system, using your Cloud Manager username, location, and the host-id for your Compute Instance: - -```command -ssh -t [manager-username]@lish-[location].linode.com [linode-name] reboot -``` - -Similarly, you can generate a view of the log using Lish: - -```command -ssh -t [manager-username]@lish-[location].linode.com [linode-name] logview -``` - -This command format works for all Lish functionality. - -## Lish Gateways - -Each data center has its own gateways, which provides access to Lish, Weblish, and Glish. When connecting through Lish, you can use the corresponding gateway within any data center, though we recommend choosing the data center the instance is located within. These gateways are accessible over IPv4 and IPv6. - -{{< note >}} -If you are having issues accessing Lish, Weblish, or Glish, you may be blocked by a local firewall. Make sure your firewall allows outbound connections to the following ports and the gateway you wish to access: - -- **Lish ports:** 22, 443, 2200 -- **Weblish port:** 8181 -- **Glish port:** 8080 -{{< /note >}} - -#### Amsterdam (Netherlands) - -- **Lish SSH Gateway:** `lish-nl-ams.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:/y+83+sA3JdDGkv/KLnIAIXqfgqWfgp5RZ+DCx1T4yU lish-nl-ams.linode.com - ECDSA 256 SHA256:iR/He+teo+c7jqr8LzaTikbTlMDdIkIERhJBXdIjO8w lish-nl-ams.linode.com - ED25519 256 SHA256:vxF9arB2lYBVP45ZA7t1JEE9w/vthPmzU3a2oOR8O7Y lish-nl-ams.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `nl-ams.webconsole.linode.com` - -#### Atlanta, GA (USA) - -- **Lish SSH Gateway:** `lish-us-southeast.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:OWzHHclIp4zt5sHt+QZ002HYgnxtec+skWPAgFNfx4w lish-us-southeast.linode.com - ECDSA 256 SHA256:qVMUsKTjxiSFvElIRMvjzKv4eRth37i2OBaaSODO6us lish-us-southeast.linode.com - ED25519 256 SHA256:ZpNQYxIc25e4vVfFgscSJm1/jGaUy3Gti4kuzB1aTuc lish-us-southeast.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-southeast.webconsole.linode.com` - -#### Chennai (India) - -- **Lish SSH Gateway:** `lish-in-maa.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:kXCaKnn1nVlVEC5SCuez6FApcXr/2UUiaSANUy0rlLI lish-in-maa.linode.com - ECDSA 256 SHA256:Jj+pb1AkDdKs77o6ozgkOk83rg7auLSOQrnebE8n91o lish-in-maa.linode.com - ED25519 256 SHA256:v1KaIB0togivalP7OVvlrLpu/y80qsm5cj50qclTWc0 lish-in-maa.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `in-maa.webconsole.linode.com` - -#### Chicago, IL (USA) - -- **Lish SSH Gateway:** `lish-us-ord.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:rRwktOKfSApeffa+YOVxXXL70Ba1CpTYp/oFywEH2Pc lish-us-ord.linode.com - ECDSA 256 SHA256:SV9A/24Jdb++ns/+6Gx7WqZCyN4+0y4ICFsaqK3Rm8s lish-us-ord.linode.com - ED25519 256 SHA256:J+yN8rjhr9j27M4zLSF6OX9XmIoipWbPP/J1AGRlRYc lish-us-ord.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-ord.webconsole.linode.com` - -#### Dallas, TX (USA) - -- **Lish SSH Gateway:** `lish-us-central.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:y1H5qzNB3yjvmPX/e8HcYbTffQb9qANjtT7r5vqIZl8 lish-us-central.linode.com - ECDSA 256 SHA256:3FY9mXdhRJjaJ7eTDO8SUWoLxdJBshz5229Wwsg7/iQ lish-us-central.linode.com - ED25519 256 SHA256:bC/I0G2IrWlICtzsGYT84dzdft1weRd28SIUt+D31P8 lish-us-central.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-central.webconsole.linode.com` - -#### Frankfurt (Germany) - -- **Lish SSH Gateway:** `lish-eu-central.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:4Xkz0V7ZQd277GpfnHzvdshuH3gjsv9+UXlgO0/gNhA lish-eu-central.linode.com - ECDSA 256 SHA256:W3V3zB1vYWlpoRaBy97RZk6GP+DZrFLsm1vAE27eCXQ lish-eu-central.linode.com - ED25519 256 SHA256:/105/zGMByknAKw5Hm7554oZ25wwN0+3owhJTZWOvNc lish-eu-central.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `eu-central.webconsole.linode.com` - -#### Fremont, CA (USA) - -- **Lish SSH Gateway:** `lish-us-west.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:s4ACk4T42uMnOpMWybsZFSVn9PCd/0Q/LEqs0pWKVj4 lish-us-west.linode.com - ECDSA 256 SHA256:2CnS4CkZsymw6PuT5bE8hLfVTMwkMPr8D9lYbUOgE7E lish-us-west.linode.com - ED25519 256 SHA256:whGbGnOqEIv9HrvvEgXO6PdNnCDEr7OwL0pHzrTDBYo lish-us-west.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:**`us-west.webconsole.linode.com` - -#### Jakarta (Indonesia) - -- **Lish SSH Gateway:** `lish-id-cgk.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:n+f2JBMBYvvJUw11nYafKrX1nU3gdohnWfj9qdTXU+I lish-id-cgk.linode.com - ECDSA 256 SHA256:CwM8d4D9yU0Mw/Odu4bxs6OWpfzJHSrSUUgtkZNRvsk lish-id-cgk.linode.com - ED25519 256 SHA256:RvdTsLHAWcjmXU2h5JD821Xk4x40FcHLzpX2/ppMLh0 lish-id-cgk.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `id-cgk.webconsole.linode.com` - -#### Los Angeles, CA (USA) - -- **Lish SSH Gateway:** `lish-us-lax.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:TVyXe3i1iJF9rU+j/t57wpdRB2h56Kh2tnZsUra30kA lish-us-lax.linode.com - ECDSA 256 SHA256:Yh+jEgxiGIgETrC9uz4wUqnKvi7yPrlqgmpxsa65QDI lish-us-lax.linode.com - ED25519 256 SHA256:kFi+ignk5bxYxnk/F3Lehk0HoM98BuUzEGhlEzhHo9I lish-us-lax.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-lax.webconsole.linode.com` - -#### London (UK) - -- **Lish SSH Gateway:** `lish-eu-west.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:8EgXMpjYma0BpjghpUcFwlJCMv1cZROKv1CE35QElnI lish-eu-west.linode.com - ECDSA 256 SHA256:CfmDU3U4/F0z34iosz9uWrsmeuy2L/8W+otq44Avonw lish-eu-west.linode.com - ED25519 256 SHA256:K6Hh7inkt5vJYrPKz3sB3yLd/+rtyrmyV7vYSCQ+8mU lish-eu-west.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `eu-west.webconsole.linode.com` - -#### Madrid (Spain) - -- **Lish SSH Gateway:** `lish-es-mad.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:sIYL6fvcNZVz3pXa6fp6YNS4ITfcCTu918pH0dxmaL0 lish-es-mad.linode.com - ECDSA 256 SHA256:eSqy+KAkPlzqRxYnPzGKJXuVd6D5APZsM/qWAWVk5xs lish-es-mad.linode.com - ED25519 256 SHA256:Sm20p3dsXSoqdRF8RwehfHn2sJszSuP/Z454glxohbc lish-es-mad.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `es-mad.webconsole.linode.com` - -#### Miami, FL, USA - -- **Lish SSH Gateway:** `lish-us-mia.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:kfwzGjXR+WV1JxvufbsZTv4qzVUI5Nkmh3Z3/XhpAT8 lish-us-mia.linode.com - ECDSA 256 SHA256:cZVK7bB8cwci3sXJJNIaBlX9Z3DlBj3hAL5J8Hc+vr0 lish-us-mia.linode.com - ED25519 256 SHA256:+sBLV01KzOiVJw4OJGmO71+NUm2cE7ndpj1aqW2tNLg lish-us-mia.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-mia.webconsole.linode.com` - -#### Milan (Italy) - -- **Lish SSH Gateway:** `lish-it-mil.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:toVfir7U8Ixg0wELAx0qCC91ld+HIxmTwggUP/+itkU lish-it-mil.linode.com - ECDSA 256 SHA256:XQDX+diXFBAT8OjpN+zwZN5sukTAQwtqe+i89Kh6gXQ lish-it-mil.linode.com - ED25519 256 SHA256:Uxw1KbWQVz5QYHHfUzFJcZM+HLbdu6vJ/R3ksEv2k3M lish-it-mil.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `it-mil.webconsole.linode.com` - -#### Mumbai (India) - -- **Lish SSH Gateway:** `lish-ap-west.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:cZv3NjjPKvjKuG4/ETTs8dQEn/sk/ryXJMn/wAqRSdk lish-ap-west.linode.com - ECDSA 256 SHA256:PUjmIqCe7ViewBrmronVU1Ss/yU63Zgp0yFe4PCZSQk lish-ap-west.linode.com - ED25519 256 SHA256:s5LimAwVgNrnDOVWhLhv8RyBo3jk6OjiSCxPUQSefQ8 lish-ap-west.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `ap-west.webconsole.linode.com` - -#### Newark, NJ (USA) - -- **Lish SSH Gateway:** `lish-us-east.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:u7ayBzPWsFmc2/sLrP8zYh0pFGFvo2m/H13Gmw7tZlA lish-us-east.linode.com - ECDSA 256 SHA256:Q7TDu+Qa3OpO6TUlgtG8ROa0MfRP5uagjSfavqT4oqs lish-us-east.linode.com - ED25519 256 SHA256:uUaOWG4KM2k+ZLCgtVFEi90TiNbNElXEP/orB57+8WI lish-us-east.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-east.webconsole.linode.com` - -#### Osaka (Japan) - -- **Lish SSH Gateway:** `lish-jp-osa.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:VXDxZ8+0b1Q54Bzvt7a6A4bvvKAI5OHxBYxwIC4OsDQ lish-jp-osa.linode.com - ECDSA 256 SHA256:qM6cfmK2/Vrho1exDZ9qe4cLWVdp5U0dv5MJ22K+lwE lish-jp-osa.linode.com - ED25519 256 SHA256:1CJ7P/i5XUP6XWizukQ7XIEiQ5rlIM+06N6qF2WfDMc lish-jp-osa.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `jp-osa.webconsole.linode.com` - -#### Paris (France) - -- **Lish SSH Gateway:** `lish-fr-par.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:qTliFB86axo9n07H0hUP/z5nm7Fbkzlf8eKnmtXBhZU lish-fr-par.linode.com - ECDSA 256 SHA256:NU4UctBefhWIR3mpCrh+r2p5lNmtwFFoeelZspjMNYM lish-fr-par.linode.com - ED25519 256 SHA256:GYNvVuHJqGIdCiU6yTPbkJmMgj+ZYBGRVGDqnrtJoQc lish-fr-par.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `fr-par.webconsole.linode.com` - -#### São Paulo (Brazil) - -- **Lish SSH Gateway:** `lish-br-gru.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:lmtONyLfe0tiLEdNrbEUd8j10A/o/Ss1HaUYJDgc8ks lish-br-gru.linode.com - ECDSA 256 SHA256:ftl4kIcxzeGUsT9FPQ49GF7afel1yrOQgclJN7/8kuk lish-br-gru.linode.com - ED25519 256 SHA256:EKqBawVESQnL4oQOMskpBAtrEiOlE+qD9M6WLiFbCyU lish-br-gru.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `br-gru.webconsole.linode.com` - -#### Seattle, WA (USA) - -- **Lish SSH Gateway:** `lish-us-sea.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:XqkskcFrRzZbMU/XeR1diiNM6zCsWs2wL4pmTvBLNII lish-us-sea.linode.com - ECDSA 256 SHA256:FEqVGwuv/BgbLtNkcfFg7Lgm0R6KQVUnPY+wIoimrrA lish-us-sea.linode.com - ED25519 256 SHA256:6R7iWvSe7OQSDcVmhwrH/EJiE51+ntiub3CPXfzupDA lish-us-sea.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-sea.webconsole.linode.com` - -#### Singapore - -- **Lish SSH Gateway:** `lish-ap-south.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:ed7vvOh2m4DtwwUruYiyDQLegcjh3AAeLZ/C9HYWjS0 lish-ap-south.linode.com - ECDSA 256 SHA256:dVVAqiJMdolMgD81T1ELjPPM2P3EZ9b9li8dj8UssTw lish-ap-south.linode.com - ED25519 256 SHA256:+gcOBQjBvMDrGuxKQdmV+fs7+sWqQ9e4khIFYlPvooM lish-ap-south.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `ap-south.webconsole.linode.com` - -#### Stockholm (Sweden) - -- **Lish SSH Gateway:** `lish-se-sto.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:oC6WZwUMm+S/myz7aEBP6YsAUXss7csmWzJRlwDfpyw lish-se-sto.linode.com - ECDSA 256 SHA256:lr6m6BKQBqFW/iw/WDq2QQqh5kUlMjidawEEKv9lNRg lish-se-sto.linode.com - ED25519 256 SHA256:phubC9JMR6DNal0BIvu2ESvmDfs2rSquBrhKdr0IbmU lish-se-sto.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `se-sto.webconsole.linode.com` - -#### Sydney (Australia) - -- **Lish SSH Gateway:** `lish-ap-southeast.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:rbamZevowgslIHGX34frmWv/Qvt863skVo5q2gKFCFs lish-ap-southeast.linode.com - ECDSA 256 SHA256:FmtrulPNisf4KVfOEtxiC0jLQfLW6iNdM2bZ5AWWFyM lish-ap-southeast.linode.com - ED25519 256 SHA256:dRp40pJoimqpzoRM9yCY8OIzDxESMIkLWYCes0nFRdQ lish-ap-southeast.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `ap-southeast.webconsole.linode.com` - -#### Tokyo (Japan) - -- **Lish SSH Gateway:** `lish-ap-northeast.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:Ral4+nR7A3jnhOqcebKTZQ+uDCIJ2rHQLnDUizDwIHY lish-ap-northeast.linode.com - ECDSA 256 SHA256:mxhd/vUfH9+8CDfOVmpfAbGDXdt1o35QKwAxO20GAqw lish-ap-northeast.linode.com - ED25519 256 SHA256:CDH9IcgWQ2iwx27ZotyvNbWl5os+QbeRZ/SLagLBckQ lish-ap-northeast.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `ap-northeast.webconsole.linode.com` - -#### Toronto (Canada) - -- **Lish SSH Gateway:** `lish-ca-central.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:FetyiRe7La3cAdpHz17sfKgQHaXEQPWcIq8A0sI11go lish-ca-central.linode.com - ECDSA 256 SHA256:YhHGT3h4elvJjLTRBcjwNU+DK3TkvrQBrTtaiut5bIw lish-ca-central.linode.com - ED25519 256 SHA256:hf6BTXkLy8dnGBD1z2IiMwD+J+o9xc/nkhxmOX69hWM lish-ca-central.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `ca-central.webconsole.linode.com` - -#### Washington, DC (USA) - -- **Lish SSH Gateway:** `lish-us-iad.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:mzFtMaMVX6CsLXsYWn6c8BXnXk0XHfoOXGExDUEH2OI lish-us-iad.linode.com - ECDSA 256 SHA256:of9osuoFwh7g5ZiO0G3ZGYi/8JcCw3BA/ZdkpaKQlT0 lish-us-iad.linode.com - ED25519 256 SHA256:oFoUJn/xXV/+b7EJIcIt6G6hV5jXzjM/pOsoceDDOaA lish-us-iad.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `us-iad.webconsole.linode.com` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/lish/launch-console-button.png b/docs/products/compute/compute-instances/guides/lish/launch-console-button.png deleted file mode 100644 index e879e645dc2..00000000000 Binary files a/docs/products/compute/compute-instances/guides/lish/launch-console-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/lish/lish-add-public-key.png b/docs/products/compute/compute-instances/guides/lish/lish-add-public-key.png deleted file mode 100644 index 63d6ba2c222..00000000000 Binary files a/docs/products/compute/compute-instances/guides/lish/lish-add-public-key.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/lish/using-the-linode-shell-lish.jpg b/docs/products/compute/compute-instances/guides/lish/using-the-linode-shell-lish.jpg deleted file mode 100644 index 0050f653bd1..00000000000 Binary files a/docs/products/compute/compute-instances/guides/lish/using-the-linode-shell-lish.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/lish/weblish.png b/docs/products/compute/compute-instances/guides/lish/weblish.png deleted file mode 100644 index f6d55e1fe49..00000000000 Binary files a/docs/products/compute/compute-instances/guides/lish/weblish.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/add-ip-address-button.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/add-ip-address-button.png deleted file mode 100644 index 2695a7c4f0b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/add-ip-address-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/add-ip-address-form.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/add-ip-address-form.png deleted file mode 100644 index 4ca752dbe4c..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/add-ip-address-form.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/compute-ip-addresses-full.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/compute-ip-addresses-full.png deleted file mode 100644 index 0bbc374a602..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/compute-ip-addresses-full.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/compute-ip-addresses-quick.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/compute-ip-addresses-quick.png deleted file mode 100644 index 77ab54fd478..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/compute-ip-addresses-quick.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/delete-ip-address-button.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/delete-ip-address-button.png deleted file mode 100644 index cd7c41bd66d..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/delete-ip-address-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/dns-resolvers.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/dns-resolvers.png deleted file mode 100644 index 39c6e9441c9..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/dns-resolvers.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/index.md b/docs/products/compute/compute-instances/guides/manage-ip-addresses/index.md deleted file mode 100644 index 1a5dae0ddf9..00000000000 --- a/docs/products/compute/compute-instances/guides/manage-ip-addresses/index.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: "Managing IP Addresses on a Compute Instance" -description: "Instructions on viewing, adding, deleting, transferring IP addresses for Linode Compute Instances using Cloud Manager" -og_description: "Learn how to manage IP addresses on a Linode Compute Instance" -published: 2016-08-23 -modified: 2024-07-26 -keywords: ["ip addresses", "ip failover", "swapping ip addresses", "add ip address", "add additional ip address"] -tags: ["linode platform","cloud manager","networking"] -aliases: ['/platform/manager/remote-access-classic-manager/','/platform/manager/remote-access/','/remote-access/','/networking/remote-access/', '/guides/remote-access/','/guides/managing-ip-addresses/','/products/tools/cloud-manager/guides/cloud-delete-ip/','/guides/find-your-linodes-ip-address/'] ---- - -Each Linode Compute Instance is equipped with several IP addresses, which may enable it to be accessible over the public Internet and other Linode services or accessible just to other Compute Instances within a VPC. This guide covers how to manage these IP addresses (including viewing, adding, removing, transferring, or sharing them) through Cloud Manager. - -## Viewing IP Addresses - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the sidebar. - -1. Click on your Linode Compute Instance from the list to view more details. - -1. Within the top *Summary* section, you can view the primary IPv4 and IPv6 addresses. - - ![Summary section with the IP addresses highlighted](compute-ip-addresses-quick.png) - -1. To view all public and private IP addresses for this Instance (along with any associated rDNS values), click the **View all IP Addresses** link or navigate to the **Network** tab and review the **IP Addresses** section. - - ![The IP Addresses table on the Network tab](compute-ip-addresses-full.png) - - IP addresses for a VPC or VLAN interface are visible in the **Configurations** tab. - -## Types of IP Addresses - -### IPv4 - -- **Public IPv4 Address:** Most Compute Instances (those created without a VPC) have a single public IPv4 address, which enables your applications to be accessible over the Internet. Additional addresses can be provided with technical justification. If a VPC interface is configured when a Compute Instance is created, that instance typically does not have a public IPv4 address _unless_ the _Assign a public IPv4 address_ option is selected. - -- **VPC IPv4 Address:** If an instance is assigned to a VPC, that instance is assigned an IPv4 address from the CIDR range configured on the subnet. This IP address can be automatically generated or manually provided. Optionally, if the _Assign a public IPv4 address_ option is selected during creation, the instance is assigned public IPv4 address as well. - -- **VLAN IPv4 Address:** When a Compute Instance is configured with a VLAN, you assign it a IPv4 address to use within the VLAN. It is also automatically assigned a public IPv4 address. - -- **Private IPv4 Address:** Optionally, a private IPv4 address can be assigned to a Compute Instance. This allows it to connect to other services located in the same data center, such as NodeBalancers or other Compute Instances. - -{{< note title="A VPC is the recommended method for network isolation" >}} -In most cases, a VPC is the better option for true network isolation than either a VLAN or a private IP address. For a comparison between these methods, review the [VPC](/docs/products/networking/vpc/#difference-between-private-network-options-vpcs-vlans-and-private-ips) documentation. -{{< /note >}} - -### IPv6 Addresses - -- **IPv6 SLAAC Address:** This is the main IPv6 address used to communicate over the public Internet and with other services in the same data center. All Compute Instances are assigned a single SLAAC address, which cannot be removed or transferred. Additional SLAAC addresses cannot be provided. If you need an additional IPv6 address, consider using a /64 range (see below). - -- **IPv6 Link Local:** This IPv6 address is assigned to each Compute Instance and used for internal routing. - -- **/64 Routed Range:** This is the most common range provided to our customers and sufficient for most applications that require additional IPv6 addresses. A single /64 range provides 18,446,744,073,709,551,616 addresses that can be used when configuring the applications within your system. See the [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide for instructions on configuring specific addresses from a range. By default, up to one /64 range can be added per customer per data center. - -- **/56 Routed Range:** These larger ranges are typically only required by specialized systems or networking applications. A single /56 range provides 4,722,366,482,869,645,213,696 addresses that can be used when configuring the applications within your system. See the [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide for instructions on configuring specific addresses from a range. By default, up to one /56 range can be added per customer per data center. - -- **/116 Pool:** *(4,096 addresses)* An IPv6 pool is accessible from every Linode on your account within the assigned data center. Addresses from that pool can be configured on each Linode within that data center. This can enable features like IPv6 failover. By default, up to one /116 pool can be added per customer per data center. - - {{< note type="alert" >}} - The IPv6 /116 prefix has been deprecated and is no longer available for new Compute Instances. If you have an existing Compute Instance with a /116 pool, please review the [Upcoming Changes Related to Network Infrastructure Upgrades](/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/) to learn about changes that may affect your services. - {{< /note >}} - -## Adding an IP Address - -Follow the instructions below to add an public IPv4, private IPv4, or IPv6 range to your Compute Instance. By default, up to one /64 and /56 range can be added per customer per data center. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the sidebar. -1. Click on your Linode Compute Instance from the list and navigate to the **Network** tab. -1. Click the **Add an IP Address** button under the *IP Address* section. This displays the *Add an IP Address* panel. - - ![The Add IP Address button](add-ip-address-button.png) - -1. Within the form, select the type of IP address (or range) you wish to add. If you aren't sure, review the [Types of IP Addresses](#types-of-ip-addresses) section and consider your own use case. - - ![The Add IP Address form](add-ip-address-form.png) - -1. Click the **Allocate** button to add the additional address. If you receive a message similar to the following, you need to [contact our Support team](https://www.linode.com/support/) to request the IP address. Make sure to include any additional information or technical reasoning for the request. - - > Additional IPv4 addresses require technical justification. Please open a Support Ticket describing your requirement - - Once the IP address or range has been added, it should be visible in the *IP Address* section. - -1. To make sure the new IP address is configured within the internal system of the Compute Instance, verify that [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) is enabled and reboot the Compute Instance. - - If Network Helper is turned off *and* you've [configured a static IP address](/docs/products/compute/compute-instances/guides/manual-network-configuration/), you need to update the configuration files with the new IP address or enable Network Helper. - -{{< note >}} -Due to the [impending exhaustion of the IPv4 address space](http://en.wikipedia.org/wiki/IPv4_address_exhaustion), Linode requires users to provide technical justification for additional public IPv4 addresses. If you have an application that requires multiple IP addresses, consider using an IPv6 /64 range instead. Note that pricing for additional public IPv4 addresses may vary by region. -{{< /note >}} - -## Configuring rDNS - -To change the rDNS value on an IP address, follow the instructions within the [Configure rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) guide. - -## Deleting an IP Address - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the sidebar. -1. Click on your Linode Compute Instance from the list and navigate to the **Network** tab. -1. Select the **Delete** menu option for the IP address you'd like to remove - - ![Select 'Delete' option from the IP address menu.](delete-ip-address-button.png) - -1. A pop-up confirmation dialog appears. Click the **Delete Range** button to confirm the request. - -1. To make sure the IP address is removed from the internal system of the Compute Instance, verify that [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) is enabled and reboot the Compute Instance. - - If Network Helper is turned off *and* you've [configured a static IP address](/docs/products/compute/compute-instances/guides/manual-network-configuration/), you need to update the configuration files to remove the IP address or enable Network Helper. - -## Transferring IP Addresses - -If you have two Compute Instances in the same data center, you can use the *IP transfer* feature to move or swap their IP addresses. This feature is especially useful when replacing one Compute Instance with another. It lets you quickly move the IP addresses to the new Instance without needing to manually adjust DNS records with the new addresses. - -{{< note >}} -This process only transfers IPv4 addresses and IPv6 ranges, not IPv6 SLAAC addresses. See [Transferring an IPv6 SLAAC Address](#transferring-an-ipv6-slaac-address) below for a workaround. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the sidebar. - -1. Click on your Linode Compute Instance from the list and navigate to the **Network** tab. - -1. Press the **IP Transfer** button in the *IP Addresses* table. - - ![IP Transfer button](ip-transfer-button.png) - -1. Locate the IP address or range you would like to transfer and select an action from the dropdown menu: - - - **Move To:** moves the IP address to another Compute Instance. When choosing this option, select the destination Compute Instance in the next dropdown menu that appears. If you are moving a public IPv4 address, there needs to be at least one remaining public IPv4 address on the source Compute Instance. - - **Swap With:** swaps the IP addresses of two Compute Instances. When choosing this option, select the destination Compute Instance in the next dropdown menu that appears. Then select the IP address (belonging to the destination Compute Instance) you would like to swap with the originally selected IP address. - - ![The IP Transfer menu in Cloud Manager](remote_access_ip_transfer.png) - - {{< note >}} - The *IP Transfer* form only displays Compute Instances hosted in the same data center as the current Instance. - {{< /note >}} - -1. Click **Save** to transfer the requested IPs. - -1. To make sure the new IP addresses take affect within the internal configuration of each Compute Instance, verify that [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) is enabled and reboot the affected Instance(s). It may take up to 1-2 minutes for the transfer to take affect. - - If Network Helper is turned off *and* you've [configured a static IP address](/docs/products/compute/compute-instances/guides/manual-network-configuration/), you need to update the configuration files with the new IP addresses or enable Network Helper. - - {{< note >}} - If the IP is unreachable after a few minutes, you may need to notify the router directly of the IP change with the `arp` command run on your Compute Instance: - - ```command - arping -c5 -I eth0 -s 198.51.100.10 198.51.100.1 - ping -c5 198.51.100.10 198.51.100.1 - ``` - - Replace `198.51.100.10` with your new IP address, and `198.51.100.1` with the gateway address listed in your Networking tab under the **Default Gateways** column of the *IP Addresses* table. - {{< /note >}} - -### Transferring an IPv6 SLAAC Address - -IPv6 SLAAC addresses are not able to be transferred between Compute Instances. If this is something you need to do, consider moving the applications you want to be hosted on that IPv6 address over to the Compute Instance containing that IPv6 address. One way to accomplish this is to clone the disks containing the data. See the [Cloning to an Existing Linode](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance) section of the **Cloning a Linode** guide. After the cloning process has completed, transfer any required IPv4 addresses. - -## Configuring IP Sharing - -*IP Sharing* is a feature that enables two Compute Instances to be assigned the same IP address for the purpose of configuring failover. Within a typical failover setup, traffic on the shared IP address is routed to the primary instance. In the event that instance fails or goes down, traffic is automatically re-routed to the secondary instance. While IP Sharing can be configured in Cloud Manager, failover must be manually configured within the internal system of both Compute Instances. See [Configuring IP Failover](/docs/products/compute/compute-instances/guides/failover/) to learn more about configuring failover. - -{{< note >}} -Not all data centers currently support IP Sharing. Additionally, some data centers only support IPv4 sharing, while others also support IPv6 routed ranges (/64 and /56). To determine if IP Sharing is supported in a particular data center, see [Configuring IP Failover > IP Sharing Availability](/docs/products/compute/compute-instances/guides/failover/#ip-sharing-availability). -{{< /note >}} - -{{< note type=warning >}} -When IP Sharing is enabled for an IP address, all connectivity to that IP address is immediately lost *until* it is configured on [Lelastic](/docs/products/compute/compute-instances/guides/failover/#install-and-configure-lelastic), [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/), or another routing software. This is not an issue when adding a new IP address, but should be considered if you are enabling IP Sharing on an existing IP address that is actively being used. -{{< /note >}} - -To learn how to enable IP Sharing within Cloud Manager, review the following steps. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the sidebar. - -1. Determine which two Compute Instances are to be used within your failover setup. They both must be located in the same data center. Make sure the IP address you wish to share has been added to one of those instances. If not, add it now. See [Adding an IP Address](#adding-an-ip-address). - -1. Of those two Compute Instances, select the one that does not yet have the Shared IP addresses assigned to it. Then, navigate to the **Network** tab. -1. Click the **IP Sharing** button under the *IP Addresses* section. - - ![Configuring IP sharing](ip-sharing-button.png) - -1. The *IP Sharing* form appears with a list of IP addresses that are available to be shared. Select the IP address you wish to share with this Compute Instance. - - ![Select a Linode to share an IP address with.](remote_access_ip_sharing_add_an_ip.png) - - {{< note >}} - If your desired IP address does not appear in that list, verify that the Compute Instance to which it belongs has at least two public IPv4 addresses or has been assigned an IPv6 routed range (/56 or /64). - {{< /note >}} - -1. Click **Save** to enable IP Sharing. - -1. After enabling IP Sharing in Cloud Manager, the next step is to configure a failover service (such as FRR, lelastic, or Keepalived) within the internal system on each Compute Instance. For more information, see our guide on [Configuring IP Failover](/docs/products/compute/compute-instances/guides/failover/). - -## Viewing the DNS Resolvers' IP Addresses - -Each data center has its own set of DNS resolvers, which are accessed through both IPv4 or IPv6 addresses. To view the DNS resolvers, follow the instructions below. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the sidebar. - -1. Click on your Linode Compute Instance from the list to view more details. - -1. Navigate to the **Network** tab and review the **DNS Resolvers** list, which should appear to the right of (or below) the network transfer graph. - - ![Screenshot of the DNS resolvers in Cloud Manager](dns-resolvers.png) - -## Confirming IP Addresses are Correctly Configured - -Our platform's [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) tool automatically configures the internal network settings of your instance's Linux system. This ensures changes made to your IP addresses within Cloud Manager are also made internally on your instance. If you decide not to use Network Helper or are using a custom unsupported distribution, you need to manually configure your system's networking. In this case, review the [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. - -To verify that your IP addresses are correctly configured, run the `ip` command on your instance (see [man pages reference](https://linux.die.net/man/8/ip)), specifically `ip a show` (`ip addr show`). For more information on using this command, see our [Use the ip Command in Linux](/docs/guides/how-to-use-the-linux-ip-command/#how-to-find-your-ip-address) guide. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/ip-sharing-button.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/ip-sharing-button.png deleted file mode 100644 index c72460cd342..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/ip-sharing-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/ip-transfer-button.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/ip-transfer-button.png deleted file mode 100644 index f3637dfd197..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/ip-transfer-button.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/remote_access_ip_sharing_add_an_ip.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/remote_access_ip_sharing_add_an_ip.png deleted file mode 100644 index c64734d9eb0..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/remote_access_ip_sharing_add_an_ip.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-ip-addresses/remote_access_ip_transfer.png b/docs/products/compute/compute-instances/guides/manage-ip-addresses/remote_access_ip_transfer.png deleted file mode 100644 index a9f7d633ab1..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-ip-addresses/remote_access_ip_transfer.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-the-kernel/grub-prompt.png b/docs/products/compute/compute-instances/guides/manage-the-kernel/grub-prompt.png deleted file mode 100644 index 88564f920e8..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-the-kernel/grub-prompt.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manage-the-kernel/index.md b/docs/products/compute/compute-instances/guides/manage-the-kernel/index.md deleted file mode 100644 index 657c1d6e307..00000000000 --- a/docs/products/compute/compute-instances/guides/manage-the-kernel/index.md +++ /dev/null @@ -1,258 +0,0 @@ ---- -title: "Manage the Kernel on a Compute Instance" -title_meta: "How to Manage the Kernel on a Compute Instance" -description: "Information on finding your Compute Instance's kernel version (and type) as well as changing and updating the kernel." -published: 2021-08-13 -modified: 2024-02-22 -keywords: ["kernel", "grub"] -tags: ["linode platform","cloud manager"] -aliases: ['/tools-reference/custom-kernels-distros/run-a-distribution-supplied-kernel-with-kvm/','/platform/how-to-change-your-linodes-kernel/','/run-a-distribution-supplied-kernel-with-kvm/','/tools-reference/custom-kernels-distros/run-a-distribution-supplied-kernel/','/platform/update-kernel/', '/guides/how-to-change-your-linodes-kernel/', '/guides/update-kernel/','/guides/managing-the-kernel-on-a-linode/'] ---- - -The primary component of every Linux system is the *Linux kernel*. The kernel interfaces with the system's hardware and it controls the operating system's core functionality. This guide covers the types of kernels that can be assigned to a Compute Instance and how to view, update, or change the kernel. - -## Types of Kernels - -Your Compute Instance is capable of running one of three kinds of kernels: - -- **Upstream kernel** (or *distribution-supplied kernel*): This kernel is maintained and provided by your Linux distribution. A major benefit of this kernel is that the distribution was designed with this kernel in mind and all updates are managed through the distributions package management system. It also may support features not present in the Linode kernel (for example, [SELinux](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/)). - -- **Linode kernel:** Linode also maintains kernels that can be used on a Compute Instance. If selected, these kernels are provided to your Compute Instance at boot (not directly installed on your system). The [Current Kernels](https://www.linode.com/kernels) page displays a list of all the available Linode kernels. - -- **Custom-compiled kernel:** A kernel that you compile from source. Compiling a kernel can let you use features not available in the upstream or Linode kernels, but it takes longer to compile the kernel from source than to download it from your package manager. For more information on custom compiled kernels, review our guides for [Debian, Ubuntu,](/docs/guides/custom-compiled-kernel-debian-ubuntu/) and [CentOS](/docs/guides/custom-compiled-kernel-centos-7/). - -Most of the distribution images available on Linode use the upstream distribution-supplied kernel by default. - -## Determine Which Kernel Is Installed - -There are may ways you can determine which kernel version is installed on your Linux system. The following instructions cover the most common methods: - -1. Log in to the Compute Instance through either [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Run one of the following commands to display the kernel version: - - - `uname -r`: Outputs a single line with just the kernel version. - - `hostnamectl`: Outputs an organized list of system details, including the kernel version. Can only be used on distributions with [systemd](https://en.wikipedia.org/wiki/Systemd) (Debian, Ubuntu, CentOS, openSUSE, and more). - - `cat /proc/version`: Outputs a string that contains the kernel version and release details. - -The kernel version should be a string that's similar to `5.4.0-80-generic`. In this example, the kernel ends with `generic`, which is common in Ubuntu systems to designate that this is an upstream kernel. If the kernel ends with something similar to `linode123`, a Linode kernel is being used and the string matches the precise Linode kernel release. - -## View and Modify the Kernel in Cloud Manager - -You can use Cloud Manager to view the type of kernel you are using. If you are using a Linode kernel (not an upstream kernel), you can also view the kernel version. - -{{< note >}} -These instructions may not accurately reflect the actual kernel version installed. This is especially true if the Compute Instance hasn't been rebooted in a while or wasn't rebooted after a change to the instance's Configuration. To determine the actual kernel version installed on your system, see [Determining Which Kernel Is Installed](#determining-which-kernel-is-installed). -{{< /note >}} - -1. Navigate to your Compute Instance in [Cloud Manager](https://cloud.linode.com) and click the **Configuration** tab. - -1. Find your current *Configuration* and click the corresponding **Edit** link. This may be located within the **More Options Ellipses** dropdown menu. - -1. Scroll to the *Boot Settings* section. - -1. Review the **Kernel** dropdown menu selection. - - - **Latest 64 bit** and **Latest 32 bit**: Uses one of the latest 64-bit or 32-bit Linode kernels at the time the Compute Instance boots/reboots, depending on which option you selected. Since new kernel releases are rolled out over a short time period, the actual kernel used by your system may be one or two releases behind. This setting was the default for most distributions before August 2018. - - **Direct Disk**: Instead of a Linux Kernel, this uses the MBR (Master Boot Record) of the primary disk*. - - **GRUB 2**: Uses the upstream distribution-supplied kernel that's installed on the primary disk. If a custom kernel has been installed instead, that is used instead. **This is the most common option and has been the default for most new Compute Instances created after August 2018.** - - **GRUB (Legacy)**: Uses the upstream distribution-supplied kernel that's installed on the primary disk*. This should only be used on older Linux distributions that have Grub (not Grub 2) installed, like CentOS 6. - - **Specific Linode Kernel**: Lets you specify the exact Linode kernel to use. Since this kernel is maintained regardless of reboots or system updates, it may be preferred in some use cases. - - *\*Primary disk: the disk assigned as the "Root Device" within the instance's Configuration Profile.* - -1. Make any desired changes and click the **Save Changes** button. Otherwise, if no changes were made, click **Cancel**. - -1. If any changes were made, reboot your Compute Instance for the new kernel to take affect. - -## Update the Kernel - -Provided a newer kernel is available, you should be able to either manually (or automatically) update the kernel. The exact steps vary depending on the type of kernel and, for upstream kernels, the Linux distribution you are using. - -### Updating the Linode Kernel - -Follow these steps if the Compute Instance is using a Linode kernel: - -- **Latest 64-bit or 32-bit kernel**: Rebooting the Compute Instance automatically updates the kernel used within your system to one of the latest Linode kernel release. Since new kernel releases are rolled out over a short time period, the actual kernel used by your system may be one or two releases behind. -- **Specific kernel version** (ex: `5.12.2-x86_64-linode144`): To update your kernel, follow the instructions within the [Viewing and Modifying the Kernel in Cloud Manager](#viewing-and-modifying-the-kernel-in-cloud-manager) section. When selecting the kernel in the instance's Configuration Profile, chose your desired kernel version (or select `Latest 64 bit`), save the changes, and reboot your Compute Instance. - -### Update the Upstream Kernel - -Follow these steps if the Compute Instance is using an upstream kernel (the default for most new instances created after August 2018): - -1. Log in to the Compute Instance through either [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Upgrade any system packages related to the kernel: - - - **Ubuntu** - - ```command - sudo apt update && sudo apt install linux-generic - ``` - - - **Debian** - - ```command - sudo apt update && sudo apt install linux-base - ``` - - - **CentOS Stream, CentOS 8, AlmaLinux 8, Rocky Linux 8, and Fedora** - - ```command - sudo dnf upgrade kernel - ``` - - - **CentOS 7** - - ```command - sudo yum update kernel - ``` - - Alternatively, you can upgrade all packages on your system. For specific commands, review the Update/Upgrade sections in the guides for your [package manager](/docs/guides/linux-package-management-overview/). See [APT](/docs/guides/apt-package-manager/#upgrading-packages) (for Ubuntu and Debian), [DNF](/docs/guides/dnf-package-manager/#upgrade-packages) (for CentOS Stream, CentOS 8, AlmaLinux 8, Rocky Linux 8, and Fedora), and [YUM](/docs/guides/yum-package-manager/#upgrading-packages) (for CentOS 7). - -1. Reboot the Compute Instance. - -## Considerations When Switching From a Linode Kernel to GRUB2 - -While switching to GRUB2 is usually an easy seamless change, there are some fringe issues that can effect specific configurations. - -### Asynchronous SCSI Scans - -At the time of this writing, if you wish to switch from a Linode kernel to GRUB2, there is a known issue related to Asynchronous SCSI scans that can in some cases cause disks to be created with the wrong address. For example, a disk that may be created as a device to be addressed to `/dev/sda` may instead appear on `/dev/sdb`. This issue can most commonly be identified with an error message that is the same or similar to the following when the boot device is set to `/dev/sda`: - -`Failed to mount /dev/sda as root file system` - -Users can generally resolve this issue by either using the latest upstream kernel instead, or by adding a kernel parameter to the grub configuration file, usually found in `/etc/default/grub` to disable the asynchronous scanning which causes the issue. To do this, ensure that you do not delete other lines in the grub configuration file and append the following line to the end of the file: - -```file {title="/etc/default/grub"} -scsi_mod.scan=sync -``` - -Once the file has been edited, GRUB2 will need to be manually restarted. While this command will vary between Distros, using the following command will complete this task for **Debian** and **Ubuntu**: - -```command -update-grub -``` - -Users that rely on **CentOS** or other **RHEL** based operating systems should instead enter the following: - -```command -sudo grub2-mkconfig -o /boot/grub2/grub.cfg -``` - -Once completed, the disks should be read by GRUB2 correctly. - -### SELinux - -In older systems created before August 2018, CentOS 7 and Fedora ship with [SELinux](/docs/guides/a-beginners-guide-to-selinux-on-centos-7/) running in enforcing mode by default. When switching from the Linode kernel to the upstream kernel, SELinux may need to relabel your filesystem at boot. When the relabeling completes, the Compute Instance will shut down. If you have [Lassie](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) enabled, the instance will automatically boot back up following the shut down. If you do not have Lassie enabled, you will need to manually reboot from Cloud Manager. - -![SELinux filesystem relabel](selinux-filesystem-relabel.png "SELinux filesystem relabel") - -You can trigger the relabel process by creating an empty `/.autorelabel` file and then rebooting: - -```command -touch /.autorelabel -``` - -### No Upstream Kernel Installed - -If your system does not boot and instead shows a GRUB command line prompt in Lish like shown below, then you need to install the kernel and configure GRUB. **This should only be necessary on Compute Instances which were created before February 2017.** If this is the case, switch back to the Linode kernel in your configuration profile, reboot your Compute Instance, and then follow this guide's instructions for installing the kernel. - -![GRUB prompt](grub-prompt.png "GRUB prompt") - -## Installing the Upstream Kernel and Configuring GRUB - -For new Compute Instances, an upstream kernel is already installed on your system and you **do not need to follow these steps**. In the case of older instances, this section outlines how to get both an upstream kernel (and GRUB) installed and configured on your system. - -1. Log in to the Compute Instance through either [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Update your package management system and install the Linux kernel and GRUB 2. Choose `/dev/sda` if you're asked which disk to install to during installation. Linode provides the GRUB bootloader, so your system only needs to provide a `grub.cfg` file. - - - **Ubuntu** - - ```command - sudo apt update && sudo apt install linux-generic grub2 - ``` - - - **Debian** - - ```command - sudo apt update && sudo apt install linux-image-amd64 grub2 - ``` - - - **CentOS Stream, CentOS 8, AlmaLinux 8, Rocky Linux 8, Fedora** - - ```command - sudo dnf upgrade && sudo dnf install kernel grub2 - ``` - - - **CentOS 7** - - ```command - sudo yum update && sudo yum install kernel grub2 - ``` - - - **Arch Linux** - - ```command - sudo pacman -Syu && sudo pacman -S linux grub - ``` - - - **Gentoo** - - ```command - emerge -avDuN world - ``` - - There are two main ways to install Gentoo's kernel: Manual configuration and using the `genkernel` tool. Which you use and how you configure the kernel will depend on your preferences, so see the [Gentoo Handbook](https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel) for instructions. - - When the installation finishes, the kernel and other components are located in the `/boot` directory. For example: - - ```output - [root@archlinux ~]# ls /boot - grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux - ``` - -1. Next, configure the serial console and other GRUB settings so you can use [Lish](/docs/products/compute/compute-instances/guides/lish/) and [Glish](/docs/products/compute/compute-instances/guides/glish/). This is outlined in the following steps. - -1. Open `/etc/default/grub` in a text editor and go to the line beginning with `GRUB_CMDLINE_LINUX`. Remove the word `quiet` if present, and add `console=ttyS0,19200n8 net.ifnames=0`. Leave the other entries in the line. For example, on CentOS 7 you should have something similar to: - - ```command - GRUB_CMDLINE_LINUX="crashkernel=auto rhgb console=ttyS0,19200n8 net.ifnames=0" - ``` - -1. Add or change the options in `/etc/default/grub` to match the following snippet. There are other variables in this file, but the current changes are only focused on these lines. - - ```file {title="/etc/default/grub"} - GRUB_TERMINAL=serial - GRUB_DISABLE_OS_PROBER=true - GRUB_SERIAL_COMMAND="serial --speed=19200 --unit=0 --word=8 --parity=no --stop=1" - GRUB_DISABLE_LINUX_UUID=true - GRUB_GFXPAYLOAD_LINUX=text - GRUB_ENABLE_BLSCFG=false - ``` - -1. Prepare and update the bootloader: - - - **Debian and Ubuntu** - - ```command - sudo update-grub - ``` - - - **CentOS** - - The `.autorelabel` file is necessary to queue the SELinux file system relabeling process when rebooting from the Linode kernel to the CentOS kernel. - - ```command - mkdir /boot/grub - ln -s /boot/grub2/grub.cfg /boot/grub/grub.cfg - grub2-mkconfig -o /boot/grub/grub.cfg - touch /.autorelabel - ``` - - - **Arch and Gentoo** - - ```command - grub-mkconfig -o /boot/grub/grub.cfg - ``` diff --git a/docs/products/compute/compute-instances/guides/manage-the-kernel/selinux-filesystem-relabel.png b/docs/products/compute/compute-instances/guides/manage-the-kernel/selinux-filesystem-relabel.png deleted file mode 100644 index f3b079ae8ce..00000000000 Binary files a/docs/products/compute/compute-instances/guides/manage-the-kernel/selinux-filesystem-relabel.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/manual-network-configuration/index.md b/docs/products/compute/compute-instances/guides/manual-network-configuration/index.md deleted file mode 100644 index 995a5cbe1e6..00000000000 --- a/docs/products/compute/compute-instances/guides/manual-network-configuration/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Manual Network Configuration on a Compute Instance" -description: "Learn how to manually edit your distribution-specific network configuration files to set static IPs, routes and DNS resolvers." -published: 2023-09-05 -modified: 2024-05-28 -keywords: ["static", "ip address", "addresses"] -tags: ["networking","linode platform"] -aliases: ['/networking/linux-static-ip-configuration/','/networking/configuring-static-ip-interfaces/','/networking/linode-network/linux-static-ip-configuration/','/guides/linux-static-ip-configuration/','/guides/manual-network-configuration/'] ---- - -Every Compute Instance is assigned several IP addresses, including a public IPv4 address and a public IPv6 [SLAAC](https://en.wikipedia.org/wiki/IPv6#Stateless_address_autoconfiguration_.28SLAAC.29) address. By default, a utility called [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) automatically configures these IP addresses within the network configuration files on the Compute Instance. While this is preferred in most cases, there are some situations which may require you to manually configure networking yourself. These situations include: - -- Installing a custom distribution on a Compute Instance -- Configuring failover (see [Configuring Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/)) -- Assigning addresses from an IPv6 routed range -- Using other DNS resolvers (not Linode’s) -- Other advanced use cases where custom network configuration is required - -The guides in this series walk you through how to manually configure your networking in most common Linux distributions. To learn more about the types of IP addresses available on a Compute Instance, review the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#types-of-ip-addresses) guide. Additional public IPv4 addresses, private IPv4 addresses, and IPv6 routed ranges (/64 or /56) can be added manually or by opening a [support ticket](/docs/products/platform/get-started/guides/support/) and detailing your requirements. - -## Network Configuration Software in Linux - -All Linux distributions have pre-installed software whose purpose is to manage the internal networking on the system. In most cases, using this default software is preferred. That said, advanced users may wish to install their own preferred tool. - -### Default Network Configuration Software by Distribution - -The following table contains a list of each Linux distribution offered by Linode. Alongside each distribution is the default network software that it uses and a link to a guide for help with configuring that software. - -| Distribution | Network Manager | -| -- | -- | -| AlmaLinux 8 and above | [NetworkManager](/docs/products/compute/compute-instances/guides/networkmanager/) | -| Alpine | [ifupdown-ng](/docs/products/compute/compute-instances/guides/ifupdown/) | -| Arch | [systemd-networkd](/docs/products/compute/compute-instances/guides/systemd-networkd/) | -| CentOS 7 and 8 | [NetworkManager](/docs/products/compute/compute-instances/guides/networkmanager/) | -| CentOS Stream 8 and above | [NetworkManager](/docs/products/compute/compute-instances/guides/networkmanager/) | -| Debian 9 and above | [ifupdown](/docs/products/compute/compute-instances/guides/ifupdown/) | -| Fedora | [NetworkManager](/docs/products/compute/compute-instances/guides/networkmanager/) | -| Gentoo | netifrc | -| Rocky Linux 8 and above | [NetworkManager](/docs/products/compute/compute-instances/guides/networkmanager/) | -| Slackware | netconfig | -| openSUSE Leap | wicked | -| Ubuntu 16.04 | [ifupdown](/docs/products/compute/compute-instances/guides/ifupdown/) | -| Ubuntu 18.04 and above | [systemd-networkd](/docs/products/compute/compute-instances/guides/systemd-networkd/) and [Netplan](/docs/products/compute/compute-instances/guides/netplan/) | - -To manually configure networking, follow the associated guide and/or the official manual for the networking software and Linux distribution you are using. - -## Static vs Dynamic Addressing - -IP addresses can be statically configured or dynamically configured through DHCP (for public IPv4 addresses) and SLAAC (for primary IPv6 addresses). - -- **Static** configuration means explicitly defining the IP address within your system's network configuration. IPv4 addresses are configured this way through Network Helper and static configuration of IPv4 and IPv6 routed ranges is typically recommended when manually configuring your networking. - -- **DHCP** (Dynamic Host Configuration Protocol) can be used to automatically configure a single IPv4 address on a Compute Instance. If you intend on adding or removing public IPv4 addresses after you initially configure networking, using DHCP is not recommended as it may configure a different public IPv4 address after you make those changes. - - **Public interfaces**: If multiple IPv4 addresses are on the system, the first IP address (sorted alpha-numerically) is used. DHCP does not configure private IPv4 addresses or any IPv6 addresses. - - **VPC interfaces**: DHCP can be used to automatically configure the VPC IP address. - - {{< note >}} - If you do enable DHCP and are using a firewall (such as Cloud Firewalls), you must configure the firewall to allow communication with our DHCP servers. See the [DHCP IP Address Reference](/docs/products/compute/compute-instances/guides/dhcp-ip-address-reference/) guide for a list of IP addresses to allow. - {{< /note >}} - - {{< note >}} - If you have a Compute Instance with a public interface and a VPC interface, a default gateway will be configured for both interfaces when using DHCP. This will cause issues routing traffic towards the internet and other VPC subnets. To address this, manually remove one of the default gateways. - {{< /note >}} - -- **SLAAC** (Stateless address autoconfiguration) can *and should* be used to automatically configure the main IPv6 address on a Compute Instance. It does not configure any IPv6 routed ranges (/64 or /56) that may also be assigned to that instance. For SLAAC to function, the Compute Instance needs to accept router advertisements. This is accomplished by enabling router advertisements and disabling IPv6 privacy extensions within your system's networking configuration files. These settings are properly configured by default in our supported distributions. - -Static and dynamic addressing can be used together within a single configuration file. As an example, you can use DHCP to configure the public IPv4 address on your system, use SLAAC to configure your IPv6 address, and statically configure any remaining addresses (such as private IPv4 address or addresses from an IPv6 routed range). - -## Networking Terms - -- **IP address:** A unique and structured combination of numbers (and letters, for IPv6 address) used to identify a device over a network. Every Linode Compute Instance is assigned a public IPv4 address and a public IPv6 address. Additional IP addresses, including private IPv4 addresses and IPv6 routed ranges, are available. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) for information on viewing your IP addresses. - -- **Interface:** A real or virtual device that is responsible for facilitating a connection to a network. There are three available network interfaces corresponding to the devices assigned within the Linux system: *eth0*, *eth1*, and *eth2*. See [Managing Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) for instructions on viewing the interfaces configured on your Compute Instance. - -- **Gateway:** Provides access to a larger network, such as the internet. When configuring a Compute Instance, you only need to specify a gateway for one interface. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) for details on finding the gateway IP address that corresponds with the primary IPv4 address you wish to use. - -- **DNS resolver:** A server responsible for matching domain names to IP addresses. Linode provides DNS resolvers for each data center, though you are free to use others if you choose. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-the-dns-resolvers-ip-addresses) for instructions on viewing the DNS resolvers. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/metadata-api/index.md b/docs/products/compute/compute-instances/guides/metadata-api/index.md deleted file mode 100644 index a2e0dd49135..00000000000 --- a/docs/products/compute/compute-instances/guides/metadata-api/index.md +++ /dev/null @@ -1,222 +0,0 @@ ---- -title: "How to Use the Metadata Service API" -description: 'This guide provides a reference for using the Metadata service API directly.' -published: 2024-01-03 -keywords: ['cloud-init','api','metadata'] ---- - -Akamai's [Metadata service](/docs/products/compute/compute-instances/guides/metadata/) offers an API for use in automated deployment configurations. Compatible versions of cloud-init can leverage the Metadata service to automatically configure new Compute Instances at deployment. However, the Metadata service's API can also be accessed directly. Doing so provides access to both instance and user data. - -In this reference guide, learn more about the available API endpoints for the Metadata service and how to use them. Follow along to find out how to access the API from your Compute Instance and what to expect from each endpoint. - -## API Endpoints - -To access the Metadata API, you need to be on a Compute Instance. If you have not done so already, follow along with our guide on [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) before moving forward. - -Once you have an instance deployed, the Metadata API is accessible via link-local addresses, specifically: - -- **IPv4**: `169.254.169.254` -- **IPv6**: `fd00:a9fe:a9fe::1` - -Each Metadata API endpoint provides instance data or user data. *Instance data* includes information related to the deployment and the instance itself, while *User data* consists of a specific field submitted when deploying the instance. - -{{< note >}} -Only select regions support submission of user data. Additionally, a limited number of distributions are officially supported by Akamai's Metadata service and cloud-init. To learn more about Metadata and cloud-init support, review the Availability section of our [Overview of the Metadata Service](/docs/products/compute/compute-instances/guides/metadata/#availability) guide. -{{< /note >}} - -The sections that follow list each endpoint, explain their usage, and provide examples of the expected output. Using the `Accept` header, output can generally be in either the default `text/plain` format or the `applciation/json` format. - -To demonstrate, the guide provides example output in the plain-text format and shows the response structure in JSON format where applicable. - -### Authentication Tokens (/v1/token) - -Use of the Metadata API always starts with the `token` endpoint. Use this endpoint to authenticate a new session and receive a Metadata token for accessing subsequent Metadata endpoints from your instance. - -While all other Metadata endpoints use `GET`, requests to this endpoint use the `PUT` method: - -```command -curl -X PUT -H "Metadata-Token-Expiry-Seconds: 3600" http://169.254.169.254/v1/token -``` - -These requests provide a `Metadata-Token-Expiry-Seconds` header, which indicate the token's expiry time in seconds: - -```output -e80eb80986f17fcd3df8fcb6ea944774cae47b26ed6d68df63a15b294b7a6e3f -``` - -When using the JSON format, the endpoint's response is an array containing the token string: - -```output -[ "token" ] -``` - -From here on, this guide assumes you have already acquired a Metadata token. For convenience, subsequent examples use `$TOKEN` in place of the actual token string. Follow along by storing the token in an [environment variable](/docs/guides/how-to-set-linux-environment-variables/), as shown here: - -```command -export TOKEN=$(curl -X PUT -H "Metadata-Token-Expiry-Seconds: 3600" http://169.254.169.254/v1/token) -``` - -### Instance Data (/v1/instance) - -To receive information about the Compute Instance itself, use the `instance` endpoint: - -```command -curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/instance -``` - -The output includes information on the identity of the instance, its specifications, and its backup scheduling: - -```output -backups.enabled: false -host_uuid: 123abc456def789ghi -id: 532754976 -label: example-linode-instance -region: us-iad -specs.disk: 51200 -specs.gpus: 0 -specs.memory: 2048 -specs.transfer: 2000 -specs.vcpus: 1 -type: g6-standard-1 -``` - -The endpoint's response is structured as shown below using the JSON format: - -```output -{ - “id”: int, - “host_uuid”: str, - “label”: str, - “region”: str, - “type”: str, - “tags”: array of str, - “specs”: { - “vcpus”: int, - “memory”: int, - “disk”: int, - “transfer”: int, - “gpus”: int - }, - “backups”: { - “enabled”: bool, - “status”: str[pending/running/complete] or null - } -} -``` - -The overall object provides identifying information about the instance, such as `ID`, `label`, and `tags`. A nested `specs` object details the instance specifications, while a nested `backups` object provides the status of backups for the instance. - -### Network Data (/v1/network) - -To retrieve information about how the instance's networking is configured, use the `network` endpoint: - -```command -curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/network -``` - -Refer to this endpoint when you need to identify the instance's IP addresses, configured network interfaces, and those interfaces' IPAM addresses: - -```output -ipv4.public: 192.0.2.0/24 -ipv6.link_local: fe80::db8:1b3d:e5g7::/64 -ipv6.slaac: 2600:3c05::db8:1b3d:e5g7::/64 -``` - -The endpoint's response follows the JSON structuring shown below: - -```output -{ - “interfaces”: [ - { - “purpose”: str[public/vlan], - “label”: str, - ipam_address”: str[optional] - }, - ], - “ipv4”: { - “public”: array of str, - “private”: array of str, - “elastic”: array of str - }, - “ipv6”: { - “ranges”: array of str, - “link-local”: array of str - “elastic-ranges”: array of str - } -} - -``` - -The `interfaces` array shows what interfaces, if any, the instance has. However, a default "eth0 - Public Internet" interface alone does not result in any output here. The `ipv4` and `ipv6` objects list the various addresses configured for the instance. - -### SSH Keys (/v1/ssh-keys) - -Use the `ssh-keys` endpoint to acquire a list of all SSH keys and associated users configured for the instance: - -```command -curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/ssh-keys -``` - -The output lists each user by username, along with an array of associated keys: - -```output -users.example-user: EXAMPLE_SSH_PUBLIC_KEY -users.root: ROOT_SSH_PUBLIC_KEY -``` - -The endpoint's output uses the structure shown below for JSON requests: - -```output -{ - “users”: { - “root”: array of str, - “username”: array of str - } -} -``` - -A `root` array lists keys for the root user. Other users each have their own array of keys, with the username acting as a label. - -### User Data (/v1/user-data) - -The `user-data` endpoint returns the user data submitted during the instance's deployment. Typically, this user data consists of a cloud-config script to be used by cloud-init for automating deployment. However, when accessing the Metadata service directly, you may utilize the user data for other purposes. If no user data was submitted, nothing will be returned. - -Submitted user data is required to be encoded using `base64`, so you need to decode the returned string to view the expected user data: - -```command -curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/user-data | base64 --decode -``` - -The output from this endpoint is simply the user data contents. There is no further formatting. For this reason, the endpoint only accepts the `text/plain` format, not `application/json`, format. - -Below is example cloud-config user data for a basic instance. This is just an example and the specific content varies depending on the user data submitted when initializing the instance. - -```output -#cloud-config - -# Configure a limited user -users: - - default - - name: example-user - groups: - - sudo - sudo: - - ALL=(ALL) NOPASSWD:ALL - shell: /bin/bash - ssh_authorized_keys: - - "SSH_PUBLIC_KEY" - -# Perform system updates -package_update: true -package_upgrade: true - -# Configure server details -timezone: 'US/Central' -hostname: examplehost - -# Harden SSH access -runcmd: - - sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config - - echo "PermitRootLogin no" >> /etc/ssh/sshd_config - - systemctl restart sshd -``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/metadata-cloud-config/index.md b/docs/products/compute/compute-instances/guides/metadata-cloud-config/index.md deleted file mode 100644 index b473543cda1..00000000000 --- a/docs/products/compute/compute-instances/guides/metadata-cloud-config/index.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Using Cloud-Config Files to Configure a Server" -description: "Learn how to create cloud-config files for use with cloud-init and our Metadata service." -published: 2023-07-25 -modified: 2023-08-24 -keywords: ["user data", "metadata", "cloud-init", "cloudinit"] ---- - -[Cloud-config](https://cloudinit.readthedocs.io/en/latest/explanation/format.html#cloud-config-data) files are supported by our [Metadata](/docs/products/compute/compute-instances/guides/metadata/) service and are used by cloud-init to automate server configuration. This guide covers creating cloud-config files, common modules, and examples to help get you started. - -## Syntax - -Cloud-config data is written using the YAML syntax, a commonly used data serialization format that's more user-friendly and human-readable than alternatives (like JSON). YAML consists of key-value pairs. Each key is entered on its own line and a colon (`:`) is used to separate the key from its value. The scope of the key is defined by its indentation. To learn more about YAML, review the [latest YAML specification](https://yaml.org/spec/1.2.2/#chapter-2-language-overview). - -## Cloud-Config Modules - -A cloud-config file must contain `#cloud-config` as the first line. Following that, you can use the keys provided by any of the cloud-init modules. Review the remaining sections of this guide for a list of common modules and how to configure them. For a full list of modules/keys, review [cloud-init Module Reference](https://cloudinit.readthedocs.io/en/latest/reference/modules.html). - -## Create a New User and Restrict Root Access - -One of the most common security tasks for every new system deployment is configuring user accounts. This includes creating a limited user account for the system administrator, adding them to the *sudo* group, and enabling the user to log in over SSH using a public key instead of a password. - -- `users` *(list)*: Configure user accounts ([Reference](https://cloudinit.readthedocs.io/en/latest/reference/modules.html#users-and-groups) | [Example](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#including-users-and-groups)) - - `name` *(string)*: The name of the user. - - `passwd` *(string)*: The hash of the password you want to configure for this user. - - `groups` *(string)*: The name of the group the user should belong to. - - `sudo`: Define a sudo rule string or set to `False` to deny sudo usage. - - `lock_passwd` *(boolean)*: If true (the default setting), prevents logging in with a password for that user. - - `ssh_authorized_keys` *(list)*: A list containing the public keys that should be configured for this user. - -```file {lang=yaml} -#cloud-config -users: -- name: example-user - groups: sudo - sudo: ALL=(ALL) NOPASSWD:ALL - shell: /bin/bash - ssh_authorized_keys: - - [insert-public-key] -``` - -## Update System - -Updating the system is another common task that's performed after a system is deployed. - -- `package_update` *(boolean)*: Updates the apt database ([cloud-init Docs](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#update-apt-database-on-first-boot)) -- `package_upgrade` *(boolean)*: Upgrades the software on your system (by running the yum or apt upgrade command) ([cloud-init Docs](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#run-apt-or-yum-upgrade)) - -```file {lang=yaml} -#cloud-config -package_update: true -package_upgrade: true -``` - -## Install a Software Package - -Almost all workloads running on a Compute Instance require additional software to be installed. You can automatically install software packages by adding them to your cloud-config file. - -- `packages` *(list)*: Installs the specified list of packages ([cloud-init Docs](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#install-arbitrary-packages)) - -```file {lang=yaml} -#cloud-config -packages: -- nginx -- mysql-server -- php -``` - -## Run a Command - -- `runcmd` *(list)*: Runs the specified commands during the first boot ([cloud-init Docs](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#run-commands-on-first-boot)) - -```file {lang=yaml} -#cloud-config -runcmd: -- mkdir ~/new-folder/ -``` - -## Write to a File - -- `write_files` (*list*): ([cloud-init Docs](https://cloudinit.readthedocs.io/en/latest/reference/examples.html#writing-out-arbitrary-files)) - - `content`: The entire content to include in the file. - - `path`: The path for the file. If a file already exists at this location, it is overwritten. - - `permissions`: Defines the file permissions in octal format (ex: `0644`). - -```file {lang=yaml} -#cloud-config -write_files: -- content: | - -

      Hello world!

      - -

      This is the content of my web page.

      - - path: /var/www/html/index.html -``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/metadata/cloud-init-supported-image.png b/docs/products/compute/compute-instances/guides/metadata/cloud-init-supported-image.png deleted file mode 100644 index f4ff410f3f9..00000000000 Binary files a/docs/products/compute/compute-instances/guides/metadata/cloud-init-supported-image.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/metadata/index.md b/docs/products/compute/compute-instances/guides/metadata/index.md deleted file mode 100644 index d6935ca3e38..00000000000 --- a/docs/products/compute/compute-instances/guides/metadata/index.md +++ /dev/null @@ -1,228 +0,0 @@ ---- -title: "Overview of the Metadata Service" -description: "Learn how to automate server provisioning on the Linode platform through the new Metadata service and cloud-init." -published: 2023-07-25 -modified: 2024-02-14 -keywords: ["user data", "metadata", "cloud-init", "cloudinit"] ---- - -When deploying Compute Instances, it's almost always necessary to perform additional configuration before you can host your website or run your workloads. This configuration might include creating a new user, adding an SSH key, or installing software. It could also include more complex tasks like configuring a web server or other software that runs on the instance. Performing these tasks manually can be tedious and is not ideal at larger scales. To automate this configuration, Linode offers two provisioning automation tools: Metadata (covered in this guide) and [StackScripts](/docs/products/tools/stackscripts/). - -## Overview - -Linode's Metadata service provides a convenient method to automate software configuration when deploying a Compute Instance. It is an API that's accessible only from within a provisioned Compute Instance and provides relevant metadata to that instance. The Metadata service is designed to be consumed by [cloud-init](https://cloudinit.readthedocs.io/en/latest/), an industry standard software that automates cloud instance initialization. This lets you use the same tool across multiple cloud providers, enabling a pathway for provisioning your systems as part of a multi-cloud infrastructure strategy. - -The Metadata service provides both *instance data* and optional *user data*, both of which are explained below: - -- **Instance data:** The instance data includes information about the Compute Instance, including its label, plan size, region, host identifier, and more. -- **User data:** User data is one of the most powerful features of the Metadata service and lets you define your desired system configuration, including creating users, installing software, configuring settings, and more. User data is supplied by the user when deploying, rebuilding, or cloning a Compute Instance. This user data can be written as a cloud-config file, or it can be any script that can be executed on the target distribution image, such as a bash script. - - User data can be submitted directly in Cloud Manager, Linode CLI, or Linode API. It's also often programmatically provided through IaC (Infrastructure as Code) provisioning tools like [Terraform](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/). - -When a Compute Instance first boots up, cloud-init runs locally on the system, accesses the metadata, and then configures your system using that metadata. - -## Comparison to StackScripts - -Similar to Metadata, Linode's [StackScripts](/docs/products/tools/stackscripts/) service can be used to automate system provisioning. However, the StackScripts service is Linode-specific and does not interface with cloud-init. If you wish to keep your system provisioning tools cloud-agnostic and industry-standard, we recommend using the Metadata service. - -## Availability - -Akamai's Metadata service is available in select data centers. Additionally, user data and cloud-init integration is currently only supported in a few distribution images. Supported data centers and distributions are listed below: - -- **Data centers:** Amsterdam (Netherlands), Chennai (India), Chicago (USA), Jakarta (Indonesia), Los Angeles (USA), Madrid (Spain), Miami (USA), Milan (Italy), Osaka (Japan), Paris (France), São Paulo (Brazil), Seattle (USA), Stockholm (Sweden), and Washington DC (USA) - -- **Distributions:** Ubuntu 22.04 LTS, Ubuntu 20.04 LTS, Debian 11 - -When selecting a distribution in Cloud Manager, the following icon designates distributions that fully support the Metadata service: - -![Screenshot showing icon that indicates user data and cloud-init support for a distribution](cloud-init-supported-image.png) - -{{< note >}} -Compute Instances deployed in a supported region can always access the [Metadata Service API](#access-the-metadata-service-api) to obtain instance data, regardless of the distribution. However, user data cannot be submitted for distributions that do not yet have cloud-init support. -{{< /note >}} - -## Add User Data When Deploying a Compute Instance {#add-user-data} - -The Metadata service is always active, so there's no need to enable it. User data can be provided to the Metadata service, which is then consumed by cloud-init when your Compute Instance boots up for the first time. - -{{< tabs >}} -{{< tab "Cloud Manager" >}} -1. Navigate to the **Linodes** page in [Cloud Manager](http://cloud.linode.com) and click the **Create Linode** button. This opens the **Create Linode** form. - -1. Fill out the form with your desired settings. Be sure to select one of the supported distribution images and data centers. - -1. Expand the *Add User Data* section and enter your user data into the **User Data** field. - - ![Screenshot of the Add User Data section in Cloud Manager](user-data-section.png) - - If you are unfamiliar with cloud-init, you can review the [Cloud-Config Usage and Examples](/docs/products/compute/compute-instances/guides/metadata-cloud-config/) guide for help creating a cloud-config file. - -1. Once you are ready, click the **Create Linode** button to deploy the instance. -{{< /tab >}} -{{< tab "Linode CLI" >}} -```command -linode-cli linodes create \ - --label new-instance-with-metadata \ - --region us-iad \ - --type g6-standard-2 \ - --image linode/ubuntu22.04 \ - --root_pass [your-root-password] \ - --metadata.user_data [your-user-data] -``` - -Replace *[your-root-password]* with a strong root password and *[your-user-data]* with the cloud-config data or script you wish to use. When using the CLI, user data must be a Base64-encoded string. Review the [Base64 Encoded](#base64-encoded) section below to generate the string. -{{< /tab >}} -{{< tab "Linode API" >}} -Run the API curl request below, making sure to properly paste in or reference your [API token](/docs/products/platform/accounts/guides/manage-api-tokens/). - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "label": "new-instance-with-metadata", - "region": "us-iad", - "type": "g6-standard-2", - "image": "linode/ubuntu22.04", - "root_pass": "[your-root-password]", - "metadata": { - "user_data": "[your-user-data]" - } - }' \ - https://api.linode.com/v4/linode/instances -``` - -Replace *[your-root-password]* with a strong root password and *[your-user-data]* with the cloud-config data or script you wish to use. When using the API, user data must be a Base64-encoded string. Review the [Base64 Encoded](#base64-encoded) section below to generate the string. -{{< /tab >}} -{{< /tabs >}} - -When your Compute Instance boots up using a compatible distribution, cloud-init runs. If it detects that this is the first time running on this instance, it connects to the Metadata API and captures the instance data for that instance, including any user data that you added. It then uses that metadata to provision the software on the instance, including setting the hostname to the instance's label and executing the user data script. - -{{< note >}} -User data can be added when creating a new Compute Instance, rebuilding an instance, cloning an instance, and restoring from a backup. -{{< /note >}} - -### User Data Formats - -User data can be provided in many different formats, with the most common being [cloud-config](https://cloudinit.readthedocs.io/en/latest/explanation/format.html#cloud-config-data). - -- **Cloud-config script:** cloud-config is the default syntax for cloud-init and can be used on any Linux distribution. It contains a list of directives formatted using YAML. Review the [Cloud-Config Usage and Examples](/docs/products/compute/compute-instances/guides/metadata-cloud-config/) guide for more details. - - ```command - #cloud-config - package_update: true - package_upgrade: true - packages: - - nginx - - mysql-server - ``` - -- **Executable script:** Cloud-init also accepts other scripts that can be executed by the target distribution. This includes bash and python. Since many commands (including those to create users and install packages) differ between distributions, providing these scripts may limit which distributions you can target. - - ```command - #!/bin/bash - apt-get update -y && apt-get upgrade -y - apt-get install nginx mysql-server -y - ``` - -- **Other formats:** Review the [User data formats](https://cloudinit.readthedocs.io/en/latest/explanation/format.html#user-data-formats) guide within the official documentation to learn more about other types of formats supported by cloud-init. - -#### Base64 Encoded - -When submitting user data through the Linode CLI or API, you first need to encode it into [Base64](https://en.wikipedia.org/wiki/Base64) (without any line breaks/wraps). To do that, run the command below that corresponds with your local operating system. Replace *[file]* with the name (and path, if needed) of your cloud-config or script file. - -{{< tabs >}} -{{< tab "macOS" >}} -```command -base64 --break=0 --input=[file] -``` -{{< /tab >}} -{{< tab "Linux" >}} -```command -base64 --wrap=0 [file] -``` -{{< /tab >}} -{{< /tabs >}} - -## Modify Cloud-Init Configuration and Save a Custom Image {#modify-cloud-init} - -Our supported distribution images have cloud-init pre-installed and configured to interact with our Metadata service. Beyond submitting user data, you are not able to adjust cloud-init settings directly through Cloud Manager, Linode CLI, or Linode API. If you do wish to deploy Compute Instances using a modified cloud-init configuration, you can use our [Images](/docs/products/tools/images/) service. - -1. Deploy a new Compute Instance using your preferred supported distribution image. -1. Log in to that instance using SSH or Lish and then modify the cloud-init configuration files (or add your own). These files are typically located in the `/etc/cloud/` folder. - - - `/etc/cloud/cloud.cfg`: The distribution-provided configuration settings. - - `/etc/cloud/cloud.cfg.d/`: A directory containing other configuration files that are processed by cloud-init. - - `/etc/cloud/cloud.cfg.d/99-linode.cfg`: The Linode-provided cloud-init configuration file. Since this is processed *after* the other configuration files, the settings here override any of the same settings that exist in those other configuration files. - -1. Once you have configured cloud-init with your desired settings, [create a custom image from that Compute Instance](/docs/products/tools/images/guides/capture-an-image/). - -Now, when you wish to deploy a new Compute Instance, you can select your custom image. During the creation workflow, you can attach any desired user data for that particular instance. When cloud-init runs, your updated configuration settings will be used alongside any user data that you've added. - -## Access the Metadata Service API - -In addition to being consumed by cloud-init, the Metadata service can also be accessed through an API. The API is available on industry standard link-local IP addresses (`169.254.169.254` and `fd00:a9fe:a9fe::1`) and returns only instance data and user data for that Compute Instance. For more details on using the API, review the [How to Use the Metadata Service API](/docs/products/compute/compute-instances/guides/metadata-api/) guide. - -1. Log in to a Compute Instance that has been deployed in a supported data center using a supported distribution image. - -1. Generate your API token by running the command below: - - ```command - curl -X PUT -H "Metadata-Token-Expiry-Seconds: 3600" http://169.254.169.254/v1/token - ``` - - Instead of receiving the token as an output string, you can save it directly to the `$TOKEN` environmental variable: - - ```command - export TOKEN=$(curl -X PUT -H "Metadata-Token-Expiry-Seconds: 3600" http://169.254.169.254/v1/token) - ``` - -1. Query one of the following API endpoints to receive data from the API. If you did not save the API token to the `$TOKEN` variable, replace `$TOKEN` in the commands below with your token. - - - **/v1/instance**: Output information about your instance, including plan resources. - - ```command - curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/instance - ``` - - - **/v1/network**: Output information about your instance's IP addresses. - - ```command - curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/network - ``` - - - **/v1/user-data**: Output your user data. - - ```command - curl -H "Metadata-Token: $TOKEN" http://169.254.169.254/v1/user-data | base64 --decode - ``` - -## Technical Specifications - -- The Metadata service is an API designed to be consumed by the cloud-init provisioning tool. -- All user data is encrypted and the Metadata service is only accessible from within the Compute Instance. -- Supports custom user data in the form of cloud-config scripts, shell scripts, and more. -- User data can be added when creating, rebuilding, or cloning a Compute Instance. User data can also be added when performing one of those functions using a custom image created from a compatible distribution image. - -{{< note type="warning" noTitle=true >}} -The Compute Instance must have a *public* network interface to access the Metadata service. -{{< /note >}} - -## Troubleshoot Metadata and Cloud-Init - -### View Cloud-Init Logs - -If you encounter issues with cloud-init or your user data, you can review the logs and output logs by running one of the commands below: - -```command -cat /var/log/cloud-init.log -cat /var/log/cloud-init-output.log -``` - -If you are not able to access your system through SSH, you can use [Lish](/docs/products/compute/compute-instances/guides/lish/) or boot your instance into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) and mount your disks. - -### Run the `cloud-init` Command - -The `cloud-init` command-line tool can be used to gather more information or perform certain actions. Here are some commands you can use to help troubleshoot cloud-init. - -- `cloud-init status --long`: This provides information about the status of cloud-init. You will notice different output depending on if it is actively running or if has run in the past. See [cloud-init status](https://cloudinit.readthedocs.io/en/latest/reference/cli.html#status). -- `cloud-init query v1` and `cloud-init query userdata`: This outputs either the instance data or the user data provided by the Metadata service. Other metadata is also exposed by entering a different query key. See [cloud-init query](https://cloudinit.readthedocs.io/en/latest/reference/cli.html#query). \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/metadata/user-data-section.png b/docs/products/compute/compute-instances/guides/metadata/user-data-section.png deleted file mode 100644 index 5cd9ab99a38..00000000000 Binary files a/docs/products/compute/compute-instances/guides/metadata/user-data-section.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/migrate-to-different-dc/index.md b/docs/products/compute/compute-instances/guides/migrate-to-different-dc/index.md deleted file mode 100644 index 70c02978ea8..00000000000 --- a/docs/products/compute/compute-instances/guides/migrate-to-different-dc/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Migrate to a New Data Center -description: "Learn how to migrate a Compute Instance across data centers using Cloud Manager." -keywords: ["choose", "help", "migration", "data center"] -tags: ["linode platform","cloud manager"] -modified: 2024-05-09 -modified_by: - name: Linode -published: 2019-02-04 -aliases: ['/platform/disk-images/how-to-initiate-a-cross-data-center-migration-for-your-linode/','/platform/migrating-to-a-different-data-center/','/guides/how-to-initiate-a-cross-data-center-migration-for-your-linode/'] ---- - -When you create a Compute Instance, it's stored on a specific data center you select. If you need to change this, you can initiate a cross-data-center migration, to move it to another data center. - -{{< note >}} -Review the [Choosing a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) guide to learn how to choose and speed test a data center. -{{< /note >}} - -## Before You Begin - -Various changes applied by the migration can impact your instance's configuration and the devices connected to it. They can all be seen in a caution message before proceeding with your migration within Cloud Manager. Here are some changes you should be aware of: - -- **IP addresses are not transferrable** They aren't migrated to the new data center with your Compute Instance. Akamai issues a new IPv4 and IPv6 address for your instance, and you can access them once the migration completes. When your instance enters the migration queue, new IP addresses are reserved and you can see them in your instance's **Networking** detail page. See the [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide to learn how to access Networking information in Cloud Manager. - -- **DNS records need to be updated**. You need to update DNS records with the new IP address once migrated. If you're hosting your DNS with us, this can be done through the [DNS Manager](/docs/products/networking/dns-manager/), while [rDNS](/docs/products/compute/compute-instances/guides/configure-rdns/) can be configured directly on each Compute Instance's Networking detail page. - - {{< note >}} - If any DNS records are in use, the software using them won't be able to connect during or after the migration. After the migration, you need to make the necessary changes to the DNS, and they need to propagate. - {{< /note >}} - -- **Existing Backups can't be migrated**. Any [Linode Backup Service](/docs/products/storage/backups/) backup you have scheduled during the migration is skipped. Once the migration completes, Cloud Manager restarts your backup service on its normal schedule. - -- **Block Storage volumes can't be migrated to other data centers**. If you have a Block Storage volume attached to your Compute Instance, the migration detaches it as it begins. See our [Transfer Block Storage Data between Data Centers](/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/) guide to learn how to transfer a Block Storage volume's data between data centers. - -- **Services need to be supported in the target data center**. If the Compute Instance is using IPv6 pools, VLANs, or other features that have not yet been deployed to all data centers, the destination data center needs to support these features, too. Any non-supported service is stripped from the migrated Compute Instance. - -- **There is downtime during the migration**. Data transfer requires some time. This downtime varies, based on your total disk size and the speeds expected between each data center. Before the migration, Cloud Manager displays a calculated estimate for this downtime in the "Caution" message. - -- **Pricing can vary between data centers**. In some newer data centers, services and network transfer are billed at separate rates due to higher region-based infrastructure costs. Before you migrate from one region to another, confirm any applicable price differences. See our [Pricing](https://www.linode.com/pricing/) page for a list of pricing and plan options. - -- **Migration removes a compute instance from a placement group**. A [placement group](/docs/products/compute/compute-instances/guides/placement-groups/) needs to exist in a specific data center, and its member compute instances need to be in that *same data center*. If the target data center supports them, you can select to create a new placement group during the migration set up. - -## Migrate to a New Data Center - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click on the **Linodes** link in the sidebar. - -1. Locate the Compute Instance within the **Linodes** table, click the corresponding **More Options** ellipsis menu, and select *Migrate* to open the **Migrate Linode** form. - - ![How to initiate a cross data center migration.](linode-list-migrate-action.png "How to initiate a cross data center migration.") - - This same menu also appears within each individual Compute Instance's dashboard page. - -3. In **Migrate Linode** form, review the details of the migration and check the **Accept** box to agree to these conditions and expectations. - -1. Under **Configure Migration**, select the destination **Region** for the migration. - -1. Click **Enter Migration Queue**. You can monitor the progress of your migration from the list of Compute Instances and the Compute Instance's dashboard. Cloud Manager returns your instance to its previous state (powered on or off) once the migration completes. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/migrate-to-different-dc/linode-list-migrate-action.png b/docs/products/compute/compute-instances/guides/migrate-to-different-dc/linode-list-migrate-action.png deleted file mode 100644 index 6d989054931..00000000000 Binary files a/docs/products/compute/compute-instances/guides/migrate-to-different-dc/linode-list-migrate-action.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/edit-configuration-menu-small.png b/docs/products/compute/compute-instances/guides/monitor-and-maintain/edit-configuration-menu-small.png deleted file mode 100644 index 87c023ad6e8..00000000000 Binary files a/docs/products/compute/compute-instances/guides/monitor-and-maintain/edit-configuration-menu-small.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/edit-configuration-menu.png b/docs/products/compute/compute-instances/guides/monitor-and-maintain/edit-configuration-menu.png deleted file mode 100644 index 4175a59652f..00000000000 Binary files a/docs/products/compute/compute-instances/guides/monitor-and-maintain/edit-configuration-menu.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/index.md b/docs/products/compute/compute-instances/guides/monitor-and-maintain/index.md deleted file mode 100644 index 74ffc3140f4..00000000000 --- a/docs/products/compute/compute-instances/guides/monitor-and-maintain/index.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -title: "Monitor and Maintain a Compute Instance" -description: "This guide introduces concepts and tools for monitoring and maintaining your server." -published: 2012-08-22 -modified: 2024-03-11 -keywords: ["lassie", "monitor", "monitoring", "maintaining", "maintenance"] -tags: ["cloud manager","monitoring","linode platform"] -image: monitor-and-maintain-your-server.png -aliases: ['/uptime/monitoring/monitoring-and-maintaining-your-server/','/uptime/monitoring-and-maintaining-your-server-classic-manager/','/uptime/monitoring-and-maintaining-your-server-new-manager/','/uptime/monitoring-and-maintaining-your-server/','/monitoring-and-maintaining/','/guides/monitoring-and-maintaining-your-server/','/guides/monitor-and-maintain-compute-instance/'] ---- - -Once you have a Compute Instance up and running, it's time to think about monitoring and maintaining your server. This guide introduces the essential tools and skills you'll need to keep your server up to date and minimize downtime. You'll learn how to monitor the availability and performance of your system, manage your logs, and update your server's software. - -## Availability Monitoring - -The *availability* of your servers, and the websites and web applications you host on them, can be critically important. If you generate income from a blog or charge subscription fees for your web application, downtime can have a severe impact on your bottom line. Using an availability monitoring tool can help you rapidly detect and resolve service disruptions, thereby mitigating the impact on your websites and web applications. - -### Assess Your Needs - -Not everyone needs to monitor the availability of their server. For example, if you use your Compute Instance to host a personal picture gallery website for friends and family, the occasional service interruption probably won't bother you. The small inconvenience of your website going offline for a few minutes doesn't justify the time it would take to set up and configure an availability monitoring tool. - -If you depend on your website or web application for your livelihood, an availability monitoring tool is practically a necessity. Once set up, the tool actively watches your servers and services and alerts you when they're unavailable. You'll be able to troubleshoot the problem and restore service as quickly as possible. - -Whether you use one Compute Instance or dozens of them, mission-critical servers and services should be watched by an independent monitoring tool that can keep tabs on their availability. The tool should have an automated method of detecting service-related incidents and be able to notify you via email, text message, or SMS. That way you'll know that a server or service is down within minutes of it having failed. - -### Find the Right Tool - -There are several different availability monitoring tools available. Your decision should be based on how many servers you'll be monitoring: - -- **Multiple Servers**: If you run more than one server, the [Elastic Stack](/docs/guides/visualize-apache-web-server-logs-using-elastic-stack-on-debian-8/) is an excellent monitoring tool. -- **Single Server**: If you only run a single server, you might want to use a third-party service to monitor your Compute Instance. You could also use a network diagnostic tool like [MTR](/docs/guides/diagnosing-network-issues-with-mtr/) to diagnose and isolate networking errors. -- **Linode Managed**: The [Managed](https://www.linode.com/managed) service lets Linode manage your infrastructure and provides incident response around the clock. - -### Configure Shutdown Watchdog (Lassie) - -Shutdown Watchdog, also known as *Lassie*, is a Cloud Manager feature capable of automatically rebooting your Compute Instance if it powers off unexpectedly. Lassie is not technically an availability monitoring tool, but it can help get your instance back online fast if it's accidentally powered off. - -To turn Lassie on and off, see the [Recover from Unexpected Shutdowns with Lassie (Shutdown Watchdog)](/docs/guides/lassie-shutdown-watchdog/#enable-or-disable-shutdown-watchdog) guide. Once Lassie is enabled, your Linode will automatically reboot if it is unexpectedly powered off in the future. - -## Performance Monitoring - -*Performance* monitoring tools record vital server and service performance metrics. Similar to a vehicle's dashboard, which has gauges for things like speed and oil pressure, performance monitoring tools provide valuable insight into the inner workings of your virtual server. With practice, you'll be able to review this information and determine whether your server is in good health. - -### Cloud Manager - -{{% content "monitoring-cloud-manager-graphs-shortguide" %}} - -### Configure Cloud Manager Email Alerts - -{{% content "monitoring-configure-email-alerts-shortguide" %}} - -### Use Third-Party Tools - -{{% content "monitoring-third-party-tools-shortguide" %}} - -## Linode Managed - -[Linode Managed](https://www.linode.com/managed) is our monitoring service that offers 24x7 incident response, dashboard metrics for your Linodes, free cPanel, and an automatic backup service. If you are running more than one Compute Instance, not all are required to be managed. You can establish separate accounts (e.g., production and development) and monitor only the most critical services running on designated instance(s). Existing customers can sign up for Linode Managed by [contacting support](https://cloud.linode.com/support/tickets). - -## Manage Logs - -Important events that occur on your system — things like login attempts or services being restarted — are recorded in your server's *logs*. Similar to car maintenance records and completed tax forms, which provide a paper trail if a problem or discrepancy occurs, log files keep track of system events. You might review logs when troubleshooting errors, tracking usage, or investigating unusual behavior on your system. - -### Rotate Logs - -As more and more events are logged, the log files on your server get bigger and bigger. Left unchecked, those files can start consuming a surprising amount of disk space. You can mitigate this problem by using [logrotate](/docs/guides/use-logrotate-to-manage-log-files/), a utility that automatically archives and compresses current log files after a certain interval, creates new log files, and deletes old log files after a specified amount of time. - -Use the [logrotate guide](/docs/guides/use-logrotate-to-manage-log-files/) to get started. - -### Monitor System Logs - -It's important to keep an eye on the events recorded in your system logs. But unless you're the type of person who loves scanning through hundreds of lines of log entries, you won't want to open log files unless absolutely necessary. Fortunately, there's an easier way to learn about the most important system events fast. Logwatch is a customizable utility that can automatically parse system logs and email you detailed reports highlighting notable events. - -Use the [Logwatch guide](/docs/guides/logwatch-monitor-system-logs/) to get started. - -## Update Software - -Linux distributions are frequently updated to fix bugs, add new features, and patch security vulnerabilities. To take advantage of the new packages and patches, you'll need to remember to perform some simple steps every once in a while. This section shows you what to do. - -### Update Installed Packages - -You learned about the importance of regularly updating your server's packages in the [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide. If nothing else, installing updates is a fast and easy way to mitigate vulnerabilities on your server. - -To check for software updates and install them in Ubuntu or Debian, enter the following commands, one by one: - -```command -apt-get update -apt-get upgrade --show-upgraded -``` - -{{< note >}} -If you're using a distribution other than Ubuntu or Debian, you can learn more about package management by reading our [Linux Package Management guide](/docs/guides/linux-package-management-overview/). -{{< /note >}} - -There are ways to automate the installation of software updates, but this is not recommended. You should always manually review the lists of available patches before installing updates. - -### Apply Kernel Updates - -When you first sign up for Linode and create a Compute Instance, Cloud Manager automatically creates a [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) that uses either the distribution's system kernel (in most cases) or uses the latest available Linode-supplied kernel. - -If your system is using a Linode-supplied kernel, it's important to know that we [update the kernels](http://www.linode.com/kernels/) as necessary and make them available in Cloud Manager. In most cases, new kernels are automatically selected and, once a new kernel is released, all you have to do is reboot your Compute Instance to start using it. - -To check for a new kernel and start using it on your Compute Instance: - -1. First, check what version kernel your Compute Instance is currently using. Log in to your instance and execute the following command: - - ```command - cat /proc/version - ``` - -1. Examine the output and remember the version number: - - ```output - Linux version 4.15.12-x86_64-linode105 (maker@build.linode.com) (gcc version 4.9.2 (Debian 4.9.2-10+deb8u1)) #1 SMP Thu Mar 22 02:13:40 UTC 2018 - ``` - -1. Log in to [Cloud Manager](https://cloud.linode.com). -1. Click the **Linodes** link in the sidebar. -1. Select your Compute Instance. The instance's details page appears. -1. Select the active configuration profile by clicking the **Edit** link, as shown below. - - ![Selecting the active configuration profile](edit-configuration-menu.png) - -1. From the **Kernel** menu, verify that **GRUB 2** is selected: - - ![Selecting the latest kernel](kernel-menu.png) - -1. If you selected a new kernel, click **Submit**. The instance's dashboard appears. -1. Select **Reboot** from the status menu to reboot your Compute Instance and start using the new kernel. - - ![Reboot your Compute Instance](reboot.png) - -### Upgrade to a New Release - -Linux distributions such as Ubuntu and Fedora use version numbers to identify the individual versions, or *releases*, of the operating system. It's important to know which release your server is running, as releases are usually supported for one or more years. After support for your release is discontinued, you won't be able to download or apply critical security packages, which can put your server at risk. - -There are two ways to upgrade a Compute Instance running an unsupported release. You can upgrade your existing server to the next release, or you can create a new Compute Instance with the newest release available and transfer your files from the old server. See our [Upgrading guides](/docs/security/upgrading) for more information. - -{{< note >}} -Check the distribution's website to learn when support for your release will be discontinued. Ubuntu offers a *long-term support* (LTS) release that is supported for five years. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/kernel-menu.png b/docs/products/compute/compute-instances/guides/monitor-and-maintain/kernel-menu.png deleted file mode 100644 index bbcdb248e44..00000000000 Binary files a/docs/products/compute/compute-instances/guides/monitor-and-maintain/kernel-menu.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/monitor-and-maintain-your-server.png b/docs/products/compute/compute-instances/guides/monitor-and-maintain/monitor-and-maintain-your-server.png deleted file mode 100644 index 6dc8f094dab..00000000000 Binary files a/docs/products/compute/compute-instances/guides/monitor-and-maintain/monitor-and-maintain-your-server.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/monitoring-and-maintaining-your-server.jpg b/docs/products/compute/compute-instances/guides/monitor-and-maintain/monitoring-and-maintaining-your-server.jpg deleted file mode 100644 index a35e8df0ab0..00000000000 Binary files a/docs/products/compute/compute-instances/guides/monitor-and-maintain/monitoring-and-maintaining-your-server.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/monitor-and-maintain/reboot.png b/docs/products/compute/compute-instances/guides/monitor-and-maintain/reboot.png deleted file mode 100644 index 2af86b97bdb..00000000000 Binary files a/docs/products/compute/compute-instances/guides/monitor-and-maintain/reboot.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/multiqueue-nic/NICS.jpg b/docs/products/compute/compute-instances/guides/multiqueue-nic/NICS.jpg deleted file mode 100644 index 69b19fa4567..00000000000 Binary files a/docs/products/compute/compute-instances/guides/multiqueue-nic/NICS.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/multiqueue-nic/index.md b/docs/products/compute/compute-instances/guides/multiqueue-nic/index.md deleted file mode 100644 index 1647813303f..00000000000 --- a/docs/products/compute/compute-instances/guides/multiqueue-nic/index.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: "Configuring Multi-Queue NICs" -title_meta: "How To Configure Multi-Queue NICs" -description: "Configuring multiqueue NICs (Network Interface Controllers) on a Linode to improve networking performance." -published: 2021-07-01 -modified: 2023-03-03 -keywords: ['networking','multi-queue'] -image: NICS.jpg -external_resources: - - '[KVM Multi-Queue documentation and performance](https://www.linux-kvm.org/page/Multiqueue)' - - '[HOWTO for multiqueue network device support](https://www.kernel.org/doc/html/latest/networking/multiqueue.html)' -tags: ["networking","linode platform"] -aliases: ['/guides/multiqueue-nic/'] ---- - -Multi-queue NICs (network interface cards) are supported on all Compute Instances that have 2 or more CPU cores (vCPUs). This feature provides multiple receive (RX) and transmit (TX) queues, assigns them to different network interrupts, and balances them over multiple vCPUs. Historically, this traffic was all handled by a single vCPU core. Depending on the server's workload and network traffic, multi-queue can dramatically enhance network performance. - -**For most Compute Instances deployed after June 2nd, 2021, no action is needed to enable multi-queue NICs**. If your Compute Instance was deployed before that date, a reboot may be required. On older Linux distributions, such as Debian 8 and 9, multi-queue NICs needs to be manually enabled by following the instructions within this guide. - -## Determining if Multi-Queue is Enabled - -Check if multi-queue is already enabled on your network devices by using the [ethtool](https://en.wikipedia.org/wiki/Ethtool) command-line tool. - -1. Review the number of CPU cores (vCPUs) available on your Compute Instance by finding your plan within the [Linode Pricing](https://www.linode.com/pricing/) page or by logging in to [Cloud Manager](https://cloud.linode.com/), selecting your Compute Instance, and reviewing the *CPU Cores* value under **Summary**. - -1. Log in to your Compute Instance through [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/). - -1. Install the `ethtool` utility if not already installed. - - **Ubuntu and Debian:** - - ```command - sudo apt-get update - sudo apt-get install ethtool - ``` - - **Fedora, CentOS, and other RHEL-derivatives, such as AlmaLinux and Rocky Linux:** - - ```command - sudo yum install ethtool - ``` - -1. Run the following command, replacing *eth0* if you've configured a network device other than *eth0*. - - ```command - ethtool -l eth0 - ``` - - This should result in output similar to the following: - - ```output - Channel parameters for eth0: - Pre-set maximums: - RX: 0 - TX: 0 - Other: 0 - Combined: 8 - Current hardware settings: - RX: 0 - TX: 0 - Other: 0 - Combined: 2 - ``` - -1. In the output above, locate the **Combined** value under the **Current hardware settings** section. This indicates the number of queues that are in effect. If multi-queue is fully enabled, this value should equal the number of vCPUs equipped on your Compute Instance (which is determined by your instance plan and type). - -## Enabling Multi-Queue on Network Devices - -If multi-queue is not enabled and a reboot did not automatically enable it, you can manually enable this feature through the following instructions. - -1. Review the number of vCPU cores available on your Compute Instance by finding your plan within the [Linode Pricing](https://www.linode.com/pricing/) page or by logging in to [Cloud Manager](https://cloud.linode.com/), selecting your Compute Instance, and reviewing the *CPU Cores* value under **Summary**. - -1. Run the following command to enable multiple queues, replacing *[cpu-count]* with the number of vCPUs on your Compute Instance. - - ```command - ethtool -L eth0 combined [cpu-count] - ``` - -1. Verify that the feature is enabled by again following the instructions within the [Determining if Multi-Queue is Enabled](#determining-if-multi-queue-is-enabled) section above. - -## Disabling Multi-Queue on Network Devices - -If you start to see performance issues, such as CPU spikes related to network traffic that impact other software on your server, you can disable multi-queue NICs if desired. - -1. Run the following command on your Compute Instance to disable multiple queues: - - ```command - ethtool -L eth0 combined 1 - ``` - -1. Verify that the feature is disabled by following the instructions within the [Determining if Multi-Queue is Enabled](#determining-if-multi-queue-is-enabled) section above. - -## Installing irqbalance - -While network interrupts will be balanced across all vCPUs once multi-queue NICs are enabled, you may want to also install the [irqbalance](https://github.com/Irqbalance/irqbalance) utility if you have familiarity using it or wish to have additional configuration options. This additional utility is **not required** and, in our workloads, we did not notice a difference in performance. - -To install irqbalance, run the following commands on your Compute Instance: - -**Ubuntu and Debian:** - -```command -sudo apt-get update -sudo apt-get install irqbalance -``` - -**Fedora, CentOS, and other RHEL-derivatives, such as AlmaLinux and Rocky Linux:** - -```command -sudo yum install irqbalance -``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/netplan/index.md b/docs/products/compute/compute-instances/guides/netplan/index.md deleted file mode 100644 index f95c9e399d0..00000000000 --- a/docs/products/compute/compute-instances/guides/netplan/index.md +++ /dev/null @@ -1,231 +0,0 @@ ---- -title: "Network Configuration Using Netplan" -description: "Learn how to manually configure your Compute Instance’s networking using the netplan utility on Ubuntu 18.04 and newer." -published: 2023-09-12 -keywords: ['netplan','network configuration','ip address'] -license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -external_resources: -- '[Netplan Documentation](https://netplan.readthedocs.io/en/stable/)' ---- - -[Netplan](https://netplan.io/) is a utility designed to make network configurations easier and more descriptive. It operates on Ubuntu 18.04 (and newer) and works by abstracting lower level configurations in [systemd-networkd](/docs/products/compute/compute-instances/guides/systemd-networkd/) and [NetworkManager](/docs/products/compute/compute-instances/guides/networkmanager/). Create a YAML file describing your desired network setup and Netplan implements the necessary back-end configurations to realize it. - -{{< note >}} -This guide serves as a supplement to the main [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. Please review that guide before making any configuration changes to your Compute Instance. -{{< /note >}} - -{{< note type="warning" >}} -By default, Linode's Network Helper tool manages networking in Ubuntu using systemd-networkd directly instead of Ubuntu's Netplan management tool. To start using Netplan, you must first remove the default systemd-networkd configuration file. This command is provided below and also included within the [Configuring IP Addresses Manually](#configuring-ip-addresses-manually) section. - -```command -sudo rm /etc/systemd/network/05-eth0.network -``` -{{< /note >}} - -## Configuration Files - -The following details show where and how Netplan's configuration files operate: - -- **File extension**: `.yaml` - -- **File location**: `/etc/netplan/` - -- **Naming convention**: `[priority]-[name].yaml`, with *[priority]* being a two-digit number (`01` through `99`) defines file ordering (processed in alpha-numeric order) and with *[name]* being a short, descriptive title - -- **Default configuration file**: `/etc/netplan/01-netcfg.yaml` - -## Starter Configuration - -To get a sense of how Netplan's configuration files operate, here is a starter configuration file. A breakdown of the file follows, elaborating on each part's role. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -network: - version: 2 - renderer: networkd - ethernets: - eth0: - dhcp4: yes - accept-ra: yes - ipv6-privacy: no -``` - -- `version`: Indicates the configuration format. The only option currently supported is `2`. - -- `renderer`: Defines which underlying network configuration tool to use, either `networkd` or `NetworkManager`. The default is `networkd`. - -- `ethernets`: Configures physical network interfaces. For more details, review the associated [Properties for device types](https://netplan.readthedocs.io/en/stable/netplan-yaml/#properties-for-device-type-ethernets) section in the official documentation. - - In the default configuration, `eth0` introduces a configuration mapping for the primary Ethernet interface. The only option set in this case indicates that DHCP (`dhcp4`) should be used, enabling dynamic IP address assignment. - -Learn more about the full extent of Netplan's YAML configuration options in the [official documentation](https://netplan.readthedocs.io/en/stable/netplan-yaml/). - -## Configuring IP Addresses Manually - -1. Log in to [Cloud Manager](https://cloud.linode.com/), and review your Compute Instance's IP addresses. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) for assistance. Make a note of the following pieces of information or keep this page accessible so you can reference it later. - - - Public IPv4 address(es) and the associated IPv4 gateway - - - Private IPv4 address (if one has been added) - - - IPv6 SLAAC address and the associated IPv6 gateway - - - IPv6 `/64` or `/56` routed range (if one has been added) - - - DNS resolvers (if you want to use Linode's resolvers) - -1. Disable Network Helper on the Compute Instance so that it doesn't overwrite any of your changes on the next system reboot. For instructions, see the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) guide. This guide covers disabling Network Helper *globally* (for all Compute Instances on your account) or just for a single instance. - -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). You may want to consider using Lish to avoid getting locked out in the case of a configuration error. - -1. Remove the systemd-networkd configuration file that was automatically generated by Network Helper: - - ```command - sudo rm /etc/systemd/network/05-eth0.network - ``` - -1. Perform any necessary configuration steps as outlined in the workflows below. You can edit your network configuration file using a text editor like [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or [vim](/docs/guides/what-is-vi/) with root permissions. - - ```command - sudo nano /etc/netplan/01-netcfg.yaml - ``` - -1. Once you've edited the configuration file to fit your needs, you need to generate matching back-end configurations and apply the changes. To do so, run the follow Netplan commands: - - ```command - sudo netplan generate - sudo netplan apply - ``` - -## Changing the Primary IPv4 Address - -In Netplan, IP address configuration uses the `addresses` option beneath the interface. So, to change the primary IPv4 address on `eth0` to a static IP address, you can use the following approach: - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - addresses: - - [ip-address]/[prefix] - routes: - - to: default - via: [gateway-ip] -``` - -Each `addresses` entry takes an IP address along with the subnet prefix length. In addition, you also need to add a route to the gateway. - -- **[ip-address]**: The IP address to be statically configured. The address can be IPv4 (e.g `192.0.2.2`) or IPv6, as shown in the [Configuring Additional IPv6 Addresses](/docs/products/compute/compute-instances/guides/netplan/#configuring-additional-ipv6-addresses) section further below. - -- **[prefix]**: The subnet prefix for the address. This depends on the type of IPv4 address you are adding: - - - Public IPv4 addresses: `/24` - - - Private IPv4 addresses: `/17` - -- **[gateway-ip]**: The IPv4 address of the gateway corresponding to the primary IPv4 address on your instance. - -## Configuring the Primary IPv4 Address through DHCP - -With DHCP, your instance's primary IPv4 address is configured automatically. The primary IPv4 address is the first IPv4 address assigned to your system when sorted numerically. - -The default Netplan configuration file shows how to enable DHCP on an interface. Include the `dhcp4` option with a value of `yes`, and remove any `addresses` lines that define static IP addresses, like the one shown in the section above. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - dhcp4: yes -``` - -{{< note type="warning" >}} -When using DHCP, the IPv4 address configured on your system may change if you add or remove IPv4 addresses on this instance from Cloud Manager, Linode CLI, or Linode API. If this happens, any tool or system using the original IPv4 address is no longer able to connect. -{{< /note >}} - -## Configuring Additional IPv4 Addresses - -You can configure additional IPv4 addresses within Netplan by adding them to the `addresses` list/array. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - addresses: - - 192.0.2.17/24 - - [ip-address]/[prefix] - routes: - - to: default - via: 192.0.2.1 -``` - -Replace *[ip-address]* with the additional IPv4 address and *[prefix]* with either `24` for public addresses or `17` for private addresses. To learn more, see the [Changing the Primary IPv4 Address](#changing-the-primary-ipv4-address) section above. - -## Configuring the Primary IPv6 Address through SLAAC - -Your primary IPv6 address can be configured automatically through SLAAC. To do so, your Netplan configuration needs to allow router advertisements and disable IPv6 privacy extensions. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - accept-ra: yes - ipv6-privacy: no -``` - -Conversely, you can disable IPv6 SLAAC addressing and, instead, statically configure your IPv6 address, though doing so is not recommended. For this, disable router advertisements and add your primary IPv6 address with the `/128` subnet prefix, as detailed in the next section. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - accept-ra: no - addresses: - - 2001:db8:e001:1b8c::3/128 -``` - -## Configuring Additional IPv6 Addresses - -You can configure additional IPv6 addresses similar to as you would IPv4 addresses, by adding `addresses` entries beneath the interface. The one main difference is that IPv6 addresses (and their associated prefixes) should be surrounded by quotation marks. In addition, the default gateway for all IPv6 addresses should be `fe80::1`. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - addresses: - - "[ip-address]/[prefix]" - routes: - - to: default - via: "fe80::1" -``` - -Each `addresses` entry consists of two parts: the IP address and the subnet prefix. For an IPv6 address, that breaks down as follows: - -- **[ip-address]**: The IP address to be statically configured. The address can be IPv6 (e.g., `2001:db8:e001:1b8c::2`) or IPv4 as shown further above. - -- **[prefix]**: The subnet prefix for the address. This depends on the type of IPv6 address you are adding: - - - IPv6 SLAAC address: `/128` (though it is recommended to configure this automatically through SLAAC, as shown in the previous section). - - - IPv6 address from a range: `/64` or `/56` (depending on the size of the range). - -A similar break down is given specifically for IPv4 addresses in the [Configuring Additional IPv4 Addresses](/docs/products/compute/compute-instances/guides/netplan/#configuring-additional-ipv4-addresses) section further above. - -## Changing the DNS Resolvers - -DNS resolvers ensure that domain names are matched to their corresponding IP addresses. By default, each Compute Instance uses DNS resolvers specific to the data center in which the instance resides. - -You can alter the DNS resolvers within Netplan using the `nameservers` option. Use an `addresses` list under that option to enter the IP addresses of the DNS resolvers you wish to use. Both IPv4 and IPv6 addresses can be used. - -The configuration example below includes additional options that are necessary if you want to define custom DNS resolvers while retaining DHCP. The `dhcp4` option enables DHCP dynamic IP address assignment, while the `use-dns` under `dhcp4-overrides` ensures that the DHCP does not override your custom DNS resolvers. - -```file {title="/etc/netplan/01-netcfg.yaml" lang="yaml"} -... - ethernets: - eth0: - dhcp4: yes - dhcp4-overrides: - use-dns: no - nameservers: - addresses: - - 203.0.113.1 - - 203.0.113.2 - - 203.0.113.3 -``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/network-helper/account-settings.png b/docs/products/compute/compute-instances/guides/network-helper/account-settings.png deleted file mode 100644 index 1f4f3af1df6..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/account-settings.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/index.md b/docs/products/compute/compute-instances/guides/network-helper/index.md deleted file mode 100644 index cc3d1d3490d..00000000000 --- a/docs/products/compute/compute-instances/guides/network-helper/index.md +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: "Automatically Configure Networking on Compute Instances with Network Helper" -title_meta: "Automatically Configure Networking on Linode" -description: 'This guide introduces you to Network Helper, a host-side service which automatically sets a static IPv4 address and gateway when your Linode is being provisioned.' -published: 2014-12-08 -modified: 2022-07-12 -keywords: ["network helper", "auto-configure","networking"] -tags: ["linode platform","networking","cloud manager"] -aliases: ['/platform/network-helper-classic-manager/','/platform/network-helper/','/platform/network-helper-new-manager/','/guides/network-helper/'] -image: network-helper-title-graphic.jpg ---- - -## Overview - -Network Helper is an optional tool that makes network configuration easier on Compute Instances. It automatically adjusts the appropriate internal network configuration files for your distribution during each system boot. This enables you to start using (and connecting to) your instance right away, without needing to manually configure these files yourself. - -Network Helper automatically configures the following network settings: - -- Statically configures all assigned IPv4 addresses (public and private) -- Statically configures the IPv4 gateway -- Adds settings to enable IPv6 assignment through SLAAC -- Adds Linode's DNS resolvers - -## Use Cases - -For most common use cases, it is recommended to enable Network Helper. Here are some scenarios in which Network Helper automatically configures networking: - -- Deploying a Compute Instance -- Adding a public or private IPv4 address -- Restoring from a backup -- Migrating to a different data center -- Cloning from another instance - -However, there are some advanced use cases that require Network Helper to be disabled so that you can manually configure networking yourself: - -- Installing a custom distribution on a Compute Instance -- Configuring failover -- Configuring addresses from an IPv6 routed range -- Using other DNS resolvers (not Linode's) -- Other advanced use cases where custom network configuration is required - -{{< note type="alert" >}} -If you choose to manually edit your network configuration files, Network Helper must be disabled. If enabled, any configuration changes will be overwritten on the next system boot. -{{< /note >}} - -## Enable or Disable Network Helper - -Network Helper can be enabled or disabled for each Compute Instance. There is also a global setting that applies to all *new* Compute Instances. - -### Global (Account-Wide) Setting - -The global Network Helper setting enables or disables Network Helper on *new* Compute Instances. Existing Compute Instances are not affected by any changes to this global setting. When Network Helper is enabled globally, all *new* Compute Instances are created with Network Helper enabled by default. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Account** link on the left sidebar. - -1. Navigate to the **Settings** tab and scroll down to the *Network Helper* section. - -1. Set the **Enabled** switch to the desired setting. Your selection is automatically saved. - - ![Screenshot of the global Network Helper setting](network-helper-global-setting.png) - -### Individual Compute Instance Setting - -Network Helper can also be enabled or disabled on a specific Compute Instance, regardless of the global setting. - -1. Follow the [Editing a Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#edit-a-configuration-profile) instructions. - -1. Within the **Edit Configuration** form, scroll down to the **Filesystem/Boot Helpers** section. - -1. Set the **Auto-configure networking** switch to the desired setting. This toggles Network Helper on or off. - - ![Screenshot of the Auto-configure networking setting](network-helper-setting.png) - -1. Once the setting has been adjusted, click the **Save Changes** button. If you are enabling Network Helper, reboot the Compute Instance so that Network Helper can run and adjust your system's network configuration files. - -## Files Maintained by Network Helper - -Network Helper automatically edits the appropriate network configuration files for the distribution you have installed. Here is a list of the network configuration files that are maintained by Network Helper for each supported distribution. - -- **Alpine:** - - /etc/network/interfaces - /etc/resolv.conf - -- **Arch:** - - /etc/systemd/network/05-eth0.network - -- **CentOS, CentOS Stream, AlmaLinux, and Rocky Linux:** - - /etc/sysconfig/network-scripts/ifcfg-eth0 - -- **Debian:** - - /etc/network/interfaces - /etc/resolv.conf - -- **Fedora:** - - /etc/sysconfig/network-scripts/ifcfg-eth0 - -- **Gentoo:** - - /etc/conf.d/net - /etc/resolv.conf - -- **openSUSE Leap:** - - /etc/sysconfig/network/ifcfg-eth0 - /etc/sysconfig/network/routes - /etc/resolv.conf - -- **Slackware:** - - /etc/rc.d/rc.inet1.conf - /etc/resolv.conf - -- **Ubuntu 16.04 LTS (and earlier)** - - /etc/network/interfaces - /etc/resolv.conf - -- **Ubuntu 18.04 LTS (and later)** - - /etc/systemd/network/05-eth0.network - -## Restore Previous Network Configuration Files - -Network Helper creates backups of the original distribution-supplied configuration file, as well as a backup each time it edits the networking configuration. - -- A copy of the interface and resolver file as the distribution provided it: `.interfaces.linode-orig` and `/etc/.resolv.conf.linode-orig`. Note that Network Helper does not modify `/etc/resolv.conf` on all of our distributions. - -- A copy of the interface and resolver files from the previous boot: `.interfaces.linode-last` and `/etc/.resolv.conf.linode-last`. If you manually changed either of these file before the previous boot, you'll find them saved there. - -Use the following command to restore manual changes made before the previous reboot. Be sure to replace `/etc/network/interfaces` with the network interface file for your distribution from above. - -```command -mv /etc/network/.interfaces.linode-last /etc/network/interfaces -``` \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-global-setting.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-global-setting.png deleted file mode 100644 index 8ad202df42b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-global-setting.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-account-settings-small.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-account-settings-small.png deleted file mode 100644 index 39bc01a5f16..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-account-settings-small.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-account-settings.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-account-settings.png deleted file mode 100644 index 7959226b4ba..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-account-settings.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-config-profile-settings-small.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-config-profile-settings-small.png deleted file mode 100644 index f8faaab35b0..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-config-profile-settings-small.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-config-profile-settings.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-config-profile-settings.png deleted file mode 100644 index 6d6f52337bd..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-config-profile-settings.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-link.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-link.png deleted file mode 100644 index 8ae849443e8..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-link.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-page-small.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-page-small.png deleted file mode 100644 index 036ee1c328b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-page-small.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-page.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-page.png deleted file mode 100644 index 6ae71830163..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-linode-settings-page.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-setting.png b/docs/products/compute/compute-instances/guides/network-helper/network-helper-setting.png deleted file mode 100644 index cb21e1f3dcb..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-setting.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-helper/network-helper-title-graphic.jpg b/docs/products/compute/compute-instances/guides/network-helper/network-helper-title-graphic.jpg deleted file mode 100644 index b349e8d2d73..00000000000 Binary files a/docs/products/compute/compute-instances/guides/network-helper/network-helper-title-graphic.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/index.md b/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/index.md deleted file mode 100644 index 6a9bc446972..00000000000 --- a/docs/products/compute/compute-instances/guides/network-infrastructure-upgrades/index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Upcoming Changes Related to Network Infrastructure Upgrades" -description: "An overview of changes and actions that may be required in advance of upgrades to Linode's networking infrastructure." -published: 2022-07-19 -modified: 2024-01-03 -keywords: ['networking'] -aliases: ['/guides/network-infrastructure-upgrades/'] ---- - -Linode is rolling out networking infrastructure upgrades to all of our existing data centers. These upgrades increase the stability and resiliency of our already reliable network. It also enables us to bring features, such as VLAN and IP Sharing, to every data center. - -For most customers, these upgrades are performed seamlessly behind the scenes. For customers that use certain features, such as IP Sharing and /116 IPv6 pools, there may be some changes that impact your current configuration. This document outlines what is changing, what data centers are impacted, and what, if anything, you may need to do in order to prepare for these upcoming changes. - -## What's New? - -- **IP Sharing (IP failover) availability:** The IP Sharing feature, as it exists before these upgrades, enables IP failover for public IPv4 addresses in select data centers. After the upgrades have been completed, this feature will be expanded to all data centers and will also support IPv6 routed ranges (/64 and /56). See our [Configuring IP Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide to learn more about configuring IP failover. - -- **VLAN availability:** [VLANs](/docs/products/networking/vlans/), which enable private layer 2 networking, will be launched across all data centers soon after the network upgrades have occurred. - -## What's Changing? - -The following is a list of breaking changes and any action that may be required if you are impacted by that change: - -- **Deprecation of IPv6 /116 pools:** /116 pools will no longer be provided to new Compute Instances. Existing /116 pools will be removed from Compute Instances when data center is undergoing upgrades. - - *Action:* If you are using /116 for IPv6 failover, consider using an IPv6 /64 instead. - -- **IP failover through BGP:** IP failover (IP Sharing) for public IPv4 addresses and IPv6 routed ranges will be facilitated through BGP instead of ARP (configured through [keepalived](/docs/products/compute/compute-instances/guides/failover-legacy-keepalived/)). - - *Action:* If you have previously configured IP failover for a public IPv4 address, review the [Configuring IP Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide to learn more about configuring IP failover using BGP. You can configure BGP ahead of time, but will not be able to test or use the configuration until after the network upgrades have been completed. - -## Which Data Centers Have Been Upgraded? - -Review the table below to learn which data centers have been upgraded with the latest network enhancements. This table covers the regions that existed at the start of this initiative. If a region is not listed, it was launched after this initiative began and, as such, already has the relevant network upgrades. - -| Data center | Upgrade Status | -| -- | -- | -| **Atlanta (Georgia, USA)** | **Complete** | -| **Dallas (Texas, USA)** | **Complete** | -| **Frankfurt (Germany)** | **Complete** | -| Fremont (California, USA) | *Undergoing network upgrades* | -| **London (United Kingdom)** | **Complete** | -| **Mumbai (India)** | **Complete** | -| **Newark (New Jersey, USA)** | **Complete** | -| **Singapore** | **Complete** | -| **Sydney (Australia)** | **Complete** | -| **Tokyo (Japan)** | **Complete** | -| **Toronto (Canada)** | **Complete** | - -A status of **complete** indicates that all new Compute Instances (and *most* existing instances) are located on fully upgraded hardware. Compute Instances using legacy features, such as ARP-based failover and /116 ranges, may still be located on hardware that hasn't yet been upgraded. These customers have been notified and a migration timeline has been shared. - -{{< note >}} -If a data center is marked as *undergoing network upgrades*, customers may encounter issues enabling IP Sharing and configuring failover. For Compute Instances that already have IP Sharing enabled, this feature should still function as intended. Once the network upgrades are completed, IP Sharing will be supported through the new method (BGP). See [Configuring IP Failover](/docs/products/compute/compute-instances/guides/failover/). -{{< /note >}} - -## What Action is Required? - -- **Migration of Compute Instances:** Once a data center has started the network infrastructure upgrades, live migrations are scheduled for all Compute Instances that do not reside on upgraded hardware. This live migration occurs while your Compute Instance is powered on and operating normally. Immediately following a successful live migration, there may be a small amount of packet loss as traffic is routed to the newer hardware. - - {{< note type="warning" title="Important" >}} - If a live migration is not possible, a cold migration is scheduled instead. During a cold migration, the Compute Instance is powered off while its data is migrated to newer hardware. This results in downtime unless your application is configured to fail over to another Compute Instance or server. If a Compute Instance requires a cold migration, the account owner will receive a ticket from the Support team outlining this process and the scheduled migration date. - {{< /note >}} - -- **Update IP failover configuration:** If you have configured IP failover for a public IPv4 address, review the [Configuring IP Failover on a Compute Instance](/docs/products/compute/compute-instances/guides/failover/) guide to learn more about configuring IP failover using BGP. If you were using a now deprecated IPv6 /116 pool for IP failover, consider using an IPv6 /64 range instead. You can configure BGP ahead of time, but will not be able to test or use the configuration until after your Compute Instances are migrated to upgraded hardware. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/networkmanager/index.md b/docs/products/compute/compute-instances/guides/networkmanager/index.md deleted file mode 100644 index 6bc35f8233f..00000000000 --- a/docs/products/compute/compute-instances/guides/networkmanager/index.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: "Network Configuration Using NetworkManager" -description: "Learn how to configure networking using the NetworkManager utility on CentOS, CentOS Stream, Fedora, and other modern Linux distributions" -published: 2022-05-27 -keywords: ["static", "ip address","NetworkManager"] -tags: ["networking","linode platform"] -external_resources: - - '[NetworkManager documentation](https://networkmanager.dev/docs/api/latest/NetworkManager.conf.html)' -aliases: ['/guides/networkmanager/'] ---- - -[NetworkManager](https://networkmanager.dev/) is a very popular network configuration utility and is used by default on Fedora, CentOS Stream, CentOS, AlmaLinux 8, and Rocky Linux 8. It can also be easily installed on Arch, Ubuntu, and other distributions. - -{{< note >}} -This guide serves as a supplement to the main [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. Please review that guide before making any configuration changes to your Compute Instance. -{{< /note >}} - -## Configuration Files - -Most distributions that use NetworkManager enable the ifcfg-rh plugin be default, which allows NetworkManager to use the older *ifcfg* configuration file format. NetworkManager also supports its own native *keyfile* format. By default, [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) uses the *ifcfg* format, so that is what this guide covers. - -- **File location:** `/etc/sysconfig/network-scripts/` -- **Naming convention:** `ifcfg-[interface]`, replacing *[interface]* with the name of the interface you wish to configure. -- **Default configuration file:** `/etc/sysconfig/network-scripts/ifcfg-eth0` - -## Starter Configuration - -Here is an example of a typical configuration file for NetworkManager. It statically defines the IPv4 address and allows SLAAC to configure the IPv6 address. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -DEVICE="eth0" -NAME="eth0" -ONBOOT="yes" - -BOOTPROTO="none" - -IPV6INIT="yes" -IPV6_ADDR_GEN_MODE="eui64" -IPV6_PRIVACY="no" - -PEERDNS="no" - -DOMAIN=ip.linodeusercontent.com - -DNS1=203.0.113.1 -DNS2=203.0.113.2 -DNS3=203.0.113.3 - -GATEWAY0=192.0.2.1 -IPADDR0=192.0.2.123 -PREFIX0=24 -``` - -## Configuring IP Addresses Manually - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and review your Compute Instance's IP addresses. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make a note of the following pieces of information or keep this page accessible so you can reference it later. - - - Public IPv4 address(es) and the associated IPv4 gateway - - Private IPv4 address (if one has been added) - - IPv6 SLAAC address and the associated IPv6 gateway - - IPv6 /64 or /56 routed range (if one has been added) - - DNS resolvers (if you want to use Linode's resolvers) - -1. Disable Network Helper on the Compute Instance so that it doesn't overwrite any of your changes on the next system reboot. For instructions, see the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) guide. This guide covers disabling Network Helper *globally* (for all Compute Instances on your account) or just for a single instance. - -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). You may want to consider using Lish to avoid getting locked out in the case of a configuration error. - -1. Perform any necessary configuration steps as outlined in the workflows below. You can edit your network configuration file using a text editor like [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or [vim](/docs/guides/what-is-vi/). - - ```command - sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0 - ``` - -1. Once you've edited the configuration file to fit your needs, you need to apply the changes or reboot the Compute Instance. To apply your changes with NetworkManager, run the following commands: - - ```command - sudo nmcli connection reload - sudo nmcli connection down eth0 - sudo nmcli connection up eth0 - ``` - -## Changing the Primary IPv4 Address - -To change the main IPv4 address configured on the system, set the `GATEWAY0`, `ADDRESS0`, and `PREFIX0` parameters to match the new IP address and its corresponding gateway IP address. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -GATEWAY0=192.0.2.1 -IPADDR0=192.0.2.123 -PREFIX0=24 -``` - -## Configuring the Primary IPv4 Address through DHCP - -DHCP can be used to automatically configure your primary IPv4 address. The primary IPv4 address is defined as the IPv4 address assigned to your system that is in the first position when sorted numerically. To enable DHCP, set the `BOOTPROTO` parameter to `"dhcp"` and remove (or comment out) the lines that define the `GATEWAY0`, `ADDRESS0`, and `PREFIX0` parameters. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -BOOTPROTO="dhcp" -... -# GATEWAY0=192.0.2.1 -# IPADDR0=192.0.2.123 -# PREFIX0=24 -``` - -{{< note type="alert" >}} -When using DHCP, the IPv4 address configured on your system may change if you add or remove IPv4 addresses on your Compute Instance. If this happens, any tool or system using the original IPv4 address will no longer be able to connect. -{{< /note >}} - -To disable DHCP, set the `BOOTPROTO` parameter back to `"none"`. - -## Configuring Additional IPv4 Addresses - -Additional IPv4 addresses can be configured by adding the `IPADDRn` and `PREFIXn` parameters, where *n* is an incrementing number based on how many other IPv4 address you have configured (starting at `0` for the primary address). For instance, to add a second IPv4 address, use the parameters `IPADDR1` and `PREFIX1`. For a third address, use `IPADDR2` and `PREFIX2`. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -IPADDR1=[ip-address] -PREFIX1=[prefix] -``` - -In the example above, make the following replacements: - -- **[ip-address]**: The IPv4 address that you wish to statically configure. -- **[prefix]**: The prefix is based on the type of IP address you are adding. It should be `24` for public IPv4 addresses and `17` for private IPv4 addresses. - -## Configuring the Primary IPv6 Address through SLAAC - -SLAAC is used to automatically configure your primary IPv6 address. For this to work, your system must accept router advertisements. You also may need to disable IPv6 privacy extensions. Within NetworkManager, you can set `IPV6INIT` to `yes`, `IPV6_ADDR_GEN_MODE` to `eui64`, and `IPV6_PRIVACY` to `no`. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -IPV6INIT="yes" -IPV6_ADDR_GEN_MODE="eui64" -``` - -If you wish to disable IPv6 SLAAC addressing and instead statically configure your IPv6 address (not recommended), you can explicitly set the `net.ipv6.conf.eth0.autoconf` kernel variable to `0` in the `/etc/sysctl.conf` file and then reboot your Compute Instance - -```file {title="/etc/sysctl.conf"} -... -net.ipv6.conf.all.autoconf=0 -``` - -Then modify the network configuration file to disable auto-configuration and statically set your IPv6 address (using the prefix of `/128`). - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -IPV6INIT="yes" -IPV6_AUTOCONF="no" -# IPV6_ADDR_GEN_MODE="eui64" -# IPV6_PRIVACY="no" - -IPV6ADDR=[ip-address]/128 -IPV6_DEFAULTGW=fe80::1 -``` - -## Configuring Additional IPv6 Addresses - -If you have an IPv6 range assigned to your Compute Instance, addresses from this range can be configured through the `IPV6ADDR_SECONDARIES` parameter. This accepts a list of space delimited IPv6 addresses. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -IPV6ADDR_SECONDARIES="[ip-address]/[prefix]" -``` - -In the example above, make the following replacements: - -- **[ip-address]**: The IPv6 address that you wish to statically configure. You can choose any address within your available range. For example, within the range *2001:db8:e001:1b8c::/64*, the address `2001:db8:e001:1b8c::1` can be used. -- **[prefix]**: The prefix should either be `64` or `56` (depending on the size of your IPv6 range) - -## Changing the DNS Resolvers - -DNS resolvers are the entities that resolve domain names to their corresponding IPv4 address. By default, the Compute Instance should be using the DNS resolvers for the data center in which it resides. You can change these by setting the `DNS` parameter to a space delimited list of the IP addresses for your preferred DNS resolvers. - -```file {title="/etc/sysconfig/network-scripts/ifcfg-eth0"} -... -DNS1=203.0.113.1 -DNS2=203.0.113.2 -DNS3=203.0.113.3 -``` - -In the above example, replace the IP addresses provided with the IP addresses of the DNS resolvers you wish to use. Both IPv4 and IPv6 addresses can be used together. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/package-mirrors/index.md b/docs/products/compute/compute-instances/guides/package-mirrors/index.md deleted file mode 100644 index f5742a289a4..00000000000 --- a/docs/products/compute/compute-instances/guides/package-mirrors/index.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: Package Mirrors -description: 'Linode offers public package mirrors for Ubuntu, Debian, and CentOS. This guide provides you with instructions on how to mirror those package repositories. ' -published: 2014-02-11 -modified: 2023-03-14 -keywords: ["package", "mirrors", "linode", "repository", "Debian", "Ubuntu", "CentOS", "yum", "apt-get"] -tags: ["linode platform"] -image: package_mirrors_smg.png -aliases: ['/package-mirrors/','/platform/package-mirrors/','/guides/package-mirrors/'] ---- - -Linode offers public package mirrors for Ubuntu, Debian, and CentOS. When you install updates and new packages, you must download them from package mirrors. The primary advantage of using the Linode package mirrors versus other public package mirrors is speed. - -Linode package mirrors are available in all of our data centers. The mirrors can be found at: - -- -- -- -- -- -- -- -- -- -- -- - - -## Package Mirror Settings - -For best performance, you will want to use the mirror in the same data center as your Compute Instance. When using the Linode DNS resolvers, **mirrors.linode.com** will resolve to the mirror within the same data center. For public queries, mirrors.linode.com will return a round robin of the US locations. - -Instructions for setting the package mirror location are provided in the following subsections. - -### Ubuntu System Settings - -For a Ubuntu system follow the instructions below: - -1. Edit the `sources.list` file with the following command: - - ```command - sudo nano /etc/apt/sources.list - ``` - -1. Replace the line containing the address with the new address location: - - ```command - http://mirrors.linode.com/ubuntu/ - ``` - -1. Do not modify lines containing the address . These lines contain security updates for packages. - -1. Save and exit the `sources.list` file. - -### Debian System Settings - -For a Debian system follow the instructions below: - -1. Edit the `sources.list` file with the following command: - - ```command - sudo nano /etc/apt/sources.list - ``` - -1. Replace the line containing the address with the new address location: - - ```command - http://mirrors.linode.com/debian/ - ``` - -1. Do not modify lines containing the address . These lines contains security updates for packages. - -1. Save and exit the `sources.list` file. - -### CentOS System Settings - -For a CentOS system follow the instructions below: - -1. By default, `yum` will try using fastest mirror available. This need to be disabled to use Linode's mirror. Edit the `fastestmirror.conf` file with the following command: - - ```command - sudo nano /etc/yum/pluginconf.d/fastestmirror.conf - ``` - -1. Change the `enabled=` variable to **0**: - - ```file {title="/etc/yum/pluginconf.d/fastestmirror.conf"} - ... - enabled=0 - ... - ``` - -1. Save and exit the `fastestmirror.conf` file. - -1. Edit the `CentOS-Base.repo` file with the following command: - - ```command - sudo nano /etc/yum.repos.d/CentOS-Base.repo - ``` - -1. Comment each `mirrorlist` line by adding the **\#** sign before each line. - -1. Uncomment each `baseurl` line by removing the **\#** sign before each line. - -1. Edit all `baseurl` lines containing the address http://mirror.centos.org/centos/$releasever/os/$basearch/ to reflect the new address location: - - ```command - http://mirrors.linode.com/centos/$releasever/os/$basearch/ - ``` - -1. Save and exit the `CentOS-Base.repo` file. diff --git a/docs/products/compute/compute-instances/guides/package-mirrors/package_mirrors_smg.png b/docs/products/compute/compute-instances/guides/package-mirrors/package_mirrors_smg.png deleted file mode 100644 index 20a9f83f3a0..00000000000 Binary files a/docs/products/compute/compute-instances/guides/package-mirrors/package_mirrors_smg.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/placement-groups/index.md b/docs/products/compute/compute-instances/guides/placement-groups/index.md deleted file mode 100644 index 423aa2ee9c4..00000000000 --- a/docs/products/compute/compute-instances/guides/placement-groups/index.md +++ /dev/null @@ -1,224 +0,0 @@ ---- -title: "Work with Placement Groups" -description: "Learn how to group your compute instances to best meet your delivery model." -published: 2024-06-20 -modified: 2024-07-30 -keywords: ["placement-group", "affinity", "compliance"] ---- - -When you deploy several compute instances in one of our compute regions, they’re allocated to physical machines (“hosts”) with available resources. However, depending on your workload requirements, you may need your compute instances to follow specific strategies: - -- **Grouped-together**. You may want them placed close together to reduce latency between compute instances that are used for an application or workload. - -- **Spread apart**. You may want to disperse them across several hosts to support high-availability, for example when required for fail-over. - -Placement groups disperse your compute instances across hosts in a region to meet either of these models. - -## Overview - -Setting up a placement group is a simple process using Cloud Manager, the Linode API, or our CLI. Create a new group in a supported region and add new or existing compute instances from that region to your group. When assigning compute instances to the placement group, we physically place them, based on your desired model. - -## Availability - -Placement Groups is available in all [core compute regions](/docs/products/platform/get-started/guides/choose-a-data-center/#product-availability) that support compute instances. - -{{< note >}} -Currently, placement groups aren't supported in distributed compute regions. -{{< /note >}} - -## Placement groups and compliance - -Review these sections for an understanding of the placement groups concept. - -### Placement group type - -To distribute your compute instances in a placement group, we use industry-recognized placement strategies. When creating a new group, you select from one of two placement group types: - -- **Affinity**. When you assign compute instances to the group, we place them physically close together, possibly on the same host. This supports the grouped-together model and is best for applications that require low-latency. - -- **Anti-affinity**. When you assign compute instances to the group, we place them in separate hosts, but keep them in the same region. This supports the spread-apart model for high-availability. - -{{< note >}} -Currently, only the **Anti-affinity** Placement Group Type is supported. -{{< /note >}} - -### Compliance - -Your placement group is in compliance if all of the compute instances in it currently meet your grouped-together or spread-apart model, based on your selected [placement group type](#placement-group-type). - -- When you create a new placement group and assign compute instances to it, we'll place them as necessary to make sure the group is compliant with your selected placement group type. There's nothing you need to do to apply compliance at this phase. - -- Compliance comes into play when you add more compute instances to your placement group in the future. For example, assume you've set **Anti-affinity** as your placement group type. Your group already has three qualifying compute instances in separate hosts, to support the spread-apart model. If a fourth compute instance is added that's on the _same host_ as one of the existing three, this would make the placement group non-compliant. Compliance at this stage is enforced by your selected placement group policy. - -### Placement group policy - -This determines how we handle requests to add compute instances to your placement group in the future, and whether or not it stays compliant. - -- **Strict (Best practice)**. If a target compute instance breaks the grouped-together or spread-apart model set by your placement group type, it won't be added. Use this to ensure the placement group stays compliant. - -- **Flexible**. A target compute instance will be added even if it breaks the grouped-together or spread-apart model set by your placement group type. This makes the placement group non-compliant. Use this if you need more flexibility to add future compute instances and compliance isn't an immediate concern. - -### Fix non-compliance - -If a placement group becomes non-compliant, we're alerted. We'll move an out-of-compliance compute instance, once the necessary capacity is available in the region. Non-compliance can only be fixed by Akamai staff. **_You can't fix it yourself_**. - -Based on your selected placement group policy, here are the ways a placement group can become non-compliant: - -- **Strict**. There are rare cases when we may need to fail-over or migrate your compute instances for maintenance. - -- **Flexible**. A placement group using this policy can become non-compliant if a compute instance is added from outside of the placement group type's grouped-together or spread-apart model. - -{{< note >}} -Fixing non-compliance for **Strict** placement groups is prioritized over **Flexible** groups. -{{< /note >}} - -## Create a placement group - -Here are a few processes you can follow to create a new placement group and add existing compute instances to it. - -### Use Cloud Manager - -Review these sections to create a new group using Cloud Manager. - -#### Before you begin - -* Review [Placement groups and compliance](#placement-groups-and-compliance) to understand the placement group concept. -* Review the [Technical specifications](#technical-specifications) for details on what's supported. - -#### Creation process - -1. Navigate to the **Placement Groups** page in [Akamai Cloud Manager](http://cloud.linode.com) and click **Create Placement Groups**. The **Create Placement Group** form opens. - -2. Fill out the form with your desired settings: - - - **Label**. Give your placement group an easily recognizable name. - - **Region**. Select the [core compute region](#availability) that includes the compute instances you want to add. - - **Placement Group Type**. Select the [affinity](#placement-group-type) that meets your model. - - **Placement Group Policy**. Pick how you want to [enforce](#placement_group_policy) compliance for your placement group, when adding compute instances to it in the future. - -{{< note >}} -- Currently, only **Anti-affinity** is available for Placement Group Type. -- Once you create your placement group, you *can't change* its Placement Group Policy. -{{< /note >}} - -3. When you're ready, click **Create Placement Group**. A summary of your group is revealed. - -4. Select the **Linodes (0)** tab. - -5. Click **Assign Linode to Placement Group**. The Assign Linodes form opens. - -6. The **Linodes in \** drop-down is auto-populated with eligible compute instances in your selected Region. Pick one to add it and click **Assign Linode**. - -
      - -
      - -7. Review the **Linode limit for this placement group**, and repeat steps 5-6 to add more compute instances, as necessary. - -{{< note >}} -Currently, you’re limited to a maximum of 5 compute instances in a placement group. -{{< /note >}} - -With all your compute instances added, we begin provisioning by moving them into the placement group to meet your selected Placement Group Type. - -### Use the API - -Here, we combine API operations to create a new placement group and add existing compute instances to it. - -#### Before you begin - -* Review [Placement groups and compliance](#placement-groups-and-compliance) to understand the placement group concept. -* Review the [Technical specifications](#technical-specifications) for details on what's supported. - -#### List regions - -Run this API curl request, making sure to properly paste in or reference your [API token](/docs/products/platform/accounts/guides/manage-api-tokens/). Store the `id` and `label` values for the region where your target compute instances live. -```command -curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/regions -``` -{{< note >}} -During the limited availability phase, only specific [regions](#availability) support placement groups. -{{< /note >}} - -#### Identify the maximum number of compute instances - -Run this request, using the stored region `id`. Store the `maximum_linodes_per_pg` value. This represents the maximum number of compute instances you can add to a placement group for that region. -```command -curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/regions/us-east -``` -{{< note >}} -Currently, you can have a maximum of 5 compute instances in a placement group. -{{< /note >}} - -#### List compute instances - -Run this request using the stored region `id` to filter the response. Identify the specific compute instances you want to include -- up to the `maximum_linodes_per_pg` value -- and store the `id` value for each. -```command -curl -H "Authorization: Bearer $TOKEN" - -H 'X-Filter: { "region": "us-east" }' - https://api.linode.com/v4/networking/ips -``` - -#### Create the new placement group - -Run this request to create a new placement group. Store the `id` value that's generated for it. - -- `label`. Give your placement group an easily recognizable name. -- `region`. Set this to the `label` you stored for your region. -- `placement_group_type`. Set this to the [affinity](#placement-group-type) that meets your model. -- `placement_group_policy`. Define how to [enforce](#placement-group-policy) compliance for your placement group, when adding compute instances to it in the future. Set to `strict` for strict enforcement or `flexible` for flexible enforcement. - -{{< note >}} -- Currently, only anti-affinity (`anti-affinity:local`) is available for `placement_group_type`. -- Once you create your placement group, you *can't change* its `placement_group_policy` enforcement setting. -{{< /note >}} - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "label": "new-placement-group", - "region": "us-east", - "placement_group_type": "anti_affinity:local", - "placement_group_policy": "strict" - }' \ - https://api.linode.com/v4/placement/groups -``` - -#### Add compute instances to the group - -In this request, populate the `linodes` array with a comma-separated data center list of stored `id` values for the compute instances. In the URL, target the new placement group using its stored `id`. - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "linodes": [ - 123, 456, 789 - ] - }' \ - https://api.linode.com/v4/placement/groups/12/assign -``` -With all your compute instances added, we begin provisioning by placing them into the placement group to meet your selected `placement_group_type`. - -#### More with the Placement Groups API - -There are several other operations in the [Linode API](https://techdocs.akamai.com/linode-api/reference/post-placement-group) you can use to interact with placement groups. - -## Technical Specifications - -- Placement groups support dedicated, premium, and shared compute instance plans. You can mix dedicated and shared plan compute instances in the same placement group, but you can't mix premium plans with any other type. - -- Specialty hardware, such as GPUs aren't supported. - -- A compute instance can only exist in one placement group. - -- The maximum number of compute instances in a placement group is currently five. This quantity is reflected in Cloud Manager when reviewing your placement group. With the API, the [GET /v4/regions/\{regionid\}](/docs/api/regions/#region-view) operation contains the `maximum_linodes_per_pg` element that displays this maximum. - -- Placement groups can be renamed or deleted. To delete a placement group, you need to remove all compute instances from it. - -- When you remove a compute instance from a placement group, it continues to function as-is, but the placement decisions are no longer guided by the group's Placement Group Type. - -- Entry points to create a placement group are also available when creating a new compute instance or editing an existing one. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/placement-groups/pg-added-linode-v1.png b/docs/products/compute/compute-instances/guides/placement-groups/pg-added-linode-v1.png deleted file mode 100644 index fc54416c87d..00000000000 Binary files a/docs/products/compute/compute-instances/guides/placement-groups/pg-added-linode-v1.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/placement-groups/pg-added-linode-v2.png b/docs/products/compute/compute-instances/guides/placement-groups/pg-added-linode-v2.png deleted file mode 100644 index 572d213ff6b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/placement-groups/pg-added-linode-v2.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-dashboard.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-dashboard.png deleted file mode 100644 index 5ac286efb64..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-dashboard.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rebuild-progress-bar-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rebuild-progress-bar-highlighted.png deleted file mode 100644 index ba7327a9b8c..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rebuild-progress-bar-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rebuild-tab-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rebuild-tab-highlighted.png deleted file mode 100644 index d85d9c4df96..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rebuild-tab-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rescue-tab-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rescue-tab-highlighted.png deleted file mode 100644 index 6e09fa1a353..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linode-detail-page-rescue-tab-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linodes-page.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linodes-page.png deleted file mode 100644 index f27d752d4e7..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linodes-page.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linodes-rebuild.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linodes-rebuild.png deleted file mode 100644 index 140576b7306..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-linodes-rebuild.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-new-lish-window.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-new-lish-window.png deleted file mode 100644 index b5a4d1b385d..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-new-lish-window.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rebuild-form-confirmation-dialog.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rebuild-form-confirmation-dialog.png deleted file mode 100644 index 52f15ea4464..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rebuild-form-confirmation-dialog.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rebuild-form-rebuild-button-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rebuild-form-rebuild-button-highlighted.png deleted file mode 100644 index ddcf369eca0..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rebuild-form-rebuild-button-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-activity.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-activity.png deleted file mode 100644 index 4207fae5c58..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-activity.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-add-disk-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-add-disk-highlighted.png deleted file mode 100644 index 65bfda766f6..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-add-disk-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-dev-sda-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-dev-sda-highlighted.png deleted file mode 100644 index 19f259657c6..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-dev-sda-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-reboot-progress-bar-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-reboot-progress-bar-highlighted.png deleted file mode 100644 index a97656d118e..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-form-reboot-progress-bar-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-tab-launch-console-highlighted.png b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-tab-launch-console-highlighted.png deleted file mode 100644 index 446fea5fdf2..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/cloud-manager-rescue-tab-launch-console-highlighted.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/index.md b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/index.md deleted file mode 100644 index 347c5b9d960..00000000000 --- a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/index.md +++ /dev/null @@ -1,392 +0,0 @@ ---- -title: Rescue and Rebuild -description: 'Learn how to rescue and rebuild a Compute Instance by using the recovery tools available in Cloud Manager.' -published: 2012-05-31 -modified: 2023-09-07 -keywords: ["rescue", "rebuild"] -tags: ["cloud manager"] -image: rescue-rebuild.jpg -aliases: ['/troubleshooting/rescue-and-rebuild-classic-manager/','/troubleshooting/rescue-and-rebuild/','/rescue-and-rebuild/','/troubleshooting/finnix-rescue-mode/','/guides/rescue-and-rebuild/'] ---- - -Even the best system administrators may need to deal with unplanned events in the operation of their services. Cloud Manager provides recovery tools that you can leverage if you are having trouble connecting to one of the Compute Instances, and this guide describes those tools: - -- You can boot your Compute Instance into [*Rescue Mode*](#rescuing) to perform system recovery tasks and transfer data off the disks, if necessary. - -- If you are unable to resolve the system issues, you can [*rebuild*](#rebuilding) the Compute Instance from a backup or start over with a fresh Linux distribution. - -## Troubleshooting Resources - -While this guide outlines the recovery tools that Linode makes available to you, it does not provide a specific troubleshooting strategy. Our other guides offer a logical progression of steps you can follow when troubleshooting different symptoms: - -- If you are not able to establish basic network connections with the Compute Instance, then review the [Troubleshooting Basic Connection Issues](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) guide. - -- If you can ping the instance but can't access SSH, follow the [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) guide. - -- If you can access SSH but are experiencing an outage with a web server or other service, review [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/). - -- For an overview of all these issues and answers to other questions, check out the [Troubleshooting Overview](/docs/guides/troubleshooting-overview/) guide. - -## Rescuing - -*Rescue Mode* is a safe environment for performing many system recovery and disk management tasks. Rescue Mode is based on the [Finnix recovery distribution](http://www.finnix.org/), a self-contained and bootable Linux distribution. Within Rescue Mode, you can mount a Compute Instance's disks and run Linux commands to further troubleshoot issues. You can also use Rescue Mode for tasks other than disaster recovery, such as: - -- Formatting disks to use different filesystems - -- Copying data between disks - -- Downloading files from a disk through SSH and SFTP - -### Rescue Mode Overview - -To access Rescue Mode, you need to [reboot your Compute Instance](#booting-into-rescue-mode) from Cloud Manager and then connect through [Lish](#connecting-to-a-linode-running-in-rescue-mode) or [SSH](#starting-ssh). After you connect, you can [perform a check on your filesystem](#performing-a-file-system-check) if you suspect that it is corrupted. If you need access to a certain software package to troubleshoot the system, you can [install it](#installing-packages). - -Disks are not mounted by default and need to be [mounted manually](#mounting-disks) before you can access your files. After you mount the primary filesystem, you can [*change root*](#change-root) to have Rescue Mode emulate normal Linux distribution. - -### Boot into Rescue Mode - -To boot a Compute Instance into Rescue Mode, follow the instructions below. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click the **Linodes** link in the sidebar: - - ![Cloud Manager dashboard - Linodes sidebar link highlighted](cloud-manager-dashboard.png) - -1. Click on the **more options ellipsis** next to the Compute Instance that you wish to boot in to Rescue Mode, and click on the **Rescue** option to open the Rescue form: - - ![Cloud Manager Linodes page - rescue option highlighted](cloud-manager-linodes-page.png) - -1. In the **Rescue** form, select the disks you want to mount: - - ![Cloud Manager Rescue form - /dev/sda highlighted](cloud-manager-rescue-form-dev-sda-highlighted.png) - - {{< note >}} - Make a note of which devices the disks are assigned to (e.g. `/dev/sda`, `/dev/sdb`, etc). For example, in the screenshot shown above, the Ubuntu disk corresponds to `/dev/sda`. These assignments are where you can mount the disks from inside Rescue Mode. - {{< /note >}} - -1. If you need to assign additional disks to be accessible inside Rescue Mode, click the **Add Disk** option: - - ![Cloud Manager Rescue form - Add Disk highlighted](cloud-manager-rescue-form-add-disk-highlighted.png) - - You can assign up to 7 disks in Rescue Mode. `/dev/sdh` is always assigned to the Finnix recovery distribution. - - As a best practice, review the names that your Compute Instance's disks are using in your [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) (`/dev/sda`, `/dev/sdb`, etc.) and match those names to the device assignments you specify in the Rescue form before starting Rescue Mode. - - Matching these names is especially important if you need to [change root](#change-root) within Rescue Mode. The chroot will be able to read your Compute Instance's `/etc/fstab` file, which defines where and how your instance mounts its disks when booting up, to automatically apply the correct mount options and mount directories to your disks. - - A mismatch in the names of your disks between your Compute Instance's configuration profile and your Rescue Mode environment may cause the chroot to mount these disks in the wrong location or with the wrong mount options. As a result, it is important to ensure that these names match. - - {{< note noTitle=true type="warning" >}} - Disks are *not* mounted by default in Rescue Mode and will need to be mounted manually. See [Mounting Disks](#mounting-disks) for instructions on mounting individual disks. - {{< /note >}} - -1. Click the **Reboot into Rescue Mode** button. The Compute Instance reboots into Rescue Mode, and the progress percentage appears. When the instance appears as **Running** again, proceed to [Connecting to a Compute Instance Running in Rescue Mode](#connecting-to-a-compute-instance-running-in-rescue-mode). - - ![Cloud Manager Rescue form - reboot progress bar highlighted](cloud-manager-rescue-form-reboot-progress-bar-highlighted.png) - -### Connecting to a Compute Instance Running in Rescue Mode - -By default, Rescue Mode's Finnix environment does not accept SSH connections. To access the Compute Instance when it's running in Rescue Mode, connect to it through the *Lish* console. - -{{< note >}} -It is possible to enable SSH for Rescue Mode by manually starting the SSH daemon. Using SSH can provide a better experience and lets you copy files off of the server. Review the [Starting SSH](#starting-ssh) section for instructions. You need to use Lish at least once in order to start SSH. -{{< /note >}} - -To connect with Lish: - -1. From the Compute Instance's detail page, click the **Launch Console** button: - - ![Cloud Manager Linode detail page - Launch Console button highlighted](cloud-manager-rescue-tab-launch-console-highlighted.png) - -1. A new window appears which displays your Lish console, a `Welcome to Finnix!` message, and a root prompt: - - ![Cloud Manager Lish console](cloud-manager-new-lish-window.png) - -Review the [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/) guide for further explanation of the Lish console and alternative methods for accessing it, including [from your computer's terminal application](/docs/products/compute/compute-instances/guides/lish/#through-ssh-using-a-terminal). - -### Starting SSH - -The Finnix recovery distribution does not automatically start an SSH server, but you can enable one manually. This is useful if your Compute Instance does not boot and you need to copy files off of the disks. You can also copy entire disks over SSH. To start SSH: - -1. Open the [Lish console](#connecting-to-a-compute-instance-running-in-rescue-mode) for your Compute Instance. - -1. Set the `root` password for the Finnix rescue environment by entering the following command: - - ```command - passwd - ``` - - {{< note >}} - This root password is separate from the root password of the disk that you normally boot from. Setting the root password for Finnix does not affect the root account of the distribution. - {{< /note >}} - -1. Enter the new password for the `root` user. - -1. Start the SSH server: - - ```command - service ssh start - ``` - -You can now connect to the server as root with the SSH client on a local computer. You can also access mounted disks with an SFTP client: - -- For instructions on connecting with an SFTP client, see the [File Transfer reference manuals](/docs/tools-reference/file-transfer/). - -- For instructions on copying an entire disk over SSH, see [Copy a Disk Over SSH](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/). - -### Performing a File System Check - -You can use the `e2fsck` system utility (short for "ext file system check") to check the consistency of filesystems and repair any damage detected on ext file systems. If you suspect that the Compute Instance's filesystem is corrupted, run `e2fsck` to check for and repair any damage on most disks: - -1. Enter the `df -h` command to verify that the primary disks are not currently mounted: - - ```command - df -h - ``` - - ```output - Filesystem Size Used Avail Use% Mounted on - udev 1.9G 0 1.9G 0% /dev - tmpfs 395M 516K 394M 1% /run - /dev/sr0 503M 503M 0 100% /run/live/medium - /dev/loop0 426M 426M 0 100% /run/live/rootfs/filesystem.squashfs - tmpfs 2.0G 17M 2.0G 1% /run/live/overlay - overlay 2.0G 17M 2.0G 1% / - tmpfs 2.0G 0 2.0G 0% /dev/shm - tmpfs 5.0M 0 5.0M 0% /run/lock - tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup - tmpfs 2.0G 0 2.0G 0% /tmp - tmpfs 395M 0 395M 0% /run/user/0pressed_root - unionfs 739M 1016K 738M 1% / - devtmpfs 10M 0 10M 0% /dev - ``` - - The primary disks should not appear in the list. In the [example screenshot](cloud-manager-rescue-form-dev-sda-highlighted.png) from the [Booting into Rescue Mode](#booting-into-rescue-mode) section, the Ubuntu 18.04 disk is assigned to `/dev/sda`. Because this device does not appear in the example output from `df -h`, run a filesystem check on it. - - {{< note type="alert" >}} - Never run `e2fsck` on a mounted disk. Do not continue unless you're sure that the target disk is unmounted. - {{< /note >}} - -1. Run `e2fsck` by entering the following command, replacing `/dev/sda` with the location of the disk you want to check and repair: - - ```command - e2fsck -f /dev/sda - ``` - -1. If no problems are detected, `e2fsck` displays the tests it performed: - - ```output - e2fsck 1.45.6 (20-Mar-2020) - Pass 1: Checking inodes, blocks, and sizes - Pass 2: Checking directory structure - Pass 3: Checking directory connectivity - Pass 4: Checking reference counts - Pass 5: Checking group summary information - /dev/sda: 44611/2564096 files (0.1% non-contiguous), 602550/10240000 blocks - ``` - -1. If `e2fsck` determines that there is a problem with the filesystem, it prompts you to fix problems as they are found during each test: - - ```output - e2fsck 1.45.6 (20-Mar-2020) - ext2fs_open2: Bad magic number in super-block - e2fsck: Superblock invalid, trying backup blocks... - Resize inode not valid. Recreate? - ``` - - Press **enter** to automatically attempt to fix the problems. - - After the filesystem check completes, any problems detected should be fixed. Try rebooting the Compute Instance from Cloud Manager. If `e2fsck` fixed the issues, the instance should boot normally. - -### Installing Packages - -The Finnix recovery distribution is based on Debian, so you can use the [`apt` package management system](/docs/guides/apt-package-manager/) to install additional software packages in the temporary rescue environment. For example, you could install and run the `nmon` utility by using the following commands: - -```command -apt update -apt install nmon -nmon -``` - -The software packages you install is available as long as the Compute Instance is running in Rescue Mode. - -### Mounting Disks - -{{< note >}} -Before you mount the disk check the location of the root partition in the `/etc/fstab` file and update it accordingly. In the following example `/dev/sda` is the location of the disk. For more information, see the [Update your fstab](/docs/guides/install-a-custom-distribution/#additional-system-configuration) guide. -{{< /note >}} - -By default, your disks are not mounted when your Compute Instance boots into Rescue Mode. However, you can manually mount a disk under Rescue Mode to perform system recovery and maintenance tasks. - -These instructions mount the `/dev/sda` disk. If you are mounting a different disk, replace `sda` with the name of your disk throughout these instructions. - -1. Create a new directory for your disk: - - ```command - mkdir -p /media/sda - ``` - -1. Mount the disk to make its contents available at the `/media/sda` directory: - - ```command - mount -o barrier=0 /dev/sda /media/sda - ``` - -1. View the contents of the disk to confirm you can access them: - - ```command - ls /media/sda - ``` - - You can now read and write to files on the mounted disk. - -{{< note >}} -You can unmount your disk by running the `unmount` command. You may want to unmount your disk to [run a file system check](#performing-a-file-system-check), for example. - -The `umount` command requires you to specify the device you want to unmount. You may specify this device in one of two ways: - -- Specify the device name itself: - - ```command - umount /dev/sda - ``` - -- Specify the mount directory: - - ```command - umount /media/sda - ``` -{{< /note >}} - -If you would like to mount or unmount additional disks on your system, repeat these instructions with the appropriate substitutions. - -### Change Root - -*Changing root* is the process of changing your working root directory. When you change root (abbreviated as *chroot*) to your root disk, you are able to run commands as though you are logged in to that system. - -Chroot lets you change user passwords, remove/install packages, and do other system maintenance and recovery tasks in your Compute Instance's normal Linux environment. - -1. Create a new directory for your disk: - - ```command - mkdir -p /media/sda - ``` - -1. Before you use chroot, mount the root disk: - - ```command - mount -o exec,barrier=0 /dev/sda /media/sda - ``` - - {{< note >}} - If you mounted your disk without using the `exec` option before reviewing this section, include the `remount` option in your `mount` command: - - ```command - mount -o remount,exec,barrier=0 /dev/sda /media/sda - ``` - {{< /note >}} - -1. To create the chroot, you need to mount the temporary filesystems: - - ```command - cd /media/sda - mount -t proc proc proc/ - mount -t sysfs sys sys/ - mount -o bind /dev dev/ - mount -t devpts pts dev/pts/ - ``` - -1. Chroot to your disk: - - ```command - chroot /media/sda /bin/bash - ``` - -1. Your Compute Instance may expect its other disks to be mounted in specific directories during its regular operations. These disks and their expected directories are defined in the `/etc/fstab` file. In order for these directories to be accessible within the chroot, you need to mount them from within the chroot. For example, if your instance defines `/dev/sdc` in its `/etc/fstab`, you can the following command to mount it: - - ```command - mount /dev/sdc - ``` - - {{< note >}} - This `mount` command only specifies a disk name without specifying a mount point. This causes `mount` to use the `/etc/fstab` file in the chroot to determine the mount point and apply the correct mount options. - - As a result, this command depends on you having made these disks available to your Rescue Mode environment under the same names that they use in your [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/). - - If these names do not match, mounting your disks using only a device name will either fail completely, mount them at the wrong directory, and/or apply the wrong mount options to them. - - The easiest way to alleviate this problem is by [starting a new Rescue Mode session from Cloud Manager](#booting-into-rescue-mode) which properly matches these disk names between your Rescue Mode environment and your configuration profile. - {{< /note >}} - -1. To exit the chroot and get back to Finnix type "exit" : - - ```command - exit - ``` - -## Rebuilding - -If you can't rescue and resolve issues on an existing disk, you likely need to rebuild the Compute Instance. Rebuilding the instance is the process of starting over with a set of known-good disks that you can boot from. There are a few different ways you can do this: - -- If you are subscribed to the [Backup Service](https://www.linode.com/backups), you can [restore from an existing backup](#restoring-from-a-linode-backup) and return the Compute Instance to a previous state. - -- If you aren't subscribed to the Backup Service, you can copy files off an existing disk and then [use the Rebuild feature](#use-the-rebuild-feature) of Cloud Manager to erase everything and start over again from scratch. - -- If you have a backup system other than the Backup Service in place, you can [rebuild your Compute Instance](#use-the-rebuild-feature) and then restore the data from that backup service. The methods for restoring data varies by the kind of backup system that you use. - -{{< note type="alert" >}} -Did an unauthorized intruder gain access to your Compute Instance? Since it is virtually impossible to determine the full scope of an attacker's reach into a compromised system, you should never continue using a compromised system. - -Linode recommends that you follow the instructions in [Recovering from a System Compromise](/docs/guides/recovering-from-a-system-compromise/). You need to create a new Compute Instance, copy your existing data from the old instance to the new one, and then swap IP addresses. -{{< /note >}} - -### Restoring from a Backup - -If you previously enabled the [Backup Service](https://www.linode.com/backups), you may be able to restore one of the backups to the Compute Instance. Review the [Restore a Backup to an Existing Compute Instance](/docs/products/storage/backups/guides/restore-to-an-existing-instance/) guide for instructions. - -If you created backups with an application other than Linode's Backup Service, review the application's instructions to restore a backup to the Compute Instance. - -### Use the Rebuild Feature - -Cloud Manager provides a *Rebuild* feature performs the following two actions: - -1. The current disks are removed. - -1. A new set of disks is provisioned from one of Cloud Manager's built-in Linux images, or from one of the [saved images](/docs/products/tools/images/). - - {{< note type="alert" >}} - If you use the Rebuild feature, the data from the disks that are deleted are not retrievable. You may [back up your data manually](/docs/guides/backing-up-your-data/) or [create a snapshot through Linode's Backup Service](/docs/products/storage/backups/guides/take-a-snapshot/) to preserve data before using the Rebuild feature. - - If you'd like to deploy a new Linux distribution without erasing the existing disks, follow the instructions in the [Creating a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk) guide. This is a better option if you need to create a new distribution, but also need to save the existing data. - - The Compute Instance needs to have some amount of unallocated disk space in order to provision a new distribution. If the instance does not have enough unallocated space, you can [shrink your existing disks](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) to free up space or [resize your Compute Instance](/docs/products/compute/compute-instances/guides/resize/) to a higher resource tier. - {{< /note >}} - - If you need to copy files from your existing disk to another location before rebuilding, you can [start SSH](#starting-ssh) under Rescue Mode and then use an SFTP client to copy files to your computer. - -To use the Rebuild feature: - -1. If you need to copy files from existing disk to another location before rebuilding, you can [start SSH](#starting-ssh) under Rescue Mode and then use an [SFTP client](/docs/tools-reference/file-transfer/) to copy files to your computer, another server, or somewhere else. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click on the **Linodes** link in the sidebar: - - ![Cloud Manager dashboard - Linodes sidebar link highlighted](cloud-manager-dashboard.png) - -1. Click on the **more options ellipsis** next to the Compute Instance that will be rebuilt, and click on the Rebuild option to open the Rebuild form: - - ![Cloud Manager Linodes page - rebuild option highlighted](cloud-manager-linodes-rebuild.png) - -1. Complete the Rebuild form. Select an image or StackScript to deploy and enter a root password. Optionally, select one or more SSH keys (if you have not added any SSH Keys via Cloud Manager, this option does not appear). - - {{% content "password-requirements-shortguide" %}} - -1. Click on **Rebuild** button after completing the form: - - ![Cloud Manager Rebuild form - Rebuild button highlighted](cloud-manager-rebuild-form-rebuild-button-highlighted.png) - -1. The Compute Instance may take several minutes to complete the rebuild process. Select the instance that is being rebuilt and select the `Activity Feed` tab to monitor rebuild progress and confirm that the rebuild has been completed: - - ![Linode Cloud Manager Activity - Activity](cloud-manager-rescue-activity.png) diff --git a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/rescue-rebuild.jpg b/docs/products/compute/compute-instances/guides/rescue-and-rebuild/rescue-rebuild.jpg deleted file mode 100644 index 4a91911fe7a..00000000000 Binary files a/docs/products/compute/compute-instances/guides/rescue-and-rebuild/rescue-rebuild.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/reset-root-password/compute-instance-power-off.png b/docs/products/compute/compute-instances/guides/reset-root-password/compute-instance-power-off.png deleted file mode 100644 index a03ab71d6b5..00000000000 Binary files a/docs/products/compute/compute-instances/guides/reset-root-password/compute-instance-power-off.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/reset-root-password/index.md b/docs/products/compute/compute-instances/guides/reset-root-password/index.md deleted file mode 100644 index e0383b3d2de..00000000000 --- a/docs/products/compute/compute-instances/guides/reset-root-password/index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Reset the Root Password on a Compute Instance -description: "Change the root user password for the Linux environment running on a Compute Instance." -published: 2019-02-11 -modified: 2023-05-04 -keywords: ["linux", "linode", "cloud manager", "image"] -tags: ["linode platform","cloud manager","security"] -aliases: ['/quick-answers/linode-platform/reset-the-root-password-on-your-linode-classic-manager/','/quick-answers/linode-platform/reset-the-root-password-on-your-linode/','/quick-answers/linode-platform/reset-the-root-password-on-your-linode-new-manager/','/guides/reset-the-root-password-on-your-linode/'] ---- - -All Compute Instances deployed using one of Linode's [official distribution images](/docs/products/compute/compute-instances/guides/distributions/) provide the ability to reset the root password on the system. This is useful if you ever lock yourself out of your instance's root account or are simply rotating your password for security. Follow the instructions below to reset your root password: - -1. Log in to [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar, and select a Compute Instance from the list. - -1. Click the **Power Off** button in the upper right of the Compute Instance's dashboard or within the **ellipsis** menu. Wait until the Compute Instance has been fully powered off before continuing to the next step. - - ![Screenshot of a Compute Instance Details page with the Power Off button highlighted](compute-instance-power-off.png) - -1. Navigate to the **Settings** tab. - -1. Scroll down to the **Reset Root Password** section. - - ![Screenshot of the Reset Root Password form](reset-root-password.png) - -1. Select your primary disk from the **Disk** dropdown menu. - -1. Enter a new password for the root user in the **New Root Password** field. - - {{% content "password-requirements-shortguide" %}} - -1. Click **Save** to make the change. - -1. Click **Power On** button to turn on your Compute Instance. - -You can now use this new password when logging in as the root user on your Compute Instance over [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) or [Lish](/docs/products/compute/compute-instances/guides/lish/) (the Linode Shell). If you're able to log in as root using Lish but not SSH, there may be an issue with the SSH configuration, firewall rules, or other network issues. The following guides provide more troubleshooting steps: - -- [Troubleshooting Basic Connection Issues on Compute Instances](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) -- [Troubleshooting SSH on Compute Instances](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) -- [Troubleshooting Firewall Issues on Compute Instances](/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/) \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/reset-root-password/reset-root-password.png b/docs/products/compute/compute-instances/guides/reset-root-password/reset-root-password.png deleted file mode 100644 index ca1dea79255..00000000000 Binary files a/docs/products/compute/compute-instances/guides/reset-root-password/reset-root-password.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/resize/auto-resize-disk.png b/docs/products/compute/compute-instances/guides/resize/auto-resize-disk.png deleted file mode 100644 index b7eabc87ed5..00000000000 Binary files a/docs/products/compute/compute-instances/guides/resize/auto-resize-disk.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/resize/index.md b/docs/products/compute/compute-instances/guides/resize/index.md deleted file mode 100644 index 506d2058911..00000000000 --- a/docs/products/compute/compute-instances/guides/resize/index.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: "Change Plans (Resize)" -title_meta: "How to Resize a Compute Instance" -description: "A walkthrough on upgrading or downgrading a Compute Instance's plan, including switching to a different plan type." -published: 2017-02-14 -modified: 2023-10-31 -keywords: ["upgrading", "resizing", "disk space"] -tags: ["linode platform","cloud manager"] -image: resizing_a_linode.png -aliases: ['/platform/disk-images/resizing-a-linode-classic-manager/','/resizing/','/platform/disk-images/resizing-a-linode/','/migrate-to-linode/disk-images/resizing-a-linode/','/guides/resizing-a-linode/'] ---- - -You can easily change a Compute Instance's plan using Cloud Manager. Are you expecting a temporary burst of traffic to your website? Or, are you using your plan's resource allotment less than you thought? To accommodate, you can upgrade to a larger plan or downgrade to a smaller one, respectively. You can also change to a different plan type, such as switching from a Shared CPU plan to a Dedicated CPU plan. - -## Before you begin - -Consider these points before attempting a resize: - -- **Hardware changes, but performance is preserved**. While resizing a Compute Instance, Cloud Manager migrates it to a different physical host within the same data center. This new host may have slightly different hardware, but performance is consistent across our entire network. - -- **There are two resize types**. You can choose from two resize types: a **warm resize** or a **cold resize**. The type you choose determines the amount of migration downtime during a resize. See [Warm Resize vs. Cold Resize](#warm-resize-vs-cold-resize) to determine which resize type is right for you. - -- **What's preserved**. All of your existing data and configuration settings are preserved during the resize, and your IP addresses remain the same. - -- **Placement groups aren't supported**. Resizing a compute instance removes it from a [placement group](/docs/products/compute/compute-instances/guides/placement-groups/). The migration required for resizing moves the compute instance to a different physical host in a data center. This can break the Affinity Type setting that's required for a placement group. If your compute instance is in a placement group and you need to resize it, talk to your Akamai account team about other options. - -- **The transfer rate during a resize**. Your compute instance's disks are transferred to the new hardware at approximately 150 MB/sec. However, actual transfer speeds may vary. - -## Warm resize vs. cold resize - -You have two resize options to choose from: **warm** and **cold**. Each refer to the [type of migration](/docs/products/compute/compute-instances/guides/compute-migrations/) that occurs during the resize process. - -- **Warm resize**. Your compute instance remains up during the migration and it's rebooted once the migration completes. So, make sure your instance is powered on for this resize. If you see a warning message about an inability to power down your compute instance, try the resize again using the cold resize option. There is less downtime during a warm resize than a cold resize. - -- **Cold resize**. This shuts down your compute instance, migrates it to a new host, and restores it to its booted state before the resize process. - -## Resize a compute instance - -1. Log in to [Cloud Manager](https://cloud.linode.com) and select **Linodes**. - -2. In the list of compute instances, find the one you want to resize, click the corresponding **...**, and select **Resize**. The **Resize Linode** panel is displayed. - - ![The Resize Linode panel in Cloud Manager](resize-linode-plan.jpg) - -3. Select the plan you want: - - - **Select a larger plan**. Review [Upgrade to a Larger Plan](#upgrading-to-a-larger-plan). - - - **Select a smaller plan**. First, resize the instance's disks. See [Downgrade to a smaller plan](#downgrading-to-a-smaller-plan). - - - **Select a different plan type**. Review [Switch to a different plan type](#switching-to-a-different-plan-type). - -4. Under **Choose Your Resize Type**, select **warm resize** or **cold resize**. See [Warm resize vs. cold resize](#warm-resize-vs-cold-resize) to help decide which option best suits your need. - -5. Check **Auto Resize Disk** if you want to automatically resize your compute instance's primary disk. You can only select this if you meet these conditions: - - - The new plan provides more storage space than the current plan. - - - There is only a single ext3 or ext4 disk (not a raw disk). A swap disk can also be present, but the process doesn't resize it. - - ![The Auto Resize Disk checkbox](auto-resize-disk.png) - -6. Enter the Compute Instance's label in the **Confirm** field and click **Resize Linode**. - -With a warm resize, Cloud Manager powers your instance on to complete the resize process. If performing a cold resize, Cloud Manager returns your instance to its original power state. - -## Upgrade to a larger plan - -You can scale vertically when upgrading your compute instance to a plan with additional resources and capacity. Larger plans can accommodate increased traffic and give your application the additional computing power it needs. Since larger plans come equipped with more resources, you may want to make adjustments to take advantage of these resources. - -- **Resize Disks**. In most cases, you can opt to automatically resize the disks when resizing your compute instance. If your instance doesn't meet the requirements for this functionality, or if you decide not to do this automatically, you can manually resize the disks later. See [Resize a Linode's Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/) - -- **Optimize Applications**. You can enhance the performance for many applications if additional resources are available. You can do things like increase the memory limit, enable multiple threads, and increase the maximum size of data, cache, logs, or other files. Review the documentation for your application and any software such as PHP, MySQL, Apache, or NGINX. - -- **Enable Multi-Queue NICS**. If you're upgrading to a plan with two or more vCPU cores, make sure the **multi-queue NICs** feature is enabled. Typically this is enabled by default. However, older distributions may require additional steps. See [Configuring Multi-Queue NICS](/docs/products/compute/compute-instances/guides/multiqueue-nic/). - -## Downgrade to a smaller plan - -If you're looking to reduce computing costs, you can downgrade to a plan that uses fewer resources. This can also apply if you've tuned your application to use system resources more efficiently. - -1. Determine the amount of disk space you're using on your compute instance. Log in to your instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/) and run the following command and review the *Used* column data: - - ```command - df -h - ``` - -2. Review Compute Instance plans to see if you can downsize. See the [Pricing Page](https://www.linode.com/pricing/). - - {{< note >}} - If you're close to a downgraded size plan, you can try to free up space on your compute instance. See the options for doing this in the [Download Files from Your Linode](/docs/guides/download-files-from-a-compute-instance/) guide. - {{< /note >}} - -3. Resize the compute instance's disks to fit within the new plan. See [Resize a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/). - -## Switch to a different plan type - -When resizing your instance, you can also switch to a different plan type that better suits your workload. Here are the Compute Instance plan types Akamai offers: - -- **Dedicated CPU**. Optimized for CPU-intensive applications. This plan type is equipped with dedicated vCPU cores, suitable for almost any workload that requires consistently high CPU performance. Use cases include production (and high traffic) websites, e-commerce sites, machine learning, data processing, and much more. See [Dedicated CPU Compute Instances](https://www.linode.com/products/dedicated-cpu/). - -- **Shared CPU**. Balancing performance with value. This plan type is a solid foundation for many common use cases, including development, low-traffic websites, or any workload that doesn't require consistent 100% CPU usage. See [Shared CPU Compute Instances](https://www.linode.com/products/shared/). - -- **Premium CPU**. Guaranteed hardware for CPU-intensive workloads. Built off of our Dedicated CPU offering, this plan comes equipped with the latest AMD EPYC™ CPUs to make sure your applications are running on the best available hardware with consistent high performance. Use cases include enterprise-grade production applications, video transcoding, and more. See [Premium CPU Compute Instances](https://www.linode.com/products/premium-cpu/). - -- **High Memory**. Optimized for memory-intensive applications. This plan type is also equipped with dedicated vCPU cores, though they contain more memory than other similarly priced plans. Use cases include large or high-traffic databases, caching servers, and more. See [High Memory Compute Instances](https://www.linode.com/products/high-memory/). - -- **GPU:** The only plan type that is equipped with high performance NVIDIA GPU cards. GPU plans are capable of processing large amounts of data in parallel, performing complex calculations much more efficiently. See [GPU Compute Instances](https://www.linode.com/products/gpu/). - -{{< note >}} -- See the [Choosing a Compute Instance Type and Plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/) guide for advice and a comparison of each plan. - -- Pricing and plan options may vary by region. See our [Pricing](https://www.linode.com/pricing/) page for more information on pricing options and [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/#product-availability) for plan and product availability. -{{< /note >}} - -### How to switch - -Follow the instructions in [Resize a Linode](#resizing-a-linode). When choosing the plan, select the tab that corresponds with your desired plan type. - -## Troubleshooting - -- **If a warm resize fails**. Cloud Manager generates a notification, and you get an email notification regarding the failed job. There are several reasons a warm resize may fail, including the inability to successfully reboot due to internal configuration settings. If this happens, try a cold resize. - -- **If a cold resize fails**. Retry it. If it continues to fail, reach out to our [Support](/docs/products/platform/get-started/guides/support/) department for assistance. - -For additional information on troubleshooting resizes or migrations, please see our [Compute Migrations](/docs/products/compute/compute-instances/guides/compute-migrations/) guide. diff --git a/docs/products/compute/compute-instances/guides/resize/resize-linode-plan.jpg b/docs/products/compute/compute-instances/guides/resize/resize-linode-plan.jpg deleted file mode 100644 index fd094bb913d..00000000000 Binary files a/docs/products/compute/compute-instances/guides/resize/resize-linode-plan.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/resize/resize-linode-plan.png b/docs/products/compute/compute-instances/guides/resize/resize-linode-plan.png deleted file mode 100644 index 63e9c28ae94..00000000000 Binary files a/docs/products/compute/compute-instances/guides/resize/resize-linode-plan.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/resize/resizing_a_linode.png b/docs/products/compute/compute-instances/guides/resize/resizing_a_linode.png deleted file mode 100644 index 3433d53614e..00000000000 Binary files a/docs/products/compute/compute-instances/guides/resize/resizing_a_linode.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/resize/select-plan-type-tab.png b/docs/products/compute/compute-instances/guides/resize/select-plan-type-tab.png deleted file mode 100644 index 9a89e2b4226..00000000000 Binary files a/docs/products/compute/compute-instances/guides/resize/select-plan-type-tab.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/index.md b/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/index.md deleted file mode 100644 index b96debf9c21..00000000000 --- a/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Configure Email Alerts for Resource Usage on Compute Instances -description: "Learn how to turn on and off email alerts for usage activity on various Compute Instance resources, such as CPU usage." -aliases: ['/products/tools/monitoring/guides/monitoring-email-alerts/'] ---- - -{{% content "monitoring-configure-email-alerts-shortguide" %}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/set-up-and-secure/create-instance-details.png b/docs/products/compute/compute-instances/guides/set-up-and-secure/create-instance-details.png deleted file mode 100644 index 8b20a1cb1de..00000000000 Binary files a/docs/products/compute/compute-instances/guides/set-up-and-secure/create-instance-details.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/set-up-and-secure/index.md b/docs/products/compute/compute-instances/guides/set-up-and-secure/index.md deleted file mode 100644 index bb2a2462ef5..00000000000 --- a/docs/products/compute/compute-instances/guides/set-up-and-secure/index.md +++ /dev/null @@ -1,575 +0,0 @@ ---- -title: "Setting Up and Securing a Compute Instance" -title_meta: "How to Set Up and Secure a Compute Instance" -description: "Learn how to set up and secure a new Compute Instance, including updating your software, creating a user account, and hardening SSH." -published: 2022-02-25 -modified: 2024-01-04 -keywords: ["security", "secure", "firewall", "ssh", "add user", "quick start"] -tags: ["ssh","security"] -bundles: ['centos-security', 'debian-security'] -aliases: ['/securing-your-server/','/security/linux-security-basics/','/security/securing-your-server/index.cfm/','/security/basics/securing-your-server/','/security/securing-your-server/','/guides/securing-your-server/','/guides/set-up-and-secure/'] ---- - -After you have successfully created a Compute Instance, there are a few initial configuration steps you should perform within your new Linux system. This includes updating your system, setting the timezone, configuring a custom hostname, adding a limited user, hardening SSH to prevent unauthorized access, and configuring a firewall. These steps ensure your instance is up to date, secure, and ready for use. - -{{< note >}} -While this guide is optional, it walks you through best practices and covers important steps to secure your server. It is recommended that you follow these instructions when deploying a new Compute Instance. Some guides within our library assume that you have performed these steps, such as setting your hostname and updating your software. -{{< /note >}} - -1. [View your Instance in Cloud Manager](#view-your-instance-in-the-cloud-manager) -1. [Connect to the Instance](#connect-to-the-instance) -1. [Perform System Updates](#perform-system-updates) -1. [Set the Timezone](#set-the-timezone) -1. [Configure a Custom Hostname](#configure-a-custom-hostname) -1. [Add a Limited User Account](#add-a-limited-user-account) -1. [Harden SSH Access](#harden-ssh-access) -1. [Configure a Firewall](#configure-a-firewall) -1. [Common Lockout Recovery Steps](#common-lockout-recovery-steps) - -## Before You Begin - -If you haven't done so already, review the following guides to learn more about using Linode and Compute Instances. - -- [Getting Started with Linode](/docs/products/platform/get-started/) -- [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) -- [Linode Beginner's Guide](/docs/products/compute/compute-instances/faqs/) - -## View your Instance in Cloud Manager - -Log in to [Cloud Manager](https://cloud.linode.com/), click the **Linodes** link in the left menu, and select your Compute Instance from the list. This opens the details page for that instance, which lets you view key information and further configure it to meet your needs. - -![Details page in Cloud Manager](create-instance-details.png) - -## Connect to the Instance - -Once the Compute Instance has been created and has finished booting up, you can connect to it. Connecting to your instance is usually done through the SSH (Secure Shell) protocol, though you can use the [Lish Console](/docs/products/compute/compute-instances/guides/lish/) to bypass SSH and connect directly to your instance. The Lish Console can be accessed through a web browser (Weblish) or via SSH on the command line. - -- **Weblish (via Cloud Manager):** Click the **Launch LISH Console** link at the top right corner of the Compute Instance's detail page. See [Using the Lish Console > Through a Browser](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish). - -- **SSH:** Copy the command from the *SSH Access* field under the **Access** section on the Compute Instance's detail page (see screenshot above) and paste it into your local computer's terminal. The command should look similar to the following, only with the IP address of your newly created instance. - - ```command - ssh root@192.0.2.17 - ``` - - - **Windows:** Windows 10 and 11 users can connect to their Compute Instance using the [Command Prompt (or PowerShell)](/docs/guides/connect-to-server-over-ssh-on-windows/#command-prompt-or-powershell---windows-10-or-11) application, provided their system is fully updated. For users of Windows 8 and earlier, [Secure Shell on Chrome](/docs/guides/connect-to-server-over-ssh-on-chrome/), [PuTTY](/docs/guides/connect-to-server-over-ssh-using-putty/), or many other third party tools can be used instead. See [Connecting to a Remote Server Over SSH on Windows](/docs/guides/connect-to-server-over-ssh-on-windows/). - - **macOS:** The *Terminal* application is pre-installed on macOS. See [Connecting to a Remote Server Over SSH on a Mac](/docs/guides/connect-to-server-over-ssh-on-mac/). - - **Linux:** You can use a terminal window, regardless of desktop environment or window manager. See [Connecting to a Remote Server Over SSH on Linux](/docs/guides/connect-to-server-over-ssh-on-linux/) - -- **Lish (via SSH):** Copy the command from the *LISH Console via SSH* field under the **Access** section on the Compute Instance's detail page (see screenshot above) and paste it into your local computer's terminal. The command should look similar to the one below, only with your username, data center, and Compute Instance label. Review [Using the Lish Console > Through SSH](/docs/products/compute/compute-instances/guides/lish/#through-ssh-using-a-terminal) for more instructions. - - ```command - ssh -t user@lish-newark.linode.com example-instance - ``` - -## Perform System Updates - -Updating your system frequently is the single biggest security precaution you can take for any operating system. Software updates range from critical vulnerability patches to minor bug fixes and many software vulnerabilities are actually patched by the time they become public. Updating also provides you with the latest software versions available for your distribution. - -{{< tabs >}} -{{< tab "Ubuntu, Debian, Kali Linux" >}} -```command -apt update && apt upgrade -``` - -{{< note >}} -When updating some packages, you may be prompted to use updated configuration files. If prompted, it is typically safer to keep the locally installed version. -{{< /note >}} -{{< note >}} -Linode's Kali Linux distribution image is a [minimum installation](https://www.kali.org/docs/troubleshooting/common-minimum-setup/). You will likely want to install individual [tools](https://www.kali.org/tools/) or [metapackages](https://www.kali.org/tools/kali-meta/), such as the [kali-linux-headless](https://www.kali.org/tools/kali-meta/#kali-linux-headless) metapackage. -{{< /note >}} -{{< /tab >}} -{{< tab "CentOS/RHEL 8+, Fedora" >}} -*This includes CentOS Stream 8 (and above), CentOS 8, other RHEL derivatives (including AlmaLinux 8 and Rocky Linux 8), and Fedora.* - -```command -dnf upgrade -``` -{{< /tab >}} -{{< tab "CentOS 7" >}} -```command -yum update -``` -{{< /tab >}} -{{< tab "openSUSE" >}} -```command -zypper update -``` -{{< /tab >}} -{{< tab "Alpine" >}} -```command -apk update && apk upgrade -``` -{{< /tab >}} -{{< tab "Arch" >}} -```command -pacman -Syu -``` -{{< /tab >}} -{{< tab "Gentoo" >}} -```command -emaint sync -a -``` - -After running a sync, it may end with a message that you should upgrade Portage using a `--oneshot` emerge command. If so, run the Portage update. Then update the rest of the system: - -```command -emerge -uDU --keep-going --with-bdeps=y @world -``` -{{< /tab >}} -{{< tab "Slackware" >}} -```command -slackpkg update -slackpkg upgrade-all -``` -{{< /tab >}} -{{< /tabs >}} - -## Set the Timezone - -All new Compute Instances are set to UTC time by default. However, you may prefer to use the time zone which you live in so log file timestamps are relative to your local time. - -{{< tabs >}} -{{< tab "Most Distributions" >}} -*This includes CentOS Stream 8 (and newer), CentOS 7 (and newer), other RHEL derivatives (including AlmaLinux 8 and Rocky Linux 8), Fedora, and Arch. These instructions also work for most Ubuntu, Debian, and openSUSE distributions, though other methods may be preferred in those cases.* - -1. Use `timedatectl` to output a list of available timezones. - - ```command - timedatectl list-timezones - ``` - -1. Use the arrow keys, `Page Up`, and `Page Down` to navigate through the list. Copy or make note of your desired time zone and press **q** to exit the list. - -1. Set the time zone using the command below, replacing *America/New_York* with your preferred time zone. - - ```command - timedatectl set-timezone 'America/New_York' - ``` -{{< /tab >}} -{{< tab "Ubuntu, Debian, Kali" >}} -The instructions under the [Most Distributions](#most-distributions-1) section above (which outlines the `timedatectl` command) are valid. That said, both Ubuntu and Debian come with a more friendly tool called `tzdata`, outlined below. - -1. Open the `tzdata` tool. - - ```command - dpkg-reconfigure tzdata - ``` - -1. Select the continent of your choice using the arrow keys and press **Enter**. -1. Select your region using the arrow keys and press **Enter**. -{{< /tab >}} -{{< tab "Alpine" >}} -1. Use the [setup-timezone](https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts#setup-timezone) command to initiate the timezone selection process: - - ```command - setup-timezone - ``` - -1. Enter the timezone you are located within. If you aren't sure of the timezone string to use, enter `?` to display a list of available timezones - -1. If you selected a region with sub-timezones, enter `?` again to see a list of available sub-timezones and then enter the sub-timezone you are located within. -{{< /tab >}} -{{< tab "Gentoo" >}} -1. View a list of available time zones. - - ```command - ls /usr/share/zoneinfo - ``` - -1. Write the selected time zone to `/etc/timezone` (for example, EST for Eastern Standard Time). - - ```command - echo "EST" > /etc/timezone - ``` - -1. Configure the `sys-libs/timezone-data` package, which sets `/etc/localtime`. - - ```command - emerge --config sys-libs/timezone-data - ``` -{{< /tab >}} -{{< tab "openSUSE" >}} -The instructions under the [Most Distributions](#most-distributions-1) section above (which outlines the `timedatectl` command) are valid. openSUSE also has a more friendly way to select a timezone, discussed below. - -1. Open the YaST2 timezone selector tool. - - ```command - yast2 timezone - ``` - -1. Use the arrow keys to select your region within the *Region* pane. - -1. Press **tab** to switch to the *Time Zone* pane and then use the arrow keys to select your time zone or sub-region. - -1. Press **F10** to save the changes. Alternatively, press **tab** until the `[OK]` text button is highlighted. Then press **enter**. -{{< /tab >}} -{{< tab "Slackware" >}} -1. Run the `timeconfig` tool. - - ```command - timeconfig - ``` - -1. Select `NO Hardware clock is set to local time`. -1. Select a timezone. -{{< /tab >}} -{{< /tabs >}} - -### Check the Time - -Use the `date` command to view the current date and time according to your server. - -```output -root@localhost:~# date -Thu Feb 16 12:17:52 EST 2018 -``` - -## Configure a Custom Hostname - -A hostname is used to identify your Compute Instance using an easy-to-remember name. It can be descriptive and structured (detailing what the system is used for) or a generic word or phrase. Here are some examples of hostnames: - -- **Descriptive and/or Structured:** `web`, `staging`, `blog`, or something more structured like `[purpose]-[number]-[environment]` (ex: `web-01-prod`). - -- **Generic/Series:** Such as the name of a fruit (`apple`, `watermelon`), a planet (`mercury`, `venus`), or animal (`leopard`, `sloth`). - -This hostname can be used as part of a FQDN (fully qualified domain name) for the system (ex: `web-01-prod.example.com`). - -{{< tabs >}} -{{< tab "Most distributions" >}} -*This includes Ubuntu 16.04 (and newer), CentOS Stream 8 (and newer), CentOS 7 (and newer), other RHEL derivatives (including AlmaLinux 8 and Rocky Linux 8), Debian 8 (and newer), Fedora, openSUSE, Kali Linux, and Arch.* - -Replace `example-hostname` with one of your choice. - -```command -hostnamectl set-hostname example-hostname -``` -{{< /tab >}} -{{< tab "Alpine" >}} -See [Update Your Systems hosts File](#update-your-systems-hosts-file). -{{< /tab >}} -{{< tab "Gentoo" >}} -```command -echo "HOSTNAME=\"example-hostname\"" > /etc/conf.d/hostname -/etc/init.d/hostname restart -``` -{{< /tab >}} -{{< tab "Slackware" >}} -```command -echo "example-hostname" > /etc/HOSTNAME -hostname -F /etc/HOSTNAME -``` -{{< /tab >}} -{{< /tabs >}} - -After you've made the changes above, you may need to log out and log back in again to see the terminal prompt change from `localhost` to your new hostname. The command `hostname` should also show it correctly. See our guide on using the [hosts file](/docs/guides/using-your-systems-hosts-file/) if you want to configure a fully qualified domain name. - -### Update Your System's `hosts` File - -The `hosts` file creates static associations between IP addresses and hostnames or domains which the system prioritizes before DNS for name resolution. - -1. Open the `hosts` file in a text editor, such as [Nano](/docs/guides/use-nano-to-edit-files-in-linux/). - - ```command - nano /etc/hosts - ``` - -1. Add a line for your Compute Instance's public IP address. You can associate this address with your instance's **Fully Qualified Domain Name** (FQDN) if you have one, and with the local hostname you set in the steps above. In the example below, `203.0.113.10` is the public IP address, `example-hostname` is the local hostname, and `example-hostname.example.com` is the FQDN. - - ```file {title="/etc/hosts"} - 127.0.0.1 localhost.localdomain localhost - 203.0.113.10 example-hostname.example.com example-hostname - ``` - -1. Add a line for your Compute Instance's IPv6 address. Applications requiring IPv6 will not work without this entry: - - ```file {title="/etc/hosts"} - 127.0.0.1 localhost.localdomain localhost - 203.0.113.10 example-hostname.example.com example-hostname - 2600:3c01::a123:b456:c789:d012 example-hostname.example.com example-hostname - ``` - -The value you assign as your system's FQDN should have an "A" record in DNS pointing to your Compute Instance's IPv4 address. For IPv6, you should also set up a DNS "AAAA" record pointing to your instance's IPv6 address. - -See our guide to [Adding DNS Records](/docs/products/networking/dns-manager/) for more information on configuring DNS. For more information about the `hosts` file, see [Using your System's hosts File](/docs/guides/using-your-systems-hosts-file/) - -## Add a Limited User Account - -Up to this point, you have accessed your Compute Instance as the `root` user, which has unlimited privileges and can execute *any* command--even one that could accidentally disrupt your server. We recommend creating a limited user account and using that at all times. Administrative tasks will be done using `sudo` to temporarily elevate your limited user's privileges so you can administer your server. Later, when you want to restrict sudo access for users, see [Linux Users and Groups](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user). - -{{< note >}} -Not all Linux distributions include `sudo` on the system by default, but all the images provided by Linode have sudo in their package repositories. If you get the output `sudo: command not found`, install sudo before continuing. -{{< /note >}} - - -{{< tabs >}} -{{< tab "Ubuntu, Debian, Kali Linux" >}} -1. Create the user, replacing `example_user` with your desired username. You'll then be asked to assign the user a password: - - ```command - adduser example_user - ``` - -1. Add the user to the `sudo` group so you'll have administrative privileges: - - ```command - adduser example_user sudo - ``` -{{< /tab >}} -{{< tab "CentOS/RHEL, Fedora" >}} -1. Create the user, replacing `example_user` with your desired username, and assign a password: - - ```command - useradd example_user && passwd example_user - ``` - -1. Add the user to the `wheel` group for sudo privileges: - - ```command - usermod -aG wheel example_user - ``` -{{< /tab >}} -{{< /tabs >}} - -### Log in as the New User - -1. After creating your limited user, disconnect from your Compute Instance: - - ```command - exit - ``` - -1. Log back in as your new user. Replace `example_user` with your username, and the example IP address with your instance's IP address: - - ```command - ssh example_user@192.0.2.17 - ``` - -Now you can administer your Compute Instance from your new user account instead of `root`. Nearly all superuser commands can be executed with `sudo` (example: `sudo iptables -L -nv`) and those commands will be logged to `/var/log/auth.log`. - -## Harden SSH Access - -By default, password authentication is used to connect to your Compute Instance via SSH. A cryptographic key-pair is more secure because a private key takes the place of a password, which is generally much more difficult to decrypt by brute-force. In this section we'll create a key-pair and configure your system to not accept passwords for SSH logins. - -### Create and Upload Your SSH Key {#upload-ssh-key} - -To protect your user account with public key authentication, you first need to create an SSH key pair and upload the public key to your server. - -1. Locate your existing SSH public key or, if you don't yet have one, create a new SSH key pair. - - - **If you have an existing SSH key,** find the public key on your local machine. SSH keys are typically stored in a hidden `.ssh` directory within the user's home directory: - - - **Linux:** `/home/username/.ssh/` - - **macOS:** `/Users/username/.ssh/` - - **Windows:** `C:\Users\Username\.ssh\` - - Since SSH keys are generated as a private and public key pair, there should be two files for each SSH key. They have similar filenames, with the public key using a `.pub` extension and the private key using no extension. While SSH keys can have custom filenames, many people generate them using their default names. These default filenames start with `id_` followed by the type of key, such as `id_rsa`, `id_ed25519`, and `id_ecdsa`. See example private and public key filenames below: - - - **Private key:** `id_ed25519` - - **Public key:** `id_ed25519.pub` - - - **If you do not yet have an SSH key pair,** generate one now. We recommend using the Ed25519 algorithm with a secure passphrase. The command below works for Linux, macOS, and most fully updated Windows 10 and 11 machines. Replace `user@domain.tld` with your own email address or whatever custom comment string you wish to use. This helps with differentiate SSH keys and identify the owner. - - ```command - ssh-keygen -t ed25519 -C "user@domain.tld" - ``` - - When prompted for the filename, you can press Enter to use the defaults. When prompted for the optional passphrase, we recommend using a string similar to a strong password (with a mix of letters, numbers, and symbols). - - For more detailed instructions, on creating an SSH key, review the [Generate an SSH Key Pair](/docs/guides/use-public-key-authentication-with-ssh/#generate-an-ssh-key-pair) guide. Users of Windows 7 and earlier should review the [PuTTY](/docs/guides/use-public-key-authentication-with-ssh/#public-key-authentication-with-putty-on-windows) section. - -1. Upload the public key to your Compute Instance. Replace `example_user` with the name of the user you plan to administer the server as and `192.0.2.17` with your instance's IP address. - - {{< tabs >}} - {{< tab "Linux" >}} - From your local computer: - - ```command - ssh-copy-id example_user@192.0.2.17 - ``` - {{< /tab >}} - {{< tab "macOS" >}} - On your Compute Instance (while signed in as your limited user): - - ```command - mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh/ - ``` - - From your local computer: - - ```command - scp ~/.ssh/id_rsa.pub example_user@203.0.113.10:~/.ssh/authorized_keys - ``` - - {{< note >}} - `ssh-copy-id` is available in [Homebrew](http://brew.sh/) if you prefer it over SCP. Install with `brew install ssh-copy-id`. - {{< /note >}} - {{< /tab >}} - {{< tab "Windows 10 or 11" >}} - On your Compute Instance (while signed in as your limited user): - - ```command - mkdir -p ~/.ssh && sudo chmod -R 700 ~/.ssh/ - ``` - - From your local computer: - - ```command - scp C:\Users\MyUserName\.ssh/id_rsa.pub example_user@192.0.2.17:~/.ssh/authorized_keys - ``` - {{< /tab >}} - {{< tab "Earlier Windows Versions" >}} - - **Option 1:** This can be done using [WinSCP](http://winscp.net/). In the login window, enter your Compute Instance's public IP address as the hostname, and your non-root username and password. Click *Login* to connect. - - Once WinSCP has connected, you'll see two main sections. The section on the left shows files on your local computer and the section on the right shows files on your instance. Using the file explorer on the left, navigate to the file where you've saved your public key, select the public key file, and click *Upload* in the toolbar above. - - You'll be prompted to enter a path where you'd like to place the file on your Compute Instance. Upload the file to `/home/example_user/.ssh/authorized_keys`, replacing `example_user` with your username. - - - **Option 2:** Copy the public key directly from the PuTTY key generator into the terminal emulator connected to your Compute Instance (as a non-root user): - - ```command - mkdir ~/.ssh; nano ~/.ssh/authorized_keys - ``` - - The above command will open a blank file called `authorized_keys` in a text editor. Copy the public key into the text file, making sure it is copied as a single line exactly as it was generated by PuTTY. Press **CTRL+X**, then **Y**, then **Enter** to save the file. - {{< /tab >}} - {{< /tabs >}} - -1. Finally, you'll want to set permissions for the public key directory and the key file itself. On your Compute Instance, run the following command: - - ```command - sudo chmod -R 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys - ``` - - This provides an extra layer of security by preventing other users from accessing the public key directory as well as the file itself. For more information on how this works, see our guide on [how to modify file permissions](/docs/guides/modify-file-permissions-with-chmod/). - -1. Now exit and log back in to your Compute Instance. In most cases, the first authentication method attempted will be public key authentication. If you've successfully uploaded a public key for your user, you should be logged in without entering your user's password (though you will need to enter the passphrase for the SSH key). - -This should trigger If you specified a passphrase for your private key, you'll need to enter it. - -### SSH Daemon Options - -Lastly, edit the SSH configuration file to disallow root login and disable password authentication over SSH. - -1. Open the SSH configuration file on your Compute Instance using a Linux text editor, such as nano or vim: - - ```command - sudo nano /etc/ssh/sshd_config - ``` - -1. **Disallow root logins over SSH.** This requires all SSH connections be by non-root users. Once a limited user account is connected, administrative privileges are accessible either by using `sudo` or changing to a root shell using `su -`. - - ```file {title="/etc/ssh/sshd_config" lang="aconf"} - # Authentication: - ... - PermitRootLogin no - ``` - -1. **Disable SSH password authentication.** This requires all users connecting via SSH to use key authentication. Depending on the Linux distribution, the line `PasswordAuthentication` may need to be added, or uncommented by removing the leading `#`. - - ```file {title="/etc/ssh/sshd_config" lang="aconf"} - # Change to no to disable tunnelled clear text passwords - PasswordAuthentication no - ``` - - {{< note >}} - You may want to leave password authentication enabled if you connect to your Compute Instance from many different computers. This will allow you to authenticate with a password instead of generating and uploading a key-pair for every device. - {{< /note >}} - -1. **Listen on only one internet protocol.** The SSH daemon listens for incoming connections over both IPv4 and IPv6 by default. Unless you need to SSH into your Compute Instance using both protocols, disable whichever you do not need. *This does not disable the protocol system-wide, it is only for the SSH daemon.* Depending on the Linux distribution, the line `AddressFamily` may need to be added, or uncommented by removing the leading `#` - - Use the option: - - - `AddressFamily inet` to listen only on IPv4. - - `AddressFamily inet6` to listen only on IPv6. - - ```file {title="/etc/ssh/sshd_config" lang="aconf"} - # Port 22 - AddressFamily inet - ``` - -1. Restart the SSH service to load the new configuration. - - - **Distributions with systemd:** If you’re using a Linux distribution which uses systemd (CentOS 7, Debian 8, Fedora, Ubuntu 15.10+), restart the service using systemctl: - - ```command - sudo systemctl restart sshd - ``` - - - **Ubuntu 22.10+**: If you are using Ubuntu 22.10 or later, `sshd` uses socket-based activation. Run this command instead of restarting the service. - - ```command - systemctl enable --now ssh.service - ``` - - - **Distributions without systemd:** If your init system is SystemV or Upstart (CentOS 6, Debian 7, Ubuntu 14.04), run the command below to restart the service: - - ```command - sudo service sshd restart - ``` - -### Use Fail2Ban for SSH Login Protection - -[*Fail2Ban*](http://www.fail2ban.org/wiki/index.php/Main_Page) is an application that bans IP addresses from logging in to your server after too many failed login attempts. Since legitimate logins usually take no more than three tries to succeed (and with SSH keys, no more than one), a server being spammed with unsuccessful logins indicates attempted malicious access. - -Fail2Ban can monitor a variety of protocols including SSH, HTTP, and SMTP. By default, Fail2Ban monitors SSH only, and is a helpful security deterrent for any server since the SSH daemon is usually configured to run constantly and listen for connections from any remote IP address. - -For complete instructions on installing and configuring Fail2Ban, see our guide: [A Tutorial for Using Fail2ban to Secure Your Server](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/). - -## Configure a Firewall - -{{% content "cloud-firewall-shortguide" %}} - -Using a *firewall* to block unwanted inbound traffic to your Compute Instance provides a highly effective security layer. By being very specific about the traffic you allow in, you can prevent intrusions and network mapping. A best practice is to allow only the traffic you need, and deny everything else. See our documentation on some of the most common firewall applications: - -- [nftables](/docs/guides/how-to-use-nftables/) or its predecessor, [iptables](/docs/guides/control-network-traffic-with-iptables/), is the controller for netfilter, the Linux kernel's packet filtering framework. One of these utilities is included in most Linux distributions by default. - -- [firewalld](/docs/guides/introduction-to-firewalld-on-centos/) is a firewall management tool that serves as a front end to nftables or iptables. It is preinstalled on the RHEL family of distributions (and others), including CentOS, AlmaLinux, Rocky Linux, Fedora, and openSUSE Leap. - -- [UFW](/docs/guides/configure-firewall-with-ufw/) is another firewall management tool that operates as a front end to nftables or iptables. It is used by default on Ubuntu and is also available on other Debian-based distributions. - -## Common Lockout Recovery Steps - -If for whatever reason you find yourself locked out of your Compute Instance after putting your security controls into place, there are still a number of ways that you can regain access to your instance. - -- Access your Compute Instance through our out-of-band [Lish console](/docs/products/compute/compute-instances/guides/lish/) to regain access to the internals of your system without relying on SSH. - -- If you need to re-enable password authentication and/or root login over ssh to your instance, you can do this by reversing the following sections of this file to reflect these changes - - ```file {title="/etc/ssh/sshd_config" lang="aconf"} - # Authentication: - ... - PermitRootLogin yes - ... - PasswordAuthentication yes - ``` - - From there, you just need to restart SSH. - - If you’re using a Linux distribution which uses systemd (CentOS 7, Debian 8, Fedora, Ubuntu 15.10+) - - ```command - sudo systemctl restart sshd - ``` - - If your init system is SystemV or Upstart (CentOS 6, Debian 7, Ubuntu 14.04): - - ```command - sudo service sshd restart - ``` - -- If you need to remove your public key from your Compute Instance, you can enter the following command: - - ```command - rm ~/.ssh/authorized_keys - ``` - - You can then replace your key by re-following the [Create an Authentication Key-pair](#create-an-authentication-key-pair) section of this guide. - -## Next Steps - -These are the most basic steps to harden any Linux server, but further security layers will depend on its intended use. Additional techniques can include application configurations, using [intrusion detection](/docs/guides/ossec-ids-debian-7/), installing a form of [access control](https://en.wikipedia.org/wiki/Access_control#Access_Control), [fine tuning sudo access](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user), [removing exposed services](/docs/guides/remove-unused-network-facing-services), and [more](/docs/security/). - -Now you can begin setting up your Compute Instance for any purpose you choose. We have a library of documentation to assist you with a variety of topics ranging from [migration from shared hosting](/docs/guides/migrate-from-shared-hosting-to-linode/) to [enabling two-factor authentication](/docs/products/platform/accounts/guides/user-security-controls/) to [hosting a website](/docs/guides/hosting-a-website-ubuntu-18-04/). - -{{% content "email-warning-shortguide" %}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/systemd-networkd/index.md b/docs/products/compute/compute-instances/guides/systemd-networkd/index.md deleted file mode 100644 index 09def22694d..00000000000 --- a/docs/products/compute/compute-instances/guides/systemd-networkd/index.md +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: "Network Configuration Using systemd-networkd" -description: "Learn how to configure networking using the systemd-networkd utility on Ubuntu, Arch, and other modern Linux distributions" -published: 2022-05-27 -modified: 2022-06-17 -keywords: ["static", "ip address", "systemd-networkd"] -tags: ["networking","linode platform"] -aliases: ['/guides/systemd-networkd/'] ---- - -The [systemd-networkd](https://wiki.archlinux.org/title/systemd-networkd) tool is a newer tool developed as part of systemd. Arch and modern versions of Ubuntu (17.10 and above) currently use systemd-networkd as their default network configuration software. - -{{< note >}} -By default, Linode's Network Helper tool manages networking in Ubuntu using systemd-networkd. Ubuntu also has utility called Netplan that serves as a front end for configuring either systemd-networkd or NetworkManager. To use Netplan instead, review the [Network Configuration Using Netplan](/docs/products/compute/compute-instances/guides/netplan/) guide. -{{< /note >}} - -{{< note >}} -This guide serves as a supplement to the main [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. Please review that guide before making any configuration changes to your Compute Instance. -{{< /note >}} - -## Configuration Files - -Here are details regarding the network configuration files for systemd-networkd, including information on the default configuration file location. - -- **File extension:** `.network` -- **File location:** `/etc/systemd/network/` -- **Naming convention:** `[priority]-[interface].network`, with *[priority]* being used to order the files (files are processed alpha-numerically\*) and *[interface]* providing a convenient way for a user to associate a file with a particular interface. -- **Default configuration file:** `/etc/systemd/network/05-eth0.network`. - -\* *When systemd-networkd brings up the network interfaces, the configuration files are processed alpha-numerically. As such, you'll see that files are typically prepended with a 2-digit number to help order them. The default configuration file is prepended with `05`. If we wanted to create a configuration file for a different interface, we could prepend it with a number below `05` (to be processed before) or above (to be processed after).* - -## Starter Configuration - -Here is an example of a typical configuration file for systemd-networkd. It statically defines the IPv4 address and allows SLAAC to configure the IPv6 address. - -```file {title="/etc/systemd/network/05-eth0.network"} -[Match] -Name=eth0 - -[Network] -DHCP=no -DNS=203.0.113.1 203.0.113.2 203.0.113.3 -Domains=ip.linodeusercontent.com -IPv6PrivacyExtensions=false - -Gateway=192.0.2.1 -Address=192.0.2.123/24 -``` - -- [**Name**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#Name=): `eth0`, the default interface configured for the public internet on most Compute Instances. When using a VLAN, the public internet interface may be configured differently. - -- [**DHCP**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#DHCP=): `no`, which disables DHCP and lets you statically define the main IPv4 address in later fields. - -- [**DNS**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#DNS=): A list of IP addresses that map to Linode's DNS resolvers. The IP addresses provided in this example are placeholders and do not function. - -- [**Domains**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#Domains=): `ip.linodeusercontent.com`, which is defined as a "search domain". This is a quick way of converting single-label hostnames to FQDNs, but isn't often needed. - -- [**IPv6PrivacyExtensions**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#IPv6PrivacyExtensions=): `false`, which disables privacy extensions and helps to resolve any issues with automatically configuring your IPv6 SLAAC address. - -- [**Gateway**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#Gateway=): Statically configures the IPv4 gateway address. - -- [**Address**](https://www.freedesktop.org/software/systemd/man/systemd.network.html#Gateway=): Statically configures the IPv4 address. - -## Configuring IP Addresses Manually - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and review your Compute Instance's IP addresses. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). Make a note of the following pieces of information or keep this page accessible so you can reference it later. - - - Public IPv4 address(es) and the associated IPv4 gateway - - Private IPv4 address (if one has been added) - - IPv6 SLAAC address and the associated IPv6 gateway - - IPv6 /64 or /56 routed range (if one has been added) - - DNS resolvers (if you want to use Linode's resolvers) - -1. Disable Network Helper on the Compute Instance so that it doesn't overwrite any of your changes on the next system reboot. For instructions, see the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting) guide. This guide covers disabling Network Helper *globally* (for all Compute Instances on your account) or just for a single instance. - -1. Log in to the Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). You may want to consider using Lish to avoid getting locked out in the case of a configuration error. - -1. Perform any necessary configuration steps as outlined in the workflows below. You can edit your network configuration file using a text editor like [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or [vim](/docs/guides/what-is-vi/). - - ```command - sudo nano /etc/systemd/network/05-eth0.network - ``` - -1. Once you've edited the configuration file to fit your needs, you need to apply the changes or reboot the Compute Instance. To apply your changes with systemd-networkd, restart the service: - - ```command - sudo systemctl restart systemd-networkd - ``` - -## Changing the Primary IPv4 Address - -To change the IPv4 address configured on the system, set the `Gateway` and `Address` parameters to match the new IP address and its corresponding gateway IP address. - -```file {title="/etc/systemd/network/05-eth0.network"} -... -Gateway=192.0.2.1 -Address=192.0.2.123/24 -``` - -## Configuring the Primary IPv4 Address through DHCP - -DHCP can be used to automatically configure your primary IPv4 address. The primary IPv4 address is defined as the IPv4 address assigned to your system that is in the first position when sorted numerically. To enable DHCP, set the `DHCP` parameter to `yes` and remove (or comment out) the lines that define the `Gateway` and `Address` of the primary IPv4 address. - -```file {title="/etc/systemd/network/05-eth0.network"} -... -[Network] -DHCP=yes -... -# Gateway=192.0.2.1 -# Address=192.0.2.123/24 -``` - -{{< note type="alert" >}} -When using DHCP, the IPv4 address configured on your system may change if you add or remove IPv4 addresses on your Compute Instance. If this happens, any tool or system using the original IPv4 address will no longer be able to connect. -{{< /note >}} - -## Configuring the Primary IPv6 Address through SLAAC - -SLAAC is used to automatically configure your primary IPv6 address. For this to work, your system must accept router advertisements. You also may need to disable IPv6 privacy extensions. Within systemd-networkd, this means setting `IPv6PrivacyExtensions` to `false` and `IPv6AcceptRA` to `true`. - -```file {title="/etc/systemd/network/05-eth0.network"} -... -[Network] -... -IPv6PrivacyExtensions=false -IPv6AcceptRA=true -``` - -{{< note >}} -The `IPv6AcceptRA` parameter isn't strictly required as long as running the `net.ipv6.conf.eth0.autoconf` kernel variable is set to `1` (not a `0`). You can determine the setting by running the following command. - - sysctl net.ipv6.conf.eth0.autoconf -{{< /note >}} - -If you wish to disable IPv6 SLAAC addressing and instead statically configure your IPv6 address (not recommended), you can explicitly set the `IPv6AcceptRA` parameter to `false` and then add your primary IPv6 address (using the prefix of `/128`). - -```file {title="/etc/systemd/network/05-eth0.network"} -... -IPv6AcceptRA=false -Address=[ip-address]/128 -``` - -## Configuring Additional IP Addresses - -Additional IP addresses can be configured by adding another `Address` parameter within the `[Network]` section of the configuration file. - -```file {title="/etc/systemd/network/05-eth0.network"} -... -Address=[ip-address]/[prefix] -``` - -In the example above, make the following replacements: - -- **[ip-address]**: The IP address that you wish to statically configure. If configuring an address from an IPv6 range, you can choose any address within that range. For example, within the range *2001:db8:e001:1b8c::/64*, the address `2001:db8:e001:1b8c::1` can be used. -- **[prefix]**: The prefix is based on the type of IP address you are adding: - - Public IPv4 address: `/24` - - Private IPv4 address: `/17` - - IPv6 SLAAC address: `/128` (though it's recommended to configure this automatically through SLAAC) - - IPv6 address from a range: `/64` or `/56` (depending on the size of the range) - -## Changing the DNS Resolvers - -DNS resolvers are the entities that resolve domain names to their corresponding IPv4 address. By default, the Compute Instance should be using the DNS resolvers for the data center in which it resides. You can change these by setting the `DNS` parameter to a space delimited list of the IP addresses for your preferred DNS resolvers. - -```file {title="/etc/systemd/network/05-eth0.network"} -... -DNS=203.0.113.1 203.0.113.2 203.0.113.3 -``` - -In the above example, replace the IP addresses provided with the IP addresses of the DNS resolvers you wish to use. Both IPv4 and IPv6 addresses can be used together. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/index.md b/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/index.md deleted file mode 100644 index ba0a4f963ad..00000000000 --- a/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/index.md +++ /dev/null @@ -1,446 +0,0 @@ ---- -title: "Troubleshooting Basic Connection Issues on Compute Instances" -description: 'Troubleshooting steps to help restore basic connectivity to your Linode when it is unresponsive.' -published: 2019-02-01 -modified: 2023-03-14 -keywords: ['linux','reboot','lish','troubleshoot','packet loss'] -tags: ["networking", "linode platform"] -bundles: ['troubleshooting'] -aliases: ['/troubleshooting/troubleshooting-basic-connection-issues/','/guides/troubleshooting-basic-connection-issues/','/troubleshooting/disaster-recovery-guide/','/guides/disaster-recovery-guide/'] ---- - -This guide presents troubleshooting strategies for Compute Instances that are unresponsive to any network access. One reason that an instance may be unresponsive is if you recently performed a distribution upgrade or other broad software updates to your system, as those changes can lead to unexpected problems for your core system components. - -Similarly, your server may be unresponsive after maintenance was applied by Linode to your server's host (frequently, this is correlated with software/distribution upgrades performed on your deployment before the host's maintenance). This guide is designed as a useful resource for either of these scenarios. If you need to troubleshoot memory and networking, read our guide on [Troubleshooting Memory and Networking Issues](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/). - -If you can [ping](/docs/guides/linux-system-administration-basics/#the-ping-command) your Compute Instance, but you cannot access SSH or other services, this guide will not assist with troubleshooting those services. Instead, refer to the [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) or [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) guides. - -{{< note title="Additional resources for help" type=secondary isCollapsible=true >}} -This guide explains how to use different troubleshooting commands on your Compute Instance. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. - -If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. - -Linode is not responsible for the configuration or installation of software on your Compute Instance. Refer to Linode's [Scope of Support](/docs/products/platform/get-started/guides/support/#scope-of-support) for a description of which issues Linode Support can help with. -{{< /note >}} - -## Before You Begin - -There are a few core troubleshooting tools you should familiarize yourself with that are used when diagnosing connection problems. - -### The Linode Shell (Lish) - -[*Lish*](/docs/products/compute/compute-instances/guides/lish/) is a shell that provides access to your Compute Instance's serial console. Lish does not establish a network connection to your Compute Instance, so you can use it when your networking is down or SSH is inaccessible. Much of your troubleshooting for basic connection issues will be performed from the Lish console. - -To learn about Lish in more detail, and for instructions on how to connect to your Compute Instance via Lish, review the [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/) guide. In particular, [using your web browser](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish) is a fast and simple way to access Lish. - -### MTR - -When your network traffic leaves your computer to your Compute Instance, it travels through a series of routers that are administered by your internet service provider, by Linode's transit providers, and by the various organizations that form the [Internet's backbone](https://en.wikipedia.org/wiki/Internet_backbone). It is possible to analyze the route that your traffic takes for possible service interruptions using a tool called [MTR](/docs/guides/diagnosing-network-issues-with-mtr/). - -MTR is similar to the [traceroute](/docs/guides/linux-system-administration-basics/#the-traceroute-command) tool, in that it will trace and display your traffic's route. MTR also runs several iterations of its tracing algorithm, which means that it can report statistics like average packet loss and latency over the period that the MTR test runs. - -Review the installation instructions in Linode's [Diagnosing Network Issues with MTR](/docs/guides/diagnosing-network-issues-with-mtr/#install-mtr) guide and install MTR on your computer. - -## Is your Compute Instance Running? - -Log in to [Cloud Manager](https://cloud.linode.com/) and inspect the Compute Instance's dashboard. If the instance is powered off, turn it on. - -### Inspect the Lish Console - -If the Compute Instance is listed as running in Cloud Manager, or after you boot it from the Manager, open the Lish console and look for a login prompt. If a login prompt exists, try logging in with your root user credentials (or any other Linux user credentials that you previously created on the server). - -{{< note >}} -The root user is available in Lish even if root user login is disabled in your SSH configuration. -{{< /note >}} - -1. If you can log in at the Lish console, move on to the [diagnose network connection issues](#diagnose-network-connection-issues) section of this guide. - - If you see a log in prompt, but you have forgotten the credentials for your Compute Instance, follow the instructions for [resetting your root password](/docs/products/compute/compute-instances/guides/reset-root-password/) and then attempt to log in at the Lish console again. - -2. If you do not see a login prompt, your Compute Instance may have [issues with booting](#troubleshoot-booting-issues). - -## Troubleshoot Booting Issues - -If your Compute Instance isn't booting normally, you will not be able to rely on the Lish console to troubleshoot your deployment directly. To continue, you will first need to reboot your Compute Instance into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rescuing), which is a special recovery environment that Linode provides. - -When you boot into Rescue Mode, you are booting your Compute Instance into the [Finnix recovery Linux distribution](https://www.finnix.org). This Finnix image includes a working network configuration, and you will be able to mount your Compute Instance's disks from this environment, which means that you will be able to access your files. - -1. Review the Rescue and Rebuild guide for instructions and [boot into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode). If your Compute Instance does not reboot into Rescue Mode successfully, please [contact Linode Support](/docs/products/platform/get-started/guides/support/#contact-customer-support). - -1. Connect to Rescue Mode via the Lish console as you would normally. You will not be required to enter a username or password to start using the Lish console while in Rescue Mode. - -### Perform a File System Check - -If your Compute Instance can't boot, then it may have experienced filesystem corruption. - -1. Review the Rescue and Rebuild guide for instructions on [running a filesystem check](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#performing-a-file-system-check). - - {{< note type="warning" >}} - Never run a filesystem check on a disk that is mounted. - {{< /note >}} - -1. If your filesystem check reports errors that cannot be fixed, you may need to [rebuild your Compute Instance](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding). - -1. If the filesystem check reports errors that it has fixed, try rebooting your Compute Instance under your normal [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#boot-from-a-configuration-profile). After you reboot, you may find that your connection issues are resolved. If you still cannot connect as normal, restart the troubleshooting process from the [beginning of this guide](#is-your-compute-instance-running). - -1. If the filesystem check does not report any errors, there may be another reason for your booting issues. Continue to [inspecting your system and kernel logs](#inspect-system-and-kernel-logs). - -### Inspect System and Kernel Logs - -In addition to being able to mount your Compute Instance's disks, you can also *change root* (sometimes abbreviated as *chroot*) within Rescue Mode. *Chrooting* will make Rescue Mode's working environment emulate your normal Linux distribution. This means your files and logs will appear where you normally expect them, and you will be able to work with tools like your standard package manager and other system utilities. - -To proceed, review the Rescue and Rebuild guide's instructions on [changing root](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#change-root). Once you have chrooted, you can then investigate your Compute Instance's logs for messages that may describe the cause of your booting issues. - -In systemd Linux distributions (like Debian 8+, Ubuntu 16.04+, CentOS 7+, and recent releases of Arch), you can run the [`journalctl` command](/docs/guides/how-to-use-journalctl/) to view system and kernel logs. In these and other distributions, you may also find system log messages in the following files: - -- `/var/log/messages` -- `/var/log/syslog` -- `/var/log/kern.log` -- `/var/log/dmesg` - -You can use the [`less` command](/docs/guides/how-to-use-less/) to review the contents of these files (e.g. `less /var/log/syslog`). Try pasting your log messages into a search engine or searching in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Linode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding). - -### Quick Tip for Ubuntu and Debian Systems - -After you have chrooted inside Rescue Mode, the following command may help with issues related to your package manager's configuration: - -```command -dpkg --configure -a -``` - -After running this command, try rebooting your Compute Instance into your normal configuration profile. If your issues persist, you may need to investigate and research your system logs further, or consider [rebuilding your Compute Instance](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding). - -## Diagnose Network Connection Issues - -If you can boot your Compute Instance normally and access the Lish console, you can continue investigating network issues. Networking issues may have two causes: - -- There may be a network routing problem between your local system and your Compute Instance, or: - -- If the traffic is properly routed, your Compute Instance's network configuration may be malfunctioning. - -### Check for Network Route Problems - -To diagnose routing problems, run and analyze an MTR report from your computer to your Compute Instance. For instructions on how to use MTR, review Linode's [MTR guide](/docs/guides/diagnosing-network-issues-with-mtr/#analyze-mtr-reports). It is useful to run your MTR report for 100 cycles in order to get a good sample size (note that running a report with this many cycles will take more time to complete). This recommended command includes other helpful options: - -```command -mtr -rwbzc 100 -i 0.2 -rw 198.51.100.0 -``` - -Once you have generated this report, compare it with the following example scenarios. - -{{< note >}} -If you are located in China, and the output of your MTR report shows *high packet loss* or an *improperly configured router*, then your IP address may have been blocked (added to a blocklist) by the GFW (Great Firewall of China). Linode is not able to change your IP address if it has been blocked by the GFW. If you have this issue, review this [community post](https://www.linode.com/community/questions/17192/ssh-refused) for troubleshooting help. -{{< /note >}} - -- **High Packet Loss** - - ```command - mtr --report www.google.com - ``` - - ```output - HOST: localhost Loss% Snt Last Avg Best Wrst StDev - 1. 63.247.74.43 0.0% 10 0.3 0.6 0.3 1.2 0.3 - 2. 63.247.64.157 0.0% 10 0.4 1.0 0.4 6.1 1.8 - 3. 209.51.130.213 60.0% 10 0.8 2.7 0.8 19.0 5.7 - 4. aix.pr1.atl.google.com 60.0% 10 6.7 6.8 6.7 6.9 0.1 - 5. 72.14.233.56 50.0% 10 7.2 8.3 7.1 16.4 2.9 - 6. 209.85.254.247 40.0% 10 39.1 39.4 39.1 39.7 0.2 - 7. 64.233.174.46 40.0% 10 39.6 40.4 39.4 46.9 2.3 - 8. gw-in-f147.1e100.net 40.0% 10 39.6 40.5 39.5 46.7 2.2 - ``` - - This example report shows high persistent packet loss starting mid-way through the route at hop 3, which indicates an issue with the router at hop 3. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. - - {{< note >}} - If your route only shows packet loss at certain routers, and not through to the end of the route, then it is likely that those routers are purposefully limiting [ICMP](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) responses. This is generally not a problem for your connection. Linode's MTR guide provides more context for [packet loss issues](/docs/guides/diagnosing-network-issues-with-mtr/#verify-packet-loss). - {{< /note >}} - - If your report resembles the example, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. Also, consult Linode's MTR guide for more context on [packet loss issues](/docs/guides/diagnosing-network-issues-with-mtr/#verify-packet-loss). - -- **Improperly Configured Router** - - ```command - mtr --report www.google.com - ``` - - ```output - HOST: localhost Loss% Snt Last Avg Best Wrst StDev - 1. 63.247.74.43 0.0% 10 0.3 0.6 0.3 1.2 0.3 - 2. 63.247.64.157 0.0% 10 0.4 1.0 0.4 6.1 1.8 - 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 - 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 - 5. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 - 6. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 - 7. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 - 8. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 - 9. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 - 10. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 - ``` - - If your report shows question marks instead of the hostnames (or IP addresses) of the routers, and if these question marks persist to the end of the route, then the report indicates an improperly configured router. If your report looks like this, [open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. - - {{< note >}} - If your route only shows question marks for certain routers, and not through to the end of the route, then it is likely that those routers are purposefully blocking [ICMP](https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol) responses. This is generally not a problem for your connection. Linode's MTR guide provides more information about [router configuration issues](/docs/guides/diagnosing-network-issues-with-mtr/#an-isp-router-is-not-configured-properly). - {{< /note >}} - -- **Destination Host Networking Improperly Configured** - - ```command - mtr --report www.google.com - ``` - - ```output - HOST: localhost Loss% Snt Last Avg Best Wrst StDev - 1. 63.247.74.43 0.0% 10 0.3 0.6 0.3 1.2 0.3 - 2. 63.247.64.157 0.0% 10 0.4 1.0 0.4 6.1 1.8 - 3. 209.51.130.213 0.0% 10 0.8 2.7 0.8 19.0 5.7 - 4. aix.pr1.atl.google.com 0.0% 10 6.7 6.8 6.7 6.9 0.1 - 5. 72.14.233.56 0.0% 10 7.2 8.3 7.1 16.4 2.9 - 6. 209.85.254.247 0.0% 10 39.1 39.4 39.1 39.7 0.2 - 7. 64.233.174.46 0.0% 10 39.6 40.4 39.4 46.9 2.3 - 8. gw-in-f147.1e100.net 100.0 10 0.0 0.0 0.0 0.0 0.0 - ``` - - If your report shows no packet loss or low packet loss (or non-persistent packet loss isolated to certain routers) until the end of the route, and 100% loss at your Compute Instance, then the report indicates that your Compute Instance's network interface is not configured correctly. If your report looks like this, move down to [confirming network configuration issues from Rescue Mode](#confirm-network-configuration-issues-from-rescue-mode). - -{{< note >}} -If your report does not look like any of the previous examples, read through the [MTR guide](/docs/guides/diagnosing-network-issues-with-mtr/) for other potential scenarios. -{{< /note >}} - -### Confirm Network Configuration Issues from Rescue Mode - -If your MTR indicates a configuration issue within your Compute Instance, you can confirm the problem by using Rescue Mode: - -1. Reboot your Compute Instance into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode). - -1. Run another MTR report from your computer to your Compute Instance's IP address. - -1. As noted earlier, Rescue Mode boots with a working network configuration. If your new MTR report does not show the same packet loss that it did before, this result confirms that your deployment's network configuration needs to be fixed. Continue to [troubleshooting network configuration issues](#troubleshoot-network-configuration-issues). - -1. If your new MTR report still shows the same packet loss at your Compute Instance, this result indicates issues outside of your configuration. [Open a support ticket with your MTR results](#open-a-support-ticket-with-your-mtr-results) for further troubleshooting assistance. - -### Open a Support Ticket with your MTR Results - -Before opening a support ticket, you should also generate a *reverse MTR* report. The MTR tool is run from your Compute Instance and targets your machine's IP address on your local network, whether you're on your home LAN, for example, or public WiFi. To run an MTR from your Compute Instance, log in to your Lish console. To find your local IP, visit a website like https://www.whatismyip.com/. - -Once you have generated your original MTR and your reverse MTR, [open a Linode support ticket](/docs/products/platform/get-started/guides/support/#contact-customer-support), and include your reports and a description of the troubleshooting you've performed so far. Linode Support will try to help further diagnose the routing issue. - -## Troubleshoot Network Configuration Issues - -If you have determined that your network configuration is the cause of the problem, review the following troubleshooting suggestions. If you make any changes in an attempt to fix the issue, you can test those changes with these steps: - -1. Run another MTR report (or [ping](/docs/guides/linux-ping-command/) the Compute Instance) from your computer to your Compute Instance's IP. - -1. If the report shows no packet loss but you still can't access SSH or other services, this result indicates that your network connection is up again, but the other services are still down. Move onto [troubleshooting SSH](#troubleshoot-ssh) or [troubleshooting other services](#troubleshoot-other-services). - -1. If the report still shows the same packet loss, review the remaining troubleshooting suggestions in this section. - -If the recommendations in this section do not resolve your issue, try pasting your [diagnostic commands' output](#run-diagnostic-commands) into a search engine or searching for your output in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Compute Instance](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding). - -### Try Enabling Network Helper - -A quick fix may be to enable the [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) tool. Network Helper will attempt to generate the appropriate static networking configuration for your Linux distribution. After you enable Network Helper, reboot your Compute Instance for the changes to take effect. If Network Helper was already enabled, continue to the remaining troubleshooting suggestions in this section. - -### Did You Upgrade to Ubuntu 18.04+ From an Earlier Version? - -If you performed an inline upgrade from an earlier version of Ubuntu to Ubuntu 18.04+, you may need to enable the `systemd-networkd` service: - -```command -sudo systemctl enable systemd-networkd -``` - -Afterwards, reboot your Compute Instance. - -### Run Diagnostic Commands - -To collect more information about your network configuration, collect output from the diagnostic commands appropriate for your distribution: - -- **Debian 7, Ubuntu 14.04** - - ```command - sudo service network status - cat /etc/network/interfaces - ip a - ip r - sudo ifdown eth0 && sudo ifup eth0 - ``` - -- **Debian 8 and 9, Ubuntu 16.04** - - ```command - sudo systemctl status networking.service -l - sudo journalctl -u networking --no-pager | tail -20 - cat /etc/network/interfaces - ip a - ip r - sudo ifdown eth0 && sudo ifup eth0 - ``` - -- **Ubuntu 18.04** - - ```command - sudo networkctl status - sudo systemctl status systemd-networkd -l - sudo journalctl -u systemd-networkd --no-pager | tail -20 - cat /etc/systemd/network/05-eth0.network - ip a - ip r - sudo netplan apply - ``` - -- **Arch, CoreOS** - - ```command - sudo systemctl status systemd-networkd -l - sudo journalctl -u systemd-networkd --no-pager | tail -20 - cat /etc/systemd/network/05-eth0.network - ip a - ip r - ``` - -- **CentOS 6** - - ```command - sudo service network status - cat /etc/sysconfig/network-scripts/ifcfg-eth0 - ip a - ip r - sudo ifdown eth0 && sudo ifup eth0 - ``` - -- **CentOS 7, Fedora** - - ```command - sudo systemctl status NetworkManager -l - sudo journalctl -u NetworkManager --no-pager | tail -20 - sudo nmcli - cat /etc/sysconfig/network-scripts/ifcfg-eth0 - ip a - ip r - sudo ifdown eth0 && sudo ifup eth0 - ``` - -### Inspect Error Messages - -Your commands' output may show error messages, including generic errors like `Failed to start Raise network interfaces`. There may also be more specific errors that appear. Two common errors that can appear are related to Sendmail and iptables: - -#### Sendmail - -If you find a message similar to the following, it is likely that a broken Sendmail update is at fault: - -```output -/etc/network/if-up.d/sendmail: 44: .: Can't open /usr/share/sendmail/dynamic run-parts: /etc/network/if-up.d/sendmail exited with return code 2 -``` - -The Sendmail issue can usually be resolved by running the following command and restarting your Compute Instance: - -```command -sudo mv /etc/network/if-up.d/sendmail ~ -ifdown -a && ifup -a -``` - -{{< note >}} -Read more about the Sendmail bug [here](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=873978). -{{< /note >}} - -#### iptables - -Malformed rules in your iptables ruleset can sometimes cause issues for your network scripts. An error similar to the following can appear in your logs if this is the case: - -```output -Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: failed to exec /etc/network/if- Apr 06 01:03:17 xlauncher ifup[6359]: run-parts: /etc/network/if-up.d/iptables e -``` - -Run the following command and restart your Compute Instance to resolve this issue: - -```command -sudo mv /etc/network/if-up.d/iptables ~ -``` - -Please note that your firewall will be down at this point, so you will need to re-enable it manually. Review the [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) guide for help with managing iptables. - -### Was your Interface Renamed? - -In your commands' output, you might notice that your `eth0` interface is missing and replaced with another name (for example, `ensp` or `ensp0`). This behavior can be caused by systemd's [Predictable Network Interface Names](https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/) feature. - -1. Disable the use of Predictable Network Interface Names with these commands: - - ```command - ln -s /dev/null /etc/systemd/network/99-default.link - ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules - ``` - -1. Reboot your Compute Instance for the changes to take effect. - -### Review Firewall Rules - -If your interface is up but your networking is still down, your firewall (which is likely implemented by the `iptables` software) may be blocking all connections, including basic ping requests. To review your current firewall ruleset, run: - -```command -sudo iptables -L # displays IPv4 rules -sudo ip6tables -L # displays IPv6 rules -``` - -{{< note >}} -Your deployment may be running FirewallD or UFW, which are front-end software packages used to more easily manage your iptables rules. Run these commands to find out if you are running either package: - -```command -sudo ufw status -sudo firewall-cmd --state -``` - -Review [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. -{{< /note >}} - -Firewall rulesets can vary widely. Review our [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. - -### Disable Firewall Rules - -In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling it afterwards with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) for help with this subject. - -1. Create a temporary backup of your current iptables: - - ```command - sudo iptables-save > ~/iptables.txt - ``` - -1. Set the `INPUT`, `FORWARD` and `OUTPUT` packet policies as `ACCEPT`: - - ```command - sudo iptables -P INPUT ACCEPT - sudo iptables -P FORWARD ACCEPT - sudo iptables -P OUTPUT ACCEPT - ``` - -1. Flush the `nat` table that is consulted when a packet that creates a new connection is encountered: - - ```command - sudo iptables -t nat -F - ``` - -1. Flush the `mangle` table that is used for specialized packet alteration: - - ```command - sudo iptables -t mangle -F - ``` - -1. Flush all the chains in the table: - - ```command - sudo iptables -F - ``` - -1. Delete every non-built-in chain in the table: - - ```command - sudo iptables -X - ``` - -1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the IPv6 rules file. (e.g. `~/ip6tables.txt`). - -## Next Steps - -If you are able to restore basic networking, but you still can't access SSH or other services, refer to the [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) or [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) guides. - -If your connection issues were the result of maintenance performed by Linode, review the [Reboot Survival Guide](/docs/guides/reboot-survival-guide/) for methods to prepare a Compute Instance for any future maintenance. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/feature.png b/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/feature.png deleted file mode 100644 index fc97aa8270a..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/feature.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-details.png b/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-details.png deleted file mode 100644 index a1cbc0faaa1..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-details.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-home.png b/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-home.png deleted file mode 100644 index e011656d19e..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-home.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-listing-non-cmr.jpg b/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-listing-non-cmr.jpg deleted file mode 100644 index 535978599eb..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-listing-non-cmr.jpg and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-listing-non-cmr.png b/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-listing-non-cmr.png deleted file mode 100644 index aedf9a833f4..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/firewall-listing-non-cmr.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/index.md b/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/index.md deleted file mode 100644 index 6105a023062..00000000000 --- a/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/index.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: Troubleshooting Firewall Issues on Compute Instances -description: This guide presents troubleshooting strategies for Compute Instances that may be unresponsive due to issues caused by a firewall. -published: 2020-08-04 -modified: 2023-11-01 -keywords: ["Linode troubleshooting", "Cloud Firewall", "Firewall","troubleshoot"] -bundles: ['troubleshooting'] -image: feature.png -aliases: ['/troubleshooting/troubleshooting-firewalls/','/guides/troubleshooting-firewalls/'] ---- - -This guide presents troubleshooting strategies for Compute Instances that may be unresponsive due to issues caused by a firewall. This could be a [Cloud Firewall](/docs/products/networking/cloud-firewall/get-started/), which is applied on the network level or a software firewall, like UFW (Uncomplicated Firewall), that is configured on your Compute Instance's operating system. - -In many cases, you might suspect a firewall issue if some of your services are inaccessible, or in situations of limited access. A firewall issue may also be suspected if you have connectivity problems not long after implementing new firewall rules. - -While a firewall is often responsible for cases of limited access, these issues may also potentially be caused by a wide array of other issues such as limited network access, resource contention like throttled memory, or internal processes or services that are not configured to communicate over the internet. - -## The Linode Shell (Lish) - -[*Lish*](/docs/products/compute/compute-instances/guides/lish/) is a shell that provides access to your Compute Instance's serial console and is a helpful tool for diagnosing and troubleshooting connection problems. Lish does not establish a network connection to your instance, so you can use it when your networking is down or your Compute Instance's Secure Shell (SSH) port is inaccessible. If you find yourself locked out of SSH, you can use Lish to perform much of the troubleshooting for basic connection issues. - -To learn about Lish in more detail, and for instructions on how to connect to your Compute Instance via Lish, review the [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/) guide. A fast and simple way to access Lish is by [the your web browser option](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish). - -{{< note >}} -When using Lish, you can log in to your Compute Instance with the `root` user, even if `root` user login is disabled by your system's SSH configuration file. -{{< /note >}} - -## Is the Compute Instance Powered On? - -Ensure that your Compute Instance is powered on and running. - -1. Log into [Cloud Manager](https://cloud.linode.com/) and navigate to the Compute Instance listing page. - -1. Verify your Compute Instance's displayed status to determine if it's running or offline. If it your instance is offline, use the **more options** ellipsis to power it on. - -## Is there a Cloud Firewall Assigned to my Compute Instance? - -If you are using Cloud Firewalls, then it's important to verify which Cloud Firewall(s) your Compute Instance is assigned to and to check its Cloud Firewall rules. Likewise, if your Compute Instance is sitting behind a NodeBalancer, you may want to investigate whether or not that NodeBalancer is assigned to any Cloud Firewalls. Note that only inbound rules apply to NodeBalancers. - -1. Log into [Cloud Manager](https://cloud.linode.com) and select **Firewalls** from the menu. - -1. The Firewalls listing page displays a list of all the Cloud Firewalls currently active on your account. - -1. Find the Compute Instance or NodeBalancer you are troubleshooting under the **Services** column to determine which Cloud Firewall(s) is assigned to it. - -1. Next, check the **Status** column to confirm that the Cloud Firewall is **Enabled**. - - ![firewall-home](firewall-listing-non-cmr.jpg) - -1. If the Cloud Firewall is enabled, check to see which rules are currently active by clicking on the label of the Cloud Firewall. This takes you to your Cloud Firewall's **Rules** page. - -1. The **Rules** page displays a list of all of the Cloud Firewall rules that are filtering your service's network traffic. If you notice that the Cloud Firewall rules do not allow traffic for a specific service's port that you are troubleshooting, you may consider [updating your rule's](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/) to allow connections for that port. - - {{< note >}} - If the Cloud Firewall is assigned to more than one Compute Instance or NodeBalancer, modifying the Cloud Firewall rules affect all services assigned to the Cloud Firewall. - {{< /note >}} - - {{< note >}} - Cloud Firewall rules are applied on the network level and are not detectable internally on Compute Instances. For more information on setting up and using Cloud Firewall, see the guide [A Tutorial for Adding and Configuring Linode Cloud Firewalls](/docs/products/networking/cloud-firewall/get-started/). - {{< /note >}} - -## Checking Firewall Rules with UFW - -*Uncomplicated Firewall (UFW)* is an [iptables](/docs/guides/control-network-traffic-with-iptables/) front end that is designed for ease-of-use. See our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) for a deeper dive into UFW. - -{{< note >}} -All steps in this section are performed on your Compute Instance. [Connect to your Compute Instance via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) or using [Lish](/docs/products/compute/compute-instances/guides/lish/). -{{< /note >}} - -To see all active UFW rules, enter the following command: - -```command -sudo ufw status -``` - -Your output will be similar to the following: - -```output -Status: active - -To Action From --- ------ ---- -22 ALLOW Anywhere -80/tcp ALLOW Anywhere -443 ALLOW Anywhere -22 (v6) ALLOW Anywhere (v6) -80/tcp (v6) ALLOW Anywhere (v6) -443 (v6) ALLOW Anywhere (v6) -``` - -If the status is active, the rules listed are all in place and may be blocking one of your services. To remove any individual firewall rule, use the following syntax: - -```command -sudo ufw delete -``` - -For example, to delete the Allow rule for port 80 from the example output above, enter the following command: - -```command -sudo ufw delete allow 80 -``` - -## Checking Firewall Rules with FirewallD - -*firewalld* is the default firewall tool for CentOS and Fedora. While also a front end for iptables like UFW, firewalld has some unique features, like configuration sets and zones. - -{{< note >}} -All steps in this section are performed on your Compute Instance. [Connect to your Compute Instance via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) or using [Lish](/docs/products/compute/compute-instances/guides/lish/). -{{< /note >}} - -To list all configurations for all zones, enter the following command: - -```command -sudo firewall-cmd --list-all-zones -``` - -If you find a rule that doesn't belong, you can safely remove it using the following syntax: - -```command -sudo firewall-cmd --zone=zonename --remove-service=servicename --permanent -``` - -For more information on understanding firewalld, see our [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) guide. - - -## Checking Firewall Rules with iptables - -*iptables* is the most common firewall used on Linux systems. If you're unsure of which firewall software you may be using, chances are that it's iptables in some form. - -{{< note >}} -All steps in this section are performed on your Compute Instance. [Connect to your Compute Instance via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) or using [Lish](/docs/products/compute/compute-instances/guides/lish/). -{{< /note >}} - -To list all active firewall rules using iptables, enter the following commands for IPv4 and IPv6 respectfully: - -```command -sudo iptables -L -nv -sudo ip6tables -L -nv -``` - -Removing rules uses the same syntax to add rules, with the addition of the `-D` or `--delete` option. For example, use the following commands to delete a rule that drops connections to port 110, on the eth0 interface, towards the IPv4 address 198.51.100.0: - -```command -iptables --delete INPUT -j DROP -p tcp --destination-port 110 -i eth0 -d 198.51.100.0 -``` - -or - -```command -iptables -D INPUT -j DROP -p tcp --destination-port 110 -i eth0 -d 198.51.100.0 -``` - -For more information on reading and interpreting iptables rules see our guide on iptables, [A Tutorial for Controlling Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/#basic-iptables-rulesets-for-ipv4-and-ipv6) \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/939-troubleshooting2.png b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/939-troubleshooting2.png deleted file mode 100644 index 86a9985edfb..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/939-troubleshooting2.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/941-troubleshooting3-1.png b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/941-troubleshooting3-1.png deleted file mode 100644 index 906e4ef85bc..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/941-troubleshooting3-1.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/944-troubleshooting4-1.png b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/944-troubleshooting4-1.png deleted file mode 100644 index d5a8ed2242d..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/944-troubleshooting4-1.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/952-troubleshooting1-1-small.png b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/952-troubleshooting1-1-small.png deleted file mode 100644 index c8596ea13c1..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/952-troubleshooting1-1-small.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/953-troubleshooting1-1.png b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/953-troubleshooting1-1.png deleted file mode 100644 index edac6fbdf3b..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/953-troubleshooting1-1.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/disk-storage-allocation.png b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/disk-storage-allocation.png deleted file mode 100644 index 3cf549168fb..00000000000 Binary files a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/disk-storage-allocation.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/index.md b/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/index.md deleted file mode 100644 index 01c20ecc4e9..00000000000 --- a/docs/products/compute/compute-instances/guides/troubleshooting-general-issues/index.md +++ /dev/null @@ -1,197 +0,0 @@ ---- -title: Troubleshooting General Issues on Compute Instances -description: 'This guide provides you with a reference for common troubleshooting scenarios you may encounter when managing your Linode. Multiple sections are included.' -published: 2012-04-05 -modified: 2023-03-14 -keywords: ['troubleshooting','troubleshoot'] -tags: ["linode platform"] -bundles: ['troubleshooting'] -aliases: ['/quick-start-troubleshooting/','/troubleshooting/troubleshooting/'] ---- - -This guide provides common troubleshooting scenarios you may encounter when managing your Compute Instance. Each troubleshooting section provides ways to further diagnose your issue and the corresponding steps, when applicable, to resolve the issue. We recommend using this guide in the following way: - -- Browse the guide's headings and select the issue that best describes your problem. - -- Follow the troubleshooting steps in the order they are presented. - -- Once you've confirmed a specific problem, try fixing it with the suggested solutions. - -If the troubleshooting steps in this guide don't apply to your issue, review these additional troubleshooting guides that cover other topics: - -- [Troubleshooting Connection Issues](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) -- [Troubleshooting SSH Issues](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) -- [Troubleshooting Memory Issues](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/) -- [Troubleshooting Firewall Issues](/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/) -- [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) - -{{< note title="Additional resources for help" type=secondary isCollapsible=true >}} -This guide explains how to use different troubleshooting commands on your Compute Instance. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. - -If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. - -Linode is not responsible for the configuration or installation of software on your Compute Instance. Refer to Linode's [Scope of Support](/docs/products/platform/get-started/guides/support/#scope-of-support) for a description of the issues with which Linode Support can help. -{{< /note >}} - -## Compute Instance is Unresponsive - -If your Compute Instance is unresponsive, either at the Lish console or to basic network requests, read through the [Troubleshooting Basic Connection Issues](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) guide. - -## Compute Instance is Slow - -{{< note >}} -You should follow all steps in the [Troubleshooting Basic Connection Issues](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) guide before using the checklist in this section. -{{< /note >}} - -### Is the Disk Full? - -If your Compute Instance's disk is full, this can cause performance degradation and instability for your applications. Use the following command to determine the free space on your instance's filesystem: - -```command -df -h -``` - -The output will resemble the following example: - -```output -Filesystem Size Used Avail Use% Mounted on -/dev/root 189G 166G 14G 93% / -devtmpfs 3.9G 0 3.9G 0% /dev -tmpfs 3.9G 16K 3.9G 1% /dev/shm -tmpfs 3.9G 399M 3.6G 10% /run -tmpfs 5.0M 0 5.0M 0% /run/lock -tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup -tmpfs 799M 0 799M 0% /run/user/1000 -``` - -In the example output, you can see that the root filesystem is 93% full. Issue the following command to list all files over 200MB on your root filesystem: - -```command -sudo find / -xdev -type f -size +200M -exec ls -lah {} \; -``` - -You can adjust the `+200M` value in this command, as needed, to search for files above a specific size. - -#### Deleted Files - -If a service deletes a file that it is no longer needed, the file remains on your disk until the next time the service has been rebooted. The following example demonstrates how deleted files belonging to Apache can continue to take up space after they have been deleted. - -Use the following command to check for deleted files that are currently open: - -```command -sudo lsof | grep deleted | numfmt --field=8 --to=iec -``` - -This command will check the output of `lsof` for files marked as deleted, and will convert the file sizes so that they're more easily readable. In this example Apache is holding on to several old files: - -```output -apache2 32341 www-data 13u REG 8,0 0 24K /tmp/.ZendSem.OmCTIC (deleted) -apache2 32341 www-data 14w REG 0,19 0 243M /run/lock/apache2/proxy.13748 (deleted) -apache2 32341 www-data 15w REG 0,19 0 243M /run/lock/apache2/mpm-accept.13748 (deleted) -apache2 32342 www-data 12w REG 0,19 0 158M /run/lock/apache2/ssl-cache.13747 (deleted) -apache2 32342 www-data 13u REG 8,0 0 24K /tmp/.ZendSem.OmCTIC (deleted) -apache2 32342 www-data 14w REG 0,19 0 243M /run/lock/apache2/proxy.13748 (deleted) -apache2 32342 www-data 15wW REG 0,19 0 243M /run/lock/apache2/mpm-accept.13748 (deleted) -apache2 32343 www-data 12w REG 0,19 0 158M /run/lock/apache2/ssl-cache.13747 (deleted) -``` - -To free up this space, you can simply restart the Apache service on your Compute Instance. This command restarts the Apache service using [systemd](/docs/guides/what-is-systemd/) on Ubuntu 18.04: - -```command -sudo systemd restart apache2 -``` - -### Is the Compute Instance Out of Memory? - -The applications on your Compute Instance require a certain amount of physical memory to function correctly. If all of the available physical memory is consumed, your system could slow down, display out of memory errors, or become unresponsive. Here's how to tell if your instance is out of memory: - -1. Log in to [Cloud Manager](https://cloud.linode.com). -1. Click the **Linodes** link in the sidebar to view a list of all your Compute Instance. -1. Select a Compute Instance to view its dashboard. -1. Click on the **Launch Console** link in the upper-right hand corner to launch the LISH Console. The LISH console window appears. If memory errors are displayed in the LISH console, stop some running services to free up memory or [upgrade to a larger plan](/docs/products/compute/compute-instances/guides/resize/). -1. Read through the [Troubleshooting Memory and Networking Issues](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/) guide for troubleshooting commands which display your memory use. -1. If an application is consuming all of your available memory, you have three options. You can kill the application, change the application's settings to reduce its memory footprint, or [upgrade your instance](https://www.linode.com/pricing) to a larger plan. - -If your Compute Instance is not out of memory, continue to the next section. - -### Is there a Disk I/O Bottleneck? - -Disk input/output (I/O) bottlenecks can occur when an application or service is reading or writing an excessive amount of information to disk and the processor has to wait to process the information. High I/O wait can significantly slow down your server. To determine if your server currently has an I/O bottleneck, follow the steps below: - -1. [Log in to your Compute Instance via SSH](/docs/products/compute/compute-instances/get-started/#connect-to-the-instance). -1. Enter `top` to access the `top` monitoring utility. The screen shown below appears. - - ![Check for Disk I/O bottleneck.](939-troubleshooting2.png) - -1. Examine the I/O wait percentage, as shown above. If the number is zero, your server does not currently have a bottleneck. -1. If your I/O wait percentage is above zero, verify that your server has enough [free memory available](/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/). In many cases, high I/O is an indication that your server has started "swapping," or using disk space as memory. -1. If your server has free memory available and is not using swap space, use `iotop` or [vmstat](/docs/guides/use-vmstat-to-monitor-system-performance/) to find the application responsible for the excessive I/O. Databases are often a source of excessive I/O. You may need to stop and/or reconfigure the application. - - {{< note >}} - You must run `iotop` as `root` or with `sudo`. - {{< /note >}} - -1. If you cannot determine the source of the IO bottleneck, contact [Linode support](/docs/products/platform/get-started/guides/support/) for assistance. - -Since `top` only reports what is currently happening, and most I/O issues are temporary, it helps to have a monitoring utility set up so you can see a graph of I/O trends and spot potential issues *before* they become major problems. See the guides in [Server Monitoring](/docs/uptime/monitoring/) for instructions on setting up a server monitoring utility. - -## Website is Not Loading - -If your website is unresponsive or not loading correctly, read through the [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) guide. - -{{< note >}} -You should follow all steps in the [Compute Instance is Slow](#compute-instance-is-slow) section before following the [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) guide. -{{< /note >}} - -## Can't Connect via SSH or FTP - -If you can't connect to your Compute Instance over SSH, read through the [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) guide. - -{{< note >}} -You should follow all steps in the [Compute Instance is Slow](#compute-instance-is-slow) section before following the [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) guide. -{{< /note >}} - -### Are You Using Telnet or FTP? - -Telnet and FTP are disabled on your Compute Instance by default, and we strongly recommend that you do not use those protocols. Instead, please use Secure Shell (SSH) and SSH File Transfer Protocol (SFTP) -- the secure versions of the Telnet and FTP protocols. All Compute Instances come with an SSH server enabled, and you can connect to port 22 with SSH and SFTP clients. For more information, see [Connecting to Your Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). - -## Forgot My Username or Password - -### System User/Root Password - -If you've forgotten the password for the root user on your Compute Instance, you can follow the steps for [resetting your root password](/docs/products/compute/compute-instances/guides/reset-root-password/) from Cloud Manager. - -Once you have access to your Compute Instance as the root user, you can reset the password for any additional system users with the `passwd` command. The example resets the password for the `username` user: - -```command -passwd username -``` - -### Cloud Manager User - -- If you forget your Cloud Manager username, you can confirm it by supplying your email address on the [Recover Username](https://login.linode.com/forgot/username) page. - -- Assuming you know your Cloud Manager username, but you've forgotten the password, you can retrieve it on the [Forgot Password](https://login.linode.com/forgot/password) page. - -If you've followed these steps, but you're still having trouble accessing your account, please [contact Support](https://www.linode.com/support/). - -## Cloud Manager is Displaying "Incorrect" Information - -Use the following checklist if Cloud Manager is displaying "incorrect" information. - -### Did You Recently Change your Account? - -If you recently created a new account, resized an existing Compute Instance, or added extra bandwidth, the bandwidth displayed in Cloud Manager will be prorated for the amount of time left in the current billing cycle. For example, if you create an account on the 15th day of the month, the Manager will indicate that your account has been allocated half of the plan's bandwidth for the current month. This information is an accurate representation of the bandwidth available for the rest of the billing period. When then next billing period starts, the Manager will indicate that all of the plan's bandwidth is available. View the [Billing and Payments](/docs/products/platform/billing/) guide for more information. - -### Did You Add Additional Storage? - -If you recently upgraded your plan, your Compute Instance won't be able to take advantage of the additional space until you resize the disk. You can use Cloud Manager to verify if there's additional storage space available for disks: - -1. Log in to [Cloud Manager](https://cloud.linode.com). -1. Click the **Linodes** link in the sidebar to view a list of your Compute Instances. -1. Select a Compute Instance and the **Storage** tab. -1. Compare the total available disk space with the **Size** Column in the **Disks** table. If you have free storage space, you can allocate that space to your existing disks, or create new disks as needed. - - ![Disk storage allocation](disk-storage-allocation.png) - - Follow our steps for [resizing a disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) to take advantage of the extra space. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/index.md b/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/index.md deleted file mode 100644 index 2f0134b7b25..00000000000 --- a/docs/products/compute/compute-instances/guides/troubleshooting-memory-issues/index.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Troubleshooting Memory Issues on Compute Instances -description: 'Many common issues with Compute Instances are caused by excessive memory consumption or errors. This guide provides suggestions for resolving this.' -published: 2009-08-05 -modified: 2023-03-14 -keywords: ["Linode troubleshooting", "Linux configuration","troubleshoot"] -tags: ["networking", "mysql", "apache"] -bundles: ['troubleshooting'] -aliases: ['/troubleshooting/troubleshooting-memory-and-networking-issues/','/troubleshooting/memory-networking/','/guides/troubleshooting-memory-and-networking-issues/'] ---- - -Many common issues with Compute Instances are caused by excessive memory consumption. When your Compute Instance is running low on physical memory, it may start to "swap thrash." This means it's attempting to use your swap partition heavily instead of real RAM. We recommend you limit your swap partition size to 256 MB; heavy use of swap in a virtualized environment will cause major performance problems. - -## Determining Free Memory and Swap Activity - -You can use the following command to display memory use on your Compute Instance: - -```command -free -m -``` - -You can use the following snippet to see a list of your running processes sorted by memory use: - -```command -ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less -``` - -To see IO activity on your Compute Instance, you may use the following command (you may need to install the `sysstat` package under Debian or Ubuntu first): - -```command -iostat -d -x 2 5 -``` - -This will give an extended device utilization report five times at two second intervals. If your Compute Instance is running out of memory, Apache, MySQL, and SpamAssassin are the usual suspects. - -## MySQL Low-Memory Settings - -In your MySQL configuration file (typically found in `/etc/mysql/my.cnf`), change your entries for the various settings shown below to match the recommended values: - -```file {title="/etc/mysql/my.cnf"} -key_buffer = 16K -max_allowed_packet = 1M -thread_stack = 64K -table_cache = 4 -sort_buffer = 64K -net_buffer_length = 2K -``` - -If you don't use InnoDB tables, you should disable InnoDB support by adding the following line: - -```command -skip-innodb -``` - -{{< note type="warning" >}} -The settings in this section are designed to help you temporarily test and troubleshoot MySQL. We recommend that you do not permanently use these settings. -{{< /note >}} - -## Apache 2 Low-Memory Settings - -Determine the type of MPM in use by your Apache install by issuing the following command. This will tell you which section to edit in your Apache configuration file. - -**Debian-based systems** : - -```command -apache2 -V | grep 'MPM' -``` - -**Fedora/CentOS systems** : - -```command -httpd -V | grep 'MPM' -``` - -In your Apache 2 configuration file (typically found at `/etc/apache2/apache2.conf` in Debian and Ubuntu systems, and `/etc/httpd/httpd.conf` in CentOS and other similar systems), change your entries for the various settings shown below to match the recommended values. - -```file {title="/etc/apache2/apache2.conf"} -KeepAlive Off ---- - -StartServers 1 -MinSpareServers 3 -MaxSpareServers 6 -ServerLimit 24 -MaxClients 24 -MaxRequestsPerChild 3000 -``` - -{{< note type="warning" >}} -The settings in this section are designed to help you temporarily test and troubleshoot Apache. We recommend that you do not permanently use these settings. -{{< /note >}} - -## Reducing SpamAssassin Memory Consumption - -If you're filtering mail through SpamAssassin in standalone mode and running into load issues, you'll need to investigate switching to something to keep the program persistent in memory as a daemon. We suggest looking at [amavisd-new](http://www.ijs.si/software/amavisd/). \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-services/index.md b/docs/products/compute/compute-instances/guides/troubleshooting-services/index.md deleted file mode 100644 index 831cfcfc6c5..00000000000 --- a/docs/products/compute/compute-instances/guides/troubleshooting-services/index.md +++ /dev/null @@ -1,222 +0,0 @@ ---- -title: "Troubleshooting Web Servers, Databases, and Other Services" -description: "Troubleshooting steps for when you can't connect to a service that your Compute Instance runs." -published: 2019-02-01 -modified: 2023-03-14 -keywords: ['linux','reboot','lish','troubleshoot','website','webserver'] -tags: ["web server", "database", "networking"] -bundles: ['troubleshooting'] -aliases: ['/troubleshooting/troubleshooting-web-servers-databases-other-services/','/guides/troubleshooting-web-servers-databases-other-services/'] ---- - -This guide presents troubleshooting strategies for when you can't connect to your web server, database, or other services running on your Compute Instance. This guide assumes that you have access to SSH. If you can't log in with SSH, review [Troubleshooting SSH](/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/) and then return to this guide. - -{{< note title="Additional resources for help" type=secondary isCollapsible=true >}} -This guide explains how to use different troubleshooting commands on your Compute Instance. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. - -If the information and logs you gather do not match a solution outlined here, consider searching the [Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. - -Linode is not responsible for the configuration or installation of software on your Compute Instance. Refer to Linode's [Scope of Support](/docs/products/platform/get-started/guides/support/#scope-of-support) for a description of which issues Linode Support can help with. -{{< /note >}} - -## General Troubleshooting Strategies - -This section highlights troubleshooting strategies that apply to every service. - -### Check if the Service is Running - -The service may not be running. Check the status of the service: - -| **Distribution** | **Command** | -| -- | -- | -| systemd systems (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc) | `sudo systemctl status -l` | -| sysvinit systems (CentOS 6, Ubuntu 14.04, Debian 7, etc) | `sudo service status` | - -### Restart the Service - -If the service isn't running, try restarting it: - -| **Distribution** | **Command** | -| -- | -- | -| systemd systems | `sudo systemctl restart ` | -| sysVinit systems | `sudo service restart` | - -### Enable the Service - -If your system was recently rebooted, and the service didn't start automatically at boot, then it may not be enabled. Enable the service to prevent this from happening in the future: - -| **Distribution** | **Command** | -| -- | -- | -| systemd systems | `sudo systemctl enable ` | -| sysVinit systems | `sudo chkconfig on` | - -### Check your Service's Bound IP Address and Ports - -Your service may be listening on an unexpected port, or it may not be bound to your public IP address (or whatever address is desirable). To view which address and ports a service is bound on, run the `ss` command with these options: - -```command -sudo ss -atpu -``` - -Review the application's documentation for help determining the address and port your service should bind to. - -{{< note >}} -One notable example is if a service is only bound to a public IPv4 address and not to an IPv6 address. If a user connects to your Compute Instance over IPv6, they will not be able to access the service. -{{< /note >}} - -### Analyze Service Logs - -If your service doesn't start normally, review your system logs for the service. Your system logs may be in the following locations: - -| **Distribution** | **System Logs** | -| -- | -- | -| systemd systems | [Run `journalctl`](/docs/guides/how-to-use-journalctl/) | -| Ubuntu 14.04, Debian 7 | `/var/log/syslog` | -| CentOS 6 | `/var/log/messages` | - -Your service's log location will vary by the application, but they are often stored in `/var/log`. [The `less` command](/docs/guides/how-to-use-less/) is a useful tool for browsing through your logs. - -Try pasting your log messages into a search engine or searching for your messages in the [Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Community Site. If it becomes difficult to find a solution, you may need to [rebuild your Compute Instance](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding). - -### Review Firewall Rules - -If your service is running but your connections still fail, your firewall (which is likely implemented by the `iptables` software) may be blocking the connections. To review your current firewall ruleset, run: - -```command -sudo iptables -L # displays IPv4 rules -sudo ip6tables -L # displays IPv6 rules -``` - -{{< note >}} -Your deployment may be running FirewallD or UFW, which are front ends used to more easily manage your iptables rules. Run these commands to find out if you are running either package: - -```command -sudo ufw status -sudo firewall-cmd --state -``` - -Review [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. -{{< /note >}} - -Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. For example, a rule which allows incoming HTTP traffic could look like this: - -```output --A INPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT -``` - -### Disable Firewall Rules - -In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling it afterward with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) for help with this subject. - -1. Create a temporary backup of your current iptables: - - ```command - sudo iptables-save > ~/iptables.txt - ``` - -1. Set the `INPUT`, `FORWARD` and `OUTPUT` packet policies as `ACCEPT`: - - ```command - sudo iptables -P INPUT ACCEPT - sudo iptables -P FORWARD ACCEPT - sudo iptables -P OUTPUT ACCEPT - ``` - -1. Flush the `nat` table that is consulted when a packet that creates a new connection is encountered: - - ```command - sudo iptables -t nat -F - ``` - -1. Flush the `mangle` table that is used for specialized packet alteration: - - ```command - sudo iptables -t mangle -F - ``` - -1. Flush all the chains in the table: - - ```command - sudo iptables -F - ``` - -1. Delete every non-built-in chain in the table: - - ```command - sudo iptables -X - ``` - -1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the IPv6 rules file (e.g. `~/ip6tables.txt`). - -## Troubleshoot Web Servers - -If your web server is not running or if connections are timing out, review the [general troubleshooting strategies](#general-troubleshooting-strategies). - -{{< note >}} -Troubleshooting specific to Apache is outlined in [Troubleshooting Common Apache Issues](/docs/guides/troubleshooting-common-apache-issues/#check-virtual-host-definitions). -{{< /note >}} - -If your web server is responding with an error code, your troubleshooting will vary by what code is returned. For more detailed information about each request that's failing, read your web server's logs. Here are some commands that can help you find your web server's logs: - -- **Apache:** - - ```command - grep ErrorLog -r /etc/apache2 # On Ubuntu, Debian - grep ErrorLog -r /etc/httpd # On CentOS, Fedora, RHEL - ``` - -- **NGINX:** - - ```command - grep error_log -r /etc/nginx - ``` - -### Frequent Error Codes - -- **HTTP 401 Unauthorized, HTTP 403 Forbidden** - - The requesting user did not have sufficient permission or access to the requested URL. Review your web server authorization and access control configuration: - - - [Apache - Access Control](https://httpd.apache.org/docs/2.4/howto/access.html) - - - [Apache - Authentication and Authorization](https://httpd.apache.org/docs/2.4/howto/auth.html) - - - [NGINX - Restricting Access with HTTP Basic Authentication](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/) - -- **HTTP 404 Not Found** - - The URL that a user requested could not be found by the web server. Review your web server configuration and make sure your website files are stored in the right location on your filesystem: - - - [Apache - Mapping URLs to Filesystem Locations](https://httpd.apache.org/docs/2.4/urlmapping.html) - - - [NGINX - How nginx processes a request](http://nginx.org/en/docs/http/request_processing.html) - -- **HTTP 500, 502, 503, 504** - - The web server requested a resource from a process it depends on, but the process did not respond as expected. For example, if a database query needs to be performed for a web request, but the database isn't running, then a 50X code will be returned. To troubleshoot these issues, investigate the service that the web server depends on. - -## Troubleshoot Databases - -### Is your Disk Full? - -One common reason that a database may not start is if your disk is full. To check how much disk space you are using, run: - -```command -df -h -``` - -{{< note >}} -This reported disk usage is not the same as the reported storage usage in Cloud Manager. The storage usage in Cloud Manager refers to how much of the disk space you pay for is allocated to your Compute Instance's disks. The output of `df -h` shows how full those disks are. -{{< /note >}} - -You have several options for resolving disk space issues: - -- Free up space on your disk by locating and removing files you don't need, using a tool like [ncdu](https://dev.yorhel.nl/ncdu). - -- If you have any unallocated space on your Compute Instance (storage that you pay for already but which isn't assigned to your disk), [resize your disk](/docs/products/compute/compute-instances/guides/disks-and-storage/) to take advantage of the space. - -- [Upgrade your Compute Instance](/docs/products/compute/compute-instances/guides/resize/) to a higher-tier resource plan and then resize your disk to use the newly available space. If your Compute Instance has a pending free upgrade for your storage space, you can choose to take this free upgrade to solve the issue. - -### Database Performance Troubleshooting - -If your database is running but returning slowly, research how to optimize the database software for the resources your Compute Instance has. If you run MySQL or MariaDB, read [How to Optimize MySQL Performance Using MySQLTuner](/docs/guides/how-to-optimize-mysql-performance-using-mysqltuner/). \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/index.md b/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/index.md deleted file mode 100644 index ab50688fd4b..00000000000 --- a/docs/products/compute/compute-instances/guides/troubleshooting-ssh-issues/index.md +++ /dev/null @@ -1,295 +0,0 @@ ---- -title: "Troubleshooting SSH on Compute Instances" -description: "Troubleshooting steps for when you can't connect to your Compute Instance via SSH." -published: 2019-02-01 -modified: 2023-03-14 -keywords: ['linux','reboot','lish','ssh','troubleshoot'] -tags: ["ssh"] -bundles: ['troubleshooting'] -aliases: ['/troubleshooting/troubleshooting-ssh/','/guides/troubleshooting-ssh/'] ---- - -This guide presents troubleshooting strategies for when you can't connect to your Compute Instance via SSH. If you currently cannot [ping](/docs/guides/linux-system-administration-basics/#the-ping-command) your Compute Instance, then your server also likely has more basic connection issues. If this is the case, you should instead follow the [Troubleshooting Basic Connection Issues](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/) guide. If you restore basic networking to your Compute Instance but still can't access SSH, return to this guide. - -If you can access SSH but not other services, refer to the [Troubleshooting Web Servers, Databases, and Other Services](/docs/products/compute/compute-instances/guides/troubleshooting-services/) guide. - -{{< note type=secondary title="Additional resources for help" isCollapsible=true >}} -This guide explains how to use different troubleshooting commands on your Compute Instance. These commands can produce diagnostic information and logs that may expose the root of your connection issues. For some specific examples of diagnostic information, this guide also explains the corresponding cause of the issue and presents solutions for it. - -If the information and logs you gather do not match a solution outlined here, consider searching the [Linode Community Site](https://www.linode.com/community/questions/) for posts that match your system's symptoms. Or, post a new question in the Community Site and include your commands' output. - -Linode is not responsible for the configuration or installation of software on your Compute Instance. Refer to Linode's [Scope of Support](/docs/products/platform/get-started/guides/support/#scope-of-support) for a description of which issues Linode Support can help with. -{{< /note >}} - -## Before You Begin - -Before troubleshooting your SSH service, familiarize yourself with the Linode Shell. - -### The Linode Shell (Lish) - -[*Lish*](/docs/products/compute/compute-instances/guides/lish/) is a shell that provides access to your Compute Instance's serial console. Lish does not establish a network connection to your Compute Instance, so you can use it when your networking is down or SSH is inaccessible. While troubleshooting SSH, all commands you enter on your system will be performed from the Lish console. - -To learn about Lish in more detail, and for instructions on how to connect to your Compute Instance via Lish, review the [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/) guide. In particular, [using your web browser](/docs/products/compute/compute-instances/guides/lish/#through-cloud-manager-weblish) is a fast and simple way to access Lish. - -### Forgotten your Password? - -If you have forgotten your Linux user's password, you will not be able to log in with Lish. You can reset the root password for your Compute Instance with [these instructions](/docs/products/compute/compute-instances/guides/reset-root-password/). If you are logged in as root, you can change the password of another user with the `passwd` command: - -```command -passwd -``` - -If you reset your password and can log in with Lish, try logging in with SSH, as that may have been the cause of your connection problems. - -## Troubleshoot Unresponsive SSH Connections - -If your SSH connection attempts are timing out or are being immediately rejected, then your SSH daemon may not be running, or your firewall may be blocking SSH connections. This section will help troubleshoot these issues. - -If your connections are *not* timing out or being rejected, or if you are able to resolve these issues but you still can't access SSH because of rejected login attempts, then continue to the [Troubleshoot Rejected SSH Logins](#troubleshoot-rejected-ssh-logins) section. - -### Is SSH Running? - -1. To check on the status of your SSH daemon, run: - - | Distribution | Command | - | -- | -- | - | systemd systems (Arch, Ubuntu 16.04+, Debian 8+, CentOS 7+, etc) | `sudo systemctl status sshd -l` | - | CentOS 6 | `sudo service sshd status` | - | Ubuntu 14.04, Debian 7 | `sudo service ssh status` | - -1. If the command reports the service is running, review the [Is SSH Running on a Non-Standard Port?](#is-ssh-running-on-a-non-standard-port) section. - -1. If the command reports the service is not running, then try restarting it: - - | Distribution | Command | - | -- | -- | - | systemd systems | `sudo systemctl restart sshd` | - | CentOS 6 | `sudo service sshd restart` | - | Ubuntu 14.04, Debian 7 | `sudo service ssh restart` | - -1. Check the status of the service again. If it's still not running, view the logs for the service: - - | Distribution | Command | - | -- | -- | - | systemd systems | `sudo journalctl -u sshd -u ssh` | - | CentOS 6 | `less /var/log/secure` | - | Ubuntu 14.04, Debian 7 | `less /var/log/auth.log` | - - {{< note >}} - Review the [journalctl](/docs/guides/how-to-use-journalctl/) and [less](/docs/guides/how-to-use-less/) guides for help with navigating your logs when using those commands. - {{< /note >}} - -1. Review the [Is Another Service Bound on the Same Port?](#is-another-service-bound-on-the-same-port) section. Then: - - - If you can start the SSH service successfully, but your connections still time out or are rejected, then [review your firewall rules](#review-firewall-rules). - - - If you can't get the service to start, try pasting your logs into a search engine or searching for your logs in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. - -### Is SSH Running on a Non-Standard Port? - -Run `netstat` on your Compute Instance to check which port is used by SSH: - -```command -sudo netstat -plntu | grep ssh -``` - -```output -tcp 0 0 0.0.0.0:41 0.0.0.0:* LISTEN 4433/sshd -tcp6 0 0 :::41 :::* LISTEN 4433/sshd -``` - -This example output shows that SSH is running on port 41. You can connect to SSH by manually specifying this port: - -```command -ssh username@192.0.2.4 -p 41 -``` - -Alternatively, you can [bind SSH](#bind-ssh-to-a-port-number) on the standard port (22). - -### Is Another Service Bound on the Same Port? - -Check your SSH logs for a message that looks like: - -```output -Jan 23 10:29:52 localhost sshd[4370]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. -``` - -This error indicates that another service on your system is already using the same port that SSH binds to, and so SSH can't start. To resolve this issue, choose one of the following solutions. - -- **Bind SSH to a different port** - - Follow instructions for [setting SSH's port number](#bind-ssh-to-a-port-number), and specify a different number than the one that is already in-use. - -- **Stop the other service** - - 1. Use the `netstat` command to discover which other process is using the same port: - - ```command - sudo netstat -plntu | grep :22 - ``` - - ```output - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4433/some-other-service - tcp6 0 0 :::22 :::* LISTEN 4433/some-other-service - ``` - - 1. Stop and disable that other service: - - ```command - sudo systemctl stop some-other-service - sudo systemctl disable some-other-service - ``` - - Or, [kill](/docs/guides/use-killall-and-kill-to-stop-processes-on-linux/) the process using the process ID listed next to the process name in the output from `netstat`. - -- **Assign a different port to the other service** - - 1. Use the `netstat` command to find out what service is bound to the same port. - - 1. Then, change the configuration for that service to use a different port. - - 1. Restart SSH. - -### Bind SSH to a Port Number - -1. Open `/etc/ssh/sshd_config` in your editor. Search for a line in this file that declares the port for SSH: - - ```file {title="/etc/ssh/sshd_config"} - #Port 22 - ``` - -1. Uncomment this line and provide a different number. - -1. Save the file and restart the SSH service. - -### Review Firewall Rules - -If your service is running but your connections still fail, your firewall (which is likely implemented by the `iptables` software) may be blocking the connections. To review your current firewall ruleset, run: - -```command -sudo iptables-save # displays IPv4 rules -sudo ip6tables-save # displays IPv6 rules -``` - -{{< note >}} -Your deployment may be running FirewallD or UFW, which are front ends used to more easily manage your iptables rules. Run these commands to find out if you are running either package: - -```command -sudo ufw status -sudo firewall-cmd --state -``` - -Review [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/#ufw-status) and [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/#firewall-zones) to learn how to manage and inspect your firewall rules with those packages. -{{< /note >}} - -Firewall rulesets can vary widely. Review the [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) guide to analyze your rules and determine if they are blocking connections. A rule which allows incoming SSH traffic could look like this: - -```output --A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT -``` - -In some cases, [fail2ban](https://www.fail2ban.org/wiki/index.php/Main_Page), a tool used for automating the creation of firewall rules to block IP addresses, may be responsible for creating rules that result in a lost connection. If you see firewall chains in place prefixed with `f2b` or `fail2ban`, see our [fail2ban guide](/docs/guides/using-fail2ban-to-secure-your-server-a-tutorial/#lockout-recovery) for troubleshooting this service. - -### Disable Firewall Rules - -In addition to analyzing your firewall ruleset, you can also temporarily disable your firewall to test if it is interfering with your connections. Leaving your firewall disabled increases your security risk, so we recommend re-enabling it afterward with a modified ruleset that will accept your connections. Review [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) for help with this subject. - -1. Create a temporary backup of your current iptables rules: - - ```command - sudo iptables-save > ~/iptables.txt - ``` - -1. Set the `INPUT`, `FORWARD` and `OUTPUT` packet policies as `ACCEPT`: - - ```command - sudo iptables -P INPUT ACCEPT - sudo iptables -P FORWARD ACCEPT - sudo iptables -P OUTPUT ACCEPT - ``` - -1. Flush the `nat` table that is consulted when a packet that creates a new connection is encountered: - - ```command - sudo iptables -t nat -F - ``` - -1. Flush the `mangle` table that is used for specialized packet alteration: - - ```command - sudo iptables -t mangle -F - ``` - -1. Flush all the chains in the table: - - ```command - sudo iptables -F - ``` - -1. Delete every non-built-in chain in the table: - - ```command - sudo iptables -X - ``` - -1. Repeat these steps with the `ip6tables` command to flush your IPv6 rules. Be sure to assign a different name to the IPv6 rules file (e.g. `~/ip6tables.txt`). - -## Troubleshoot Rejected SSH Logins - -If SSH is listening and accepting connections but is rejecting login attempts, review these instructions: - -### Is Root Login Permitted? - -SSH can be configured to disable logins for the root user. To check your SSH configuration, run: - -```command -grep PermitRootLogin /etc/ssh/sshd_config -``` - -If the value of the `PermitRootLogin` is `no`, then try logging in with another user. Or, set the value in `/etc/ssh/sshd_config` to `yes`, restart SSH, and try logging in as root again. - -{{< note >}} -This option can also be set with the value `without-password`. If this value is used, root logins are accepted with public key authentication. -{{< /note >}} - -### Are Password Logins Accepted? - -SSH can be configured to not accept passwords and instead accept public key authentication. To check your SSH configuration, run: - -```command -grep PasswordAuthentication /etc/ssh/sshd_config -``` - -If the value of the `PasswordAuthentication` is `no`, [create a key-pair](/docs/products/compute/compute-instances/guides/set-up-and-secure/#upload-ssh-key). Or, set the value in `/etc/ssh/sshd_config` to `yes`, restart SSH, and try logging in with your password again. - -### Is your Public Key Stored on the Server? - -If you prefer to use public key authentication, but your login attempts with your key are not working, double-check that the server has your public key. To check which keys are recognized for your user, run: - -```command -cat ~/.ssh/authorized_keys -``` - -If your public key is not listed in this file, add it to the file on a new line. - -On some systems, your authorized keys file may be listed in a different location. Run this command to show where your file is located: - -```command -grep AuthorizedKeysFile /etc/ssh/sshd_config -``` - -### Collect Login Attempt Logs - -If the previous troubleshooting steps do not resolve your issues, collect more information about how your logins are failing: - -- View your login attempts in the log files described in step 4 of [Is SSH Running?](#is-ssh-running). In particular, you can search these logs for your local IP address, and the results will show what error messages were recorded for your logins. To find out what your local IP is, visit a website like https://www.whatismyip.com/. - -- Use your SSH client in verbose mode, which will show details for each part of the connection process. Verbose mode is invoked by passing the `-v` option. Passing more than one `v` increases the verbosity. You can use up to three `v`s: - - ```command - ssh -v username@192.0.2.4 - ssh -vv username@192.0.2.4 - ssh -vvv username@192.0.2.4 - ``` - -Try pasting your logs into a search engine or searching for your logs in the [Linode Community Site](https://www.linode.com/community/questions/) to see if anyone else has run into similar issues. If you don't find any results, you can try asking about your issues in a new post on the Linode Community Site. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/guides/upcoming-pricing-changes-april-2023/index.md b/docs/products/compute/compute-instances/guides/upcoming-pricing-changes-april-2023/index.md deleted file mode 100644 index 60b44a9c038..00000000000 --- a/docs/products/compute/compute-instances/guides/upcoming-pricing-changes-april-2023/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "Recent Pricing Changes (Effective 4/1/2023)" -description: "Information related to the Akamai Compute pricing changes effective April 1st, 2023" -published: 2023-03-01 -modified: 2023-03-31 -keywords: ["april pricing update", "pricing", "pricing changes"] ---- - -New pricing for some Compute services has gone into effect starting April 1st 2023. This includes an increase in cost for most Shared and Dedicated CPU Compute Instance plans (excluding the $5/mo 1GB Shared plan), a decrease in cost of network transfer (egress) overage fees, and an increase in cost for additional IPv4 addresses. This page covers each pricing change so you know exactly what to expect on your invoice moving forward. - -{{< note >}} -To learn more about these changes, review the [Akamai’s Cloud Computing Services: Pricing Update](https://www.linode.com/blog/linode/akamai_cloud_computing_price_update/) blog post. -{{< /note >}} - -## Compute Instances - -On April 1st 2023, the price for most Shared CPU and Dedicated CPU Compute Instance plans increased by 20%. This excludes the 1 GB Shared CPU (Nanode) plan, which remains at its current $5/mo price. This change also does not affect High Memory and GPU plans. The tables below outline each plan along with the corresponding resources, the original price, and the new price. - -### Shared CPU Plans and Pricing - -| Plan | Previous
      $/Mo | New
      $/Mo
      | RAM | CPUs | Storage | Transfer | Network In/Out | -| --- | --- | --- | --- | --- | --- | --- | --- | -| **1 GB Shared CPU** | $5 | **$5 (no change)** | 1 GB | 1 | 25 GB | 1 TB | 40/1 Gbps | -| **2 GB Shared CPU** | $10 | **$12** | 2 GB | 1 | 50 GB | 2 TB | 40/2 Gbps | -| **4 GB Shared CPU** | $20 | **$24** | 4 GB | 2 | 80 GB | 4 TB | 40/4 Gbps | -| **8 GB Shared CPU** | $40 | **$48** | 8 GB | 4 | 160 GB | 5 TB | 40/5 Gbps | -| **16 GB Shared CPU** | $80 | **$96** | 16 GB | 6 | 320 GB | 8 TB | 40/6 Gbps | -| **32 GB Shared CPU** | $160 | **$192** | 32 GB | 8 | 640 GB | 16 TB | 40/7 Gbps | -| **64 GB Shared CPU** | $320| **$384** | 64 GB | 16 | 1280 GB | 20 TB | 40/9 Gbps | -| **96 GB Shared CPU** | $480 | **$576** | 96 GB | 20 | 1920 GB | 20 TB | 40/10 Gbps | -| **128 GB Shared CPU** | $640 | **$768** | 128 GB | 24 | 2560 GB | 20 TB | 40/11 Gbps | -| **192 GB Shared CPU** | $960 | **$1,152** | 192 GB | 32 | 3840 GB | 20 TB | 40/12 Gbps | - -### Dedicated CPU Plans and Pricing - -| Plan | Previous
      $/Mo | New $/Mo | RAM | CPUs | Storage | Transfer | Network In/Out | -| --- | --- | --- | --- | --- | --- | --- | --- | -| **4 GB Dedicated CPU** | $30 | **$36** | 4 GB | 2 | 80 GB | 4 TB | 40/4 Gbps | -| **8 GB Dedicated CPU** | $60 | **$72** | 8 GB | 4 | 160 GB | 5 TB | 40/5 Gbps | -| **16 GB Dedicated CPU** | $120 | **$144** | 16 GB | 8 | 320 GB | 6 TB | 40/6 Gbps | -| **32 GB Dedicated CPU** | $240 | **$288** | 32 GB | 16 | 640 GB | 7 TB | 40/7 Gbps | -| **64 GB Dedicated CPU** | $480 | **$576** | 64 GB | 32 | 1280 GB | 8 TB | 40/8 Gbps | -| **96 GB Dedicated CPU** | $720 | **$864** | 96 GB | 48 | 1920 GB | 9 TB | 40/9 Gbps | -| **128 GB Dedicated CPU** | $960 | **$1,152** | 128 GB | 50 | 2500 GB | 10 TB | 40/10 Gbps | -| **256 GB Dedicated CPU** | $1,920 | **$2,304** | 256 GB | 56 | 5000 GB | 11 TB | 40/11 Gbps | -| **512 GB Dedicated CPU** | $3,840 | **$4,608** | 512 GB | 64 | 7200 GB | 12 TB | 40/12 Gbps | - -## Network Transfer (Egress) Overages - -Each Compute Instance plan includes a certain allowance of outbound network transfer per month (ranging from 1 TB to 20 TB). The monthly network allowance of each instance active during a billing period (prorated) is then combined into a monthly transfer pool. Any additional transfer usage that exceeds this monthly pool is billed as a per GB overage charge. To learn more about how network transfer works (and how it is billed), see [Network Transfer Usage and Costs](/docs/products/platform/get-started/guides/network-transfer/). - -Starting on April 1st 2023, the network transfer (egress) overage fees was cut in half, from $0.01/GB (previous fee) to $0.005/GB (new fee). The table below details this change. - -| Network Transfer Type | Previous Price | New Price | -| -- | -- | -- | -| Inbound network transfer (Ingress) | Free (no defined limit) | **Free (no defined limit)** | -| Outbound network transfer (Egress) Overage | $0.01/GB | **$0.005/GB** | - -## Additional IPv4 Addresses - -Each Compute Instance includes a free IPv4 address and IPv6 address. Additional IPv4 addresses can be purchased for a fee and added to an instance. Starting on April 1st 2023, the cost for each additional IP address increased from $1/mo to $2/mo. - -| IP Address Quantity | Previous Price | New Price | -| -- | -- | -- | -| First IPv4 Address | Free | **Free** | -| Additional IPv4 Addresses | $1/mo | **$2/mo** | \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/_index.md b/docs/products/compute/compute-instances/plans/_index.md deleted file mode 100644 index 1234789be4e..00000000000 --- a/docs/products/compute/compute-instances/plans/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Plan Types -title_meta: "Compute Instance Plan Types" -description: "Quickly compare each Compute Instance plan type, including Shared CPU and Dedicated CPU plans" -published: 2024-05-21 -tab_group_main: - weight: 15 ---- - -{{% content "new-data-center-notice" %}} - -{{% content "instance-comparison-shortguide" %}} \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/choosing-a-plan/index.md b/docs/products/compute/compute-instances/plans/choosing-a-plan/index.md deleted file mode 100644 index cef2e4efc35..00000000000 --- a/docs/products/compute/compute-instances/plans/choosing-a-plan/index.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: "Choosing a Compute Instance Type and Plan" -title_meta: "How to Choose a Compute Instance Plan" -description: "Get help deciding which Compute Instance type is right for your use case and learn how to select the most appropriate plan" -published: 2019-02-04 -modified: 2024-05-21 -linkTitle: "Choosing a Plan" -keywords: ["choose", "help", "plan", "size", "shared", "high memory", "dedicated", "dedicated CPU", "GPU instance"] -tags: ["linode platform"] -aliases: ['/platform/how-to-choose-a-linode-plan/','/guides/how-to-choose-a-linode-plan/','/guides/choosing-a-compute-instance-plan/'] ---- - -Linode offers multiple Compute Instance types, each of which can be equipped with various amounts of resources. This lets you create a Compute Instance tailored to the requirements of your application or workload. For example, some applications may need to store a lot of data but require less processing power. Others may need more memory than CPU. Some may be especially CPU-intensive and require more computing power. - -This guide provides you with the information needed to select the most appropriate instance, helping you sort through all of Linode's offerings and land on the right one for the job. - -{{< note >}} -You can easily change between instance types and plans on an existing Compute Instance at any time. Review the [Resizing a Compute Instance](/docs/products/compute/compute-instances/guides/resize/) for instructions. -{{< /note >}} - -## Instance Types - -These are the instance types offered by Linode: - - -- [Shared CPU Instances](#shared-cpu-instances) -- [Dedicated CPU Instances](#dedicated-cpu-instances) -- [Premium Instances](#premium-instances) -- [High Memory Instances](#high-memory-instances) -- [GPU Instances](#gpu-instances) - -They each have unique characteristics and their resources are optimized for different types of workloads. Learn about each of these instance types below, along with the resources provided and their suggested use cases. - -Most of these plan types are equipped with dedicated CPU cores for maximum peak performance and competition-free resources, though the Shared CPU plan comes with shared CPU cores. To learn more about the differences, see [Choosing Between Shared and Dedicated CPUs (and Determining When to Upgrade)](/docs/guides/comparing-shared-and-dedicated-cpus/). - -### Shared CPU Instances - -**1 GB - 192 GB Memory, 1 - 32 Shared vCPU Cores, 25 GB - 3840 GB Storage**
      -Starting at $5/mo ($0.0075/hour). See [Shared CPU Pricing](https://www.linode.com/pricing/#compute-shared) for a full list of plans, resources, and pricing. - -[Shared CPU Instances](/docs/products/compute/compute-instances/plans/shared-cpu/) offer a balanced array of resources coupled with shared CPU cores. These CPU cores can be used at 100% for short bursts, but should remain below 80% sustained usage on average. This keeps costs down while still supporting a wide variety of cloud applications. Your processes are scheduled on the same CPU cores as processes from other Compute Instances. This shared scheduling is done in a secure and performant manner. While Linode works to minimize competition for CPU resources between your instance and other instances on the same hardware, it's possible that high usage from neighboring instances can negatively impact the performance of your instance. - -**Recommended Use Cases:** - -*Best for development servers, staging servers, low traffic websites, personal blogs, and production applications that may not be affected by resource contention.* - -- Medium to low traffic websites, such as for marketing content and blogs -- Forums -- Development and staging servers -- Low traffic databases -- Worker nodes within a container orchestration cluster - -### Dedicated CPU Instances - -**4 GB - 512 GB\* Memory, 2 - 64 Dedicated vCPUs, 80 GB - 7200 GB Storage**
      -Starting at $36/mo ($0.05/hour). See [Dedicated CPU Pricing](https://www.linode.com/pricing/#compute-dedicated) for a full list of plans, resources, and pricing.
      - -\*512 GB plans are in limited availability. - -[Dedicated CPU Instances](/docs/products/compute/compute-instances/plans/dedicated-cpu/) reserve physical CPU cores that you can utilize at 100% load 24/7 for as long as you need. This provides competition free guaranteed CPU resources and ensures your software can run at peak speed and efficiency. With Dedicated CPU instances, you can run your software for prolonged periods of maximum CPU usage, and you can ensure the lowest latency possible for latency-sensitive operations. These instances offer a perfectly balanced set of resources for most production applications. - -**Recommended Use Cases:** - -*Best for production websites, high traffic databases, and any application that requires 100% sustained CPU usage or may be impacted by resource contention.* - -- [CI/CD](/docs/guides/introduction-ci-cd/) toolchains and build servers -- [Game servers](/docs/game-servers/) (like Minecraft or Team Fortress) -- [Audio and video transcoding](/docs/applications/media-servers/) -- [Big data](/docs/applications/big-data/) (and data analysis) -- Scientific computing -- [Machine learning](/docs/guides/how-to-move-machine-learning-model-to-production/) and AI -- High Traffic Databases (Galera, PostgreSQL with Replication Manager, MongoDB using Replication Sets) -- Replicated or Distributed Filesystems (GlusterFS, DRBD) - -### Premium Instances - -**4 GB - 512 GB\* Memory, 2 - 64 Dedicated vCPUs, 80 GB - 7200 GB Storage**
      -Starting at $43/mo ($0.06/hr). See [Premium Pricing](https://www.linode.com/pricing/#premium) for a full list of plans, resources, and pricing. - -\*512 GB plans are in limited availability. - -[Premium Instances](/docs/products/compute/compute-instances/plans/premium/) build off our Dedicated CPU instances and guarantee a minimum hardware class utilizing the latest available [AMD EPYC™](https://www.linode.com/amd/) CPUs. This provides consistent performance to your workloads and is suitable for running mission-critical applications. Premium instances are available in select data centers (see [Premium Instance Availability](/docs/products/compute/compute-instances/plans/premium/#availability)). - -**Recommended Use Cases:** - -*Best for enterprise-grade, business-critical, and latency-sensitive applications.* - -- Any workload that benefits from consistent performance. -- [Audio and video transcoding](/docs/applications/media-servers/) -- [Big data](/docs/applications/big-data/) (and data analysis) -- Scientific computing -- [Machine learning](/docs/guides/how-to-move-machine-learning-model-to-production/) and AI - -### High Memory Instances - -**24 GB - 300 GB Memory, 2 - 16 Dedicated vCPUs, 20 GB - 340 GB Storage**
      -Starting at $60/mo ($0.09/hour). See [High Memory Pricing](https://www.linode.com/pricing/#compute-high-memory) for a full list of plans, resources, and pricing. - -[High Memory Instances](/docs/products/compute/compute-instances/plans/high-memory/) are optimized for memory-intensive applications and equipped with dedicated CPUs, which provide competition free guaranteed CPU resources. These instances feature higher RAM allocations and relatively fewer vCPUs and less storage. This keeps your costs down and provides power to memory-intensive applications. - -**Recommended Use Cases:** - -*Best for in-memory databases, in-memory caching systems, big data processing, and any production application that requires a large amount of memory while keeping costs down.* - -- Any production application that requires large amounts of memory -- In-memory database caching systems, such as [Redis](https://redis.io/) and [Memcached](https://memcached.org/). These applications offer very fast retrieval of data, but they store data in a non-persistent manner (with some caveats). So, they are usually used in conjunction with another persistent database server running on a separate instance. -- In-memory databases, such as possible with [NoSQL](/docs/guides/what-is-nosql/) and [other solutions](https://en.wikipedia.org/wiki/List_of_in-memory_databases) -- [Big data processing](/docs/applications/big-data/) (and data analysis) - -### GPU Instances - -**32 GB - 512 GB Memory, 8 - 60 Dedicated vCPUs, 640 GB - 12 TB GB Storage**
      -NVIDIA RTX 4000 Ada GPU plans (Beta) starting at $600/mo ($0.83/hour) with 1 GPU card, 20 vCPU cores, 64 GB of memory, and 1.5 TB of SSD storage. NVIDIA Quadro RTX 6000 plans starting at $1000/mo ($1.50/hr) with 1 GPU card, 8 vCPU cores, 32 GB of memory, and 640 GB of storage. For a full list of plans, resources, and pricing, see [Akamai Cloud Computing Pricing](https://www.linode.com/pricing/#compute-gpu). - -[GPU Instances](/docs/products/compute/compute-instances/plans/gpu/) are the only Compute Instance type equipped with [NVIDIA RTX 4000 Ada GPU cards](https://resources.nvidia.com/en-us-design-viz-stories-ep/rtx-4000-ada-datashe?lx=CCKW39&contentType=data-sheet) or [NVIDIA Quadro RTX 6000 GPU cards](https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf) for on demand execution of complex processing workloads. These GPUs have CUDA cores, Tensor cores, and RT (Ray Tracing) cores. GPUs are designed to process large blocks of data in parallel, meaning that they are an excellent choice for any workload requiring thousands of simultaneous threads. With significantly more logical cores than a standard CPU, GPUs can perform computations that process large amounts of data in parallel more efficiently. - -**Recommended Use Cases:** - -*Best for applications that require massive amounts of parallel processing power, including machine learning, AI inferencing, graphics processing, and big data analysis.* - -- [Video encoding](/docs/products/compute/compute-instances/plans/gpu/#video-encoding) -- [Graphics processing](/docs/products/compute/compute-instances/plans/gpu/#graphics-processing) -- [AI inferencing](/docs/products/compute/compute-instances/plans/gpu/#machine-learning-and-ai) -- [Big data analysis](/docs/products/compute/compute-instances/plans/gpu/#big-data) -- [General Purpose computing using NVIDIA's CUDA Toolkit](/docs/products/compute/compute-instances/plans/gpu/#general-purpose-computing-using-cuda) - -## Compute Resources - -When selecting a plan, it is important to understand the hardware resources allocated to your instance. These resources include the amount of vCPU cores, memory, storage space, network transfer, and more. Start by reviewing each resource below and the implications it may have for your application. - -| Resource | Description | -| ---- | ----------- | -| Memory (RAM) | The working memory available for your server's processes. Your server stores information in memory that is needed to carry out its functions. Or, it caches data in memory for fast retrieval in the future, if it is likely that the data will be needed. Data stored in RAM is accessed faster than data stored in your Linode's disks, but it is not persistent storage. | -| vCPU Cores | The number of virtual CPUs (vCPUs) available to your server. Your software is often designed to execute its tasks across multiple CPUs in parallel. The higher your vCPU count, the more work you can perform simultaneously. Plans are also equipped with either shared CPU cores or dedicated CPU cores. Dedicated CPU cores allow your system to utilize 100% of your CPU resources at all times, while shared CPU cores require a lower sustained usage and may be affected by resource contention. See [Choosing Between Shared and Dedicated CPUs (and Determining When to Upgrade)](/docs/guides/comparing-shared-and-dedicated-cpus/). | -| Storage | Your server's built-in persistent storage. Large databases, media libraries, and other stores of files will require more storage space. Your Compute Instance's storage is maintained on high-performance SSDs for fast access. You can also supplement your disks with extra [Block Storage Volumes](https://www.linode.com/blockstorage). | -| Transfer | The total amount of traffic your server can emit over the course of a month. Inbound traffic sent to your Compute Instance does not count against your transfer quota. If you exceed your quota, your service will not be shut off; instead, an overage will be billed. Review the [Network Transfer Quota](/docs/products/platform/get-started/guides/network-transfer/) guide for more information about how transfer works. | -| Network In | The maximum bandwidth for inbound traffic sent to your Compute Instance. The bandwidth you observe will also depend on other factors, like the geographical distance between you and your instance and the bandwidth of your local ISP. For help with choosing a data center that will feature the lowest latency and best bandwidth, review the [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) guide. | -| Network Out | The maximum bandwidth for outbound traffic emitted by your Compute Instance. The bandwidth you observe will also depend on other factors, like the geographical distance between you and your instance and the bandwidth of your local ISP. For help with choosing a data center that will feature the lowest latency and best bandwidth, review the [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) guide. -| GPU | GPU's, or Graphical Processing Units are specialized hardware units only available on our GPU instances. Originally designed to manipulate computer graphics and handle image processing, GPUs are now commonly also used for many compute intensive tasks that require thousands of simultaneous threads and the higher number of logical cores that a CPU can not provide alone. - -## Pricing - -If you run a business or not, you likely need to think about pricing when considering which plan is right for you. You can view all pricing on our [Pricing](https://www.linode.com/pricing/) page. Note that pricing and plan options may vary between regions. - -Compare cost per month and save with Linode’s predictable and transparent pricing using our [Cloud Estimator](https://www.linode.com/estimator/). Explore bundled compute, storage, and transfer packages against AWS, GCP, and Azure. - -Migrating from on-premise or between cloud providers for hosting, cloud storage, or cloud computing? Use our [Total Cost of Ownership (TCO) cloud pricing calculator](https://www.linode.com/cloud-pricing-calculator/) to receive a full cost breakdown and technical recommendations. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/comparing-shared-and-dedicated-cpus/cpuusagethrottle.png b/docs/products/compute/compute-instances/plans/comparing-shared-and-dedicated-cpus/cpuusagethrottle.png deleted file mode 100644 index 3679fa3cecb..00000000000 Binary files a/docs/products/compute/compute-instances/plans/comparing-shared-and-dedicated-cpus/cpuusagethrottle.png and /dev/null differ diff --git a/docs/products/compute/compute-instances/plans/comparing-shared-and-dedicated-cpus/index.md b/docs/products/compute/compute-instances/plans/comparing-shared-and-dedicated-cpus/index.md deleted file mode 100644 index 2a78631b9ff..00000000000 --- a/docs/products/compute/compute-instances/plans/comparing-shared-and-dedicated-cpus/index.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: "Choosing Between Shared and Dedicated CPUs (and Determining When to Upgrade)" -title_meta: "Choosing Between Shared and Dedicated CPUs on the Linode Platform" -description: "A collection of diagnostic tasks that identify the potential for benefits from dedicated CPU cores." -published: 2021-08-27 -modified: 2023-07-05 -keywords: ["dedicated cpu", "use cases", "linode cpu", "machine learning", "big data"] -linkTitle: Choosing Between Shared and Dedicated CPUs -tags: ["linode platform"] -aliases: ['/platform/dedicated-cpu/when-to-upgrade-to-dedicated-cpu/','/guides/when-to-upgrade-to-dedicated-cpu/','/guides/comparing-shared-and-dedicated-cpus/'] ---- - -Each Linode Compute Instance is equipped with shared CPU cores or dedicated CPU cores. Understanding the difference between these is key to determining the best plan for your workloads. This guide outlines those differences and aims to help you evaluate your current cloud workloads to determine if plans with dedicated CPU cores would be beneficial. - -## Comparing CPU Types - -The following chart outlines the key differences between shared CPUs and dedicated CPUs, including maximum allowed utilization, CPU contention, and recommended use cases. - -| Specification | Shared CPUs | Dedicated CPUs | -| -- | -- | -- | -| **CPU allocation** | Physical CPU cores may be shared with other neighboring Compute Instances. | Physical CPU cores are reserved just for this Compute Instance. | -| **Maximum *sustained* CPU utilization (24/7)** | 80% | 100% | -| **Maximum *burst* CPU utilization** | 100% | 100% | -| **CPU contention** | Can be expected during peak usage. | No. | -| **Recommended Use Cases** | Best for development servers, staging servers, low traffic websites, personal blogs, and production applications that may not be affected by resource contention. | Best for production websites, enterprise applications, high traffic databases, and any application that requires 100% sustained CPU usage or may be impacted by resource contention. | -| **Plans** | [Shared CPU](/docs/products/compute/compute-instances/plans/shared-cpu/) | [Dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/), [Premium](/docs/products/compute/compute-instances/plans/premium/), [High Memory](/docs/products/compute/compute-instances/plans/high-memory/), [GPU](/docs/products/compute/compute-instances/plans/gpu/) | - -## How Physical CPU Cores Are Managed on Virtual Machines - -All Compute Instances on the Linode platform are cloud-based virtual machines that are equipped with various amounts of CPU cores, memory, storage space, and other resources. These Compute Instances live on powerful physical servers that are outfitted with enterprise-grade CPUs containing a high number of CPU cores. A hypervisor (virtualization software) is used to create virtual machines on these servers and manage the allocation and scheduling of physical resources. Specific to the topic of this guide, hypervisors manage the scheduling of CPU cycles - mapping CPU execution tasks from Compute Instances (virtual CPU cores) to the physical server (physical CPU cores). - -In a **Shared CPU** environment, there may be more virtual CPU cores allocated to Compute Instances than there are physical CPU cores on the server's hardware. In other words, Compute Instances may be sharing physical CPU cores. This means that your CPU requests (or *tasks*) may need to wait in line while tasks from other neighboring Compute Instances are processed. In many cases, this delay in execution is imperceptible. However, when multiple neighboring Compute Instances each have high CPU utilization, you may notice degraded performance in the form of CPU contention or *CPU steal*. CPU steal occurs when the hypervisor instructs different virtual machines to access physical CPU resources faster than the hypervisor is able to cleanly manage. With Shared CPU instances, some level of contention is expected, though we do our best to keep contention down to an absolute minimum. - -In a **Dedicated CPU** environment, virtual CPU cores on a Compute Instances are mapped to their own physical CPU cores. These CPU cores are not shared with neighboring Compute Instances. This allows for a higher level of constant predictable performance for full-duty work and opens up the ability to use your instance's CPU at its absolute maximum capacity (100% CPU utilization all day, every day). - -## When to Choose Shared or Dedicated CPUs - -**Shared CPUs** are more affordable and thus may provide a higher value, especially for workloads that are not CPU intensive and when consistently high CPU performance is not needed. Workloads suited to Shared CPU instances include development servers, staging servers, low traffic websites, personal blogs, and production applications that may not be affected by resource contention. See [Shared CPU > Recommended Workloads](/docs/products/compute/compute-instances/plans/shared-cpu/#recommended-workloads). - -**Dedicated CPUs** are recommended for most production applications and any application that requires 100% sustained usage or might be impacted by resource contention. This includes eCommerce sites, business applications, game servers, CI/CD toolchains, audio and video transcoding, machine learning, scientific computing, high traffic databases, and much more. For more information on these use cases and whether or not your use case may be a good fit for Dedicated CPU, see our guide on [Use Cases for Dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/). - -The following questions may also guide you in choosing shared CPU cores or dedicated CPU cores. - -- Is my server performance critical to the success of my business, app, or other use case? -- Will visitors to my server leave if performance degrades? -- Is my workload unable to accept the uncertainty of my neighbors on the host server? - -If you answered yes to any of the above, you should start with, or move to, a plan with dedicated CPUs. - -## Diagnosing Shared CPU Performance - -If you are using a Shared instance and suspect that contention may be impacting your workload, you may want to see how much steal your CPU is currently experiencing. Diagnosing contention requires internal access to your instance over SSH, then running and understanding diagnostic commands. - -The first test that should be performed is to run the `iostat` command for a period of time to get a wide array of data. By using the `-c` flag, the `iostat` command can focus specifically on data for the CPU. In the following example, steal data is outputted every `1` second, for a total of `10` seconds. - -```command -sudo iostat -c 1 10 -``` - -When reviewing output, the main column to focus on is `%steal`, followed by `%user`. The `%steal` column shows how much of your CPU is currently being utilized due to contention, while the `%user` column shows how much of the CPU is being utilized at the user level. A instance that isn't experiencing any contention and has a small workload would see output resembling the following: - -```output -avg-cpu: %user %nice %system %iowait %steal %idle - 0.11 0.00 0.10 0.01 0.06 99.71 - - -avg-cpu: %user %nice %system %iowait %steal %idle - 0.00 0.00 0.00 0.00 0.00 100.00 - - -avg-cpu: %user %nice %system %iowait %steal %idle - 0.00 0.00 0.00 0.00 0.00 100.00 -``` - -However, an instance that is experiencing contention will see CPU steal that can be as high as several percentage points. The following for example, reflects a instance that is encountering a low level of steal: - -```output -avg-cpu: %user %nice %system %iowait %steal %idle - 88.11 0.00 0.10 0.01 10.06 0.14 - - -avg-cpu: %user %nice %system %iowait %steal %idle - 86.00 0.00 0.00 0.00 12.00 1.69 - - -avg-cpu: %user %nice %system %iowait %steal %idle - 89.00 0.00 0.00 0.00 9.91 1.78 -``` - -It's important to keep in mind that while some steal won't usually have a noticeable impact on smaller workloads, it can have a larger impact on a system that is already using a significant amount of it's available CPU. In the latter example, this user should absolutely consider an upgrade to a dedicated CPU to boost their performance. It's worth keeping in mind that this test only reflects steal occurring at the moment that this test is performed, and there is no guarantee that steal cannot or will not occur in the future. Generally, in shared hosting, some level of steal can be expected. - -## Viewing CPU Usage Graphs - -By default, Cloud Manager will log a history of resource usage and plot CPU data to a graph. We recommend observing CPU usage in Cloud Manager if you're unsure of upgrading to a Dedicated CPU, because it will have the most amount of data pertaining to the lifetime of your instance. By looking at your CPU graph, you'll be empowered to make a value based judgement on any possible upgrade you may need. - -1. To investigate CPU usage on Cloud Manager, log in and click on the Linodes sidebar menu. - -1. Select the instance you'd like to inspect further. - -1. By default, the `analytics` tab for the instance will be automatically selected, and directly underneath the CPU usage graph will be observable. - -Generally, when observing the CPU graph, good candidates for an upgrade to a Dedicated CPU will have high and often relatively steady CPU usage. That being said, this does not necessarily need to be constant and may have high peaks that reflect a possibility for improvement with a Dedicated CPU. - -![Dedicated CPU Candidate Graph](cpuusagethrottle.png "Create a Dedicated CPU instance in Cloud Manager") - -## What If I Need More Specialized Resources? - -Dedicated CPU cores are equipped on all of our Compute Instance plans, except for Shared instances. This means that you can select the plan type that provides the resources to make your workloads run at peak performance. [Dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/) plans provide a balanced set of resources for general purpose workloads. [Premium](/docs/products/compute/compute-instances/plans/premium/) plans provide a balanced set of resources utilizing the latest AMD EPYC™ CPUs for enterprise-grade general purpose workloads. [High Memory](/docs/products/compute/compute-instances/plans/high-memory/) plans feature higher RAM allocations than a standard plan with relatively fewer vCPUs and less storage. This can help to keep your costs down and provide power to memory-intensive applications. - -Additionally, [GPU instances](/docs/products/compute/compute-instances/plans/gpu/) provide access to NVIDIA Quadro RTX 6000 GPU cards with Tensor, ray tracing (RT), and CUDA cores. GPUs are designed to process large blocks of data in parallel, meaning that they are an excellent choice for any workload requiring thousands of simultaneous threads. With significantly more logical cores than a standard CPU alone, GPUs can perform computations that process large amounts of data in parallel more efficiently. - -## How to Upgrade Your Shared Instance - -For more information on how to upgrade or resize your shared instance, consult our [Resizing a Linode](/docs/products/compute/compute-instances/guides/resize/) guide. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/dedicated-cpu/index.md b/docs/products/compute/compute-instances/plans/dedicated-cpu/index.md deleted file mode 100644 index 66393c3f7c7..00000000000 --- a/docs/products/compute/compute-instances/plans/dedicated-cpu/index.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: "Dedicated CPU Compute Instances" -description: "Dedicated CPU Compute Instances are virtual machines that provide guaranteed CPU resources. They are ideal for a variety of production applications and CPU-intensive workloads." -published: 2023-01-18 -modified: 2024-03-11 -linkTitle: "Dedicated CPU" -aliases: ['/products/compute/dedicated-cpu/','/platform/dedicated-cpu/getting-started-with-dedicated-cpu/','/guides/getting-started-with-dedicated-cpu/','/platform/dedicated-cpu/dedicated-cpu-use-cases/','/guides/dedicated-cpu-use-cases/','/platform/dedicated-cpu/','/guides//platform/dedicated-cpu/'] -tags: ["media"] ---- - -Dedicated CPU Compute Instances are virtual machines that provide you with dedicated CPU resources. Their vCPU cores are guaranteed (and, thus, competition-free) so there are no surprises or CPU-related performance degradation. This enables you to run your production applications with confidence that your performance won't be impacted by others. These Compute Instances are CPU-optimized and can sustain CPU resource usage at 100% for as long as your workloads need. - -**Dedicated CPU plans are ideal for nearly all production applications and CPU-intensive workloads, including high traffic websites, video encoding, machine learning, and data processing.** If your application would benefit from dedicated CPU cores as well as a larger amounts of memory, see [High Memory Compute Instances](/docs/products/compute/compute-instances/plans/high-memory/). - -## Dedicated Competition-Free Resources - -A Dedicated CPU Compute Instance provides entire vCPU cores accessible only to you. Because the vCPU cores are not shared, no other Compute Instances can utilize them. Your instance never has to wait for another process, enabling your software to run at peak speed and efficiency. This lets you run workloads that require full-duty work (100% CPU all day, every day) at peak performance. - -## Upgrading from a Shared CPU Instance - -Moving from a Shared CPU Instance to a Dedicated CPU Instance is a seamless process that can positively impact your applications and users. Review the [Choosing Between Shared and Dedicated CPUs (and Determining When to Upgrade)](/docs/guides/comparing-shared-and-dedicated-cpus/) guide to learn more about the differences between Shared and Dedicated CPU plans and when each one might be appropriate. This guide also shows you how to investigate your CPU performance to determine if your application is experiencing resource contention on a Shared CPU Compute Instance. If you wish to upgrade, reference the [Resize a Compute Instance](/docs/products/compute/compute-instances/guides/resize/) guide for more details on resizing your Linode to a different plan type. - -## Recommended Workloads - -Dedicated CPU Compute Instances are suitable for almost any workload that requires consistently high performant CPU resources. This includes: - -- Production websites and e-commerce sites -- Applications that required 100% sustained CPU usage. -- Applications that might be impacted by resource contention. -- [CI/CD](/docs/guides/introduction-ci-cd/) toolchains and build servers -- [Game servers](/docs/game-servers/) (like Minecraft or Team Fortress) -- [Audio and video transcoding](/docs/applications/media-servers/) -- [Big data](/docs/applications/big-data/) (and data analysis) -- Scientific computing -- [Machine learning](/docs/guides/how-to-move-machine-learning-model-to-production/) and AI -- High Traffic Databases (Galera, PostgreSQL with Replication Manager, MongoDB using Replication Sets) -- Replicated or Distributed Filesystems (GlusterFS, DRBD) - -For more details and use cases, see the [Use Cases for Dedicated CPU Instances](#dedicated-cpu-use-cases) section. - -## Availability - -Dedicated CPU instances are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Plans and Pricing - -| Resource | Available Plans | -| -- | -- | -| vCPU cores | 2-64 cores | -| Memory | 4 GB - 512 GB\* | -| Storage | 80 GB - 7200 GB | -| Outbound Network Transfer | 4 TB - 12 TB | -| Outbound Network Bandwidth | 4 Gbps - 12 Gbps | - -\*512 GB plans are in limited availability. - -Pricing starts at $36/month for a Dedicated CPU Compute Instance with 2 vCPU cores, 4GB of memory, and 80 GB of SSD storage. Pricing may vary by region. Review the [Pricing page](https://www.linode.com/pricing/#compute-dedicated) for additional plans and their associated costs. Review the [Compute Instance Plan Types](/docs/products/compute/compute-instances/plans/) page to learn more about other instance types. - -## Dedicated CPU Use Cases - -While a shared plan is usually a good fit for most use cases, a Dedicated CPU Linode may be recommended for a number of workloads related to high and constant CPU processing. Such examples include: - - - - [CI/CD Toolchains and Build Servers](#cicd-toolchains-and-build-servers) - - [Game Servers](#game-servers) - - [Audio and Video Transcoding](#audio-and-video-transcoding) - - [Big Data and Data Analysis](#big-data-and-data-analysis) - - [Scientific Computing](#scientific-computing) - - [Machine Learning](#machine-learning) - -### CI/CD Toolchains and Build Servers - -CI and CD are abbreviations for *Continuous Integration* and *Continuous Delivery*, respectively, and refer to an active approach to DevOps that reduces overall workloads by automatically testing and regularly implementing small changes. This can help to prevent last-minute conflicts and bugs, and keeps tasks on schedule. For more information on the specifics of CI and CD, see our [Introduction to CI/CD Guide](/docs/guides/introduction-ci-cd/). - -In many cases, the CI/CD pipeline can become resource-intensive if many new code changes are built and tested against your build server. When a Linode is used as a remote server and is expected to be regularly active, a Dedicated CPU Linode can add an additional layer of speed and reliability to your toolchain. - -### Game Servers - -Depending on the intensity of demands they place on your Linode, [game servers](/docs/game-servers/) may benefit from a Dedicated CPU. Modern multiplayer games need to coordinate with a high number of clients, and require syncing entire game worlds for each player. If CPU resources are not available, then players will experience issues like stuttering and lag. Below is a short list of popular games that may benefit from a Dedicated CPU: - -- [Rust](/docs/marketplace-docs/guides/rust/) -- [Minecraft](/docs/marketplace-docs/guides/minecraft/) -- [CS:GO](/docs/marketplace-docs/guides/counter-strike-go/) - -### Audio and Video Transcoding - -[Audio and Video Transcoding](/docs/applications/media-servers/) (AKA Video/Audio Encoding) is the process of taking a video or audio file from its original or source format and converting it to another format for use with a different device or tool. Because this is often a time-consuming and resource-intensive task, a Dedicated CPU or [Dedicated GPU](/docs/products/compute/compute-instances/get-started/) Linode are suggested to maximize performance. [FFmpeg](https://ffmpeg.org/) is a popular open source tool used specifically for the manipulation of audio and video, and is recommended for a wide variety of encoding tasks. - -### Big Data and Data Analysis - -[Big Data and Data Analysis](/docs/applications/big-data/) is the process of analyzing and extracting meaningful insights from datasets so large they often require specialized software and hardware. Big data is most easily recognized with the **"three V's"** of big data: - -- **Volume:** Generally, if you are working with terabytes, petabytes, exabytes, or more amounts of information you are in the realm of big data. -- **Velocity:** With Big Data, you are using data that is being created, called, moved, and interacted with at a high velocity. One example is the real time data generated on social media platforms by their users. -- **Variety:** Variety refers to the many different types of data formats with which you may need to interact. Photos, video, audio, and documents can all be written and saved in a number of different formats. It is important to consider the variety of data that you will collect in order to appropriately categorize it. - -Processing big data is often especially hardware-dependent. A Dedicated CPU can give you access to the isolated resources often required to complete these tasks. - -The following tools can be extremely useful when working with big data: - -- [Hadoop](/docs/guides/how-to-install-and-set-up-hadoop-cluster/) - an Apache project for the creation of parallel processing applications on large data sets, distributed across networked nodes. - -- [Apache Spark](https://spark.apache.org/) - a unified analytics engine for large-scale data processing designed with speed and ease of use in mind. - -- [Apache Storm](https://storm.apache.org/) - a distributed computation system that processes streaming data in real time. - -### Scientific Computing - -**Scientific Computing** is a term used to describe the process of using computing power to solve complex scientific problems that are either impossible, dangerous, or otherwise inconvenient to solve via traditional means. Often considered the "Third Pillar" of modern science behind Theoretical Analysis and Experimentation, Scientific Computing has quickly become a prevalent tool in scientific spaces. - -Scientific Computing involves many intersecting skills and tools for a wide array of more specific use cases, though solving complex mathematical formulas dependent on significant computing power is considered to be standard. While there are a large number of open source software tools available, below are two general purpose tools we can recommend to get started with Scientific Computing. - -- [Jupyter Notebook](https://jupyter.org/) -- [Numpy](https://numpy.org/) - -It's worth keeping in mind that, beyond general use cases, there are many more example of tools and software available and often designed for individual fields of science. - -### Machine Learning - -[Machine learning](/docs/guides/how-to-move-machine-learning-model-to-production/) is a powerful approach to data science that uses large sets of data to build prediction algorithms. These prediction algorithms are commonly used in “recommendation” features on many popular music and video applications, online shops, and search engines. When you receive intelligent recommendations tailored to your own tastes, machine learning is often responsible. Other areas where you might find machine learning being used are in self-driving cars, process automation, security, marketing analytics, and health care. - -Below is a list of common tools used for machine learning and AI that can be installed on a Linode CPU instance: - -- [TensorFlow](https://www.tensorflow.org/) - a free, open-source, machine learning framework and deep learning library. Tensorflow was originally developed by Google for internal use and later fully released to the public under the Apache License. - -- [PyTorch](https://pytorch.org/) - a machine learning library for Python that uses the popular GPU-optimized Torch framework. - -- [Apache Mahout](https://mahout.apache.org/) - a scalable library of machine learning algorithms and distributed linear algebra framework designed to let mathematicians, statisticians, and data scientists quickly implement their own algorithms. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/gpu/index.md b/docs/products/compute/compute-instances/plans/gpu/index.md deleted file mode 100644 index b4fe958137a..00000000000 --- a/docs/products/compute/compute-instances/plans/gpu/index.md +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: "GPU Compute Instances" -description: "Virtual machines equipped with NVIDIA Quadro GPUs that are ideal for complex processing and GPU-optimized workloads." -published: 2023-01-18 -modified: 2024-05-21 -linkTitle: "GPU" -aliases: ['/products/compute/gpu/','/platform/linode-gpu/why-linode-gpu/','/guides/why-linode-gpu/','/products/compute/gpu/guides/use-cases/'] ---- - -Scientists, artists, and engineers need access to significant parallel computational power. Linode offers GPU-optimized virtual machines accelerated by NVIDIA RTX 4000 Ada (Beta) or NVIDIA Quadro RTX 6000. These GPU compute instances harness the power of CUDA, Tensor, and RT cores to execute complex processing, transcoding, and ray tracing workloads. - -GPU plans using NVIDIA Quadro RTX 6000 were first introduced in 2019 and have limited deployment availability. The new NVIDIA RTX 4000 Ada GPU plans are being tested by Beta customers. You can register your interest in the new plans by completing the [Reservation Request Form](https://www.linode.com/products/gpu/#gpu-form). - -**GPU plans are ideal for highly specialized workloads that would benefit from dedicated NVIDIA GPUs, including machine learning, AI inferencing, graphics processing, and big data analysis.** - -## On-demand - -When the costs associated with purchasing, installing, and maintaining GPUs are taken into account, the overall cost of ownership is often high. GPU Compute Instances allow you to leverage the power of GPUs while benefiting from the main value proposition of cloud: turning a CapEx into an OpEx. - -## Market Leading Hardware - - The GPU plans use industry-leading NVIDIA GPUs with CUDA, Tensor, and RT cores in each unit. These GPUs support use cases associated with parallel processing, transcoding, and ray tracing. See [GPU Specifications](#gpu-specifications) for more details. - -If one GPU card isn’t enough for your projected workloads, Akamai Cloud Computing offers GPU plans with up to eight cards per instance. - -## Dedicated Competition-Free Resources - -A GPU Compute Instance's vCPU cores are dedicated, not shared, and accessible only to you. Your instance never has to wait for another process, enabling your software to run at peak speed and efficiency. This lets you run workloads that require full-duty work (100% CPU all day, every day) at peak performance. - -## Recommended Workloads - -GPU Compute Instances are suitable for specialized workloads that are optimized for GPUs: - -- Video encoding -- Graphics processing -- AI inferencing -- Big data analysis - -See [GPU Use Cases](#gpu-use-cases) to learn more. - -## Availability - - -| GPU Plan | Regions | -| -- | -- | -| NVIDIA RTX 4000 Ada (Beta) | Seattle, WA, US; Chicago, IL, US; Paris, FR; Osaka, JP | -| NVIDIA Quadro RTX 6000 | Atlanta, GA, US; Newark, NJ, US; Frankfurt, DE; Mumbai, IN; Singapore, SG | - -## Plans and Pricing - -| Resource | NVIDIA RTX 4000 Ada (Beta) | NVIDIA Quadro RTX 6000 -| -- | -- | -- | -| GPU cards | 1-8 | 1-4 | -| GPU Memory (VRAM) | 20 GB - 160 GB |24 GB - 96 GB | -| vCPU cores (dedicated) | 20 - 60 cores | 8-24 cores | -| Memory (RAM) | 64 GB - 512 GB | 32 GB - 128 GB | -| Storage | 1.5 TB - 12 TB | 640 GB - 2560 GB | -| Outbound Network Transfer | 10 TB - 25 TB | 16 TB - 20 TB | -| Outbound Network Bandwidth | 10 Gbps | 10 Gbps | - -Pricing starts at $600/mo ($0.83/hr) for an NVIDIA RTX 4000 Ada GPU Instance (Beta) with 1 GPU card, 20 vCPU cores, 64 GB of memory, and 1.5 TB of SSD storage. Pricing starts at $1,000/mo ($1.50/hr) for an NVIDIA Quadro RTX 6000 GPU Instance with 1 GPU card, 8 vCPU cores, 32 GB of memory, and 640 GB of SSD storage. - -Review the [Pricing page](https://www.linode.com/pricing/#row--compute) for additional plans and their associated costs. Review the [Compute Instance Plan Types](/docs/products/compute/compute-instances/plans/) page to learn more about other instance types. - -{{% content "gpu-deposit-shortguide" %}} - -## GPU Specifications - -Each of the NVIDIA RTX 4000 Ada GPUs (Beta) is equipped the following specifications: - -| Specification | Value | -| -- | -- | -| GPU Memory (VRAM) | 20 GB GDDR6 | -| CUDA Cores (Parallel-Processing) | 6144 | -| Tensor Cores (Transcoding) | 192 | -| RT Cores (Ray Tracing) | 48 | -| FP32 Performance | 26.7 TFLOPS | - -Each of the NVIDIA Quadro RTX 6000 GPUs is equipped the following specifications: - -| Specification | Value | -| -- | -- | -| GPU Memory (VRAM) | 24 GB GDDR6 | -| CUDA Cores (Parallel-Processing) | 4608 | -| Tensor Cores (Transcoding) | 576 | -| RT Cores (Ray Tracing) | 72 | -| FP32 Performance | 16.3 TFLOPS | - -## What are GPUs? - -GPUs (Graphical Processing Units) are specialized hardware originally created to manipulate computer graphics and process images. GPUs are designed to process large blocks of data in parallel making them excellent for compute intensive tasks that require thousands of simultaneous threads. Because a GPU has significantly more logical cores than a standard CPU, it can perform computations that process large amounts of data in parallel, more efficiently. This means GPUs accelerate the large calculations that are required by big data, video encoding, AI, and machine learning. - -GPU Compute Instances include NVIDIA RTX 4000 Ada or NVIDIA Quadro RTX 6000 GPU cards with Tensor, RT, and CUDA cores. NVIDIA RTX 4000 Ada GPU plans are currently only available to Beta customers. Read more about NVIDIA RTX 4000 Ada [here](https://resources.nvidia.com/en-us-design-viz-stories-ep/rtx-4000-ada-datashe?lx=CCKW39&contentType=data-sheet). - -## GPU Use Cases - -### Machine Learning and AI - -Machine learning is a powerful approach to data science that uses large sets of data to build prediction algorithms. These prediction algorithms are commonly used in “recommendation” features on many popular music and video applications, online shops, and search engines. When you receive intelligent recommendations tailored to your own tastes, machine learning is often responsible. Other areas where you might find machine learning being used include self-driving cars, process automation, security, marketing analytics, and health care. - -AI (Artificial Intelligence) is a broad concept that describes technology designed to behave intelligently and mimic the cognitive functions of humans, like learning, decision making, and speech recognition. AI uses large sets of data to learn and adapt in order to achieve a specific goal. GPUs provide the processing power needed for common AI and machine learning tasks like input data preprocessing and model building. - -Below is a list of common tools used for machine learning and AI that can be installed on a GPU Compute Instance: - -- [TensorFlow](https://www.tensorflow.org) - a free, open-source, machine learning framework, and deep learning library. Tensorflow was originally developed by [Google](http://google.com) for internal use and later fully released to the public under the Apache License. - -- [PyTorch](https://pytorch.org/) - a machine learning library for Python that uses the popular GPU optimized [Torch](https://en.wikipedia.org/wiki/Torch_(machine_learning)) framework. - -- [Apache Mahout](https://mahout.apache.org/) - a scalable library of machine learning algorithms, and a distributed linear algebra framework designed to let mathematicians, statisticians, and data scientists quickly implement their own algorithms. - -### Big Data - -Big data is a discipline that analyzes and extracts meaningful insights from large and complex data sets. These sets are so large and complex that they require specialized software and hardware to appropriately capture, manage, and process the data. When thinking of big data and whether or not the term applies to you, it often helps to visualize the “three Vs”: - -- **Volume:** Generally, if you are working with terabytes, exabytes, petabytes, or more amounts of information you are in the realm of big data. - -- **Velocity:** With Big Data, you’re using data that is being created, called, moved, and interacted with at a high velocity. One example is the real time data generated on social media platforms by its users. - -- **Variety:** Variety refers to the many different types of data formats with which you may need to interact. Photos, video, audio, and documents can all be written and saved in a number of different formats. It is important to consider the variety of data that you will collect in order to appropriately categorize it. - -GPUs can help give Big Data systems the additional computational capabilities they need for ideal performance. Below are a few examples of tools which you can use for your own big data solutions: - -- [Hadoop](https://hadoop.apache.org/) - an Apache project that allows the creation of parallel processing applications on large data sets, distributed across networked nodes. - -- [Apache Spark](https://spark.apache.org/) - a unified analytics engine for large-scale data processing designed with speed and ease of use in mind. - -- [Apache Storm](https://storm.apache.org/) - a distributed computation system that processes streaming data in real time. - -### Video Encoding - -Video Encoding is the process of taking a video file's original source format and converting it to another format that is viewable on a different device or using a different tool. This resource intensive task can be greatly accelerated using the power of GPUs. - -- [FFmpeg](https://developer.nvidia.com/ffmpeg) - a popular open-source multimedia manipulation framework that supports a large number of video formats. - -### General Purpose Computing using CUDA - -CUDA (Compute Unified Device Architecture) is a parallel computing platform and API that lets you interact more directly with the GPU for general purpose computing. In practice, this means that a developer can write code in C, C++, or many other supported languages utilizing their GPU to create their own tools and programs. - -If you're interested in using CUDA on your GPU Compute Instance, see the following resources: - -- [NVIDIA's Library of Documentation](https://docs.nvidia.com/cuda/) - -- [Introduction to CUDA](https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/) - -- [NVIDIA's CUDA exercise repository](https://github.com/csc-training/CUDA/tree/master/exercises) - -### Graphics Processing - -One of the most traditional use cases for a GPU is graphics processing. Transforming a large set of pixels or vertices with a shader or simulating realistic lighting via ray tracing are massive parallel processing tasks. Ray tracing is a computationally intensive process that simulates lights in a scene and renders the reflections, refractions, shadows, and indirect lighting. It's impossible to do on GPUs in real-time without hardware-based ray tracing acceleration. GPU Compute Instances offers real-time ray tracing capabilities using a single GPU. - -The GPU plans support advanced shading capabilities such as: - -- Mesh shading models for vertex, tessellation, and geometry stages in the graphics pipeline -- Variable Rate Shading to dynamically control shading rate -- Texture-Space Shading which utilizes a private memory held texture space -- Multi-View Rendering which allows for rendering multiple views in a single pass. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/high-memory/index.md b/docs/products/compute/compute-instances/plans/high-memory/index.md deleted file mode 100644 index a4d7b8a865f..00000000000 --- a/docs/products/compute/compute-instances/plans/high-memory/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "High Memory Compute Instances" -description: "High Memory Linodes offer cost-effective fast data retrieval and in-memory processing." -published: 2023-01-18 -modified: 2023-09-21 -linkTitle: "High Memory" -aliases: ['/products/compute/high-memory/'] ---- - -High Memory Compute Instances are virtual machines that offer a greater price-to-performance ratio for memory-intensive applications. When compared to [Dedicated CPU Instances](/docs/products/compute/compute-instances/plans/dedicated-cpu/), High Memory Instances provide the same dedicated CPU resources but are equipped with more memory per CPU core. This tunes them specifically for memory-intensive applications that value larger amounts of memory over a larger number of CPU cores. - -**High Memory plans are ideal for production applications and CPU-intensive workloads that value greater memory over CPU resources, including caching systems, high-performance databases, and in-memory data processing.** - -## Fast Data Retrieval and In-Memory Processing - -Optimized for in-memory databases and caches, the High Memory Linode is perfect for high-performance querying and is a good addition to any enterprise-level database solution. - -Keep recently-accessed data in memory to speed up retrieval times. Use a High Memory Linode as a Memcached or Redis in-memory data store for better application performance. - -Run queries on large data volumes. High memory Linodes make it possible to process your data completely in memory and quickly get query results. - -## Dedicated Competition-Free Resources - -A High Memory Instance provides entire vCPU cores accessible only to you. Because the vCPU cores are not shared, no other Compute Instances can utilize them. Your instance never has to wait for another process, enabling your software to run at peak speed and efficiency. This lets you run workloads that require full-duty work (100% CPU all day, every day) at peak performance. - -## Recommended Workloads - -High Memory Compute Instances are suitable for workloads that value much larger amounts of memory than other plans of a similar price. This includes: - -- Any production application that requires large amounts of memory -- In-memory database caching systems, such as [Redis](https://redis.io/) and [Memcached](https://memcached.org/) -- In-memory databases, such as possible with [NoSQL](/docs/guides/what-is-nosql/) and [other solutions](https://en.wikipedia.org/wiki/List_of_in-memory_databases) -- [Big data processing](/docs/applications/big-data/) (and data analysis) - -## Availability - -High Memory instances are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Plans and Pricing - -| Resource | Available Plans | -| -- | -- | -| vCPU cores | 2-16 cores | -| Memory | 24 GB - 300 GB | -| Storage | 20 GB - 340 GB | -| Outbound Network Transfer | 5 TB - 9 TB | -| Outbound Network Bandwidth | 5 Gbps - 9 Gbps | - -Pricing starts at $60 for a High Memory Compute Instance with 2 vCPU cores, 24GB memory, and 20GB of SSD storage. Pricing may vary by region. Review the [Pricing page](https://www.linode.com/pricing/#compute-high-memory) for additional plans and their associated costs. Review the [Compute Instance Plan Types](/docs/products/compute/compute-instances/plans/) page to learn more about other instance types. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/premium/index.md b/docs/products/compute/compute-instances/plans/premium/index.md deleted file mode 100644 index cc07efee0ca..00000000000 --- a/docs/products/compute/compute-instances/plans/premium/index.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Premium Compute Instances" -description: "Premium instances guarantee a minimum hardware class utilizing the latest available AMD EPYC™ CPUs, providing consistent high-performance for your workloads." -published: 2023-07-06 -modified: 2024-03-11 -linkTitle: "Premium" ---- - -Premium Compute Instances are virtual machines that come equipped with the latest AMD EPYC™ CPUs, ensuring your applications are running on the latest hardware with consistent high-performance. Premium instances build off of our [Dedicated CPU instances](/docs/products/compute/compute-instances/plans/dedicated-cpu/), offering similar plan resources but with a guaranteed minimum hardware model. - -**Premium plans are ideal for enterprise-grade, business-critical, and latency-sensitive applications, including any workload that benefits from consistent performance with the latest hardware.** - -{{< note >}} -Premium instances are not currently available in all regions. Review the [Availability](#availability) section to learn which data centers can be used to deploy Premium instances. -{{< /note >}} - -## Latest Hardware - -The key differentiator for Premium instances is its guaranteed minimum hardware class, which ensures your workloads run on the latest AMD EPYC™ CPUs. To learn more about AMD CPUs on the Linode platform, review the [AMD page](https://www.linode.com/amd/). This outlines CPU models, benefits of AMD processors, and the CPU models that are available across our fleet. - -## Dedicated Competition-Free Resources - -CPU cores on a Premium instance are accessible only to that instance (not other instances on the same hardware). Because the vCPU cores are not shared, no other Compute Instances can utilize them. Your instance never has to wait for another process, enabling your software to run at peak speed and efficiency. This lets you run workloads that require full-duty work (100% CPU all day, every day) at peak performance. - -## Recommended Workloads - -Premium Compute Instances are suitable for workloads that benefit a balanced set of resources and consistent performance. This includes: - -- Enterprise-grade production applications -- [Audio and video transcoding](/docs/applications/media-servers/) -- [Big data](/docs/applications/big-data/) (and data analysis) -- Scientific computing -- [Machine learning](/docs/guides/how-to-move-machine-learning-model-to-production/) and AI - -## Availability - -Premium Compute Instances are currently available in select data centers. - -| Data center | Status | -| -- | -- | -| **Amsterdam (Netherlands)** | **Available** | -| Atlanta (Georgia, USA) | *Not available* | -| **Chennai (India)** | **Available** | -| **Chicago (Illinois, USA)** | **Available** | -| Dallas (Texas, USA) | *Not available* | -| Frankfurt (Germany) | *Not available* | -| Fremont (California, USA) | *Not available* | -| **Jakarta (Indonesia)** | **Available** | -| **Los Angeles (California, USA)** | **Available** | -| London (United Kingdom) | *Not available* | -| **Madrid (Spain)** | **Available** | -| **Miami (Florida, USA)** | **Available** | -| **Milan (Italy)** | **Available** | -| Mumbai (India) | *Not available* | -| Newark (New Jersey, USA) | *Not available* | -| **Osaka (Japan)** | **Available** | -| **Paris (France)** | **Available** | -| **São Paulo (Brazil)** | **Available** | -| **Seattle (Washington, USA)** | **Available** | -| Singapore | *Not available* | -| **Stockholm (Sweden)** | **Available** | -| Sydney (Australia) | *Not available* | -| Tokyo (Japan) | *Not available* | -| Toronto (Canada) | *Not available* | -| **Washington, DC (USA)** | **Available** | - -## Plans and Pricing - -| Resource | Available Plans | -| -- | -- | -| vCPU cores | 2-64 cores | -| Memory | 4 GB - 512 GB\* | -| Storage | 80 GB - 7,200 GB | -| Outbound Network Transfer | 4 TB - 12 TB | -| Outbound Network Bandwidth | 4 Gbps - 12 Gbps | - -\*512 GB plans are in limited availability. - -Pricing starts at $43/month for a Premium CPU Compute Instance with 2 vCPU cores, 4GB of memory, and 80 GB of SSD storage. Pricing may vary by region. Review the [Pricing page](https://www.linode.com/pricing/) for additional plans and their associated costs. Review the [Compute Instance Plan Types](/docs/products/compute/compute-instances/plans/) page to learn more about other instance types. diff --git a/docs/products/compute/compute-instances/plans/shared-cpu/index.md b/docs/products/compute/compute-instances/plans/shared-cpu/index.md deleted file mode 100644 index 9ed755c37bb..00000000000 --- a/docs/products/compute/compute-instances/plans/shared-cpu/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Shared CPU Compute Instances" -description: "Learn about our Shared CPU Compute Instance plans, our most affordable virtual machines that offer a significant price-to-performance ratio." -published: 2023-01-18 -modified: 2023-09-21 -linkTitle: "Shared CPU" -aliases: ['/products/compute/shared-linodes/','/products/compute/shared-cpu/'] ---- - -Shared CPU Compute Instances are our most affordable virtual machines that offer a significant price-to-performance ratio. They provide a well balanced set of resources that are ideal for a wide range of applications. While most of our other Compute Instance types are equipped with dedicated CPUs, Shared Instances are not. This means that CPU resources are shared with other Compute Instances and a small amount of resource contention is possible. - -**Shared plans are ideal for development servers, staging servers, low traffic websites, personal blogs, and production applications that may not be affected by resource contention.** - -## Recommended Workloads - -Shared CPU Compute Instances are suitable for general workloads that value cost over maximum performance: - -- Production applications with low to medium CPU requirements and are not affected by resource contention -- Applications that require a balanced set of resources -- Medium to low traffic websites, such as for marketing content and blogs -- Forums -- Development and staging servers -- Low traffic databases -- Worker nodes within a container orchestration cluster - -## Availability - -Shared CPU instances are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Plans and Pricing - -| Resource | Available Plans | -| -- | -- | -| vCPU cores | 1-32 cores | -| Memory | 1 GB - 192 GB | -| Storage | 25 GB - 3840 GB | -| Outbound Network Transfer | 1 TB - 20 TB | -| Outbound Network Bandwidth | 1 Gbps - 12 Gbps | - -Pricing starts at $5 for a Shared CPU Compute Instance with 1 vCPU core, 1 GB of memory, and 25 GB of SSD storage. Pricing may vary by region. Review the [Pricing page](https://www.linode.com/pricing/#row--compute) for additional plans and their associated costs. Review the [Compute Instance Plan Types](/docs/products/compute/compute-instances/plans/) page to learn more about other instance types. \ No newline at end of file diff --git a/docs/products/compute/compute-instances/plans/tab.svg b/docs/products/compute/compute-instances/plans/tab.svg deleted file mode 100644 index f5eb32da092..00000000000 --- a/docs/products/compute/compute-instances/plans/tab.svg +++ /dev/null @@ -1,19 +0,0 @@ - - Dedicated CPU - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/products/compute/compute-instances/resources/index.md b/docs/products/compute/compute-instances/resources/index.md deleted file mode 100644 index 71541ef9430..00000000000 --- a/docs/products/compute/compute-instances/resources/index.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Compute Instances" -description: "Resources and other information related to Compute Instances, including videos, blog posts, community posts, customer stories, and press releases." -published: 2023-01-18 -tab_group_main: - weight: 40 -aliases: ['/products/compute/shared-linodes/resources/','/products/compute/shared-cpu/resources/','/products/compute/gpu/resources/','/products/compute/dedicated-cpu/resources/'] ---- - -## All Plans - -### Videos - -- [Linode Explained](https://www.linode.com/content/linode-explained/) - -- [Linode India Overview](https://www.linode.com/content/linode-mumbai-data-center-overview-video/) - -- [Linode Mumbai Data Center](https://www.linode.com/content/linode-mumbai-data-center-video/) - -- [Linode Toronto Data Center](https://www.linode.com/content/linode-toronto-data-center-video/) - -- [About Linode](https://www.linode.com/content/about-linode-video/) - -### Blog Posts - -- [Linode Launches Free Advanced DDoS Protection Across Its Global Network](https://www.linode.com/press-release/linode-launches-free-advanced-ddos-protection-across-its-global-network/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [Linode Chooses Sydney as Next Stop in Global Expansion](https://www.linode.com/press-release/linode-chooses-sydney-as-next-stop-in-global-expansion/) - -- [Linode Turns 7, BIG RAM Increase](https://www.linode.com/blog/linode/linode-turns-7-big-ram-increase/) - -### Community Posts - -- [How to choose the right Linode Plan](https://www.linode.com/community/questions/11570/how-to-choose-the-right-linode-plan) - -- [What is the difference between disk allocation and disk usage?](https://www.linode.com/community/questions/19798/what-is-the-difference-between-disk-allocation-and-disk-usage) - -- [What is CPU steal and how does it affect my Linode?](https://www.linode.com/community/questions/18168/what-is-cpu-steal-and-how-does-it-affect-my-linode) - -- [Can I access the entire /24 block my IPv4 address is in?](https://www.linode.com/community/questions/314/can-i-access-the-entire-24-block-my-ipv4-address-is-in) - -- [Hey, how can I use Linode VPS for internet browsing?](https://www.linode.com/community/questions/19770/hey-how-can-i-use-linode-vps-for-internet-browsing) - -- [Getting started with Linode?](https://www.linode.com/community/questions/17493/get-started-with-linode) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=shared+linodes). - -### Customer Stories - -- [Craft of Code Chris Alfano](https://www.linode.com/spotlight/chris-alfano/) - -- [Craft of Code Flowlens](https://www.linode.com/spotlight/flowlens/) - -- [Craft of Code Austin Balarin](https://www.linode.com/spotlight/austin-balarin/) - -- [Craft of Code Will Blew](https://www.linode.com/spotlight/will-blew/) - -- [Craft of Code Bernd Hilmar](https://www.linode.com/spotlight/bernd-hilmar/) - -### Press Releases - -- [Linode Expands Global Data Center Network to India](https://www.linode.com/press-release/linode-expands-global-data-center-network-to-india/) - -- [Linode Opens Toronto Data Center](https://www.linode.com/press-release/linode-opens-toronto-data-center/) - -- [Linode Launches Frankfurt Data Center](https://www.linode.com/press-release/linode-launches-frankfurt-datacenter/) - -- [Linode Celebrates 12th Birthday by Adopting KVM & Boosting Cloud Server Performance by 300%](https://www.linode.com/press-release/linode-celebrates-12th-birthday-by-adopting-kvm-and-boosting-cloud-server-performance-by-300/) - -- [Linode Opens New Data Center in Singapore](https://www.linode.com/press-release/linode-opens-new-datacenter-in-singapore/) - -### External Resources - -- [eBook: An Introduction to High-Availability Design for WordPress (and not only WordPress!](https://resources.pressidium.com/high-availability-wordpress-ebook/) - -## Dedicated CPU Compute Instances - -### Videos - -- [Dedicated CPU](https://www.linode.com/content/dedicated-cpu-video/) - -### Blog Posts - -- [Introducing: Linode Dedicated CPU Instances](https://www.linode.com/blog/linode/introducing-linode-dedicated-cpu-instances/) - -- [Linode turns 16: Triples Dedicated plan storage, halves NodeBalancer cost](https://www.linode.com/blog/linode/linode-turns-16-triples-dedicated-plan-storage-halves-nodebalancer-cost/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [October Docs Roundup: Rancher, Data Visualization, and More](https://www.linode.com/blog/open-source/october-docs-roundup-rancher-data-visualization-and-more/) - -- [Linode Toronto Data Center Now Available](https://www.linode.com/blog/linode/linode-toronto-data-center-now-available/) - -### Community Posts - -- [Does a Dedicated CPU or High Memory plan improve disk I/O performance?](https://www.linode.com/community/questions/19437/does-a-dedicated-cpu-or-high-memory-plan-improve-disk-io-performance) - -- [4GB Standard to 4GB Dedicated plan - is it worth it?](https://www.linode.com/community/questions/19479/from-4gb-standard-to-4gb-dedicated-plan-is-it-worth-it) - -- [How do I know if a Dedicated CPU plan will help?](https://www.linode.com/community/questions/17812/how-do-i-know-if-a-dedicated-cpu-plan-will-help) - -- [Which Linode plan would be best for video streaming?](https://www.linode.com/community/questions/19735/which-linode-plan-would-be-best-for-video-streaming) - -- [is it possible to resize from a Standard Plan to a Dedicated CPU plan?](https://www.linode.com/community/questions/19240/is-it-possible-to-resize-from-a-standard-plan-to-a-dedicated-cpu-plan) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=dedicated). - -### Customer Stories - -- [Craft of Code Jason Nickel](https://www.linode.com/spotlight/jason-nickel/) - -- [Craft of Code Cloudnet](https://www.linode.com/spotlight/cloudnet/) - -### Press Releases - -- [Linode Expands Cloud Solutions For Developers, Launches Dedicated CPU Instances](https://www.linode.com/press-release/linode-expands-cloud-solutions-for-developers-launches-dedicated-cpu-instances/) - -## GPU Compute Instances - -### eBooks - -- [GPU Price-Performance Benchmarking Report](https://www.linode.com/content/gpu-price-performance-benchmarking/) - -## Videos - -- [Linode puts powerful NVIDIA GPU in its Linux Cloud](https://www.tfir.io/linode-puts-powerful-nvidia-gpus-in-its-linux-cloud/) - -### Blog Posts - -- [From Kubernetes to GPU, Catch Up On the Latest Linode Guides](https://www.linode.com/blog/cms/from-kubernetes-to-gpu-catch-up-on-the-latest-linode-guides/) - -- [Introducing Linode GPU Instances](https://www.linode.com/blog/gpu/introducing-linode-gpu-instances/) - -### Community Posts - -- [GPU is Coming](https://www.linode.com/community/questions/18147/gpu-is-coming) - -- [How many simultaneous video encoding/streaming tasks can run on a GPU instance?](https://www.linode.com/community/questions/18912/how-many-simultaneous-video-encodingstreaming-tasks-can-run-on-a-gpu-instance) - -- [How does the GPU billing works?](https://www.linode.com/community/questions/19777/how-does-the-gpu-billing-works) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=gpu). - -### Press Releases - -- [Linode Brings Commercial Grade GPUs to the Masses](https://www.linode.com/press-release/linode-brings-commercial-grade-gpus-to-the-masses/) - -### External Resources - -- [Video: Cloud GPUs Tutorial from sentdex](https://www.youtube.com/watch?v=qWGgK4IrH-s&feature=emb_logo) - -- [NVIDIA RTX 4000 Ada GPU cards](https://resources.nvidia.com/en-us-design-viz-stories-ep/rtx-4000-ada-datashe?lx=CCKW39&contentType=data-sheet) - -- [NVIDIA Quadro RTX 6000 GPU cards](https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/technologies/turing-architecture/NVIDIA-Turing-Architecture-Whitepaper.pdf) - -- [One of a Kind in the Cloud: Linode Lifts Customers with Quadro RTX Performance](https://blogs.nvidia.com/blog/2020/04/01/linode-quadro-rtx/) - -- [CUDA Toolkit Documentation](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) - -- [Introduction to CUDA](https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/) - -- [NVIDIA’s CUDA exercise repository](https://github.com/csc-training/CUDA/tree/master/exercises) - -## High Memory Compute Instances - -### Blog Posts - -- [High-Memory Instances and $5 Linodes](https://www.linode.com/blog/linode/high-memory-instances-and-5-linodes/) - -- [Updated Linode Plans/New Larger Linodes](https://www.linode.com/blog/linode/updated-linode-plans-new-larger-linodes/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -### Community Posts - -- [How to choose the right Linode Plan](https://www.linode.com/community/questions/11570/how-to-choose-the-right-linode-plan) - -- [Is it possible to upgrade Memory for a specific time and downgrade again?](https://www.linode.com/community/questions/17783/is-it-possible-to-upgrade-memory-for-specific-time-and-downgrade-again) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=high+memory). \ No newline at end of file diff --git a/docs/products/compute/feature.png b/docs/products/compute/feature.png deleted file mode 100644 index 77ba869c522..00000000000 Binary files a/docs/products/compute/feature.png and /dev/null differ diff --git a/docs/products/compute/feature.svg b/docs/products/compute/feature.svg deleted file mode 100644 index 293a08adbdb..00000000000 --- a/docs/products/compute/feature.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/products/compute/kubernetes/_index.md b/docs/products/compute/kubernetes/_index.md deleted file mode 100644 index 83a2de086b9..00000000000 --- a/docs/products/compute/kubernetes/_index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Linode Kubernetes Engine -title_meta: "Linode Kubernetes Engine (LKE) Product Documentation" -description: "Linode Kubernetes Engine is a managed Kubernetes service that offers automatic backup and recovery and third party integration with popular k8s-related tools." -published: 2020-06-02 -modified: 2024-07-05 -linkTitle: Kubernetes -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "A managed Kubernetes service that enables you to easily control and scale your application's infrastructure." ---- - -The Linode Kubernetes Engine (LKE) is a managed container orchestration engine built on top of Kubernetes. LKE enables you to quickly deploy and manage your containerized applications without needing to build (and maintain) your own Kubernetes cluster. All LKE instances are equipped with a fully-managed control plane at no additional cost. Only pay for the worker nodes that run your application and any optional [NodeBalancers](/docs/products/networking/nodebalancers/) (load balancers) and [Block Storage volumes](/docs/products/storage/block-storage/) that your application uses. - -## Features - -- **Free fully-managed control plane:** The control plane on a Kubernetes cluster is responsible for managing the cluster's worker nodes, resources, and Pods. Basic control plane infrastructure is provided at no cost. An optional [high availability control plane](/docs/products/compute/kubernetes/guides/high-availability-control-plane/) is offered as a paid upgrade. -- **Automatic monitoring, backup, and recovery**: A snapshot of your cluster's metadata is backed up continuously and your cluster is automatically restored in the event of a failure. In addition, all of the control plane components are monitored and, if a failure is detected, they will automatically recover. -- **Kubernetes Dashboard:** All LKE installations include access to a [Kubernetes Dashboard installation](/docs/products/compute/kubernetes/guides/kubernetes-dashboard/#accessing-the-cluster-dashboard). -- **Third-party integration:** Harness the strong open source ecosystem of Kubernetes tooling. LKE supports integration with popular K8s-related tools, such as [Rancher](http://rancher.com), [Helm](http://helm.sh), [Operators](https://coreos.com/operators/), and more. - -## Availability - -The Linode Kubernetes Engine is available across [all regions](https://www.linode.com/global-infrastructure/). - -## Pricing - -The basic control plane infrastructure on LKE clusters is provided at no additional cost. An upgrade to a [high availability control plane](/docs/products/compute/kubernetes/guides/high-availability-control-plane/) is priced starting at $60/month per cluster, depending on region. All other resources consumed by the cluster are billed at the normal rate, including Compute Instances, NodeBalancers, and Block Storage volumes. Review the [Pricing](https://www.linode.com/pricing/) page for more information on those costs. - -## Technical Specifications - -- Equipped with a fully-managed control plane at no cost. While the control plane is fully-managed, the user is responsible for managing their deployment configuration and applications. -- Compute Instance plans supported: Dedicated CPU, Shared CPU, High Memory, and Premium CPU (excluding the 512 GB size for both Dedicated CPU and Premium CPU). See the [Pricing](https://www.linode.com/pricing/) page for the compute resources included in each plan. -- 40 Gbps inbound network bandwidth -- Free inbound network transfer -- Provisioning and management through [Cloud Manager](https://cloud.linode.com/), [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) \ No newline at end of file diff --git a/docs/products/compute/kubernetes/developers/index.md b/docs/products/compute/kubernetes/developers/index.md deleted file mode 100644 index 8bad3253d82..00000000000 --- a/docs/products/compute/kubernetes/developers/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for LKE (Linode Kubernetes Engine)" -description: "Linode Kubernetes Engine instances are managed easily with developer tools like the Linode API or CLI as well as third party tools and integrations." -published: 2020-06-02 -modified: 2023-02-09 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Linode Kubernetes Engine Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage LKE clusters](/docs/products/tools/cli/guides/linode-kubernetes-engine/). - -## Third Party Tools & Integrations - -**Terraform**: Terraform is an Infrastructure-as-code tool that includes management features for various types of Linode resources. Use Linode’s [official Terraform Provider](https://www.terraform.io/docs/providers/linode/r/volume.html) to [provision Linode Kubernetes Engine Clusters](/docs/guides/deploy-lke-cluster-using-terraform/). diff --git a/docs/products/compute/kubernetes/feature.png b/docs/products/compute/kubernetes/feature.png deleted file mode 100644 index 8edf04e79ac..00000000000 Binary files a/docs/products/compute/kubernetes/feature.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/feature.svg b/docs/products/compute/kubernetes/feature.svg deleted file mode 100644 index 0c0190352f6..00000000000 --- a/docs/products/compute/kubernetes/feature.svg +++ /dev/null @@ -1,6 +0,0 @@ - - Kubernetes - - - - \ No newline at end of file diff --git a/docs/products/compute/kubernetes/get-started/index.md b/docs/products/compute/kubernetes/get-started/index.md deleted file mode 100644 index a7add9d527b..00000000000 --- a/docs/products/compute/kubernetes/get-started/index.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with LKE (Linode Kubernetes Engine)" -description: "Get Started with the Linode Kubernetes Engine with this quick start guide. Install kubectl, create an LKE Cluster, and access and download your kubeconfig." -published: 2020-06-02 -modified: 2023-02-09 -tab_group_main: - weight: 20 -keywords: ["kubernetes", "linode kubernetes engine", "managed kubernetes", "lke", "kubernetes cluster"] -tags: ["linode platform","kubernetes","cloud manager"] -aliases: ['/kubernetes/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/','/applications/containers/kubernetes/how-to-deploy-a-cluster-with-lke/','/applications/containers/kubernetes/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/','/guides/deploy-and-manage-a-cluster-with-linode-kubernetes-engine-a-tutorial/'] ---- - -## Install kubectl - -**macOS:** - -Install via [Homebrew](https://brew.sh): - -```command -brew install kubernetes-cli -``` - -**Linux:** - -1. Download the latest kubectl release: - - ```command - curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl - ``` - -1. Make the downloaded file executable: - - ```command - chmod +x ./kubectl - ``` - -1. Move the command into your PATH: - - ```command - sudo mv ./kubectl /usr/local/bin/kubectl - ``` - -**Windows:** - -Visit the [Kubernetes documentation](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-windows) for a link to the most recent Windows release. - -### Create an LKE Cluster - -1. Log into your [Cloud Manager](https://cloud.linode.com/) account. - -1. Select Kubernetes from the left navigation menu and then click **Create Cluster**. - -1. The **Create a Kubernetes Cluster** page appears. At the top of the page, you are required to select the following options: - - - In the **Cluster Label** field, provide a name for your cluster. The name must be unique between all of the clusters on your account. This name is how you identify your cluster in Cloud Manager’s Dashboard. - - - From the **Region** dropdown menu, select the **Region** where you would like your cluster to reside. - - - From the **Version** dropdown menu, select a Kubernetes version to deploy to your cluster. - -1. In the **Add Node Pools** section, select the [hardware resources](/docs/products/compute/compute-instances/plans/choosing-a-plan/#compute-resources) for the Linode worker node(s) that make up your LKE cluster. To the right of each plan, select the plus `+` and minus `-` to add or remove a Linode to a node pool one at time. - -1. Once you're satisfied with the number of nodes in a node pool, select **Add** to include it in your configuration. If you decide that you need more or fewer hardware resources after you deploy your cluster, you can always [edit your Node Pool](#edit-or-remove-existing-node-pools). - -1. Once a pool has been added to your configuration, it is listed in the **Cluster Summary** on the right-hand side of Cloud Manager detailing your cluster's hardware resources and monthly cost. Additional pools can be added before finalizing the cluster creation process by repeating the previous step for each additional pool. - -1. When you are satisfied with the configuration of your cluster, click the **Create Cluster** button on the right hand side of the screen. Your cluster's detail page appears, and your Node Pools are listed on this page. From this page, you can [edit your existing Node Pools](#edit-or-remove-existing-node-pools), [access your Kubeconfig file](#access-and-download-your-kubeconfig), and view an overview of your cluster's resource details. - -### Access and Download your kubeconfig - -1. To access your cluster's kubeconfig, log in to your Cloud Manager account and navigate to the **Kubernetes** section. - -1. From the Kubernetes listing page, click on your cluster's **more options ellipsis** and select **Download kubeconfig**. The file is saved to your computer's `Downloads` folder. - -1. Open a terminal shell and save your kubeconfig file's path to the `$KUBECONFIG` environment variable. In the example command, the kubeconfig file is located in the `Downloads` folder, but you should alter this line with this folder's location on your computer: - - ```command - export KUBECONFIG=~/Downloads/kubeconfig.yaml - ``` - -1. View your cluster's nodes using kubectl. - - ```command - kubectl get nodes - ``` - -## General Network and Firewall Information - -In an LKE cluster, some entities and services are only accessible from within that cluster while others are publicly accessible (reachable from the internet). - -**Private (accessible only within the cluster):** - -- Pod IPs, which use a per-cluster virtual network in the range 10.2.0.0/16 -- ClusterIP Services, which use a per-cluster virtual network in the range 10.128.0.0/16 - -**Public (accessible over the internet):** - -- NodePort Services, which listen on all Nodes with ports in the range 30000-32768 -- LoadBalancer Services, which automatically deploy and configure a NodeBalancer -- Any manifest which uses `hostNetwork`: true and specifies a port -- Most manifests which use `hostPort` and specify a port - -Exposing workloads to the public internet through the above methods can be convenient, but this can also carry a security risk. You may wish to manually install firewall rules on your cluster nodes. The following policies are needed to allow communication between the node pools and the control plane and block unwanted traffic: - -- **Allow kubelet health checks:** TCP port 10250 from 192.168.128.0/17 Accept -- **Allow Wireguard tunneling for kubectl proxy:** UDP port 51820 from 192.168.128.0/17 Accept -- **Allow Calico BGP traffic:** TCP port 179 from 192.168.128.0/17 Accept -- **Allow NodePorts for workload services:** TCP/UDP port 30000 - 32767 192.168.128.0/17 Accept -- **Block all other TCP traffic:** TCP All Ports All IPv4/All IPv6 Drop -- **Block all other UDP traffic:** UDP All Ports All IPv4/All IPv6 Drop -- **Block all ICMP traffic:** ICMP All Ports All IPv4/All IPv6 Drop -- IPENCAP for IP ranges 192.168.128.0/17 for internal communication between node pools and control plane. - -For additional information, [please see this community post](https://www.linode.com/community/questions/19155/securing-k8s-cluster). Future LKE release may allow greater flexibility for the network endpoints of these types of workloads. - -Please note, at this time, nodes should be removed from the Cloud Firewall configuration before removing/recycling of node pools within the Kubernetes configuration. Also, when adding node pools to the Kubernetes cluster, Cloud Firewall must be updated with the new node pool(s). Failure to add the new nodes creates a security risk. - -{{< note >}} -All new LKE clusters create a service named `Kubernetes` in the `default` namespace designed to ease interactions with the control plane. This is a standard service for LKE clusters. -{{< /note >}} - -## Next Steps - -Now that you have a running LKE cluster, you can start deploying workloads to it. Refer to our other guides to learn more: - -- [How to Deploy a Static Site on Linode Kubernetes Engine](/docs/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/) -- [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/docs/guides/deploy-container-image-to-kubernetes/) -- [Troubleshooting Kubernetes Guide](/docs/guides/troubleshooting-kubernetes/) -- [See all our Kubernetes guides](/docs/guides/kubernetes/) \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/_index.md b/docs/products/compute/kubernetes/guides/_index.md deleted file mode 100644 index 4836161ec31..00000000000 --- a/docs/products/compute/kubernetes/guides/_index.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for LKE (Linode Kubernetes Engine)" -description: "A collection of guides to help you start deploying LKE clusters and using them to host your web applications and Cloud workloads" -published: 2020-06-02 -modified: 2023-02-09 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Create a Cluster](/docs/products/compute/kubernetes/guides/create-cluster/) - -- [Manage Kubernetes Clusters](/docs/products/compute/kubernetes/guides/manage-clusters/) - -- [Manage Node Pools](/docs/products/compute/kubernetes/guides/manage-node-pools/) - -- [High Availability Control Plane](/docs/products/compute/kubernetes/guides/high-availability-control-plane/) - -- [Upgrade a Cluster to a Newer Kubernetes Version](/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/) - -## Additional Management Options - -- [Manage a Cluster with kubectl](/docs/products/compute/kubernetes/guides/kubectl/) - -- [Manage an LKE Cluster Using the Kubernetes Dashboard](/docs/products/compute/kubernetes/guides/kubernetes-dashboard/) - -- [Deploy and Manage a Kubernetes Cluster with the Linode API](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/) - -- [Deploy an LKE Cluster Using Pulumi](/docs/guides/deploy-lke-cluster-using-pulumi/) - -- [Deploy an LKE Cluster Using Terraform](/docs/guides/deploy-lke-cluster-using-terraform/) - -- [Reset Kubeconfig](/docs/products/compute/kubernetes/guides/reset-kubeconfig/) - -## Additional Guides - -- [Load Balancing on an LKE Cluster](/docs/products/compute/kubernetes/guides/load-balancing/) - -- [Secure a Cluster with User Permissions and RBAC](/docs/products/compute/kubernetes/guides/secure-a-cluster-with-rbac/) - -- [Drain Node Pools with kubectl](/docs/products/compute/kubernetes/guides/drain-node-pools/) - -- [Create a Custom CoreDNS Configuration](/docs/products/compute/kubernetes/guides/coredns-custom-config/) - -## Going Further - -### Kubernetes Basics - -- [A Beginners Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) - -- [Advantages of Using Kubernetes](/docs/guides/kubernetes-use-cases/) - -- [Kubernetes Reference Guide](/docs/guides/kubernetes-reference/) - -- [Troubleshooting Kubernetes](/docs/guides/troubleshooting-kubernetes/) - -### Docker - -- [How to Setup a Private Docker Registry with Linode Kubernetes Engine and Object Storage](/docs/guides/how-to-setup-a-private-docker-registry-with-lke-and-object-storage/) - -- [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/docs/guides/deploy-container-image-to-kubernetes/) - -- [How to Manager a Docker Cluster with Kubernetes](/docs/guides/manage-a-docker-cluster-with-kubernetes/) - -### Networking and Web - -- [Deploy NodeBalancers with the Linode Cloud Controller Manager](/docs/products/compute/kubernetes/guides/load-balancing/) - -- [How to Deploy NGINX Ingress on Linode Kubernetes Engine](/docs/guides/deploy-nginx-ingress-on-lke/) - -- [How to Deploy a Static Site on Linode Kubernetes Engine](/docs/guides/how-to-deploy-a-static-site-on-linode-kubernetes-engine/) - -- [How to Install Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/) - -- [How to Install Apps on Kubernetes with Helm 2](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-2/) - -### Third Party Integration - -- [How to Install Drupal with Linode Kubernetes Engine](/docs/guides/how-to-install-drupal-with-linode-kubernetes-engine/) - -- [How to Deploy Linkerd 2 with Linode Kubernetes Engine](/docs/guides/how-to-deploy-linkerd-with-linode-kubernetes-engine/) - -- [Using Octant With Kubernetes - A Tutorial](/docs/guides/using-octant-with-kubernetes-a-tutorial/) - -- [How to Deploy the Elastic Stack on Kubernetes](/docs/guides/how-to-deploy-the-elastic-stack-on-kubernetes/) - -- [How to Deploy Istio with Kubernetes](/docs/guides/how-to-deploy-istio-with-kubernetes/) - -- [How to Deploy Kubernetes on Linode with Rancher 2.x](/docs/guides/how-to-deploy-kubernetes-on-linode-with-rancher-2-x/) - -- [Deploy Minio on Kubernetes using Kubespray and Ansible](/docs/guides/deploy-minio-on-kubernetes-using-kubespray-and-ansible/) - -- [How to Migrate From k8s-alpha CLI to Terraform](/docs/guides/how-to-migrate-from-k8s-alpha-to-terraform/) \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/coredns-custom-config/index.md b/docs/products/compute/kubernetes/guides/coredns-custom-config/index.md deleted file mode 100644 index 00746e493ee..00000000000 --- a/docs/products/compute/kubernetes/guides/coredns-custom-config/index.md +++ /dev/null @@ -1,186 +0,0 @@ ---- -slug: coredns-custom-config -title: "Create A Custom CoreDNS Configuration" -description: "Learn how to create a custom CoreDNS configuration for your cluster hosted through LKE." -published: 2024-03-12 -aliases: ['/guides/create-a-custom-coredns-configuration-in-linode-kubernetes-engine/'] -keywords: ['CoreDNS','Corefile','DNS'] -external_resources: -- '[CoreDNS](https://coredns.io/)' -- '[Corefile Explained](https://coredns.io/2017/07/23/corefile-explained/)' -- '[Server Block](https://coredns.io/manual/configuration/#server-blocks)' ---- - -## CoreDNS In LKE - -Linode Kubernetes Engine (LKE) provides out of the box intra-cluster domain name resolution via [CoreDNS](https://coredns.io/), the *DNS server*. Every new cluster is provided with a minimal, default CoreDNS configuration, which can be customized to suit your workload's needs. - -## Before You Begin - -This guide assumes you have a working [Linode Kubernetes Engine (LKE)](https://www.linode.com/products/kubernetes/) cluster running on Linode and you are familiar with Corefile, the *CoreDNS configuration file*. - -1. [Install the Kubernetes CLI](/docs/products/compute/kubernetes/guides/kubectl/) (`kubectl`) on the local computer. - -1. Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to connect to an LKE cluster. - - {{< note >}} - Ensure that the `KUBECONFIG` context is [persistent](/docs/products/compute/kubernetes/guides/kubectl/#persist-the-kubeconfig-context) - {{< /note >}} - -1. Ensure that Kubernetes CLI is using the right cluster context. Run the `get-contexts` subcommand to check: - - ```command - kubectl config get-contexts - ``` - -## Default CoreDNS Configuration - -You can view your cluster's default CoreDNS configuration by using the following command: - -```command -kubectl get configmap -n kube-system coredns-base -o yaml -``` - -The output will resemble the following: - -```output -apiVersion: v1 -data: - Corefile: | - .:53 { - errors - health { - lameduck 5s - } - ready - kubernetes cluster.local in-addr.arpa ip6.arpa { - pods insecure - fallthrough in-addr.arpa ip6.arpa - ttl 30 - } - prometheus :9153 - forward . /etc/resolv.conf { - max_concurrent 1000 - } - cache 30 - loop - reload - loadbalance - import custom/*.include - } - import custom/*.server -kind: ConfigMap -metadata: - name: coredns-base - namespace: kube-system - [...] -``` - -The default CoreDNS configuration is located under the `Corefile` field in the above ConfigMap. - -{{< note type="warning" >}} -Do not modify the `kube-system/coredns-base` ConfigMap that comes with your LKE cluster. It may be restored to its original state at any time and without notice. -{{< /note >}} - -## Custom CoreDNS Configuration - -The default CoreDNS configuration leverages the CoreDNS [`import`](https://coredns.io/plugins/import/) plugin to enable customization. Configuration extensions are added through fields in the `kube-system/coredns-custom` ConfigMap: - -```yaml - apiVersion: v1 - kind: ConfigMap - metadata: - name: coredns-custom - namespace: kube-system - data: - sample.include: | - # Added to the .:53 default Server Block. - sample_a.server: | - # Additional Server Block. - sample_b.server: | - # Another Server Block. -``` - -- Fields suffixed with `.include` are added to the default [*Server Block*](https://coredns.io/manual/configuration/#server-blocks). -- Fields suffixed with `.server` are added as new Server Blocks. - -### Create A Custom Configuration - -1. Create a manifest for a ConfigMap named `coredns-custom` in the `kube-system` namespace, with the desired configuration. For the purpose of this guide, an example custom configuration is used. Save it as the `coredns-custom.yaml` file. - - ```yaml - apiVersion: v1 - kind: ConfigMap - metadata: - name: coredns-custom - namespace: kube-system - data: - # Log all incoming DNS queries. - log.include: | - log - # Private DNS resolution example. Handles FQDN resolutions for *.mydomain.com - # Replace with the target IP address. - mydomain.server: | - mydomain.com.:53 { - forward . - } - ``` - -2. Apply the above ConfigMap manifest: - - ```command - kubectl apply -f coredns-custom.yaml - ``` - - {{< note >}} - CoreDNS will attempt to reload the configuration within 45 seconds after the last modification. - {{< /note >}} - -3. Ensure the custom configuration has been loaded: - - ```command - kubectl logs -n kube-system -l k8s-app=kube-dns - ``` - - For the custom configuration shown above, the output will resemble the following, after the reload is complete: - - ```output - [INFO] Reloading - [INFO] plugin/health: Going into lameduck mode for 5s - [INFO] 127.0.0.1:60399 - 40866 "HINFO IN 349145763287755047.2816822520842364744. udp 56 false 512" NXDOMAIN qr,rd,ra 131 0.000980597s - [INFO] plugin/reload: Running configuration SHA512 = 868c96ccca274c442fefc8db8e98b1f4a5cd05c655db1d990803d4019e5d28af101b24a78f85bae7ab3a3f8894f2791fda9d2b4d9c6ae1aa942080e1a88ce3e6 - [INFO] Reloading complete - ``` - - The custom configuration is now in effect. - -{{< note >}} -The `kube-system/coredns-custom` ConfigMap is persistent and will not be affected by LKE maintenance operations. -{{< /note >}} - -### Restore The Defaults - -1. To restore the default CoreDNS configuration, simply delete the `coredns-custom` ConfigMap: - - ```command - kubectl delete -n kube-system coredns-custom - ``` - -1. Check the logs to make sure the reload was successful: - - ```command - kubectl logs -n kube-system -l k8s-app=kube-dns - ``` - - The output looks similar to the one emitted after applying the custom configuration. - - ```output - [INFO] Reloading - [INFO] plugin/health: Going into lameduck mode for 5s - [WARNING] No files matching import glob pattern: custom/*.include - [WARNING] No files matching import glob pattern: custom/*.server - [INFO] plugin/reload: Running configuration SHA512 = 591cf328cccc12bc490481273e738df59329c62c0b729d94e8b61db9961c2fa5f046dd37f1cf888b953814040d180f52594972691cd6ff41be96639138a43908 - [INFO] Reloading complete - ``` - - The emitted warning messages are now to be expected, and should not be a concern. diff --git a/docs/products/compute/kubernetes/guides/create-cluster/create-cluster-add-node-pools.png b/docs/products/compute/kubernetes/guides/create-cluster/create-cluster-add-node-pools.png deleted file mode 100644 index 1201238a691..00000000000 Binary files a/docs/products/compute/kubernetes/guides/create-cluster/create-cluster-add-node-pools.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/create-cluster/create-cluster-enable-ha.png b/docs/products/compute/kubernetes/guides/create-cluster/create-cluster-enable-ha.png deleted file mode 100644 index 7319e890c50..00000000000 Binary files a/docs/products/compute/kubernetes/guides/create-cluster/create-cluster-enable-ha.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/create-cluster/index.md b/docs/products/compute/kubernetes/guides/create-cluster/index.md deleted file mode 100644 index cbe1abc29b5..00000000000 --- a/docs/products/compute/kubernetes/guides/create-cluster/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Create a Cluster -description: "Learn how to create a Kubernetes cluster on the Linode Kubernetes Engine (LKE)." -published: 2023-02-09 -aliases: ['/products/compute/kubernetes/guides/create-lke-cluster/'] -tags: ["managed hosting"] ---- - -This guide walks you through creating an LKE (Linode Kubernetes Engine) cluster through Cloud Manager. - -1. [Open the Create Kubernetes Cluster Form in Cloud Manager](#open-the-create-kubernetes-cluster-form-in-cloud-manager) -1. [Set the Label](#set-the-label) -1. [Select a Region](#select-a-region) -1. [Choose a Kubernetes Version](#choose-a-kubernetes-version) -1. [Add Node Pools](#add-node-pools) -1. [Optionally Enable High Availability](#optionally-enable-high-availability) -1. [Deploy the Cluster](#deploy-the-cluster) - -## Open the Create Kubernetes Cluster Form in Cloud Manager - -Log in to [Cloud Manager](https://cloud.linode.com/) and select **Kubernetes** from the left navigation menu. Click the **Create Cluster** button. This opens the *[Kubernetes Create Cluster](https://cloud.linode.com/kubernetes/create)* form. - -## Set the Label - -Within the **Cluster Label** field, enter the label you wish to use. This label lets you identify it from within Cloud Manager, Linode CLI, and Linode API. The label must be alphanumeric, between 3 and 32 characters, and unique from other cluster labels on your account. - -## Select a Region - -Select the **region** where the LKE cluster will reside. Regions correspond with individual data centers, each located in a different geographical area. All resources attached to your cluster are deployed in the selected region, including nodes (Compute Instances) in the Node Pools, volumes (Block Storage Volumes), and load balancers (NodeBalancers). If you haven't yet deployed Compute Instances or chosen a region, select the region closest to you and/or your customers. This helps reduce latency and can make a significant impact in connection speeds and quality. - -- [Global Infrastructure](https://www.linode.com/global-infrastructure/) -- [Speed Tests for Data Centers](https://www.linode.com/speed-test/) -- [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) - -## Choose a Kubernetes Version - -Next, select the **Kubernetes Version** you wish to use from the corresponding dropdown list. Only Kubernetes versions that have been approved for LKE are listed. As new versions of Kubernetes are released (and older ones are deprecated), upgrade paths are made available. - -## Add Node Pools - -Each LKE cluster is created with *at least* one node pool. Node pools are made up of individual worker nodes, which are run on top of Compute Instances. - -{{< note >}} -Currently, the available plan types for LKE worker nodes include [Shared CPU](/docs/products/compute/compute-instances/plans/choosing-a-plan/#shared-cpu-instances), [Dedicated CPU](/docs/products/compute/compute-instances/plans/choosing-a-plan/#dedicated-cpu-instances), and [High Memory](/docs/products/compute/compute-instances/plans/choosing-a-plan/#high-memory-instances). 1 GB Shared CPU Compute Instances Nanodes (also known as *nanodes*) are not available. -{{< /note >}} - -In the **Add Node Pools** section, locate the plan type you wish to use for your first node pool. Enter the number of worker nodes that you wish to be included in the node pool and click the **Add** button to add that pool to your cluster configuration. You can repeat this process to add additional node pools if desired. Node pools can also be added, resized, and deleted after the cluster has been created. - -![Screenshot of the Add Node Pools section during cluster creation](create-cluster-add-node-pools.png) - -## Optionally Enable High Availability - -LKE's [HA (high availability) control plane](/docs/products/compute/kubernetes/guides/high-availability-control-plane/) feature is a paid add-on that provides an additional layer of redundancy to the Kubernetes cluster. It creates replicas of the control plane components, eliminating a single point of failure for your cluster and providing a guaranteed uptime of 99.99%. To enable this feature, check the **Enable HA Control Plane** box in the Cluster Summary section. The HA control plane can also be enabled any time after your cluster has been created. - -![Screenshot of the Enable HA toggle during cluster creation](create-cluster-enable-ha.png) - -{{< note type="warning" >}} -Once the high availability control plane feature has been enabled, it is not possible to remove this feature and *downgrade* to a non-HA control plane. -{{< /note >}} - -## Deploy the Cluster - -Review your cluster's configuration within the **Cluster Summary** section. This should list each Node Pool that has been added, display the HA control plane selection, and list the monthly cost associated with this cluster. When you are satisfied with the configuration of your cluster, click the **Create Cluster** button. Your cluster's detail page appears while your cluster is being created. From this page, you can [edit your existing Node Pools](/docs/products/compute/kubernetes/guides/manage-node-pools/), [access your Kubeconfig file](/docs/products/compute/kubernetes/guides/kubectl/), and view an overview of your cluster's resource details. \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/deploy-and-manage-cluster-copy.png b/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/deploy-and-manage-cluster-copy.png deleted file mode 100644 index d51d4c61a95..00000000000 Binary files a/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/deploy-and-manage-cluster-copy.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/index.md b/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/index.md deleted file mode 100644 index c763b887515..00000000000 --- a/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/index.md +++ /dev/null @@ -1,739 +0,0 @@ ---- -title: "Deploy and Manage a Linode Kubernetes Engine (LKE) Cluster with the Linode API" -title_meta: "Deploy and Manage a Kubernetes Cluster with the Linode API" -description: "Learn how to deploy a cluster on Linode Kubernetes Engine (LKE) through the Linode API." -og_description: "The Linode Kubernetes Engine (LKE) is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. This guide shows you how to use the Linode API to Deploy and Manage an LKE Cluster." -published: 2019-11-11 -modified: 2024-06-21 -keywords: ["kubernetes", "linode kubernetes engine", "managed kubernetes", "lke", "kubernetes cluster"] -image: deploy-and-manage-cluster-copy.png -aliases: ['/applications/containers/kubernetes/deploy-and-manage-lke-cluster-with-api-a-tutorial/','/kubernetes/deploy-and-manage-lke-cluster-with-api-a-tutorial/','/guides/deploy-and-manage-lke-cluster-with-api-a-tutorial/'] -tags: ["kubernetes"] ---- - -An LKE cluster can be deployed in one of several ways: - -- Via [Cloud Manager](/docs/products/compute/kubernetes/guides/create-cluster/) -- With the Linode API (as presented in this guide) -- With the [Linode CLI](/docs/products/tools/cli/get-started/) - -These Linode-provided interfaces can be used to create, delete, and update the structural elements of your cluster, including: - -- The number of nodes that make up a cluster's node pools. -- The region where your node pools are deployed. -- The hardware resources for each node in your node pools. -- The Kubernetes version deployed to your cluster's Master node and worker nodes. - -The [Kubernetes API](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/#kubernetes-api) and [kubectl](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/#kubectl) are the primary ways you interact with your LKE cluster once it's been created. These tools can be used to configure, deploy, inspect, and secure your Kubernetes workloads, deploy applications, create services, configure storage and networking, and define controllers. - -{{< note >}} -The Linode API and the Kubernetes API are two separate interfaces, and both are mentioned in this article. The Linode API lets you manipulate your Linode infrastructure, while the Kubernetes API lets you manage the software objects running in your cluster. -{{< /note >}} - -## In this Guide - -This guide covers how to use the Linode API to: - -- [Create an LKE cluster](#create-an-lke-cluster) -- [Connect kubectl to your LKE cluster](#connect-to-your-lke-cluster) -- [Inspect your LKE cluster](#inspect-your-lke-cluster) -- [Modify an existing LKE cluster](#modify-your-lke-cluster) -- [Delete an LKE cluster](#delete-an-lke-cluster) - -## Before You Begin - -1. [Familiarize yourself with the Linode Kubernetes Engine service](https://www.linode.com/products/kubernetes/). This information helps you understand the benefits and limitations of LKE. - -1. [Create an API Token](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token). You need this to access the LKE service. - -1. [Install kubectl](#install-kubectl) on your computer. You use kubectl to interact with your cluster once it's deployed. - -1. If you are new to Kubernetes, refer to our [A Beginner's Guide to Kubernetes](/docs/guides/beginners-guide-to-kubernetes/) series to learn about general Kubernetes concepts. This guide assumes a general understanding of core Kubernetes concepts. - -### Install kubectl - -{{% content "how-to-install-kubectl" %}} - -## Create an LKE Cluster - -| Required Parameters | Description | -| -- | -- | -| `region` | The data center region where your cluster is deployed. Currently, `us-central` is the only available region for LKE clusters. | -| `label` | A human readable name to identify your cluster. This must be unique. If no label is provided, one is assigned automatically. Labels must start with an alpha [a-z][A-Z] character, must only consist of alphanumeric characters and dashes, and must not contain two dashes in a row. -| `node_pools` | The collections of Compute Instances that serve as the worker nodes in your LKE cluster. | -| `k8s_version` | The desired version of Kubernetes for this cluster. | - -{{< note >}} -The available plan types for LKE worker nodes are [Shared](/docs/products/compute/compute-instances/plans/choosing-a-plan/#shared-cpu-instances), [Dedicated CPU](/docs/products/compute/compute-instances/plans/choosing-a-plan/#dedicated-cpu-instances), and [High Memory](/docs/products/compute/compute-instances/plans/choosing-a-plan/#high-memory-instances) plans. -{{< /note >}} - -1. To create an LKE Cluster, send a `POST` request to the `/lke/clusters` endpoint. The example below displays all possible request body parameters. Note that `tags` is an optional parameter. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "label": "cluster12345", - "region": "us-central", - "k8s_version": "1.16", - "tags": ["ecomm", "blogs"], - "node_pools": [ - { "type": "g6-standard-2", "count": 2}, - { "type": "g6-standard-4", "count": 3} - ] - }' https://api.linode.com/v4/lke/clusters - ``` - - You receive a response similar to: - - ```output - {"k8s_version": "1.16", "updated": "2019-08-02T17:17:49", "region": "us-central", "tags": ["ecomm", "blogs"], "label": "cluster12345", "id": 456, "created": "2019-22-02T17:17:49"}% - ``` - -1. Make note of your cluster's ID, as you need it to continue to interact with your cluster in the next sections. In the example above, the cluster's ID is `"id": 456`. You can also access your cluster's ID by [listing all LKE Clusters](#list-lke-clusters) on your account. - - {{< note >}} - Each Linode account has a limit to the number of resources they can deploy. This includes services, like Compute Instances, NodeBalancers, Block Storage, etc. If you run into issues deploying the number of nodes you designate for a given cluster's node pool, you may have run into a limit on the number of resources allowed on your account. Contact [Linode Support](/docs/products/platform/get-started/guides/support/) if you believe this may be the case. - {{< /note >}} - -### Connect to your LKE Cluster - -Now that your LKE cluster is created, you can access and manage your cluster using kubectl on your computer. This gives you the ability to interact with the Kubernetes API, and to create and manage [Kubernetes objects](/docs/guides/beginners-guide-to-kubernetes-part-3-objects/) in your cluster. - -To communicate with your LKE cluster, kubectl requires a copy of your cluster's [*kubeconfig*](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/). In this section, you access the contents of your kubeconfig using the Linode API and then set up kubectl to communicate with your LKE cluster. - -1. Access your LKE cluster's kubeconfig file by sending a `GET` request to the `/lke/clusters/{clusterId}/kubeconfig` endpoint. Ensure you replace `12345` with your cluster's ID that you recorded in the previous section: - - ```command - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/lke/clusters/12345/kubeconfig - ``` - - The API returns a [base64](https://en.wikipedia.org/wiki/Base64) encoded string (a useful format for automated pipelines) representing your kubeconfig. Your output resembles the following: - - ```output - {"kubeconfig": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VONVJFTkRRV0pEWjBGM1NVSkJaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSYzBaQlJFRldUVkpOZDBWUldVUldVVkZFUlhkd2NtUlhTbXdLWTIwMWJHUkhWbnBOUWpSWVJGUkZOVTFFWjNkTmFrVXpUVlJqTVUxV2IxaEVWRWsx ... 0TFMwdExRbz0K"}% - ``` - -1. Copy the `kubeconfig` field's value from the response body, since you need it in the next step. - - {{< note >}} - Make sure you only copy the long string inside the quotes following `"kubeconfig":` in your output. Do not copy the curly braces or anything outside of them. You receive an error if you use the full output in later steps. - {{< /note >}} - -1. Save the base64 kubeconfig to an environment variable: - - ```command - KUBE_VAR='YXBpVmVyc2lvbjogdjEK ... 0TFMwdExRbz0K' - ``` - -1. Navigate to your computer's `~/.kube` directory. This is where kubectl looks for kubeconfig files, by default. - - ```command - cd ~/.kube - ``` - -1. Create a directory called `configs` within `~/.kube`. You can use this directory to store your kubeconfig files. - - ```command - mkdir configs - cd configs - ``` - -1. Decode the contents of `$KUBE_VAR` and save it to a new YAML file: - - ```command - echo $KUBE_VAR | base64 -D > cluster12345-config.yaml - ``` - - {{< note >}} - The YAML file that you decode to (`cluster12345-config.yaml` here) can have any name of your choosing. - {{< /note >}} - -1. Add the kubeconfig file to your `$KUBECONFIG` environment variable. - - ```command - export KUBECONFIG=cluster12345-config.yaml - ``` - -1. Verify that your cluster is selected as kubectl's current context: - - ```command - kubectl config get-contexts - ``` - -1. View the contents of the configuration: - - ```command - kubectl config view - ``` - - {{< note >}} - You can also access a decoded version of your kubeconfig file in [Cloud Manager](/docs/products/compute/kubernetes/guides/kubectl/). - {{< /note >}} - -1. View all nodes in your LKE cluster using kubectl: - - ```command - kubectl get nodes - ``` - - Your output resembles the following example, but varies depending on your own cluster's configurations. - - ```output - NAME STATUS ROLES AGE VERSION - lke166-193-5d44703cd092 Ready none 2d22h v1.14.0 - lke166-194-5d44703cd780 Ready none 2d22h v1.14.0 - lke166-195-5d44703cd691 Ready none 2d22h v1.14.0 - lke166-196-5d44703cd432 Ready none 2d22h v1.14.0 - lke166-197-5d44703cd211 Ready none 2d22h v1.14.0 - ``` - - Now that you are connected to your LKE cluster, you can begin using kubectl to deploy applications, [inspect and manage](/docs/guides/troubleshooting-kubernetes/#kubectl-get) cluster resources, and [view logs](/docs/guides/troubleshooting-kubernetes/#kubectl-logs). - -### Persist the Kubeconfig Context - -If you create a new terminal window, it does not have access to the context that you specified using the previous instructions. This context information can be made persistent between new terminals by setting the [`KUBECONFIG` environment variable](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#set-the-kubeconfig-environment-variable) in your shell's configuration file. - -{{< note >}} -If you are using Windows, review the [official Kubernetes documentation](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#set-the-kubeconfig-environment-variable) for how to persist your context. -{{< /note >}} - -These instructions persist the context for users of the Bash terminal. They are similar for users of other terminals: - -1. Open up your Bash profile (e.g. `~/.bash_profile`) in the text editor of your choice and add your configuration file to the `$KUBECONFIG` PATH variable. - - If an `export KUBECONFIG` line is already present in the file, append to the end of this line as follows; if it is not present, add this line to the end of your file: - - ```command - export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config:$HOME/.kube/configs/cluster12345-config.yaml - ``` - - {{< note >}} - Alter the `$HOME/.kube/configs/cluster12345-config.yaml` path in the above line with the name of the file you decoded to in the previous section. - {{< /note >}} - -1. Close your terminal window and open a new window to receive the changes to the `$KUBECONFIG` variable. - -1. Use the `config get-contexts` command for `kubectl` to view the available cluster contexts: - - ```command - kubectl config get-contexts - ``` - - You should see output similar to the following: - - ```output - CURRENT NAME CLUSTER AUTHINFO NAMESPACE - * kubernetes-admin@kubernetes kubernetes kubernetes-admin - ``` - -1. If your context is not already selected, (denoted by an asterisk in the `current` column), switch to this context using the `config use-context` command. Supply the full name of the cluster (including the authorized user and the cluster): - - ```command - kubectl config use-context kubernetes-admin@kubernetes - ``` - - You should see output like the following: - - ```output - Switched to context "kubernetes-admin@kubernetes". - ``` - -1. You are now ready to interact with your cluster using `kubectl`. You can test the ability to interact with the cluster by retrieving a list of Pods in the `kube-system` namespace: - - ```command - kubectl get pods -n kube-system - ``` - -## Inspect your LKE Cluster - -Once you have created an LKE Cluster, you can access information about its structural configuration using the Linode API. - -### List LKE Clusters - -To view a list of all your LKE clusters, send a `GET` request to the `/lke/clusters` endpoint. - -```command -curl -H "Authorization: Bearer $TOKEN" https://api.linode.com/v4/lke/clusters -``` - -The returned response body displays the number of clusters deployed to your account and general details about your LKE clusters: - -```output -{"results": 2, "data": [{"updated": "2019-08-02T17:17:49", "region": "us-central", "id": 456, "k8s_version": "1.16", "label": "cluster-12345", "created": "2019-08-02T17:17:49", "tags": ["ecomm", "blogs"]}, {"updated": "2019-08-05T17:00:04", "region": "us-central", "id": 789, "k8s_version": "1.16", "label": "cluster-56789", "created": "2019-08-05T17:00:04", "tags": ["ecomm", "marketing"]}], "pages": 1, "page": 1}% -``` - -### View an LKE Cluster - -You can use the Linode API to access details about an individual LKE cluster. You need your cluster's ID to access information about this resource. If you don't know your cluster's ID, see the [List LKE Clusters](#list-lke-clusters) section. - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | - -To view your LKE cluster, send a `GET` request to the `/lke/clusters/{clusterId}` endpoint. In this example, ensure you replace `12345` with your cluster's ID: - -```command -curl -H "Authorization: Bearer $TOKEN" https://api.linode.com/v4/lke/clusters/12345 -``` - -Your output resembles the following: - -```output -{"created": "2019-08-02T17:17:49", "updated": "2019-08-02T17:17:49", "k8s_version": "1.16", "tags": ["ecomm", "blogs"], "label": "cluster-12345", "id": 456, "region": "us-central"}% -``` - -### List a Cluster's Node Pools - -A node pool consists of one or more Compute Instances (worker nodes). Each node in the pool has the same plan type. Your LKE cluster can have several node pools. Each pool is assigned its own plan type and number of nodes. To view a list of an LKE cluster's node pools, you need your cluster's ID. If you don't know your cluster's ID, see the [List LKE Clusters](#list-lke-clusters) section. - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | - -To list your cluster's node pools, send a `GET` request to the `/lke/clusters/{clusterId}/pools` endpoint. In this example, replace `12345` with your cluster's ID: - -```command -curl -H "Authorization: Bearer $TOKEN" https://api.linode.com/v4/lke/clusters/12345/pools -``` - -The response body includes information on each node pool's pool ID, Compute Instance type, and node count; and each node's individual ID and status. - -```output -{"pages": 1, "page": 1, "data": [{"count": 2, "id": 193, "type": "g6-standard-2", "linodes": [{"id": "13841932", "status": "ready "}, {"id": "13841933", "status": "ready"}]}, {"count": 3, "id": 194, "type": "g6-standard-4", "linodes": [{"id": "13841934", "status": "ready"}, {"id": "13841935", "status": "ready"}, {"id": "13841932", "status": "ready"}]}], "results": 2}% -``` - -### View a Node Pool - -You can use the Linode API to access details about a specific node pool in an LKE cluster. You need your cluster’s ID and node pool ID to access information about this resource. To retrieve your cluster’s ID, see the [List LKE Clusters](#list-lke-clusters) section. To find a node pool's ID, see the [List a Cluster's Node Pools](#list-a-cluster-s-node-pools) section. - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `poolId` | ID of the LKE node pool to lookup. | - -To view a specific node pool, send a `GET` request to the `/lke/clusters/{clusterId}/pools/{poolId}` endpoint. In this example, replace `12345` with your cluster's ID and `456` with the node pool's ID: - -```command -curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/lke/clusters/12345/pools/456 -``` - -The response body provides information about the number of nodes in the node pool, the node pool's ID, and type. You also retrieve information about each individual node in the node pool, including the Linode's ID and status. - -```output -{"count": 2, "id": 193, "type": "g6-standard-2", "linodes": [{"id": "13841932", "status": "ready"}, {"id": "13841933", "status": "ready"}]}% -``` - -{{< note >}} -If desired, you can use your node pool's Compute Instances ID(s) to get more details about each node in the pool. Send a `GET` request to the `/linode/indstances/{linodeId}` endpoint. In this example, ensure you replace `13841932` with your Linode's ID. - -```command -curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/linode/instances/13841932 -``` - -Although you have access to your cluster's nodes, it is recommended that you only interact with your nodes via the Linode's LKE interfaces (like the LKE endpoints in Linode's API, or the Kubernetes section in Cloud Manager), or via the Kubernetes API and kubectl. -{{< /note >}} - -## Modify your LKE Cluster - -Once an LKE cluster is created, you can modify the cluster's label, node pools, and tags. In this section you learn how to modify each of these parts of your cluster. - -### Update your LKE Cluster Label - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | - -To update your LKE cluster's label, send a `PUT` request to the `/lke/clusters/{clusterId}` endpoint. In this example, ensure you replace `12345` with your cluster's ID: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "label": "updated-cluster-name" - }' https://api.linode.com/v4/lke/clusters/12345 -``` - -The response body displays the updated cluster label: - -```output -{"created": "2019-08-02T17:17:49", "updated": "2019-08-05T19:11:19", "k8s_version": "1.16", "tags": ["ecomm", "blogs"], "label": "updated-cluster-name", "id": 456, "region": "us-central"}% -``` - -### Add a Node Pool to your LKE Cluster - -A node pool consists of one or more Compute Instances (worker nodes). Each node in the pool has the same plan type and is identical to each other. Your LKE cluster can have several node pools, each pool with its own plan type and number of nodes. - -You need your cluster's ID in order to add a node pool to it. If you don’t know your cluster’s ID, see the [List LKE Clusters](#list-lke-clusters) section. - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `type` | The Compute Instance plan type to use for all the nodes in the pool. Compute Instance plans designate the type of hardware resources applied to your instance. | -| `count` | The number of nodes to include in the node pool. Each node has the same plan type. | - -To add a node pool to an existing LKE cluster, send a `POST` request to the `/lke/clusters/{clusterId}/pools` endpoint. The request body must include the `type` and `count` parameters. In the URL of this example, ensure you replace `12345` with your own cluster's ID: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "type": "g6-standard-1", - "count": 5 - }' https://api.linode.com/v4/lke/clusters/12345/pools -``` - -The response body resembles the following: - -```output -{"count": 5, "id": 196, "type": "g6-standard-1", "linodes": [{"id": "13841945", "status": "ready"}, {"id": "13841946", "status": "ready"}, {"id": "13841947", "status": "ready"}, {"id": "13841948", "status": "ready"}, {"id": "13841949", "status": "ready"}]}% -``` - -{{< note >}} -Each Linode account has a limit to the number of resources they can deploy. This includes services, like Compute Instances, NodeBalancers, Block Storage, etc. If you run into issues deploying the number of nodes you designate for a given cluster's node pool, you may have run into a limit on the number of resources allowed on your account. Contact [Linode Support](/docs/products/platform/get-started/guides/support/) if you believe this may be the case. -{{< /note >}} - -### Add Labels and Taints to your LKE Node Pools - -When creating or updating an LKE node pool, you can optionally add custom labels and taints to all nodes using the `labels` and `taints` parameters. Defining labels and taints on a per-pool basis through the Linode API has several benefits compared to managing them manually with `kubectl`, including: - -- Custom labels and taints automatically apply to new nodes when a pool is recycled or scaled up (either manually or through autoscaling). -- LKE ensures that nodes have the desired taints in place before they become ready for pod scheduling. This prevents newly created nodes from attracting workloads that don't have the intended tolerations. - -The following cURL command provides an example of using the Linode API to create a new node pool with a custom taint and label. If you are copying this command to run on your own LKE cluster, replace {{< placeholder "12345" >}} with the ID of your LKE cluster. - -```command {title="Linode API cURL example for creating a new node pool:"} -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "type": "g6-standard-1", - "count": 3, - "taints": [ - { - "key": "myapp.io/app", - "value": "test", - "effect": "NoSchedule" - } - ], - "labels": { - "myapp.io/app": "test" - } - }' https://api.linode.com/v4/lke/clusters/{{< placeholder "12345" >}}/pools -``` - -In the above command, labels are defined in the `labels` field as key-value pairs within a single object. Taints are defined as an array of objects in the `taints` field. - -- **Labels:** The `labels` field expects an object with one or more key-value pairs. These key-value pairs should adhere to the specifications and restrictions outlined in the Kubernetes [Labels and Selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/) documentation. - - ```command - "labels": { - "myapp.io/app": "test" - } - ``` - - - **Key:** A label's key must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores. Optionally, the key can begin with a valid DNS subdomain prefix. - - - If the key does not begin with a DNS subdomain prefix, the maximum key length is 63 characters. Example: `my-app`. - - If the key begins with a DNS subdomain prefix, it must separate the prefix and the rest of the label with a forward slash (`/`). In this case, the maximum *total* length of the key is 128 characters, with up to 62 characters after the forward slash. The prefix must adhere to RFC 1123 DNS subdomain restrictions. Example: `example.com/my-app`. - - - **Value:** Must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 63 characters in length. - -- **Taints:** The `taints` field expects an array of one or more objects, adhering to the guidelines outlined in the Kubernetes [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) documentation. A taint consists of a `key`, `value`, and `effect`: - - ```command - "taints": [ - { - "key": "myapp.io/app", - "value": "test", - "effect": "NoSchedule" - } - ] - ``` - - - **Key:** The `key` value must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 253 characters. Optionally, the `key` value can begin with a DNS subdomain prefix and a single slash (`/`), like `example.com/my-app`. In this case the maximum allowed length of the domain prefix is 253 characters. - - **Value:** The `value` key is optional. If given, it must begin with a letter or number, and may contain letters, numbers, hyphens, dots, and underscores, up to 63 characters. - - **Effect:** The `effect` value must be NoSchedule, PreferNoSchedule, or NoExecute. - -{{< note >}} -Taint and label values cannot contain `kubernetes.io` or `linode.com` domains as these are reserved for LKE's own usage. -{{< /note >}} - -You can also add, edit, or remove labels and taints on existing node pools using the Linode API. The example cURL command below demonstrates how to remove taints and update the labels on an existing node pool. If you are copying this command to run on your own LKE cluster, replace {{< placeholder "12345" >}} with the ID of your LKE cluster and {{< placeholder "196" >}} with the ID of your node pool. - -```command {title="Linode API cURL example for updating a node pool:"} -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "type": "g6-standard-1", - "count": 3, - "taints": [], - "labels": { - "myapp.io/app": "prod", - "example": "foo", - } - }' https://api.linode.com/v4/lke/clusters/{{< placeholder "12345" >}}/pools/{{< placeholder "196" >}} -``` - -The above command results in the following changes to the node pool, assuming the labels and taints were originally entered as shown in the first create command. - -- Removes the "myapp.io/app" taint by specifying an empty array in the `taints` field. -- Changes the label "myapp.io/app" to have a value of "prod" instead of "test". -- Adds the new label "example=foo". - -{{< note >}} -When updating or adding labels and taints to an existing node pool, it is not necessary to recycle it. This is because the values are updated live on the running nodes. -{{< /note >}} - -### Resize your LKE Node Pool - -You can resize an LKE cluster's node pool to add or decrease its number of nodes. You need your cluster's ID and the node pool's ID in order to resize it. If you don’t know your cluster’s ID, see the [List LKE Clusters](#list-lke-clusters) section. If you don’t know your node pool's ID, see the [List a Cluster’s Node Pools](#list-a-cluster-s-node-pools) section. - -{{< note type="alert" >}} -Shrinking a node pool results in deletion of Compute Instances. Any local storage on deleted Compute Instances (such as `hostPath` and `emptyDir` volumes, or "local" PersistentVolumes) is erased. -{{< /note >}} - -{{< note >}} -You cannot modify an existing node pool's plan type. If you would like your LKE cluster to use a different node pool plan type, you can [add a new node pool](#add-a-node-pool-to-your-lke-cluster) to your cluster with the same number of nodes to replace the current node pool. You can then [delete the node pool](#delete-a-node-pool-from-an-lke-cluster) that is no longer needed. -{{< /note >}} - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `poolId` | ID of the LKE node pool to lookup. | -| `count` | The number of Compute Instances in the node pool. | - -To update your node pool's node count, send a `PUT` request to the `/lke/clusters/{clusterId}/pools/{poolId}` endpoint. In the URL of this example, replace `12345` with your cluster's ID and `196` with your node pool's ID: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "type": "g6-standard-4", - "count": 6 - }' https://api.linode.com/v4/lke/clusters/12345/pools/196 -``` - -{{< note >}} -Each Linode account has a limit to the number of resources they can deploy. This includes services, like Compute Instances, NodeBalancers, Block Storage, etc. If you run into issues deploying the number of nodes you designate for a given cluster's node pool, you may have run into a limit on the number of resources allowed on your account. Contact [Linode Support](/docs/products/platform/get-started/guides/support/) if you believe this may be the case. -{{< /note >}} - -### Recycle All Nodes Within a Cluster - -You can recycle all nodes within an LKE cluster to upgrade the nodes to the most recent patch of the cluster's Kubernetes version and to otherwise replace the Compute Instances that comprise the cluster. Nodes are recycled on a rolling basis, meaning that only one node is down at a time throughout the recycling process. You need your cluster's ID in order to recycle it's nodes. If you don’t know your cluster’s ID, see the [List LKE Clusters](#list-lke-clusters) section. - -{{< note type="alert" >}} -Recycling your cluster involves deleting each of the Compute Instances in the node pool and replacing them with new instances. Any local storage on deleted instances (such as `hostPath` and `emptyDir` volumes, or "local" PersistentVolumes) is erased. -{{< /note >}} - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | - -To recycle all nodes within a cluster, send a `POST` request to the `/lke/clusters/{clusterId}/pools/{poolId}/recycle` endpoint. In the URL of this example, replace `12345` with your cluster's ID: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST \ - https://api.linode.com/v4/lke/clusters/12345/recycle -``` - -### Recycle your LKE Node Pool - -You can recycle an LKE cluster's node pool to upgrade its nodes to the most recent patch of the cluster's Kubernetes version. Nodes are recycled on a rolling basis, meaning that only one node is down at a time throughout the recycling process. You need your cluster's ID and the node pool's ID in order to recycle it. If you don’t know your cluster’s ID, see the [List LKE Clusters](#list-lke-clusters) section. If you don’t know your node pool's ID, see the [List a Cluster’s Node Pools](#list-a-cluster-s-node-pools) section. - -{{< note type="alert" >}} -Recycling your node pool involves deleting each of the Compute Instances in the node pool and replacing them with new instances. Any local storage on deleted instances (such as `hostPath` and `emptyDir` volumes, or "local" PersistentVolumes) is erased. -{{< /note >}} - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `poolId` | ID of the LKE node pool to lookup. | - -To recycle your node pool, send a `POST` request to the `/lke/clusters/{clusterId}/pools/{poolId}/recycle` endpoint. In the URL of this example, replace `12345` with your cluster's ID and `196` with your node pool's ID: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST \ - https://api.linode.com/v4/lke/clusters/12345/pools/196/recycle -``` - -### Recycle a Single Node within a Node Pool - -You can recycle an individual node within a LKE Cluster's Node Pool. You need your cluster's ID and the node ID in order to recycle it. If you don’t know your cluster’s ID, see the [List LKE Clusters](#list-lke-clusters) section. If you don’t know your node ID, see the [List a Cluster’s Node Pools](#list-a-cluster-s-node-pools) section. - -{{< note type="alert" >}} -Recycling a Node involves deleting that Compute Instance and replacing it with a new instance. Any local storage on the deleted instance (such as `hostPath` and `emptyDir` volumes, or "local" PersistentVolumes) is erased. -{{< /note >}} - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `nodeId` | ID of the LKE node to lookup. | - -To recycle your node, send a `POST` request to the `/lke/clusters/{clusterId}/nodes/{nodeId}/recycle` endpoint. In the URL of this example, replace `12345` with your cluster's ID and `12345-6aa78910bc` with your node ID: - -```command -curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/lke/clusters/12345/nodes/12345-6aa78910bc -``` - -### Upgrade your LKE Cluster to the Next Minor Version - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `k8s_version` | The next minor version of Kubernetes | - -To upgrade your LKE cluster's version, send a `PUT` request to the `/lke/clusters/{clusterId}` endpoint. In this example, ensure you replace `12345` with your cluster's ID, and `1.17` with whichever Kubernetes version is the next currently available: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "k8s_version": "1.17" - }' https://api.linode.com/v4/lke/clusters/12345 -``` - -The response body displays the cluster version that will be applied following a [recycle](#recycle-your-lke-cluster): - -```output -{"created": "2019-08-02T17:17:49", "updated": "2019-08-05T19:11:19", "k8s_version": "1.17", "tags": ["ecomm", "blogs"], "label": "updated-cluster-name", "id": 456, "region": "us-central"}% -``` - -{{< note type="alert" >}} -Nodes within the LKE cluster *must* be [recycled](#recycle-your-lke-cluster) before the cluster version will be successfully upgraded. -{{< /note >}} - -### Add New Tags to your LKE Cluster - -Like many Linode resources, you can [add tags](/docs/products/tools/cloud-manager/guides/tags-and-groups/) to your LKE Cluster for organizational purposes. This section shows you how to add new tags to an existing LKE Cluster. - -{{< note title="View all of your account's tags" isCollapsible=true >}} -To view all of the tags existing on your account, issue the following request against the API: - -```command -curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/tags -``` - -Your response resembles the example: - -```output -{"data": [{"label": "blogs"}, {"label": "ecomm"}, {"label": "prod"}, {"label": "monitoring"}], "page": 1, "pages": 1, "results": 4}% -``` -{{< /note >}} - -1. View the tags currently assigned to your cluster: - - ```command - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/lke/clusters/12345 - ``` - - The response body contains an array of your cluster's tags. In the example response, the cluster's tags are `blog`, and `ecomm`. - - ```output - {"id": 12345, "status": "ready", "created": "2020-04-13T20:17:22", "updated": "2020-04-13T20:17:22", "label": "cluster-12345", "region": "us-central", "k8s_version": "1.17", "tags": ["blog", "ecomm"]}% - ``` - -1. To add new tags to your cluster's existing tags, your request must include a `tags` array with all **previous** and **new** tags. The example request adds the new tags `prod` and `monitoring` to the cluster. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "tags" : ["ecomm", "blog", "prod", "monitoring"] - }' \ - https://api.linode.com/v4/lke/clusters/12345 - ``` - - The response displays all of your cluster's tags. In the example response, the cluster's tags are now `blog`, `ecomm`, `prod`, and `monitoring`. - - ```output - {"id": 12345, "status": "ready", "created": "2020-04-13T20:17:22", "updated": "2020-04-13T20:17:22", "label": "cluster-12345", "region": "us-central", "k8s_version": "1.17", "tags": ["blog", "ecomm", "monitoring", "prod"]}% - ``` - -### Delete Tags from your LKE Cluster - -This section shows you how to delete tags from your LKE Cluster. - -1. View the tags currently assigned to your cluster: - - ```command - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/lke/clusters/12345 - ``` - - The response body contains an array of your cluster's tags. In the example response, the cluster's tags are `blog`, `ecomm`, `prod`, and `monitoring`. - - ```output - {"id": 12345, "status": "ready", "created": "2020-04-13T20:17:22", "updated": "2020-04-13T20:17:22", "label": "cluster-12345", "region": "us-central", "k8s_version": "1.17", "tags": [["blog", "ecomm", "monitoring", "prod"]}% - ``` - -1. To delete a tag from your cluster, issue a request with only the tags you would like to keep assigned to your cluster. In the example request, the tags `monitoring` and `prod` are excluded from the `tags` array and so are deleted from your cluster. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "tags" : ["ecomm", "blog"] - }' \ - https://api.linode.com/v4/lke/clusters/12345 - ``` - - The response displays all of your cluster's current tags. In the example response, the cluster's tags are now `blog`, and `ecomm`. - - ```output - {"id": 12345, "status": "ready", "created": "2020-04-13T20:17:22", "updated": "2020-04-13T20:17:22", "label": "cluster-12345", "region": "us-central", "k8s_version": "1.17", "tags": ["blog", "ecomm"]}% - ``` - -### Delete a Node Pool from an LKE Cluster - -When you delete a node pool you also delete the Compute Instances (nodes) and routes to them. The Pods running on those nodes are evicted and rescheduled. If you have [assigned Pods to the deleted Nodes](https://kubernetes.io/docs/concepts/configuration/assign-pod-node), the Pods might remain in an unschedulable condition if no other node in the cluster satisfies the [node selector](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector). - -| Required Parameters | Description | -| -- | -- | -| `clusterId` | ID of the LKE cluster to lookup. | -| `poolId` | ID of the LKE node pool to lookup. | - -To delete a node pool from a LKE cluster, send a `DELETE` request to the `/lke/clusters/{clusterId}/pools/{poolId}` end point. In the URL of this example, replace `12345` with your cluster's ID and `196` with your cluster's node pool ID: - -{{< note type="alert" >}} -This step is permanent and results in the loss of data. -{{< /note >}} - -```command -curl -H "Authorization: Bearer $TOKEN" \ - -X DELETE \ - https://api.linode.com/v4/lke/clusters/12345/pools/196 -``` - -## Delete an LKE Cluster - -Deleting an LKE cluster deletes the **Master node**, all **worker nodes**, and all **NodeBalancers** created by the cluster. However, it does **not delete any Volumes** created by the LKE cluster. - -To delete an LKE Cluster, send a `DELETE` request to the `/lke/clusters/{clusterId}` endpoint. In the URL of this example, replace `12345` with your cluster's ID: - -{{< note type="alert" >}} -This step is permanent and results in the loss of data. -{{< /note >}} - -```command -curl -H "Authorization: Bearer $TOKEN" \ - -X DELETE \ - https://api.linode.com/v4/lke/clusters/12345 -``` - -## Where to Go From Here? - -Now that you have created an LKE cluster, you can start deploying workloads to it. Review these guides for further help: - -- [How to Install Apps on Kubernetes with Helm 3](/docs/guides/how-to-install-apps-on-kubernetes-with-helm-3/) -- [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/docs/guides/deploy-container-image-to-kubernetes/) -- [Troubleshooting Kubernetes](/docs/guides/troubleshooting-kubernetes/) \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/drain-node-pools/index.md b/docs/products/compute/kubernetes/guides/drain-node-pools/index.md deleted file mode 100644 index 972869d6a16..00000000000 --- a/docs/products/compute/kubernetes/guides/drain-node-pools/index.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: Drain a Node Pool -title_meta: How to Drain a Node Pool in Linode Kubernetes Engine -description: "Learn how to drain a node pool in Linode Kubernetes Engine, create a Persistent Volume and copy the application data to a Persistent Volume." -published: 2020-07-07 -modified: 2023-02-09 -keywords: [drain, node pool, maintenance, upgrade, pod disruption] -external_resources: - - "[Kubernetes Documentation](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/)" -aliases: ['/guides/how-to-drain-a-node-pool-in-linode-kubernetes-engine/'] ---- - -## Draining a Node - -You can use `kubectl drain` to safely evict all of the pods from a node before you perform maintenance on the node such as kernel upgrade, hardware maintenance, and others. Safe evictions allow the containers of the pods to gracefully terminate and respect the PodDisruptionBudgets that you specified. For more information see, [Disruptions](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/). - -Kubernetes workloads move around the cluster, which enables use cases like highly available distributed systems. Linode recommends you to move any data storage on the filesystem of the Compute Instances in an LKE cluster to Persistent Volumes with network attached storage. Avoid using local storage on LKE nodes whenever possible. If you are using Persistent Volume Claim for the application on an LKE cluster, skip the entire [Copy the application data to a Persistent Volume](#copy-the-application-data-to-a-persistent-volume) section and proceed directly to [Add a new node pool to the cluster and drain the nodes](#add-a-new-node-pool-to-the-cluster-and-drain-the-nodes). - -This guide provides instructions to: - -- Copy the application data to a Persistent Volume if you are using a local storage to store application data. -- Add a new node pool to the cluster and then drain the nodes. - -## Before You Begin - -This guide assumes you have a working [Linode Kubernetes Engine (LKE)](https://www.linode.com/products/kubernetes/) cluster running on Linode and you are familiar with *PodDisruptionBudget* concept and Configured *PodDisruptionBudgets* for applications that need them. - -1. [Install the Kubernetes CLI](/docs/products/compute/kubernetes/guides/kubectl/) (`kubectl`) on the local computer. - -1. Follow the instructions in [Deploying and Managing a Cluster with Linode Kubernetes Engine Tutorial](/docs/products/compute/kubernetes/) to connect to an LKE cluster. - - {{< note >}} - Ensure that the `KUBECONFIG` context is [persistent](/docs/products/compute/kubernetes/guides/kubectl/#persist-the-kubeconfig-context) - {{< /note >}} - -1. Ensure that Kubernetes CLI is using the right cluster context. Run the `get-contexts` subcommand to check: - - ```command - kubectl config get-contexts - ``` - -## Copy the application data to a Persistent Volume - -{{< note type="alert" >}} -The instructions in this section creates a Block Storage volume billable resource on your Linode account. A single volume can range from 10 GB to 10,000 GB in size and costs $0.10/GB per month or $0.00015/GB per hour. If you do not want to keep using the Block Storage volume that you create, be sure to delete it when you have finished the guide. - -If you remove the resources afterward, you are only 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 and for a table of plan pricing. -{{< /note >}} - -1. Create a *Persistent Volume Claim* (PVC) that consumes a Block Storage Volume. To create a PVC, create a manifest file with the following YAML: - - ```file {title="pvc.yaml" lang=yaml} - apiVersion: v1 - kind: PersistentVolumeClaim - metadata: - name: pvc-test - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi - storageClassName: linode-block-storage-retain - ``` - - {{< note >}} - To retain the Block Storage Volume and its data, even after the associated PVC is deleted, use the `linode-block-storage-retain` StorageClass. If, instead, you prefer to have the Block Storage Volume and its data deleted along with its PVC, use the `linode-block-storage` StorageClass. For more information, see the [Delete a Persistent Volume Claim](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/#delete-a-persistent-volume-claim). - {{< /note >}} - - The PVC represents a Block Storage Volume. Because Block Storage Volumes have a minimum size of 10 gigabytes, the storage has been set to `10Gi`. If you choose a size smaller than 10 gigabytes, the PVC defaults to 10 gigabytes. Currently the only mode supported by the Linode Block Storage CSI driver is `ReadWriteOnce`, meaning that it can only be connected to one Kubernetes node at a time. - -1. Create the PVC in Kubernetes, and pass in the `pvc.yaml` file: - - ```command - kubectl create -f pvc.yaml - ``` - - After a few moments the Block Storage Volume is provisioned and the Persistent Volume Claim is ready to use. - -1. Check the status of the PVC by typing the following command: - - ```command - kubectl get pvc - ``` - - An output similar to the following appears: - - ```output - NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE - pvc-test Bound pvc-0e95b811652111e9 10Gi RWO linode-block-storage-retain 2m - ``` - - You can now attach the PVC to a Pod. - -1. Create a manifest file for the new Pod using the following YAML, where `application` is using local storage at `$MOUNTPATH`, `pvc-test` is a Persistent Volume Claim at `$CSIVolumePath`: - - ```file {title="new-pod.yaml" lang=yaml} - apiVersion: v1 - kind: Pod - metadata: - name: new-pod - labels: - app: application - volumes: - - name: application - hostPath: - path: $HOSTPATH - - name: pvc-test - persistentVolumeClaim: - claimName: pvc-test - ........ - volumeMounts: - - name: application - mountPath: $MOUNTPATH - - name: pvc-test - mountPath: $CSIVolumePath - ``` - -1. Create a new Pod named `new-pod`: - - ```command - kubectl create -f new-pod.yaml - ``` - -1. After a few moments the Pod should be up and running. To check the status of the Pod, type the following command: - - ```command - kubectl get pods - ``` - - An output similar to following appears: - - ```output - NAME READY STATUS RESTARTS AGE - new-pod 1/1 Running 0 2m - ``` - -1. Connect to a shell in the new Pod, type the following command: - - ```command - kubectl exec -it new-pod -- /bin/bash - ``` - -1. From the shell, copy the files from local storage to the PVC. In the following command `$MOUNTPATH` is the location of the local storage and `$CSIVolumePath` is the location on the PVC: - - ```command - cp -P $MOUNTPATH $CSIVolumePath. - ``` - -1. Delete the new Pod that you created, and then re-create it: - - ```command - kubectl delete pod new-pod - kubectl create -f new-pod.yaml - ``` - - You should now see that all the data is stored in the CSI Volume. - -## Add a new node to the cluster and drain the node - -1. Add an [additional Node Pool](/docs/products/compute/kubernetes/guides/manage-node-pools/#add-a-node-pool) to the LKE cluster, of a plan type and size which can accommodate the existing workloads. - -1. After the new Compute Instances have joined the cluster, drain any instances that are scheduled for maintenance. This causes the workloads to be rescheduled to other Compute Instances in the cluster. Linode recommends draining one instance at a time to ensure that the workloads have been rescheduled to other instances. An example Node drain command: - - ```command - kubectl drain lke9297-11573-5f3e357cb447 - ``` - -1. You can delete the old Node Pool or choose to keep it for after the maintenance is complete. Note, if you keep the Node Pool, you will be charged for it. - -1. When the maintenance has been completed and if you kept your previous Compute Instances, after they have booted you can mark them as scheduled again by using the following command: - - ```command - kubectl uncordon lke9297-11573-5f3e357cb447 - ``` \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/high-availability-control-plane/cluster-ha-enable.png b/docs/products/compute/kubernetes/guides/high-availability-control-plane/cluster-ha-enable.png deleted file mode 100644 index 7db5602cfed..00000000000 Binary files a/docs/products/compute/kubernetes/guides/high-availability-control-plane/cluster-ha-enable.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/high-availability-control-plane/create-cluster-enable-ha.png b/docs/products/compute/kubernetes/guides/high-availability-control-plane/create-cluster-enable-ha.png deleted file mode 100644 index 7319e890c50..00000000000 Binary files a/docs/products/compute/kubernetes/guides/high-availability-control-plane/create-cluster-enable-ha.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/high-availability-control-plane/ha-cluster-watermark.png b/docs/products/compute/kubernetes/guides/high-availability-control-plane/ha-cluster-watermark.png deleted file mode 100644 index a39adac67d1..00000000000 Binary files a/docs/products/compute/kubernetes/guides/high-availability-control-plane/ha-cluster-watermark.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/high-availability-control-plane/index.md b/docs/products/compute/kubernetes/guides/high-availability-control-plane/index.md deleted file mode 100644 index 586ca759f07..00000000000 --- a/docs/products/compute/kubernetes/guides/high-availability-control-plane/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: "High Availability (HA) Control Plane" -title_meta: "High Availability (HA) Control Plane on LKE" -description: "Learn how to enable High Availability on Linode Kubernetes Engine." -published: 2021-11-04 -modified: 2023-12-18 -keywords: ['kubernetes', 'lke', 'high availability', 'ha'] -tags: ["networking","kubernetes","container","education"] -aliases: ['/guides/enable-lke-high-availability/', '/products/compute/kubernetes/guides/enable-high-availability/'] ---- - -In Kubernetes, the control plane is the set of components that orchestrate the cluster and manage the worker nodes (Compute Instances) in that cluster and the pods (containers) within the worker nodes. The control plane components include the Kubernetes API server (`kube-apiserver`), etcd, the Kubernetes scheduler (`kube-scheduler`), the cloud controller manager (`cloud-controller-manager`), and the Kubernetes controller manager (`kube-controller-manager`). - -Within the Linode Platform, this control plane is fully managed by LKE (the Linode Kubernetes Engine). By default, these components are not replicated. If any of them fail, it's possible that there may be issues with your cluster. Enabling **HA (High Availability) Control Plane** adds an additional layer of redundancy by replicating these control plane components. In doing so, this feature can ensure that the cluster experiences maximum uptime (99.99% guaranteed) and is recommended for all production applications running on LKE. - -## Cost - -The HA control plane feature is an optional billable service that starts at $60/month per cluster, depending on region. For more information, see our [pricing page](https://www.linode.com/pricing/). - -{{< note type="alert" >}} -While upgrading to an HA cluster is always possible, **downgrading your cluster is not currently supported**. Enabling HA is an **irreversible** change for your cluster. -{{< /note >}} - -## Replication Details - -When HA control plane is enabled on a cluster, the following control plane components are replicated: - -- **etcd** and **kube-apiserver** increases from *one* to *three* replicas. -- All other components, including the **Cloud Controller Manager**, **kube-scheduler**, and **kube-controller-manager**, increase from *one* to *two* replicas, with leader election put in place. - -When multiple replicas are created, they are always placed on separate infrastructure to better support uptime and redundancy. This configuration maintains a guaranteed 99.99% uptime for the control plane and worker nodes. - -## Enable During Cluster Creation - -To enable this feature when creating a cluster, check the **Enable HA Control Plane** box in the Cluster Summary section. Review the [Create a Cluster](/docs/products/compute/kubernetes/guides/create-cluster/#optionally-enable-high-availability) guide for full instructions. - -![Screenshot of the Enable HA toggle during cluster creation](create-cluster-enable-ha.png) - -## Enable on Existing Clusters - -If a cluster was created *without* this feature, you can enable it at any time. - -{{< note type="warning" >}} -Enabling the high availability control plane feature may result in *brief and temporary* downtime while the cluster is upgraded and the following actions are performed: - -- All nodes will be deleted and new nodes are created to replace them. -- Any local storage (such as `hostPath` volumes) will be erased. - -The upgrade process may take several minutes to complete, as nodes are replaced on a rolling basis. -{{< /note >}} - -High Availability can be added to pre-existing clusters at any given time through the cluster's **Summary Page**. - -1. To reach the summary page for the cluster, navigate first to the [Kubernetes section of Cloud Manager](https://cloud.linode.com/kubernetes/clusters). - -1. Select the Cluster by label that you would like to enable HA for. The summary page for the cluster appears. - -1. To enable HA, select the **Upgrade to HA** button at the top of the page. - - ![LKE HA cluster upgrade](upgrade-to-ha.png "Kubernetes HA upgrade.") - -1. A new window appears, asking you to confirm all of the changes that come with High Availability. Read through the message and select the **Enable HA Control Plane** checkbox to confirm that you agree to the changes. Then click the **Upgrade to HA** button. - - ![LKE HA cluster enable](cluster-ha-enable.png "Kubernetes HA Cluster Enable.") - -All clusters that have HA enabled will have an HA Cluster watermark on their summary page. - -![LKE HA cluster watermark](ha-cluster-watermark.png "LKE HA cluster watermark.") diff --git a/docs/products/compute/kubernetes/guides/high-availability-control-plane/upgrade-to-ha.png b/docs/products/compute/kubernetes/guides/high-availability-control-plane/upgrade-to-ha.png deleted file mode 100644 index 16f2441178a..00000000000 Binary files a/docs/products/compute/kubernetes/guides/high-availability-control-plane/upgrade-to-ha.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubectl/download-kubeconfig.png b/docs/products/compute/kubernetes/guides/kubectl/download-kubeconfig.png deleted file mode 100644 index f525986561c..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubectl/download-kubeconfig.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubectl/index.md b/docs/products/compute/kubernetes/guides/kubectl/index.md deleted file mode 100644 index 1d43cafb8dd..00000000000 --- a/docs/products/compute/kubernetes/guides/kubectl/index.md +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: Manage a Cluster with kubectl -description: "Learn how to install kubectl and use it to manage a Kubernetes cluster hosted through LKE." -published: 2023-02-09 -aliases: ['/products/compute/kubernetes/guides/download-kubeconfig/','/products/compute/kubernetes/guides/install-kubectl/'] ---- - -## Install kubectl - -You need to install the kubectl client to your computer before proceeding. Follow the steps corresponding to your computer's operating system. - -{{% content "how-to-install-kubectl" %}} - -## Connect to a Cluster with kubectl - -After you've created your LKE cluster using Cloud Manager, you can begin interacting with and managing your cluster. You connect to it using the kubectl client on your computer. To configure kubectl, download your cluster's *kubeconfig* file. - -### Access and Download your kubeconfig - -Anytime after your cluster is created you can download its *kubeconfig*. The kubeconfig is a YAML file that will allow you to use kubectl to communicate with your cluster. Here is an example kubeconfig file: - -```file {title="example-cluster-kubeconfig.yaml" lang=yaml} -apiVersion: v1 -kind: Config -preferences: {} - -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUd... - server: https://example.us-central.linodelke.net:443 - name: lke1234 - -users: -- name: lke1234-admin - user: - as-user-extra: {} - token: LS0tLS1CRUd... - -contexts: -- context: - cluster: lke1234 - namespace: default - user: lke1234-admin - name: lke1234-ctx - -current-context: lke1234-ctx -``` - -This configuration file defines your cluster, users, and contexts. - -1. To access your cluster's kubeconfig, log in to your Cloud Manager account and navigate to the **Kubernetes** section. - -1. From the Kubernetes listing page, click on your cluster's **more options ellipsis** and select **Download kubeconfig**. The file will be saved to your computer's `Downloads` folder. - - ![Download your cluster's kubeconfig](download-kubeconfig.png "Download your cluster's kubeconfig") - - {{< note title="Download and view your Kubeconfig from the cluster's details page" >}} - You can also download the kubeconfig from the Kubernetes cluster's details page. - - 1. When viewing the Kubernetes listing page, click on the cluster for which you'd like to download a kubeconfig file. - - 1. On the cluster's details page, under the **kubeconfig** section, click the **Download icon**. The file will be saved to your `Downloads` folder. - - 1. To view the contents of your kubeconfig file, click on the **View icon**. A pane will appear with the contents of your cluster's kubeconfig file. - {{< /note >}} - -1. To improve security, change the `kubeconfig.yaml` file permissions to be only accessible by the current user: - - ```command - chmod go-r /Downloads/kubeconfig.yaml - ``` - -1. Open a terminal shell and save your kubeconfig file's path to the `$KUBECONFIG` environment variable. In the example command, the kubeconfig file is located in the `Downloads` folder, but you should alter this line with this folder's location on your computer: - - ```command - export KUBECONFIG=~/Downloads/kubeconfig.yaml - ``` - - {{< note >}} - It is common practice to store your kubeconfig files in `~/.kube` directory. By default, kubectl will search for a kubeconfig file named `config` that is located in the `~/.kube` directory. You can specify other kubeconfig files by setting the `$KUBECONFIG` environment variable, as done in the step above. - {{< /note >}} - -1. View your cluster's nodes using kubectl. - - ```command - kubectl get nodes - ``` - - {{< note >}} - If your kubectl commands are not returning the resources and information you expect, then your client may be assigned to the wrong cluster context. Visit our [Troubleshooting Kubernetes](/docs/guides/troubleshooting-kubernetes/#troubleshooting-examples) guide to learn how to switch cluster contexts. - {{< /note >}} - -You are now ready to manage your cluster using kubectl. For more information about using kubectl, see Kubernetes' [Overview of kubectl](https://kubernetes.io/docs/reference/kubectl/overview/) guide. - -### Persist the Kubeconfig Context - -If you create a new terminal window, it does not have access to the context that you specified using the previous instructions. This context information can be made persistent between new terminals by setting the [`KUBECONFIG` environment variable](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#set-the-kubeconfig-environment-variable) in your shell's configuration file. - -{{< note >}} -If you are using Windows, review the [official Kubernetes documentation](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/#set-the-kubeconfig-environment-variable) for how to persist your context. -{{< /note >}} - -These instructions persist the context for users of the Bash terminal. They are similar for users of other terminals: - -1. Navigate to the `$HOME/.kube` directory: - - ```command - cd $HOME/.kube - ``` - -1. Create a directory called `configs` within `$HOME/.kube`. You can use this directory to store your kubeconfig files. - - ```command - mkdir configs - ``` - -1. Copy your `kubeconfig.yaml` file to the `$HOME/.kube/configs` directory. - - ```command - cp ~/Downloads/kubeconfig.yaml $HOME/.kube/configs/kubeconfig.yaml - ``` - - {{< note >}} - Alter the above line with the location of the Downloads folder on your computer. - - Optionally, you can give the copied file a different name to help distinguish it from other files in the `configs` directory. - {{< /note >}} - -1. Open up your Bash profile (e.g. `~/.bash_profile`) in the text editor of your choice and add your configuration file to the `$KUBECONFIG` PATH variable. - - If an `export KUBECONFIG` line is already present in the file, append to the end of this line as follows; if it is not present, add this line to the end of your file: - - ```command - export KUBECONFIG=$KUBECONFIG:$HOME/.kube/config:$HOME/.kube/configs/kubeconfig.yaml - ``` - -1. Close your terminal window and open a new window to receive the changes to the `$KUBECONFIG` variable. - -1. Use the `config get-contexts` command for `kubectl` to view the available cluster contexts: - - ```command - kubectl config get-contexts - ``` - - You should see output similar to the following: - - ```output - CURRENT NAME CLUSTER AUTHINFO NAMESPACE - * lke1234-ctx lke1234 lke1234-admin default - ``` - -1. If your context is not already selected, (denoted by an asterisk in the `current` column), switch to this context using the `config use-context` command. Supply the full name of the cluster (including the authorized user and the cluster): - - ```command - kubectl config use-context lke1234-ctx - ``` - - You should see output like the following: - - ```output - Switched to context "lke1234-ctx". - ``` - -1. You are now ready to interact with your cluster using `kubectl`. You can test the ability to interact with the cluster by retrieving a list of Pods. Use the `get pods` command with the `-A` flag to see all pods running across all namespaces: - - ```command - kubectl get pods -A - ``` - - You should see output like the following: - - ```output - NAMESPACE NAME READY STATUS RESTARTS AGE - kube-system calico-kube-controllers-dc6cb64cb-4gqf4 1/1 Running 0 11d - kube-system calico-node-bx2bj 1/1 Running 0 11d - kube-system calico-node-fg29m 1/1 Running 0 11d - kube-system calico-node-qvvxj 1/1 Running 0 11d - kube-system calico-node-xzvpr 1/1 Running 0 11d - kube-system coredns-6955765f44-r8b79 1/1 Running 0 11d - kube-system coredns-6955765f44-xr5wb 1/1 Running 0 11d - kube-system csi-linode-controller-0 3/3 Running 0 11d - kube-system csi-linode-node-75lts 2/2 Running 0 11d - kube-system csi-linode-node-9qbbh 2/2 Running 0 11d - kube-system csi-linode-node-d7bvc 2/2 Running 0 11d - kube-system csi-linode-node-h4r6b 2/2 Running 0 11d - kube-system kube-proxy-7nk8t 1/1 Running 0 11d - kube-system kube-proxy-cq6jk 1/1 Running 0 11d - kube-system kube-proxy-gz4dc 1/1 Running 0 11d - kube-system kube-proxy-qcjg9 1/1 Running 0 11d - ``` \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/access-lke-dashboard.png b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/access-lke-dashboard.png deleted file mode 100644 index 905a5d011e2..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/access-lke-dashboard.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/create-resource.png b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/create-resource.png deleted file mode 100644 index 4d155b79811..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/create-resource.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-home.png b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-home.png deleted file mode 100644 index 353916ecfc4..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-home.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-namespaces.png b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-namespaces.png deleted file mode 100644 index 6550731fc28..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-namespaces.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-pods.png b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-pods.png deleted file mode 100644 index f306c56edf8..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-pods.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-sign-in.png b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-sign-in.png deleted file mode 100644 index 362c1eaa7e7..00000000000 Binary files a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/dashboard-sign-in.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/index.md b/docs/products/compute/kubernetes/guides/kubernetes-dashboard/index.md deleted file mode 100644 index 3d1012e124f..00000000000 --- a/docs/products/compute/kubernetes/guides/kubernetes-dashboard/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: "Manage an LKE Cluster Using the Kubernetes Dashboard" -title_meta: "An Overview of the Kubernetes Dashboard on LKE" -description: "The Kubernetes Dashboard on LKE provides secure insight into the inner workings of Kubernetes clusters in a seamless UI." -published: 2022-03-17 -modified: 2023-02-09 -keywords: ['kubernetes','cluster','analytics','dashboard','troubleshoot'] -tags: ["monitoring","kubernetes","web application"] -external_resources: -- '[Kubernetes Docs](https://kubernetes.io/docs/home/)' -- '[Kubernetes Dashboard GitHub](https://github.com/kubernetes/dashboard)' -aliases: ['/guides/using-the-kubernetes-dashboard-on-lke/','/products/compute/kubernetes/guides/access-kubernetes-dashboard/'] ---- - -The [Kubernetes Dashboard](https://github.com/kubernetes/dashboard) is an industry standard open-source web-based user interface designed to be a visual hub for interacting with a Kubernetes cluster, allowing for a more intuitive interface for observing cluster objects, components, containers, applications, and more. -While providing an easy way to monitor a Kubernetes cluster and perform health checks, the Kubernetes dashboard additionally provides a means to perform administration tasks, similarly to how one would perform administration through the command line tool [kubectl](/docs/guides/beginners-guide-to-kubernetes-part-1-introduction/#kubectl). - -The Linode Kubernetes Engine currently installs the Kubernetes Dashboard by default, and can be accessed through the [Kubernetes Dashboard Link](#accessing-the-cluster-dashboard) found for each cluster in the Linode Cloud Manager. - -This guide will be a step-by-step introduction to accessing the Kubernetes Dashboard on LKE through the unique link found in Cloud Manager or the Linode API. Additionally information will provide basic insight into navigating the Kubernetes Dashboard, as well as provide an example for creating and editing resources directly through the dashboard. - -## Accessing the Cluster Dashboard - -The Cluster Dashboard can be found at the top of the Cluster's [details page](/docs/products/compute/kubernetes/guides/manage-clusters/). The steps for reaching the dashboard from Cloud Manager's are as follows: - -1. Click the Kubernetes link in Cloud Manager's sidebar menu. The Kubernetes listing page appears and you see all of your clusters listed. - -1. Select the cluster that you would like to reach the Kubernetes Dashboard for. The Kubernetes cluster’s details page appears. - -1. Select the **Kubernetes Dashboard** option at the top of the page to open the link to your Kubernetes Dashboard. - - ![Access LKE Dashboard](access-lke-dashboard.png) - -1. Once the link has been selected, you will see a login prompt with the option to enter either a Secret valid Bearer **Token**, or a **Kubeconfig** file to authenticate. - - In any [default Kubeconfig file provided for access to LKE clusters](/docs/products/compute/kubernetes/guides/kubectl/) an administrative user token can be found within the file itself, and entered in the `Enter token*` field to authenticate via a token. - - If you prefer to authenticate using a Kubeconfig file, the file can be entered by selecting the `Kubeconfig` option, the `Choose Kubeconfig file` field, and entering the file by using the file explorer menu that appears. - -1. After a token or Kubeconfig file has been entered, select the **Sign in** button to access the dashboard. - -![Dashboard Sign In](dashboard-sign-in.png) - -## Navigating the Cluster Dashboard - -Once logged in to the Cluster dashboard, **Workloads** for the `default` namespace will appear. This page will include information on all [Workloads](https://kubernetes.io/docs/concepts/workloads/) as defined by Kubernetes, and provide a number of options to navigate the dashboard further. - -![Dashboard Home](dashboard-home.png) - -### Selecting a Namespace - -All namespaces the logged in user has access to are listed and selected from the top left of the page using the dropdown menu. Users who prefer not using a set namespace that would instead like to use every namespace at once can select the `All Namespaces` option. The active namespace can be changed at any time. - -![Dashboard Namespace](dashboard-namespaces.png) - -### Navigating Objects and Components - -Towards the left of the page is a sidebar menu that includes access to similar categories for all other available objects and components, largely as defined by Kubernetes. - -- [Workloads](https://kubernetes.io/docs/concepts/workloads/): Contains information on applications running on Kubernetes Pods, as well as the [controllers](https://kubernetes.io/docs/concepts/workloads/controllers/) that help to most directly manage them. - -- [Service](https://kubernetes.io/docs/concepts/services-networking/): Contains information related to application networking on Kubernetes, primarily in the form of [Services](https://kubernetes.io/docs/concepts/services-networking/service/) and [Ingresses](https://kubernetes.io/docs/concepts/services-networking/ingress/). - -- [Configuration](https://kubernetes.io/docs/concepts/configuration/configmap/) and [Storage](https://kubernetes.io/docs/concepts/storage/): This section includes information related to [ConfigMaps](https://kubernetes.io/docs/concepts/configuration/configmap/), stored Kubernetes [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/), [Storage Classes](https://kubernetes.io/docs/concepts/storage/storage-classes/), and [Persistent Volume Claims](https://kubernetes.io/docs/concepts/storage/persistent-volumes/). - -- **Cluster**: A more administrator focused look at the Kubernetes cluster, the cluster category contains configuration details related to [RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/), [Nodes](https://kubernetes.io/docs/concepts/architecture/nodes/), [Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/), [Network Policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/), and [Service Accounts](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/). - -By selecting categories and sub-categories within the sidebar menu, users can inspect the Kubernetes configuration similarly in most cases to using the `kubectl get` command. Selecting the `Pods` sub-category under the `Workloads` primary category, will show a table of all running pods by `name`, `namespace`, the `images` they're relying on, `Labels` applied, the hardware `node` or nodes they're currently active on, the current status, the `Date` the Pod was created, and any `restarts`. Individual Pods can then be selected further to see additional details as if entering the `kubectl describe` command against a single individual Pod. This same general ruleset applies to all forms of navigation when using the Kubernetes dashboard, though the equivalent `kubectl` command applied will vary depending on the resource being accessed. - -### Creating Resources - -The Kubernetes dashboard additionally allows for the creation of resources directly. This can be completed at any time by selecting the `plus` icon at the top right of the page. Once completed, users can input YAML or JSON formatted configuration content directly, upload a YAML or JSON file, or create a resource by filling out a form. Once completed, the resource can be created by selecting the `upload` or `deploy` option. This is similar to the `kubectl create` command when working with Kubernetes over the command line. - -![Create Resource](create-resource.png) - -### Editing a Resource - -After inspecting an object or resource in the highest level of detail, the pencil icon will appear at the top of the page if any edits can be made. Once the pencil icon has been selected, the configuration of the resource can be viewed in both `YAML` or `JSON` format, and edited as needed. Once all edits are made, the `Update` button can be selected to edit the resource as if using the `kubectl apply -f` command. - -## Limitations - -While the Kubernetes Dashboard is fully featured in all other regards, the CPU and Memory graphs and analytics provided in part by[metrics-server](https://github.com/kubernetes-sigs/metrics-server) on some Kubernetes Dashboard installations are not included. - -As the LKE provided version of the Kubernetes dashboard is hosted and configured separately from cluster nodes, if users need access to CPU and Memory graphs, a separate Kubernetes dashboard installation including `metrics-server` must be performed, hosted directly on the cluster nodes themselves and configured for external access. \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/load-balancing/GetStartLoadBal_LKECluster.png b/docs/products/compute/kubernetes/guides/load-balancing/GetStartLoadBal_LKECluster.png deleted file mode 100644 index 29122aff61a..00000000000 Binary files a/docs/products/compute/kubernetes/guides/load-balancing/GetStartLoadBal_LKECluster.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/load-balancing/index.md b/docs/products/compute/kubernetes/guides/load-balancing/index.md deleted file mode 100644 index 3bde5eb233f..00000000000 --- a/docs/products/compute/kubernetes/guides/load-balancing/index.md +++ /dev/null @@ -1,270 +0,0 @@ ---- -title: "Getting Started with Load Balancing on an LKE Cluster" -title_meta: "How to Get Started with Load Balancing on an LKE Cluster" -description: "We will walk you through everything you need to know about the usage of Linode NodeBalancers in Kubernetes, including adding them to a Kubernetes Service." -og_description: "The Linode Kubernetes Engine (LKE) provides access to Linode''s load balancing service, NodeBalancers. NodeBalancers provide your Kubernetes cluster with a reliable way of exposing resources to the public internet. This guide contains details about the usage of Linode NodeBalancers, including adding NodeBalancers to a Kubernetes Service, and information on various NodeBalancer configurations." -published: 2020-07-14 -modified: 2023-02-09 -keywords: ['load balancers','kubernetes','nodebalancers','services'] -tags: ["http","kubernetes","container","networking","linode platform"] -image: GetStartLoadBal_LKECluster.png -aliases: ['/kubernetes/deploy-nodebalancers-with-linode-ccm/','/kubernetes/getting-started-with-load-balancing-on-a-lke-cluster/','/guides/getting-started-with-load-balancing-on-a-lke-cluster/'] ---- - -The Linode Kubernetes Engine (LKE) is Linode's managed Kubernetes service. When you deploy an LKE cluster, you receive a Kubernetes Master which runs your cluster's control plane components, at no additional cost. The control plane includes [Linode's Cloud Controller Manager (CCM)](https://github.com/linode/linode-cloud-controller-manager/), which provides a way for your cluster to access additional Linode services. Linode's CCM provides access to Linode's load balancing service, [Linode NodeBalancers](/docs/products/networking/nodebalancers/). - -NodeBalancers provide your Kubernetes cluster with a reliable way of exposing resources to the public internet. The LKE control plane handles the creation and deletion of the NodeBalancer, and correctly identifies the resources, and their networking, that the NodeBalancer will route traffic to. Whenever a Kubernetes Service of the `LoadBalancer` type is created, your Kubernetes cluster will create a Linode NodeBalancer service with the help of the Linode CCM. - -{{< note >}} -Adding external Linode NodeBalancers to your LKE cluster will incur additional costs. See [Linode's Pricing page](https://www.linode.com/pricing/#row--networking) for details. -{{< /note >}} - -{{< note >}} -All existing LKE clusters receive CCM updates automatically every two weeks when a new LKE release is deployed. See the [LKE Changelog](/docs/products/compute/kubernetes/release-notes/) for information on the latest LKE release. -{{< /note >}} - -{{< note >}} -The [Linode Terraform K8s module](/docs/guides/how-to-provision-an-unmanaged-kubernetes-cluster-using-terraform/) also deploys a Kubernetes cluster with the Linode CCM installed by default. Any Kubernetes cluster with a Linode CCM installation can make use of Linode NodeBalancers in the ways described in this guide. -{{< /note >}} - -## In this Guide - -This guide will show you: - -- manifest file configurations needed to [add Linode NodeBalancers to your LKE cluster](#adding-linode-nodebalancers-to-your-kubernetes-cluster). -- [annotations](#annotations-reference) available to further configure your Linode NodeBalancers behavior and how to incorporate them into a manifest file. -- prerequisites and annotations needed to configure [TLS termination](#configuring-linode-nodebalancers-for-tls-encryption) on your cluster's NodeBalancers. -- how to [configure session affinity](#configuring-session-affinity-for-cluster-pods) for the Pods in a cluster. - -### Before You Begin - -This guide assumes you have a working Kubernetes cluster that was deployed using the Linode Kubernetes Engine (LKE). You can deploy a Kubernetes cluster using LKE in the following ways: - -- The [Linode Cloud Manager](/docs/products/compute/kubernetes/). -- [Linode's API v4](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/). -- [Terraform](/docs/guides/deploy-lke-cluster-using-terraform/), the popular infrastructure as code (IaC) tool. - - {{< note >}} - An LKE cluster will already have Linode's Cloud Controller Manager installed in the cluster's control plane. If you **did not** deploy your Kubernetes cluster using LKE and would like to make use of the Linode Cloud Controller Manager, see [Installing the Linode CCM on an Unmanaged Kubernetes Cluster - A Tutorial](/docs/guides/install-the-linode-ccm-on-unmanaged-kubernetes/). - {{< /note >}} - -## Adding Linode NodeBalancers to your Kubernetes Cluster - -To add an external load balancer to your Kubernetes cluster you can add the example lines to a new configuration file, or more commonly, to a Service file. When the configuration is applied to your cluster, Linode NodeBalancers will be created, and added to your Kubernetes cluster. Your cluster will be accessible via a public IP address and the NodeBalancers will route external traffic to a Service running on healthy nodes in your cluster. - -{{< note >}} -Billing for Linode NodeBalancers begin as soon as the example configuration is successfully applied to your Kubernetes cluster. - -In any NodeBalancer configuration, users should keep in mind that NodeBalancers have a maximum connection limit of 10,000 concurrent connections. -{{< /note >}} - -```file -spec: - type: LoadBalancer - ports: - - name: http - port: 80 - protocol: TCP - targetPort: 80 -``` - -- The `spec.type` of `LoadBalancer` is responsible for telling Kubernetes to create a Linode NodeBalancer. -- The remaining lines provide port definitions for your Service's Pods and maps an incoming port to a container's `targetPort`. - -### Viewing Linode NodeBalancer Details - -To view details about running NodeBalancers on your cluster: - -1. Get the services running on your cluster: - - ```command - kubectl get services - ``` - - You will see a similar output: - - ```output - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE - kubernetes ClusterIP 10.128.0.1 none 443/TCP 3h5m - example-service LoadBalancer 10.128.171.88 45.79.246.55 80:30028/TCP 36m - ``` - - - Viewing the entry for the `example-service`, you can find your NodeBalancer's public IP under the `EXTERNAL-IP` column. - - The `PORT(S)` column displays the `example-service` incoming port and NodePort. - -1. View details about the `example-service` to retrieve information about the deployed NodeBalancers: - - ```command - kubectl describe service example-service - ``` - - ```output - Name: nginx-service - Namespace: default - Labels: app=nginx - Annotations: service.beta.kubernetes.io/linode-loadbalancer-throttle: 4 - Selector: app=nginx - Type: LoadBalancer - IP: 10.128.171.88 - LoadBalancer Ingress: 192.0.2.0 - Port: http 80/TCP - TargetPort: 80/TCP - NodePort: http 30028/TCP - Endpoints: 10.2.1.2:80,10.2.1.3:80,10.2.2.2:80 - Session Affinity: None - External Traffic Policy: Cluster - Events: - ``` - -## Configuring your Linode NodeBalancers with Annotations - -The Linode CCM accepts annotations that configure the behavior and settings of your cluster's underlying NodeBalancers. - -- The table below provides a list of all available annotation suffixes. -- Each annotation **must** be prefixed with `service.beta.kubernetes.io/linode-loadbalancer-`. For example, the complete value for the `throttle` annotation is `service.beta.kubernetes.io/linode-loadbalancer-throttle`. -- Annotation values such as `http` are case-sensitive. - -#### Annotations Reference - -| Annotation (suffix) | Values | Default Value | Description | -| -- | -- | -- | -- | -| `throttle` | • integer
      • `0`-`20`
      • `0` disables the throttle | `20` | The client connection throttle limits the number of new connections-per-second from the same client IP. | -| `default-protocol` | • string
      •`tcp`, `http`, `https` | `tcp` | Specifies the protocol for the NodeBalancer to use. | -| `default-proxy-protocol` | • string
      •`none`, `v1`, `v2` | `none` | Enables Proxy Protocol on the underlying NodeBalancer and specifies the version of Proxy Protocol to use. The Proxy Protocol allows TCP client connection information, like IP address and port number, to be transferred to cluster nodes. See the [Using Proxy Protocol with NodeBalancers](/docs/products/networking/nodebalancers/guides/proxy-protocol/#what-is-proxy-protocol) guide for details on each Proxy Protocol version. | -| `port-*`| A JSON object of port configurations
      For example:
      `{ "tls-secret-name": "prod-app-tls", "protocol": "https"})` | None | • Specifies a NodeBalancer port to configure, i.e. `port-443`.

      • Ports `1-65534` are available for balancing.

      • The available port configurations are:

      `"tls-secret-name"` use this key to provide a Kubernetes secret name when setting up TLS termination for a service to be accessed over HTTPS. The secret type should be `kubernetes.io/tls`.

      `"protocol"` specifies the protocol to use for this port, i.e. `tcp`, `http`, `https`. The default protocol is `tcp`, unless you provided a different configuration for the `default-protocol` annotation. | -| `check-type` | • string
      • `none`, `connection`, `http`, `http_body` | None | • The type of health check to perform on Nodes to ensure that they are serving requests. The behavior for each check is the following:

      `none` no check is performed

      `connection` checks for a valid TCP handshake

      `http` checks for a `2xx` or `3xx` response code

      `http_body` checks for a specific string within the response body of the healthcheck URL. Use the `check-body` annotation to provide the string to use for the check. | -| `check-path` | string | None | The URL path that the NodeBalancer will use to check on the health of the back-end Nodes. | -| `check-body` | string | None | The string that must be present in the response body of the URL path used for health checks. You must have a `check-type` annotation configured for a `http_body` check. | -| `check-interval` | integer | None | The duration, in seconds, between health checks. | -| `check-timeout` | • integer
      • value between `1`-`30` | None | Duration, in seconds, to wait for a health check to succeed before it is considered a failure. | -| `check-attempts` | • integer
      • value between `1`-`30` | None | Number of health checks to perform before removing a back-end Node from service. | -| `check-passive` | Boolean | `false` | When `true`, `5xx` status codes will cause the health check to fail. | -| `preserve` | Boolean | `false` | When `true`, deleting a LoadBalancer service does not delete the underlying NodeBalancer | -| `nodebalancer-id` | string | None | The ID of the NodeBalancer to front the service. When not specified, a new NodeBalancer will be created. This can be configured on service creation or patching. | -| `hostname-only-ingress` | Boolean | `false` | When `true`, the LoadBalancerStatus for the service will only contain the Hostname. This is useful for bypassing kube-proxy's rerouting of in-cluster requests originally intended for the external LoadBalancer to the service's constituent Pod IP addresses. | - -{{< note >}} -To view a list of deprecated annotations, visit the [Linode CCM GitHub repository](https://github.com/linode/linode-cloud-controller-manager/blob/master/README.md#deprecated-annotations). -{{< /note >}} - -### Configuring Linode NodeBalancers for TLS Encryption - -This section describes how to set up TLS termination on your Linode NodeBalancers so a Kubernetes Service can be accessed over HTTPS. - -#### Generating a TLS type Secret - -Kubernetes lets you store sensitive information in a Secret object for use within your cluster. This is useful for storing things like passwords and API tokens. In this section, you will create a Kubernetes secret to store Transport Layer Security (TLS) certificates and keys that you will then use to configure TLS termination on your Linode NodeBalancers. - -In the context of the Linode CCM, Secrets are useful for storing Transport Layer Security (TLS) certificates and keys. The `linode-loadbalancer-tls` annotation requires TLS certificates and keys to be stored as Kubernetes Secrets with the type `tls`. Follow the steps in this section to create a Kubernetes TLS Secret. - -{{< note >}} -The steps in this section will create a self-signed TLS certificate. To learn how to create a TLS certificate from the [Let's Encrypt](https://letsencrypt.org/) certificate authority (CA) and apply it to an application running on Kubernetes, see the [Configuring Load Balancing with TLS Encryption on a Kubernetes Cluster](/docs/guides/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/). -{{< /note >}} - -1. Generate a TLS key and certificate using a TLS toolkit like [OpenSSL](https://www.openssl.org/). Be sure to change the `CN` and `O` values to those of your own website domain. - - ```command - openssl req -newkey rsa:4096 \ - -x509 \ - -sha256 \ - -days 3650 \ - -nodes \ - -out tls.crt \ - -keyout tls.key \ - -subj "/CN=mywebsite.com/O=mywebsite.com" - ``` - -1. Create the secret using the `create secret tls` command. Ensure you substitute `$SECRET_NAME` for the name you'd like to give to your secret. This will be how you reference the secret in your Service manifest. - - ```command - kubectl create secret tls $SECRET_NAME --cert tls.crt --key tls.key - ``` - -1. You can check to make sure your Secret has been successfully stored by using `describe`: - - ```command - kubectl describe secret $SECRET_NAME - ``` - - You should see output like the following: - - ```output - kubectl describe secret docteamdemosite - Name: my-secret - Namespace: default - Labels: - Annotations: - - Type: kubernetes.io/tls - - Data - ==== - tls.crt: 1164 bytes - tls.key: 1704 bytes - ``` - - If your key is not formatted correctly you'll receive an error stating that there is no PEM formatted data within the key file. - -#### Configuring TLS within a Service - -By default, Kubernetes does not expose Services with TLS termination over HTTPS. In order to use `https` you'll need to instruct the Service to use the correct port using the required annotations. You can add the following code snippet to a Service file to enable TLS termination on your NodeBalancers: - -```file {title="example-service.yaml" lang=yaml} -... -metadata: - annotations: - service.beta.kubernetes.io/linode-loadbalancer-default-protocol: http - service.beta.kubernetes.io/linode-loadbalancer-port-443: '{ "tls-secret-name": "example-secret", "protocol": "https" }' -... -``` - -- The `service.beta.kubernetes.io/linode-loadbalancer-default-protocol` annotation configures the NodeBalancer's default protocol. - -- `service.beta.kubernetes.io/linode-loadbalancer-port-443` specifies port `443` as the port to be configured. The value of this annotation is a JSON object designating the TLS secret name to use (`example-secret`) and the protocol to use for the port being configured (`https`). - -If you have multiple Secrets and ports for different environments (testing, staging, etc.), you can define more than one secret and port pair: - -```file {title="example-service.yaml" lang=yaml} -... -metadata: - annotations: - service.beta.kubernetes.io/linode-loadbalancer-default-protocol: http - service.beta.kubernetes.io/linode-loadbalancer-port-443: '{ "tls-secret-name": "example-secret", "protocol": "https" }' - service.beta.kubernetes.io/linode-loadbalancer-port-8443: '{ "tls-secret-name": "example-secret-staging", "protocol": "https" }' -... -``` - -### Configuring Session Affinity for Cluster Pods - -`kube-proxy` will always attempt to proxy traffic to a random back-end Pod. To direct traffic to the same Pod, you can use the `sessionAffinity` mechanism. When set to `clientIP`, `sessionAffinity` will ensure that all traffic from the same IP will be directed to the same Pod. You can add the example lines to a Service configuration file to - -```file -spec: - type: LoadBalancer - selector: - app: example-app - sessionAffinity: ClientIP - sessionAffinityConfig: - clientIP: - timeoutSeconds: 100 -``` - -## Removing Linode NodeBalancers from your Kubernetes Cluster - -To delete a NodeBalancer and the Service that it represents, you can use the Service manifest file you used to create the NodeBalancer. Simply use the `delete` command and supply your filename with the `f` flag: - -```command -kubectl delete -f example-service.yaml -``` - -Similarly, you can delete the Service by name: - -```command -kubectl delete service example-service -``` - -After deleting your service, its corresponding NodeBalancer will be removed from your Linode account. - -{{< note >}} -If your Service file used the `preserve` annotation, the underlying NodeBalancer will not be removed from your Linode account. See the [annotations reference](#annotations-reference) for details. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/manage-clusters/index.md b/docs/products/compute/kubernetes/guides/manage-clusters/index.md deleted file mode 100644 index a179d71bbd5..00000000000 --- a/docs/products/compute/kubernetes/guides/manage-clusters/index.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Manage Kubernetes Clusters -title_meta: Manage Kubernetes Clusters on LKE -description: "Learn how to view and manage your Kubernetes clusters on LKE." -published: 2023-02-09 -aliases: ['/products/compute/kubernetes/guides/delete-cluster/'] ---- - -## View Kubernetes Clusters - -Log in to [Cloud Manager](https://cloud.linode.com) and select Kubernetes from the left menu. If any LKE clusters exist on your account, they are listed on this page. - -![Screenshot of the Kubernetes listing page in Cloud Manager](view-clusters.png) - -Each Kubernetes cluster in the matrix is displayed alongside the following details: - -- **Version:** The Kubernetes version that the cluster is using. -- **Created:** The day and time the cluster was created. -- **Region:** The data center where the cluster resides. -- **Total Memory:** The total combined memory of all worker nodes in the cluster. -- **Total CPUs:** The total combined number of CPU cores in all worker nodes in the cluster. - -## Create a Cluster - -To create a new Kubernetes cluster within LKE, follow the instructions within the [Create a Cluster](/docs/products/compute/kubernetes/guides/create-cluster/) guide. - -## Review and Edit a Cluster - -Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to edit. See [View Kubernetes Clusters](#view-kubernetes-clusters). - -![Screenshot of a Kubernetes cluster entry in Cloud Manager](select-cluster.png) - -This displays the details page for the selected cluster. From here, you can view the summary section (which includes the Kubernetes version, region, cost, and combined computing resources) as well as the following details: - -- **Kubernetes API Endpoint** -- **Kubeconfig:** Download, view, and reset the Kubeconfig configuration file. This file outlines the configuration of your cluster and lets you connect to it. - -There are also links to view the Kubernetes dashboard, upgrade the cluster to high availability, delete the cluster, and more. From here, you can also add, remove, recycle, and resize node pools (see [Manage Node Pools](/docs/products/compute/kubernetes/guides/manage-node-pools/)). - -![Screenshot of a Kubernetes cluster detail page in Cloud Manager](view-cluster-details-page.png) - -## Delete a Cluster - -1. Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to delete. See [View Kubernetes Clusters](#view-kubernetes-clusters). - -1. Within the summary and details section, click the **Delete Cluster** button. - -1. A confirmation dialog appears. Click **Delete Cluster** to proceed with removing the Kubernetes cluster from your account. \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/manage-clusters/select-cluster.png b/docs/products/compute/kubernetes/guides/manage-clusters/select-cluster.png deleted file mode 100644 index 2a901fdab75..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-clusters/select-cluster.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/manage-clusters/view-cluster-details-page.png b/docs/products/compute/kubernetes/guides/manage-clusters/view-cluster-details-page.png deleted file mode 100644 index ad374fa8188..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-clusters/view-cluster-details-page.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/manage-clusters/view-clusters.png b/docs/products/compute/kubernetes/guides/manage-clusters/view-clusters.png deleted file mode 100644 index 5df72a75df5..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-clusters/view-clusters.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/manage-node-pools/add-node-pool.png b/docs/products/compute/kubernetes/guides/manage-node-pools/add-node-pool.png deleted file mode 100644 index dfbdad45870..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-node-pools/add-node-pool.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/manage-node-pools/autoscale-node-pool.png b/docs/products/compute/kubernetes/guides/manage-node-pools/autoscale-node-pool.png deleted file mode 100644 index b868b444e7c..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-node-pools/autoscale-node-pool.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/manage-node-pools/index.md b/docs/products/compute/kubernetes/guides/manage-node-pools/index.md deleted file mode 100644 index d283a634b0e..00000000000 --- a/docs/products/compute/kubernetes/guides/manage-node-pools/index.md +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Manage Nodes and Node Pools -description: "How to add a Node Pool to a Linode Kubernetes Engine (LKE) cluster." -published: 2023-02-09 -aliases: ['/products/compute/kubernetes/guides/add-node-pool/','/products/compute/kubernetes/guides/edit-remove-node-pools/','/products/compute/kubernetes/guides/enable-cluster-autoscaling/'] ---- - -**Nodes**, also known as *worker nodes*, are virtual machines (built on top of Compute Instances) that serve as hosts for your containerized applications (*pods*). A **node pool** is a group of nodes that all run the same applications and configuration. Each LKE cluster has at least one node pool but additional node pools can be deployed as needed. - -This guide covers managing the node pools on your cluster, including adding and resizing them to fit the needs of your applications. It also covers recycling node pools to replace all of the associated nodes with new ones that are upgraded to the most recent patch of your cluster's Kubernetes version. For an automated approach, you can also enable cluster autoscaling to automatically create and remove nodes as needed. For any other changes to your LKE cluster, you should use kubectl. - -## View Node Pools - -1. Log in to [Cloud Manager](http://cloud.linode.com), click **Kubernetes** in the left menu, and select the cluster you wish to view. See [Manage Kubernetes Clusters](/docs/products/compute/kubernetes/guides/manage-clusters/). - -1. Scroll down to the **Node Pools** section. This lists all node pools for your cluster and their associated nodes. - - ![Screenshot of the Node Pools section of a cluster in Cloud Manager](view-node-pools.png) - -## Add a Node Pool - -Additional node pools can be added to host different applications or services within the same Kubernetes cluster. Since each node pool can be assigned its own virtual machine (Compute Instance) plan, separating applications into node pools can boost efficiency and allow each application to only be assigned the resources it needs. - -1. Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to edit. See [View Node Pools](#view-node-pools). - -1. Within the **Node Pool** section, click the **Add a Node Pool** button. - -1. In the side panel that opens, locate the plan type you wish to use for your first node pool. Currently, the available plan types for LKE worker nodes include [Shared CPU](/docs/products/compute/compute-instances/plans/choosing-a-plan/#shared-cpu-instances), [Dedicated CPU](/docs/products/compute/compute-instances/plans/choosing-a-plan/#dedicated-cpu-instances), and [High Memory](/docs/products/compute/compute-instances/plans/choosing-a-plan/#high-memory-instances). 1 GB Shared CPU Compute Instances Nanodes (also known as *nanodes*) are not available. - - ![Screenshot of the Add Node Pool panel in Cloud Manager](add-node-pool.png) - -1. In the corresponding field, enter the number of worker nodes that you wish to be included in the node pool. - -1. To add the node pool to your cluster's configuration, click the **Add pool** button. - -## Resize a Node Pool - -Node pools can be resized manually or automatically (through auto-scaling). Both of these processes allow you to increase or decrease the *number of worker nodes*. The instructions below cover manually resizing a pool. - -1. Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to edit. See [View Node Pools](#view-node-pools). - -1. Within the **Node Pool** section, locate the node pool you wish to resize and click the **Resize Pool** button. - -1. In the side panel that opens, enter the new number of nodes you wish to have in the pool. As the number is adjusted, the total cost of your new resources are displayed. To accept these changes, select the `Save Changes` button to continue. - - ![Screenshot of the resize node pool panel in Cloud Manager](resize-node-pool.png) - - {{< note type="warning" >}} - Shrinking a node pool results in the deletion of some associated Compute Instances. Any local storage on these instances (such as `hostPath` and `emptyDir` volumes, or "local" PersistentVolumes) is erased. - {{< /note >}} - -## Autoscale (Automatically Resize Node Pools) - -Many production applications benefit from increasing or decreasing infrastructure based on the resources needed in the moment. In Kubernetes, this can be handled through autoscaling. While autoscaling can be applied to any cluster using tools like [Cluster Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler), LKE has built-in autoscaling. When this feature is enabled, nodes can automatically be added or removed from a pool when the following conditions are met: - -- If Pods are unschedulable due to an insufficient number of nodes in the node pool, the number of nodes is increased. - -- If Pods are able to be scheduled on less nodes than are currently available in the node pool, nodes are drained and removed automatically. Pods on drained nodes are immediately rescheduled on pre-existing nodes. - -1. Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to edit. See [View Node Pools](#view-node-pools). - -1. Within the **Node Pool** section, locate the node pool you wish to modify and click the **Autoscale Pool** button. A popup form appears with settings for autoscaling the node pool. - - ![Screenshot of the Autoscale Pool menu in Cloud Manager](autoscale-node-pool.png) - -1. To enable autoscaling, toggle the **Autoscaler** button. - -1. Enter the minimum and maximum number of nodes for the node pool. The autoscaler feature ensures that the total number of nodes in the pool is never below the minimum number and above the maximum number. The minimum number can be between 1 and 99 while the maximum number needs to be higher than the minimum up to a limit of 100. - -1. Click the `Save Changes` button to complete the process and enable (or disable) the autoscaling feature. - -{{< note >}} -The LKE Autoscaler will not automatically increase or decrease the size of the node pool if the current node pool is either below the minimum of the autoscaler, or above the maximum. This behavior can be further described by following examples: - -- If the Node pool has 3 nodes in the current node pool and a minimum of 5, the autoscaler will not automatically scale the current node pool up to meet the minimum. It will only scale up if pods are unschedulable otherwise. - -- If the Node Pool has 10 nodes in the current node pool and a maximum of 7, the autoscaler will not automatically scale the current node pool down to meet the maximum. It can only scale down when the maximum is at or above the current number of nodes in the node pool. This is an intentional design choice to prevent the disruption of existing workloads. -{{< /note >}} - -## Recycle Nodes - -Recycling a worker node deletes the corresponding Compute Instance and deploys a new one. This is used when upgrading minor versions of Kubernetes or when debugging a node. You can recycle an individual node, recycle all nodes in a node pool, or recycle all nodes within a cluster. When recycling multiple nodes, each node is recycled on a rolling basis so that only a single node is down at any time. - -1. Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to edit. See [View Node Pools](#view-node-pools). - -1. Within the **Node Pool** section, select the button corresponding with the recycle operation you wish to perform: - - - **Recycle All Nodes**: Performs recycle operations on each node in the cluster on a rolling basis. - - - **Recycle Pool Nodes**: Performs recycle operations on each node in the selected node pool on a rolling basis. - - - **Recycle**: Performs a recycle operation on the corresponding node. - -1. A popup message appears which details the recycle process. Click the **Recycle** button to confirm. - - {{< note type="warning" >}} - Shrinking a node pool results in the deletion of some associated Compute Instances. Any local storage on these instances (such as `hostPath` and `emptyDir` volumes, or "local" PersistentVolumes) is erased. - {{< /note >}} - -## Remove a Node Pool - -If you no longer need to use a node pool, you can remove it from the cluster. This deletes all corresponding Compute Instance. If you instead wish to decrease the number of nodes in a node pool, see [Resize a Node Pool](#resize-a-node-pool) - -1. Navigate to the **Kubernetes** page in Cloud Manager and select the cluster you wish to edit. See [View Node Pools](#view-node-pools). - -1. Within the **Node Pool** section, locate the node pool you wish to delete and click the **Delete Pool** button. - - {{< note >}} - Each cluster must have at least one active node pool. If there is only a single node pool, the **Delete Pool** button is disabled. - {{< /note >}} - -1. A popup message appears requesting you to confirm the operation. Click **Delete** to confirm. \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/manage-node-pools/resize-node-pool.png b/docs/products/compute/kubernetes/guides/manage-node-pools/resize-node-pool.png deleted file mode 100644 index c36a74846e6..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-node-pools/resize-node-pool.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/manage-node-pools/view-node-pools.png b/docs/products/compute/kubernetes/guides/manage-node-pools/view-node-pools.png deleted file mode 100644 index 5edc41f9b52..00000000000 Binary files a/docs/products/compute/kubernetes/guides/manage-node-pools/view-node-pools.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/reset-kubeconfig/index.md b/docs/products/compute/kubernetes/guides/reset-kubeconfig/index.md deleted file mode 100644 index 0c58444b76a..00000000000 --- a/docs/products/compute/kubernetes/guides/reset-kubeconfig/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Reset Kubeconfig -description: "How to reset the kubeconfig for Linode Kubernetes Engine (LKE) clusters." -published: 2022-03-10 -modified: 2023-02-09 ---- - -### Reset Cluster Kubeconfig - -In cases where access to a cluster using a current kubeconfig must be revoked, LKE provides the ability to **Reset** a cluster kubeconfig. This will effectively remove the current kubeconfig, and create a new one for cluster administrators to use. - -1. To reset the cluster kubeconfig access the [cluster's details page](/docs/products/compute/kubernetes/guides/manage-clusters/). - -1. Select the **Reset** button under the **kubeconfig** sub-category. - - ![Cluster Kubeconfig Reset](reset-kube-config.png) - -1. A confirmation message will appear confirming the Kubeconfig reset. Select the **Reset kubeconfig** button to proceed. - -A new kubeconfig will now be created. Once this process is completed, the new kubeconfig can be [Accessed and Downloaded](/docs/products/compute/kubernetes/guides/kubectl/) as usual. \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/reset-kubeconfig/reset-kube-config.png b/docs/products/compute/kubernetes/guides/reset-kubeconfig/reset-kube-config.png deleted file mode 100644 index 3b5d3f16eba..00000000000 Binary files a/docs/products/compute/kubernetes/guides/reset-kubeconfig/reset-kube-config.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/rotate-kubernetes-secrets/index.md b/docs/products/compute/kubernetes/guides/rotate-kubernetes-secrets/index.md deleted file mode 100644 index 148b816f016..00000000000 --- a/docs/products/compute/kubernetes/guides/rotate-kubernetes-secrets/index.md +++ /dev/null @@ -1,124 +0,0 @@ ---- -slug: rotate-kubernetes-secrets -title: "Rotate Kubernetes Secrets" -description: "Learn how to secure your cluster by rotating Kubernetes secrets." -published: 2023-12-10 -keywords: ["kubernetes", "linode kubernetes engine", "lke", "cluster", "cluster security", "secret", "secrets", "token", "tokens"] -tags: ["Kubernetes", "Linode Kubernetes Engine", "LKE"] ---- - -## Kubernetes Secrets - -A Kubernetes secret is an object that stores sensitive authentication information like passwords, tokens, or keys. A secret is either auto-generated by the control plane and populated as a service-account-token or created manually by a user. Anyone with root-level access to a cluster has access to the "secrets" for that cluster. It is a best practice to rotate secrets on a regular basis or otherwise as-needed (i.e. an employee leaves a company or role, general security practices, etc.). This guide reviews the steps required to rotate the auto-generated service-account-token secrets in kube-system using kubectl, as well as how to rotate your lke-admin-token via the Linode CLI. - -Note that the instructions in this guide only apply to service-account-token secrets in kube-system; depending on your application configuration, there may be additional user-generated secrets in other namespaces you may want to delete or rotate manually. - -## Before You Begin - -You will need to have the kubectl command line tool installed and your local system configured to communicate with your cluster. To do this, you must download your cluster's kubeconfig file and save its file path to your `$KUBECONFIG` environment variable. Instructions can be found here: [Access and Download your kubeconfig](/docs/products/compute/kubernetes/get-started/#access-and-download-your-kubeconfig) - -## Rotate Your Cluster's Secrets - -### Rotate service-account-token Secrets in the kube-system Namespace - -Once your local `$KUBECONFIG` environment variable is configured with your cluster's kubeconfig file, follow these steps to rotate the auto-generated service-account-token secrets within your cluster. - -1. List the secrets in your cluster's kube-system namespace and filter by service-account-token to see secrets auto-generated by the control plane: - - ```command - kubectl -n kube-system get secrets --field-selector="type=kubernetes.io/service-account-token" - ``` - You should see output similar to the following: - ```output - NAME TYPE DATA AGE - ccm-user-token-5d5lk kubernetes.io/service-account-token 3 59d - cluster-autoscaler-user-token-sc6qr kubernetes.io/service-account-token 3 59d - kubernetes-dashboard-lke-user-token-59vpx kubernetes.io/service-account-token 3 59d - lke-admin-token-b9vdj kubernetes.io/service-account-token 3 59d - ``` - - {{< note title="Note for Kubernetes version 1.26" >}} - In Kubernetes version 1.26, there are additional auto-generated service-account-token secrets that exist beyond those included in the output above. - {{< /note >}} - -1. Delete the secrets. - - ```command - kubectl -n kube-system delete secrets --field-selector="type=kubernetes.io/service-account-token" - ``` - You should receive a confirmation the secrets have been deleted: - ```output - secret "ccm-user-token-5d5lk" deleted - secret "cluster-autoscaler-user-token-sc6qr" deleted - secret "kubernetes-dashboard-lke-user-token-59vpx" deleted - secret "lke-admin-token-b9vdj" deleted - ``` -1. Once your service-account-token secrets have been deleted, you will no longer have access to your cluster using your existing kubeconfig. To regain access, you will need to regenerate your kubeconfig and re-export your local environment variable using the steps below in [Regenerate Your Kubeconfig](#regenerate-your-kubeconfig). - -### Regenerate Your Kubeconfig - -In order to expedite secret recreation after deletion and regain access to your cluster, you can regenerate your kubeconfig. This process will also regenerate the lke-admin-token secret in kube-system. Note that these steps use the Linode CLI and follow the [Kubernetes Cluster Regenerate](/docs/api/linode-kubernetes-engine-lke/#kubernetes-cluster-regenerate) instructions from our API documentation. See our API documentation for correlating API commands. - -1. View your list of Kubernetes clusters to get the ID number of the cluster you wish to target: - - ```command - linode-cli lke clusters-list - ``` - The cluster ID can be found in the `id` column: - ```output - ┌────────┬─────────────────┬────────┬─────────────┬─────────────────────────────────┐ - │ id │ label │ region │ k8s_version │ control_plane.high_availability │ - ├────────┼─────────────────┼────────┼─────────────┼─────────────────────────────────┤ - │ 12345 │ example-cluster │ us-iad │ 1.27 │ True │ - └────────┴─────────────────┴────────┴─────────────┴─────────────────────────────────┘ - ``` -1. Regenerate your cluster's kubeconfig file using the cluster ID obtained in step 1. Replace {{< placeholder "12345" >}} with your cluster's ID number: - - ```command - linode-cli lke regenerate {{< placeholder "12345" >}} --kubeconfig=true --servicetoken=true - ``` -1. Download your new kubeconfig file from Cloud Manager by navigating to the **Kubernetes** section, clicking on your cluster's **more options ellipsis**, and selecting **Download Kubeconfig**. It may take a few minutes for the new kubeconfig file to become available. - - {{< note >}} - Alternatively, you can use the Linode CLI to view your new kubeconfig and overwrite your existing kubeconfig.yaml file, replacing {{< placeholder "12345" >}} with your cluster ID and {{< placeholder "~/Downloads/kubeconfig.yaml" >}} with the file path to your current kubeconfig: - ```command - linode-cli --json lke kubeconfig-view 12345 | jq -r '.[].kubeconfig' | base64 -d > ~/Downloads/kubeconfig.yaml - ``` - {{< /note >}} - -1. If you choose to download your new kubeconfig via Cloud Manager, you will need to reconfigure your kubeconfig by saving the file path to your `$KUBECONFIG` environment variable. Replace {{< placeholder "~/Downloads/kubeconfig.yaml" >}} with the file path for your new kubeconfig file: - - ```command - export KUBECONFIG={{< placeholder "~/Downloads/kubeconfig.yaml" >}} - ``` -1. Verify that you have access to your cluster by viewing your nodes: - - ```command - kubectl get nodes - ``` -1. Delete your old kubeconfig file once you have verified access to your cluster. - -1. Now that a new kubeconfig has been generated and configured, your service-account-token secrets and lke-admin-token secret have been rotated. - -## Additional Best Practices - -This guide reviews steps for rotating secrets in the kube-system namespace used by the lke-managed control plane. As a best practice, it is recommended to use separate namespaces for any application-specific service-account-tokens and secrets. - -Depending on your specific use case and configuration, there may be additional security steps you wish to take for your application-specific service-account-tokens once your secrets have been rotated, including restarting pods or recycling nodes. - -### Restart Your Pods - -1. View your pods: - - ```command - kubectl get pods - ``` -1. Restart your pods: - - ```command - kubectl rollout restart - ``` - -### Recycle Your Nodes - -When recycling a worker node, the corresponding Compute Instance is deleted and replaced with a new one. Nodes can be recycled via Cloud Manager using the instructions in our **Manage Nodes and Node Pools** guide here: [Recycle Nodes](/docs/products/compute/kubernetes/guides/manage-node-pools/#recycle-nodes) \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/secure-a-cluster-with-rbac/index.md b/docs/products/compute/kubernetes/guides/secure-a-cluster-with-rbac/index.md deleted file mode 100644 index d4c61946b0a..00000000000 --- a/docs/products/compute/kubernetes/guides/secure-a-cluster-with-rbac/index.md +++ /dev/null @@ -1,306 +0,0 @@ ---- -title: "Secure a Cluster with User Permissions and RBAC" -description: 'This guide describes how to create roles and set contexts for specific users to create an environment with limited Kubernetes permissions.' -contributors: ["Ryan Syracuse"] -published: 2018-02-28 -modified: 2023-02-09 -keywords: ["Kubernetes", "cluster", "docker", "security", "permissions"] -tags: ["security","nginx","kubernetes","container"] -aliases: ['/kubernetes/securing-an-LKE-cluster/','/guides/using-rbac-to-secure-an-lke-cluster/'] -concentrations: ["Kubernetes"] -external_resources: - - '[Kubernetes Documentation](https://kubernetes.io/docs/home)' ---- - -## Securing Kubernetes Users - -In Linux administration, the application of [Users, Groups, and Permissions](/docs/guides/linux-users-and-groups/) is a tried and tested method for improving a security posture for a number of use cases. Kubernetes administration similarly applies the same concepts using **RBAC** (Role Based Access Control), **Service Accounts**, and more. For example, when interacting with a standard Kubernetes installation, the default behavior is for a singular `kubeconfig` file to provide unlimited access to the relevant cluster. With RBAC and Service accounts, kubeconfig files can be created for specific individuals in an organization, giving them access only to the parts of the cluster that they need. - -## In This Guide - -While the Linode Kubernetes Engine(LKE) is a managed Platform as a Service solution providing a base level of security, it does not by default handle the creation of roles and service accounts for any users that are configured on LKE. This guide will serve as a tutorial for creating a role and role binding for an example user in the example user's own namespace, so that users can export a custom Kubeconfig file for users to authenticate with for limited permissions. This way, all users in a specific cluster will not be required to have full administrator permissions. - -### Before You Begin - -This guide assumes you have a working Kubernetes cluster that was deployed using the Linode Kubernetes Engine (LKE). You can deploy a Kubernetes cluster using LKE in the following ways: - -- The [Linode Cloud Manager](/docs/products/compute/kubernetes/). -- [Linode's API v4](/docs/products/compute/kubernetes/guides/deploy-and-manage-cluster-with-the-linode-api/). -- [Terraform](/docs/guides/deploy-lke-cluster-using-terraform/), the popular infrastructure as code (IaC) tool. - - {{< note >}} - An LKE cluster will already have Linode's Cloud Controller Manager installed in the cluster's control plane. If you **did not** deploy your Kubernetes cluster using LKE and would like to make use of the Linode Cloud Controller Manager, see [Installing the Linode CCM on an Unmanaged Kubernetes Cluster - A Tutorial](/docs/guides/install-the-linode-ccm-on-unmanaged-kubernetes/). - {{< /note >}} - -## Create a new User - -The following steps will provide a secure method for limiting user access to a cluster. An SSL certificate will be created for a user, approved by an administrator, and then applied to a limited `kubeconfig` for the user to use to gain access instead of the primary administrator kubeconfig file. - -### Create Certificates and approve CSRs for a new user - -In order for a user to securely authenticate to the Kubernetes server, an `x.509` certificate will be used, similar to how SSL/TLS is applied on a web browser. A **Certificate Signing Request** or CSR, allows the `.x.509` certificate to be approved and signed for use with Kubernetes. To apply a certificate and create a CSR, the following steps can be followed: - -1. Create a new directory labeled `auth` to store any new user certificates that will be created. Navigate to this new directory following it's creation.: - - ```command - mkdir auth - cd auth - ``` - -1. Generate a new certificate for your user: - - ```command - openssl genrsa -out exampleuser.key 2048 - ``` - - {{< note >}} - The text `user` can be replaced with a username of your choice. - {{< /note >}} - -1. Generate a new certificate signing request file: - - ```command - openssl req -new -key exampleuser.key -out exampleuser.csr -subj "/CN=exampleuser" - ``` - -1. Copy the key to the directory where kubectl is installed. This is usually the parent folder: - - ```command - cp exampleuser.key .. - ``` - -1. Navigate back to the directory where kubectl is installed. From here, a generate a BASE64 string using the `.csr` file: - - ```command - cd .. - less auth/exampleuser.csr | base64 | tr -d '\n' - ``` - - A base64 string will be outputted. Copy the output to be used in the next step. - -1. Using a text editor of your choice, create a new CSR YAML file: - - ```command - sudo nano exampleusercsr.yaml - ``` - - The CSR YAML should reflect the following. Replace the string in the `request` field with the base64 string that was generated for your own csr file: - - ```file - apiVersion: certificates.k8s.io/v1 - kind: CertificateSigningRequest - metadata: - name: exampleuser-csr - spec: - groups: - - system:authenticated - request: OGY4d1pQRGlqT21NV2VXCjM4dFdjRmJrQXRyTXJ6YWZnWGRZS1VYb2Z2ZDhLalVPeUJEaFdoWTFJbjZ6NGpEZ2RTbm94K21SdlJxQTFOUEwKN2k0QVd4OFlKcEdVS0Uvb1VKREZDcHVYcE9SZVdUMnY3enhFTzE5QUpRSURBUUFCb0FBd0RRWUpLb1pJaHZjTgpBUUVMQlFBRGdnRUJBRDg5T3JlUC - signerName: kubernetes.io/kube-apiserver-client - usages: - - digital signature - - key encipherment - - client auth - ``` - -1. Create the certificate signing request: - - ```command - kubectl create -f exampleusercsr.yaml - ``` - - You should see output resembling the following: - - ```output - certificatesigningrequest.certificates.k8s.io/user1-csr created - ``` - - {{< note >}} - If at any point the status of a CSR needs to be checked, the following command can be entered: - - ```command - kubectl get csr - ``` - - Additionally, although CSR's will be automatically deleted after enough time has passed, they can be manually deleted so that a new CSR can be attempted at any time using the following syntax: - - ```command - kubectl delete csr user1-csr - ``` - {{< /note >}} - -1. Through kubectl, approve the certificate for use with your Kubernetes cluster: - - ```command - kubectl certificate approve user1-csr - ``` - -1. Export the `.crt` file from the Kubernetes API to receive a copy of your signed certificate, and save it to the `/auth/` directory: - - ```command - kubectl get csr user1-csr -o jsonpath='{.status.certificate}' | base64 --decode > ~/auth/exampleuser.crt - ``` - -### Create a Limited Kubeconfig File - -In order for a new limited user to interact with Kubernetes, they will need their own `Kubeconfig` file that does not include administrative permissions. The following steps will describe how to create this file. - -1. To ensure that the original kubeconfig file is not overwritten without a backup, create a backup now: - - ```command - cp kubeconfig.yaml kubeconfigbackup.yaml - ``` - -1. Add the new user to the `kubeconfig.yaml` file: - - ```command - kubectl config set-credentials exampleuser --client-certificate=/home/user/auth/exampleuser.crt --client-key=/home/user/auth/exampleuser.key - ``` - - Your Kubeconfig file should now reflect the following: - - ```file - apiVersion: v1 - clusters: - - cluster: - certificate-authority-data: oaiedjaoiu9833ed98whfc9h - server: https://def4624b-5fbb-4ac6-ae70-77f28eb131fe.us-east-1.linodelke.net:443 - name: lke1111 - contexts: - - context: - cluster: lke1111 - namespace: default - user: lke1111-admin - name: lke1111-ctx - current-context: lke1111-ctx - kind: Config - preferences: {} - users: - - name: exampleuser - user: - client-certificate: exampleuser.crt - client-key: exampleuser.key - - name: lke1111-admin - user: - token: OIAWHF09W08R08w4f0hs0efch8q088080HEHSC - ``` - -1. To ensure that only a second limited user can access the cluster with limited permissions, an additional `kubeconfig` file must be created without administrative control: - - ```command - cp kubeconfig.yaml exampleuser_kubeconfig.yaml - ``` - -1. The new `kubeconfig` file should **only** include configuration options for the limited user. Delete all administrative user lines of the new kubeconfig file, until the `exampleuser_kubeconfig.yaml` file reflects the following: - - ```file - apiVersion: v1 - clusters: - - cluster: - certificate-authority-data: iuawhefIDWIDHI23EW98HICUH - server: https://def4624b-5fbb-4ac6-ae70-77f28eb131fe.us-east-1.linodelke.net:443 - name: lke1111 - contexts: - - context: - cluster: lke1111 - user: exampleuser - name: lke1111-ctx - current-context: lke1111-ctx - kind: Config - preferences: {} - users: - - name: exampleuser - user: - client-certificate: /home/user/auth/exampleuser.crt - client-key: /home/user/auth/exampleuser.key - ``` - -1. To test, switch the current context to the new `kubeconfig` file: - - ```command - export KUBECONFIG=exampleuser_kubeconfig.yaml - ``` - - Once exported, attempt to list all nodes in the cluster: - - ```command - kubectl get nodes - ``` - - If the configuration worked, the new user's kubeconfig should make the request fail with the following error: - -```output -Error from server (Forbidden): nodes is forbidden: User "exampleuser" cannot list resource "nodes" in API group "" at the cluster scope -``` - -The failure is expected, since the user currently does not have any roles or permissions defined. By default, new Kubernetes users will be unable to access any resources. - -## Setting Permissions with RBAC - -Permissions can be applied to a new user by creating a `role.yaml` and `rolebinding.yaml` file. In Kubernetes, a **Role** defines the permissions that are given to a specific group of users, and the **Rolebinding** applies the roles to specific users. For example, if you wanted to a give the `exampleuser` user created previously the ability to interact with pods in the `examplenamespace` namespace, a good configuration would be as follows: - -1. Create a role.yaml file with the following contents: - - ```file - apiVersion: rbac.authorization.k8s.io/v1 - kind: Role - metadata: - name: example-role - namespace: examplenamespace - rules: - - apiGroups: [""] - resources: ["pods"] - verbs: ["get", "watch", "list"] - ``` - - The above example would allow any user with the assigned role to `get`, `watch`, and `list` resources in the `examplenamespace` namespace. The `name` `example-role` is a unique identifier which can be called when applying the `rolebinding` in the next step. - -1. Once the role is created, create a `rolebinding.yaml` file to bind the role to your user: - - ```file - apiVersion: rbac.authorization.k8s.io/v1 - kind: RoleBinding - metadata: - name: example-role-binding - namespace: default - subjects: - - apiGroup: rbac.authorization.k8s.io - kind: User - name: exampleuser - roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: example-role - ``` - -1. Apply both the `role.yaml` and the `rolebinding.yaml` to grant permission to the new user: - - ```command - kubectl apply -f role.yaml - kubectl apply -f rolebinding.yaml - ``` - -1. To test, switch the active kubeconfig and namespace to the ones created for the limited example user: - - ```command - export KUBECONFIG=exampleuser_kubeconfig.yaml - kubectl config set-context --current --namespace=examplenamespace - ``` - -1. If the configuration works, you should not see any errors when requesting information on active pods in the namespace: - - ```command - kubectl get pods - ``` - - However, if the user attempts to get information on nodes, or any other request that has not been explicitly configured, the request will fail with an error similar to the following: - - ```output - Error from server (Forbidden): nodes is forbidden: User "exampleuser" cannot list resource "nodes" in API group "" at the cluster scope - ``` - -## Next Steps - -Now that the user has been successfully installed, the user's `kubeconfig` file may be exported for other users to use from their own `kubectl` clients, and the user can access the cluster with the limited permissions set by the administrator in their own namespace. Additionally security controls may still be applied, however will vary depending on your use case. **Admission Controllers** for example, are a great way to implement additional controls on authenticated and authorized requests. Applications on an LKE cluster can additionally be put behind a NodeBalancer and ingress with TLS enabled. For more information, the following resources may be helpful: - -- [Configuring Load Balancing with TLS Encryption](/docs/guides/how-to-configure-load-balancing-with-tls-encryption-on-a-kubernetes-cluster/) -- [Admission Controllers](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/index.md b/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/index.md deleted file mode 100644 index 7e2a43452e2..00000000000 --- a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/index.md +++ /dev/null @@ -1,543 +0,0 @@ ---- -title: "Upgrade a Cluster to a Newer Kubernetes Version" -description: 'This guide describes the process of upgrading LKE cluster versions to prevent any potential downtime due to an outdated configuration' -published: 2022-03-10 -modified: 2023-05-02 -keywords: ["Kubernetes", "cluster", "popeye", "security", "permissions"] -tags: ["security", "kubernetes","container"] -concentrations: ["Kubernetes"] -external_resources: - - '[Kubernetes Documentation](https://kubernetes.io/docs/home)' - - '[Kubernetes Changelog](https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG)' -aliases: ['/guides/upgrading-lke-minor-versions/'] ---- - -Kubernetes releases new software versions and patches on a regular cadence. These updates are integrated into LKE *after* they are released on upstream Kubernetes, which ensures they are properly tested on the Linode Platform. Kubernetes uses a semantic versioning system that includes three parts: x.y.z, where **x** is the *major* version, **y** is the *minor* version, and **z** is the *patch* version. - -- **Patch version upgrades** *(ex: 1.23.4 to 1.23.5)*: Patches are generally critical bug fixes, which include fixing security vulnerabilities. LKE clusters are automatically upgraded to the latest available patch versions for the cluster's minor version of Kubernetes (once they are released on LKE). -- **Minor version upgrades** *(ex: 1.23.5 to 1.24.0)*: Minor versions include new features and may make breaking changes or introduce incompatibilities. Customers are highly encouraged to manually upgrade their clusters, though an upgrade will be scheduled automatically once a cluster's existing minor version in deprecated. - -{{< note >}} -When upgrading a minor version of Kubernetes on LKE, you must upgrade to the next consecutive version. If the cluster is multiple versions behind, each version upgrade must be completed individually. For instance, if the current version on the cluster is 1.23.x and the latest available version on LKE is 1.25.x, the cluster must be upgraded to v1.24.x *before* upgrading to 1.25.x. -{{< /note >}} - -## Upgrade Process - -When a Kubernetes version upgrade is initiated on an LKE cluster (including both patch versions and minor versions), the control plane components are automatically upgraded. New worker nodes are also created using the new version. In most cases, there is no downtime or impact to performance for this part of the upgrade. - -After the initial upgrade, existing worker nodes need to also be upgraded to the newer Kubernetes version. This typically requires a few extra steps. This guide outlines three options for upgrading these existing nodes, including recycling all worker nodes, performing an in-place upgrade, and performing an out-of-place upgrade. Each of these options is discussed in the [Upgrade Worker Nodes](#upgrade-worker-nodes) section. - -{{< note type="warning">}} -Existing worker nodes are *automatically upgraded* when initiating the upgrade in Cloud Manager if **Recycle All Nodes** is selected during the upgrade process. This can also be triggered manually by using the recycle all nodes feature in Cloud Manager, Linode CLI, and Linode API. This recycles all nodes on a rolling basis so that only a single node is down at any time. Since this means there is one less worker node during the upgrade process, it can affect performance and might not be preferred for production applications. - -It is strongly recommended that steps are taken to ensure that there is enough space on all nodes to accommodate for this temporary shift in resources. If a cluster of three nodes cannot briefly support the resources demands of an application using only two nodes, then the upgrade process may result in unintended application downtime. To overcome this, you can temporarily add additional worker nodes and perform either an *in-place* or *out-of-place* upgrade to avoid any performance impact. For more details on these approaches, see [Upgrade Worker Nodes](#upgrade-worker-nodes). -{{< /note >}} - -## Deprecating Kubernetes Versions (End of Life) - -Kubernetes versions are also regularly *deprecated* on LKE. This prevents customers from experiencing issues as a result of using outdated software. When a minor version of Kubernetes is deprecated, an upgrade is scheduled for any LKE clusters using that version. This scheduled update is communicated via email to all affected customers in advance. It is recommended that customers manually initiate the upgrade. If an upgrade does not occur manually, the cluster is automatically upgraded at the scheduled time. - -## Review the Kubernetes Changelog - -Changelogs for each new version of Kubernetes are published on the [Kubernetes CHANGELOG](https://github.com/kubernetes/kubernetes/tree/master/CHANGELOG) page on GitHub. To ensure a clean upgrade and eliminate potential issues, review the changelog entry that corresponds with the Kubernetes version to which your cluster will be upgraded. Since LKE clusters can only be upgraded one minor version at a time (i.e. v1.24.x to v1.25.x), you only need to review a single changelog entry. - -Each Kubernetes changelog entry includes patch versions and alpha/development versions. It's recommended that you review every section titled `Changelog since vX.Y.Z` starting from your current Kubernetes version and continuing through the latest patch release for the version to which you'll be upgraded. Compare these changes with the components and configuration of your cluster to help identify any breaking changes or issues that may occur. Additionally, review any upgrade notes, known issues, deprecation notes, or API changes, all of which may appear alongside each changelog. - -The [Kubernetes Blog](https://kubernetes.io/blog/) may also include a post regarding changes in each version (such as the [Kubernetes Removals and Major Changes In 1.25](https://kubernetes.io/blog/2022/08/04/upcoming-changes-in-kubernetes-1-25/) post). These blog posts may be less detailed, but should be easier to understand so you can quickly identify major changes. - -As API changes are an issue that can commonly go unnoticed when upgrading LKE, we additionally recommend checking Kubernetes' [API deprecation guide](https://kubernetes.io/docs/reference/using-api/deprecation-guide/) for more information on API changes, and how they should be addressed in specific circumstances. - -{{< note >}} -When reviewing the changelog, it is important to keep in mind that **patch releases** are deployed automatically to LKE clusters as needed. These patch versions should not effect the intended behavior of your cluster. Only major and minor releases have potentially breaking changes. -{{< /note >}} - -## Search for Compatibility Issues with Popeye - -One way to identify breaking changes and compatibility issues with Kubernetes upgrades is to use the [Popeye](https://github.com/derailed/popeye) tool. For help with this process, see the [Use Popeye to Check for Kubernetes Configuration Issues](/docs/guides/check-for-configuration-issues-with-popeye/) guide. - -## Check the Kubernetes Version on an LKE Cluster - -{{< tabs >}} -{{< tab "Cloud Manager" >}} -Navigate to the **Kubernetes** page in [Cloud Manager](http://cloud.linode.com) to see a list of all LKE clusters on your account (see [Manage Kubernetes Clusters](/docs/products/compute/kubernetes/guides/manage-clusters/)). - -![Check Kubernetes Version](lke-version.png) - -The current overall Kubernetes version of each LKE cluster is listed within the *Version* column. If an upgrade is available, an **Upgrade** button is displayed next to the version number. - -To determine the exact version being used by your control plane and your worker nodes, view the instructions for kubectl. -{{< /tab >}} -{{< tab "kubectl" >}} -**Cluster version:** - -To get the current overall version of Kubernetes on your cluster through kubectl, use the following command: - -```command -kubectl version --short | grep Server -``` - -```output -Server Version: v1.25.6 -``` - -**Control plane version:** - -Since LKE manages the control plane, the control plane components are automatically upgraded to match the cluster's Kubernetes version. - -Run the following command to get a list of all kube-proxy pods running on your control plane: - -```command -kubectl get pods --namespace kube-system | grep "kube-proxy" -``` - -```output -kube-proxy-gh6xg 1/1 Running 0 49m -kube-proxy-p4fkm 1/1 Running 0 53m -kube-proxy-pd5vb 1/1 Running 0 51m -``` - -Then, perform the following command to check the version on any of the kube-proxy pods, replacing *[pod]* with the name of one of the pods listed in the previous output. - -```command -kubectl describe pod kube-proxy-gh6xg -n kube-system | grep "Image" -``` - -```output - Image: linode/kube-proxy-amd64:v1.25.6 - ... -``` - -**Worker node version:** - -Existing worker nodes may still be on older versions (unless they have already been recycled). To view the version of Kubernetes in use by your worker nodes, run the command below and look at the `VERSION` column in the output. - -```command -kubectl get nodes -``` - -```output -NAME STATUS ROLES AGE VERSION -lke83159-127587-63922e6379a9 Ready 103d v1.24.8 -lke83159-127587-63922e639de4 Ready 103d v1.24.8 -lke83159-127587-63922e63c088 Ready 103d v1.24.8 -``` -{{< /tab >}} -{{< /tabs >}} - -## Upgrade Kubernetes on an LKE Cluster - -### Initiate the Upgrade and Upgrade the Control Plane - -Once you are ready to perform an upgrade, you can start the upgrade process. This automatically upgrades the managed Control Plane on your LKE cluster and ensures that any *new* worker nodes are created using the newer Kubernetes version. - -{{< tabs >}} -{{< tab "Cloud Manager" >}} -1. Navigate to the **Kubernetes** page in [Cloud Manager](http://cloud.linode.com) to see a list of all LKE clusters on your account (see [Manage Kubernetes Clusters](/docs/products/compute/kubernetes/guides/manage-clusters/)). - -1. Locate the cluster you wish to upgrade and click the corresponding **Upgrade** button in the *Version* column. This button only appears if there is an available upgrade for that cluster. - - ![](upgrade-lke-cluster.png) - -1. A confirmation popup should appear notifying you of the current and target Kubernetes version. Click the **Upgrade Verion** button to continue with the upgrade. - - ![](upgrade-lke-cluster-confirmation.png) - -1. The next step is to upgrade all worker nodes in the cluster so that they use the newer Kubernetes version. A second popup should automatically appear requesting that you start the recycle process. Each worker node is recycled on a rolling basis so that only a single node is down at any time. *Only click the **Recycle All Nodes** button if you do not care about performance impact to your application.* For high performance production applications, consider clicking the **Cancel** button and performing one of the upgrade procedures outlined in the [Upgrade Worker Nodes](#upgrade-worker-nodes) section. - - ![](upgrade-lke-recycle.png) -{{< /tab >}} -{{< tab "Linode CLI" >}} -1. Identify the ID of the cluster you wish to upgrade. - - ```command - linode-cli lke clusters-list - ``` - ```output - ┌───────┬─────────────────────┬──────────────┬─────────────┬───────────────────┐ - │ id │ label │ region │ k8s_version │ high_availability │ - ├───────┼─────────────────────┼──────────────┼─────────────┼───────────────────┤ - │ 83159 │ production-cluster │ us-east │ 1.25 │ False │ - │ 99169 │ example-cluster │ us-southeast │ 1.24 │ False │ - └───────┴─────────────────────┴──────────────┴─────────────┴───────────────────┘ - ``` - -1. Initiate the upgrade, replacing *[cluster-id]* with the ID of your cluster (obtained in the previous step) and *[kubernetes-version]* with the Kubernetes version you'd like to upgrade to (keeping in mind that you can only upgrade to the next sequential version number). - - ```command - linode-cli lke cluster-update [cluster-id] --k8s_version [kubernetes-version] - ``` - - ```output - ┌─────────────────────┬──────┬─────────────────────┬─────────────────────┬──────────────┬─────────────┐ - │ label │ tags │ created │ updated │ region │ k8s_version │ - ├─────────────────────┼──────┼─────────────────────┼─────────────────────┼──────────────┼─────────────┤ - │ example-cluster-002 │ │ 2023-03-22T13:19:40 │ 2023-03-22T13:19:40 │ us-southeast │ 1.25 │ - └─────────────────────┴──────┴─────────────────────┴─────────────────────┴──────────────┴─────────────┘ - ``` - - Since this process does not upgrade the worker nodes, perform one of upgrade procedures outlined in the [Upgrade Worker Nodes](#upgrade-worker-nodes) section. - -{{< /tab >}} -{{< tab "Linode API" >}} -1. Identify the ID of the cluster you wish to upgrade. Run the API curl request below, making sure to properly paste in or reference your [API token](/docs/products/platform/accounts/guides/manage-api-tokens/). - - ```command - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/lke/clusters - ``` - - Within the output, locate the `id` of the cluster. - - ```output - "data" : [ - { - "control_plane" : { - "high_availability" : false - }, - "created" : "2022-12-08T18:35:08", - "id" : 83159, - "k8s_version" : "1.24", - "label" : "example-cluster", - "region" : "us-east", - "status" : "ready", - "tags" : [], - "updated" : "2023-03-22T13:02:52" - }, - ... - ``` - -1. Initiate the upgrade, replacing *[cluster-id]* with the ID of your cluster (obtained in the previous step) and *[kubernetes-version]* with the Kubernetes version you'd like to upgrade to (keeping in mind that you can only upgrade to the next sequential version number). - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "k8s_version": "[kubernetes-version]" - }' \ - https://api.linode.com/v4/lke/clusters/[cluster-id] - ``` - - The output should list the new Kubernetes version. - - ```output - { - "control_plane" : { - "high_availability" : false - }, - "created" : "2023-03-22T13:52:31", - "id" : 99184, - "k8s_version" : "1.25", - "label" : "example-cluster-003", - "region" : "ca-central", - "status" : "ready", - "tags" : [], - "updated" : "2023-03-22T13:53:26" - } - ``` - - Since this process does not upgrade the worker nodes, perform one of upgrade procedures outlined in the [Upgrade Worker Nodes](#upgrade-worker-nodes) section. -{{< /tab >}} -{{< /tabs >}} - -### Upgrade Worker Nodes - -Once the upgrade has been initiated, the control plane should be on the newer Kubernetes version but the existing worker nodes will still be on the older version. You can now decide how you'd like to handle upgrading the existing worker nodes to the newer Kubernetes version. Select from one of the options below. - -- [Recycle All Worker Nodes](#recycle-all-worker-nodes): This recycles each worker node on a rolling basis so that only one node is down at a time. While this process is generally the easiest method, it will likely impact the application's performance as your application will have access to fewer resources during the upgrade. It is only recommended if you are not running a production application. - -- [Perform an In-Place Upgrade](#perform-an-in-place-upgrade): This process temporarily creates one additional worker node on each node pool. This minimizes the cost impact of the upgrade (compared with an out-of-place upgrade) but increases the time the upgrade may take. This is recommended for smaller production applications. - -- [Perform an Out-of-Place Upgrade](#perform-an-out-of-place-upgrade): This process temporarily creates an additional node pool (with multiple worker nodes). This minimizes the time the upgrade may take (compared with an in-place upgrade) but increases the cost impact. This is recommended for larger production applications. - -It is highly recommended to add additional resources and take a "cordon and migrate" approach, meaning that pods will no longer land on existing nodes and they are all migrated to newer nodes. - -#### Recycle All Worker Nodes - -*This process is the easiest way to upgrade all worker nodes but will likely impact application performance. It is only recommended if you are not running a production application.* - -This recycles each worker node on a rolling basis so that only one node is down at any particular moment. In the highest level of detail, each worker node is independently [drained and cordoned](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) *one at a time*. During this process, all workloads are migrated to other nodes. Once a worker node is drained and cordoned, it is removed and a new node is created using the new Kubernetes version. It is synced, and then uncordoned, immediately putting it back live into the cluster with the `Ready` status. - -{{< tabs >}} -{{< tab "Cloud Manager" >}} -On the details page of your LKE cluster in Cloud Manager, click the **Recycle All Nodes** button. See [Recycle Nodes](/docs/products/compute/kubernetes/guides/manage-node-pools/#recycle-nodes) for more details. -{{< /tab >}} -{{< tab "Linode CLI" >}} -Run the command below, replacing *[cluster-id]* with the ID of your cluster. - -```command -linode-cli lke cluster-nodes-recycle [cluster-id] -``` - -For more details, review the CLI request sample on the [Cluster Nodes Recycle API reference](/docs/api/linode-kubernetes-engine-lke/#cluster-nodes-recycle). -{{< /tab >}} -{{< tab "Linode API" >}} -Perform the API request below, replacing *[cluster-id]* with the ID of your cluster. - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST \ - https://api.linode.com/v4/lke/clusters/[cluster-id]/recycle -``` - -For more details, review the API request sample on the [Cluster Nodes Recycle API reference](/docs/api/linode-kubernetes-engine-lke/#cluster-nodes-recycle). -{{< /tab >}} -{{< /tabs >}} - -#### Perform an In-Place Upgrade - -*This process temporarily creates one additional worker node on each node pool. This minimizes the cost impact of the upgrade (compared with an out-of-place upgrade) but increases the time the upgrade may take. This is recommended for smaller production applications.* - -1. First, add an additional worker node and, if using the Autoscale feature, increase the minimum number of nodes. - - {{< tabs >}} - {{< tab "Cloud Manager" >}} - Locate the node pool on the details page of your LKE cluster in Cloud Manager. Click the corresponding **Resize Pool** button. Increase the size of the node pool by 1. For example, if you have 3 nodes in the pool, increase that value to 4. For additional instructions, see [Resize a Node Pool](/docs/products/compute/kubernetes/guides/manage-node-pools/#resize-a-node-pool). - - If you are also using the autoscale feature, increase the minimum and maximum nodes by 1. This can be done by clicking the corresponding **Autoscale Pool** button and adjusting the minimum and maximum values. For more details, see [Autoscale](/docs/products/compute/kubernetes/guides/manage-node-pools/#autoscale-automatically-resize-node-pools). - {{< /tab >}} - {{< tab "Linode CLI" >}} - Run the command below, replacing the following values as needed. If you are not using the autoscale feature, remove the last 3 options (starting with *autoscaler*) from the command. - - - *[cluster-id]*: The ID of your cluster. - - *[pool-id]*: The ID of your node pool. - - *[number-of-nodes]*: Enter one value more than the number of nodes that already exist in the node pool. - - *[maximum-nodes]*: The maximum number of nodes for the pool. Enter one value more than the existing value. - - *[minimum-nodes]*: The minimum number of nodes for the pool. Enter one value more than the existing value. - - ```command - linode-cli lke pool-update [cluster-id] [pool-id] \ - --count [number-of-nodes] \ - --autoscaler.enabled true \ - --autoscaler.max [maximum-nodes] \ - --autoscaler.min [minimum-nodes] - ``` - - For more details, review the CLI request sample on the [Node Pool Update API reference](/docs/api/linode-kubernetes-engine-lke/#node-pool-update). - {{< /tab >}} - {{< tab "Linode API" >}} - Perform the API request below, replacing the following values as needed. If you are not using the autoscale feature, remove the `autoscaler` parameters from the request. - - - *[cluster-id]*: The ID of your cluster. - - *[pool-id]*: The ID of your node pool. - - *[number-of-nodes]*: Enter one value more than the number of nodes that already exist in the node pool. - - *[maximum-nodes]*: The maximum number of nodes for the pool. Enter one value more than the existing value. - - *[minimum-nodes]*: The minimum number of nodes for the pool. Enter one value more than the existing value. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "count": [number-of-nodes], - "autoscaler": { - "enabled": true, - "max": [maximum-nodes], - "min": [minimum-nodes] - }' \ - https://api.linode.com/v4/lke/clusters/[cluster-id]/pools/[pool-id] - ``` - - For more details, review the shell request sample on the [Node Pool Update API reference](/docs/api/linode-kubernetes-engine-lke/#node-pool-update). - {{< /tab >}} - {{< /tabs >}} - -1. Select one worker node running the older Kubernetes version and prevent new pods from being created on it. This can be accomplished using the `cordon` command through kubectl, replacing *[node]* with the name of the node you are taking action on. - - ```command - kubectl cordon [node] - ``` - -1. Once traffic is no longer being assigned to that node, drain that worker node so that the existing workloads are rescheduled to other nodes. - - ```command - kubectl drain [node] --ignore-daemonsets - ``` - - By default, this will allow the pods to gracefully terminate with a default grace period of 30 seconds. If your nodes have a long grace period, it may take a while to migrate off the existing workloads. You can adjust this by using the `--grace-period [value]` option in the above drain command, replacing *[value]* with the time in seconds you wish to use. See [Termination of Pods](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination) on the official Kubernetes documentation. - -1. After the node has been drained, it can be recycled, which rebuilds the worker node using the newer Kubernetes version. - - {{< tabs >}} - {{< tab "Cloud Manager" >}} - Locate the node pool on the details page of your LKE cluster in Cloud Manager. Next to the node that has just been drained, click the corresponding **Recycle** button as outlined in [Recycle Nodes](/docs/products/compute/kubernetes/guides/manage-node-pools/#recycle-nodes). - {{< /tab >}} - {{< tab "Linode CLI" >}} - Run the command below, replacing *[cluster-id]* with the ID of your cluster and *[node-id]* with the ID of the node. - - ```command - linode-cli lke node-recycle [cluster-id] [node-id] - ``` - - For more details, review the CLI request sample on the [Node Recycle API reference](/docs/api/linode-kubernetes-engine-lke/#node-recycle). - {{< /tab >}} - {{< tab "Linode API" >}} - Perform the API request below, replacing *[cluster-id]* with the ID of your cluster and *[node-id]* with the ID of the node. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST \ - https://api.linode.com/v4/lke/clusters/[cluster-id]/nodes/[node-id]/recycle - ``` - - For more details, review the API request sample on the [Node Recycle API reference](/docs/api/linode-kubernetes-engine-lke/#node-recycle). - {{< /tab >}} - {{< /tabs >}} - -1. Repeat steps 2 through 4 for each worker node until *all but the last* worker nodes are using the newer Kubernetes version. For the last worker node, repeat steps 2 and 3 to cordon and drain that node - but do not recycle it as that will cause workloads to land back on that node. Instead, continue with the step below to delete it. - -1. Remove the additional worker node that was added during this upgrade process. This can be accomplished by resizing your cluster back to your original value to use one less worker node. The last worker node that was created, which was the one you have not yet recycled, is removed during the resize. Then, if you previously adjusted the Autoscale Pool, adjust the values back to what they were before the upgrade. - - {{< tabs >}} - {{< tab "Cloud Manager" >}} - Locate the node pool on the details page of your LKE cluster. Click the corresponding **Resize Pool** button. Decrease the size of the node pool by 1. For example, if you have 4 nodes in the pool, decrease that value to 3. For additional instructions, see [Resize a Node Pool](/docs/products/compute/kubernetes/guides/manage-node-pools/#resize-a-node-pool). - - If you are also using the autoscale feature, decrease the minimum and maximum nodes by 1. This can be done by clicking the corresponding **Autoscale Pool** button and adjusting the minimum and maximum values. For more details, see [Autoscale](/docs/products/compute/kubernetes/guides/manage-node-pools/#autoscale-automatically-resize-node-pools). - {{< /tab >}} - {{< tab "Linode CLI" >}} - Run the command below, replacing the following values as needed. If you are not using the autoscale feature, remove the last 3 options (starting with *autoscaler*) from the command. - - - *[cluster-id]*: The ID of your cluster. - - *[pool-id]*: The ID of your node pool. - - *[number-of-nodes]*: Enter one value less than the number of nodes that exist in the node pool. - - *[maximum-nodes]*: The maximum number of nodes for the pool. Enter one value less than the existing value. - - *[minimum-nodes]*: The minimum number of nodes for the pool. Enter one value less than the existing value. - - ```command - linode-cli lke pool-update [cluster-id] [pool-id] \ - --count [number-of-nodes] \ - --autoscaler.enabled true \ - --autoscaler.max [maximum-nodes] \ - --autoscaler.min [minimum-nodes] - ``` - - For more details, review the CLI request sample on the [Node Pool Update API reference](/docs/api/linode-kubernetes-engine-lke/#node-pool-update). - {{< /tab >}} - {{< tab "Linode API" >}} - Perform the API request below, replacing the following values as needed. If you are not using the autoscale feature, remove the `autoscaler` parameters from the request. - - - *[cluster-id]*: The ID of your cluster. - - *[pool-id]*: The ID of your node pool. - - *[number-of-nodes]*: Enter one value less than the number of nodes that already exist in the node pool. - - *[maximum-nodes]*: The maximum number of nodes for the pool. Enter one value less than the existing value. - - *[minimum-nodes]*: The minimum number of nodes for the pool. Enter one value less than the existing value. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "count": [number-of-nodes], - "autoscaler": { - "enabled": true, - "max": [maximum-nodes], - "min": [minimum-nodes] - }' \ - https://api.linode.com/v4/lke/clusters/[cluster-id]/pools/[pool-id] - ``` - - For more details, review the shell request sample on the [Node Pool Update API reference](/docs/api/linode-kubernetes-engine-lke/#node-pool-update). - {{< /tab >}} - {{< /tabs >}} - -#### Perform an Out-of-Place Upgrade - -*This process temporarily creates an additional node pool (with multiple worker nodes). This minimizes the time the upgrade may take (compared with an in-place upgrade) but increases the cost impact. This is recommended for larger production applications.* - -{{< note >}} -These instructions cover deleting the old node pool after all nodes have been fully drained. This lets you fallback to the existing nodes should the need arise. Alternatively, you can delete each node after it has been successfully drained, which reduces the overall cost impact of the upgrade. -{{< /note >}} - -1. Create a new pool with the same Compute Instance plans and number of nodes as your existing pool. - - {{< tabs >}} - {{< tab "Cloud Manager" >}} - Within the **Node Pools** section on the details page of your LKE cluster in Cloud Manager, click the **Add a Node Pool** button. In the prompt that appears, enter the plan type, plan size, and the number of nodes to match the existing node pool. See [Add a Node Pool](/docs/products/compute/kubernetes/guides/manage-node-pools/#add-a-node-pool). - {{< /tab >}} - {{< tab "Linode CLI" >}} - Run the command below, replacing the following values as needed. If you are not using the autoscale feature, remove the last 3 options (starting with *autoscaler*) from the command. - - - *[cluster-id]*: The ID of your cluster - - *[plan-type]*: The ID of the Compute Instance plan you wish to use. You can see all available plans and their corresponding IDs by running `linode-cli linodes types`. - - *[maximum-nodes]*: The maximum number of nodes for the pool. - - *[minimum-nodes]*: The minimum number of nodes for the pool. - - ```command - linode-cli lke pool-create [cluster-id] \ - --type [plan-id] - --count [number-of-nodes] - --autoscaler.enabled true \ - --autoscaler.max [maximum-nodes] \ - --autoscaler.min [minimum-nodes] \ - ``` - - For more details, reference the corresponding operation on the [API/CLI docs](/docs/api/linode-kubernetes-engine-lke/#node-pool-create) (select the **CLI** tab). - {{< /tab >}} - {{< tab "Linode API" >}} - Perform the API request below, replacing the following values as needed. If you are not using the autoscale feature, remove the `autoscaler` parameters from the request. - - - *[cluster-id]*: The ID of your cluster - - *[plan-type]*: The ID of the Compute Instance plan you wish to use. You can see all available plans and their corresponding IDs by running `linode-cli linodes types`. - - *[maximum-nodes]*: The maximum number of nodes for the pool. - - *[minimum-nodes]*: The minimum number of nodes for the pool. - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "type": "[plan-id]", - "count": [number-of-nodes], - "autoscaler": { - "enabled": true, - "max": [maximum-nodes], - "min": [minimum-nodes] - } - }' \ - https://api.linode.com/v4/lke/clusters/[cluster-id]/pools - ``` - For more details, reference the corresponding operation on the [API/CLI docs](/docs/api/linode-kubernetes-engine-lke/#node-pool-create). - {{< /tab >}} - {{< /tabs >}} - -1. Select one worker node on the old pool and prevent new pods from being created on it. This can be accomplished using the `cordon` command through kubectl, replacing *[node]* with the name of the node you are taking action on. - - ```command - kubectl cordon [node] - ``` - -1. Once traffic is no longer being assigned to that node, drain that worker node so that the existing workloads are rescheduled to nodes on the other pool. - - ```command - kubectl drain [node] --ignore-daemonsets - ``` - - By default, this will allow the pods to gracefully terminate with a default grace period of 30 sections. If your nodes have a long grace period, it may take a while to migrate off the existing workloads. You can adjust this by using the `--grace-period [value]` option in the above drain command, replacing *[value]* with the time in sections you wish to use. See [Termination of Pods](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination) on the official Kubernetes documentation. - -1. Repeat steps 2 through 3 for *each* worker node on the old pool. - -1. Once all worker nodes have been drained on the old node pool, the pool can be deleted. - - {{< tabs >}} - {{< tab "Cloud Manager" >}} - Locate the original node pool on the details page of your LKE cluster in Cloud Manager. Click the corresponding **Delete Pool** button as outlined in [Remove a Node Pool](/docs/products/compute/kubernetes/guides/manage-node-pools/#remove-a-node-pool). - {{< /tab >}} - {{< tab "Linode CLI" >}} - Run the command below, replacing *[cluster-id]* with the ID of your cluster and *[pool-id]* with the ID of the original node pool. - - ```command - linode-cli lke pool-delete [cluster-id] [pool-id] - ``` - - For more details, reference the corresponding operation on the [API/CLI docs](/docs/api/linode-kubernetes-engine-lke/#node-pool-delete) (select the **CLI** tab). - {{< /tab >}} - {{< tab "Linode API" >}} - Perform the API request below, replacing *[cluster-id]* with the ID of your cluster and *[pool-id]* with the ID of the original node pool. - - ```command - curl -H "Authorization: Bearer $TOKEN" \ - -X DELETE \ - https://api.linode.com/v4/lke/clusters/[cluster-id]/pools/[pool-id] - ``` - - For more details, reference the corresponding operation on the [API/CLI docs](/docs/api/linode-kubernetes-engine-lke/#node-pool-delete). - {{< /tab >}} - {{< /tabs >}} \ No newline at end of file diff --git a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/lke-version.png b/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/lke-version.png deleted file mode 100644 index 203294bcd1f..00000000000 Binary files a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/lke-version.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-cluster-confirmation.png b/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-cluster-confirmation.png deleted file mode 100644 index b3dd0bf299b..00000000000 Binary files a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-cluster-confirmation.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-cluster.png b/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-cluster.png deleted file mode 100644 index 2c7f383274f..00000000000 Binary files a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-cluster.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-recycle.png b/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-recycle.png deleted file mode 100644 index 96b627fdcca..00000000000 Binary files a/docs/products/compute/kubernetes/guides/upgrade-kubernetes-version/upgrade-lke-recycle.png and /dev/null differ diff --git a/docs/products/compute/kubernetes/release-notes/_index.md b/docs/products/compute/kubernetes/release-notes/_index.md deleted file mode 100644 index adcd06dcf42..00000000000 --- a/docs/products/compute/kubernetes/release-notes/_index.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: Release Notes -title_meta: "Release Notes for LKE (Linode Kubernetes Engine)" -description: "Learn more about what's new and changing on LKE by reviewing the changelog entries." -published: 2022-11-07 -promo_default: false -tab_group_main: - weight: 100 ---- - -{{< releasenotes/list path="lke">}} \ No newline at end of file diff --git a/docs/products/compute/kubernetes/resources/index.md b/docs/products/compute/kubernetes/resources/index.md deleted file mode 100644 index 84950809821..00000000000 --- a/docs/products/compute/kubernetes/resources/index.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: Resources -title_meta: "Resources for LKE (Linode Kubernetes Engine)" -description: "Resources and other information related to Linode Kubernetes Engine (LKE) including videos, blog posts, community posts, customer stories, eBooks, and press releases." -published: 2020-06-02 -modified: 2023-02-09 -tab_group_main: - weight: 40 ---- - -## Videos - -- [Linode Kubernetes Engine Demo](https://www.linode.com/content/linode-kubernetes-engine-demo/) - -## Blog Posts - -- [Linode Kubernetes Engine Now Available in Global Markets](https://www.linode.com/blog/kubernetes/lke-global-availability/) - -- [Linode Kubernetes Engine (LKE) General Availability](https://www.linode.com/blog/kubernetes/linode-kubernetes-engine-general-availability/) - -- [Linode Managed Kubernetes Now Available](https://www.linode.com/blog/kubernetes/linode-managed-kubernetes-now-available/) - -- [Whitelisting IP Addresses on Kubernetes: What We Learned](https://www.linode.com/blog/kubernetes/whitelisting-ip-addresses-on-kubernetes-what-we-learned/) - -- [Rancher 2.3 makes it easier to use Linode for Kubernetes](https://www.linode.com/blog/kubernetes/rancher-2-3-makes-it-easier-to-use-linode-for-kubernetes/) - -- [5 Kubernetes Shell Tricks](https://www.linode.com/blog/kubernetes/5-kubernetes-shell-tricks/) - -- [Coming Soon: Linode Kubernetes Engine](https://www.linode.com/blog/kubernetes/coming-soon-linode-kubernetes-engine/) - -- [July Technical Docs: Kubernetes, Pulumi, and More](https://www.linode.com/blog/kubernetes/july-technical-docs-kubernetes-pulumi-and-more/) - -- [From Kubernetes to GPU, Catch Up On the Latest Linode Guides](https://www.linode.com/blog/cms/from-kubernetes-to-gpu-catch-up-on-the-latest-linode-guides/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -- [Introducing Linode LIVE!](https://www.linode.com/blog/linode/introducing-linode-live/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank Your to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [Now Available: Linode Rancher Integration](https://www.linode.com/blog/kubernetes/now-available-linode-rancher-integration/) - -## Community Posts - -- [How Can I Deploy the Kubernetes-Metrics Server on LKE?](https://www.linode.com/community/questions/19756/how-can-i-deploy-the-kubernetes-metrics-server-on-lke) - -- [What’s the best way to upgrade the type of Compute Instances in my LKE Cluster?](https://www.linode.com/community/questions/20168/whats-the-best-way-to-upgrade-the-type-of-linodes-in-my-lke-cluster) - -- [LKE LoadBalancer or Ingress for an internal network only?](https://www.linode.com/community/questions/20160/lke-loadbalancer-or-ingress-for-an-internal-network-only) - -- [DNS resolution inside LKE Kubernetes not working](https://www.linode.com/community/questions/19981/dns-resolution-inside-lke-kubernetes-not-working) - -- [Details on LKE](https://www.linode.com/community/questions/19628/details-on-lke) - -- [How can I monitor performance and resource usage on my Kubernetes (LKE) cluster?](https://www.linode.com/community/questions/19636/how-can-i-monitor-performance-and-resource-usage-on-my-kubernetes-lke-cluster) - -- [Questions regarding managed LKE / Kubernetes](https://www.linode.com/community/questions/19429/questions-regarding-managed-lke-kubernetes) - -- [How can I achieve autoscaling on the Linode platform?](https://www.linode.com/community/questions/19274/how-can-i-achieve-autoscaling-on-the-linode-platform) - -- [Linode Kubernetes Engine is Open for Beta Testing](https://www.linode.com/community/questions/19131/linode-kubernetes-engine-is-open-for-beta-testing) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=kubernetes). - -## Customer Stories - -- [Craft of Code Chris Alfano](https://www.linode.com/spotlight/chris-alfano/) - -- [Craft of Code Changelog](https://www.linode.com/spotlight/changelog/) - -- [Craft of Code Savvii](https://www.linode.com/spotlight/savvii/) - -## eBooks - -- [Understanding Kubernetes: A Guide to Modernizing Your Cloud Infrastructure](https://www.linode.com/content/kubernetes-guide/) - -## Press Releases - -- [Linode Launches Managed Kubernetes Engine](https://www.linode.com/press-release/linode-launches-managed-kubernetes-engine/) - -## External Resources - -- [Video: Getting Started with Linode Kubernetes from LearnLinuxTV](https://youtu.be/paXVPiX7O9k) - -- [Kubernetes API Documentation](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/) - -- [Kubernetes Concepts Documentation](https://kubernetes.io/docs/concepts/) - -- [Cloud Native Computing Foundation](https://www.cncf.io/) diff --git a/docs/products/databases/_index.md b/docs/products/databases/_index.md deleted file mode 100644 index a57eef806a4..00000000000 --- a/docs/products/databases/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "Databases" -title_meta: Database Products and Services -description: "A fully managed database service with high availability." ---- diff --git a/docs/products/databases/feature.png b/docs/products/databases/feature.png deleted file mode 100644 index dcf17d9842c..00000000000 Binary files a/docs/products/databases/feature.png and /dev/null differ diff --git a/docs/products/databases/feature.svg b/docs/products/databases/feature.svg deleted file mode 100644 index 55f556884c2..00000000000 --- a/docs/products/databases/feature.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/databases/managed-databases/_index.md b/docs/products/databases/managed-databases/_index.md deleted file mode 100644 index 35b46cfb767..00000000000 --- a/docs/products/databases/managed-databases/_index.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Managed Databases -title_meta: "Managed Databases Product Documentation" -description: "Learn about Linode's Managed Database service, which provides fully managed cloud database clusters built on top of Linode’s trusted and reliable platform." -modified: 2023-05-02 -linkTitle: Managed Databases -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2022-02-23 - product_description: "Fully managed cloud database clusters built on top of Linode’s trusted and reliable platform." -aliases: ['/products/database/'] ---- - -{{% content "dbass-eos" %}} - -Linode's Managed Databases combine performance, reliability, and high availability into a fully managed database solution. Databases are used by most organizations to store their business and operational data, including customer information, financial details, application content, ecommerce transactions, and much more. Managing the database infrastructure to store and safeguard this data can put additional stress on the resources you have available. **Managed Databases** take care of managing this critical infrastructure for you, providing you with an easy to use DBaaS (database-as-a-service) solution built on top of Linode's trusted and reliable platform. - -## Simplified deployment and maintenance - -- **Automated deployment:** When a database is deployed through Managed Databases, the infrastructure, software, and firewall, and high availability systems are configured automatically. This can save hours of time compared to manually setting up a database. - -- **Automatic updates:** Updates to the underlying software of your database cluster are installed automatically using user-configurable maintenance windows. See [Automatic Updates and Maintenance Windows](/docs/products/databases/managed-databases/guides/updates-and-maintenance/). - -- **Access controls:** Prevent unauthorized database access by only allowing connections from specific IP addresses (or ranges). - -- **Daily Backups:** Automatic daily backups are provided at no additional cost and are retained for 7 days. This provides you with a recovery point for each day over the last 7 days. - -## High availability - -Managed Databases can be configured with either 1 or 3 underlying machines, also called *nodes*. Using 3 nodes provides you with a highly available database cluster, complete with data redundancy and automatic failover. Your data is replicated across every other node in the cluster. If one goes down, any traffic is redirected to the other available nodes. - -## Database Engines - -The following database management systems (DBMSs) are available on Managed Databases: - -- **MySQL:** An industry standard relational database management system that uses the SQL query language. Many popular applications (including WordPress) require MySQL or MySQL compatible databases. - -- **PostgreSQL:** An object-relational database management system that can use either SQL or JSON queries. It's generally more flexible and feature-rich than MySQL, though it's not a drop-in replacement and applications need to have built-in support for it. - -See [Choosing a Database Engine and Plan](/docs/products/databases/managed-databases/guides/database-engines/) for more details on each of the available database engines. - -## Recommended Workloads - -- Any production application that uses a database, especially one with high-traffic or one that stores critical data. -- Medium to high traffic websites using WordPress, CraftCMS, Drupal, or other database-enabled application. -- E-commerce sites -- Organizations that don't want to commit IT resources towards managing a database cluster. - -See the [Use Cases for Managed Databases](/docs/products/databases/managed-databases/guides/use-cases/) guide to learn more about these use cases. - -## Availability - -Managed Databases can be created and deployed across [all regions](https://www.linode.com/global-infrastructure/). - -## Plans and Pricing - -| Resource | Available Plans | -| -- | -- | -| Cluster size | 1 - 3 nodes | -| vCPU cores | 1 - 64 cores (shared or dedicated) | -| Memory | 1 GB - 512 GB | -| Storage | 25 GB - 7200 GB | - -Pricing starts at $15/mo for a 1 GB instance with a single node. Review the [pricing page](https://www.linode.com/pricing/#databases) for additional plans and their associated costs. There may be some differences between each available database engine due to licensing costs and other factors. - -Managed Databases do not consume [network transfer](/docs/products/platform/get-started/guides/network-transfer/) or include a monthly transfer allowance. Transfer is consumed when connecting to a Managed Database from a Compute Instance when that instance is located in a different data center. - -## Additional Technical Specifications - -In addition to the resources allocated to each available plan (outlined above), Managed Databases have the following specifications: - -- Fully-managed, including automated deployment and maintenance -- Multiple database engines and versions -- Customize access controls to allow connections from trusted sources -- Automatic backups are taken daily and retained for 7 days -- Administrative access with elevated user permissions -- Access the database using command-line or desktop applications -- 100% SSD (Solid State Disk) storage -- 40 Gbps inbound network bandwidth -- Free inbound network transfer -- Provisioning and management through [Cloud Manager](https://cloud.linode.com/), [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) - -## Limits and Considerations - -- Managed Databases cannot be resized to a different plan or cluster size after they are created. - -- The default user cannot be changed or removed, though the password can be reset at any time. - -- You are not able to access the underlying operating system of a database cluster. Configuration files (such as `my.cnf` ) cannot be directly edited and configuration changes done through the `SET PERSIST` command do not persist when the cluster is rebooted. - -- Live replicas or standby nodes for a high availability Managed Database cluster cannot be created or hosted outside of Linode's Managed Database service. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md b/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md deleted file mode 100644 index dcfeff77695..00000000000 --- a/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Note for the new data center launch. - -headless: true -show_on_rss_feed: false ---- - -{{< note type="warning" title="Managed Database Availability">}} -Starting November 14, 2024, Akamai is re-introducing its Managed Database service in partnership with Aiven to bring customers higher performance, reliability, and flexibility. At launch, the new service is available in 20 core compute sites across the globe for distribution and low latency. Click here for more information: [Database migration notice](https://techdocs.akamai.com/cloud-computing/docs/migration-notice) -{{< /note >}} \ No newline at end of file diff --git a/docs/products/databases/managed-databases/_shortguides/managed-database-mongodb-private-notice-shortguide/index.md b/docs/products/databases/managed-databases/_shortguides/managed-database-mongodb-private-notice-shortguide/index.md deleted file mode 100644 index 91d68baa3ef..00000000000 --- a/docs/products/databases/managed-databases/_shortguides/managed-database-mongodb-private-notice-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: No Private Conncetion notice for MongoDB - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -Managed MongoDB clusters are currently accessible over public IP addresses. To provide an additional layer of protection, support for private IP addresses will be available in the coming months. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/databases/managed-databases/developers/index.md b/docs/products/databases/managed-databases/developers/index.md deleted file mode 100644 index b379d1046ac..00000000000 --- a/docs/products/databases/managed-databases/developers/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Managed Databases" -description: "Deploy Linode Managed Databases with developer tools like the Linode API or CLI." -tab_group_main: - weight: 50 ---- - -{{% content "dbass-eos" %}} - -## Linode API - -Linode’s API v4 provides the ability to programmatically manage the full range of Linode products and services. -[Linode API documentation](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to [use and install the Linode CLI](/docs/products/tools/cli/get-started/) to get started. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/feature.png b/docs/products/databases/managed-databases/feature.png deleted file mode 100644 index ceed0c77e4c..00000000000 Binary files a/docs/products/databases/managed-databases/feature.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/feature.svg b/docs/products/databases/managed-databases/feature.svg deleted file mode 100644 index 90656f2683c..00000000000 --- a/docs/products/databases/managed-databases/feature.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/databases/managed-databases/get-started/index.md b/docs/products/databases/managed-databases/get-started/index.md deleted file mode 100644 index fa89f0d81dc..00000000000 --- a/docs/products/databases/managed-databases/get-started/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Managed Databases" -description: "Learn how to quickly get up and running with the Managed Database service." -modified: 2022-06-06 -tab_group_main: - weight: 20 ---- - -{{% content "dbass-eos" %}} - -Linode's Managed Database service is a convenient and reliable way to host your database workloads in the cloud. Quickly get up and running by following the instructions within this guide. - -## Create a Managed Database - -A Managed Database can be deployed using Cloud Manager, the Linode API, or the Linode CLI. For instructions on deploying it through Cloud Manager, see the following guide: - -- [Create a Managed Database](/docs/products/databases/managed-databases/guides/create-database/) -- [Choosing a Database Engine and Plan](/docs/products/databases/managed-databases/guides/database-engines/) - -## Connect to Your Database - -Once a Managed Database has been provisioned, you can connect to it from any compatible system or applications. Before you do so, the system's IP address needs to be added to the database cluster's access control list. - -- [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/) -- [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) -- [Connect to a PostgreSQL Managed Database](/docs/products/databases/managed-databases/guides/postgresql-connect/) - -## Migrate an Existing Database - -If you are replacing an existing database with Linode's Managed Database service, you will need to migrate that data after the database cluster has been fully provisioned. The guide [Migrate a MySQL or MariaDB Database to a Managed Database](/docs/products/databases/managed-databases/guides/migrate-mysql/) walks you through migrating a MySQL database. - -## Integrate the Database into an Application - -While its possible to add data directly to a database using CLI or GUI tools, it's much more common to integrate the database into an existing application. For instance, you can use the database with any web stack that uses your chosen database engine (DBMS) such as [LEMP](/docs/guides/web-servers/lemp/) / [LAMP](/docs/guides/web-servers/lamp/) for MySQL and MERN / [MEAN](/docs/guides/mean-stack-tutorial/) for MongoDB. When using a Managed Database, you can forgo installing the database locally on the system and instead use the credentials and connection details for your Managed Database. The instructions for connecting to a remote database vary by application. For example, here's a guide for WordPress: [Configure WordPress to use a Remote Database](/docs/guides/configure-wordpress-remote-database/). \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/_index.md b/docs/products/databases/managed-databases/guides/_index.md deleted file mode 100644 index add32e7aa34..00000000000 --- a/docs/products/databases/managed-databases/guides/_index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Managed Databases" -description: "A collection of guides on using Linode's Managed Database service" -published: 2022-06-06 -modified: 2023-05-02 -tab_group_main: - weight: 30 ---- - -{{% content "dbass-eos" %}} - -## Basics - -- [Create a Managed Database](/docs/products/databases/managed-databases/guides/create-database/) - -- [Choosing a Database Engine and Plan](/docs/products/databases/managed-databases/guides/database-engines/) - -- [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/) - -- [Automatic Updates and Maintenance Windows](/docs/products/databases/managed-databases/guides/updates-and-maintenance/) - -- [Restore from a Backup](/docs/products/databases/managed-databases/guides/manage-backups/) - -- [Reset the Root Password](/docs/products/databases/managed-databases/guides/reset-root-password/) - -- [Use Cases for Managed Databases](/docs/products/databases/managed-databases/guides/use-cases/) - -## MySQL - -- [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) - -- [Migrate a MySQL or MariaDB Database to a Managed Database](/docs/products/databases/managed-databases/guides/migrate-mysql/) - -{{< note >}} -General MySQL guides (not specific to Managed Databases): - -- [An Overview of MySQL](/docs/guides/an-overview-of-mysql/) -- [How to List Tables in MySQL and MariaDB](/docs/guides/list-tables-in-mysql-and-mariadb/) -- [How to Use Views in a MySQL Database](/docs/guides/how-to-create-and-use-mysql-views/) -{{< /note >}} - -## PostgreSQL - -- [Connect to a PostgreSQL Managed Database](/docs/products/databases/managed-databases/guides/postgresql-connect/) - -- [PostgreSQL Extensions](/docs/products/databases/managed-databases/guides/postgresql-extensions/) - -- [Migrate a PostgreSQL Database to a Managed Database](/docs/products/databases/managed-databases/guides/postgresql-migrate/) - -{{< note >}} -General PostgreSQL guides (not specific to Managed Databases): - -- [An Introduction to PostgreSQL](/docs/guides/an-introduction-to-postgresql/) -- [Backing Up a PostgreSQL Database (Database Dump)](/docs/guides/how-to-back-up-your-postgresql-database/) -{{< /note >}} \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/create-database/database-create-select-engine.png b/docs/products/databases/managed-databases/guides/create-database/database-create-select-engine.png deleted file mode 100644 index a1a28c24758..00000000000 Binary files a/docs/products/databases/managed-databases/guides/create-database/database-create-select-engine.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/create-database/index.md b/docs/products/databases/managed-databases/guides/create-database/index.md deleted file mode 100644 index a92f97572ee..00000000000 --- a/docs/products/databases/managed-databases/guides/create-database/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: "Create a Managed Database" -description: "A walkthrough on creating a Managed Database through Cloud Manager" -published: 2022-06-06 -modified: 2022-08-09 ---- - -{{% content "dbass-eos" %}} - -This guide walks you through creating a Linode Managed Database through Cloud Manager. - -1. [Open the Create Database Cluster Form in Cloud Manager](#open-the-create-database-cluster-form-in-cloud-manager) -1. [Set the Label](#set-the-label) -1. [Select the Database Engine](#select-the-database-engine) -1. [Select a Region](#select-a-region) -1. [Choose a Plan](#choose-a-plan) -1. [Determine the Number of Nodes](#determine-the-number-of-nodes) -1. [Add Access Controls](#add-access-controls) -1. [Deploy the Managed Database](#deploy-the-managed-database) - -## Open the Create Database Cluster Form in Cloud Manager - -Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. Click the **Create Database Cluster** button. This opens the *[Create Database Cluster](https://cloud.linode.com/databases/create)* page. - -## Set the Label - -Enter a name for your cluster under **Cluster Label**, allowing you to easily identify it from other database clusters on your account. A good label should provide some indication as to what the database is used for. The label must be alphanumeric and between 3 and 32 characters. - -## Select the Database Engine - -Select the **database engine** you'd like to use for your new database. This setting determines the underlying database management system (DBMS) that your cluster uses. Each database engine is significantly different and you should choose the one that is required by the application you intend to use it with. For instance, WordPress requires MySQL. If you are building a custom application, work with your developers to determine the best selection. See [Choosing a Database Engine and Plan](/docs/products/databases/managed-databases/guides/database-engines/) to learn about each of the available database engines. - -![Screenshot of the Database Engine dropdown menu](database-create-select-engine.png) - -*It's recommended to select the latest database version available, unless your application requires an older version.* - -## Select a Region - -Select the **region** where the database cluster will reside. Regions correspond with individual data centers, each located in a different geographical area. If you will access this database from a Linode Compute Instance or LKE cluster, you should likely select the same region as those services. Otherwise, select the region closest to you and/or your customers. This helps reduce latency and can make a significant impact in connection speeds and quality. - -- [Global Infrastructure](https://www.linode.com/global-infrastructure/) -- [Speed Tests for Data Centers](https://www.linode.com/speed-test/) -- [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) - -## Choose a Plan - -Every node of a database cluster is built on its own Linode Compute Instance. In the **Choose a Plan** section, select the Compute Instance type and plan that the nodes will use. You can choose from either [Dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/) or [Shared CPU](/docs/products/compute/compute-instances/plans/shared-cpu/) plans. In general, Dedicated CPU plans are recommended for high-performance production databases. - -- [Choosing a Compute Instance Type and Plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/) - -{{< note >}} -Once a Managed Database cluster is created, it cannot be resized to a different plan. To modify the resources allocated to your database, you will need to create a new Managed Database with the desired plan, migrate your data, and delete the original Managed Database. -{{< /note >}} - -## Determine the Number of Nodes - -Each Managed Database can be built with either 1 or 3 nodes (individual virtual machines): - -- **1 node standalone database**: This option is recommended for development purposes or production databases where a lower cost is more beneficial than redundancy and failover. -- **3 node high availability database cluster**: This option is recommended for product databases. High availability database clusters have built-in data redundancy and automatic failover. Your data is replicated across every other node in the cluster. If one goes down, any traffic is redirected to the other available nodes. - -## Optionally Add Access Controls - -Within the **Add Access Controls** section, you can specify which IP addresses (and ranges) are permitted to access your new database cluster. Each Managed Database cluster has its own access control list, which grants specific IP addresses or ranges access to the database. By default, all connections (both public and private) are blocked unless they appear on this list. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/) for more information and for assistance adding access controls after the database has been deployed. - -If you are testing the connection from your local machine, you may also wish to enter the IP address that your ISP has assigned to your machine. One way you can find this out is by typing ["What's my IP"](https://www.google.com/search?q=what%27s+my+ip) into Google. - -## Deploy the Managed Database - -Once you have completed the form, click the **Create Database Cluster** button to start deploying your new database cluster. It takes approximately 15 to 30 minutes to fully provision the cluster. You can track the status by reviewing the *Status* column within the list of [Database Clusters](https://cloud.linode.com/databases) in Cloud Manager. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/database-engines/index.md b/docs/products/databases/managed-databases/guides/database-engines/index.md deleted file mode 100644 index d5172f6e7d6..00000000000 --- a/docs/products/databases/managed-databases/guides/database-engines/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Database Engines and Plans" -description: "Learn the differences between the database engines offered by Linode's Managed Database service." -published: 2022-06-06 -modified: 2023-05-02 ---- - -{{% content "dbass-eos" %}} - -When deploying a Managed Database, you are able to select from a variety of database engines and plans. While each database engine enables you to store data, application compatibility and the way in which they store and access data can vary greatly. This guide aims to provide more information on each database engine, the reasons you might choose one over the other, and advice on selecting an appropriate plan size. - -## Database Engines - -The following database engines are available on Linode's platform: - -- [MySQL](#mysql) -- [PostgreSQL](#postgresql) - -### MySQL - -**Starting at $15 ($0.0225/hr) for a single node and $35 ($0.0525/hr) for a 3 node high availability cluster.** - -MySQL is an industry standard relational database management system (RDMBS) that uses the SQL query language. Compared to other databases, it's relatively easy to use and its large community means there are lots of online resources available. MySQL values performance and accessibility over pure SQL compliance, so its syntax can slightly differ from strict SQL. Many popular applications (including WordPress) require MySQL or a MySQL compatible database. - -*Best for general-purpose websites and applications, e-commerce sites, applications employing LAMP or LEMP stacks, and for beginner database developers looking for robust online resources* - -**Available versions:** - -- MySQL 8.0 -- MySQL 5.7 - -### PostgreSQL - -**Starting at $15 ($0.0225/hr) for a single node and $35 ($0.0525/hr) for a 3 node high availability cluster.** - -PostgreSQL is an object-relational database management system (ORDBMS) that can use SQL. It's generally more flexible and feature-rich than MySQL, though it's not a drop-in replacement and applications need to have built-in support for it. It also has support for more data types, including JSON, and adopts some features of NoSQL databases. While PostgreSQL is generally more challenging to implement, it can support more advanced queries and is a popular choice for enterprise applications. - -*Best for experienced SQL developers, applications that perform complex queries, using PostgreSQL-specific features, and for business users looking for dedicated commercial support.* - -**Available versions:** - -- PostgreSQL 14 -- PostgreSQL 13 -- PostgreSQL 12 -- PostgreSQL 11 -- PostgreSQL 10 - -## Database Plans - -Each Managed Database can be deployed with a specific set of resources. This collection of resources is called the *plan*. Linode offers two plan types for Managed Databases: - -- [Shared CPU](#shared-cpu-instances) -- [Dedicated CPU](#dedicated-cpu-instances) - -### Shared CPU Instances - -**1 GB - 192 GB Memory, 1 - 32 Shared vCPU Cores, 25 GB - 3840 GB Storage**
      - -[Shared CPU Instances](/docs/products/compute/compute-instances/plans/shared-cpu/) offer a balanced array of resources coupled with shared CPUs that can burst up to 100% for short intervals. This keeps costs down while still supporting a wide variety of cloud applications. Your processes are scheduled on the same CPU cores as processes from other Compute Instances and Managed Databases. This shared scheduling is done in a secure and performant manner and Linode works to minimize competition for CPU resources between your server and other servers. - -*Best for development servers, staging servers, low traffic websites, personal blogs, and production applications that may not be affected by resource contention.* - -### Dedicated CPU Instances - -**4 GB - 512 GB Memory, 2 - 64 Dedicated vCPUs, 80 GB - 7200 GB Storage**
      - -[Dedicated CPU Instances](/docs/products/compute/compute-instances/plans/dedicated-cpu/) reserve physical CPU cores that you can utilize at 100% load 24/7 for as long as you need. This provides competition free guaranteed CPU resources and ensures your software can run at peak speed and efficiency. With Dedicated CPU instances, you can run your software for prolonged periods of maximum CPU usage, and you can ensure the lowest latency possible for latency-sensitive operations. These instances offer a perfectly balanced set of resources for most production applications. - -*Best for production websites, enterprise applications, high traffic databases, and any application that requires 100% sustained CPU usage or may be impacted by resource contention.* - -{{< note >}} -Once a Managed Database cluster is created, it cannot be resized to a different plan. To modify the resources allocated to your database, you will need to create a new Managed Database with the desired plan, migrate your data, and delete the original Managed Database. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/manage-access-controls/database-access-controls.png b/docs/products/databases/managed-databases/guides/manage-access-controls/database-access-controls.png deleted file mode 100644 index 12857ca6484..00000000000 Binary files a/docs/products/databases/managed-databases/guides/manage-access-controls/database-access-controls.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/manage-access-controls/index.md b/docs/products/databases/managed-databases/guides/manage-access-controls/index.md deleted file mode 100644 index 0790b9c5de9..00000000000 --- a/docs/products/databases/managed-databases/guides/manage-access-controls/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Manage Access Controls" -description: "Learn how to manage access controls on a Managed Database, including allowing connections from specific IP addresses." ---- - -{{% content "dbass-eos" %}} - -Each Managed Database cluster has its own access control list, which allows specific IPv4 addresses or ranges to connect to the database. By default, all connections (both public and private) are blocked unless they appear on this list. - -## View Access Controls - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your Managed Database from the list. This opens the detail page for that database cluster. - -1. Within the *Summary* tab, access controls appears under the *Access Controls* section. A list of each allowed IP address or range is displayed. - -![Screenshot of Access Controls](database-access-controls.png) - -## Types of Access - -- **No access** (*blank*): If no IP addresses are provided, the database will not allow any connections. - -- **Open access** (`0.0.0.0/0`): Entering an IP address of *0.0.0.0/0* allows connections from any IP address. - -- **Individual access** (`192.0.2.1/32`): To grant an individual system access, enter that system's IPv4 address. The `/32` is added automatically if no prefix size is provided, which means only this single IPv4 address is included within this rule. - -- **Range access** (`192.0.2.0/24`): Allow connections from an entire range of IP addresses by specifying the prefix and the prefix length. For instance, entering *192.0.2.0/24* as an access control allows connections from 192.0.2.0 - 192.0.2.255. - -## Add or Modify IP Addresses or Ranges - -1. View your access controls by following the steps within [View Access Controls](#view-access-controls). - -1. Click the **Manage Access Controls** button to open the *Manage Access Controls* panel. - -1. The *Manage Access Controls* panel appears and displays a list of allowed IP addresses and ranges. From here, you can perform the following actions: - - - **Add** a new entry by clicking the **Add an IP** button and enter your desired IP address or range into the new field. - - **Modify** an existing entry by updating it with the new IP address or range. - - **Remove** an entry by clicking the **X** icon to the right of the entry. - -1. Once you've made your changes, click the **Update Access Controls** button to commit them. - -## Remove an IP Address or Range - -1. View your access controls by following the steps within [View Access Controls](#view-access-controls). - -1. Find the IP address or range you wish to remove and click the **Remove** link. A confirmation dialog appears. - -1. Click the **Remove IP Address** button to confirm and remove the address. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/manage-backups/available-managed-backups.png b/docs/products/databases/managed-databases/guides/manage-backups/available-managed-backups.png deleted file mode 100644 index c626986ab3e..00000000000 Binary files a/docs/products/databases/managed-databases/guides/manage-backups/available-managed-backups.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/manage-backups/index.md b/docs/products/databases/managed-databases/guides/manage-backups/index.md deleted file mode 100644 index 2567db4ad35..00000000000 --- a/docs/products/databases/managed-databases/guides/manage-backups/index.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Manage Backups" -description: "Learn how to restore one of the available backups for a Managed Database." -modified: 2022-07-01 -aliases: ['/products/databases/managed-databases/guides/restore-backup/'] ---- - -{{% content "dbass-eos" %}} - -Each Managed Database includes daily backups of your data, taken on a 24 hour cadence. Up to 7 backups are stored for each database cluster, which provides you with a restore point for each day in the last week. This guide walks you through viewing and restoring from these managed backups. - -## View Managed Backups - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your Managed Database from the list. This opens the detail page for that database cluster. - -1. Navigate to the **Backups** tab. A list of your available backups are displayed, organized by the date they were created. - -![Screenshot of all available managed backups in Cloud Manager](available-managed-backups.png) - -## Restore Managed Backups - -{{< note type="alert" >}} -Restoring from a backup erases all data stored within the database cluster and replaces it with the data from that backup. -{{< /note >}} - -1. View the available backups by following the [View Managed Backups](#view-managed-backups) instructions. - -1. Locate the backup you wish to restore and click the corresponding **Restore** link. A confirmation dialog appears. - - ![Screenshot of several available backups highlighting the restore button](restore-from-backup.png) - -1. Enter the name of the database cluster in the **Database Label** field and click the **Restore Database** button. This deletes all the data currently stored on the database and restores the data from the selected backup. The restore process takes a few moments, the length of which depends on the amount of data. You can monitor the progress by viewing the listing page for all your database clusters. - -## Alternative Backup Methods - -To fully protect your data, your backup strategy should include additional backup solutions. While managed backups provide several quick recovery points, you may wish to retain backups for longer periods of time, store backups offsite, or only backup certain databases or tables. In these cases, you can use built-in DBMS tools or other third-party solutions. - -The following is a list of command-line tools included with each DBMS. These tools can all be used to create manual backups or to automate backups through cron jobs or other tools. - -### MySQL - -The [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) utility captures *logical* backups of MySQL databases and is included as part of the MySQL software. The following command exports a database called *Example* within the MySQL Managed Database cluster and saves it as an `.sql` file. Replace the host and database name with your own values. See [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) guide for instructions on viewing the connection details (including the username, password, host, and port). - -```command -mysqldump -h lin-1111-1111-mysql-primary.servers.linodedb.net -u linroot -p --single-transaction --set-gtid-purged=OFF Example > backup-$(date +%F-%H.%M.%S).sql -``` - -For more instructions, see [Backing Up MySQL Databases Using mysqldump](/docs/guides/mysqldump-backups/). - -### PostgreSQL - -[pg_dump](https://www.postgresql.org/docs/current/app-pgdump.html), included with PostgreSQL, captures logical backups of PostgreSQL databases. The following command exports the database called *Example* within the given PostgreSQL Managed Database cluster and saves it as a file. Replace the host and database name with your own values. See [Connect to a PostgreSQL Managed Database](/docs/products/databases/managed-databases/guides/postgresql-connect/) guide for instructions on viewing the connection details (including the username, password, host, and port). - -```command -pg_dump -Fd --host lin-1111-1111-pgsql-primary.servers.linodedb.net --dbname Example --quote-all-identifiers --verbose --lock-wait-timeout=480000 --no-unlogged-table-data --serializable-deferrable --jobs=1 --username linpostgres --file database.backup -``` - -For more information, review the [Backing Up a PostgreSQL Database (Database Dump)](/docs/guides/how-to-back-up-your-postgresql-database/) guide. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/manage-backups/restore-from-backup.png b/docs/products/databases/managed-databases/guides/manage-backups/restore-from-backup.png deleted file mode 100644 index f39e177bacd..00000000000 Binary files a/docs/products/databases/managed-databases/guides/manage-backups/restore-from-backup.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/migrate-mysql/index.md b/docs/products/databases/managed-databases/guides/migrate-mysql/index.md deleted file mode 100644 index 3da11ca36b3..00000000000 --- a/docs/products/databases/managed-databases/guides/migrate-mysql/index.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: "Migrate a MySQL or MariaDB Database to a Managed Database" -description: "Learn how to migrate an existing MySQL database to Linode's Managed Database service." -published: 2022-02-23 -modified: 2022-06-30 ---- - -{{% content "dbass-eos" %}} - -This guide covers how to migrate an existing MySQL or MariaDB database to a Managed Database. When migrating a database, there are two important terms to keep in mind: the *source* database and the *target* database. - -- **Source database:** The original database running on a software, system, or machine that you wish to decommission. This could be MySQL running within your own Linux server, a development database on your local machine, or even a cloud database. -- **Target database:** The new replacement database that you wish to use. For this guide, the target database will be a Managed Database running on Linode's platform. - -Your individual migration workflow could deviate from the instructions provided here. You may need to consult your own developers or application's documentation to learn how to perform some of these steps and to gather any best practices. You should also perform the migration on a staging server first or during a time when downtime least affects your users and/or business. - -## Before You Begin - -- **Create a Managed Database:** To minimize downtime, make sure to create your Managed Database database cluster *before* continuing. This ensures that your database has been fully provisioned (which can take up to 30 minutes) and that you have the new database credentials available. See [Create a Managed Database](/docs/products/databases/managed-databases/guides/create-database/). - -- **Ensure proper MySQL user grants:** The MySQL user you intend to use to export your existing database must have SELECT, LOCK TABLES, SHOW VIEW and TRIGGER grants. - -## Export the Source Database - -Export the data from the source database into a `.sql` file. While this file is eventually used to import your data to a different machine, it can also be stored as backup. The best method for generating a backup of your data highly depends on the applications you are using and what other databases are also stored on that same system. - -- **mysqldump:** In most cases, you can export the data using the mysqldump command-line tool. The following command exports the specified databases within the local mysql instance into a file called `db-backup.sql`. Replace *[username]* with the username you use to access the database and *[database-name]* with the name of your database. - - ```command - sudo mysqldump -u [user] -p --single-transaction [database-name] > db-backup.sql - ``` - - **Notes on additional command options:** - - - `-h`: If you prefer to run this command remotely and have access to MySQL from a remote system, add `-h [hostname]`, where *[hostname]* is the IP address or hostname of the remote database server. - - - `--ssl-mode=REQUIRED`: Force SSL when your existing database has SSL enabled. - - - `--set-gtid-purged=OFF`: Use this option if you have [GTID-based replication](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-howto.html) enabled. - - - `--all-databases`: **Do not use this option**. When importing this backup into your Managed Database, it may delete all existing users from the cluster. - - See [Backing Up MySQL Databases Using mysqldump](/docs/guides/mysqldump-backups/) for more details on running the mysqldump command. - -- **cPanel:** See [Backup Wizard > Create a partial backup](https://docs.cpanel.net/cpanel/files/backup-wizard/#create-a-partial-backup) and [How to Back Up and Restore MySQL® Databases in cPanel](https://blog.cpanel.com/how-to-back-up-and-restore-mysql-databases-in-cpanel/). - -- **Plesk:** See [Exporting and Importing Database Dumps](https://docs.plesk.com/en-US/obsidian/reseller-guide/website-management/website-databases/exporting-and-importing-database-dumps.69538/#). - -### Preventing Corruption - -If data is modified during the export, your dataset may become inconsistent or corrupted. Because of this, you may want to prevent new data from being written during the time. This can be accomplished by stopping any services or applications that are currently using your database. In many cases, stopping the web server software is one of the quickest ways to do this, though its not recommended if that web server is also running other websites that need to maintain access. The following instructions cover stopping the two most popular web services, NGINX and Apache. - -- **Stop NGINX:** - - ```command - sudo systemctl stop nginx - ``` - -- **Stop Apache on Ubuntu/Debian:** - - ```command - sudo systemctl stop apache2 - ``` - -- **Stop Apache on RHEL/CentOS:** - - ```command - sudo systemctl stop httpd - ``` - -Alternatively, you can activate a _maintenance mode_ (or whatever it may be called for your application) on any applications or services using your database. This typically disables some of your site's functionality and may present a web page to visitors to notify them of the downtime. The process for this varies greatly depending on the application you may be using. - -## Import the Database - -Next, you'll need to import the `.sql` file to your Managed Database (the target database). This process can be accomplished through the mysql command-line tool. Run the following command on a system that has the MySQL client or server software installed. Replace *[host]* and *[username]* with the appropriate values for your database cluster. See the [Connect to a MySQL Database](/docs/products/databases/managed-databases/guides/mysql-connect/) guide for additional information and to learn how to view your Managed Database's connection details. - -```command -mysql -h [host] -u [username] -p < db-backup.sql -``` - -## Update the Database Connection Details within Your Application - -After the data has been imported into the Managed Database, you should update any applications that were using the original source database so that they use the new Managed Database instead. This typically involves editing the database connection details (such as the host, username, password, and port) within the code or within your application's GUI. Please consult the documentation for your application to learn how to adjust the database settings. In WordPress, for instance, the database connection details are stored within the `wp-config.php` file on your web server (see [Editing wp-config.php > Configure Database Settings](https://wordpress.org/support/article/editing-wp-config-php/)). - -## Enable Your Application - -If you turned off your web server or placed your application in a *maintenance mode*, you can now enable your application again. While the instructions for turning off *maintenance mode* vary depending on your application, here are the commands for starting the two most common web servers: - -- **Start NGINX:** - - ```command - sudo systemctl start nginx - ``` - -- **Start Apache on Ubuntu/Debian:** - - ```command - sudo systemctl start apache2 - ``` - -- **Start Apache on RHEL/CentOS:** - - ```command - sudo systemctl start httpd - ``` \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/mongodb-connect/index.md b/docs/products/databases/managed-databases/guides/mongodb-connect/index.md deleted file mode 100644 index d60854afce5..00000000000 --- a/docs/products/databases/managed-databases/guides/mongodb-connect/index.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: "Connect to a MongoDB Database" -description: "Learn how to connect to a MongoDB Managed Database through the command line or Compass" -published: 2022-06-06 -expiryDate: 2023-05-01 ---- - -{{% content "dbass-eos" %}} - -{{% content "managed-database-mongodb-private-notice-shortguide" %}} - -To connect to a MongoDB Managed Database, you need to know a few important details, such as the username, password, and host (or IP). You'll also need a MySQL client. This guide details how to access your database using popular tools. - -## View Connection Details - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your Managed Database from the list. This opens the detail page for that database cluster. - -The *Connection Details* section contains information and credentials needed for you to connect to your database. - -- **Username:** The default user for all MongoDB Managed Databases is `linroot`, which has superuser admin privileges. This replaces the `root` user, which is not accessible. -- **Password:** The randomly generated password for your database cluster. See [Reset Root Password](/docs/products/databases/managed-databases/guides/reset-root-password/) if you wish to change it. -- **Host(s):** The fully qualified domain name you can use to reach your database cluster through the public network. For high availability clusters, multiple hosts are displayed. -- **Port:** The default port for your database is `27017`. -- **Replica set:** The name of the replica set. This is only relevant for multi-node high availability clusters and does not appear for standalone (single node) databases. -- **SSL:** This field is set to `ENABLED`, which means that it is required to use an encrypted TLS/SSL connection. - -Under the *Connection Details* section, there is a **Download CA Certificate** link, which lets you download the CA (Certificate Authority) certificate. This certificate file can be used if you wish to verify the CA certificate when connecting to the database. - -## Connect Using the MongoDB Shell (CLI) - -To connect direct to the database from a command-line, you can use the [MongoDB Shell](https://www.mongodb.com/products/shell) tool through the command `mongosh`. - -1. Make sure the IP address assigned to your system is included within your database's access controls. If not, add it now. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/). - -1. Verify that the `mongosh` command is installed on your system by running the following command: - - mongosh --version - - If it is not installed, follow the steps for your operating system under [Install the MongoDB Shell](#install-the-mongodb-shell). - -1. Use the `mongosh` command below to connect to your database, replacing `[username]` and `[host]` with the corresponding values in the [Connection Details](#view-connection-details) section. You must also download the CA certificate file for the database and replace `[certificate]` with the path and filename of that certificate. - - - **Standalone cluster (single node)** - - mongosh "mongodb://[username]@[host]:27017" --password --tls --tlsCAFile=[certificate] - - - **High availability cluster (3 nodes)** - - When connecting to a high availability cluster, input each host (along with the port) separated by a comma. You must also replace `[replica-set]` with the replica set defined in your connection details. - - mongosh "mongodb://[username]@[host1]:27017,[host2]:27017,[host3]:27017?replicaSet=[replica-set]" --password --tls --tlsCAFile=[certificate] - -1. Enter your password at the prompt. - -Once you are connected successfully, the MongoDB Shell prompt appears and you can enter queries and commands. See [mongosh Usage](https://www.mongodb.com/docs/mongodb-shell/run-commands/) for examples. - -### Install the MongoDB Shell - -If you do not currently have the MongoDB Shell installed on your system, the application can be download directly from the [MongoDB Shell Download](https://www.mongodb.com/try/download/shell) page by selecting your platform and clicking the **Download** button. The latest installation instructions can be found on the [Install mongosh](https://www.mongodb.com/docs/mongodb-shell/install/) guide. - -- **Windows:** - - Follow the instructions above to download the appropriate package directly from MongoDB's website. - -- **macOS:** - - It is recommended to install the MongoDB Shell through [Homebrew](https://brew.sh/]) though you can also install it by downloading the application from MongoDB's website. - - brew install mongosh - -- **Linux:** - - MongoDB Shell is available as a .deb (for Ubuntu 20.04 and 18.04), .rpm (for CentOS/RHEL), or as a compressed tarball for nearly any Linux distribution. - - 1. On the MongoDB Shell Download page, select *Linux Tarball 64-bit* as the platform and click the **Copy Link** text. - - 1. Run the following command in your Linux terminal, replacing *[download-url]* with the link you just copied. - - curl [download-url] --output mongodb-shell.tgz - - 1. Extract the compressed tarball. If you do not have the [tar](https://man7.org/linux/man-pages/man1/tar.1.html) command on your system, you will need to install that first. - - tar -zxvf mongodb-shell.tgz - - 1. Navigate into the `bin` folder within the unzipped directory. Your folder may vary from the one in the example command below. - - cd mongosh-1.5.0-linux-x64/bin - - 1. Make the mongosh file executable. - - chmod +x mongosh - - 1. Copy the files into your local bin directory or any directory already in your PATH variable. - - sudo cp mongosh /usr/local/bin/ - sudo cp mongosh_crypt_v1.so /usr/local/lib/ - -## Connect Using MongoDB Compass (GUI) - -The Compass tool provides a graphical interface for connecting to MongoDB databases. Using this tool, you can visualize your database and the data it contains. - -1. Install the MongoDB Compass software from the [MongoDB website](https://www.mongodb.com/products/compass). Be sure to select the operating system you're using locally. - -1. Open the software. You may need to continue through an initial walkthrough and set your privacy settings before you can use Compass. - -1. The default page should be the **New Connection** form. If you do not see this, click **Connect** > **New Connection** in the main menu. - -1. To connect to a your MongoDB database, you can either enter a connection string or click **Advanced Connection Option** and build a connection string manually. Since these instructions cover the latter option, click **Advanced Connection Option**. - -1. Under the *General* tab, enter the host url of your Managed Database followed by the port number *27017* (in the format `host:27017`). For high availability clusters, click the plus (+) icon and add each host that appears in your connection details. - - ![The General tab in MongoDB Compass](mongodb-compass-connection-general.png) - -1. Under the *Authentication* tab, select **Username/Password** and enter the username and password for your database. - - ![The Authentication tab in MongoDB Compass](mongodb-compass-connection-auth.png) - -1. Under the *TLS/SSL* tab, set the **SSL/TLS Connection** to *On*. Then, click the **Select a file** button under the **Certificate Authority** field and select the CA certificate file for your database. If you haven't downloaded the certificate file, do so now. See [View Connection Details](#view-connection-details). - - ![The TLS/SSL tab in MongoDB Compass](mongodb-compass-connection-tls.png) - -1. For high availability clusters, go to the *Advanced* tab and enter the replica set under **Replica Set Name**. - -1. Review the URI connection string and click **Connect** to test your connection and connect to the database. - - ![The New Connection window in MongoDB Compass](mongodb-compass-connection-string.png) - -1. Once the connection is successful, a new window appears where you can view your database and run queries. - - ![The main window in MongoDB Compass](mongodb-compass.png) - -For instructions on using MongoDB Compass to interact with your database, see the [MongoDB Compass documentation](https://www.mongodb.com/docs/compass/current/). \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-auth.png b/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-auth.png deleted file mode 100644 index 1ecce3121d5..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-auth.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-general.png b/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-general.png deleted file mode 100644 index 3c410cb9719..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-general.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-string.png b/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-string.png deleted file mode 100644 index fedfb76403c..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-string.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-tls.png b/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-tls.png deleted file mode 100644 index ffd30d98062..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass-connection-tls.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass.png b/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass.png deleted file mode 100644 index b2056316e64..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mongodb-connect/mongodb-compass.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mongodb-migrate/index.md b/docs/products/databases/managed-databases/guides/mongodb-migrate/index.md deleted file mode 100644 index 3beba7adf7e..00000000000 --- a/docs/products/databases/managed-databases/guides/mongodb-migrate/index.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: "Migrate a MongoDB Database to a Managed Database" -description: "Learn how to migrate an existing MongoDB database to Linode's Managed Database service." -published: 2022-06-17 -expiryDate: 2023-05-01 ---- - -{{% content "dbass-eos" %}} - -This guide covers how to migrate an existing MongoDB database to a Managed Database using the `mongodump` and `mongorestore` utilities. - -When migrating a database, there are two important terms to keep in mind: the *source* database and the *target* database. - -- **Source database:** The original database running on a software, system, or machine that you wish to decommission. This could be MongoDB running within your own Linux server, a development database on your local machine, or even a cloud database. -- **Target database:** The new replacement database that you wish to use. For this guide, the target database will be a Managed Database running on Linode's platform. - -Your individual migration workflow could deviate from the instructions provided here. You may need to consult with your developers or your application's documentation to learn how to perform some of these steps and to gather any best practices. You should also perform the migration on a staging server first and/or during a time when downtime least affects your users and/or business. - -## Before You Begin - -- **Create a Managed Database:** To minimize downtime, make sure to create your Managed Database database cluster *before* continuing. This ensures that your database has been fully provisioned (which can take up to 30 minutes) and that you have the new database credentials available. See [Create a Managed Database](/docs/products/databases/managed-databases/guides/create-database/). - -- **Verify the MongoDB Database Tools are installed** on whichever system you intend to use when exporting and importing the database. MongoDB Database Tools include the `mongodump` and `mongorestore` utilities, alongside other tools that can be used for working with MongoDB deployments. Starting with MongoDB v4.4, these tools have been packaged separately from the database software itself. They are compatible with MongoDB v4.0 and above. To determine if the tools are installed on your system, run the following command. - - mongodump --version - - If you receive an output with the version number, the tools are installed. If not, follow the instructions in the [Install MongoDB Database Tools](#install-mongodb-database-tools) section. - -## Install MongoDB Database Tools - -MongoDB Database Tools can be downloaded directly from the [MongoDB Download](https://www.mongodb.com/try/download/database-tools) page by selecting your platform and clicking the **Download** button. The latest installation instructions can be found in the [Installing the Database Tools](https://www.mongodb.com/docs/database-tools/installation/installation/) guide. - -- **Windows:** - - Follow the instructions above to download the appropriate package directly from MongoDB's website. - -- **macOS:** - - On macOS, MongoDB Database Tools can be installed through [Homebrew](https://brew.sh/). For more instructions, see [Installing the Database Tools on macOS](https://www.mongodb.com/docs/database-tools/installation/installation-macos/). - - 1. Add the [MongoDB formulae repository](https://github.com/mongodb/homebrew-brew) to Homebrew: - - brew tap mongodb/brew - - 1. Install the `mongodb-database-tools` package: - - brew install mongodb-database-tools - -- **Linux:** - - The toolset is available as a .deb (for Ubuntu 20.04 and 18.04), .rpm (for CentOS/RHEL), or as a compressed tarball for nearly any Linux distribution. For more instructions, see [Installing the Database Tools on Linux](https://www.mongodb.com/docs/database-tools/installation/installation-linux/). - - 1. In the [MongoDB Download Center](https://www.mongodb.com/try/download/database-tools) under the **MongoDB Database Tools** section, select the corresponding x86_64 package for your Linux distribution. Verify that the package is either a *deb* or *rpm*, not *tgz*. Click the **Copy Link** text next to the **Download** button. - - 1. Download the file to your Linux system. In the command below, replace *[download-url]* with url you copied in the previous step. - - curl -O [download-url] - - 1. Install the package through your system's package manager. Replace *[filename]* with the name of the file you just downloaded. - - **apt (.deb)** (Ubuntu and Debian): - - sudo apt install ./[filename] - - **yum (.rpm)** (CentOS Stream, CentOS, AlmaLinux, Rocky Linux) - - sudo yum install -y [filename] - -## Export from the Source Database - -Exporting the data from the original database is facilitated through the [mongodump](https://www.mongodb.com/docs/database-tools/mongodump/) utility. The following commands create a BSON export of the contents of a specified database. Replace *[username]* with your database user, *[database-name]* with the name of your database, and *[host]* with the hostname/domain of your source database. - -- **Standalone cluster (single node)** - - mongodump --username=[username] --host=[host]:27017 --db=[database-name] --gzip --archive=database.archive - -- **High availability cluster (3 nodes)** - - When connecting to a high availability cluster, input each host (along with the port) separated by a comma. You must also replace *[replica-set]* with the replica set of your source database. - - mongodump --username=[username] --host=[replica-set]/[host1]:27017,[host2]:27017,[host3]:27017 --db=[database-name] --gzip --archive=database.archive - -{{< note >}} -If your source database is also a Linode Managed Database, add the following options to either of the above commands: `--authenticationDatabase=admin --ssl --sslCAFile=[certificate-file]`. Replace *[certificate-file]* with the filename and path of your CA Certificate. -{{< /note >}} - -See the [mongodump](https://www.mongodb.com/docs/database-tools/mongodump/) documentation to learn more about the [options](https://www.mongodb.com/docs/database-tools/mongodump/#options) available for this utility and to view common [examples](https://www.mongodb.com/docs/database-tools/mongodump/#examples). - -## Import to the Target Managed Database - -Once you've successfully backed up the source database, you can import your data into your Managed Database (the *target* database). To import the database, this guide covers the [mongorestore](https://www.mongodb.com/docs/database-tools/mongorestore/) utility, which is the counterpart to mongodump. It restores a BSON dump created by mongodump to a MongoDB database instance. In the below commands, replace *[database-name]* with the name of your database and replace *[host]* with the hostname of your Managed Database. - -- **Standalone cluster (single node)** - - mongorestore --username=linroot --host=[host]:27017 --nsInclude="[database-name].*" --ssl --sslCAFile=[certificate-file] --gzip --archive=database.archive - -- **High availability cluster (3 nodes)** - - When restoring to a high availability cluster, input each host (along with the port) separated by a comma. You must also replace *[replica-set]* with the replica set defined for your Managed Database and replace *[host1]*, *[host2]*, and *[host3]* with the hostnames of your Managed Database. - - mongorestore --username=linroot --host=[replica-set]/[host1]:27017,[host2]:27017,[host3]:27017 --nsInclude="[database-name].*" --ssl --sslCAFile=[certificate-file] --gzip --archive=database.archive - -This assumes your database backup file is called *database.archive* and is located in your current directory (as per previous steps in this guide). If you used a different filename or path for your backup, replace *database.archive* as needed in the above command. - -See the [mongorestore](https://www.mongodb.com/docs/database-tools/mongorestore/) documentation to learn more about the [options](https://www.mongodb.com/docs/database-tools/mongorestore/#options) available for this utility and to view common [examples](https://www.mongodb.com/docs/database-tools/mongorestore/#examples). \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-main.png b/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-main.png deleted file mode 100644 index 0538cfdb82f..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-main.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-new.png b/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-new.png deleted file mode 100644 index 37ed863bf52..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-new.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-ssl.png b/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-ssl.png deleted file mode 100644 index 911ba4d91b6..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mysql-connect/dbeaver-mysql-connection-ssl.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mysql-connect/index.md b/docs/products/databases/managed-databases/guides/mysql-connect/index.md deleted file mode 100644 index 1913e04c337..00000000000 --- a/docs/products/databases/managed-databases/guides/mysql-connect/index.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: "Connect to a MySQL Managed Database" -description: "Learn how to connect to a MySQL Managed Database through the command line or MySQL Workbench." -published: 2022-02-23 -modified: 2022-07-22 ---- - -{{% content "dbass-eos" %}} - -To connect to a MySQL Managed Database, you need to know a few important details, such as the username, password, and host (or IP). You'll also need a MySQL client. This guide details how to access your database using popular tools. - -## View Connection Details - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your Managed Database from the list. This opens the detail page for that database cluster. - -The *Connection Details* section contains information and credentials needed for you to connect to your database. - -- **Username:** The default user for all MySQL Managed Databases is `linroot`, which has superuser admin privileges. This replaces the `root` user, which is not accessible. -- **Password:** The randomly generated password for your database cluster. See [Reset Root Password](/docs/products/databases/managed-databases/guides/reset-root-password/) if you wish to change it. -- **Host:** The fully qualified domain name you can use to reach your database cluster through the public network. -- **Private network host:** The fully qualified domain name you can use to reach your database cluster through the data center's private network (not a VLAN). Communicating with a Database Cluster over the private network avoids network transfer fees, so it's recommended to use this host string when possible. -- **Port:** The default port for your database is `3306`. -- **SSL:** This field is set to `ENABLED`, which means that it is required to use an encrypted TLS/SSL connection. - -Under the *Connection Details* section, there is a **Download CA Certificate** link, which lets you download the CA (Certificate Authority) certificate. This certificate file can be used if you wish to verify the CA certificate when connecting to the database. - -## Connect Using MySQL (CLI) - -To connect direct to the database from a command-line, you can use the `mysql` tool. This tool is typically not available by default on most operating systems, but is included along with many MySQL clients (and servers) - -1. Make sure the IP address assigned to your system is included within your database's access controls. If not, add it now. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/). - -1. Verify that the `mysql` tool is installed on your system by running the following command: - - ```command - mysql --version - ``` - - If it is not installed, follow the steps for your operating system in the [Installing MySQL](/docs/guides/install-mysql/) guide. - -1. Use the `mysql` command below to connect to your database, replacing `[host]` and `[username]` with the corresponding values in the [Connection Details](#view-connection-details) section. - - ```command - mysql --host=[host] --user=[username] --password --ssl-mode=required - ``` - - If your system is using MariaDB instead of MySQL (such as when using the default packages in Debian's own repository), replace the `--ssl-mode=required` parameter with `--ssl=true`. - - {{< note >}} - If you are connecting to the *private network host*, ensure your Compute Instance is located within that same data center and you have added a Private IPv4 address to that instance. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address). - {{< /note >}} - -1. Enter your password at the prompt. - -Once you are connected successfully, the MySQL prompt appears and you can enter SQL queries. See [Introduction to SQL Commands](/docs/guides/sql-commands/) for examples. - -See [Using the MySQL Command Line Client](/docs/guides/mysql-command-line-client/) for more information or reference [Connecting to the MySQL Server Using Command Options](https://dev.mysql.com/doc/refman/8.0/en/connecting.html) within MySQL's own documentation. - -## Connect Using MySQL Workbench (GUI) - -The MySQL Workbench provides a graphical interface for connecting to MySQL databases. Using this tool, you can visualize your database, its structure, and the data it contains. - -1. Make sure the IP address assigned to your system is included within your database's access controls. If not, add it now. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/). - -1. Install the MySQL Workbench software from the [MySQL Community Downloads](https://dev.mysql.com/downloads/workbench/) page. Be sure to select the operating system you're using locally. - -1. Open the software and select **Database > Manage Connections** from the menu. This displays the **Manage Server Connections** window. - -1. Enter a **Connection Name** for this new connection. - -1. Under the *Parameters* tab, enter the details for your connection, including the **Hostname**, **Username**, and **Port**. You can optionally store your password by clicking the **Store in Keychain...** button and entering your password. If you do not store your password, you must enter it manually each time you connect. For security reasons, it's typically recommended *not* to store your password. - - ![The Parameters tab in MySQL Workbench](mysql-workbench-connection-parameters.png) - -1. Under the *SSL* tab, set **Use SSL** to *Require*. You may also use *Required and Verify CA* if you wish to verify the CA (Certificate Authority) certificate each time you connect. If you choose this option, download the CA certificate from Cloud Manager and set the **SSL CA File** field to point to that downloaded file. - - ![The SSL tab in MySQL Workbench](mysql-workbench-connection-ssl.png) - -1. Click **Test Connection** to verify you can successfully connect to the database and then click **Close** to store the connection settings and return to the main screen. - -1. To connect to the database, select **Database > Connect to Database** from the main menu. In the following screen, select the stored connection you just created and click **OK**. - -For instructions on using MySQL Workbench to interact with your database, see [Install MySQL Workbench for Database Administration](/docs/guides/deploy-mysql-workbench-for-database-administration/#creating-and-populating-databases) or look through the [MySQL Workbench Manual](https://dev.mysql.com/doc/workbench/en/). - -## Connect Using DBeaver - -[DBeaver](https://dbeaver.io/) is free and open source universal database tool for developers and database administrators. DBeaver provides a powerful SQL-editor, administration features, ability to migrate data and schema, monitor database connection sessions, and others. - -1. Make sure the IP address assigned to your system is included within your database's access controls. If not, add it now. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/). - -1. Install the DBeaver Community (or Pro) software from the [DBeaver Downloads](https://dbeaver.io/download/) page. Be sure to select the operating system you're using locally. - -1. Open DBeaver, click the **Database** menu dropdown, and select **New Connection**. - -1. The **Connect to a database** window appears. Select **MySQL** and click **Next** to continue. - - ![Screenshot of the DBeaver database selection screen with MySQL highlighted](dbeaver-mysql-connection-new.png) - -1. Within the *Main* tab, enter the details for your connection, including the **Server Host** (hostname) **Port**, and **Username**. You can optionally store your password by entering your password and clicking the **Save password locally** button. If you do not store your password, you must enter it manually each time you connect. For security reasons, it's typically recommended *not* to store your password. - - ![Screenshot of DBeaver's MySQL connection settings.](dbeaver-mysql-connection-main.png) - -1. In the *SSL* tab, check **Use SSL**, check **Require SSL**, and uncheck **Verify server certificate**. - - ![Screenshot of DBeaver's MySQL SSL connection settings.](dbeaver-mysql-connection-ssl.png) - -1. Click the **Test Connection** button to check if the connection is successful. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/mysql-connect/mysql-workbench-connection-parameters.png b/docs/products/databases/managed-databases/guides/mysql-connect/mysql-workbench-connection-parameters.png deleted file mode 100644 index 6a56a1a07ba..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mysql-connect/mysql-workbench-connection-parameters.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/mysql-connect/mysql-workbench-connection-ssl.png b/docs/products/databases/managed-databases/guides/mysql-connect/mysql-workbench-connection-ssl.png deleted file mode 100644 index 768c528bce2..00000000000 Binary files a/docs/products/databases/managed-databases/guides/mysql-connect/mysql-workbench-connection-ssl.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/postgresql-connect/dbeaver-postgresql-connection-details.png b/docs/products/databases/managed-databases/guides/postgresql-connect/dbeaver-postgresql-connection-details.png deleted file mode 100644 index 46d484ade7a..00000000000 Binary files a/docs/products/databases/managed-databases/guides/postgresql-connect/dbeaver-postgresql-connection-details.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/postgresql-connect/dbeaver-postgresql-connection-new.png b/docs/products/databases/managed-databases/guides/postgresql-connect/dbeaver-postgresql-connection-new.png deleted file mode 100644 index 82758bd7fa8..00000000000 Binary files a/docs/products/databases/managed-databases/guides/postgresql-connect/dbeaver-postgresql-connection-new.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/postgresql-connect/index.md b/docs/products/databases/managed-databases/guides/postgresql-connect/index.md deleted file mode 100644 index 9c4cef6b384..00000000000 --- a/docs/products/databases/managed-databases/guides/postgresql-connect/index.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: "Connect to a PostgreSQL Database" -description: "Learn how to connect to a PostgreSQL Managed Database through the command line or pgAdmin." -published: 2022-06-06 -modified: 2022-07-28 ---- - -{{% content "dbass-eos" %}} - -To connect to a PostgreSQL Managed Database, you need to know a few important details, such as the username, password, and host (or IP). You'll also need a PostgreSQL client. This guide details how to access your database using popular tools. - -## View Connection Details - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your PostgreSQL Managed Database from the list. This opens the detail page for that database cluster. - -The *Connection Details* section contains information and credentials needed for you to connect to your database. - -- **Username:** The default user for all PostgreSQL Managed Databases is `linpostgres`. This replaces the `root` user, which is not accessible. Superuser access is not available. - {{< note >}} - The `linpostgres` user and default `postgres` database should be used for administrative purposes only, you can create separate users and databases for application purposes. For more information about creating users and databases, see [Using PostgreSQL](/docs/guides/how-to-install-use-postgresql-ubuntu-20-04/#using-postgresql). - {{< /note >}} -- **Password:** The randomly generated password for your database cluster. See [Reset Root Password](/docs/products/databases/managed-databases/guides/reset-root-password/) if you wish to change it. -- **Host:** The fully qualified domain name you can use to reach your database cluster through the public network. -- **Private network host:** The fully qualified domain name you can use to reach your database cluster through the data center's private network (not a VLAN). Communicating with a Database Cluster over the private network avoids network transfer fees, so it's recommended to use this host string when possible. -- **Port:** The default port for your database is `5432`. -- **SSL:** This field is set to `ENABLED`, which means that it is required to use an encrypted TLS/SSL connection. - -Under the *Connection Details* section, there is a **Download CA Certificate** link, which lets you download the CA (Certificate Authority) certificate. This certificate file can be used if you wish to verify the CA certificate when connecting to the database. - -## Connect Using psql (CLI) - -To connect direct to the database from the command-line, you can use the `psql` tool. This tool is included as part of most PostgreSQL server installations, though you can also install it separately on most operating systems. - -1. Make sure the IP address assigned to your system is included within your database's access controls. If not, add it now. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/). - -1. Verify that the `psql` tool is installed on your system by running the following command: - - ```command - psql --version - ``` - - If it is not installed, follow the steps for your operating system under [Install psql](#install-psql). - -1. Use the `psql` command below to connect to your database, replacing `[host]` and `[username]` with the corresponding values in the [Connection Details](#view-connection-details) section. - - ```command - psql --host=[host] --username=[username] --password --dbname=postgres - ``` - - {{< note >}} - If you are connecting to the *private network host*, ensure your Compute Instance is located within that same data center and you have added a Private IPv4 address to that instance. See [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address). - {{< /note >}} - -1. Enter your password at the prompt. - -Once you are connected successfully, the PostgreSQL prompt appears and you can enter commands to interact with the database. See the [psql documentation](https://www.postgresql.org/docs/13/app-psql.html) to learn more about the command and the options available to you. - -### Install psql - -If you do not currently have the psql command-line client installed on your system, follow the instructions in this section to install it through your distribution's repositories. - -{{< note >}} -If you require a specific version of the PostgreSQL client, it's recommended to use the official PostgreSQL repositories instead of your distribution's. Visit [PostgreSQL Downloads](https://www.postgresql.org/download/), select your operating system (and distribution), and follow the corresponding installation instructions. -{{< /note >}} - -- **CentOS Stream 9 (and 8), CentOS/RHEL 8 (including AlmaLinux 8 and RockyLinux 8):** - - ```command - sudo dnf install postgresql - ``` - -- **CentOS/RHEL 7:** - - ```command - sudo yum install postgresql - ``` - -- **Fedora:** - - ```command - sudo dnf install postgresql - ``` - -- **Ubuntu and Debian:** - - ```command - sudo apt update - sudo apt install postgresql-client - ``` - -## Connect Using pgAdmin (GUI) - -pgAdmin is an open-source application that provides you with a graphical interface for interacting with your PostgreSQL database. It can be used on a server (through a web browser) or as a stand-alone desktop application. These instructions cover installing and using the desktop application. - -1. Download and install pgAdmin from the [pgAdmin Downloads](https://www.pgadmin.org/download/) page, making sure to select the appropriate file for your local operating system. - -1. The first time the application runs, you are prompted to configure a primary password (also called *master password*) that is used to unlock any saved passwords for database servers you may configure. - -1. Next, you are prompted to register a server (configuring a connection to a server). If you do not see this screen, click Object > Register > Server from the main menu. - -1. Under the *General* tab, set a name for your server. - - ![Screenshot of the General tab within the Register Server form](pgadmin-register-server-general.png) - -1. Under the *Connection* tab, configure the connection details for this server. To obtain this information, see [View Connection Details](#view-connection-details). - - ![Screenshot of the Connection tab within the Register Server form](pgadmin-register-server-connection.png) - -1. Under the *SSL* tab, you can leave **SSL Mode** as *Prefer* or explicitly set it to *Require*. You may also set it to *Verify-CA* if you wish to verify the CA (Certificate Authority) certificate each time you connect. If you choose this option, download the CA certificate from Cloud Manager and set the **Root Certificate** field to point to that downloaded file. - -1. Once all the settings have been appropriately configured, click the **Save** button to save the settings and attempt to connect. - - ![Screenshot of the browser window in pgAdmin 4](pgadmin-browser.png) - -## Connect Using DBeaver - -[DBeaver](https://dbeaver.io/) is free and open source universal database tool for developers and database administrators. DBeaver provides a powerful SQL-editor, administration features, ability to migrate data and schema, monitor database connection sessions, and others. - -1. Make sure the IP address assigned to your system is included within your database's access controls. If not, add it now. See [Manage Access Controls](/docs/products/databases/managed-databases/guides/manage-access-controls/). - -1. Install the DBeaver Community (or Pro) software from the [DBeaver Downloads](https://dbeaver.io/download/) page. Be sure to select the operating system you're using locally. - -1. Open DBeaver, click the **Database** menu dropdown, and select **New Connection**. - -1. The **Connect to a database** window appears. Select **PostgeSQL** and click **Next** to continue. - - ![Screenshot of the DBeaver database selection screen with MySQL highlighted](dbeaver-postgresql-connection-new.png) - -1. In the *Main* tab, enter the details for your connection, including the **Server Host** (hostname) **Port**, and **Username**. You can optionally store your password by entering your password and clicking the **Save password locally** button. If you do not store your password, you must enter it manually each time you connect. For security reasons, it's typically recommended *not* to store your password. - - ![Screenshot of the DBeaver PostgreSQL connection details window](dbeaver-postgresql-connection-details.png) - -1. Click the **Test Connection** button to check if the connection is successful. diff --git a/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-browser.png b/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-browser.png deleted file mode 100644 index 0af173f7f5e..00000000000 Binary files a/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-browser.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-register-server-connection.png b/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-register-server-connection.png deleted file mode 100644 index 0975a0b0df7..00000000000 Binary files a/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-register-server-connection.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-register-server-general.png b/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-register-server-general.png deleted file mode 100644 index 8cc5a5ae5db..00000000000 Binary files a/docs/products/databases/managed-databases/guides/postgresql-connect/pgadmin-register-server-general.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/postgresql-extensions/index.md b/docs/products/databases/managed-databases/guides/postgresql-extensions/index.md deleted file mode 100644 index afca4eb1c4a..00000000000 --- a/docs/products/databases/managed-databases/guides/postgresql-extensions/index.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: "PostgreSQL Extensions" -title_meta: "Using PostgreSQL Extensions with Managed Databases" -description: "Learn which PostgreSQL extensions are supported by Linode's Managed Database service and how to install them." -published: 2022-06-06 -modified: 2023-04-27 ---- - -{{% content "dbass-eos" %}} - -The functionality of PostgreSQL can be enhanced through the use of [extensions](https://wiki.postgresql.org/wiki/Extensions). Linode's PostgreSQL Managed Database service supports many of these extensions. - -## Manage Extensions - -Many extensions can be viewed, installed, and removed directly from the PostgreSQL command-line prompt. To access this prompt, connect to your database using the psql tool. See [Connect to a PostgreSQL Database > psql](/docs/products/databases/managed-databases/guides/postgresql-connect/#connect-using-psql-cli). - -### View Installed Extensions - -To view the extensions that are currently installed on your PostgreSQL Managed Database, run the `\dx` command at the prompt. The output should be similar to the following, displaying each extension along with its version number, schema, and a short description. - -```output - Name | Version | Schema | Description ----------------+---------+------------+-------------------------------- - plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language -``` - -### View Available Extensions - -To see a full list of all the extensions available for your version of PostgreSQL, run the following query. You can also review the [List of Available Extensions](#list-of-available-extensions) below. - -```command -SELECT * FROM pg_available_extensions; -``` - -{{< note type="alert" >}} -Linode does not provide superuser access to PostgreSQL Managed Databases. As such, some extensions may not function properly or may otherwise encounter permissions issues. -{{< /note >}} - -### Install an Extension - -To install one of the available extensions on your database, use the [CREATE EXTENSION](https://www.postgresql.org/docs/current/sql-createextension.html) command, replacing `[extension_name]` with the name of the extension you wish to install. - -```command -CREATE EXTENSION IF NOT EXISTS [extension_name]; -``` - -If this command does not work, the extension may either not be compatible or it may need to be manually enabled on your Managed Database by our team. Review the [extensions list](#list-of-available-extensions) below. - -### Remove an Extension - -To remove an extension, use the [DROP EXTENSION](https://www.postgresql.org/docs/current/sql-dropextension.html) command, replacing `[extension_name]` with the name of the extension you wish to install. - -```command -DROP EXTENSION [extension_name]; -``` - -## List of Available Extensions - -The table below lists all of the PostgreSQL extensions that may be supported by our Managed Database service, along with the compatible PostgreSQL versions. - -{{< note type="alert" >}} -Linode does not provide superuser access to PostgreSQL Managed Databases. As such, some extensions may not function properly or may otherwise encounter permissions issues. Extensions that are known not to work, such as `adminpack`, have been marked as incompatible in the list below. If you encounter an extension that isn't working as expected due to permissions issues, our team can review the extension. Reach out to [Support](https://www.linode.com/support/) with the extension name, the name of the database for which you wish to use the extension, and your use case. -{{< /note >}} - -| Extension | Compatible PostgreSQL Version(s) | Description | -| -- | -- | -- | -| `address_standardizer` | 11, 12, 13 | Used to parse an address into constituent elements. Generally used to support geocoding address normalization step. | -| `address_standardizer_data_us` | 11, 12, 13 | Example dataset for `address_standardizer`. | -| `adminpack` (**incompatible**) | 10, 11, 12, 13 | Administrative functions for PostgreSQL | -| `amcheck` | 10, 11, 12, 13 | Functions for verifying relation integrity | -| `amcheck_next`| 10, 11 | Functions for verifying relation integrity | -| `autoinc` | 10, 11, 12, 13 | Functions for auto incrementing fields | -| `bloom` | 10, 11, 12, 13 | Bloom access method - signature file based index | -| `btree_gin` | 10, 11, 12, 13 | Support for indexing common data types in GIN | -| `btree_gist` | 10, 11, 12, 13 | Support for indexing common data types in GiST | -| `chkpass` | 10 | Data type for auto-encrypted passwords | -| `citext` | 10, 11, 12, 13 | Data type for case-insensitive character strings | -| `cube` | 10, 11, 12, 13 | Data type for multidimensional cubes | -| `dblink` | 10, 11, 12, 13 | Connect to other PostgreSQL databases from within a database | -| `dict_int` | 10, 11, 12, 13 | Text search dictionary template for integers | -| `dict_xsyn` | 10, 11, 12, 13 | Text search dictionary template for extended synonym processing | -| `earthdistance` | 10, 11, 12, 13 | Calculate great-circle distances on the surface of the Earth | -| `file_fdw` | 10, 11, 12, 13 | Foreign-data wrapper for flat file access | -| `fuzzystrmatch`\* | 10, 11, 12, 13 | Determine similarities and distance between strings | -| `hll` | 10, 11, 12, 13 | Type for storing HyperLogLog data | -| `hstore` | 10, 11, 12, 13 | Data type for storing sets of (key, value) pairs | -| `hstore_plperl` | 10, 11, 12, 13 | Transform between `hstore` and `plperl` | -| `hstore_plperlu` | 10, 11, 12, 13 | Transform between `hstore` and `plperlu` | -| `hypopg` | 11, 12, 13 | Hypothetical indexes for PostgreSQL | -| `insert_username` | 10, 11, 12, 13 | Functions for tracking who changed a table | -| `intagg` | 10, 11, 12, 13 | Integer aggregator and enumerator (obsolete) | -| `intarray` | 10, 11, 12, 13 | Functions, operators, and index support for 1-D arrays of integers | -| `ip4r` | 10, 11, 12, 13 | | -| `isn` | 10, 11, 12, 13 | Data types for international product numbering standards | -| `jsonb_plperl` | 11, 12, 13 | Transform between `jsonb` and `plperl` | -| `jsonb_plperlu` | 11, 12, 13 | Transform between `jsonb` and `plperlu` | -| `lo` | 10, 11, 12, 13 | Large Object maintenance | -| `ltree` | 10, 11, 12, 13 | Data type for hierarchical tree-like structures | -| `moddatetime` | 10, 11, 12, 13 | Functions for tracking last modification time | -| `orafce` | 10, 11, 12, 13 | Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS | -| `pageinspect` | 10, 11, 12, 13 | Inspect the contents of database pages at a low level | -| `pg_buffercache` | 10, 11, 12, 13 | Examine the shared buffer cache | -| `pg_cron` | 11, 12, 13 | Job scheduler for PostgreSQL | -| `pg_freespacemap` | 10, 11, 12, 13 | Examine the free space map (FSM) | -| `pg_prewarm` | 10, 11, 12, 13 | Prewarm relation data | -| `pg_repack` | 10, 11, 12, 13 | Reorganize tables in PostgreSQL databases with minimal locks | -| `pg_stat_statements` | 10, 11, 12, 13 | Track execution statistics of all SQL statements executed | -| `pg_trgm` | 10, 11, 12, 13 | Text similarity measurement and index searching based on trigrams | -| `pg_visibility` | 10, 11, 12, 13 | Examine the visibility map (VM) and page-level visibility info | -| `pgaudit` (**incompatible**) | 10, 11, 12, 13 | Provides auditing functionality | -| `pgcrypto` | 10, 11, 12, 13 | Cryptographic functions | -| `pglogical` | 10, 11, 12, 13 | PostgreSQL Logical Replication | -| `pglogical_origin` | 10, 11, 12, 13 | Dummy extension for compatibility when upgrading from Postgres 9.4 | -| `pgrowlocks` | 10, 11, 12, 13 | Show row-level locking information | -| `pgstattuple` | 10, 11, 12, 13 | Show tuple-level statistics | -| `plpgsql` | 10, 11, 12, 13 | PL/pgSQL procedural language | -| `postgis`\* | 10, 11, 12, 13 | PostGIS geometry and geography spatial types and functions | -| `postgis_sfcgal` | 10, 11, 12, 13 | PostGIS SFCGAL functions | -| `postgis_tiger_geocoder` | 10, 11, 12, 13 | PostGIS tiger geocoder and reverse geocoder | -| `postgis_topology` | 10, 11, 12, 13 | PostGIS topology spatial types and functions | -| `postgres_fdw` | 10, 11, 12, 13 | Foreign-data wrapper for remote PostgreSQL servers | -| `prefix` | 10, 11, 12, 13 | Prefix Range module for PostgreSQL | -| `refint` | 10, 11, 12, 13 | Functions for implementing referential integrity (obsolete) | -| `seg` | 10, 11, 12, 13 | Data type for representing line segments or floating-point intervals | -| `sslinfo` | 10, 11, 12, 13 | Information about SSL certificates | -| `tablefunc` | 10, 11, 12, 13 | Functions that manipulate whole tables, including crosstab | -| `tcn` | 10, 11, 12, 13 | Triggered change notifications | -| `timescaledb` | 11, 12, 13 | Enables scalable inserts and complex queries for time-series data | -| `timetravel` | 10, 11 | Functions for implementing time travel | -| `tsm_system_rows` | 10, 11, 12, 13 | TABLESAMPLE method which accepts number of rows as a limit | -| `tsm_system_time` | 10, 11, 12, 13 | TABLESAMPLE method which accepts time in milliseconds as a limit | -| `unaccent` | 10, 11, 12, 13 | Text search dictionary that removes accents | -| `uuid-ossp` | 10, 11, 12, 13 | Generate universally unique identifiers (UUIDs) | -| `xml2` | 10, 11, 12, 13 | XPath querying and XSLT | - -*\* This extension may need to be manually enabled by our team. Contact [Support](https://www.linode.com/support/) with the name of the extension and the name of the Managed Database you wish to enable it on.* - -If you would like to use an extension that's not currently listed here, contact our [Support](https://www.linode.com/support/) team and they'll be able to send your feedback to our developers. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/postgresql-migrate/index.md b/docs/products/databases/managed-databases/guides/postgresql-migrate/index.md deleted file mode 100644 index ac3ae0ce078..00000000000 --- a/docs/products/databases/managed-databases/guides/postgresql-migrate/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "Migrate a PostgreSQL Database to a Managed Database" -description: "Learn how to migrate an existing PostgreSQL database to Linode's Managed Database service." -published: 2022-06-17 ---- - -{{% content "dbass-eos" %}} - -This guide covers how to migrate an existing PostgreSQL database to a Managed Database. When migrating a database, there are two important terms to keep in mind: the *source* database and the *target* database. - -- **Source database:** The original database running on a software, system, or machine that you wish to decommission. This could be PostgreSQL running within your own Linux server, a development database on your local machine, or even a cloud database. -- **Target database:** The new replacement database that you wish to use. For this guide, the target database will be a Managed Database running on Linode's platform. - -Your individual migration workflow could deviate from the instructions provided here. You may need to consult with your developers or your application's documentation to learn how to perform some of these steps and to gather any best practices. You should also perform the migration on a staging server first and/or during a time when downtime least affects your users and/or business. - -## Before You Begin - -- **Create a Managed Database:** To minimize downtime, make sure to create your Managed Database database cluster *before* continuing. This ensures that your database has been fully provisioned (which can take up to 30 minutes) and that you have the new database credentials available. See [Create a Managed Database](/docs/products/databases/managed-databases/guides/create-database/). - -- **Ensure that the PostgreSQL version on your new Managed Database is equal to or greater than the version on your source database cluster.** This guide uses the [pg_restore](https://www.postgresql.org/docs/current/app-pgrestore.html) utility, which cannot be used to import data into a PostgreSQL version *older* than on the source machine. - -## Export from the Source Database - -Exporting the data from the original database is facilitated through the [pg_dump](https://www.postgresql.org/docs/current/app-pgdump.html) and [pg_dumpall](https://www.postgresql.org/docs/current/app-pg-dumpall.html) utilities. The **pg_dump** tool saves a copy of a single database as a script file, while the **pg_dumpall** tool can save all databases as well as any [database roles](https://www.postgresql.org/docs/current/user-manag.html). - -1. **Export the database roles.** Replace *[user]* with the username for your source database. The default username for many PostgreSQL installations is `postgres`. - - ```command - pg_dumpall --roles-only --username=[user] --file=roles.backup - ``` - - If you are connecting to a remote database, add `--host [host]` and `--port [port]` to the command above, replacing *[host]* with the host url of your remote database and *[port]* with the port number. - - {{< note >}} - This step requires admin/superuser access to the PostgreSQL cluster. If you do not have this level of access and you still wish to preserve the existing roles, you can manually create the roles on your Managed Database though [SQL](https://www.postgresql.org/docs/current/sql-createrole.html) or the [`createuser`](https://www.postgresql.org/docs/current/app-createuser.html) functionality of psql. If you do not do this, all data will be owned by the `linpostgres` user once you import your data to your Managed Database cluster. - {{< /note >}} - -1. **Export each database you wish to backup.** Replace *[database-name]* with the name of your database and *[user]* with the username for your source database. The other options in this command are used to ensure maximum compatibility with Linode's PostgreSQL Managed Databases. - - ```command - pg_dump -Fd --quote-all-identifiers --verbose --lock-wait-timeout=480000 --no-unlogged-table-data --serializable-deferrable --jobs=1 --dbname [database-name] --username [user] --file database.backup - ``` - - Again, add `--host [host]` and `--port [port]` to the command above if you are connecting to a remote database. You can run this command for each database you wish to export, though you may want to edit the `--file` option with a custom filename. - -## Import to the Target Managed Database - -Once you've successfully backed up the source database, you can import your data into your Managed Database (the *target* database). To import the database, this guide covers the [pg_restore](https://www.postgresql.org/docs/current/app-pgrestore.html) utility. - -1. **Import your database roles to your Managed Database** using the psql command below. Replace *[host]*, and *[username]* with the corresponding values for your Managed Database. See [Connection Details](/docs/products/databases/managed-databases/guides/postgresql-connect/#view-connection-details). - - ```command - psql --host=[host] --username=[username] --dbname=postgres --file=roles.backup - ``` - - This assumes your database roles backup file is called *roles.backup* and is located in your current directory (as per previous steps in this guide). If you used a different filename or path for your backup, replace *roles.backup* as needed in the above command. - -1. **Create your database**, making sure that your preferred database name doesn't already exist. If it does, you can drop the database before creating it. In the commands below, replace *[database-name]* with the name of your database and *[host]* and *[username]* with the corresponding [Connection Details](/docs/products/databases/managed-databases/guides/postgresql-connect/#view-connection-details) for your Managed Database. - - ```command - psql --host=[host] --username=[username] --dbname=postgres --command='DROP DATABASE IF EXISTS [database-name];' - psql --host=[host] --username=[username] --dbname=postgres --command='CREATE DATABASE [database-name];' - ``` - - {{< note type="alert" >}} - Using `DROP DATABASE` command results in the deletion of any data stored on that database. If you are replacing an existing database and would like to avoid data loss, make sure you have a backup containing any data you would like to retain before running the command. - {{< /note >}} - -1. **Import your database file** to your newly created database. - - ```command - pg_restore --host=[host] --username=[user] --verbose --no-tablespaces --dbname=[database-name] database.backup - ``` - - This assumes your database backup file is called *database.backup* and located in your current directory (as per previous steps in this guide). If you used a different filename or path for your backup, replace *database.backup* as needed in the above command. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/reset-root-password/database-reset-root.png b/docs/products/databases/managed-databases/guides/reset-root-password/database-reset-root.png deleted file mode 100644 index d287b3813c0..00000000000 Binary files a/docs/products/databases/managed-databases/guides/reset-root-password/database-reset-root.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/reset-root-password/index.md b/docs/products/databases/managed-databases/guides/reset-root-password/index.md deleted file mode 100644 index 564e8d8d728..00000000000 --- a/docs/products/databases/managed-databases/guides/reset-root-password/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Reset the Root Password" -description: "Learn how to reset the root password on a Linode Managed Database." ---- - -{{% content "dbass-eos" %}} - -If you need to reset the root password on your Managed Database, you can do so through Cloud Manager. This process assigns a new randomly generated password to the `linroot` user. This is helpful when someone should no longer have access to that user or if you believe your password may have been compromised. - -{{< note type="alert" >}} -Resetting the root password will prevent you from restoring all previously taken backups. Ensure that you have offsite backups available if needed. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your Managed Database from the list. This opens the detail page for that database cluster. - -1. Navigate to the **Settings** tab. - -1. In the *Reset Root Password* section, click the **Reset Root Password** button. A confirmation dialog appears. - - ![Screenshot of the Reset Root Password section](database-reset-root.png) - -1. Click **Reset Password** to confirm. A new password will automatically be generated for this database cluster within a few minutes. To view the new password, navigate to the **Summary** tab and click the **Show** button next to the *password* field within the *Connection Details* section. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/updates-and-maintenance/index.md b/docs/products/databases/managed-databases/guides/updates-and-maintenance/index.md deleted file mode 100644 index 6a9e8410026..00000000000 --- a/docs/products/databases/managed-databases/guides/updates-and-maintenance/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: "Automatic Updates and Maintenance Windows" -description: "Managed databases are automatically updated on a weekly or monthly basis. Learn how to manage these maintenance windows in Cloud Manager" -modified: 2023-02-10 -date: 2022-04-15 ---- - -{{% content "dbass-eos" %}} - -As part of the Managed Database service, the database cluster is updated regularly. This includes security updates and patches for the underlying operating system. These updates occur on a user-configurable *maintenance window*. By default, the maintenance window is set to start *every week* on *Sunday* at *20:00 UTC* and lasts for 3 hours. - -{{< note type="warning" >}} -If your database cluster is configured with a single node, the cluster will experience downtime during this maintenance window when any updates occur. It's recommended that you adjust this window to match a time that is the least disruptive for your application and users. You may also want to consider upgrading to a high availability plan, which provides additional nodes and enables automatic failover between them. While the cluster may still experience a momentary loss of connectivity when a failover occurs, downtime is greatly reduced. -{{< /note >}} - -{{< note >}} -**The database software is not updated automatically.** To upgrade to a new version (such as from MySQL 5.7.30 or 8.0.25 to 8.0.26), consider deploying a new Managed Database with the version you wish to use. You can then [migrate your databases](/docs/products/databases/managed-databases/guides/migrate-mysql/) from the original Managed Database cluster to the new one. -{{< /note >}} - -## View and Modify the Maintenance Window - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select your Managed Database from the list. This opens the detail page for that database cluster. - -1. Navigate to the **Settings** tab. - -1. In the *Maintenance Window* section, you can view the day of the week the maintenance occurs, the time of day it starts, and if maintenance is performed on a weekly or monthly basis. - - ![Screenshot of the Maintenance Window in Cloud Manager](maintenance-window.png) - - - **Day of Week:** The day of the week that the maintenance will occur. The default is *Sunday*. - - **Time of Day (UTC):** The time of day (in UTC) the maintenance window will start. The default is *20:00 UTC (8 PM)*. The maintenance window lasts for 3 hours. - - **Weekly or Monthly:** Defines if the maintenance occurs once per week or once per month. The default is *Weekly*. If *Monthly* is selected, you can select if the maintenance should occur during the first, second, third, or fourth week of each month. - -1. To modify the maintenance window, make any changes you wish and click the **Save Changes** button. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/updates-and-maintenance/maintenance-window.png b/docs/products/databases/managed-databases/guides/updates-and-maintenance/maintenance-window.png deleted file mode 100644 index 036b0d94c74..00000000000 Binary files a/docs/products/databases/managed-databases/guides/updates-and-maintenance/maintenance-window.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/upscale-database/index.md b/docs/products/databases/managed-databases/guides/upscale-database/index.md deleted file mode 100644 index c66953b7a5b..00000000000 --- a/docs/products/databases/managed-databases/guides/upscale-database/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Resize A Database Cluster" -description: "Learn how to resize your database cluster." -published: 2024-04-09 ---- - -{{% content "dbass-eos" %}} - -You can upscale database clusters to adapt them to your needs. Clusters can’t be downscaled. - -{{< note type="alert" >}} -This operation causes downtime for the resized node clusters. - -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Databases** from the left navigation menu. - -1. Select a database cluster from the list. - -1. Navigate to the **Resize** tab. - -1. In the *Choose a plan* section, select a new plan for your database cluster. - - ![Screenshot of Choose a plan section](upscale-plan.png) - -1. In the *Summary* section, verify the changes. Click **Resize Database Cluster**. - -1. Follow the on-screen instructions and click **Resize Cluster** to confirm. The cluster will be upscaled within two hours. \ No newline at end of file diff --git a/docs/products/databases/managed-databases/guides/upscale-database/upscale-plan.png b/docs/products/databases/managed-databases/guides/upscale-database/upscale-plan.png deleted file mode 100644 index cf9b7b07750..00000000000 Binary files a/docs/products/databases/managed-databases/guides/upscale-database/upscale-plan.png and /dev/null differ diff --git a/docs/products/databases/managed-databases/guides/use-cases/index.md b/docs/products/databases/managed-databases/guides/use-cases/index.md deleted file mode 100644 index 5f007d50ed8..00000000000 --- a/docs/products/databases/managed-databases/guides/use-cases/index.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: "Use Cases for Managed Databases" -description: "Learn about the many benefits and use cases for Managed Database, including disaster recover, cost reduction, and rapid deployment." ---- - -{{% content "dbass-eos" %}} - -Managed Databases is Linode's own Database-as-a-Service (DBaaS) platform. These types of database services allow organizations to offload their database infrastructure and management so they can focus on their own applications and services. This guide discusses the use cases and benefits for Managed Databases. - -## Cost Reduction - -Hosting your own database on-premise (or on your own custom cloud architecture) can require you to dedicate a significant budget and lots of IT resources towards its implementation and operation. Offloading this to a dedicated DBaaS solution like Managed Databases has the potential to significantly lower the cost and reduce the complexity. This lets you focus on your business - not your computing infrastructure. - -## Rapid Deployment - -It's often necessary to create short-lived databases quickly and securely. You may want to do this for development, disaster recovery (discussed below), ephemeral applications, traffic management, and much more. Managed Databases makes this process incredibly efficient, allowing you to create databases quickly using Cloud Manager or programmatically through the Linode API. - -## Disaster Recovery - -Every organization should have a comprehensive disaster recovery plan in place to safeguard their data. Every Managed Database provides daily backups that are retained for 7 days and can be restored through a click of a button. This provides an additional layer of data protection on top of your existing strategy. In addition, since Managed Databases can be provisioned quickly, you're able to use this service as part of a disaster recovery plan for on-premise or self-hosted databases. - -## High Availability - -Most production applications would greatly benefit from the redundancy and extreme uptime that high availability solutions offer. Managed Databases, when configured with 3 nodes, provides built-in data replication, redundancy, and automatic failover. This ensures downtime is significantly minimized and applications are always available. - -## Reasons to Consider Manged Databases - -**Types of organizations that benefit from Managed Databases:** - -- Organizations that have limited IT resources -- Organizations that want to save cost and reduce complexity -- Organizations that need to minimize any potential for downtime -- Organizations that want to extend their disaster recovery plans -- Organizations that need to rapidly deploy secure databases - -**Types of applications that benefit from Managed Databases:** - -- Databases that require always-on 24/7 access -- Databases that store critical data -- Financial industry applications, such as banking and trading -- Voice and Communications platforms -- E-commerce applications \ No newline at end of file diff --git a/docs/products/databases/managed-databases/resources/index.md b/docs/products/databases/managed-databases/resources/index.md deleted file mode 100644 index b8d56eefbbd..00000000000 --- a/docs/products/databases/managed-databases/resources/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Resources -description: "Resources and other information related to Managed Databases including videos, blog posts, community posts, and press releases." -tab_group_main: - weight: 40 ---- - -{{% content "dbass-eos" %}} - -## Blog Posts - -- [Popular Databases for Building Modern Linux Applications](https://www.linode.com/blog/databases/popular-databases-for-building-modern-linux-applications/) - -- [Choosing a Database: MySQL or PostgreSQL](https://www.linode.com/blog/databases/choosing-a-database-mysql-or-postgresql/) - -## External Resources - -- [What is MySQL?](https://dev.mysql.com/doc/refman/8.0/en/what-is-mysql.html) (from MySQL's documentation) - -- [About PostgreSQL](https://www.postgresql.org/about/) (from the PostgreSQL website) \ No newline at end of file diff --git a/docs/products/networking/_index.md b/docs/products/networking/_index.md deleted file mode 100644 index 2d01855f607..00000000000 --- a/docs/products/networking/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Networking -title_meta: Networking Products and Services -description: "Linode offers robust networking tools that allow you to secure your network, balance traffic, and control your infrastructure." ---- diff --git a/docs/products/networking/cloud-firewall/_index.md b/docs/products/networking/cloud-firewall/_index.md deleted file mode 100644 index aeed9dff993..00000000000 --- a/docs/products/networking/cloud-firewall/_index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Cloud Firewall -title_meta: "Cloud Firewall Product Documentation" -description: "Linode Cloud Firewall offers a simple interface to protect your web apps. It is scalable security in seconds, allowing you to create custom firewall rules, making security more accessible." -modified: 2023-11-01 -bundles: ['debian-security', 'centos-security', 'network-security'] -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-11-10 - product_description: "A free cloud-based firewall service that makes it easy to secure network traffic." -aliases: ['/guides/platform/cloud-firewall/','/platform/cloud-firewall/'] ---- - -Linode’s Cloud Firewall service is a robust cloud-based firewall solution available at no additional charge for Linode customers. Through this service, you can create, configure, and add stateful network-based firewalls to Linode Compute Instances and NodeBalancers. - -## Enhanced Security - -A Cloud Firewall sits between a service (Compute Instance or NodeBalancer) and the Internet and can be configured to filter out unwanted network traffic before it even reaches your server. Defend your apps and services from malicious attackers by creating rules to only allow traffic from trusted sources. Firewall rules can filter traffic at the network layer, providing fine-grained control over who can access your servers. - -## Simple Interface - -Control inbound and outbound traffic using the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary), [Linode CLI](/docs/products/tools/cli/get-started/) or [Cloud Manager](https://www.linode.com/products/cloud-manager/). Each interface can be integrated into your workflow for seamless control over firewall rules. The Cloud Firewall service makes security more accessible and enables you to secure your network traffic without needing to learn complicated software or access the command line. - -## Scalable Security in Seconds - -Stay protected as your network grows. Effortlessly apply the same ruleset across multiple Compute Instances and NodeBalancers. This saves time as you no longer need to manually configure internal software on each server. - -## Pricing and Availability - -Cloud Firewalls are available at no charge across [all regions](https://www.linode.com/global-infrastructure/). - -## Limits and Considerations - -- Cloud Firewalls are **compatible with Linode Compute Instances and NodeBalancers**. They are not currently directly supported on other Linode services, such as Object Storage. -- A Cloud Firewall can be attached to multiple services (Compute Instances or NodeBalancers), but a service can only be attached to one *active* (enabled) Cloud Firewall at a time. -- A Cloud Firewall’s inbound and outbound rules are applied to Compute Instances, but only inbound rules are applied to NodeBalancers. -- When used in conjunction with NodeBalancers, a Cloud Firewall’s inbound rules only apply to the NodeBalancer's public IP, not the IPs of the back-end nodes. This means you may also want to add individual back-end nodes to a Cloud Firewall to protect any additional exposed IP addresses. -- Cloud Firewall rules are applied to traffic over the public and private network but are not applied to traffic over a private [VLAN](/docs/products/networking/vlans/). -- A maximum of **25 rules** can be added to each Cloud Firewall (both Inbound and Outbound rules combined). -- A maximum of **255 IP addresses (and ranges)** can be added to each Cloud Firewall rule. -- All **IP addresses** and **IP Ranges** must be formatted correctly, or changes will be unable to be saved. -- A maximum of **15 ports (and port ranges)** can be defined on each Cloud Firewall rule. diff --git a/docs/products/networking/cloud-firewall/_shortguides/cloud-firewall-shortguide/index.md b/docs/products/networking/cloud-firewall/_shortguides/cloud-firewall-shortguide/index.md deleted file mode 100644 index 999230ad336..00000000000 --- a/docs/products/networking/cloud-firewall/_shortguides/cloud-firewall-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Outlines our Cloud Firewall product, which can be plugged into any guide calling for a firewall. - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -Linode's free [Cloud Firewall](https://www.linode.com/products/cloud-firewall/) service can be used to replace or supplement internal firewall configuration. For more information on Cloud Firewalls, see our [Getting Started with Cloud Firewalls](/docs/products/networking/cloud-firewall/get-started/) guide. For help with solving general firewall issues, see the [Troubleshooting Firewalls](/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/) guide. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/developers/index.md b/docs/products/networking/cloud-firewall/developers/index.md deleted file mode 100644 index 0e54a3f5aeb..00000000000 --- a/docs/products/networking/cloud-firewall/developers/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Cloud Firewalls" -description: "Linode Cloud Firewalls are easily managed with developer tools like the Linode API and CLI." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -The Cloud Firewall endpoints: - -- [Firewalls List](https://techdocs.akamai.com/linode-api/reference/api-summary#firewalls-list) -- [Firewall Create](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-create) -- [Firewall Delete](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-delete) -- [Firewall View](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-view) -- [Firewall Update](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-update) -- [Firewall Devices List](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-devices-list) -- [Firewall Device Delete](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-device-delete) -- [Firewall Device View](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-device-view) -- [Firewall Rules List](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-rules-list) -- [Firewall Rules Update](https://techdocs.akamai.com/linode-api/reference/api-summary#firewall-rules-update) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. [Learn how to use the Linode CLI](/docs/products/tools/cli/get-started/). diff --git a/docs/products/networking/cloud-firewall/feature.svg b/docs/products/networking/cloud-firewall/feature.svg deleted file mode 100644 index c31fd829886..00000000000 --- a/docs/products/networking/cloud-firewall/feature.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/products/networking/cloud-firewall/get-started/index.md b/docs/products/networking/cloud-firewall/get-started/index.md deleted file mode 100644 index 14ded3cfbd7..00000000000 --- a/docs/products/networking/cloud-firewall/get-started/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Cloud Firewalls" -description: "Get started with Linode Cloud Firewall. Learn to add a Cloud Firewall, assign a Cloud Firewall to a Linode, add and edit rules, update your Cloud Firewall status, and delete a Cloud Firewall." -modified: 2023-11-01 -tab_group_main: - weight: 20 -aliases: ['/platform/cloud-firewall/getting-started-with-cloud-firewall/','/guides/getting-started-with-cloud-firewall/'] -keywords: ["firewall", "cloud firewall", "security", "securing"] -tags: ["cloud manager","linode platform","security","networking"] ---- - -Linode’s free Cloud Firewall service can be used to create, configure, and add stateful network-based firewalls to Linode services. A Cloud Firewall is independent of the service it is attached to and can be applied to multiple services. Cloud Firewalls are compatible with Linode Compute Instances and NodeBalancers. - -## Create a Cloud Firewall - -There are two main options to consider when deciding how to protect your Linode Compute Instances: installing firewall software on your system or using Linode's Cloud Firewall service. While both are robust solutions, a major benefit to using Cloud Firewalls is the ease of configuration. Cloud Firewalls can be created and managed through Cloud Manager, Linode CLI, or Linode API. - -- [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) - -- [Comparing Cloud Firewalls to Linux Firewall Software](/docs/products/networking/cloud-firewall/guides/comparing-firewalls/) - -{{< note >}} -NodeBalancers do not support the installation of firewall software. If you wish to configure inbound firewall rules for your NodeBalancer, we recommend using the Cloud Firewall service. -{{< /note >}} - -## Manage Firewall Rules - -A Cloud Firewall analyzes traffic against a set of user-defined rules. The firewall can be configured to implicitly *accept* or *drop* all *inbound* or *outbound* traffic. Individual rules can be added to further accept or drop specific traffic, such as over certain ports or to/from a certain IP address. - -- [Manage Cloud Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/) - -{{< note >}} -Outbound firewall rules are not applied to NodeBalancers. -{{< /note >}} - -## Apply to Compute Instances - -To start using a Cloud Firewall to protect your services, you can apply it to Compute Instances or NodeBalancers. Each Cloud Firewall can be applied to multiple services, but a service can only belong to a single Cloud Firewall. - -- [Apply a Cloud Firewall to a Service](/docs/products/networking/cloud-firewall/guides/apply-to-service/) \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/guides/_index.md b/docs/products/networking/cloud-firewall/guides/_index.md deleted file mode 100644 index 87c7016dac3..00000000000 --- a/docs/products/networking/cloud-firewall/guides/_index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Cloud Firewalls" -description: "A collection of product guides to help you deploy and manage Cloud Firewalls." -tab_group_main: - weight: 30 ---- - -## Basics - -- [Get Started with Cloud Firewalls](/docs/products/networking/cloud-firewall/get-started/): Learn how to start using Cloud Firewalls. - -- [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/): Learn how to deploy Linode's Cloud Firewall service. - -- [Manage Cloud Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/): Define rules to accept or drop traffic. - -- [Apply a Cloud Firewall to a Compute Instance](/docs/products/networking/cloud-firewall/guides/apply-to-service/): Add (and remove) Compute Instances to your Cloud Firewalls. - -- [Enable or Disable a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/update-status/): Configure the status of a Cloud Firewall. - -- [Delete a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/delete-firewall/): Remove a Cloud Firewall and its rules. - -## Going Further - -- [Comparing Cloud Firewalls to Linux Firewall Software](/docs/products/networking/cloud-firewall/guides/comparing-firewalls/): Learn which firewall solution may work best for your use case. - -- [Troubleshooting Firewalls](/docs/products/compute/compute-instances/guides/troubleshooting-firewall-issues/): Information on troubleshooting any firewall service. diff --git a/docs/products/networking/cloud-firewall/guides/apply-to-service/compute-instances-attached-to-firewall.jpg b/docs/products/networking/cloud-firewall/guides/apply-to-service/compute-instances-attached-to-firewall.jpg deleted file mode 100644 index b8ce2b074e1..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/apply-to-service/compute-instances-attached-to-firewall.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/apply-to-service/compute-instances-attached-to-firewall.png b/docs/products/networking/cloud-firewall/guides/apply-to-service/compute-instances-attached-to-firewall.png deleted file mode 100644 index cdcb72bf692..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/apply-to-service/compute-instances-attached-to-firewall.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/apply-to-service/index.md b/docs/products/networking/cloud-firewall/guides/apply-to-service/index.md deleted file mode 100644 index 61bc3532090..00000000000 --- a/docs/products/networking/cloud-firewall/guides/apply-to-service/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Apply Firewall Rules to a Service" -description: "Learn how to add and remove services from Cloud Firewalls." -modified: 2023-11-01 -aliases: ['/products/networking/cloud-firewall/guides/assign-firewall/', '/products/networking/cloud-firewall/guides/apply-to-compute-instances/'] ---- - -Each Cloud Firewall can be applied to multiple services (Compute Instances or NodeBalancers). Use the steps below to view and modify the services utilizing a Cloud Firewall. - -1. Log into your [Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. - -1. From the **Firewalls** listing page, click on the Cloud Firewall that you would like to use. This takes you to the **Rules** page for that Firewall. - -1. Click either the **Linodes** or **NodeBalancers** tab to see a list of the respective services currently using the Cloud Firewall. - -![Screenshot of the list of Compute Instances attached to the Cloud Firewall](compute-instances-attached-to-firewall.jpg) - -## Add a Service - -To add a service to this firewall, select either the **Linodes** or **NodeBalancers** tab, and click on the **Add Linodes/NodeBalancers to Firewall** button. In the form that appears, select the desired service from the dropdown menu and click **Add**. Once added, all rules configured on the Cloud Firewall are applied to the selected service. Note that only inbound rules are applied to NodeBalancers. - -{{< note >}} -You can apply the Cloud Firewall to more than one Linode service at a time. Repeat this process to add additional Compute Instances or NodeBalancers. -{{< /note >}} - -{{< note type="alert" >}} -If [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) has been disabled on your Compute Instance and the internal networking configuration uses DHCP for IPv4 address assignment, some additional firewall rules are necessary. You must edit the Cloud Firewall to allow DHCP traffic through port 67 and 68. If needed, a full list of IP addresses for our DHCP servers can be found in our [DHCP IP Address Reference Guide](/docs/products/compute/compute-instances/guides/dhcp-ip-address-reference/). -{{< /note >}} - -## Remove a Service - -To remove a Compute Instance or NodeBalancer, locate the service within the list and click the **Remove** link. Once removed, the rules configured on the Cloud Firewall are no longer applied to the service and, as such, the service may be less protected against malicious traffic or attacks. \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/guides/comparing-firewalls/index.md b/docs/products/networking/cloud-firewall/guides/comparing-firewalls/index.md deleted file mode 100644 index 4a6cf6da825..00000000000 --- a/docs/products/networking/cloud-firewall/guides/comparing-firewalls/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Comparing Cloud Firewalls to Linux Firewall Software -description: "" -modified: 2023-11-01 ---- - -With the addition of Linode’s Cloud Firewall solution, there are now two primary ways to control network traffic on a Linode Compute Instance: through a Cloud Firewall or locally installed firewall software. While both are robust solutions, there may be certain cases in which you choose to use one over the other. More often than not, both solutions should be used in tandem. - -{{< note >}} -Inbound and outbound rules configured through Linode’s Cloud Firewall are applied to Compute Instances, but only inbound rules apply to NodeBalancers. - -Additionally, NodeBalancers do not support installation of third-party firewall software. If you need to manage inbound traffic rules for a NodeBalancer, we recommend using the Cloud Firewall service. -{{< /note >}} - -## Cloud Firewalls - -Linode’s free Cloud Firewall service is a powerful firewall solution that operates between your Linode services and the Internet. It provides an easy to use interface for filtering out unwanted network traffic. Through this service, you can create, configure, and add stateful network-based firewalls to any Linode Compute Instance or NodeBalancer. - -- **Cost:** Free -- **Interface:** Cloud Manager (graphic user interface), the Linode CLI (command-line interface), and the Linode API (application programming interface). -- **Ease of use:** Relatively easy to configure using tools Linode customers may already be familiar with. -- **Advanced configurability:** Supports many common firewall rules, but does not support all configuration options available on software-based solutions like nftables. -- **Ideal use cases:** - - Users wanting to conveniently configure firewalls using familiar Linode tooling. - - Cascading rules over multiple servers simultaneously. - - Automatically generating rules through software compatible with the Linode API (such as integrating directly with your existing custom software). - - Users wanting to configure inbound firewall rules for NodeBalancers. - -{{< note >}} -If you choose to manage inbound firewall rules for NodeBalancers using Cloud Firewalls, you still need to protect any back-end nodes (Compute Instances) configured to the NodeBalancer. The Cloud Firewall only filters incoming traffic to the NodeBalancer’s public IP and not the IPs of the individual instances unless they are also added to the Cloud Firewall. - -You can protect your back-end nodes by either assigning the individual nodes to a Cloud Firewall (the same as your NodeBalancer or a new one) or by manually configuring firewalls internally on the instances themselves. -{{< /note >}} - -## Firewall Software - -*(Including nftables, iptables, ufw, and firewalld)* - -The standard firewall software available on most modern Linux distributions is *nftables*, which replaces the older *iptables* software. Both of these utilities are packet filtering frameworks that integrate with the Linux kernel. These software solutions are configured through the command line. Their syntax is quite different from one another and formulating rules can be complicated for beginners. To make these utilities more user friendly, many distributions employ an easy to use front-end tool. These include *UFW* (Uncomplicated Firewall) on Ubuntu and Debian and *firewalld* on CentOS and RHEL derivatives. - -- **Cost:** Free -- **Interface:** Command-line interface tools -- **Ease of use:** More difficult since a command-line is required and rule syntax can be quite complex, especially when working directly with *nftables* or *iptables*. -- **Advanced configurability:** Offers more comprehensive configuration for complex rules. -- **Ideal use cases:** - - Users comfortable with both the command-line and the software's syntax. - - Creating complex firewall rules. - - Automatically generating rules through software like [*fail2ban*](https://www.fail2ban.org/wiki/index.php/Main_Page). - - -## Deciding Which Option to Use - -When deciding on which firewall solution to use, consider your unique needs and the requirements for your application. - -- **Familiarity:** A major reason you may decide to use one option over another is your own comfort level with the tools and interfaces need to configure each firewall. If you're more familiar with Linode's own tooling (such as Cloud Manager or CLI), the Cloud Firewall service may be easier for you to quickly configure. If you're more familiar with nftables or front-end software like *UFW*, you may want to stick to your existing tools and workflow. Consider your entire team's familiarity with the tooling, not just yours. - -- **Configuration options:** While each solution is quite robust, using *nftables* allows for the creation of the most complex rules and provides absolute control of the firewall. That said, Cloud Firewalls are generally easier to configure and can be applied to multiple Linode services. This lets you quickly add or modify firewall rules across multiple Compute Instances simultaneously. - -- **Automation possibilities:** Some Linux software products already integrate directly with nftables and can automatically create firewall rules. Perhaps the most commonly used example of this is [*fail2ban*](https://www.fail2ban.org/wiki/index.php/Main_Page), which can automatically create firewall rules to permanently or temporarily ban suspicious traffic. If you are configuring your own software, you may find it easier to integrate with the Linode API and use Cloud Firewalls instead of integrating directly with software-based firewalls. - -## Combining Both Solutions - -While Cloud Firewalls and local firewall software are separate tools, they can often be used together to combine their strengths and create an even more powerful firewall solution. - -Consider using Cloud Firewalls to provide a line of defense *before* traffic even reaches your server. It is very user friendly and can quickly cascade rules over multiple different Linode Compute Instances. Consider using Firewall software like *nftables* when you need to create complex rules and want to integrate your firewall with existing software like *fail2ban*. - -{{< note >}} -When using both solutions together, consider when each rule will be processed on incoming and outgoing traffic. **For inbound traffic, Cloud Firewall rules are processed first. For outbound traffic, local firewall rules are processed first.** -{{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/create-firewall.jpg b/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/create-firewall.jpg deleted file mode 100644 index 03cd4fc0b24..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/create-firewall.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/create-firewall.png b/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/create-firewall.png deleted file mode 100644 index aed6ada6582..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/create-firewall.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/index.md b/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/index.md deleted file mode 100644 index 32c177b9bb9..00000000000 --- a/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Create a Cloud Firewall" -description: "How to add a Linode Cloud Firewall." -modified: 2023-11-01 -aliases: ['/products/networking/cloud-firewall/guides/add-firewall/'] ---- - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. - -1. From the **Firewalls** listing page, click on the **Create Firewall** link. - -1. The **Create Firewall** drawer appears with the configuration options needed to add a Firewall. Configure your Firewall with at minimum the required fields: - - | **Configuration** | **Description** | - | --------------- | --------------- | - | **Label** | The label is used as an identifier for this Cloud Firewall. *Required*. | - | **Linodes**| The Linode(s) on which to apply the Firewall. A list of all Linodes on your account are visible. You can skip this configuration if you do not yet wish to apply the Firewall to a Linode. | - | **NodeBalancers** | The NodeBalancer(s) on which to apply the Firewall. A list of all NodeBalancers on your account are visible. You may skip this configuration if you do not yet wish to apply the Firewall to a NodeBalancer. Note that outbound firewall rules do not apply to NodeBalancers. | - - -1. Click on the ****Create Firewall**** button to finish creating your Cloud Firewall. By default, a new Cloud Firewall accepts all inbound and outbound connections. Custom rules can be added as needed. See [Add New Cloud Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). - - ![Click on the Create button to create your Firewall.](create-firewall.jpg "Click on the Create button to create your Firewall.") - -{{< note >}} -If you add a Cloud Firewall to a NodeBalancer, the inbound rules only apply to NodeBalancer’s public IP address and not the IPs of the back-end nodes (Compute Instances) assigned to the NodeBalancer. This means that the IPs of the back-end nodes may still be exposed to the public internet. As a best practice, you can protect the IPs of the individual Compute Instances by: -- Adding the individual instances to the same Cloud Firewall as the NodeBalancer -- Adding the individual instances to a new Cloud Firewall -- Manually configuring internal firewall rules on the instances - -See [Comparing Cloud Firewalls to Linux Firewall Software](/docs/products/networking/cloud-firewall/guides/comparing-firewalls/) to help determine which solution is best for your use case. -{{< /note >}} diff --git a/docs/products/networking/cloud-firewall/guides/delete-firewall/delete-your-firewall.jpg b/docs/products/networking/cloud-firewall/guides/delete-firewall/delete-your-firewall.jpg deleted file mode 100644 index 7a8577cdfa3..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/delete-firewall/delete-your-firewall.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/delete-firewall/delete-your-firewall.png b/docs/products/networking/cloud-firewall/guides/delete-firewall/delete-your-firewall.png deleted file mode 100644 index ee9e5a43e7b..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/delete-firewall/delete-your-firewall.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/delete-firewall/index.md b/docs/products/networking/cloud-firewall/guides/delete-firewall/index.md deleted file mode 100644 index a1675ae71b4..00000000000 --- a/docs/products/networking/cloud-firewall/guides/delete-firewall/index.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Delete a Cloud Firewall -description: "How to delete a Linode Cloud Firewall." -modified: 2023-12-12 - ---- - -1. Log into your [Linode Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. This takes you to the **Firewalls** listing page. - -1. Click on the **Delete** button next to the corresponding Firewall you would like to delete. You are prompted to confirm deletion of the Firewall. Click **Delete** to proceed. - - ![Click on the delete button to delete your Firewall.](delete-your-firewall.jpg "Click on the delete button to delete your Firewall.") - - The Firewall is deleted and any services that the Firewall was applied to no longer have their network traffic filtered by the Firewall. \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-a-new-rule.jpg b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-a-new-rule.jpg deleted file mode 100644 index 3bd0923ec46..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-a-new-rule.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-a-new-rule.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-a-new-rule.png deleted file mode 100644 index ed1a48f41e1..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-a-new-rule.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-an-inbound-rule-firewall.jpg b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-an-inbound-rule-firewall.jpg deleted file mode 100644 index 8d5a8afccc0..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-an-inbound-rule-firewall.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-an-inbound-rule-firewall.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-an-inbound-rule-firewall.png deleted file mode 100644 index 58936dbe540..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/add-an-inbound-rule-firewall.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-default-policies.jpg b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-default-policies.jpg deleted file mode 100644 index c70f07de05c..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-default-policies.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-default-policies.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-default-policies.png deleted file mode 100644 index ecf79369c98..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-default-policies.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-firewall-rule.jpg b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-firewall-rule.jpg deleted file mode 100644 index af42b935641..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-firewall-rule.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-firewall-rule.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-firewall-rule.png deleted file mode 100644 index 9f14e4461d5..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/edit-firewall-rule.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/index.md b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/index.md deleted file mode 100644 index b1e90b10557..00000000000 --- a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/index.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: "Manage Firewall Rules" -description: "How to add rules to a Linode Cloud Firewall." -published: 2020-11-10 -modified: 2023-11-01 -aliases: ['/products/networking/cloud-firewall/guides/add-rules/','/products/networking/cloud-firewall/guides/edit-rules/','/products/networking/cloud-firewall/guides/delete-rules/'] ---- - -A Cloud Firewall can be configured with both *Inbound* and *Outbound* rules. - -- **Inbound rules** limit incoming network connections to a Linode service based on the port(s) and sources you configure. - -- **Outbound rules** limit the outgoing network connections coming from a Linode service based on the port(s) and destinations you configure. - -{{< note >}} -Inbound and outbound rules are applied to Compute Instances. Only inbound rules are applied to NodeBalancers. -{{< /note >}} - -## Predefined Rules - -The Linode Cloud Manager provides a list of *predefined rules* that you can add to your Cloud Firewall. The predefined rules support common networking use cases and provide an easy foundation to get started with Cloud Firewalls. Since you can edit any rule applied to a Cloud Firewall, you can modify a predefined rule to accommodate your own applications and requirements. - -## View Rules - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. - -1. From the **Firewalls** listing page, click on the Cloud Firewall that you would like to view or modify. - -Rules are separated into *Inbound* and *Outbound* rule sections. - -## Add a Rule - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. - -1. From the **Firewalls** listing page, click on the Firewall that you would like to add new rules to. This takes you to the Firewall's **Rules** page. - -1. On the **Rules** page, select the default behavior for both inbound and outbound traffic using the **Inbound Policy** and **Outbound Policy** dropdown menus. **Accept** will allow all traffic except for those defined in the listed rules, and **Drop** will drop or deny all traffic except for those defined in the rules. - - ![Default policy selection.](edit-default-policies.jpg "Click on the Add an Inbound/Outbound Rule link.") - -1. Click on the **Add an Inbound/Outbound Rule** link (click on the appropriate link for the type of Rule you would like to add). - - ![Click on the Add an Inbound/Outbound Rule link.](add-a-new-rule.jpg "Click on the Add an Inbound/Outbound Rule link.") - - The **Add an Inbound/Outbound Rule** drawer appears. - -1. Provide the following Rule configurations: - - | **Configuration** | **Description** | - | --------------- | --------------- | - | **Preset** | Select from a list of optional predefined Firewall rules. Selecting a predefined rule fills in the remaining rule configuration values, however, they can all be edited. *Optional.*| - | **Label** | A label for the rule being created. This is used only as an identifier for the Linode Account holder and does not have any impact on firewall performance. *Required.* - | **Description** | A description of the rule being created. This is used only as an identifier for the Linode Account holder, and does not have any impact on firewall performance. *Optional.*| - | **Protocol** | Select the Transport Layer protocol to use for this Firewall rule. *Required.*| - | **Ports** | Select from a list of common port numbers, or select **Custom** to open the **Custom Port Range** configuration option. Up to 15 ports (and port ranges) can be added to a single Cloud Firewall rule. Port ranges are considered to be 2 total ports towards the total of 15 maximum ports. Port numbers must be within 1 and 65535, and they cannot contain leading zeroes. *Required for TCP and UDP protocols. Not allowed for ICMP and IPENCAP protocols.* | - | **Custom Port Range** | Provide a port number or a range of ports on which to take action. Multiple ports or ranges can be added by separating each port or range with a comma (`,`). To configure a **Port Range**, enter the starting port and ending port numbers separated by a dash (`-`). The port range string can contain up to 15 pieces, where a single port is treated as one piece, and a port range is treated as two pieces. For example, here is an example value that applies the rule to ports 21, 993, 995, and 2000-3000, considered a total of 5 pieces: `21,993,995,2000-3000`. | - | **Sources** | **Required for Inbound rules only.** Choose from a list of **Sources** that limit incoming connections to the chosen internet protocol, netmask, or specific IP address(es) and ranges. Select IP/Netmask to specify specific IP addresses. When defining IP/Netmask sources, a /32 mask is assumed for individual IPv4 addresses and a /128 mask is assumed for IPv6 addresses if unspecified. Each rule can include 255 total IPv4 and IPv6 addresses/ranges. | - | **Destinations** | **Required for Outbound rules only.** Select from a list of **Destinations** that limit the outgoing connections to the chosen internet protocol, netmask, or specific IP address(es) and ranges. When defining IP/Netmask destinations, a /32 mask is assumed for IPv4 addresses and a /128 mask is assumed for IPv6 addresses if unspecified. Each rule can include 255 total IPv4 and IPv6 addresses/ranges. | - | **Action** | Choose whether this rule allows or drops traffic. The action defined in specific rules takes precedence over the default inbound and outbound traffic policy. *Required.* | - - {{< note >}} - When applying individual IP addresses or IP ranges to either the `source` or `destination` field, the addresses must always be valid and formatted correctly using [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). IP address ranges are formatted differently than port number ranges. Instead of using a hyphenated range of numbers, CIDR notation is used to designate the network prefix and the number of bits in the prefix. The following are examples of valid IPv4 and IPv6 ranges: - - - `192.0.2.0/24` - - `198.51.0.0/16` - - `2001:db8:1234::/48` - - In the first example above, using a range of `192.0.2.0/24` applies the rule to all IP addresses from 192.0.2.1 through 192.0.2.254. - - If you need to specify a single IP address, use /32 when specifying your IP range. For example, `192.0.2.1/32` denotes a single IP address. - {{< /note >}} - -1. Click on **Add Rule** to add the new rule to this Firewall. If you would like to add any additional rules, repeat the process outlined in this section. - - ![Click on Add Rule to add the new rule to this Firewall.](add-an-inbound-rule-firewall.jpg "Click on Add Rule to add the new rule to this Firewall.") - -1. When you are done adding new Firewall rules, review them on the **Rules** page you are redirected to by default. Firewall rules are applied in order from top to bottom as they appear on this page. If you would like to re-order these rules, drag and drop any row into their desired position. - -1. When you are done reviewing the new Firewall rules, click on the **Save Changes** button on the **Rules** page. - - {{< note >}} - Any newly added rules do not take effect until you **Save Changes** to the Firewall. - {{< /note >}} - - ![Apply your changes to the Firewall.](save-changes-firewall.jpg "Apply your changes to the Firewall.") - - -## Edit a Rule - -Follow the steps in this section to edit predefined and custom Firewall Rules. - -1. Log into your [Linode Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. - -1. From the **Firewalls** listing page, click on the Firewall whose rules you'd like to edit. This takes you to the Firewall's **Rules** page. - -1. Click on the **Edit** button corresponding to the rule you'd like to edit. - - ![Select edit from the dropdown menu.](select-firewall-to-edit.jpg "Select edit from the dropdown menu.") - -1. From the **Edit Rule** drawer, update the rule's configurations as needed. - -1. Click on the **Add Changes** button to save your changes and apply them to the rule. If you would like to edit any additional rules, repeat the process outlined in this section. - - ![Save your Firewall rule edits.](edit-firewall-rule.jpg "Save your Firewall rule edits.") - -1. When you are done editing your Firewall rules, click on the **Save Changes** button on the **Rules** page for those changes to take effect. - -## Delete a Rule - -1. Log into your [Linode Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. - -1. From the **Firewalls** listing page, click on the Firewall whose rule(s) you'd like to delete. This takes you to the Firewall's **Rules** page. - -1. Click on the **Delete** corresponding to the rule that you would like to delete. If you would like to delete any additional rules, repeat the process outlined in this section. - -1. When you are done, click on the **Save Changes** button on the **Rules** page. - - {{< note >}} - Any rule deletion(s) does not take effect until you **Save Changes** to the Firewall. - {{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-firewall.jpg b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-firewall.jpg deleted file mode 100644 index 7a5c186be5a..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-firewall.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-firewall.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-firewall.png deleted file mode 100644 index 0c29e7dc7a6..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-firewall.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-to-firewall.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-to-firewall.png deleted file mode 100644 index 946863a6e6d..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/save-changes-to-firewall.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/select-firewall-to-edit.jpg b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/select-firewall-to-edit.jpg deleted file mode 100644 index 50760e85dd7..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/select-firewall-to-edit.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/select-firewall-to-edit.png b/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/select-firewall-to-edit.png deleted file mode 100644 index 09f1724d572..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/select-firewall-to-edit.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/update-status/index.md b/docs/products/networking/cloud-firewall/guides/update-status/index.md deleted file mode 100644 index ff7f03ce061..00000000000 --- a/docs/products/networking/cloud-firewall/guides/update-status/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Update Cloud Firewall Status -description: "How to update the status of your Linode Cloud Firewall." -modified: 2023-11-06 - ---- - -When you [add a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/), the Firewall is enabled by default. Enabled means that the Firewall is active. If it is applied to a Linode service it filters your Linode service's network traffic according to the Firewall's rules. Disabling a Firewall deactivates the Firewall and it no longer filters any traffic for the Linode services it has been applied to. - -1. Log into your [Linode Cloud Manager](https://cloud.linode.com/) and select **Firewalls** from the navigation menu. This takes you to the **Firewalls** listing page. - -1. Click on the **Enable/Disable** button corresponding to the firewall whose status you would like to update: - - ![Update your Firewall's status.](update-the-firewall-status.jpg "Update your Firewall's status.") - - The **Status** column on the **Firewalls** listing page updates to display the Firewall's current status. - - ![View the updated status of your Firewall.](view-the-firewall-status.jpg "View the updated status of your Firewall.") \ No newline at end of file diff --git a/docs/products/networking/cloud-firewall/guides/update-status/update-the-firewall-status.jpg b/docs/products/networking/cloud-firewall/guides/update-status/update-the-firewall-status.jpg deleted file mode 100644 index 4f7d6ef3bb6..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/update-status/update-the-firewall-status.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/update-status/update-the-firewall-status.png b/docs/products/networking/cloud-firewall/guides/update-status/update-the-firewall-status.png deleted file mode 100644 index dc9f0afbc89..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/update-status/update-the-firewall-status.png and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/update-status/view-the-firewall-status.jpg b/docs/products/networking/cloud-firewall/guides/update-status/view-the-firewall-status.jpg deleted file mode 100644 index cffbdd05a6b..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/update-status/view-the-firewall-status.jpg and /dev/null differ diff --git a/docs/products/networking/cloud-firewall/guides/update-status/view-the-firewall-status.png b/docs/products/networking/cloud-firewall/guides/update-status/view-the-firewall-status.png deleted file mode 100644 index 3df6824a0c1..00000000000 Binary files a/docs/products/networking/cloud-firewall/guides/update-status/view-the-firewall-status.png and /dev/null differ diff --git a/docs/products/networking/ddos-protection/_index.md b/docs/products/networking/ddos-protection/_index.md deleted file mode 100644 index efb5a6264d4..00000000000 --- a/docs/products/networking/ddos-protection/_index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: DDoS Protection -description: "Linode DDoS Protection provides real-time intelligent protection that monitors, detects, analyzes, and blocks threats to the network." -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "Linode's global network is protected by advanced DDoS mitigation in all of our data centers, helping to fend off attacks on your infrastructure. Linode DDoS protection is free for all customers." ---- - -## Availability - -DDoS protection is available across [all regions](https://www.linode.com/global-infrastructure/). - -## Features - -### Always on Real-Time Intelligent Protection - -Always-on DDoS protection monitors, detects, analyzes, and blocks threats to the network in real-time. Attacks are blocked inline, then redistributed across Linode's global fiber backbone. - -Rules are automatically created using machine learning from traffic across the global network to intelligently reroute malicious traffic during a DDoS event. - -Your server’s applications are protected from a range of DDOS attack methodologies including UDP, SYN, HTTP floods, and more. - -## Pricing - -Linode's DDoS Protection is provided for free to all customers. diff --git a/docs/products/networking/ddos-protection/feature.png b/docs/products/networking/ddos-protection/feature.png deleted file mode 100644 index d2972fdabe5..00000000000 Binary files a/docs/products/networking/ddos-protection/feature.png and /dev/null differ diff --git a/docs/products/networking/ddos-protection/feature.svg b/docs/products/networking/ddos-protection/feature.svg deleted file mode 100644 index 458f3f1a600..00000000000 --- a/docs/products/networking/ddos-protection/feature.svg +++ /dev/null @@ -1,5 +0,0 @@ - - DDOS Protection - - - \ No newline at end of file diff --git a/docs/products/networking/ddos-protection/resources/index.md b/docs/products/networking/ddos-protection/resources/index.md deleted file mode 100644 index 644c2059a93..00000000000 --- a/docs/products/networking/ddos-protection/resources/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Resources -description: "Resources and information related to Linode DDoS Protection including blog posts, community posts, and press releases." -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [DDoS: An Additional Layer of Security from Linode](https://www.linode.com/blog/networking/ddos-an-additional-layer-of-security-from-linode/) - -- [The Twelve Days of Crisis - A retrospective on Linode’s Holiday DDoS Attacks](https://www.linode.com/blog/cloud-computing/christmas-ddos-retrospective/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [Network Status Updates - April 2016](https://www.linode.com/blog/networking/network-status-updates-april-2016/) - -- [Security Investigation Retrospective](https://www.linode.com/blog/linode/security-investigation-retrospective/) - -## Community Posts - -- [How to know if DDoS protection works?](https://www.linode.com/community/questions/19731/how-to-know-if-ddos-protection-works) - -- [Does Linode offer DDoS Mitigation?](https://www.linode.com/community/questions/18692/does-linode-offer-ddos-mitigation) - -- [DDoS Protection offered by Linode](https://www.linode.com/community/questions/19430/ddos-protection-offered-by-linode) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=ddos). - -## Press Releases - -- [Linode Launches Free Advanced DDoS Protection Across Its Global Network](https://www.linode.com/press-release/linode-launches-free-advanced-ddos-protection-across-its-global-network/) diff --git a/docs/products/networking/dns-manager/_index.md b/docs/products/networking/dns-manager/_index.md deleted file mode 100644 index a1e088e1299..00000000000 --- a/docs/products/networking/dns-manager/_index.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: DNS Manager -title_meta: "Linode DNS Manager Product Documentation" -description: "The Linode DNS Manager provides simple and convenient management for all your high availability DNS records. You can import DNS zones with ease and Cloudflare DDoS mitigation is built-in." -modified: 2023-03-16 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "A comprehensive, reliable, and fast DNS service, providing easy domain management to Linode customers at no charge." -aliases: ['/dns-manager/','/platform/manager/dns-manager/','/networking/dns/dns-manager/','/platform/manager/dns-manager-new-manager/','/networking/dns/dns-manager-overview/','/platform/manager/dns-manager-classic-manager/','/guides/dns-manager/'] ---- - -The *Domains* section of [Cloud Manager](https://cloud.linode.com/domains) is a comprehensive DNS management interface, referred to as the Linode DNS Manager. Within the DNS Manager, you can add your registered domain names and manage DNS records for each of them. - -## High Availability - -Linode's DNS service is anycasted to over 250 locations (*PoPs*) around the world. This provides distributed denial-of-service (DDoS) attack mitigation, load balancing, and increased geographic distribution for our [name servers](/docs/guides/dns-overview/#name-servers). If one name server suffers an outage, the service will automatically failover to a redundant name server. These factors make our service reliable, fast, and a great choice for your DNS needs. - -## Flexible Configuration - -In addition to supporting a wide range of DNS record types, the Linode DNS Manager offers even more flexibility through AXFR transfers and zone types (*primary* and *secondary*). These two features work together so you can create a DNS configuration that works for your own application. Using Linode as the *primary* DNS Manager is the most common option and lets you manage DNS records directly on the Linode platform. Operating as a *secondary* DNS provider, you can mange your DNS records within other services or tools (like cPanel) but still host them on Linode, taking advantage of the reliability and high availability of our platform. - -## Pricing and Availability - -The DNS Manager is available at no charge across [all regions](https://www.linode.com/global-infrastructure/). - -{{< note type="warning" title="DNS Manager Compute Instance requirement">}} -To use the Linode DNS Manager to serve your domains, you must have at least one active Compute Instance on your account. If your account does not have any Compute Instances (for instance, if they have all been removed), DNS records will not be served. -{{< /note >}} - -## Technical Specifications - -- High-availability managed DNS provider -- Anycast DNS with over 250 PoPs (*point of presence*) -- DDoS mitigation -- Supports outgoing and incoming DNS zone transfers -- Can be configured as a read-only secondary DNS -- IPv6 support -- Manage domains through an intuitive web-based control panel ([Cloud Manager](https://cloud.linode.com/)), the [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) - -## Limits and Considerations - -- *DNSSEC* is not supported and should be disabled on your domain's registrar. - -- *CNAME flattening* is not supported. This means that you are not able to use the root (apex) domain as the hostname for a CNAME record. diff --git a/docs/products/networking/dns-manager/developers/index.md b/docs/products/networking/dns-manager/developers/index.md deleted file mode 100644 index 2c40441f63c..00000000000 --- a/docs/products/networking/dns-manager/developers/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for the Linode DNS Manager" -description: "Use developer tools like the Linode API or CLI to manage your DNS records." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Domains Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage Domains](/docs/products/tools/cli/guides/domains/). diff --git a/docs/products/networking/dns-manager/feature.png b/docs/products/networking/dns-manager/feature.png deleted file mode 100644 index 20c7268c117..00000000000 Binary files a/docs/products/networking/dns-manager/feature.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/feature.svg b/docs/products/networking/dns-manager/feature.svg deleted file mode 100644 index 12069c8be59..00000000000 --- a/docs/products/networking/dns-manager/feature.svg +++ /dev/null @@ -1,5 +0,0 @@ - - DNS Manager - - - \ No newline at end of file diff --git a/docs/products/networking/dns-manager/get-started/access-domains-section.png b/docs/products/networking/dns-manager/get-started/access-domains-section.png deleted file mode 100644 index 469d57fa800..00000000000 Binary files a/docs/products/networking/dns-manager/get-started/access-domains-section.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/get-started/domains-overview.png b/docs/products/networking/dns-manager/get-started/domains-overview.png deleted file mode 100644 index 1bd9dab6ada..00000000000 Binary files a/docs/products/networking/dns-manager/get-started/domains-overview.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/get-started/index.md b/docs/products/networking/dns-manager/get-started/index.md deleted file mode 100644 index 5b4fb91d434..00000000000 --- a/docs/products/networking/dns-manager/get-started/index.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with the Linode DNS Manager" -description: "Learn how to get up and running with the Linode DNS Manager, including creating and importing domains." -modified: 2023-03-16 -tab_group_main: - weight: 20 ---- - -Linode's DNS Manager enables users to manage DNS records for each of their domains directly within the tools they already use: like Cloud Manager, Linode CLI, or Linode API. It supports most common DNS record types, including A, AAAA (quad A), CNAME, MX, TXT, NS, SOA, SRV, and CAA. Follow this guide to learn how to start using the DNS Manager. - -1. [Register the Domain](#register-the-domain) -1. [Create the Domain Zone](#create-the-domain-zone) -1. [Add DNS Records](#add-dns-records) -1. [Use Linode's Name Servers](#use-linodes-name-servers) - -## Understanding DNS - -The Domain Name System (DNS) attaches human-readable domain names to machine-usable IP addresses. In many ways, it is the phone book of the Internet. Just like a phone book can help you find the phone number of a business, DNS can take a domain name like `google.com` and translate it into an IP address like `74.125.19.147`. This global system allows users to remember the names of websites instead of their numeric IP addresses. To learn more, see [Overview of DNS and DNS Records](/docs/guides/dns-overview/). - -## Register the Domain - -Determine what domain name you wish to use and, if you haven't done so already, register it through a domain registrar. The registration process gives you ownership of the domain for the specified number of years. The cost depends on the registrar, the TLD (top level domain), and the number of years. Domains cannot be purchased directly through Linode. Instead, use a third-party domain registrar such as [GoDaddy](https://www.godaddy.com/), [Namecheap](https://www.namecheap.com/), or [Hover](https://www.hover.com/). - -## Create the Domain Zone - -A *domain zone* (also called a [DNS zone](https://en.wikipedia.org/wiki/DNS_zone)) is a collection of DNS records for a particular domain. For full instructions on creating a domain zone, see [Create a Domain](/docs/products/networking/dns-manager/guides/create-domain/). - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Domains** from the left navigation menu. Click the **Create Domain** button. - -1. Select either **Primary** or **Secondary** as the zone type. This changes some of the form options below it. - -1. Enter the domain name you wish to use into the **Domain** field. - -1. For *primary* domains, enter the **SOA Email** and optionally use the **Insert Default Records** dropdown if you would like to pre-populate the domain zone with information from an existing service. - -1. For *secondary* domains, add the IP Address of your external DNS provider's name server. If they have more than one name server, click **Add an IP** to add each additional one if desired. See [Incoming DNS Zone Transfers > Operate as a Secondary Read-Only DNS Service](/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/#operate-as-a-secondary-read-only-dns-service). - -1. Click the **Create Domain** button to create the domain zone. - -{{< note type="warning" title="DNS Manager Compute Instance requirement">}} -To use the Linode DNS Manager to serve your domains, you must have at least one active Compute Instance on your account. If your account does not have any Compute Instances (for instance, if they have all been removed), DNS records will not be served. -{{< /note >}} - -## Add DNS Records - -DNS records can associate specific domain names with pieces of information, such as a server's IP address. After the domain has been created, you can immediately start adding and editing DNS records for it. See [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/) for instructions. You can also view each supported DNS record type to learn more about what it does and how to create it. - -- [A and AAAA Records](/docs/products/networking/dns-manager/guides/a-record/) - -- [CNAME Records](/docs/products/networking/dns-manager/guides/cname-record/) - -- [MX Records](/docs/products/networking/dns-manager/guides/mx-record/) - -- [TXT Records](/docs/products/networking/dns-manager/guides/txt-record/) - -- [NS Records](/docs/products/networking/dns-manager/guides/ns-record/) - -- [SOA Record](/docs/products/networking/dns-manager/guides/soa-record/) - -- [SRV Records](/docs/products/networking/dns-manager/guides/srv-record/) - -- [CAA Records](/docs/products/networking/dns-manager/guides/caa-record/) - -If you are migrating to Linode from another DNS provider, make sure you have added all of the necessary DNS records to your domain zone before adding Linode’s name servers to your domain's registrar. - -## Use Linode's Name Servers - -Once you are ready, set Linode's name servers as the authoritative name servers for your domain. To do this, log in to your domain registrar's control panel and set the name servers for your domain name to the entries below. See the instructions on your domain name registrar's website for more information. - -- `ns1.linode.com` -- `ns2.linode.com` -- `ns3.linode.com` -- `ns4.linode.com` -- `ns5.linode.com` - -The name for this setting various among registrars, but it is commonly called *external* or *custom* name servers. Follow the instructions for your registrar: - -- [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain/) -- [GoDaddy](https://www.godaddy.com/help/change-nameservers-for-my-domains-664) -- [Hover](https://help.hover.com/hc/en-us/articles/217282477--Changing-your-domain-nameservers) - -{{< note >}} -DNS changes can take up to 24 hours to propagate throughout the internet, although the changes are usually visible within several hours. -{{< /note >}} diff --git a/docs/products/networking/dns-manager/guides/_index.md b/docs/products/networking/dns-manager/guides/_index.md deleted file mode 100644 index 5f5761a1953..00000000000 --- a/docs/products/networking/dns-manager/guides/_index.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for the Linode DNS Manager" -description: "Learn the basics of adding and managing Domains and DNS records using the DNS manager. You can also find guides that take a deep dive into DNS records, common DNS configurations, and other more advanced topics." -modified: 2023-02-09 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Create a Domain](/docs/products/networking/dns-manager/guides/create-domain/): Instructions for adding your domain to Linode's DNS Manager. - -- [Manage Domains](/docs/products/networking/dns-manager/guides/manage-domains/): View, edit, and manage domains on your account. - -- [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/): View, edit, and manage DNS records on your domains. - -- [Configure Your Domain's Authoritative Name Servers](/docs/products/networking/dns-manager/guides/authoritative-name-servers/): To use Linode's DNS Manager for your domain, you must configure the authoritative name server's on your domain's registrar. - -## Additional Management - -- [Incoming DNS Zone Transfers (Import a Domain)](/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/): Transfer DNS records from an external DNS service to the Linode DNS Manager, including how to operate a *secondary* DNS service on Linode through AXFR transfers from an external *primary* DNS service. - -- [Outgoing DNS Zone Transfers Domain](/docs/products/networking/dns-manager/guides/outgoing-dns-zone-transfers/): Transfer DNS records to another DNS service, including how to maintain a *primary* DNS service on Linode while supporting AXFR transfers to an external *secondary* DNS service. - -## DNS Record Types - -- [A and AAAA Records](/docs/products/networking/dns-manager/guides/a-record/) - -- [CNAME Records](/docs/products/networking/dns-manager/guides/cname-record/) - -- [MX Records](/docs/products/networking/dns-manager/guides/mx-record/) - -- [TXT Records](/docs/products/networking/dns-manager/guides/txt-record/) - -- [NS Records](/docs/products/networking/dns-manager/guides/ns-record/) - -- [SOA Record](/docs/products/networking/dns-manager/guides/soa-record/) - -- [SRV Records](/docs/products/networking/dns-manager/guides/srv-record/) - -- [CAA Records](/docs/products/networking/dns-manager/guides/caa-record/) - -## Going Further - -- [Overview of DNS and DNS Records](/docs/guides/dns-overview/) - -- [Troubleshooting DNS Records](/docs/products/networking/dns-manager/guides/troubleshooting-dns/) - -- [Common DNS Configurations](/docs/products/networking/dns-manager/guides/common-dns-configurations/) - -- [Configure rDNS (Reverse DNS) on a Compute Instance](/docs/guides/configure-rdns/) - -## Advanced Topics - -- [Previewing Websites Without DNS](/docs/guides/previewing-websites-without-dns/) - -- [How to Set Up Cloudflare with Linode](/docs/guides/how-to-set-up-cloudflare-with-linode/) - -- [Use dig to Perform Manual DNS Queries](/docs/guides/use-dig-to-perform-manual-dns-queries/) diff --git a/docs/products/networking/dns-manager/guides/a-record/index.md b/docs/products/networking/dns-manager/guides/a-record/index.md deleted file mode 100644 index 5c8e19bafbe..00000000000 --- a/docs/products/networking/dns-manager/guides/a-record/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "A and AAAA Records" -description: "Learn how to create A and AAAA records using Linode's DNS Manager" -published: 2023-02-03 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## A and AAAA Overview - -An **A** (*Address*) record matches a domain name to an IPv4 address, specifically the address of the machine hosting the desired resource for the domain. **AAAA** (also called *quad A*) records are the same as *A* records, but store the IPv6 address of the machine instead of the IPv4 address. See [Overview of DNS and DNS Records > A and AAAA](/docs/guides/dns-overview/#a-and-aaaa). - -## Properties - -- **Hostname:** The root domain or the subdomain that you wish to use. - - - For the root domain (such as *example.com*), enter the `@` character or leave the field blank. - - For a subdomain (such as *host.example.com*), enter a string that's 1-63 characters in length and contains only letters, numbers, and underscores. Hyphens can also be used, but the string cannot start with one. - -- **IP Address:** The IPv4 or IPv6 address of the target server, such as a Linode Compute Instance. The Linode DNS Manager automatically creates either an A record or AAAA record depending on the type of IP address. See the [Find Your Linode's IP Address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for help locating an IP address on your Linode Compute Instance. - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. - -## Examples - -- **Hosting a website using the domain *example.com*.** Set the **Hostname** to `@` and the **IP Address** to the IPv4 address of the server hosting the website. If you wish to support IPv6 users (such as devices connected over many cellular networks), also create an AAAA record with the same hostname but using the IPv6 address of the server. - - {{< note >}} - While you can also create an A record for a subdomain, like *www.example.com*, it's more common to use CNAME records if the subdomain points to the same server. This limits the amount of places you might need to enter your IP address and reduces the overall number of DNS records you need to maintain. - {{< /note >}} - -- **Configuring the FQDN (fully qualified domain name) for a server.** Machines are often addressed by their FQDN, not their IP addresses. To set up an FQDN, create an A (and/or AAAA) record using the hostname of the machine (such as `web01` for *web01.example.com*.) and map it to its primary IPv4 or IPv6 address. diff --git a/docs/products/networking/dns-manager/guides/authoritative-name-servers/index.md b/docs/products/networking/dns-manager/guides/authoritative-name-servers/index.md deleted file mode 100644 index 694f59edd5d..00000000000 --- a/docs/products/networking/dns-manager/guides/authoritative-name-servers/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Configure Your Domain's Authoritative Name Servers" -description: "Instructions on configuring a domain's registrar so that you can use the Linode DNS Manager" -published: 2022-01-03 ---- - -To use Linode's DNS Manager, you must add our name servers as the authoritative name servers for your domain. To do this, log in to your domain registrar's control panel and set the name servers for your domain name to the entries below. See the instructions on your domain name registrar's website for more information. - -- `ns1.linode.com` -- `ns2.linode.com` -- `ns3.linode.com` -- `ns4.linode.com` -- `ns5.linode.com` - -The name for this setting various among registrars, but it is commonly called *external* or *custom* name servers. Follow the instructions for your registrar: - -- [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain/) -- [GoDaddy](https://www.godaddy.com/help/change-nameservers-for-my-domains-664) -- [Hover](https://help.hover.com/hc/en-us/articles/217282477--Changing-your-domain-nameservers) - -{{< note >}} -DNS changes can take up to 24 hours to propagate throughout the internet, although the changes are usually visible within several hours. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/caa-record/index.md b/docs/products/networking/dns-manager/guides/caa-record/index.md deleted file mode 100644 index 53c0823c533..00000000000 --- a/docs/products/networking/dns-manager/guides/caa-record/index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "CAA Records" -description: "Learn how to create CAA records using Linode's DNS Manager" -published: 2019-07-31 -modified: 2022-10-28 -keywords: ["caa", "dns", "records", "subdomain", "domain"] -tags: ["linode platform","cloud manager","dns"] -external_resources: - - '[CAA Records, DNSimple](https://support.dnsimple.com/articles/caa-record/)' - - '[RFC 6844: DNS Certification Authority Authorization (CAA) Resource Record](https://tools.ietf.org/html/rfc6844)' -aliases: ['/quick-answers/linode-platform/add-caa-dns-records/','/quick-answers/linode-platform/add-caa-dns-records-classic-manager/','/guides/add-caa-dns-records/','/products/networking/dns-manager/guides/add-caa-dns-records/'] ---- - -## CAA Overview - -A **CAA** (*Certification Authority Authorization*) record allows the owner of a domain to specify which certificate authority (or authorities) are allowed to issue TLS/SSL certificates for their domain. - -## Properties - -- **Name**: The subdomain you want the CAA record to cover. To apply it to your entire website (for example: `example.com`), leave this field blank. To limit the record's application to a subdomain on your site, (for example: `subdomain.example.com`), enter the subdomain's name into the form field (for example: `subdomain`). - -- **Tag**: - - - **issue** - Authorize the certificate authority entered in the *Value* field further below to issue TLS certificates for your site. - - - **issuewild** - Same as above, with the exception that you were issued a wildcard certificate. - - - **iodef** - URL where your CA can report security policy violations to you concerning certificate issue requests. - -- **Value**: If the **issue** or **issuewild** tag was selected above, then the **Value** field takes the domain of your certificate issuer (for example: `letsencrypt.org`). If the **iodef** tag was selected, the **Value** field takes a contact or submission URL (`http` or `mailto`). - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. - -## Add Multiple CAA Records - -Multiple CAA records must be added individually. If your site `example.com` was issued a TLS certificate by Let's Encrypt, but your subdomain `store.example.com` uses a Symantec certificate, you would need two different CAA records. A reporting URL for the *iodef* tag would also need its own record. Those three would look something like this: - -![Multiple CAA records](multiple-caa-records.png) diff --git a/docs/products/networking/dns-manager/guides/caa-record/multiple-caa-records.png b/docs/products/networking/dns-manager/guides/caa-record/multiple-caa-records.png deleted file mode 100644 index a32179cae37..00000000000 Binary files a/docs/products/networking/dns-manager/guides/caa-record/multiple-caa-records.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/cname-record/index.md b/docs/products/networking/dns-manager/guides/cname-record/index.md deleted file mode 100644 index cb2dfb137bc..00000000000 --- a/docs/products/networking/dns-manager/guides/cname-record/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "CNAME Records" -description: "Learn how to create CNAME records using Linode's DNS Manager" -published: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## CNAME Overview - -A **CNAME** (*Canonical Name*) record maps one subdomain to another subdomain, a root domain, or even a different domain entirely. Essentially, it creates an *alias* to the specified *target* domain. CNAME records are very common and prevent administrators from repeating IP addresses or other information across multiple DNS records. - -To provide an example, consider that *docs.example.com* is hosted on the same server as *example.com*. Also consider that an [A record](/docs/products/networking/dns-manager/guides/a-record/) already exists for *example.com*, which specifies the IP address of the server. Instead of creating another A record, you can create a CNAME record for *docs.example.com* and set it as an alias to *example.com*. When a DNS lookup occurs on *docs.example.com*, the DNS resolver sees that it is a CNAME record and performs another DNS lookup on the target domain. As the second query is for an A record, the IP address of the server is returned, which allows the user to access the website on that server. - -In most cases, the target domain should resolve to another type of DNS record, like an A record. However, you can configure CNAME looping, which occurs when a CNAME points to another CNAME. In this case, the last record in the chain must be another type of record. - -## Properties - -- **Hostname:** The subdomain that you wish to use. - - - Enter a string that's 1-63 characters in length and contains only letters, numbers, and underscores. Hyphens can also be used, but the string cannot start with one. - - {{< note >}} - Using the root domain as the hostname for a CNAME record is called *CNAME flattening* and is not supported on Linode's DNS Manager. - {{< /note >}} - -- **Alias to:** The full domain name of the canonical domain, where traffic should be redirected. You can also use the `@` character to use the root domain. - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-add-an-a-record-menu.png b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-add-an-a-record-menu.png deleted file mode 100644 index 855968291c4..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-add-an-a-record-menu.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-add-an-a-record.png b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-add-an-a-record.png deleted file mode 100644 index 4b743bbefdf..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-add-an-a-record.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-configurations-title-graphic.jpg b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-configurations-title-graphic.jpg deleted file mode 100644 index 3cbfbfcd6a0..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-configurations-title-graphic.jpg and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-configurations.png b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-configurations.png deleted file mode 100644 index 544b6775eb9..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-configurations.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-multiple-domains-one-server.png b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-multiple-domains-one-server.png deleted file mode 100644 index 9a0d7579514..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-multiple-domains-one-server.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-set-up-a-domain.png b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-set-up-a-domain.png deleted file mode 100644 index b9b9962c846..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-set-up-a-domain.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-use-wildcard.png b/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-use-wildcard.png deleted file mode 100644 index e925640bca0..00000000000 Binary files a/docs/products/networking/dns-manager/guides/common-dns-configurations/common-dns-use-wildcard.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/common-dns-configurations/index.md b/docs/products/networking/dns-manager/guides/common-dns-configurations/index.md deleted file mode 100644 index 4b872ff052c..00000000000 --- a/docs/products/networking/dns-manager/guides/common-dns-configurations/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Common DNS Configurations -description: 'Configurations for common DNS records.' -og_description: 'This guide provides you with step-by-step instructions for using the Linode Cloud Manager to configure DNS records such as A, AAA, MX, and other DNS records.' -published: 2015-01-20 -modified: 2019-03-14 -keywords: ["dns", "dnssec"] -tags: ["dns","networking","cloud manager","linode platform"] -aliases: ['/networking/dns/common-dns-configurations/','/dns-guides/configuring-dns-with-the-linode-manager/','/networking/dns/common-dns-configurations-classic-manager/','/guides/common-dns-configurations/'] ---- - -## Set Up a Domain - -The most common DNS configuration is a single domain name on a single Linode. For this, you'll need to add *SOA* and *NS records* for all of your name servers, and *A/AAAA* records for your domain names. Use the screenshot below as a guide. - -![The SOA record is set to "example-site-demo.com". The NS records are set to "ns1.linode.com" through "ns5.linode.com", inclusive. The MX record is set to "mail.example-site-demo.com". There are A records for [blank], which is the primary domain, and the "mail" and "www" subdomains. They are all set to the same IP.](common-dns-set-up-a-domain.png) - - {{< note >}} -The Domains section of Cloud Manager can automatically add all of these records when you create a domain. For instructions, see the *Add a Domain* section of the [DNS Manager](/docs/products/networking/dns-manager/) guide. -{{< /note >}} - -## Configure Subdomains - -1. To configure a subdomain (e.g. `staging.example-site-demo.com`), create an A record with the subdomain's hostname. Click **Add an A/AAAA Record**: - - ![Create a new A record by first click on "Add an A/AAAA Record"](common-dns-add-an-a-record.png) - -1. Add the subdomain under the **Hostname** field. Assign the IP address of the server you want to host the subdomain: - - ![Create a new A record, following the instructions in the "Adding" section. Add the subdomain text to the "Hostname" field. For example, you could type "staging" - NOT "staging.example-site-demo.com".](common-dns-add-an-a-record-menu.png) - -1. Click on the **Save** button to create the record. - - {{< note title="Multi-level Subdomains" >}} - The Linode Cloud Manager does not support adding a subdomain of a subdomain in the same domain zone. For example, if you have `example.com` as a domain with an A record for `staging.example.com`, you cannot create `test.staging.example.com` within that same domain zone. Instead, create a separate domain zone for the subdomain `staging.example.com`. Then, add an A record for `test.staging.example.com` to that new zone. - - See the [subdomains](/docs/products/networking/dns-manager/guides/manage-dns-records/#second-level-subdomains) section of the [DNS manager](/docs/products/networking/dns-manager/) guide for more information. - {{< /note >}} - -## Host Multiple Domains on a Single Server - -To host multiple domain names on a single server, create a separate domain entry for each domain name as shown below. When creating the new domain entry, we recommend that you allow the Domains section of Cloud Manager to automatically [insert basic records](/docs/products/networking/dns-manager/guides/create-domain/#pre-populate-dns-records). At a minimum, you'll need an A record for each domain name pointing to the server's IP address. - -![This page shows the Domains page with three different domain zones listed.](common-dns-multiple-domains-one-server.png) - -## Use One Domain on Multiple Servers - -If you have more than one server, but only one domain name, you can point A records with server-specific hostnames to all servers that need domain names. One machine will be the "front end" for the domain, by virtue of the first-level domain's A record pointing to it, but the domain can serve as a proxy for services provided by other machines, if needed. For example, if you wanted to create a development environment on another server, you could create an A record for `staging.example.com` and point it at another Linode's IP address. - -## Route Email to Third-Party Mail Services - -To route email to a third-party email service, create MX records that associate your mail server (for example, `mail.example-site-demo.com`) with a *hostname* provided by the third-party service. For more detailed instructions, see the website of your third-party email service. - -## Use Wildcard DNS Records - -A *wildcard* DNS record matches requests for non-existent domain names. For example, if you create an A record for `*.example.com`, and a user visits `nonexistantname.example.com`, that user will be redirected to `example.com`. An example wildcard DNS record is shown below. - -![Create a new A record, following the instructions in the "Adding" section. Add a single asterisk (\*) in the "Hostname" field. Set your IP address in the "IP Address" field. Then click the "Save Changes" button.](common-dns-use-wildcard.png) diff --git a/docs/products/networking/dns-manager/guides/create-domain/add-new-domain.png b/docs/products/networking/dns-manager/guides/create-domain/add-new-domain.png deleted file mode 100644 index e64ec9eb299..00000000000 Binary files a/docs/products/networking/dns-manager/guides/create-domain/add-new-domain.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/create-domain/create-default-records.png b/docs/products/networking/dns-manager/guides/create-domain/create-default-records.png deleted file mode 100644 index aa32096a7f5..00000000000 Binary files a/docs/products/networking/dns-manager/guides/create-domain/create-default-records.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/create-domain/index.md b/docs/products/networking/dns-manager/guides/create-domain/index.md deleted file mode 100644 index 51e62966e35..00000000000 --- a/docs/products/networking/dns-manager/guides/create-domain/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: "Create a Domain" -description: "Learn how to create domain zones to manage your DNS records using the Linode DNS Manager." -published: 2020-07-21 -modified: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform","cloud manager"] -aliases: ['/products/networking/dns-manager/guides/add-domains/'] ---- - -This guide walks you through how to create a domain through Cloud Manager. Adding a domain only takes a few steps. Here's an outline on how to create a domain using Cloud Manager. - -1. [Open the Create Domain Form in Cloud Manager](#open-the-create-domain-form-in-cloud-manager) -1. [Select the Zone Type](#select-the-zone-type) -1. [Enter the Domain and SOA Contact](#enter-the-domain-and-soa-contact) -1. [Pre-populate DNS Records](#pre-populate-dns-records) -1. [Create the Domain](#create-the-domain) -1. [Finish the Setup](#finish-the-setup) - -After you’ve figured out how to create domains, you’ll never need to call IT support for help again. Let’s look at each step in more detail. - -## Open the Create Domain Form in Cloud Manager - -Figuring out how to create a domain starts with getting into the system. Log in to [Cloud Manager](https://cloud.linode.com/) and choose **Domains** from the left navigation menu. Click the **Create Domain** button. This opens the [Domain Create](https://cloud.linode.com/domains/create) form. - -## Select the Zone Type - -Select *Primary* to use Linode as the main DNS provider, allowing you to add and edit DNS records directly on Linode. Alternatively, select *Secondary* if you want Linode to serve as a secondary DNS provider and obtain DNS records from a third-party service. - -- **Primary:** *This is the most common option.* Linode serves as the primary DNS provider. This enables you to manage all of your DNS records for the domain directly on the Linode platform. This option supports *outgoing* AXFR zone transfers so that other services can serve as secondary DNS providers. See [Outgoing DNS Zone Transfers](/docs/products/networking/dns-manager/guides/outgoing-dns-zone-transfers/). -- **Secondary**: Linode serves as the secondary DNS provider. All DNS records are managed through a third party DNS provider and are imported to Linode through AXFR zone transfers. See [Incoming DNS Zone Transfers > Operate as a Secondary Read-Only DNS Service](/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/#operate-as-a-secondary-read-only-dns-service). - -## Enter the Domain and SOA Contact - -Enter the domain name you wish to use into the **Domain** field. This is typically the bare domain (such as *example.com*) but could also include a subdomain (such as *web.example.com*). Make sure the domain name has been registered (purchased) from your preferred registrar. - -Within the **SOA Email Address** field, enter the email address for the domain administrator. Ideally the SOA email should not be on the domain it's administering, as it should be accessible if there are any issues with the domain or the infrastructure hosting the domain. - -## Pre-populate DNS Records - -The **Insert Default Records** dropdown field lets you pre-populate DNS records with the IP addresses corresponding to one of your Compute Instances or NodeBalancers. If you already know the Compute Instance or NodeBalancer you'd like to use with your domain, this adds the basic DNS records (A, AAAA, and MX) for that service automatically. - -- **Do not insert default records for me.** No DNS records are automatically created. -- **Insert default records from one of my Lindoes.** Select one of your Compute Instances and DNS records are automatically created using the IPv4 and IPv6 addresses for that instance. -- **Insert default records from one of my NodeBalancers.** Select one of your NodeBalancers and DNS records are automatically created using the IPv4 and IPv6 addresses for that service. - -## Create the Domain - -Once you've made your selections, click the **Create Domain** button to add your domain to DNS Manager. The domain zone is created within seconds and is automatically set to an *Active* status. And that's how to create a domain in Cloud Manager. But, you are not done yet. - -## Finish the Setup - -After adding a new domain, there are a few additional steps required to complete the process: -- **Add DNS Records.** After the domain has been created, you can immediately start adding and editing DNS records for it. If you are migrating to Linode from an existing DNS provider, make sure you have added all of the necessary DNS records to your domain *before* adding Linode's name servers to your domain (on your registrar). See [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/). - -- **Add Linode's Name Servers.** To use Linode as the authoritative name servers for your domain, you need to change the name servers on your registrar. Note that the process for this varies for each registrar. - - - [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain/): Look for the *Custom DNS* option. - - [GoDaddy](https://www.godaddy.com/help/change-nameservers-for-my-domains-664): Select *Enter my own name servers (advanced)*. - - [Hover](https://help.hover.com/hc/en-us/articles/217282477--Changing-your-domain-nameservers): Find the *Edit* option for your name servers. - - And that’s it. Now you know how to add a domain in Cloud Manager! diff --git a/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/index.md b/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/index.md deleted file mode 100644 index 57766bcacea..00000000000 --- a/docs/products/networking/dns-manager/guides/incoming-dns-zone-transfers/index.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: "Incoming DNS Zone Transfers" -description: "Learn how to import DNS records from external DNS providers by using AXFR transfers" -published: 2022-10-28 -modified: 2022-11-08 -keywords: ["dns"] -tags: ["linode platform","cloud manager"] ---- - -Linode supports importing DNS records from external DNS providers in one of two ways: - -- [**Import a DNS zone**](#import-a-dns-zone): Initiate a one-time transfer from an external DNS service. *This lets you migrate to Linode and manage your DNS records from the DNS Manager.* -- [**Operate as a *secondary* read-only DNS service**](#operate-as-a-secondary-read-only-dns-service): Get notified of (or periodically check for) DNS changes from an external DNS service and automatically update the zone file with those changes. *This lets you manage your DNS records in an external DNS service but take advantage of Linode's reliable and geographically distributed DNS platform.* - -## Before You Begin - -As part of DNS zone transfers, Linode sends an AXFR query to whichever external name server you specify. That external name server must then send back an AXFR response, which includes a copy of the DNS zone file data. - -**Before continuing, verify that your current external DNS provider offers the ability to perform outgoing DNS zone transfers through AXFR.** If they do, add the IP addresses for Linode's AXFR servers to the ACL or allow-list of that DNS provider. These IP addresses vary depending on if you're importing a zone or operating as a secondary and are listed in their corresponding section below. - -{{< note >}} -AXFR functionality is typically available on enterprise-level plans. If your DNS provider does not support AXFR, DNS zone transfers will not work. If you still wish to use Linode's name servers, you can instead manually create the DNS zone and update it as needed. See [Create a Domain](/docs/products/networking/dns-manager/guides/create-domain/). -{{< /note >}} - -## Import a DNS Zone - -This section walks you through the first option, importing a DNS zone. This method gathers all of the DNS records from an external DNS service, creates a new domain zone within the DNS Manager, and imports each record into new zone. - -1. Within your external name server, allow AXFR transfers to the following Linode IP addresses: - - ``` - 96.126.114.97 - 96.126.114.98 - 2600:3c00::5e - 2600:3c00::5f - ``` - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Domains** from the left navigation menu. Click the **Import a Zone** button. - -1. In the **Domain** field, enter the domain name you wish to import. - -1. Enter your DNS provider's name server into the **Remote Nameserver** field. This name server needs to allow AXFR queries from the IP addresses listed in a previous step. - -1. Click the **Import** button. The DNS Manager connects to the remote name server and imports your existing DNS records. If there is an issue connecting to the name server, you may see an error stating that the request was refused. If this is the case, you may want to contact your external DNS provider and verify their domain transfer process. - -1. Once the DNS records have been imported, update the authoritative name servers on your domain's registrar. Remove your current provider's name servers and add Linode's own name servers (ns1.linode.com through ns5.linode.com). - -## Operate as a Secondary Read-Only DNS Service - -Using Linode's DNS Manager as a *secondary* DNS service lets you manage your DNS records elsewhere but still take advantage of Linode's reliable and distributed platform. Chose this option if your existing DNS provider: - -- does not offer secondary name server, -- is not equipped to handle large amounts of DNS traffic, -- or does not implement any high availability features. - -As part of this, a common reason for using Linode's DNS Manager as a secondary DNS provider is if your primary name server is self-hosted. This is true for users of cPanel, Plesk, and other web-hosting panels. It is also true for power-users that prefer to run their own dedicated DNS software, such as BIND, and manually update their DNS zone files. In these cases, you may value the control or automation from your current solution, but you desire more reliability and availability. - -1. Within your primary name server, allow AXFR transfer from the following Linode IP addresses. You should also make sure your name server sends NOTIFY requests to these IP addresses, which serves to notify Linode of any DNS changes so an AXFR zone transfer is triggered. - - ``` - 104.237.137.10 - 45.79.109.10 (was 65.19.178.10) - 74.207.225.10 - 207.192.70.10 - 109.74.194.10 - 2600:3c00::a - 2600:3c01::a - 2600:3c02::a - 2600:3c03::a - 2a01:7e00::a - ``` - - {{< note type="alert" >}} - On February 7th, 2023, the IP address `65.19.178.10` will be retired and replaced with `45.79.109.10`. Both IPs will respond to inbound requests until the cutover date. Outbound requests will only originate from the old IP address (`65.19.178.10`) until the cutover date. Please update your firewall rules and DNS server configurations to add the new IP address (`45.79.109.10`) before the cutover. - {{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Domains** from the left navigation menu. Click the **Create Domain** button. - -1. Select **Secondary** as the zone type. This changes some of the form options below it. - -1. Enter the domain name you wish to use into the **Domain** field. - -1. Add the IP Address of your external DNS provider's name server. If they have more than one name server, click **Add an IP** to add each additional one if desired. - -1. Click the **Create Domain** button to create the domain zone and start the transfer. - -1. Once the DNS zone transfer is finished, update the authoritative name servers on your domain's registrar to use some or all of Linode's name servers (ns1.linode.com through ns5.linode.com). If desired, add them alongside your current DNS provider's name servers (so Linode operates as one of many name servers) or you can delete their name servers (so Linode is the only authoritative name server). - -Linode checks for DNS changes when the refresh time elapses for the domain *or* when it receives a NOTIFY request from one of the designated external name servers. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/manage-dns-records/add-or-edit-dns-record.png b/docs/products/networking/dns-manager/guides/manage-dns-records/add-or-edit-dns-record.png deleted file mode 100644 index b6797145bd8..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-dns-records/add-or-edit-dns-record.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-dns-records/delete-dns-record.png b/docs/products/networking/dns-manager/guides/manage-dns-records/delete-dns-record.png deleted file mode 100644 index 58d3999a370..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-dns-records/delete-dns-record.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-dns-records/index.md b/docs/products/networking/dns-manager/guides/manage-dns-records/index.md deleted file mode 100644 index e1eaf3805dd..00000000000 --- a/docs/products/networking/dns-manager/guides/manage-dns-records/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Manage DNS Records" -description: "How to add DNS records using the Linode DNS Manager." -published: 2020-07-21 -modified: 2023-02-09 -keywords: ["dns"] -tags: ["linode platform","cloud manager"] -aliases: ['/products/networking/dns-manager/guides/add-dns-records/','/products/networking/dns-manager/guides/edit-dns-records/'] ---- - -## View DNS Records - -Log in to [Cloud Manager](https://cloud.linode.com), select *Domains* from the left menu, and click on the domain you wish to view. - -![Screenshot of the Domains listing page in Cloud Manager](view-dns.png) - -This opens up a page that lists all DNS records for the domain. Records for each record type are sorted into their own separate sections. From here, you can add, edit, or delete DNS records. - -## Add or Edit a DNS Record - -After a domain has been created, you're able to add DNS records. Each type of DNS record is used for a different purpose. The applications that use your domain determine which DNS records you need to add. - -1. View the DNS Records for your domain in Cloud Manager. See [View DNS Records](#view-dns-records). - -1. Locate the section for the record type you want to add or edit. To add a new record, click corresponding **Add a Record** button. To edit a record, locate the record in the list and click the corresponding **Edit** button. Both of these actions open up a similar form. - - ![Screenshot of the A/AAAA section on the DNS Records page for a domain](add-or-edit-dns-record.png) - -1. The form displays all parameters that are available for your chosen record type. For instance, an *A record* has fields for the **Hostname**, **IP Address**, and **TTL**. An *MX record* has fields for the **Mail Server**, **Preference**, **Subdomain**, and **TTL**. To learn more about the parameters for each record type, see the corresponding guides: - - - [A and AAAA Records](/docs/products/networking/dns-manager/guides/a-record/) - - - [CNAME Records](/docs/products/networking/dns-manager/guides/cname-record/) - - - [MX Records](/docs/products/networking/dns-manager/guides/mx-record/) - - - [TXT Records](/docs/products/networking/dns-manager/guides/txt-record/) - - - [NS Records](/docs/products/networking/dns-manager/guides/ns-record/) - - - [SOA Record](/docs/products/networking/dns-manager/guides/soa-record/) - - - [SRV Records](/docs/products/networking/dns-manager/guides/srv-record/) - - - [CAA Records](/docs/products/networking/dns-manager/guides/caa-record/) - -1. Once you have completed the form, click the **Save** button to create the DNS record or save the changes to an existing record. - -{{< note >}} -New DNS records may take up to 24 hours to propagate throughout the internet, although they are usually visible within several hours. -{{< /note >}} - -## Delete a DNS Record - -1. View the DNS Records for your domain in Cloud Manager. See [View DNS Records](#view-dns-records). - -1. Locate the section for the record type you want to remove, find the record in the list, and click the corresponding **Delete** button. - - ![Screenshot of a DNS Record entry with the Delete button highlighted](delete-dns-record.png) - -## Special Cases - -### Wildcards - -A [wildcard DNS record](https://en.wikipedia.org/wiki/Wildcard_DNS_record) matches all requests for subdomains that do not yet exist. Wildcards are often used to point all non-existing subdomains to an existing top level domain. For example, if a queried first-level subdomain does not exist, the IP address specified in the wildcard DNS record will respond. Wildcard records are formatted using an asterisk (`*`) in the field that designates the domain name of the record. For A records and CNAME records, this field is called **Hostname**. - -{{< note >}} -A wildcard must always be the furthest subdomain from the TLD (top level domain), i.e. `*.example.com`. If you would like to add a wildcard as a subdomain for a subdomain (what is also called a *second-level* subdomain or *fourth-level* domain), you will need to add a new domain zone for that subdomain and then add the wildcard record to it. For example, to create `*.subdomain.example.com`, you must add a separate domain zone for `subdomain.example.com` first, then add an A/AAAA DNS record to that zone as indicated above. -{{< /note >}} - -### Second-level Subdomains - -Linode's DNS Manager only supports subdomains one-level deep. It does not support second-level subdomains, such as *second.first.example.com*. To do this, you need to create a *separate* domain zone in the DNS Manager for the *first-level* subdomain (such as *first.example.com*), add NS records on the original root domain pointing to that subdomain zone, and then add your desired second-level subdomain records. diff --git a/docs/products/networking/dns-manager/guides/manage-dns-records/view-dns.png b/docs/products/networking/dns-manager/guides/manage-dns-records/view-dns.png deleted file mode 100644 index e55c3c183a7..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-dns-records/view-dns.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-domains/clone-domain.png b/docs/products/networking/dns-manager/guides/manage-domains/clone-domain.png deleted file mode 100644 index bd14a0d2fe8..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-domains/clone-domain.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-domains/delete-domain.png b/docs/products/networking/dns-manager/guides/manage-domains/delete-domain.png deleted file mode 100644 index faa181b5aee..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-domains/delete-domain.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-domains/disable-domain.png b/docs/products/networking/dns-manager/guides/manage-domains/disable-domain.png deleted file mode 100644 index 5d58318da7b..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-domains/disable-domain.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-domains/domain-clone-a-zone.png b/docs/products/networking/dns-manager/guides/manage-domains/domain-clone-a-zone.png deleted file mode 100644 index 770b321bcda..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-domains/domain-clone-a-zone.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-domains/edit-domain-details.png b/docs/products/networking/dns-manager/guides/manage-domains/edit-domain-details.png deleted file mode 100644 index 07904698acc..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-domains/edit-domain-details.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/manage-domains/index.md b/docs/products/networking/dns-manager/guides/manage-domains/index.md deleted file mode 100644 index 4dd633a76b2..00000000000 --- a/docs/products/networking/dns-manager/guides/manage-domains/index.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: "Manage Domains" -description: "How to manage domains using the Linode DNS Manager." -published: 2020-07-21 -modified: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform","cloud manager"] -aliases: ['/docs/products/networking/dns-manager/guides/remove-domains/'] ---- - -## View Domains - -Log in to [Cloud Manager](https://cloud.linode.com) and select *Domains* from the left menu. If any domains have already been added, they are listed on this page. - -![Screenshot of the Domains listing page in Cloud Manager](view-domains.png) - -Each domain in your account is displayed along with its status, the type of domain zone (*primary* or *secondary*), and when it was last modified. - -## Add a Domain - -To add a domain to your account, follow the instructions within the [Create a Domain](/docs/products/networking/dns-manager/guides/create-domain/) guide. - -## Review and Edit a Domain - -{{< note >}} -This section covers viewing and editing the details of the domain itself. If you wish to view and edit DNS records, see [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/). -{{< /note >}} - -1. Navigate to the **Domains** page in Cloud Manager. See [View Domains](#view-domains). - -1. Locate the domain you wish to view or edit. Click on the corresponding **Edit** link. - - ![Screenshot of a domain entry with the Edit button highlighted](edit-domain-details.png) - -1. The **Edit Domain** panel appears. This displays the following fields along with their current values: - - - **Domain zone type:** This designates if the domain zone should operate as a *primary* or *secondary* name server. The value can't be changed after the domain has been created. - - **Domain:** The domain name for the domain. This is typically the bare domain (such as *example.com*) but could also include a subdomain (such as *web.example.com*). - - **SOA Email Address:** The email address to use as the domain administrator. Ideally the SOA email should not be on the domain it's administering, as it should be accessible if there are any issues with the domain or the infrastructure hosting the domain. - - **Tags:** Tags can help identify and group related Linode services. - -1. To save the changes, click the **Save Changes** button. - -## Clone a Domain - -The *Clone* feature lets you copy DNS records from an existing domain in your Linode account to a new domain. If you've already set up DNS records for one of the services you host on your Linode account, this is a good way to quickly assign another domain to that same service. - -Here's how to clone DNS records for an existing domain: - -1. Navigate to the **Domains** page in Cloud Manager. See [View Domains](#view-domains). - -1. Click on the **more options ellipsis** corresponding to the domain whose DNS records you would like to clone and select **Clone** from the menu. - -1. Enter the name of the new domain in the **New Domain** field. - -1. Click **Create**. The DNS records will then be copied from the existing domain to the new domain. - -## Disable (and Enable) a Domain - -When a domain is added to your account, it is *enabled* by default. This means that the domain is active and accessible through Linode's name servers. Disabling a domain causes it to no longer be accessible on our name servers. To change this setting, follow the instructions below. - -1. Navigate to the **Domains** page in Cloud Manager. See [View Domains](#view-domains). - -1. Locate the domain you wish to disable or enable. Click on the corresponding **Disable** (or **Enable**) link. - - ![Screenshot of a domain entry with the Disable button highlighted](disable-domain.png) - - Once you have changed the setting, its status will change to either *Active* (which means it is enabled) or *Disabled*. - -## Delete a Domain - -If one of your domain names has expired or if you want to start using a different DNS provider, you can remove the domain from the Linode platform. This deletes all of the associated DNS records and makes it so that they are no longer hosted on Linode's name servers. - -{{< note >}} -Before deleting your domain from Linode, consider if you wish to continue using the domain (or not) and take the appropriate action. - -- **If you intend to use another DNS provider:** Recreate all of your DNS records on your other DNS provider and update the name servers on your domain's registrar to point to this new provider. Once theses changes are made and have taken affect, you can delete the domain from Linode without any resolution errors. - -- **If you no longer wish to use this domain:** Remove Linode's name servers from your domain's registrar. *If the entries are not deleted, someone could use your domain on Linode's DNS Manager without your permission.* -{{< /note >}} - -1. Navigate to the **Domains** page in Cloud Manager. See [View Domains](#view-domains). - -1. Locate the domain you wish to remove and click on the corresponding **Delete** button. To see this option, you may need to select the *ellipsis* menu. - - ![Screenshot of a domain entry with the Delete button highlighted](delete-domain.png) - - This permanently delete the domain and all of its DNS records from Linode's name servers. It only takes a few minutes for the changes to take effect. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/manage-domains/view-domains.png b/docs/products/networking/dns-manager/guides/manage-domains/view-domains.png deleted file mode 100644 index 01258b6d81d..00000000000 Binary files a/docs/products/networking/dns-manager/guides/manage-domains/view-domains.png and /dev/null differ diff --git a/docs/products/networking/dns-manager/guides/mx-record/index.md b/docs/products/networking/dns-manager/guides/mx-record/index.md deleted file mode 100644 index 0ca5e741869..00000000000 --- a/docs/products/networking/dns-manager/guides/mx-record/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "MX Records" -description: "Learn how to create MX records using Linode's DNS Manager" -published: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## MX Overview - -An **MX** (*mail exchanger*) record sets the mail delivery destination for a domain or subdomain. This tells others what server is operating as the mail server so emails are routed to that destination. If MX records are configured incorrectly, emails might not be delivered to the intended users. - -## Properties - -- **Mail Server:** The root domain or subdomain where email should be routed. There should be a corresponding A record for this domain that stores the IP address of the mail server. This value should ideally point to a domain that is also the designated [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname) for the mail server. - - {{< note >}} - The mail server does not need to be hosted on a Compute Instance. You can also use a domain for a third-party email provider, like Gmail (through Google Workspace), Outlook (through Office 365), or ProtonMail (on plans that support custom domains). - {{< /note >}} - -- **Preference** (also called *priority*): A number representing the priority of the mail server, with lower numbers having higher priority. This value matters when you have more than one MX record for the same subdomain. - -- **Subdomain:** The domain that you wish to use for your email addresses. - - - For email addresses on the root domain (*user@example.com*), leave the field blank. - - For email addresses on a subdomain (*user@subdomain.example.com*), enter a string that's 1-63 characters in length and contains only letters, numbers, and underscores. Hyphens can also be used, but the string cannot start with one. - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. - -## Null MX Record - -If you do not intend to accept any email through your domain, you can add a **Null MX** record, which is simply a specially formatted MX record. This is preferable to not adding any MX records, which causes the sender to still perform email delivery attempts on any A or AAAA records for that domain. A Null MX record tells the sending mail server to stop all delivery attempts, freeing up resources and allowing the sender to resolve any issues with the email address faster. - -The instructions for creating a Null MX record vary by DNS provider. For Linode's DNS Manager, the *Subdomain* (name) field should be blank, the *Preference* (priority) field should be 0, and the *Mail Server* field should be blank. This prevents you from creating any other MX records for the domain. diff --git a/docs/products/networking/dns-manager/guides/ns-record/index.md b/docs/products/networking/dns-manager/guides/ns-record/index.md deleted file mode 100644 index 5fd8f5fa4c0..00000000000 --- a/docs/products/networking/dns-manager/guides/ns-record/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "NS Records" -description: "Learn how to create NS records using Linode's DNS Manager" -published: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## NS Overview - -**NS** (*Name Server*) records specify the name servers used for a domain or subdomain. Name servers for the root domain (like *example.com*) are set directly on the domain's registrar, as well as through NS records. By default, five NS records are automatically created for you on Linode's DNS Manager, one for each of Linode's name servers (ns1.linode.com through ns5.linode.com). These can not be modified. Additional NS records can be created if you wish use a subdomain with a different DNS provider or manage it as a separate *Domain* (zone file) in Linode's DNS Manager. - -The order of NS records does not matter. A random NS record for a domain will be provided when the domain is queried. If one name server fails to respond, another one will be queried. - -## Properties - -- **Name Server:** The name server you wish to use. This could be name server corresponding with a third-party DNS service. If you wish to still use Linode's DNS Manager but manage the subdomain as a separate *Domain* (zone file), enter Linode's name servers. - -- **Subdomain:** The subdomain that you wish to manage as a separate *Domain* (zone file) or through another DNS provider. - - - Enter a string that's 1-63 characters in length and contains only letters, numbers, and underscores. Hyphens can also be used, but the string cannot start with one. - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/outgoing-dns-zone-transfers/index.md b/docs/products/networking/dns-manager/guides/outgoing-dns-zone-transfers/index.md deleted file mode 100644 index 572a2472b55..00000000000 --- a/docs/products/networking/dns-manager/guides/outgoing-dns-zone-transfers/index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: "Outgoing DNS Zone Transfers" -description: "How to transfer domain zones using the Linode DNS Manager." -published: 2020-07-21 -modified: 2022-11-08 -keywords: ["dns"] -tags: ["linode platform","cloud manager"] -aliases: ['/products/networking/dns-manager/guides/transfer-domain-zones/'] ---- - -When a domain zone is created within Linode's DNS Manager, you can select if it will operate as a *primary* or a read-only *secondary* zone (see [Select the Zone Type](/docs/products/networking/dns-manager/guides/create-domain/#select-the-zone-type)). Selecting *primary* lets you edit the DNS records directly within the DNS Manager and is the most common choice. - -If you have configured your domain zone as *primary*, you can designate external DNS name servers as *secondaries*. The DNS Manager will then send a NOTIFY request to those name servers when you make any DNS changes. The external name server should then respond back with an AXFR query, which triggers Linode to send an AXFR response with the updated DNS zone. This guide covers the configuration needed to perform outgoing DNS zone transfers, including updating your SOA record. - -{{< note type="alert" >}} -To perform AXFR transfers, you must specify the IP address for each external DNS name server you wish to use. Granting another server access to zone information is potentially dangerous. Do not add any IP addresses that you do not know or trust. -{{< /note >}} - -## Configure the External DNS Provider - -Before continuing, make sure that you've added your domain to the external DNS provider you wish to use. When creating the domain zone on that provider, you may be given the option to create it as a *secondary* (or *read-only*) zone. Make sure to select that option. If you do not know how to create a secondary domain zone on that DNS provider, you may need to consult their documentation or contact them for assistance. - -To facilitate quick updates, Linode immediately sends the external name servers a NOTIFY request when you update DNS records through the DNS Manager. If you wish to have this trigger an AXFR zone transfer, you will likely need to add the following IP addresses to the ACL or allow-list of those name servers. If you do not do this, the external name servers will only update DNS records when the refresh time has elapsed. - -``` -104.237.137.10 -45.79.109.10 (was 65.19.178.10) -74.207.225.10 -207.192.70.10 -109.74.194.10 -2600:3c00::a -2600:3c01::a -2600:3c02::a -2600:3c03::a -2a01:7e00::a -``` - -{{< note type="alert" >}} -On February 7th, 2023, the IP address `65.19.178.10` will be retired and replaced with `45.79.109.10`. Both IPs will respond to inbound requests until the cutover date. Outbound requests will only originate from the old IP address (`65.19.178.10`) until the cutover date. Please update your firewall rules and DNS server configurations to add the new IP address (`45.79.109.10`) before the cutover. -{{< /note >}} - -## Add Secondary Name Servers - -1. Log in to [Cloud Manager](https://cloud.linode.com), select *Domains* from the left menu, and click on the domain you wish to update. - -1. Locate the **SOA Record** section and click **Edit**. This action may appear within the corresponding **ellipsis** menu. - -1. In the **Edit SOA Record** pane, find the **Domain Transfer IPs**. Add the IP addresses for each external name server you wish to notify of DNS changes and send the DNS zone. To add each additional IP address, click **Add an IP**. - -1. Click on **Save** to keep the changes. - -{{< note >}} -If you ever decide to stop using the secondary name server, be sure to remove its IP address from this list. -{{< /note >}} - -## Test AXFR Transfers - -When performing the AXFR DNS query, point your secondary name server to `axfr1.linode.com` (or up to `axfr5.linode.com`) instead of `ns1.linode.com`. To test the AXFR query locally, follow the above instructions to allow your computer's IP address as one of the ****Domain Transfer IPs**** in the SOA Record for your domain. This may take a few minutes before going into effect. Then run the following `dig` command, replacing **example.com** with your domain: - - dig axfr example.com @axfr1.linode.com - -The query should output all DNS records on the domain. If a `Transfer failed` message is received instead, it may be because your computer's IP address wasn't added properly within the DNS Manager. Review the settings, wait a few minutes, and then try again. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/soa-record/index.md b/docs/products/networking/dns-manager/guides/soa-record/index.md deleted file mode 100644 index 1dbafd8d2b2..00000000000 --- a/docs/products/networking/dns-manager/guides/soa-record/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "SOA Record" -description: "Learn how to create SOA records using Linode's DNS Manager" -published: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## SOA Overview - -The **SOA** (*Start of Authority*) record stores administrative information for the domain. This includes the responsible party's email address and various time periods for actions taken by secondary name servers. While some DNS providers do not offer the ability to modify the SOA record, some fields can be modified in Linode's DNS Manager. - -## Properties - -- **Domain** (also called *NAME*): The domain name for the *Domain* entry and the corresponding zone file. Only change this value if you wish to change the domain name that is managed by Linode's DNS Manager. - -- **SOA Email** (also called *RNAME*): The administrative email address for the domain. This email should belong to a *different* domain. - -- **Domain Transfer IPs:** A list of IP addresses that are able to perform AXFR transfers. If you wish to allow other DNS providers the ability to transfer the domain zone, their corresponding IP addresses can be added here. See [Transfer Domain Zones](/docs/products/networking/dns-manager/guides/outgoing-dns-zone-transfers/) - -- **Default TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. - -- **Refresh Rate:** The amount of time (in seconds) a secondary DNS server will keep the zone file before it checks for changes. - -- **Retry Rate:** The amount of time a secondary DNS server will wait before retrying a failed zone file transfer. - -- **Expire Rate:** The amount of time a secondary DNS server will wait before expiring its current zone file copy if it cannot update itself. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/srv-record/index.md b/docs/products/networking/dns-manager/guides/srv-record/index.md deleted file mode 100644 index 9f73d43bd4b..00000000000 --- a/docs/products/networking/dns-manager/guides/srv-record/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "SRV Records" -description: "Learn how to create SRV records using Linode's DNS Manager" -published: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## SRV Record Overview - -An **SRV** (*service*) record provides the target hostname and port for a given service. This lets you direct traffic for specific services to a server other than what is specified in corresponding DNS records. SRV records are required for some protocols, such as XMPP and SIP. - -## Properties - -- **Service:** The name of the service, such as *sip* or *xmpp*. The DNS Manager automatically includes a leading underscore character (`_`) and trailing period (`.`). - -- **Protocol:** The name of the protocol you wish to use. Select from one of the supported protocols: *tcp*, *udp*, *xmpp*, *tls*, and *smtp*. The DNS Manager automatically formats this to conform to the SRV record standards. - -- **Domain:** The name of the domain that will receive the original traffic for this service. This is generated automatically by Linode DNS Manager and is based on the root domain (the domain name specified when you created the *Domain* entry). If you wish to enable an SRV on a subdomain, you must create a separate zone (*Domain* entry) for that subdomain - -- **Priority**: A number representing the priority of the target host, with lower numbers having higher priority. This value matters when you have more than one SRV record for the same service, allowing you to have one or more fallback hosts. - -- **Weight**: A number representing the weight given to the target host. When multiple hosts have the *same* priority, clients should load balance them according to their weight. Hosts with larger weights are sent a larger portion of the traffic. - -- **Port**: The port used by the service on the target host. - -- **Target**: The target domain name where traffic should be redirected. This could be the root domain, a subdomain, or a separate domain entirely. Enter the `@` character to use the root domain. The target domain name must have a valid A or AAAA record to specify the IP address of the target host. - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/troubleshooting-dns/index.md b/docs/products/networking/dns-manager/guides/troubleshooting-dns/index.md deleted file mode 100644 index 2bb6468d6d9..00000000000 --- a/docs/products/networking/dns-manager/guides/troubleshooting-dns/index.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Diagnose & Resolve DNS Records in DNS Manager -title_meta: Troubleshooting DNS Records -description: 'Having problems with your DNS records? This guide to help get your DNS settings back on track. Follow these tips to troubleshoot DNS issues.' -published: 2020-07-09 -keywords: ["dns manager", "linode dns", "Linode Cloud Manager dns", "dns configuration", "ttl", "domain zones", "domain name"] -tags: ["linode platform","resolving","cloud manager","dns"] -aliases: ['/platform/manager/troubleshooting-dns/','/guides/troubleshooting-dns/'] ---- - -Having problems with your DNS records? This guide to help get your DNS settings back on track. Follow these tips to troubleshoot DNS issues. - -## Before You Begin - -The *Domains* section of the [Linode Cloud Manager](https://cloud.linode.com/domains) is a comprehensive DNS management interface that lets you add DNS records for all of your domain names. For an introduction to DNS Manager including setting up DNS records, see the [DNS Manager](/docs/products/networking/dns-manager/) guide. - -{{< note >}} -Linode's DNS service employs [Cloudflare](https://cloudflare.com) to provide denial of service (DDoS) mitigation, load balancing, and increased geographic distribution for our [name servers](/docs/guides/dns-overview/#name-servers). These factors make our service reliable, fast, and a great choice for your DNS needs. -{{}} - -{{< note >}} -To use the Linode DNS Manager to serve your domains, you must have an active Linode on your account. If you remove all active Linodes, your domains will no longer be served. -{{< /note >}} - -## Wait for Propagation - -DNS updates will take effect, or *propagate*, within the time period set by your zone file's [TTL](#set-the-time-to-live-or-ttl). If you've just made a DNS change and aren't seeing it reflected yet, the new information may not be available for up to 48 hours. - -While you can't control DNS caching at every point on the Internet, you do have control over your web browser. Try holding down the *Shift* key or the *Control* key (depending on your browser) while you refresh the page to bypass your browser's cache of the old DNS data. You can also try bringing up your site in an alternate browser or editing your hosts file to [preview your website without DNS](/docs/guides/previewing-websites-without-dns/). - -## Set the Time To Live or TTL - -In the context of DNS, Time to Live (TTL) tells internet servers how long to cache particular DNS entries. **The default TTL for Linode domain zone files is 24 hours**. This is fine for most situations because most people don't update their IP addresses often. - -However, there are times when you'll want the TTL to be as low as possible. For instance, when you make a DNS change, you'll want that change to propagate quickly. Otherwise, some people will see the new site right away, and others (who had the old data cached) will still be visiting the website at your old server. Long caching times can be even more problematic when it comes to email, because some messages will be sent to the new server and some to the old one. - -The solution is to lower your TTL before making a DNS change. You'll want to lower the TTL first, before making any other DNS changes. Here's a general overview of what should happen during a smooth DNS update: - -{{< note >}} -TTL is always written out in seconds, so 24 hours = 86400 seconds. -{{< /note >}} - -1. Check the TTL value for the DNS record you will be updating. Typically, this will be 24 or 48 hours. -1. Update the relevant DNS records 48 to 96 hours in advance (for a 24-48 hour record), taking into account any intermediate DNS servers. Lower the TTL to five minutes (300 seconds, or the lowest allowed value). Do not make any other changes at this time. -1. Wait out the original 48 to 96 hours. -1. Visit your domain's DNS records in the Linode Cloud Manager again to update your IP address and anything else needed. -1. The DNS changes should propagate within 30 minutes. - -## Find Current DNS Information - -Sometimes you may need to find the current DNS information for a domain. There are two great tools for doing this: - -- **dig**: Look up individual DNS entries. For example, you can find the IP address where your domain resolves. - -- **whois**: Find your registrar and nameserver information for your domain. - -If you're using a computer that runs macOS or Linux, you can use these tools from the command line. To find your domain's IP (the primary A record), run: - -```command -dig example.com -``` - -Look in the *answer* section of the output to locate your IP address. You can also query for other types of records. For example, to see the mail records for a domain, run: - -```command -dig mx example.com -``` - -This returns all of your domain's MX records. - -To find your domain's registrar and nameserver information, run: - -```command -whois example.com -``` - -This generates a large amount of information about the domain. The basic information you need will be near the top of the output, so you might have to scroll back to see it. - -For a web-based tool, you can also use [kloth.net](http://www.kloth.net/services/dig.php) for dig requests and [whois.net](http://whois.net/) for WHOIS requests. Note that since you're running these lookups from a third-party website, the information they find is not necessarily what your local computer has cached. There should be a difference only if you've made recent changes to your DNS information. - -For more information and examples on how to use dig, see our [Use dig to Perform Manual DNS Queries](/docs/guides/use-dig-to-perform-manual-dns-queries/) guide. - -## Name Resolution Failures - -If you have DNSSEC enabled at your domain's registrar it will cause name resolution failures such as `NXDOMAIN` when an attempt is made to access the DNS. This is because the Linode DNS Manager does not support DNSSEC at this time. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/guides/txt-record/index.md b/docs/products/networking/dns-manager/guides/txt-record/index.md deleted file mode 100644 index 8db89affd6f..00000000000 --- a/docs/products/networking/dns-manager/guides/txt-record/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "TXT Records" -description: "Learn how to create TXT records using Linode's DNS Manager" -published: 2022-10-28 -keywords: ["dns"] -tags: ["linode platform"] ---- - -## TXT Record Overview - -**TXT** (*text*) records stores text and can be used to provide information about the domain. It is the most flexible DNS record type and can serve many different purposes, including email security (SPF, DKIM, DMARC) or prove ownership of a domain to an outside service. - -## Properties - -- **Hostname:** The root domain or the subdomain that you wish to use. - - - For the root domain (such as *example.com*), leave the field blank. - - For a subdomain (such as *text.example.com*), enter a string that's 1-63 characters in length and contains only letters, numbers, and underscores. Hyphens can also be used, but the string cannot start with one. - -- **Value:** The text you wish to include. - - - TXT records are composed of 1 or more strings. Each string can have a maximum of 255 characters and are encapsulated by quotation marks. The Linode DNS Manager automatically splits the contents of the *Value* field into strings (including adding quotation marks). You do not need to manage this yourself. - -- **TTL** (*Time To Live*): The length of time that DNS resolvers should store the DNS record *before* revalidating it with Linode's name servers. Setting the TTL to **5 minutes** is recommended for many use cases. If **Default** is selected, the TTL is set to **24 hours**. \ No newline at end of file diff --git a/docs/products/networking/dns-manager/resources/index.md b/docs/products/networking/dns-manager/resources/index.md deleted file mode 100644 index 218f0fc7aea..00000000000 --- a/docs/products/networking/dns-manager/resources/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Resources -title_meta: "Resources for the Linode DNS Manager" -description: "Resources and other information related to the Linode DNS Manager including blog posts and community posts." -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [Reverse DNS Manager](https://www.linode.com/blog/networking/reverse-dns-manager/) - -- [DNS AXFR ACLs and IPv6 masters](https://www.linode.com/blog/networking/dns-axfr-acls-and-ipv6-masters/) - -- [Announcing Linode Manager for iPhone](https://www.linode.com/blog/linode/linode-manager-for-iphone/) - -- [Linode Manager Security Features](https://www.linode.com/blog/linode/linodemanager-security-features/) - -- [New Linode Manager released](https://www.linode.com/blog/linode/new-linode-manager-released/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -- [2019: A Big Year of Innovation for Linode a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [Introducing the Linode API](https://www.linode.com/blog/linode/introducing-the-linode-api/) - -## Community Posts - -- [How do you prevent other users from using my domain name in DNS Manager?](https://www.linode.com/community/questions/19605/how-do-you-prevent-other-users-from-using-my-domain-name-in-dns-manager) - -- [How to set up GoDaddy MX records in Linode DNS Manager](https://www.linode.com/community/questions/17603/how-to-set-up-godaddy-mx-records-in-linode-dns-manager) - -- [How do I configure my domain name to send and receive mail through third-party mail services?](https://www.linode.com/community/questions/19205/how-do-i-configure-my-domain-name-to-send-and-receive-mail-through-third-party-m) - -- [How do I configure DNS for my Linode?](https://www.linode.com/community/questions/18354/how-do-i-configure-dns-for-my-linode) - -- [Should I point my domain to my IP or by using reverse DNS?](https://www.linode.com/community/questions/18635/should-i-point-my-domain-to-my-ip-or-by-using-reverse-dns) - -- [How do I configure a subdomain on my ubuntu?](https://www.linode.com/community/questions/19055/how-do-i-configure-a-subdomain-on-my-ubuntu) - -- [How can I setup DKIM for a Subdomain while using the DNS Manager?](https://www.linode.com/community/questions/18514/how-can-i-setup-dkim-for-a-subdomain-while-using-the-dns-manager) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=dns+manager). diff --git a/docs/products/networking/feature.png b/docs/products/networking/feature.png deleted file mode 100644 index 3cbc626d5c4..00000000000 Binary files a/docs/products/networking/feature.png and /dev/null differ diff --git a/docs/products/networking/feature.svg b/docs/products/networking/feature.svg deleted file mode 100644 index 98729b87c1a..00000000000 --- a/docs/products/networking/feature.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/products/networking/nodebalancers/_index.md b/docs/products/networking/nodebalancers/_index.md deleted file mode 100644 index 2733d12d8a9..00000000000 --- a/docs/products/networking/nodebalancers/_index.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: NodeBalancers -title_meta: "NodeBalancer Product Documentation" -description: "Linode's managed cloud-based load balancing service, designed to provide high availability and horizontal scaling to any application." -modified: 2023-11-14 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "Managed cloud-based load balancing service that provides high availability and horizontal scaling to any application." -aliases: ['/platform/nodebalancer/','/nodebalancers/','/guides/platform/nodebalancer/'] ---- - -**NodeBalancers** are managed *load balancers as a service (LBaaS)*, making load balancing accessible and easy to configure on the Linode Platform. They intelligently distribute incoming requests to multiple back-end Compute Instances, so that there's no single point of failure. This enables high availability, horizontal scaling, and A/B testing on any application hosted with Linode. - -## High Availability - -In a typical single machine configuration, issues with the machine may cause the application to stop working as expected or become inaccessible. High availability solutions remove this single point of failure through combining multiple machines (redundancy), monitoring systems, and automatic failover - all of which are implemented by NodeBalancers. - -## Horizontal Scaling - -There are two main ways to scale an application to increase the performance and capacity within your applications. *Vertical scaling* increases or decreases the resources on the existing machines. This is achieved by [resizing](/docs/products/compute/compute-instances/guides/resize/) your Compute Instances. *Horizontal scaling* adds or removes machines that are identically configured to serve your application or perform a certain task. This is commonly accomplished through a load balancing solution, like NodeBalancers. Horizontal scaling can be much more flexible and lets you scale as needed without taking down your site while upgrading or downgrading. - -## Additional Features - -- **Firewall Security:** [Cloud Firewall](/docs/products/networking/cloud-firewall/) provides enhanced security by allowing you to control who can access your NodeBalancer. The optional Cloud Firewall sits between your NodeBalancer and the internet to filter out unwanted network traffic before it reaches your NodeBalancer. When used in conjunction with NodeBalancers, a Cloud Firewall’s inbound rules only apply to the NodeBalancer’s public IP, not the IPs of the back-end nodes. This means you may also want to add individual back-end nodes to a Cloud Firewall to protect any additional exposed IP addresses. - -- **Managed:** NodeBalancers take the infrastructure management out of load balancing. They are designed to be maintenance free after initial configuration. - -- **Sticky Sessions:** NodeBalancers can route subsequent requests to the same back end, so all application sessions work correctly. - -- **Health Checks:** Traffic is only routed to healthy back ends. Passive health checks happen on every request. You can configure active health checks based on your application or service. - -- **SSL Termination:** NodeBalancers can terminate SSL traffic on your behalf and expose the requester’s IP through the back end. This is done using configurable rulesets that give you the power to fine-tune admissible traffic. - -- **Throttling:** Prevent potential abuse (and preserve resources on your back ends) by setting a client connection throttle on the NodeBalancer. - -- **Multi-Port:** NodeBalancers support balancing traffic to multiple network ports. Several services can be load balanced with a single NodeBalancer. - -## Recommended Workloads - -- Enterprise applications -- High traffic and e-commerce websites -- Applications that require extreme reliability and uptime -- Applications that need to dynamically scale without any downtime -- A/B testing - -## Availability - -NodeBalancers are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Pricing - -Each NodeBalancer on an account starts at $10/mo ($0.015/hr). [Price](https://www.linode.com/pricing/) may vary by region. - -Cloud Firewall is available at no additional charge to customers. - -## Technical Specifications - -- Managed cloud-based load balancing service -- Dynamically routes traffic over any ports to configurable back-end Compute Instances -- Highly available with built-in redundancy -- Up to 10,000 concurrent connections -- Supports TCP-based (layer 4) load balancing (UDP traffic is not supported) -- Supports HTTP and HTTPS (layer 7) load balancing through the HTTP/1.1 protocol (HTTP/2 is not yet available) -- Supports both SSL termination (using the HTTPS protocol mode) and SSL pass-through (using the TCP protocol mode) -- Equipped with both public IPv4 and IPv6 addresses -- Supports inbound Cloud Firewall rules such as IPv4 and IPv6 access control lists (ACLs) to *Accept* or *Drop* ingress traffic. -- Fully customizable health checks to ensure traffic lands on a functioning back end -- 40 Gbps inbound network bandwidth -- Free inbound network transfer -- Outbound network transfer usage is counted towards the account-wide [monthly network transfer pool](/docs/products/platform/get-started/guides/network-transfer/) -- Provisioning and management through [Cloud Manager](https://cloud.linode.com/), [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) - -## Limits and Considerations - -- **Maximum number of concurrent connections:** NodeBalancers each support up to 10,000 concurrent connections. If your application needs to support more than that, [contact support](https://www.linode.com/support/) to determine additional options or consider using multiple NodeBalancers behind a DNS load balancing solution such as [Round-Robin DNS](/docs/guides/setting-up-round-robin-dns/). -- **Connections per second:** There are no defined rate limits for the number of connections over a given time period, though certain modes are more performant. A port configured in **TCP** mode allows for the most number of connections. A port configured in **HTTPS** mode is the most resource intensive and accommodates fewer connections. -- **IP addresses:** A public IPv4 address and IPv6 address are configured on each NodeBalancer. Additional addresses are not available. -- **Private network:** Communication with back-end Linodes occurs over a data center's private network. As such, back-end Linodes must be located within the same data center as the NodeBalancer. -- **HTTP support:** HTTP/1.1 (HTTP/2 support is not yet available). -- **Network transfer:** *Outbound transfer* usage is counted towards the account-wide [monthly network transfer pool](/docs/products/platform/get-started/guides/network-transfer/). This pool is the combined total of the network transfer allowance of each Linode on the account. Both *Incoming transfer* and transfer over the private network are provided at no cost. -- **TLS termination:** When using a NodeBalancer with an application that requires HTTPS, you can either terminate the TLS connection on the NodeBalancer (**HTTPS** mode) or on the back-end Linodes (**TCP** mode). When terminating TLS connections directly on the NodeBalancer, there are a few key considerations: - - **TLS protocols:** TLS v1.2 and v1.3 are supported in **HTTPS** mode. - - While operating in **HTTPS** mode, internal traffic sent to the back-end Linodes will be unencrypted. - - For applications that require a very high connection rate or otherwise need to overcome the above considerations present in **HTTPS** mode, consider operating in **TCP** mode and terminating TLS on the back-end Linodes. - -- **Cloud Firewall support:** When a Cloud Firewall is assigned to a NodeBalancer, the firewall only looks at incoming requests, this means that only inbound Cloud Firewall rules apply and outbound rules are not applicable. - - {{< note >}} - A service (Linode) can be accessed from other interfaces (not just the NodeBalancer). To filter traffic from other interfaces, back-end Linodes require their own firewalls. - {{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/developers/index.md b/docs/products/networking/nodebalancers/developers/index.md deleted file mode 100644 index d067bba9be8..00000000000 --- a/docs/products/networking/nodebalancers/developers/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for NodeBalancers" -description: "Linode NodeBalancers can be created and managed with developer tools like the Linode API, CLI, Linode Cloud Controller Manager, and third party tools and integrations." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. Learn how to manage NodeBalancers with the Linode API: - -- [Configure NodeBalancers with the Linode API](/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/) - -- [NodeBalancers API Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage NodeBalancers](/docs/products/tools/cli/guides/nodebalancers/). - -## Linode Cloud Controller Manager - -**Cloud Controller Manager**: Linode's [Cloud Controller Manager (CCM)](https://github.com/linode/linode-cloud-controller-manager/) is written in Go and is included in every Linode Kubernetes Engine cluster's control plane. It creates a fully supported Kubernetes experience on Linode by providing a way for your cluster to access additional Linode services such as NodeBalancers. - -- [Deploy NodeBalancers with the Linode Cloud Controller Manager](/docs/products/compute/kubernetes/guides/load-balancing/) - -## Third Party Tools & Integrations - -**Terraform**: Terraform is an Infrastructure-as-code tool that includes management features for various types of Linode resources. Use Linode’s [official Terraform Provider](https://registry.terraform.io/providers/linode/linode/latest/docs) to [Create a NodeBalancer with Terraform](/docs/guides/create-a-nodebalancer-with-terraform/). To learn more about Terraform see our documentation library’s [Terraform section](/docs/applications/configuration-management/terraform/). - -**Pulumi**: Pulumi is a development tool that lets you write computer programs which deploy cloud resources. With [Pulumi’s Linode integration](https://github.com/pulumi/pulumi-linode), you can manage your Linode resources in several programming languages, like JavaScript, Go, Python, and TypeScript. Pulumi manages your resources in the same way as Linode's API or CLI. See [Pulumi’s documentation](https://www.pulumi.com/docs/intro/cloud-providers/linode/) to get started. - -- [Create and Configure a NodeBalancer with Pulumi](/docs/guides/deploy-in-code-with-pulumi/#create-and-configure-a-nodebalancer) diff --git a/docs/products/networking/nodebalancers/feature.png b/docs/products/networking/nodebalancers/feature.png deleted file mode 100644 index 37d8e5b0180..00000000000 Binary files a/docs/products/networking/nodebalancers/feature.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/feature.svg b/docs/products/networking/nodebalancers/feature.svg deleted file mode 100644 index 205f06f24ac..00000000000 --- a/docs/products/networking/nodebalancers/feature.svg +++ /dev/null @@ -1,7 +0,0 @@ - - NodeBalancers - - - - - \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/get-started/Getting-Started-with-NodeBalancers-smg.jpg b/docs/products/networking/nodebalancers/get-started/Getting-Started-with-NodeBalancers-smg.jpg deleted file mode 100644 index 1ae39e1a790..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/Getting-Started-with-NodeBalancers-smg.jpg and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/getting-started-with-nodebalancers.png b/docs/products/networking/nodebalancers/get-started/getting-started-with-nodebalancers.png deleted file mode 100644 index 717a4954292..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/getting-started-with-nodebalancers.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/index.md b/docs/products/networking/nodebalancers/get-started/index.md deleted file mode 100644 index 2b513a032ea..00000000000 --- a/docs/products/networking/nodebalancers/get-started/index.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with NodeBalancers" -description: "Learn how to quickly start using a NodeBalancer, including advice on architecting your application and configuring the NodeBalancer" -published: 2022-10-07 -tab_group_main: - weight: 30 -keywords: ["nodebalancers", "nodebalancer", "load balancers", "load balancer", "load balancing", "high availability", "ha"] -tags: ["cloud manager","linode platform","networking","web applications"] -aliases: ['/nodebalancers/getting-started/','/platform/nodebalancer/getting-started-with-nodebalancers-new-manager/','/platform/nodebalancer/getting-started-with-nodebalancers/','/linode-platform/nodebalancer-howto/','/platform/nodebalancer/getting-started-with-nodebalancers-classic-manager/', '/guides/nodebalancer/getting-started-with-nodebalancers/','/guides/getting-started-with-nodebalancers/'] ---- - -Nearly every production application can benefit from a load balancing solution like Linode's NodeBalancers. This guide covers how to get started with NodeBalancers, including how to architect your application, configure the NodeBalancer, and update the DNS. - -## Prepare the Application - -To start using a NodeBalancer and benefiting from load balancing, your application should be stored on at least two Compute Instances. Each instance of your application should be able to fully serve the needs of your users, including being able to respond to web requests, access all necessary files, and query any databases. When determine your application's infrastructure, consider the following components: - -- **Application deployment:** *How will you deploy your application's code and software infrastructure to each Compute Instance?* Consider using automated git deployments or more advanced CI/CD tooling. - -- **File storage and synchronization:** *Should the application's files be stored alongside the application's code or should you consider implementing a distributed storage solution on separate instances?* For simple applications, consider file synchronization/backup tools like [rsync](https://linux.die.net/man/1/rsync) or [csync2](https://linux.die.net/man/1/csync2). For a more robust solution, consider a distributed file system like [GlusterFS](https://www.gluster.org/). - -- **Database replication:** *How will you maintain consistency between multiple databases?* Consider the suggested architecture and available tooling for the database software you intend to use. Linode [Managed Databases](/docs/products/databases/managed-databases/), when deployed with high availability enabled, are a great fully-managed solution. Alternatively, [Galera](https://galeracluster.com/) is a self-hosted option that can be used with MySQL. - - {{% content "dbass-eos" %}} - -In some simple applications, the servers that store your application's code can also store its files and databases. For more complex applications, you may want to consider designating separate application servers, file servers, and database servers. The application servers (where the web server software and application code resides) operate as the back ends to the NodeBalancer. The file servers and database servers can be built on cloud-based solutions (like Managed Databases) or self-hosted software on Compute Instances. - -For advice on load balancing and high availability, review the following resources: - -- [Introduction to Load Balancing](/docs/products/networking/nodebalancers/guides/load-balancing/) -- [Introduction to High Availability](/docs/guides/introduction-to-high-availability/) -- [Host a Website with High Availability](/docs/guides/host-a-website-with-high-availability/) - -## Create the NodeBalancer - -If you are using a Cloud Firewall with this NodeBalancer, have the name of the firewall available. To see a listing of available firewalls, log in to [Cloud Manager](https://cloud.linode.com) and select **Firewalls** from the navigation menu. If the firewall doesn't exist yet, [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) and [Add Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). - -Once your application has been deployed on multiple Compute Instances, you are ready to create the NodeBalancer. Simple instructions have been provided below. For complete instructions, see the [Create a NodeBalancer](/docs/products/networking/nodebalancers/guides/create/) guide. - -1. Log in to [Cloud Manager](https://cloud.linode.com), select **NodeBalancers** from the left menu, and click the **Create NodeBalancer** button. This displays the *NodeBalancers Create* form. - -1. Enter a **Label** for the NodeBalancer, as well as any **Tags** that may help you organize this new NodeBalancer with other services on your account. - -1. Select a **Region** for this NodeBalancer. The NodeBalancer needs to be located in the same data center as your application's Compute Instances. - -1. If you are using a firewall, select a firewall from the **Assign Firewall** list. Only one Firewall can be selected, however you can attach the same Cloud Firewall to multiple NodeBalancers or other services (devices). - - You can also create a new Firewall by clicking the **Create Firewall** button. This displays the *Create Firewall* drawer. Configure the required field. - - | **Configuration** | **Description** | - | --------------- | --------------- | - | **Label** (Required)| The label is used as an identifier for this Cloud Firewall. | - | **Additional Linodes** (Optional)| The Linode(s) on which to apply this Firewall. A list of all Linodes on your account are visible. You can leave this blank if you do not yet wish to apply the Firewall to a Linode. | - | **Additional NodeBalancers** (Optional) | The NodeBalancers on which to apply this Firewall. A list of all created NodeBalancers on your account are visible. You can leave this blank if you do not want to apply this Cloud Firewall to other NodeBalancers.| - - Click on the **Create Firewall** button to finish creating the Cloud Firewall and to returned to the *NodeBalancers Create* form. - - {{< note >}} - By default, a new Cloud Firewall accepts all inbound and outbound connections. Only inbound firewall rules apply to NodeBalancers, see [Cloud Firewall Inbound Rules for NodeBalancer](/docs/products/networking/nodebalancers/guides/create/#cloud-firewall-inbound-rules-for-nodebalancer). Custom rules can be added as needed in the Firewall application. See [Add New Cloud Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). - {{< /note >}} - -5. Within the *NodeBalancer Settings* area, there is a single configuration block with sections for configuring the port, defining health checks, and attaching back-end nodes. Additional ports can be added using the **Add another Configuration** button. - - {{< note >}} - The following recommended parameters can be used for deploying a website. For other applications or to learn more about these settings, see the [Configuration Options](/docs/products/networking/nodebalancers/guides/configure/) guide. - {{< /note >}} - - - **Port:** For load balancing a website, configure two ports: port 80 and port 443. Each of these ports can be configured separately. See [Configuration Options > Port](/docs/products/networking/nodebalancers/guides/configure/#port). - - - **Protocol:** Most applications can benefit from using the *TCP* protocol. This option is more flexible, supports HTTP/2, and maintains encrypted connections to the back-end Compute Instances. If you intend to manage and terminate the TLS certificate on the NodeBalancer, use *HTTP* for port 80 and *HTTPS* for port 443. See [Configuration Options > Protocol](/docs/products/networking/nodebalancers/guides/configure/#protocol). - - - **Algorithm:** This controls how new connections are allocated across back-end nodes. Selecting *Round Robin* can be helpful when testing (in conjunction with no session stickiness). Otherwise, *Least Connections* can help evenly distribute the load for production applications. See [Configuration Options > Algorithm](/docs/products/networking/nodebalancers/guides/configure/#algorithm). - - - **Session Stickiness:** This controls how subsequent requests from the same client are routed when selecting a back-end node. For testing, consider selecting *None*. Otherwise, *Table* can be used for any protocol and *HTTP Cookie* can be used for *HTTP* and *HTTPS*. See [Configuration Options > Session Stickiness](/docs/products/networking/nodebalancers/guides/configure/#session-stickiness). - - - **Health Checks:** NodeBalancers have both *active* and *passive* health checks available. These health checks help take unresponsive or problematic back-end Compute Instances out of the rotation so that no connections are routed to them. These settings can be left at the default for most applications. Review [Configuration Options > Health Checks](/docs/products/networking/nodebalancers/guides/configure/#health-checks) for additional information. - - - **Back-end nodes:** Each Compute Instance for your application should be added as a *back-end node* to the NodeBalancer. These Compute Instances need to be located in the same data center as your NodeBalancer and have private IP addresses assigned to them. Set a **Label** for each instance, select the corresponding **IP address** from the dropdown menu, and enter the **Port** that the application is using on that instance. See [Back-end Nodes (Compute Instances)](/docs/products/networking/nodebalancers/guides/backends/). - - For most web applications that have the *inbound* ports 80 and 443 configured using the *TCP* protocol, you can set the back-end nodes to use the same ports. If you are using the *HTTPS* protocol, TLS termination happens on the NodeBalancer and your Compute Instances should only need to listen on port 80 (unencrypted). If that's the case, back-end nodes for both *inbound* ports can be configured to use port 80. - -1. Review the summary and click the **Create NodeBalancer** button to provision your new NodeBalancer. - -## Update the DNS - -After deploying your NodeBalancer and putting your application behind the NodeBalancer, the application can now be accessed using the NodeBalancer's public IPv4 and IPv6 addresses. Since most public-facing applications use domain names, you need to update any associated DNS records. The *A* record should use the NodeBalancer's IPv4 address and the *AAAA* record (if you're using one) should use the NodeBalancer's IPv6 address. See [Manage NodeBalancers](/docs/products/networking/nodebalancers/guides/manage/#review-and-edit-a-nodebalancer) to view your NodeBalancer's IP addresses. For help changing the DNS records, consult your DNS provider's documentation. If you are using Linode's DNS Manager, see [Edit DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/). Keep in mind that DNS changes can take up to 24 hours to fully propagate, though that typically happens much faster. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-1up-small.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-1up-small.png deleted file mode 100644 index e7b21fec713..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-1up-small.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-1up.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-1up.png deleted file mode 100644 index 59adbd8981c..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-1up.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-add-a-name.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-add-a-name.png deleted file mode 100644 index 1c702ce1e12..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-add-a-name.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes-1.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes-1.png deleted file mode 100644 index 3df91ea5b09..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes-1.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes-small.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes-small.png deleted file mode 100644 index 482ab693249..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes-small.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes.png deleted file mode 100644 index 3df91ea5b09..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes2.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes2.png deleted file mode 100644 index b085d9162b4..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-backend-nodes2.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-create-choose-region-small.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-create-choose-region-small.png deleted file mode 100644 index 76d30860ab0..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-create-choose-region-small.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-create-choose-region.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-create-choose-region.png deleted file mode 100644 index ce5ca5af61d..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-create-choose-region.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-hello-world.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-hello-world.png deleted file mode 100644 index 2792c91d553..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-hello-world.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/get-started/nodebalancers-settings.png b/docs/products/networking/nodebalancers/get-started/nodebalancers-settings.png deleted file mode 100644 index 339807b0149..00000000000 Binary files a/docs/products/networking/nodebalancers/get-started/nodebalancers-settings.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/_index.md b/docs/products/networking/nodebalancers/guides/_index.md deleted file mode 100644 index cc8bba6904b..00000000000 --- a/docs/products/networking/nodebalancers/guides/_index.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for NodeBalancers" -description: "A collection of guides on using NodeBalancers to load balance applications hosted on the Linode platform." -modified: 2022-10-07 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Introduction to Load Balancing](/docs/products/networking/nodebalancers/guides/load-balancing/): Learn the basics of load balancing and how NodeBalancers work. - -- [Create a NodeBalancer](/docs/products/networking/nodebalancers/guides/create/): Instructions for creating a new NodeBalancer. - -- [Manage NodeBalancers](/docs/products/networking/nodebalancers/guides/manage/): View, edit, and manage NodeBalancers on your account. - -## Configuration - -- [Configuration Options](/docs/products/networking/nodebalancers/guides/configure/): Edit the port configurations on a NodeBalancer. - -- [Back-end Nodes (Compute Instances)](/docs/products/networking/nodebalancers/guides/backends/): Manage the settings for back-end nodes. - -- [Available Protocols](/docs/products/networking/nodebalancers/guides/protocols/): A list of protocols supported by NodeBalancers - -- [TLS/SSL Termination](/docs/products/networking/nodebalancers/guides/ssl-termination/): Instructions on configuring TLS/SSL certificates on a NodeBalancer. - -- [Client IP Address Pass-through](/docs/products/networking/nodebalancers/guides/client-ip/): Learn the methods of retaining client connection details and passing them to back-end nodes on a NodeBalancer. - -- [Proxy Protocol](/docs/products/networking/nodebalancers/guides/proxy-protocol/): Obtain information about a client when using the TCP protocol. - -## High Availability Concepts and Tutorials - -- [Introduction to High Availability](/docs/guides/introduction-to-high-availability/): Basic overview of high availability, covering redundancy, monitoring, and failover. - -- [Host a Website with High Availability](/docs/guides/host-a-website-with-high-availability/): A walk-through on deploying a high availability web application using Gluster (file replication), Galera (MySQL database replication), and a NodeBalancer. - -## Automated Deployment Tutorials - -- [Configure NodeBalancers with the Linode API](/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/) - -- [Deploy NodeBalancers with the Linode Cloud Controller Manager](/docs/products/compute/kubernetes/guides/load-balancing/) - -- [Create a NodeBalancer with Terraform](/docs/guides/create-a-nodebalancer-with-terraform/) - -- [Create and Configure a NodeBalancer with Pulumi](/docs/guides/deploy-in-code-with-pulumi/#create-and-configure-a-nodebalancer) diff --git a/docs/products/networking/nodebalancers/guides/backends/index.md b/docs/products/networking/nodebalancers/guides/backends/index.md deleted file mode 100644 index 5908d8e0f8b..00000000000 --- a/docs/products/networking/nodebalancers/guides/backends/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: "Back-end Nodes (Compute Instances)" -description: "Instructions for adding and configuring back-end nodes on a NodeBalancer" -published: 2022-10-07 ---- - -Load balancers work by distributing traffic to a pool of servers. For NodeBalancers, these servers are Linode Compute Instances and they are configured as *back-end nodes*. Each Compute Instance operating as a back-end node needs to be located within the same data center as the NodeBalancer and be assigned a private IPv4 address. See [Managing IP addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#adding-an-ip-address) for instructions on adding a private IP address to an existing Compute Instance. - -{{< note >}} -While only a single back-end node is required, *at least* two back ends need to be configured to make use of load balancing functionality. -{{< /note >}} - -## Add, Edit, and Remove Back-end Nodes - -Back-end nodes can be defined through a NodeBalancer's [Configurations](/docs/products/networking/nodebalancers/guides/configure/), which contain all the settings and parameters for a particular *inbound* port. - -1. Log in to [Cloud Manager](http://cloud.linode.com), click **NodeBalancers** in the left menu, and select the NodeBalancer you wish to edit. See [Manage NodeBalancers](/docs/products/networking/nodebalancers/guides/manage/). - -1. Navigate to the **Configurations** tab. This displays a list of all ports that have been configured. - -1. Open the port configuration you wish to edit or create a new one by clicking the **Add Another Configuration** button. - -1. Scroll down to the *Back-end Nodes* section to see a list of back ends that have already been added. - - - Adjust any of the existing fields to edit the back end. - - Click the **Add a Node** button to add a new back end. - - Click the **Remove** link to remove the back end. - -1. Click the **Save** button to save the configuration. - -{{< note >}} -Removing a back end from the NodeBalancer configuration does not delete the associated Compute Instance. It only removes that instance from operating as a back end for this particular NodeBalancer. -{{< /note >}} - -## Back end Configuration Options - -Each back-end node contains the following configuration parameters. - -- **Label**: Sets a label to identify the back end. While any label can be used, it's common to use the label of the associated Compute Instance. -- **IP Address**: Select the private IPv4 address of the Compute Instance you wish to use as the back end. This field has a dropdown list of all Compute Instances within the same region as the NodeBalancer that have a private IPv4 address assigned. -- **Port**: Identifies the port that the NodeBalancer should use when sending traffic to the back end. This should be the port that the application is listening on within this back-end Compute Instance. -- **Weight**: Sets the priority of the back end. Back ends with a higher weight are allocated more connections than back ends with a lower weight. -- **Mode**: Determines if the back end accepts or rejects traffic and in what circumstances. See [Mode](#mode). - -## Mode - -By default, all back ends are allocated traffic according to the configuration settings of the NodeBalancer, provided the back ends have a status of *up*. To change this behavior, use the **Mode** setting to modify how a back end accepts or rejects traffic. - -- **Accept**: Accept incoming connections -- **Reject**: Reject new incoming connections and discontinue health checks on this back end. Existing connections remain active, but session stickiness is not respected. Useful for taking the back end out of rotation to perform maintenance or decommission it. -- **Drain**: Only accept connections from clients whose session stickiness points to this back end. Use *in advance* of taking a back end out of rotation for maintenance or decommissioning to gradually drain connections. -- **Backup**: Only accept connections if all other back ends are down. Useful if you use front-end caching servers, such as Varnish, and want to direct traffic to the origin servers if the caching servers are down. - -{{< note >}} -Changes made to the Mode field are applied within 60 seconds. -{{< /note >}} - -## Understand the Status of a Back-end Node - -Each back-end node has a status of *up* or *down*. - -- **Up**: The back end is healthy and should be kept in rotation, provided that the [Mode](#mode) is allowing traffic. -- **Down**: The back end is *unhealthy* and taken out of rotation. This means that a health check has failed or the **Mode** has been set to *Reject*. - -## Configure Compute Instances - -When adding a Compute Instance as a *Back-end Node* to a NodeBalancer, you must also ensure that it has been properly configured for your application. As part of this, review the following: - -- Install all required software on the Compute Instance. - -- Verify that any required data has been properly replicated on each Compute Instance. There are many different methods of ensuring data is properly replicated between multiple servers, including [rsync](https://linux.die.net/man/1/rsync), [Gluster](https://www.gluster.org/), [Galera](https://galeracluster.com/), or CI/CD tooling. - -- Verify that each instance accepts traffic over the port specified in the back end's configuration and is not blocking addresses from the NodeBalancer's private IP address range: `192.168.255.0/24`. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/client-ip/index.md b/docs/products/networking/nodebalancers/guides/client-ip/index.md deleted file mode 100644 index f9b2a85a4d4..00000000000 --- a/docs/products/networking/nodebalancers/guides/client-ip/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Client's IP Address Pass-through" -description: "Learn the methods of retaining client connection details and passing them to back-end nodes on a NodeBalancer" -published: 2022-10-07 ---- - -In some applications, it's helpful (or required) to know the IP address where the request originally came from, referred to as the client IP. When a NodeBalancer routes traffic to a back-end node, the originating IP address becomes the NodeBalancer's private IP address. This means that the client IP's address is not visible in the location that the application might typically check. To overcome this, there are a few ways to pass the client's IP address to the back-end nodes. The method you select depends on the protocol the NodeBalancer's port is using. - -- **Proxy Protocol**: This method works for the TCP protocol, provided the back-end application also supports it. See [Proxy Protocol](/docs/products/networking/nodebalancers/guides/proxy-protocol/). -- **HTTP Headers:** This method works for the HTTP and HTTPS protocols and is discussed below. - -## HTTP Headers (Using HTTP or HTTPS Protocols) - -NodeBalancers add an X-Forwarded-For (XFF) HTTP header field, which allows your nodes to identify a client's originating IP address. This is useful for logging purposes. Here's an example XFF HTTP header: - - X-Forwarded-For: 196.180.44.172 - -You'll need to configure your web server software to use the XFF header. - -### Apache - -If you're using the Apache web server, you can use the `mod_rpaf` to replace `REMOTE_ADDR` with the client's IP address in the XFF header. After you install the module, you'll need to specify 192.168.255.0/24 as a proxy in `httpd.conf`. - -### Nginx - -If you're using the Nginx web server, you can add the following lines to your Nginx configuration file: - - real_ip_header X-Forwarded-For; - set_real_ip_from 192.168.255.0/24; - -This will allow Nginx to capture the client's IP address in the logs. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/configure/index.md b/docs/products/networking/nodebalancers/guides/configure/index.md deleted file mode 100644 index eaf505c9aee..00000000000 --- a/docs/products/networking/nodebalancers/guides/configure/index.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: "Configuration Options for NodeBalancers" -description: "Learn how to create a NodeBalancer, Linode's custom load balancing solution." -published: 2022-10-07 -keywords: ["load balancing", "nodebalancer"] -tags: ["linode platform","networking"] -aliases: ['/nodebalancers/reference/','/platform/nodebalancer/nodebalancer-reference-guide-new-manager/','/platform/nodebalancer/nodebalancer-reference-guide/','/linode-platform/nodebalancer-reference/','/platform/nodebalancer/nodebalancer-reference-guide-classic-manager/','/guides/nodebalancer-reference-guide/'] ---- - -NodeBalancers, and load balancers in general, operate by taking inbound traffic over certain ports and distributing that traffic to pre-defined back-end instances. For NodeBalancers, the settings that accommodate this behavior are all stored within *Configurations*. Each configuration specifies the inbound port, the protocol, the load balancing algorithm, health checks, and the back-end nodes. This guide covers how to add or edit these configurations as well as the options that are available. - -## Add or Edit Configurations - -Each configuration is assigned a single inbound port. Follow the instructions below to add or edit a configuration. If your application requires multiple inbound ports, create one configuration for *each* port you wish to use. This provides a great amount of flexibility, allowing each port to have its own distinct configuration settings and back-end nodes. - -1. Log in to [Cloud Manager](http://cloud.linode.com), click **NodeBalancers** in the left menu, and select the NodeBalancer you wish to edit. See [Manage NodeBalancers](/docs/products/networking/nodebalancers/guides/manage/). - -1. Navigate to the **Configurations** tab. This displays a list of all ports that have been configured. - - ![Screenshot of a NodeBalancer's Configuration in Cloud Manager](nodebalancer-configurations.png) - -1. Open the port configuration you wish to edit or create a new one by clicking the **Add Another Configuration** button. - -## Configuration Options - -### Port - -This is the *inbound* port that the NodeBalancer is listening on. This can be any port from 1 through 65534, though it should be set to whichever port the client software will connect to. For instance, web browsers use port 80 for HTTP traffic and port 443 for HTTPS traffic, though a client can change the port by specifying it as part of the URL. - -### Protocol - -The protocol can be set to either TCP, HTTP, or HTTPS. While a brief description of each is provided below, review [Available Protocols](/docs/products/networking/nodebalancers/guides/protocols/) for more complete information. - -- **TCP**: Supports most application-layer protocols, including HTTP and HTTPS. This should be selected when you want to enable layer 4 load balancing, use TLS/SSL pass-through, use HTTP/2.0 or higher, balance non-HTTP services, or make use of [Proxy Protocol](#proxy-protocol). Since the NodeBalancer serves as a pass-through for these TCP packets, any encrypted traffic is preserved and must be decrypted on the back-end nodes. - -- **HTTP:** Unencrypted web traffic using HTTP/1.1. This terminates the HTTP request on the NodeBalancer, allowing the NodeBalancer to create a new HTTP request to the back-end machines. This can be used when serving most standard web applications, especially if you intend on configuring the NodeBalancer to use HTTPS mode with TLS/SSL termination. - -- **HTTPS:** Encrypted web traffic using HTTP/1.1. Since this terminates the request on the NodeBalancer, it also terminates the TLS/SSL connection to decrypt the traffic. Use this if you wish to configure TLS/SSL certificates on the NodeBalancer and not on individual back-end nodes. - - {{< note type="warning" noTitle=true >}} - When using the **HTTPS** protocol setting, all traffic is decrypted on the NodeBalancer. Traffic between the NodeBalancer and the back-end nodes is sent over the private data center network, is not encrypted, and uses the HTTP protocol. - {{< /note >}} - -### Proxy Protocol - -When selecting *TCP* as the protocol, **Proxy Protocol** can be enabled to send client information to back-end nodes. Back-end nodes must also have Proxy Protocol enabled on supported applications to receive this information. There are two available versions of Proxy Protocol, **v1** and **v2**: - -- **v1**: Proxy Protocol v1 adds a human readable string to all requests. -- **v2**: Proxy Protocol v2 adds a more efficient binary data header to all requests. - -For more information, see the [Using Proxy Protocol with NodeBalancers](/docs/products/networking/nodebalancers/guides/proxy-protocol/) guide. - -### Algorithm - -The *algorithm* controls how *new connections* are allocated across the back-end nodes. - -- **Round Robin**: Allocates connections in a weighted circular order across the back ends. - -- **Least Connections**: Tracks each back end's connection count and allocates new connections to the one with the least connections. - -- **Source IP**: Modulates the client's IP to allocate them to the same back end on subsequent requests. This works so long as the set of back-end nodes doesn't change, however the **Session Stickiness** setting (below) does affect this behavior. - -### Session Stickiness - -This controls how subsequent requests from the same client are routed when selecting a back-end node. It allows a NodeBalancer to maintain a client session to the same back end. - -- **None**: No session information is saved and requests are routed in only accordance with the *algorithm* (see [Algorithm](#algorithm) above). - -- **Table**: This preserves the initial back end selected for an IP address by the chosen algorithm. Subsequent requests by the same client are routed to that back end, when possible. This map is stored within the NodeBalancer and expires after 30 minutes from when it was added. If a back-end node goes offline, entries in the table for that back end are removed. When a client sends a new request, it is then rerouted to another back-end node (in accordance with the chosen algorithm) and a new entry is created in the table. - -- **HTTP Cookie**: *Requires the configuration protocol be set to HTTP or HTTPS.* The NodeBalancer stores a cookie (named `NB_SRVID`) on the client that identifies the back end where the client is initially routed to. Subsequent requests by the same client are routed to that back end, when possible. If a back-end node goes offline, the request is rerouted to another back-end node (in accordance with the chosen algorithm) and the cookie is rewritten with the new back-end identifier. - - {{< note >}} - The client must have cookies enabled. If the client has disabled cookies or deletes cookies, session persistence is not preserved and each new request is routed in accordance with the chosen algorithm. - {{< /note >}} - -If session persistence is required or desired for the application, it is recommended to use both the *Source IP* algorithm in combination with either *Table* or *HTTP Cookie* session stickiness. - -### TLS/SSL Certificate and Private Key - -When the *HTTPS* protocol is selected, the **Certificate** and **Private Key** fields appear and must be properly configured. - -- **Certificate**: The TLS/SSL certificate (and certificate chain) that has been obtained for the application. - -- **Private Key**: The passphraseless private key that is associated with the certificate file. - -A certificate can be obtained for your domain by using [certbot](https://certbot.eff.org/) or by purchasing one through a trusted certificate authority. See [TLS/SSL Termination](/docs/products/networking/nodebalancers/guides/ssl-termination/) for more details on obtaining a certificate and configuring both the NodeBalancer and back-end nodes. - -{{< note >}} -If you wish to use TLS/SSL pass-through and terminate the HTTPS connection on the back-end nodes, select the **TCP** protocol instead of **HTTPS**. -{{< /note >}} - -## Health Checks - -NodeBalancers perform both passive and active health checks against the back-end nodes. Back ends that are not responsive are marked as *down* and taken out of rotation. - -### Active Health Checks - -*Active* health checks proactively query the back-end nodes by performing TCP connections or making HTTP requests. To enable an active health check, choose from one of the following types: - -- **TCP Connection**: Requires a successful TCP handshake with a back-end node. -- **HTTP Valid Status**: Performs an HTTP request on the provided path and requires a 2xx or 3xx response from the back-end node. -- **HTTP Body Regex**: Performs an HTTP request on the provided path and requires the provided PCRE regular expression matches against the request's result body. - -Additionally, configure the following settings to adjust the frequency and number of attempts: - -- **Check Interval**: Seconds between active health check probes. -- **Check Timeout**: Seconds to wait before considering the probe a failure. 1-30. -- **Check Attempts**: Number of failed probes before taking a node out of rotation. 1-30. - -### Passive Health Checks - -The **passive checks** setting controls if passive health checks are enabled. When enabled, the NodeBalancer monitors all requests sent to back-end nodes. If the request times out, returns a 5xx response code (excluding 501 and 505), or otherwise fails to connect, the back end is marked as *down* and taken out of rotation. - -## Back-end Nodes (Compute Instances) - -Load balancers work by distributing traffic to a pool of servers. For NodeBalancers, these servers are Linode Compute Instances and they are configured as *back-end nodes*. For information on configuring back-end nodes, see the [Configure Back-end Nodes (Compute Instances)](/docs/products/networking/nodebalancers/guides/backends/) guide. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-configurations.png b/docs/products/networking/nodebalancers/guides/configure/nodebalancer-configurations.png deleted file mode 100644 index a96556fa245..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-configurations.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-config2-small.png b/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-config2-small.png deleted file mode 100644 index a7cf0a4e2a5..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-config2-small.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-config2.png b/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-config2.png deleted file mode 100644 index 5af2824d5e6..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-config2.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-settings.png b/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-settings.png deleted file mode 100644 index 0ac0cae928a..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/configure/nodebalancer-rg-nodebalancer-settings.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/create/index.md b/docs/products/networking/nodebalancers/guides/create/index.md deleted file mode 100644 index 413e451a678..00000000000 --- a/docs/products/networking/nodebalancers/guides/create/index.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: "Create a NodeBalancer" -description: "Instructions on creating a NodeBalancer, Linode's load balancing solution." -published: 2022-10-07 -modified: 2023-02-06 ---- - -This guide walks you through creating a NodeBalancer through Cloud Manager. - -1. [Open the Create NodeBalancer Form in Cloud Manager](#open-the-create-nodebalancer-form-in-cloud-manager) -1. [Set the Label](#set-the-label) -1. [Select a Region](#select-a-region) -1. [Assign a Cloud Firewall](#assign-a-cloud-firewall-optional) -1. [Add and Configure Ports](#add-and-configure-ports) -1. [Set Up Health Checks for Each Port](#set-up-health-checks-for-each-port) -1. [Add Back-end Nodes to Each Port](#add-backend-nodes-to-each-port) -1. [Deploy the NodeBalancer](#deploy-the-nodebalancer) - -## Open the Create NodeBalancer Form in Cloud Manager - -Log in to [Cloud Manager](https://cloud.linode.com/) and select **NodeBalancers** from the left navigation menu. Click the **Create NodeBalancer** button. This opens the *[NodeBalancer Create](https://cloud.linode.com/nodebalancers/create)* form. - -## Set the Label - -Within the **Label** field, enter the label you wish to use to identify it from other NodeBalancers on your account. A good label should provide some indication as to what the NodeBalancer will be used for. The label must be alphanumeric, between 3 and 32 characters, and unique from other NodeBalancer labels on your account. - -## Select a Region - -Select the **region** where the NodeBalancer will reside. Regions correspond with individual data centers, each located in a different geographical area. Select the region where you've deployed the Compute Instances you intend on using with this NodeBalancer. If you haven't yet deployed Compute Instances or chosen a region, select the region closest to you and/or your customers. This helps reduce latency and can make a significant impact in connection speeds and quality. - -- [Global Infrastructure](https://www.linode.com/global-infrastructure/) -- [Speed Tests for Data Centers](https://www.linode.com/speed-test/) -- [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) - -## Assign a Cloud Firewall (Optional) - -A NodeBalancer can only be attached to one active (enabled) Cloud Firewall at a time. You can attach the same Cloud Firewall to multiple NodeBalancers or other devices. - -Select the Cloud Firewall from the **Assign Firewall** pull down to use with the NodeBalancer. - -If the firewall doesn't exist yet, you can create the firewall using either the Firewall application, or the NodeBalancer application. Rules for the firewall, can only be added in the Firewall application. - -To create a firewall and add rules using the Firewall application, see [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) and [Add Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). - -To create a firewall using the NodeBalancer application, in the *NodeBalancer Create* form click the **Create Firewall**. This displays the *Create Firewall* drawer. Configure the required field. - -| **Configuration** | **Description** | -| --------------- | --------------- | -| **Label** (Required)| The label is used as an identifier for this Cloud Firewall. | -| **Additional Linodes** (Optional)| The Linode(s) on which to apply this Firewall. A list of all Linodes on your account are visible. You can leave this blank if you do not yet wish to apply the Firewall to a Linode. | -| **Additional NodeBalancers** (Optional) | The NodeBalancers on which to apply this Firewall. A list of all created NodeBalancers on your account are visible. You can leave this blank if you do not want to apply this Cloud Firewall to other NodeBalancers.| - -Click on the **Create Firewall** button to finish creating the Cloud Firewall and to returned to the *NodeBalancers Create* form. - -{{< note >}} -By default, a new Cloud Firewall accepts all inbound and outbound connections. Only inbound firewall rules apply to NodeBalancers. Custom rules can be added in the Firewall application as needed. See [Add New Cloud Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). -{{< /note >}} - -### Cloud Firewall Inbound Rules for NodeBalancer -- Inbound rules limit incoming network connections to the NodeBalancer based on the port(s) and sources you configure. -- The NodeBalancer accepts traffic and routes traffic on an internal network to back end targets. For this reason, only inbound firewall rules apply to NodeBalancer. -- Inbound firewall rules such as IPv4 and IPv6 access control lists (ACLs) can be configured to *Accept* or *Drop* ingress traffic to the NodeBalancer. -- NodeBalancers can accept TCP connections on all ports. When you add an inbound rule for a NodeBalancer in Cloud Firewall, select TCP as the transport layer protocol. UDP, ICMP, and IPENCAP are not currently supported on NodeBalancers. -- The firewall is in front of the NodeBalancer and the assigned back-end nodes. When both the NodeBalancer and its back-end nodes have firewalls, the NodeBalancers inbound firewall rules are applied to incoming requests first, before the requests reach the back-end nodes. -- A back-end node server (Linode) can have multiple IP addresses. The NodeBalancer firewall only controls inbound traffic to the back-end nodes IPs that are assigned to the NodeBalancer. A service (Linode) can be accessed from any interface (not just the NodeBalancer). To filter traffic from other interfaces, back-end Linodes require their own firewalls. - -![Figure of traffic going through firewall and NodeBalancer and traffic bypassing firewall and NodeBalancer](nb-firewall.jpg) - -## Add and Configure Ports - -To start load balancing traffic, you need to define which ports the NodeBalancer should listen to and how the incoming traffic should be routed to the back-end nodes. These ports can be configured within the **NodeBalancer Settings** area. By default, a single port configuration is visible in this area. Additional ports can be added by clicking the **Add Another Configuration** button. See [Configuration Options](/docs/products/networking/nodebalancers/guides/configure/) for more details regarding each of these settings. - -- **Port:** Enter the *inbound* port the NodeBalancer should listen to. This can be any port from 1 through 65534 and should align with the port the client connects to. See [Configuration Options > Port](/docs/products/networking/nodebalancers/guides/configure/#port). -- **Protocol:** Select *TCP*, *HTTP*, or *HTTPS*. For many applications, using *TCP* offers the most flexibility and allows for TLS pass through. Using *HTTP* and *HTTPS* offers some additional NodeBalancer options and allows for TLS termination. See [Configuration Options > Protocol](/docs/products/networking/nodebalancers/guides/configure/#protocol). -- **Proxy Protocol:** *Only visible when the *TCP* protocol is selected.* Used for sending the client IP address to the back-end nodes. See [Configuration Options > Proxy Protocol](/docs/products/networking/nodebalancers/guides/configure/#proxy-protocol). -- **Algorithm:** Controls how new connections are allocated across back-end nodes. See [Configuration Options > Algorithm](/docs/products/networking/nodebalancers/guides/configure/#algorithm). -- **Session Stickiness:** Controls how subsequent requests from the same client are routed when selecting a back-end node. See [Configuration Options > Session Stickiness](/docs/products/networking/nodebalancers/guides/configure/#session-stickiness). - -{{< note >}} -For most web applications, it's common to configure two ports: port *80* and port *443*. -{{< /note >}} - -## Set Up Health Checks for Each Port - -Each port can optionally be configured with health checks. These health checks either proactively query the back-end nodes (*active*) or monitor the existing traffic to back-end nodes (*passive*). If a health check determines that the back ends aren't responsive or are encountering another issue, they can be marked as *down* and taken out of rotation. - -- **Active Health Checks:** Active health checks proactively query the back-end nodes by performing TCP connections or making HTTP requests. See [Configuration Options > Active Health Checks](/docs/products/networking/nodebalancers/guides/configure/#active-health-checks). - -- **Passive Checks:** Passive health checks monitor requests sent to the back-end nodes and look for any issues. See [Configuration Options > Passive Health Checks](/docs/products/networking/nodebalancers/guides/configure/#passive-health-checks). - -## Add Back-end Nodes to Each Port - -Load balancers work by distributing traffic to a pool of servers. For NodeBalancers, these servers are Linode Compute Instances and they are configured as *back-end nodes*. Within the **Back-end Nodes** area of the creation form, add each Compute Instance you intend on using with this NodeBalancer, making sure to select the correct private IP address for the NodeBalancer and the port that the application is using. For information on configuring back-end nodes, see the [Configure Back-end Nodes (Compute Instances)](/docs/products/networking/nodebalancers/guides/backends/) guide. - -## Deploy the NodeBalancer - -Once you've adjusted the settings to fit your needs, review the *NodeBalancer Summary* section and click the **Create NodeBalancer** button. The NodeBalancer should be provisioned within a few minutes. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/create/nb-firewall.jpg b/docs/products/networking/nodebalancers/guides/create/nb-firewall.jpg deleted file mode 100644 index 9e71a7213e1..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/create/nb-firewall.jpg and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/load-balancing/Getting-Started-with-NodeBalancers-smg.jpg b/docs/products/networking/nodebalancers/guides/load-balancing/Getting-Started-with-NodeBalancers-smg.jpg deleted file mode 100644 index 1ae39e1a790..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/load-balancing/Getting-Started-with-NodeBalancers-smg.jpg and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/load-balancing/basicWebServerFlow.png b/docs/products/networking/nodebalancers/guides/load-balancing/basicWebServerFlow.png deleted file mode 100644 index 74d42448798..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/load-balancing/basicWebServerFlow.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/load-balancing/getting-started-with-nodebalancers.png b/docs/products/networking/nodebalancers/guides/load-balancing/getting-started-with-nodebalancers.png deleted file mode 100644 index 717a4954292..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/load-balancing/getting-started-with-nodebalancers.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/load-balancing/index.md b/docs/products/networking/nodebalancers/guides/load-balancing/index.md deleted file mode 100644 index 656461678d3..00000000000 --- a/docs/products/networking/nodebalancers/guides/load-balancing/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: "Introduction to Load Balancing" -description: "This guide shows you how to use Linode NodeBalancers, which are services built for high availability and designed to be maintenance free once deployed." -published: 2022-10-07 -keywords: ["nodebalancers", "nodebalancer", "load balancers", "load balancer", "load balancing", "high availability", "ha"] -tags: ["linode platform","networking"] -aliases: ['/platform/nodebalancer/what-are-nodebalancers/','/guides/what-are-nodebalancers/'] ---- - -Load balancing lets you distribute incoming network traffic across multiple servers so that no one server takes on all the demand. This allows high traffic sites and applications to field a large number of users without performance degradation. It also lets you scale a site or application by adding more servers as your need grows, or remove them if your need diminishes. - -Linode offers load balancers as a service (LBaaS) called NodeBalancers. NodeBalancers are built for high availability and designed to be maintenance free after initial configuration. - -This guide provides a high-level overview of NodeBalancers. To set-up a NodeBalancer, see the [Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/) guide. - -## Overview - -A NodeBalancer is assigned its own public IP address where it will listen for incoming connections. Then, using configurable rules, it routes the connection to one back-end node (out of one or more). A NodeBalancer allows the incoming traffic load to your application to be spread over any number of Linodes. - -### A Non-Load Balanced Configuration - -![Basic Web Server Flow Without Load Balancing](basicWebServerFlow.png) - -In a standard non-load balanced configuration, traffic comes into a server directly. The application or site might be connected to a database or other services, but the server takes care of all traffic. If the traffic becomes unmanageable, load times may become long and the site may even go down. Additionally, any modifications that require updating DNS will inflict downtime for the user. - -### A Simple Load Balanced Configuration - -![Single Web Server Flow With NodeBalancer](singleWebServerNodeBalancer.png) - -When using a load balancer, like a NodeBalancer, traffic comes to the site through the load balancer first. It's then managed before reaching the Linode. In addition to balancing traffic load, NodeBalancers also offer features like [SSL termination](https://en.wikipedia.org/wiki/TLS_termination_proxy). NodeBalancers alleviate this burden from the server allowing them to be faster at other tasks, like serving pages. Therefore, even with only one server on the back end, having a NodeBalancer in front of your server can be an advantage. - -### A Highly Available Load Balanced Configuration - -![Highly Available Sever Flow with NodeBalancer](scaledWebServersNodeBalancer.png) - -The optimal solution for a highly available site or application is to have multiple Linodes behind a NodeBalancer. Now when traffic comes into the NodeBalancer it can be routed to any one of the Linodes available. - -- [Health checks](/docs/products/networking/nodebalancers/guides/configure/#health-checks) are performed to make sure that requests are only routed to healthy Linodes. -- Back-end Linodes can be added or removed seamlessly without end users noticing any downtime. -- Client requests can be routed to the same back-end Linode through [sticky sessions](/docs/products/networking/nodebalancers/guides/configure/#session-stickiness). -- [Cloud Firewall](/docs/products/networking/cloud-firewall/) provides enhanced security by allowing you to control who can access your NodeBalancer. The optional Cloud Firewall sits between your NodeBalancer and the internet to filter out unwanted network traffic before it reaches your NodeBalancer. When used in conjunction with NodeBalancers, a Cloud Firewall’s inbound rules only apply to the NodeBalancer’s public IP, not the IPs of the back-end nodes. This means you may also want to add individual back-end nodes to a Cloud Firewall to protect any additional exposed IP addresses. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/load-balancing/scaledWebServersNodeBalancer.png b/docs/products/networking/nodebalancers/guides/load-balancing/scaledWebServersNodeBalancer.png deleted file mode 100644 index 098ad229874..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/load-balancing/scaledWebServersNodeBalancer.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/load-balancing/singleWebServerNodeBalancer.png b/docs/products/networking/nodebalancers/guides/load-balancing/singleWebServerNodeBalancer.png deleted file mode 100644 index 7d993699278..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/load-balancing/singleWebServerNodeBalancer.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/configure-nodebalancers-with-the-linode-api.png b/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/configure-nodebalancers-with-the-linode-api.png deleted file mode 100644 index 55eb7be7bb5..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/configure-nodebalancers-with-the-linode-api.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/index.md b/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/index.md deleted file mode 100644 index ba8c9359084..00000000000 --- a/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/index.md +++ /dev/null @@ -1,217 +0,0 @@ ---- -title: "Configure NodeBalancers with the Linode API" -description: "This guide demonstrates the API calls needed to add and configure a NodeBalancer through the Linode API" -published: 2018-04-05 -modified: 2022-11-30 -image: configure-nodebalancers-with-the-linode-api.png -external_resources: - - '[Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/)' -keywords: ["nodebalancer", "load balancing", "high availability", "linode api"] -tags: ["linode platform"] -aliases: ['/platform/api/nodebalancers/','/guides/nodebalancers/','/products/tools/api/guides/nodebalancers/'] ---- - -[NodeBalancers](https://www.linode.com/nodebalancers) can be used to provide high availability load balancing for almost any type of website or service hosted on a Compute Instance. This guide will demonstrate how to use the Linode API to create a NodeBalancer with two back end nodes. - -{{< note >}} -You need a Personal Access Token for the Linode API to complete the steps in this guide. See [Manage Personal Access Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token) for more information. -{{< /note >}} - -## Create a NodeBalancer - -1. Store your Personal Access Token as a shell variable: - - ```command - export TOKEN= - ``` - -1. Using a text editor, create a file to store configuration options: - - ```file {title="nodebalancer.json" lang="json"} - { - "region": "us-central", - "label": "nodebalancer-1", - "client_conn_throttle": 10 - } - ``` - -1. Create a NodeBalancer by making a POST request to the `/nodebalancers` endpoint: - - ```command - curl https://api.linode.com/v4/nodebalancers \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X POST -d @nodebalancer.json - ``` - -1. If the NodeBalancer is successfully created, the response will include its ID. Copy the ID to use in subsequent requests. - -## Add Configuration - -NodeBalancers are created without any configuration profiles attached. Each profile configures a single port on the NodeBalancer. Once the port is configured, the NodeBalancer will begin listening for traffic on that port. - -1. Create a new configuration file: - - ```file {title="nodebalancer-config.json" lang="json"} - { - "label": "nodebalancer-1", - "port": 80, - "check": "connection" - } - ``` - -1. Substitute the NodeBalancer's ID into the URL below: - - ```command - curl https://api.linode.com/v4/nodebalancers/$NODEBALANCER_ID/configs \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X POST -d @nodebalancer-config.json - ``` - -{{< note >}} -For more information about configuration options, see our [NodeBalancer Reference Guide](/docs/products/networking/nodebalancers/guides/configure/). -{{< /note >}} - -## Add Back-end Compute Instances - -Even with a working configuration profile, the NodeBalancer isn't doing anything yet, since it has no back ends connected to it. Repeat the steps in this section for each back end you would like to add; usually you will want at least two. - -### Create Compute Instances - -1. Add the following options to a new config file. Adjust the type, image, and region to suit your needs; make sure the new Compute Instance is in the same region as your NodeBalancer and choose a secure root password. - - ```file {title="create-instance.json" lang="json"} - { - "region": "us-central", - "type": "g5-standard-2", - "image": "linode/debian9", - "root_pass": "password", - "booted": false - } - ``` - -1. Use the API to create the instance: - - ```command - curl https://api.linode.com/v4/linode/instances/ \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X POST -d @create-instance.json - ``` - - Make a note of the new Linode's ID. - -1. Add configuration options for adding a private IPv4 address: - - ```file {title="ip-address.json" lang="json"} - { - "type": "ipv4", - "public": false, - "linode_id": 7449584 - } - ``` - -1. Add a private IP address to the new instance: - - ```command - curl https://api.linode.com/v4/networking/ips \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X POST -d @ip-address.json - ``` - -1. Boot the Compute Instance: - - ```command - curl -X POST https://api.linode.com/v4/linode/instances/$LINODE_ID/boot \ - -H "Authorization: Bearer $TOKEN" - ``` - -### Add Back ends to the NodeBalancer - -Add the new Compute Instances as back ends to the NodeBalancer. - -1. Add configuration options for each back end. Substitute the private IP address of the Compute Instance into the `address` field and give each back end a unique label. - - ```file {title="add-node.json" lang="json"} - { - "label": "node-1", - "address": "$node-private-ip:80" - } - ``` - -1. Use the `/nodes` endpoint to add these back ends: - - ```command - curl https://api.linode.com/v4/nodebalancers/$NODEBALANCER_ID/configs/$CONFIG_ID \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X POST -d @add-node.json - ``` - -1. Repeat this process for each additional back end. - -## Check Back-end Status - -Check the status of the two back-end nodes: - -```command -curl https://api.linode.com/v4/nodebalancers/$NODEBALANCER_ID/configs/$CONFIG_ID \ --H "Authorization: Bearer $TOKEN" -``` - -```output -. . . - "nodes_status": { - "up": 0, - "down": 2 - }, -. . . -``` - -Both back ends are down because there is no process for the NodeBalancer to connect to on the designated port. As a demonstration, a basic install of NGINX will listen on port 80 automatically. SSH into each Compute Instance and install NGINX: - -```command -apt update && apt upgrade && apt install nginx -``` - -If you check the NodeBalancer config again, it should report that both back ends are now up. You can also navigate to the NodeBalancer's public IP address in a browser; the default NGINX landing page should be displayed. - -## Configure HTTPS - -NodeBalancers can also be configured to use HTTPS. You will need to have a TLS certificate before enabling this option. - -1. If you do not have an existing TLS certificate, generate a self-signed certificate using OpenSSL: - - ```command - openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out MyCertificate.crt -keyout MyKey.key - ``` - - {{< note >}} - Provide values for country name, common name, etc. when prompted. The Linode API will reject the certificate if these are left blank. - {{< /note >}} - -1. Edit your `nodebalancer-config.json` configuration file: - - ```file {title="nodebalancer-config.json" lang="json"} - { - "protocol":"https", - "port": 443, - "ssl_cert": "-----BEGIN CERTIFICATE-----\nCERTIFICATE_INFORMATION\n-----END CERTIFICATE-----", - "ssl_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY_INFORMATION\n-----END PRIVATE KEY-----" - } - ``` - - {{< note >}} - Line breaks in SSL certificate and private key strings must be represented by `\n`. - {{< /note >}} - -1. Use a PUT request to update your NodeBalancer's configuration: - - ```command - curl -X PUT https://api.linode.com/v4/nodebalancers/$NODEBALANCER_ID/configs/$CONFIG_ID \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -d @nodebalancer-config.json - ``` \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/manage/index.md b/docs/products/networking/nodebalancers/guides/manage/index.md deleted file mode 100644 index 6dfe1a6eb15..00000000000 --- a/docs/products/networking/nodebalancers/guides/manage/index.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Manage NodeBalancers" -description: "Learn how to view, edit, and delete NodeBalancers on the Linode platform." -published: 2022-10-07 ---- - -## View NodeBalancers - -Log in to [Cloud Manager](https://cloud.linode.com) and select NodeBalancers from the left menu. If any NodeBalancers exist on your account, they are listed on this page. - -![Screenshot of the NodeBalancer listing page in Cloud Manager](nodebalancer-view-list.png) - -Each NodeBalancer in the matrix is displayed alongside the following details: - -- **Back-end Status:** The number of back-end machines that are available and accepting connections (*up*) or have been removed from the rotation and are not accepting connections (*down*). -- **Transferred:** The amount of network transfer consumed by the inbound traffic to the NodeBalancer. -- **Ports:** A list of the ports that have been configured on the NodeBalancer. -- **IP Address:** The NodeBalancer's IPv4 address. -- **Region:** The data center where the NodeBalancer is located. - -## Create a NodeBalancer - -To create a NodeBalancer, follow the instructions within the [Create a NodeBalancer](/docs/products/networking/nodebalancers/guides/create/) guide. - -## Review and Edit a NodeBalancer - -Navigate to the **NodeBalancer** page in Cloud Manager and select the NodeBalancer you wish to edit. See [View NodeBalancers](#view-nodebalancers). - -![Screenshot of a NodeBalancer entry in Cloud Manager](nodebalancer-edit.png) - -This displays the details and settings for the selected NodeBalancer. - -![Screenshot of a NodeBalancer entry in Cloud Manager](nodebalancer-summary.png) - -From here, the following pages are available: - -- **Summary:** View important details and graphs. This includes viewing the IP addresses, the Cloud Firewall if a firewall is assigned, the ports, the status of the back ends, and graphs for both the number of connections and network traffic. -- **Configurations:** This lists each port configured for the NodeBalancer, with the ability to edit the settings for the existing port or add a new port. See [Configuration Options](/docs/products/networking/nodebalancers/guides/configure/) for more information on each of these settings. -- **Settings:** Displays additional settings for the NodeBalancer, including the label, firewall and connection throttle setting. - -## Delete a NodeBalancer - -1. Navigate to the **NodeBalancer** page in Cloud Manager and select the NodeBalancer you wish to edit. - -1. Navigate to the **Settings** tab, scroll to the *Delete NodeBalancer* section, and click **Delete**. - - ![Screenshot of the Delete form](nodebalancer-delete.png) - -1. A confirmation dialog appears. To confirm deletion, type the name of the NodeBalancer in the field and click **Delete** to proceed with removing the service from your account. - -{{}} -When you delete a NodeBalancer that has a firewall, the NodeBalancer is also deleted in Cloud Firewall. Firewalls are not deleted when you delete a NodeBalancer. -{{}} - -## Unassign, Change or Add Firewalls - -After the NodeBalancer is created, you can add a firewall, select a different firewall or unassign the current firewall using the following information; - -### Unassign the Firewall - -1. Navigate to the **NodeBalancer** page in Cloud Manager and select the NodeBalancer that has the firewall you wish to unassign. - -1. Navigate to the **Settings** tab. In the *Firewall* section, click **Unassign**. - - ![Screenshot of the firewalls form](nodebalancer-firewall-unassign.png) - -1. A confirmation dialog appears. Click **Unassign Firewall** to proceed with unassigning the firewall from the NodeBalancer. - -{{< note>}} -You can also remove/unassign firewalls from a NodeBalancer using Cloud Firewalls. -{{< /note>}} - -### Add a Firewall to an Existing NodeBalancer - -To add or create a Cloud firewall for an existing NodeBalancer, follow the instructions in [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) and [Add Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). - -### Change the NodeBalancers Firewall - -1. Complete the steps in [Unassign the Firewall](#unassign-the-firewall). - -2. Follow the instructions in [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/) and [Add Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/). \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-delete.png b/docs/products/networking/nodebalancers/guides/manage/nodebalancer-delete.png deleted file mode 100644 index af6fb436b42..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-delete.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-edit.png b/docs/products/networking/nodebalancers/guides/manage/nodebalancer-edit.png deleted file mode 100644 index de8d0357076..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-edit.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-firewall-unassign.png b/docs/products/networking/nodebalancers/guides/manage/nodebalancer-firewall-unassign.png deleted file mode 100644 index aff90a47ad1..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-firewall-unassign.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-summary.png b/docs/products/networking/nodebalancers/guides/manage/nodebalancer-summary.png deleted file mode 100644 index b48e5aaf0df..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-summary.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-view-list.png b/docs/products/networking/nodebalancers/guides/manage/nodebalancer-view-list.png deleted file mode 100644 index 03f3e140dea..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage/nodebalancer-view-list.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/manage/nodebalancers-add-firewall.png b/docs/products/networking/nodebalancers/guides/manage/nodebalancers-add-firewall.png deleted file mode 100644 index 33285778e9d..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/manage/nodebalancers-add-firewall.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/protocols/index.md b/docs/products/networking/nodebalancers/guides/protocols/index.md deleted file mode 100644 index a8a970a9f20..00000000000 --- a/docs/products/networking/nodebalancers/guides/protocols/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Available Protocols" -description: "Learn about each of the protocols that are available on NodeBalancers as well as the features and performance they offer." -published: 2022-10-07 ---- - -Each port configured on a NodeBalancer must use one of the following available protocols. The protocol that's selected can determine the performance of your NodeBalancer, the settings available to you, and how to configure the back-end machines. - -- [TCP](#tcp) -- [HTTP](#http) -- [HTTPS](#https) - -## TCP - -This mode acts as a TCP pass-through by forwarding all TCP requests to the back-end machines. As such, it provides the most flexibility when compared to other protocol choices. Since it has the least amount of overhead, it is also more performant and -can service a high number of connections per second. The TCP protocol operates on the transport layer and supports any higher-layer protocol built on top of TCP/IP. - -- Supports HTTP, HTTPS, SSH, SMTP, FTP, DNS, and other application layer protocols -- Can preserve client IP address details by using [Proxy Protocol](/docs/products/networking/nodebalancers/guides/proxy-protocol/) -- Operates on the transport layer (layer 4 of the OSI model) - -## HTTP - -When the HTTP protocol is selected, the HTTP request is terminated on the NodeBalancer and a new request is sent to the back-end machines. While this does add some overhead, it enables features like HTTP cookie session stickiness. - -- Supports HTTP/1.1 (not HTTP/2 or higher) -- Supports the HTTP Cookie session stickiness method (in addition to other methods) -- Adds the [X-Forwarded-For](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For) HTTP header to preserve the client IP address and the [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) HTTP header to preserve the original protocol (`http` or `https`). -- [Keep-Alive](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Keep-Alive) HTTP Headers are disabled -- Operates on the application layer (layer 7 of the OSI model) - -## HTTPS - -HTTPS protocol contains the same functionality and support as the HTTP protocol, but requests between the client's machine and the NodeBalancer are encrypted using the TLS (or SSL) protocol. Since encrypted HTTPS requests are terminated on the NodeBalancer, you must add your TLS/SSL certificate to the NodeBalancer itself (instead of your back-end machines). Once the HTTPS request is decrypted, the NodeBalancer sends unencrypted HTTP requests to the back-end machines. - -- Same core functionality as [HTTP](#http) -- Supports TLS v1.2 and v1.3 -- Requires a compatible TLS/SSL certificate and the associated private key -- HTTPS requests are terminated and decrypted on the NodeBalancer and traffic to the back-end machines is *not* encrypted. -- Has the most overhead of all the protocol options, which means that it is less performant and accommodates fewer connections per second. \ No newline at end of file diff --git a/docs/products/networking/nodebalancers/guides/proxy-protocol/ProxyProtocol_NodeBalancers.png b/docs/products/networking/nodebalancers/guides/proxy-protocol/ProxyProtocol_NodeBalancers.png deleted file mode 100644 index 04094f0e93a..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/proxy-protocol/ProxyProtocol_NodeBalancers.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/proxy-protocol/index.md b/docs/products/networking/nodebalancers/guides/proxy-protocol/index.md deleted file mode 100644 index 425340f1918..00000000000 --- a/docs/products/networking/nodebalancers/guides/proxy-protocol/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Using Proxy Protocol with NodeBalancers -description: "Learn how to enable and use Proxy Protocol on your NodeBalancer to send client connection details to the back-end nodes." -published: 2022-10-07 -keywords: ["nodebalancers", "nodebalancer", "load balancers", "load balancer", "load balancing", "high availability", "ha", "proxy protocol", "proxy"] -tags: ["cloud manager","linode platform","networking","web applications"] -image: ProxyProtocol_NodeBalancers.png -aliases: ['/platform/nodebalancer/nodebalancer-proxypass-configuration/','/guides/nodebalancer-proxypass-configuration/'] ---- - -When a Linode NodeBalancer passes a request from a client to a back-end node, information regarding the original client is not included by default. While this is fine for many environments, your applications may require original client information such as IP address or port. For these cases, Linode NodeBalancers support **Proxy Protocol** for TCP connections so that you can pass client information to back-end nodes. - -## What is Proxy Protocol - -Proxy Protocol is an internet protocol for various high availability and load balancing solutions to carry information about a client directly to back-end servers. - -When selecting **TCP** as your NodeBalancer protocol, you can enable **Proxy Protocol** to add a header containing client information to back-end nodes. - -{{< note >}} -[Back-end Nodes](#configure-backend-node-proxy-protocol) must also have Proxy Protocol enabled on supported applications to receive the client information header. - -Additional configuration options may need to be enabled on the application or service to accommodate traffic between the node and the NodeBalancer, including allowing IPv6 and/or IPv4 traffic, and enabling traffic on all necessary ports. -{{< /note >}} - -Currently, there are two available versions of Proxy Protocol, **v1** and **v2**: - -- **v1**: Proxy Protocol v1 adds a human readable string to all requests, similar to the following: - - ```output - PROXY TCP4 192.0.2.0 203.0.113.0 56147 80 - ``` - - The syntax for this output is as follows: - - PROXY, PROTOCOL, CLIENT_IP, NODEBALANCER_IP, CLIENT ORIGIN PORT, NODEBALANCER PORT - -- **v2**: Proxy Protocol v2 adds a more efficient binary data header to all requests, similar to the following: - - ```output - \r\n\r\n\x00\r\nQUIT\n!\x11\x00\x0c\xach\x11\x05\xcf\xc0D8\xfe\x1e\x04\xd2 - ``` - -More information on **v1** and **v2** is available in the [Proxy Protocol Specification](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt). - -## Configure Proxy Protocol - -In order to make use of Proxy Protocol, it needs to be configured on the NodeBalancer as well as each back-end node Compute Instance. - -### Configure the NodeBalancer - -To enable Proxy Protocol for your NodeBalancer, follow the instructions below. - -1. Log in to [Cloud Manager](http://cloud.linode.com), click **NodeBalancers** in the left menu, and select the NodeBalancer you wish to edit. See [Manage NodeBalancers](/docs/products/networking/nodebalancers/guides/manage/). - -1. Navigate to the **Configurations** tab and open the port configuration you wish to edit. - -1. Ensure that the **Protocol** option is set to *TCP*, which makes the **Proxy Protocol** dropdown menu appear. Select the desired Proxy Protocol version. - -1. Click the **Save** button on the bottom of the page to Save your changes. - -### Configure the Back-end Nodes - -Once Proxy Protocol is configured for your NodeBalancer, ensure that it is also enabled for the receiving software on your back-end Nodes. You can find a list of compatible software in the [Proxy Protocol documentation](https://www.haproxy.com/blog/haproxy/proxy-protocol/). Here are links to guidance for enabling Proxy Protocol for common software: - -- [NGINX](https://docs.nginx.com/nginx/admin-guide/load-balancer/using-proxy-protocol/) -- [Apache](https://httpd.apache.org/docs/2.4/mod/mod_remoteip.html) -- [MySQL/MariaDB](https://mariadb.com/kb/en/proxy-protocol-support/) diff --git a/docs/products/networking/nodebalancers/guides/proxy-protocol/proxyconfig.png b/docs/products/networking/nodebalancers/guides/proxy-protocol/proxyconfig.png deleted file mode 100644 index 71beba0cf3f..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/proxy-protocol/proxyconfig.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/ssl-termination/NodeBalancer_SSL_Configuration_smg.png b/docs/products/networking/nodebalancers/guides/ssl-termination/NodeBalancer_SSL_Configuration_smg.png deleted file mode 100644 index b01065b25fc..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/ssl-termination/NodeBalancer_SSL_Configuration_smg.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/guides/ssl-termination/index.md b/docs/products/networking/nodebalancers/guides/ssl-termination/index.md deleted file mode 100644 index 8b7c2902a91..00000000000 --- a/docs/products/networking/nodebalancers/guides/ssl-termination/index.md +++ /dev/null @@ -1,230 +0,0 @@ ---- -title: "TLS/SSL Termination on NodeBalancers" -description: 'This guide provides you with step-by step instructions on how to force all connections to your NodeBalancer to use the secure and encrypted SSL protocol.' -published: 2015-09-01 -modified: 2023-04-18 -keywords: ["Linode", "NodeBalancer", "SSL", "redirect", "load balancing", "install", "certificate", "configuration"] -tags: ["linode platform","security","networking","ssl"] -aliases: ['/platform/nodebalancer/nodebalancer-ssl-configuration/','/guides/nodebalancer-ssl-configuration/'] -image: nodebalancer-ssl-configuration.png ---- - -This guide will help you install an SSL certificate on your NodeBalancer. It includes step-by-step instructions for configuring a NodeBalancer to redirect all web connections over port 443/HTTPS using SSL. The provided directions are designed to work with Apache and Nginx web servers, running on Debian and Red Hat-based distributions. - -{{< note >}} -Throughout this guide we will offer several suggested values for specific configuration settings; some of these values will be set by default. These settings are shown in the guide as a reference and you may need to modify them to suit your application accordingly. -{{< /note >}} - -## Before you Begin - -- When first configuring back-end Linodes, you should set them up according to the instructions in our [Getting Started](/docs/products/platform/get-started/) guide. In addition, we recommend that you implement security precautions. For assistance with this, please see our guide on [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) - -- Generate an [SSL certificate](/docs/guides/security/ssl/) for your domain name that supports TLS version 1.2 or later. This can be done through any Certificate Authority, including Let's Encrypt using the [Certbot](https://certbot.eff.org/) tool. Since Certbot cannot run directly on the NodeBalancer, run the following command on any Linode to generate the certificate (after following [Certbot's installation instructions](https://certbot.eff.org/instructions)). This lets you manually verify ownership by updating a DNS record on your domain: - - ```command - sudo certbot certonly --key-type rsa --manual --preferred-challenges dns - ``` - - Most Certificate Authorities will generate an SSL certificate using the RSA digital signature algorithm, which is fully supported by NodeBalancers. Certificates using the ECDSA algorithm are not supported. - -- This guide assumes that you have already deployed two or more back-end Linodes and configured them with either a LAMP stack or a LEMP stack. If you have not, please review the following documentation for assistance with configuring your respective stack: - - - [LAMP Stack](/docs/guides/web-servers/lamp/) - - [LEMP Stack](/docs/guides/web-servers/lemp/) - -- In addition, this guide assumes that you have already deployed a NodeBalancer and have configured it with two or more back-end Linodes that make connections on port 80/HTTP. We recommend that you first verify that your NodeBalancer is configured correctly, before introducing the complexities of an encrypted connection over SSL. If you would like assistance with setting up a basic NodeBalancer configuration, please review the following documentation: - - - [Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/) - - [NodeBalancer Reference Guide](/docs/products/networking/nodebalancers/guides/configure/) - -{{< note >}} -This guide has been written with the assumption that you are logged in as the root user. If you are using a limited user account, you will need to prefix some commands with `sudo`. -{{< /note >}} - -## Install the SSL Certificate and Private Key on your NodeBalancer - -1. On your NodeBalancer **Configurations** page, select **Add another Configuration**. - -1. Under **Port Configuration**, fill out the values in the fields as shown below: - - | Field | Value | - | -- | -- | - | **Port** | 443 | - | **Protocol** | HTTPS | - | **Session Stickiness** | None | - | **SSL Certificate** | Paste the PEM-formatted contents of your SSL certificate. If you have linked multiple segments of a chained certificate, be sure to copy all of its contents into the text field, appearing one after another. The certificate must be signed using the RSA algorithm, which is the default in most cases. ECDSA certificates are not supported.| - | **Private Key** | Paste the PEM-formatted contents of your private key. Your private key must not have a passphrase. | - | **Algorithm** | Round Robin | - | **Health Check Type** | HTTP Status | - | **Interval** | 5 | - | **Timeout** | 3 | - | **Attempts** | 2 | - | **Check HTTP Path** | / | - -1. Select **Save Changes** when you're finished. - -1. Add as many nodes as you require for the port configuration by selecting **Add a Node**. Once selected, fill out the values in the fields as shown below, replacing `xxx.xxx.xxx.xxx` with your Linode's private IP address: - - - **Label** Backend Linode 1 - - **IP Address** xxx.xxx.xxx.xxx - - **Port** 80 - - **Weight** 100 - - **Mode** Accept - - Select **Save Changes** when you're finished. - -### TLS Cipher Suites - -If your NodeBalancer must support users accessing your application with older browsers such as Internet Explorer 6-8, you should select the **Legacy** option, which sets the following cipher suite profile: - -```command -!RC4:HIGH:!aNULL:!MD5 -``` - -However, bear in mind that by gaining backward compatibility, your NodeBalancer will use weaker SSL/TLS cipher suites. For all other implementations, the default **Recommended** cipher suite option should be used, which includes: - -```command -ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA -``` - -### Diffie-Hellman Parameters - -[Diffie-Hellman key exchange](https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange) is a method for enabling [forward secrecy](https://en.wikipedia.org/wiki/Forward_secrecy) for SSL/TLS connections. [Configuring Diffie-Hellman](https://weakdh.org/sysadmin.html) is normally achieved by generating a `dhparams.pem` file and then updating your web server's cipher suites list. - -A NodeBalancer's SSL/TLS settings can't be accessed in the same way you can view your web server configuration, but you can still use Diffie-Hellman with your SSL certificate. This is accomplished by concatenating your certificate file with the contents of your `dhparams.pem` file and then supplying that to the **Certificate** field of your NodeBalancer's HTTPS configuration. The result of this concatenation will look similar to the example: - -```output ------BEGIN CERTIFICATE----- -YOUR_CERTIFICATE_INFORMATION ------END CERTIFICATE----- ------BEGIN DH PARAMETERS----- -YOUR_DHPARAMS_INFORMATION ------END DH PARAMETERS----- -``` - -{{< note type="alert" >}} -To avoid [security vulnerabilities](https://weakdh.org), it is recommended that you use at least 2048 bits when generating your Diffie-Hellman parameters: - -```command -openssl dhparam -out dhparams.pem 2048 -``` -{{< /note >}} - -## Configure the Apache Web Server - -1. Enable `mod_rewrite` so that you can redirect all traffic back to the NodeBalancer over port 443/HTTPS: - - ```command - a2enmod rewrite - ``` - - Or, you can load the module manually by appending the following to your Apache configuration file: - - ```command - LoadModule rewrite_module modules/mod_rewrite.so - ``` - - {{< note >}} - Depending on your distribution, this file's location may vary. For example, it can be found at the following paths on Debian and Red Hat based distributions, respectively: - - - `/etc/apache2/apache2.conf` - - `/etc/httpd/httpd.conf` - {{< /note >}} - -1. Edit the Apache virtual host configuration file to establish the rewrite rules necessary to redirect all incoming traffic from port 80/HTTP back to the NodeBalancer on port 443/HTTPS: - - ```file {title="/etc/apache2/sites-available/example.com.conf" lang="apache"} - - RewriteEngine On - RewriteCond %{HTTP:X-Forwarded-Proto} !https - RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301,NE] - LogLevel alert rewrite:trace4 # Adjust log verbosity as required. ex. 1-8 - - ``` - - The rewrite configuration shown above is specific to Apache 2.4 or later. This means that logging gets recorded to Apache's `error.log` file. To view only the records specific to `mod_rewrite`, you can pipe the log file through grep: - - ```command - tail -f error_log|fgrep '[rewrite:' - ``` - - If you are using Apache 2.2, then you will need to replace the `LogLevel alert rewrite:trace` directive with the following: - - ```file {title="/etc/apache2/sites-available/example.com.conf" lang="aconf"} - RewriteLog /var/log/apache2/rewrite.log - RewriteLogLevel 5 # Adjust log verbosity as required. ex. 1-9 - ``` - - {{< note type="alert" >}} - On Red Hat-based distributions, change the `Rewritelog` path to `/var/log/httpd/rewrite.log` - {{< /note >}} - -1. Create the `RewriteLog` as referenced from above: - - - Debian / Ubuntu - - ```command - touch /var/log/apache2/rewrite.log - ``` - - - CentOS - - ```command - touch /var/log/httpd/rewrite.log - ``` - -## Configure the Nginx Web Server - -1. Edit the Nginx server block configuration file to establish the rewrite rules to redirect all incoming traffic from port 80/HTTP back to the NodeBalancer on port 443/HTTPS: - - ```file {title="/etc/nginx/sites-available/example.com.conf" lang="nginx"} - server { - listen 80; - server_name example.com; - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - proxy_set_header X-Forwarded-Proto $scheme; - location / { - root /srv/www/example.com/public_html; - index index.html index.htm; - if ($http_x_forwarded_proto = "http") { - rewrite ^/(.*)$ https://example.com/$1 permanent; - } - } - } - ``` - - In the above configuration, be sure to replace the values of `server_name` and `root` with your actual domain and document root, respectively. - -1. Your configuration should now be complete. After reloading your web server, all requests made to your website that are not sent to port 443 should be redirected back to your NodeBalancer on a secure connection with SSL/TLS. - -## Tips for Troubleshooting - -- If you have difficulty getting the redirect to work properly or would like to see detailed information about how your SSL certificate is configured, you may wish to use the [Qualys online SSL Server Test](https://www.ssllabs.com/ssltest/) - -- Every time you make changes to your web server's document root file or other configuration files, be sure to reload the server: - - - For Apache, choose from the following commands, depending on your distribution: - - ```command - service apache2 reload - service httpd reload - systemctl restart apache2 - systemctl restart httpd - ``` - - - For Nginx, choose from the following commands, depending on your distribution: - - ```command - service nginx reload - systemctl restart nginx - ``` - -- When testing behind a load balancer, using curl with the `-I` or `-L` flags can be very helpful when debugging: - - ```command - curl -I example.com - curl -L example.com - ``` - - The `-I` or `--head` options will fetch the HTTP-header only. The `-L` or `--location` option will detect and display if the server indicates that the requested page has moved to a different location. This option will make curl repeat the request at the new location. If used together with `-I`, headers from all requested pages will be displayed. This is particularly useful if your rewrite rules have created an infinite loop and your web page does not load. Refer to the [man pages](https://curl.haxx.se/docs/manual.html) for `curl` for more info. diff --git a/docs/products/networking/nodebalancers/guides/ssl-termination/nodebalancer-ssl-configuration.png b/docs/products/networking/nodebalancers/guides/ssl-termination/nodebalancer-ssl-configuration.png deleted file mode 100644 index b01065b25fc..00000000000 Binary files a/docs/products/networking/nodebalancers/guides/ssl-termination/nodebalancer-ssl-configuration.png and /dev/null differ diff --git a/docs/products/networking/nodebalancers/resources/index.md b/docs/products/networking/nodebalancers/resources/index.md deleted file mode 100644 index 9d1df9d813b..00000000000 --- a/docs/products/networking/nodebalancers/resources/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Resources -title_meta: "Resources for NodeBalancers" -description: "Resources and other information related to the Linode NodeBalancers including blog posts, community posts, and customer stories." -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [Linode turns 16: Triples Dedicated plan storage, halves NodeBalancer cost](https://www.linode.com/blog/linode/linode-turns-16-triples-dedicated-plan-storage-halves-nodebalancer-cost/) - -- [NodeBalancer SSL](https://www.linode.com/blog/linode/nodebalancer-ssl/) - -- [NodeBalancer Concurrent Connections](https://www.linode.com/blog/linode/nodebalancer-concurrent-connections/) - -- [Introducing NodeBalancer](https://www.linode.com/blog/linode/introducing-nodebalancer/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [High Availability - What You Need to Know](https://www.linode.com/blog/cloud-consulting-services/high-availability-what-you-need-to-know/) - -- [Now Available: Linode Terraform Provider](https://www.linode.com/press-release/linode-expands-cloud-solutions-for-developers-launches-dedicated-cpu-instances/) - -- [Native IPv6 Now Available in All Locations](https://www.linode.com/blog/networking/native-ipv6-now-available-in-all-locations/) - -## Community Posts - -- [What is a NodeBalancer?](https://www.linode.com/community/questions/265/what-is-a-nodebalancer) - -- [A few questions about NodeBalancers and gRPC traffic](https://www.linode.com/community/questions/19894/a-few-questions-about-nodebalancers-and-grpc-traffic) - -- [How do I configure a NodeBalancer for a Tomcat cluster?](https://www.linode.com/community/questions/37/how-do-i-configure-a-nodebalancer-for-a-tomcat-cluster) - -- [How can strong Diffie-Hellman key exchange parameters be supplied to the NodeBalancer?](https://www.linode.com/community/questions/115/how-can-strong-diffie-hellman-key-exchange-parameters-be-supplied-to-the-nodebal) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=nodebalancers). - -## Customer Stories - -- [Craft of Code: Bernd Hilmar](https://www.linode.com/spotlight/bernd-hilmar/) - -- [Craft of Code: Chris Alfano](https://www.linode.com/spotlight/chris-alfano/) - -- [Craft of Code: Changelog](https://www.linode.com/spotlight/changelog/) - -- [Craft of Code: Metorik](https://www.linode.com/spotlight/metorik/) - -- [Craft of Code: Retargetly](https://www.linode.com/spotlight/retargetly/) - -- [Craft of Code: NSoft](https://www.linode.com/spotlight/nsoft/) - -- [Craft of Code: Jason Nickel](https://www.linode.com/spotlight/jason-nickel/) diff --git a/docs/products/networking/vlans/_index.md b/docs/products/networking/vlans/_index.md deleted file mode 100644 index ce217fd7ba5..00000000000 --- a/docs/products/networking/vlans/_index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: VLANs -title_meta: "VLAN Product Documentation" -description: "Linode VLANs enable secure and private communication across Linodes within the same data center region. This free service is a great way to keep your cloud workloads secure. VLANs are easy to create using the Linode Cloud Manager, API, and CLI." -modified: 2024-04-03 -linkTitle: VLANs -bundles: ['network-security'] -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-10-22 - product_description: "Fully isolated virtual local area networks that enable private communication between cloud-based resources" -aliases: ['/guides/platform/vlan/'] ---- - -**VLANs** are private *virtual local area networks* that are available at no additional cost to Linode users in select data centers. They operate on [layer 2](https://en.wikipedia.org/wiki/OSI_model#Layer_2:_Data_Link_Layer) of the OSI networking model and are entirely isolated from other networks. VLANs are a key part of enabling private and secure communication between Compute Instances on Linode's cloud platform. They function like a virtual network switch, which effectively means all Compute Instances connected to the same VLAN can communicate with each other like they were directly connected to the same physical Ethernet network. Devices outside the network cannot see any traffic within the private network. - -## Features - -### Private Communication Between Compute Instances - -A VLAN creates a truly private network and communication is isolated to just the Compute Instances belonging to the same VLAN. No other Compute Instances on other VLANs or within the same data center can see this private traffic. This goes beyond Linode's [Private IP](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#types-of-ip-addresses) feature, which can be accessed by any resource in the same data center. - -### Simple Configuration - -Use Cloud Manager to create a VLAN and assign Compute Instances. Create up to 10 VLANs per data center and assign each Compute Instance to up to 3 VLANs. - -### Reduce Network Transfer Costs - -Private network transfer is free. Any communication between Compute Instances over a VLAN does not count against the account's monthly [network transfer allowance](/docs/products/platform/get-started/guides/network-transfer/). - -### Part of a Flexible Custom VPC Solution - -Since VLANs operate on layer 2 of the OSI networking stack, you can use them as part of a custom VPC solution, which typically operates on layer 3. VLAN users can implement their own firewall policies, routing, and security systems to build out their VPC. - -## Availability - -VLANs are available in all data centers. - - -## Pricing - -VLANs are free to use. Communication across your private network does not count against your [monthly network transfer usage](/docs/products/platform/get-started/guides/network-transfer/). - -## Technical Specifications - -- Fully isolated private networking for Cloud-based resources -- Operates on [Layer 2](https://en.wikipedia.org/wiki/OSI_model#Layer_2:_Data_link_layer) of the OSI model (the data link layer) and, as such, can be more flexible than Layer 3 based VPC (Virtual Private Cloud) solutions -- Supports all logical Ethernet features, such as L2 broadcast and L2 multicast -- Supports any [Layer 3](https://en.wikipedia.org/wiki/OSI_model#Layer_3:_Network_layer) protocol, including IP (Internet Protocol) -- User assignable IPv4 addresses -- Each account can maintain up to 10 VLANs per region -- Each Compute Instance can belong to up to 3 VLANs -- Network transfer over a VLAN does not count towards your account's [network transfer allowance](/docs/products/platform/get-started/guides/network-transfer/) - -## Additional Limits and Considerations - -- **VLANs are region-specific.** Once created, a VLAN can only be attached to other Linodes within the same data center. - -- **VLANs cannot be manually renamed by the user.** If a VLAN's label must be changed, a new VLAN can be created and all required Linodes can be attached to that new VLAN. - -- **VLANs cannot be manually deleted by the user.** There is no need to manually delete a VLAN. If a VLAN is no longer needed, simply detach it from all Linodes. After this, it will automatically be deleted within a short timeframe. - -- **Network Helper is required for automatic configuration.** If [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) has been disabled, the Linode will not *automatically* be able to communicate over the VLAN’s private network. In this case, advanced users can manually adjust their Linode’s internal network configuration files with the appropriate settings for their VLAN. See [Manually configuring a VLAN on a Linode](/docs/products/networking/vlans/guides/manually-configuring-a-vlan/) for instructions. - -- **The Public Internet must always use the eth0 network interface.** While VLANs themselves can function without issue on the `eth0` interface, the public internet on Linode will not be networked correctly on other interfaces. \ No newline at end of file diff --git a/docs/products/networking/vlans/developers/index.md b/docs/products/networking/vlans/developers/index.md deleted file mode 100644 index 99fd6b82cb7..00000000000 --- a/docs/products/networking/vlans/developers/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for VLANs" -description: "Use the Linode API v4 and the Linode CLI to create Linode Virtual LANs. You can create secure and private networks in the cloud using Linode Virtual LANs." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services, including VLANs. - -- [Creating a Private Network Using Linode API and Linode VLAN](/docs/products/networking/vlans/guides/manage-vlans-using-linode-api/): This guide shows you how to create a VLAN and attach Linodes to it using the Linode APIv4. - -- **Linode VLANs Endpoint Collection:** Use [VLANs List](https://techdocs.akamai.com/linode-api/reference/api-summary#vlans-list) and the [Configuration Profiles View](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-view) (as part of the `interfaces array`) to view VLANs. Create and manage VLANs through the [Configuration Profile Create](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-create) and [Configuration Profile Update](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-update) endpoints. - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage your Linode resources](/docs/products/tools/cli/get-started/). diff --git a/docs/products/networking/vlans/feature.svg b/docs/products/networking/vlans/feature.svg deleted file mode 100644 index b1cba96f665..00000000000 --- a/docs/products/networking/vlans/feature.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/docs/products/networking/vlans/get-started/index.md b/docs/products/networking/vlans/get-started/index.md deleted file mode 100644 index 1a6e2274241..00000000000 --- a/docs/products/networking/vlans/get-started/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with VLANs" -description: "Use the Linode Cloud Manager to create a VLAN and attach a Compute Instance to it. When a Compute Instance is attached to a VLAN and configured, it has access to the VLAN's secure and private network." -published: 2021-04-28 -modified: 2022-08-23 -keywords: ['networking','vlan','private network'] -tags: ["security", "networking", "linode platform"] -tab_group_main: - weight: 20 -aliases: ['/guides/getting-started-with-vlans/'] ---- - -VLANs (Virtual Local Area Network) are a completely free solution available to Linode services used for enabling private networking in the cloud. Here are a few key features of VLANs: - -- **Privacy and Security.** Compute Instances on the same account and in the same region can be added to the same VLAN, allowing for private and secure communications between those instances. The public internet can also be disabled on a Compute Instance to provide even more security. - - {{< note >}} - VLANs are separate from [Private IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#types-of-ip-addresses). Private IPs are accessible to all Compute Instances in that same data center and can only be further restricted by firewall rules or additional internal configuration. - {{< /note >}} - -- **Performance.** A VLAN is configured as a Layer 2 networking device and provides low latency for latency-sensitive applications. - -- **No additional charges.** VLANs are available at no cost and network transfer over a VLAN does not count towards monthly transfer quotas. - -## Configuring VLANs - -VLANs are relatively simple to manage and do not require much configuration beyond attaching (or detaching) a VLAN to a Compute Instance. VLANs can be configured when creating new instances or by modifying the network interfaces on the [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) of an existing instance. - -- [Attach a VLAN to a Compute Instance](/docs/products/networking/vlans/guides/attach-to-compute-instance/) - -- [Remove a Compute Instance from a VLAN](/docs/products/networking/vlans/guides/remove-a-compute-instance/) - -### Configuring the Network Interface - -VLANs are managed within the Configuration Profile of a Compute Instance. Each instance has 3 configurable network interfaces, which are referred to as *eth0*, *eth1*, and *eth2*. The purpose of a network interface is to provide access to either the public internet or a VLAN: - -- **Public Internet:** Configuring a network interface for the **Public Internet** enables the public (and private) IP address(es) for that Compute Instance. If no network interface is configured as **Public Internet**, the instance will not be able to access the internet or other instances within the data center's main private network. - -- **VLAN:** Configuring a network interface for a VLAN enables the Compute Instance to communicate over a specified VLAN. - -- **None:** Selecting **None** will deactivate that network interface. - -{{< note type="alert" >}} -The Public Internet must always be set to use the network interface `eth0`. -{{< /note >}} - -### Selecting a VLAN - -When configuring a network interface, a VLAN can be selected by entering its **Label**. VLANs that already exist on an account can be quickly selected through a drop down list. If the label doesn't correspond with an existing VLAN, a new VLAN is created. - -### Assigning an IPAM Address - -IPAM (IP Address Management) is the system that allows users to assign and manage IP addresses for each VLAN configured on a Compute Instance. When attaching a VLAN, an **IPAM Address** can be specified in address/netmask format. This should be a unique IPv4 address that doesn't already exist within the VLAN or on the public internet. It is common to use a /24 network within the 10.0.0.0/8 range (10.0.0.0 – 10.255.255.255). For example, if a user wishes to use the subnet 10.0.0.0/24 on a VLAN, they can assign any unique address in the range 10.0.0.0 - 10.0.0.255. Here are valid IPAM addresses for two Compute Instances connected to that VLAN: - -- Instance 1: `10.0.0.1/24` -- Instance 2: `10.0.0.2/24` - -Just like public and private IP addresses, IP addresses for a VLAN are automatically configured on a Linode through [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/). If Network Helper is disabled or if no IPAM address is provided, the Compute Instance will not automatically be able to communicate over the VLAN. In some cases, advanced users may disable Network Helper or refrain from providing an IPAM address. When doing so, the instance's internal network configuration files must be manually adjusted with the desired settings. See [Manually configuring a VLAN on a Compute Instance](/docs/products/networking/vlans/guides/manually-configuring-a-vlan/) for instructions. - -{{< note >}} -The Compute Instance must be rebooted for any changes within its network interfaces to take effect. This reboot allows Network Helper to run so it can automatically adjust the necessary network configuration files. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/_index.md b/docs/products/networking/vlans/guides/_index.md deleted file mode 100644 index 854855ccf08..00000000000 --- a/docs/products/networking/vlans/guides/_index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for VLANs" -description: "A collection of guides to help instruct you how to use VLANs, like creating a VLAN, attaching Linodes to your VLAN, viewing your VLAN's networking details, and more." -tab_group_main: - weight: 30 ---- - -## Basics - -- [Use Cases](/docs/products/networking/vlans/guides/use-cases/): Learn how VLANs can be used by exploring some common scenarios. - -- [Getting Started with VLANs](/docs/products/networking/vlans/get-started/): An introduction to VLANs, including how to create and administer them within Cloud Manager. - -- [Attach a VLAN to a Compute Instance](/docs/products/networking/vlans/guides/attach-to-compute-instance/): Learn how to create a VLAN and attach it to a new or existing Compute Instance. - -- [Remove a Compute Instance from a VLAN](/docs/products/networking/vlans/guides/remove-a-compute-instance/) - -## Going Further - -- [Manually Configuring a VLAN on a Linode](/docs/products/networking/vlans/guides/manually-configuring-a-vlan/): Manually configure an attached VLAN by adjusting a Linode's internal network configuration files. - -- [Creating a Private Network Using Linode API and Linode VLAN](/docs/products/networking/vlans/guides/manage-vlans-using-linode-api/): This guide shows you how to create a VLAN and attach Linodes to it using the Linode APIv4. - -- [Configure Linux as a Router (IP Forwarding)](/docs/guides/linux-router-and-ip-forwarding/): In this tutorial, connect multiple Compute Instances to the same VLAN and learn how to configure one of them as a router. This allows some or all instances in the private network to share the same public IP address. \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/attach-to-compute-instance/create-new-linode.png b/docs/products/networking/vlans/guides/attach-to-compute-instance/create-new-linode.png deleted file mode 100644 index cf34a87ccb8..00000000000 Binary files a/docs/products/networking/vlans/guides/attach-to-compute-instance/create-new-linode.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/attach-to-compute-instance/edit-button-for-configuration-profile.png b/docs/products/networking/vlans/guides/attach-to-compute-instance/edit-button-for-configuration-profile.png deleted file mode 100644 index 79b271ed846..00000000000 Binary files a/docs/products/networking/vlans/guides/attach-to-compute-instance/edit-button-for-configuration-profile.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/attach-to-compute-instance/index.md b/docs/products/networking/vlans/guides/attach-to-compute-instance/index.md deleted file mode 100644 index d31c9bc7343..00000000000 --- a/docs/products/networking/vlans/guides/attach-to-compute-instance/index.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: "Attach a VLAN to a Compute Instance" -description: "Learn how to create a VLAN and attach it to a new or existing Compute Instance" -modified: 2022-08-23 ---- - -Within Cloud Manager, VLANs are created and managed only by attaching them to Linode Compute Instances. They are not managed independently. You can attach a VLAN when creating a new Compute Instance or when editing an existing instance. - -- [Attaching a VLAN When Creating a Compute Instance](#attaching-a-vlan-when-creating-a-compute-instance) -- [Attaching a VLAN to an Existing Compute Instance](#attaching-a-vlan-to-an-existing-compute-instance) - -This guide covers implementing both of these methods using Cloud Manager. While VLANs can also be created and administered through the API and CLI, that's beyond the scope of this guide. - -## Attaching a VLAN When Creating a Compute Instance - -1. On the top left of [Cloud Manager](https://cloud.linode.com/dashboard), click **Create** and select **Linode**. - - ![Create a new Compute Instance](create-new-linode.png) - -1. Fill out all desired configuration options in the form that appears, until reaching the **Attach a VLAN** section. See the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide for more information. - - {{< note >}} - VLANs are not available in all regions. If the Attach a VLAN section isn't visible, see the Availability section on the [VLANs Overview](/docs/products/networking/vlans/) page. - {{< /note >}} - -1. Within the **Attach a VLAN** section, enter the *Label* of the VLAN or select from a list of the VLANs that currently exist on the account. If the VLAN does not yet exist, it is automatically created when creating the Compute Instance. - - ![Attach a VLAN form](vlan-new-linode.png) - -1. Optionally enter the IPv4 address you wish to assign to the VLAN's network interface on this machine. The IP address should be unique to avoid conflicts in the case other machines share the same address. If this field left blank, the Compute Instance will not be able to communicate with other instances on that VLAN until one of the following is true: - - - An IPAM address is added to the `eth1` interface within the instance's [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) - - An IP address is manually assigned to the network interface within the instance's internal configuration files. - - See the [Assigning an IPAM Address](/docs/products/networking/vlans/get-started/#assigning-an-ipam-address) section on the Get Started guide for more information about IPAM and examples of valid IPAM addresses. - -1. Complete the create form with any additional add-ons and settings you'd like to use. Then click the **Create Linode** button. - -By default, the public IP address (and, if added, the private IP address) of the Compute Instance is configured on the *eth0* network interface. The VLAN, if one was attached, is configured on the *eth1* network interface. These network interfaces can be removed or modified by editing the [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#edit-a-configuration-profile). - -## Attaching a VLAN to an Existing Compute Instance - -1. Within [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar and select a Compute Instance. - -1. Navigate to the **Configurations** tab for that Compute Instance. - -1. Click the **Edit** button next to the configuration profile you'd like to modify. - - ![Edit configuration profile](edit-button-for-configuration-profile.png) - -1. An **Edit Configuration** screen will appear. Scroll down to the **Network Interfaces** section. - -1. Click the dropdown menu under the desired network interface and select **VLAN**. Typically `eth1` or `eth2` would be used when adding the first or second VLAN to a Compute Instance, respectively, since the instance's `eth0` network interface is typically configured to access the public internet. - - ![Selecting the network interface](network-interface-purpose.png) - - A secondary menu will appear next to the selected interface for entering the VLAN's label and the IP address to use. - -1. Enter the *Label* of the VLAN or select an existing VLAN from the drop down menu. If a custom label is entered and the VLAN does not yet exist, it is automatically created when saving the configuration profile. - -1. Optionally enter an IP (IPAM) Address. If this field is left blank, the Compute Instance will not be able to communicate with other instances on that VLAN until an IP address is manually assigned to the network interface within the instance's internal configuration files. - - See the [Assigning an IPAM Address](/docs/products/networking/vlans/get-started/#assigning-an-ipam-address) section of the Get Started guide for more information about IPAM and examples of valid IPAM addresses. - -1. Click on the **Save Changes** button towards the bottom of this form to save the changes. - -1. Once the configuration profile has been updated, select the **Boot** or **Reboot** button next to the edited configuration profile on the following page. This will reboot using the edited configuration profile and apply the new VLAN configuration to the Compute Instance. - - ![Reboot the Compute Instance](reboot-linode.png) - -## Testing connectivity - -Once a VLAN has been attached to more than one Compute Instance, verify that you can communicate between those instances over the VLAN's private network. - -1. If the Compute Instance has a public network configured, connect to it via SSH. See [Setting Up and Securing a Compute Instance > Connect to the Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). - - ssh username@192.0.2.1 - - If the Compute Instance does not have a public network configured, connect to it via Lish by following the steps in the [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/) guide. - -1. Ping another Compute Instance within the VLAN's private network using the IPAM address assigned to it. - - ping 10.0.0.1 - - The output should display ICMP packets successfully transmitted and received from this instance to the secondary instance in the private network. - - ```output - PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. - 64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.733 ms - 64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.294 ms - ^C - --- 10.0.0.1 ping statistics --- - 2 packets transmitted, 2 received, 0% packet loss, time 18ms - rtt min/avg/max/mdev = 0.294/0.513/0.733/0.220 ms - ``` \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/attach-to-compute-instance/network-interface-purpose.png b/docs/products/networking/vlans/guides/attach-to-compute-instance/network-interface-purpose.png deleted file mode 100644 index 5cc865cb02b..00000000000 Binary files a/docs/products/networking/vlans/guides/attach-to-compute-instance/network-interface-purpose.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/attach-to-compute-instance/reboot-linode.png b/docs/products/networking/vlans/guides/attach-to-compute-instance/reboot-linode.png deleted file mode 100644 index f494ade9d15..00000000000 Binary files a/docs/products/networking/vlans/guides/attach-to-compute-instance/reboot-linode.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/attach-to-compute-instance/vlan-new-linode.png b/docs/products/networking/vlans/guides/attach-to-compute-instance/vlan-new-linode.png deleted file mode 100644 index fa05eded352..00000000000 Binary files a/docs/products/networking/vlans/guides/attach-to-compute-instance/vlan-new-linode.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/manage-vlans-using-linode-api/index.md b/docs/products/networking/vlans/guides/manage-vlans-using-linode-api/index.md deleted file mode 100644 index 478819605c6..00000000000 --- a/docs/products/networking/vlans/guides/manage-vlans-using-linode-api/index.md +++ /dev/null @@ -1,230 +0,0 @@ ---- -title: "Create a Private Network with VLANs Using Linode's API" -description: "Want to create your own private networks in the cloud? Here's how you can use the Linode API to do so by attaching new and existing Linodes to VLANs." -published: 2021-04-07 -keywords: ['linode vlan','linode vlan api'] -tags: ["security", "networking", "linode platform"] -aliases: ['/platform/vlan/how-to-create-a-private-network-with-linode-vlans-api/','/guides/how-to-create-a-private-network-with-linode-vlans-api/','/guides/vlan-api/'] ---- - -This guide shows you how to use [Linode's API](https://techdocs.akamai.com/linode-api/reference/api) to create and attach a VLAN to a Linode. - -You can attach a Linode to a VLAN in three different ways using the Linode API: - -- As part of the configuration of a new Linode using the Linode Create ([POST /linodes/instances](https://techdocs.akamai.com/linode-api/reference/api-summary#linode-create)) endpoint. -- By creating a new configuration profile for a Linode using the Configuration Profile Create ([POST /linode/instances/{linodeId}/configs](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-create)) endpoint. -- By editing an existing configuration profile of a Linode using the Configuration Profile Update ([/linode/instances/{linodeId}/configs/{configId}](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-update)) endpoint. - -The steps in this guide can be adopted to create and use VLANs for your specific use case. - -{{< note >}} -When you attach a Linode to a VLAN and reboot the Linode, [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) generates network configurations for the specified network interfaces if it is enabled. You can enable Network Helper by default using the Account Settings Update ([PUT /account/settings](https://techdocs.akamai.com/linode-api/reference/api-summary#account-settings-update)) endpoint. The Linode must be rebooted for any changes within its network interfaces to take effect. -{{< /note >}} - -## Configuring VLANs with the Interfaces Array - -VLANs are managed by the `interfaces` array of a Linode's configuration profile. The `interfaces` array consists of up to three network interface objects which correspond to the *eth0*, *eth1*, and *eth2* interfaces according to their position in the array as follows: - -| Array Order | Array Index | Interface | Example Interface Object | -| ----------- | ----------- | --------- | --------- | -| First | 0 | eth0 | `{"purpose":"public"}` | -| Second | 1 | eth1 | `{"purpose":"vlan", "label":"vlan-1", "ipam_address":"10.0.0.1/24"}` | -| Third | 2 | eth2 | `{"purpose":"vlan", "label":"vlan-2", "ipam_address":"10.0.0.2/24"}` | - -{{< note >}} -If no `interfaces` array is submitted with a request, the Linode is automatically configured with its assigned public and private IPv4 addresses only. -{{< /note >}} - -### Configuring the Purpose of an Interface - -The `purpose` of a network interface is required and used to determine whether an interface provides access to either the public internet or a VLAN: - -- `public`: Configures a network interface for the public internet and enables the public (and private) IP address(es) for that Linode. If no network interface is configured as `public`, the Linode will not be able to access the internet or other Linodes within the data center's main private network. - -- `vlan`: Configures a network interface for the labeled VLAN and enables the Linode to communicate over the `ipam_address` if one is specified. - -{{< note type="alert" >}} -The Public Internet must always be set to use the network interface `eth0`. -{{< /note >}} - -### Configuring the Label of an Interface - -When configuring a `vlan` purpose network interface, a VLAN can be selected by specifying its `label`. Linodes that are attached to the same VLAN can privately communicate with each other over their respective `vlan` purpose interfaces. - -If the `label` doesn't correspond with an existing VLAN, a new VLAN is created. VLANs that already exist on an account can be viewed, along with their region and attached Linodes, using the VLANs List ([GET /network/vlans](https://techdocs.akamai.com/linode-api/reference/api-summary#vlans-list)) endpoint. - -{{< note >}} -No `label` is specified for `public` purpose interfaces. You can simply omit the property, or enter an empty string or `null`. -{{< /note >}} - -### Configuring the IPAM Address of an Interface - -IPAM (IP Address Management) is the system that allows users to assign and manage IP addresses for each VLAN configured on a Linode. When attaching a `vlan` purpose interface to a Linode, the `ipam_address` can be specified in address/netmask format. This should be a unique IP address that doesn't already exist within the VLAN or on the public internet. It is common to use an address within the 10.0.0.0/8 range (10.0.0.0 – 10.255.255.255). For example, here are typical IPAM addresses for two Linodes connected to the same VLAN: - -- Linode 1: `10.0.0.1/24` -- Linode 2: `10.0.0.2/24` - -Just like public and private IP addresses, IPAM addresses for a VLAN are automatically configured on a Linode through [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/). If Network Helper is disabled or if no `ipam_address` is provided, the Linode will not automatically be able to communicate over the VLAN. In some cases, advanced users may disable Network Helper or refrain from providing an `ipam_address`. When doing so, the Linode's internal network configuration files must be manually adjusted with the desired settings. - -{{< note >}} -No `ipam_address` is specified for `public` purpose interfaces. You can simply omit the property, enter an empty string, or enter `null`. -{{< /note >}} - -{{< note >}} -IPAM addresses for a Linode must be unique among its interfaces. -{{< /note >}} - -### Example Interfaces Array - -To illustrate each of the above configurations, the following `interfaces` array configures a Linode's assigned public (and private) IP address(es) configured on eth0, the IPAM address `10.0.0.1/24` for the VLAN labeled `vlan-1` configured on eth1, and the IPAM address `10.0.0.2/24` for the VLAN labeled `vlan-2` configured on eth2: - - "interfaces": [ - { - "purpose": "public" - }, - { - "purpose": "vlan", - "label": "vlan-1", - "ipam_address": "10.0.0.1/24" - }, - { - "purpose": "vlan", - "label": "vlan-2", - "ipam_address": "10.0.0.2/24" - } - ] - -## Attaching a VLAN to a New Linode - -To attach a VLAN to a new Linode, send a request to the Linode Create ([POST /linodes/instances](https://techdocs.akamai.com/linode-api/reference/api-summary#linode-create)) endpoint containing an `interfaces` array that includes a `vlan` purpose interface with the VLAN's `label` and the desired `ipam_address`. - -The following request creates a 1GB Linode utilizing the example `interfaces` array from [above](#example-interfaces-array): - - curl -k -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "type": "g6-nanode-1", - "region": "us-southeast", - "image": "linode/debian10", - "root_pass": "pl34s3us34s3cur3p4ssw0rd", - "interfaces": [ - { - "purpose": "public" - }, - { - "purpose": "vlan", - "label": "vlan-1", - "ipam_address": "10.0.0.1/24" - }, - { - "purpose": "vlan", - "label": "vlan-2", - "ipam_address": "10.0.0.2/24" - } - ] - }' \ - https://api.linode.com/v4/linode/instances - -{{< note >}} -An `image` must be specified to set interfaces when creating a new Linode. -{{< /note >}} - -## Attaching a VLAN to an Existing Linode - -You can attach a VLAN to an existing Linode by either creating a new configuration profile or updating an existing configuration profile for the Linode. In either case, the Linode must be rebooted to allow Network Helper to automatically adjust the necessary network configuration files on the Linode. - -The Linode's ID is required to use these methods. Use the Linodes List ([GET /linode/instances](https://techdocs.akamai.com/linode-api/reference/api-summary#linodes-list)) endpoint to retrieve the IDs of each of your Linodes. To view the Disk IDs of a Linode, use the Disks List ([GET /linode/instances/{linodeId}/disks](https://techdocs.akamai.com/linode-api/reference/api-summary#disks-list)) endpoint. - -### Creating a Configuration Profile - -1. To attach a VLAN to an existing Linode using a new configuration profile, send a request to the Configuration Profile Create ([POST /instances/{linodeId}/configs](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-create)) endpoint containing an `interfaces` array that includes a `vlan` purpose interface with the VLAN's `label` and the desired `ipam_address`. - - The following request creates a configuration profile utilizing the example `interfaces` array from [above](#example-interfaces-array): - - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "label": "Example VLAN Config", - "devices": { - "sda": { - "disk_id": 111, - "volume_id": null - }, - "sdb": { - "disk_id": 222, - "volume_id": null - } - }, - "interfaces": [ - { - "purpose": "public" - }, - { - "purpose": "vlan", - "label": "vlan-1", - "ipam_address": "10.0.0.1/24" - }, - { - "purpose": "vlan", - "label": "vlan-2", - "ipam_address": "10.0.0.2/24" - } - ] - }' \ - https://api.linode.com/v4/linode/instances/123/configs - - Note the new Configuration Profile's ID from the response. - -1. Reboot your Linode with the new Configuration Profile's ID using the Linode Reboot ([POST /linode/instances/{linodeId}/reboot](https://techdocs.akamai.com/linode-api/reference/api-summary#linode-reboot)) endpoint. - - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "config_id": 23456 - }' \ - https://api.linode.com/v4/linode/instances/123/reboot - -### Updating a Configuration Profile - -1. To attach a VLAN to an existing Linode using an existing configuration profile, first retrieve the Configuration Profile's ID using the Configuration Profiles List ([GET /linode/instances/{linodeId}/configs](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profiles-list)) endpoint. - - curl -H "Authorization: Bearer $TOKEN" \ - https://api.linode.com/v4/linode/instances/123/configs - -1. Using the Linode's current Configuration Profile ID, send a request to the Configuration Profile Update ([PUT /linode/instances/{linodeId}/configs/{configId}](https://techdocs.akamai.com/linode-api/reference/api-summary#configuration-profile-update)) endpoint containing an `interfaces` array that includes a `vlan` purpose interface with the VLAN's `label` and the desired `ipam_address`. - - The following request updates a configuration profile utilizing the example `interfaces` array from [above](#example-interfaces-array): - - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X PUT -d '{ - "interfaces": [ - { - "purpose": "public" - }, - { - "purpose": "vlan", - "label": "vlan-1", - "ipam_address": "10.0.0.1/24" - }, - { - "purpose": "vlan", - "label": "vlan-2", - "ipam_address": "10.0.0.2/24" - } - ] - }' \ - https://api.linode.com/v4/linode/instances/123/configs/23456 - - {{< note >}} - When updating a Configuration Profile's `interfaces` array, the previous interface configurations are overwritten. Any interfaces you wish to keep attached to a Linode must be redefined when updating its Configuration Profile. - {{< /note >}} - -1. Reboot your Linode with the new Configuration Profile's ID using the Linode Reboot ([POST /linode/instances/{linodeId}/reboot](https://techdocs.akamai.com/linode-api/reference/api-summary#linode-reboot)) endpoint. - - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $TOKEN" \ - -X POST -d '{ - "config_id": 23456 - }' \ - https://api.linode.com/v4/linode/instances/123/reboot \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/manually-configuring-a-vlan/index.md b/docs/products/networking/vlans/guides/manually-configuring-a-vlan/index.md deleted file mode 100644 index 7c3ccc746bd..00000000000 --- a/docs/products/networking/vlans/guides/manually-configuring-a-vlan/index.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: Manually Configuring a VLAN on a Linode -modified: 2022-08-23 -tab_group_main: - weight: 20 ---- - -When a VLAN is assigned to a network interface and given an IPAM address, the Compute Instance should automatically be able to communicate over that private network. This is due to [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/), which is enabled by default on most instances. For compatible distributions, Network Helper adjusts the internal network configuration files. Any network interfaces defined in the Compute Instance's selected [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) (including those with VLANs attached) are automatically configured. - -This guide is for users that have disabled Network Helper on their Compute Instance or prefer not to assign an IPAM address within the Configuration Profile. In these cases, the Compute Instance's internal network configuration files must be manually adjusted. The following sections will cover the changes needed to manually configure a VLAN on common Linux distributions. - -## Ubuntu 18.04 and Later - -Ubuntu Server 18.04 and later versions use Netplan to configure networking, with systemd-networkd operating as the back end. Network configuration files for each interface are located in `/etc/systemd/network/`: - -- **eth0**: `/etc/systemd/network/05-eth0.network` -- **eth1**: `/etc/systemd/network/05-eth1.network` -- **eth2**: `/etc/systemd/network/05-eth2.network` - -### Manually Configuring a VLAN in Ubuntu 18.04 - -1. Verify that Network Helper is disabled to avoid it overwriting any changes on the next reboot. See [Enable or Disable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#enable-or-disable-network-helper) for information on adjusting Network Helper settings. - -1. Log in to the Compute Instance via [Lish](/docs/products/compute/compute-instances/guides/lish/). While it's possible to make changes while logged in over SSH, you may get disconnected if changes are made to the network interface assigned to the public internet. - -1. Using your preferred editor, edit the configuration file corresponding to the network interface assigned to the VLAN. Replace the contents with the following text. Adjust `Name` to match the correct network interface and `Address` to match your desired IPAM address: - - [Match] - Name=eth1 - - [Network] - DHCP=no - Address=10.0.0.1/24 - -1. Restart the instance or run `sudo netplan apply` for the updated network configuration to take effect. - -## Debian and Ubuntu 16.04 - -Debian 7 and above, as well as Ubuntu 16.04, all use ifup and ifdown to manage networking. Network configuration files are located within `/etc/network/`: - -- **Main configuration file**: `/etc/network/interfaces` -- Alternative configuration files for each network interface: - - **eth0**: `/etc/network/interfaces.d/eth0` - - **eth1**: `/etc/network/interfaces.d/eth1` - - **eth2**: `/etc/network/interfaces.d/eth2` - -### Manually Configuring a VLAN in Debian and Ubuntu 16.04 - -1. Check if Network Helper is enabled or disabled. See [Enable or Disable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#enable-or-disable-network-helper) for information on locating this setting. Network Helper should not interfere with any of the changes below, but its status may impact the files that you're able to edit. - -1. Log in to the Compute Instance via [Lish](/docs/products/compute/compute-instances/guides/lish/). While it's possible to make changes while logged in over SSH, you may get disconnected if changes are made to the network interface assigned to the public internet. - -1. Edit (or create) the specific configuration file corresponding to the network interface assigned to the VLAN. Replace the contents with the following text. Replace `eth1` with the correct network interface and adjust `address` to match your desired IPAM address: - - auto eth1 - - iface eth1 inet static - address 10.0.0.1/24 - - If Network Helper is disabled, the above changes can be made directly to the main configuration within `/etc/network/interfaces` if preferred. - -1. Restart the instance or run the following series of commands for the updated network configuration to take affect. Replace `eth1` with the correct network interface and replace the reference to the IP address as needed: - - sudo ip address flush dev eth1 - sudo ip address add 10.0.0.1/24 dev eth1 - sudo ip link set eth1 up - -## CentOS and Fedora - -CentOS 7 and above, as well as Fedora, all use systemd-networkd and NetworkManager. Network configuration files for each interface are located in `/etc/sysconfig/network-scripts/`: - -- **eth0**: `/etc/sysconfig/network-scripts/ifcfg-eth0` -- **eth1**: `/etc/sysconfig/network-scripts/ifcfg-eth1` -- **eth2**: `/etc/sysconfig/network-scripts/ifcfg-eth2` - -### Manually Configuring a VLAN in CentOS and Fedora - -1. Verify that Network Helper is disabled to avoid it overwriting any changes on the next reboot. See [Enable or Disable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#enable-or-disable-network-helper) for information on adjusting Network Helper settings. - -1. Log in to the Compute Instance via [Lish](/docs/products/compute/compute-instances/guides/lish/). While it's possible to make changes while logged in over SSH, you may get disconnected if changes are made to the network interface assigned to the public internet. - -1. Edit the configuration file corresponding to the network interface assigned to the VLAN. Replace the contents with the following text. If needed, adjust `NAME` and `DEVICE` to match the correct network interface and `IPADDR0` and `PREFIX0` to match your desired IPAM address and prefix: - - DEVICE="eth1" - NAME="eth1" - - ONBOOT="yes" - BOOTPROTO="none" - - IPADDR0=10.0.0.1 - PREFIX0=24 - -1. Restart the Linode or run `sudo ifup eth1` for the updated network configuration to take effect. - -## Verify and Test the Updated Configuration - -1. First, verify that the network configuration was correctly updated and applied. Run the following `ip address` command, replacing `eth1` with the name of the network interface that was modified. - - ip address show eth1 | grep inet - - This command will output the IP addresses configured for the specified network interface, as seen in the example output below. If no IP address appears or if the wrong IP address appears, review the steps outlined above for your distribution and verify that they were all completed. Restarting the Compute Instance, making sure that Network Helper is disabled, may also force the changes to take affect. - - ```output - inet 10.0.0.1/24 brd 10.0.0.255 scope global eth1 - ``` - -2. Test the VLAN's connectivity by pinging another Linode within the VLAN's private network, using the IPAM address assigned to it. For more details, see the *Testing Connectivity* section of the [Attach a VLAN to a Compute Instance](/docs/products/networking/vlans/guides/attach-to-compute-instance/#testing-connectivity) guide. - -## Additional Configuration Instructions - -For more details regarding manually configuring IP addresses, see the [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/remove-a-compute-instance/edit-button-for-configuration-profile.png b/docs/products/networking/vlans/guides/remove-a-compute-instance/edit-button-for-configuration-profile.png deleted file mode 100644 index 79b271ed846..00000000000 Binary files a/docs/products/networking/vlans/guides/remove-a-compute-instance/edit-button-for-configuration-profile.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/remove-a-compute-instance/index.md b/docs/products/networking/vlans/guides/remove-a-compute-instance/index.md deleted file mode 100644 index b5afa7829bf..00000000000 --- a/docs/products/networking/vlans/guides/remove-a-compute-instance/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Detach a VLAN from a Compute Instance -description: "If a Compute Instance no longer requires access a VLAN's private network, the VLAN can be detached by editing the Configuration Profile." -aliases: ['/products/networking/vlans/guides/detach-a-linode-from-your-vlan/'] ---- - -If you no longer wish to include a particular Compute Instance within a VLAN's private network, the VLAN can be detached by editing that instance's [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#edit-a-configuration-profile). - -1. Within [Cloud Manager](https://cloud.linode.com), click the **Linodes** link in the sidebar and select a Compute Instance. - -1. Navigate to the **Configurations** tab for that Compute Instance. - -1. Click the **Edit** button next to the configuration profile you'd like to modify. - - ![Edit configuration profile](edit-button-for-configuration-profile.png) - -1. An **Edit Configuration** screen will appear. Scroll down to the **Network Interfaces** section. - -1. Click the dropdown menu under the network interface for that VLAN and select **None**. This detaches the VLAN. - -1. Click on the **Save Changes** button to confirm the changes to the configuration profile. - -1. Reboot the Compute Instance to save your changes and completely detach the VLAN. - - {{< note >}} - If a VLAN is not attached to a Linode service, it will automatically be deleted. - {{< /note >}} \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/use-cases/index.md b/docs/products/networking/vlans/guides/use-cases/index.md deleted file mode 100644 index c81d7b27d4f..00000000000 --- a/docs/products/networking/vlans/guides/use-cases/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: "Common Use Cases for Linode's VLAN Service" -description: "Learn abut common use cases for Linode's VLAN (Virtual Local Area Network) service and how you might leverage it for your application." -published: 2020-08-12 -image: -keywords: ['vlan','virtual local area network','use case'] -tags: ["security", "networking", "linode platform"] -aliases: ['/guides/common-linode-vlan-use-cases/'] ---- - -## Use Cases - -Some of the most popular use cases for VLAN are as follows. - -### Secure Data and Traffic - -If you have sensitive data on your network, you can use a VLAN to help keep it secure. By isolating the devices in the network with privileged data, you decrease the possibility of confidential information breaches. For example, the devices in an organization can be segmented into VLANs such as management, sales, support, guests, and others. The devices in one VLAN cannot directly access devices on another VLAN. - -Likewise, the traffic in the VLAN is secure. All packets sent over the network in the VLAN are private and protected from access by anyone outside of the network. - -#### Example: Web Server and Secure Database - -![Web Server to VLAN Secure Database Configuration](vlan-web-server-db-config.png "Web Server to VLAN Secure Database Configuration") - -In the diagram above, Linode 1 is a web server and has access to the internet over the `eth0` interface. It also has access to Linode 2 and the VLAN over the `eth1` interface. Linode 2 on the VLAN is a secure database that houses sensitive data. Communication between Linode 1 and 2 is transmitted over VLAN and is secure and private. - -#### Example: Kubernetes Cluster - -![Kubernetes Cluster with VLAN Configuration](vlan-kubernetes-cluster-config.png "Kubernetes Cluster VLAN Configuration") - -In the diagram above, Linode 1 and 2 are both in a Kubernetes cluster. Both nodes have services exposed to the internet over the `eth0` interface and communication between Pods is kept private and secure on the VLAN over the `eth1` interface. - -#### Example: Add a NodeBalancer - -![NodeBalancer with VLAN Configuration](nodebalancer-vlan-config.png "NodeBalancer with VLAN Configuration") - -You can increase performance and stability of your application by adding a [NodeBalancer](https://www.linode.com/products/nodebalancers/) while securing the communication between two dedicated servers. In the high availability system above, Linodes 1 and 2 both run the same web application. They both have a connection to the VLAN with the network interface `eth1` so they can communicate securely with each other and with Linode 3 which is a database. All communications made over `eth1` are private and secure. They are also connected to a NodeBalancer to manage the load over the `eth0` interface. The NodeBalancer directs traffic, maintains load balancing, and performs active health checks to make sure the system only directs traffic to healthy servers. - -### Cost Effective Network Management - -VLANs reduce the cost of the networking by efficiently using the existing resources and bandwidth. For example, you can run a secure VLAN in the cloud that is protected from the rest of the internet without generating extra outbound network transfer costs since internal VLAN traffic is internal and private. - -![Multiple VLAN Configuration](multi-vlan-config.png "Multiple VLAN Configuration") - -In the diagram above, Linode 1 has three virtual Ethernet NICs, one is attached to the internet and two others to separate VLANs. Linodes 1, 2, and 3 can communicate securely with each other over VLAN 1. Likewise, Linodes 1, 4, and 5 can communicate with each other over VLAN 2. However, Linodes 2 and 3 cannot directly communicate with Linodes 4 and 5. - -## Next Steps - -Visit the Linode VLAN product documentation to learn how to [create a VLAN](/docs/products/networking/vlans/get-started) and [configure your Linode to communicate over your private network](/docs/products/networking/vlans/guides/). \ No newline at end of file diff --git a/docs/products/networking/vlans/guides/use-cases/multi-vlan-config.png b/docs/products/networking/vlans/guides/use-cases/multi-vlan-config.png deleted file mode 100644 index 41db996b55d..00000000000 Binary files a/docs/products/networking/vlans/guides/use-cases/multi-vlan-config.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/use-cases/nodebalancer-vlan-config.png b/docs/products/networking/vlans/guides/use-cases/nodebalancer-vlan-config.png deleted file mode 100644 index bf76def3a2b..00000000000 Binary files a/docs/products/networking/vlans/guides/use-cases/nodebalancer-vlan-config.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/use-cases/vlan-kubernetes-cluster-config.png b/docs/products/networking/vlans/guides/use-cases/vlan-kubernetes-cluster-config.png deleted file mode 100644 index 9c2f1399304..00000000000 Binary files a/docs/products/networking/vlans/guides/use-cases/vlan-kubernetes-cluster-config.png and /dev/null differ diff --git a/docs/products/networking/vlans/guides/use-cases/vlan-web-server-db-config.png b/docs/products/networking/vlans/guides/use-cases/vlan-web-server-db-config.png deleted file mode 100644 index 7799886248b..00000000000 Binary files a/docs/products/networking/vlans/guides/use-cases/vlan-web-server-db-config.png and /dev/null differ diff --git a/docs/products/networking/vpc/_index.md b/docs/products/networking/vpc/_index.md deleted file mode 100644 index c6e2691fa91..00000000000 --- a/docs/products/networking/vpc/_index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: VPC -title_meta: "VPC Product Documentation" -description: "VPCs make it easy to create your own virtual private clouds on the Akamai cloud computing platform, providing an isolated network for your applications." -published: 2024-02-06 -modified: 2024-05-16 -bundles: ['network-security'] -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "A virtual private cloud enables private communication between Compute Instances, isolating your network traffic from other customers and the internet." ---- - -{{< note title="VPC Availability" >}} -VPCs are now publicly available to all customers in select data centers. For a list of supported regions, review the [Availability](#availability) section. -{{}} - -A VPC (*Virtual Private Cloud*) is an isolated network that enables private communication between Compute Instances within the same data center. Since Cloud environments often necessitate sharing infrastructure with other users, VPCs are a critical component of many application architectures and can further isolate your workloads from other Akamai users. - -## Protect Sensitive Data - -Networking packets sent over a VPC are walled off from the public internet --- as well as from other services within the same data center that don't belong to the same VPC. When assigning a Compute Instance to a VPC, you can opt for it to be fully private or configure it with public internet access through either a 1:1 NAT on the VPC or a public internet interface. - -## Segment Traffic Into Separate Subnets - -Instead of assigning a single IPv4 range for the entire VPC, Akamai's VPC design allows users to configure multiple RFC1918 ranges through the use of subnets. This has the benefit of segmenting services into distinct networks and can be useful when migrating or combining existing networking environments so that there are no changes to routing or static IPs. These subnets can isolate various functionality of an application (such as separating public front-end services from private back-end services) or separate out a production environment from staging or development. - -Routing between subnets on a VPC is configured automatically. By default, all Compute Instances on a VPC can communicate with any other instance on that VPC, regardless of which subnet the other instance is assigned to use. - -## Compatible with Cloud Firewalls - -If a Compute Instance is assigned to a Cloud Firewall, firewall rules that limit access and filter traffic will be applied to the public interface as well as the VPC interface. This means that private traffic between Compute Instances within a VPC will be filtered by the Cloud Firewall. - -## Availability - -VPCs are available in: Amsterdam (Netherlands), Chennai (India), Chicago IL (USA), Jakarta (Indonesia), Los Angeles CA (USA), Miami FL (USA), Milan (Italy), Paris (France), Osaka (Japan), São Paulo (Brazil), Seattle WA (USA), Stockholm (Sweden), and Washington DC (USA). - -## Pricing - -VPCs are provided at no additional cost. Additionally, communication across your private VPC network does not count against your [monthly network transfer usage](/docs/products/platform/get-started/guides/network-transfer/). - -## Difference Between Private Network Options (VPCs, VLANs, and Private IPs) - -Both [VLANs](/docs/products/networking/vlans/) and [Private IP addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#types-of-ip-addresses) are private networking services offered by Akamai cloud computing. VLANs operate on layer 2 of the OSI model whereas VPCs and Private IPs operate on layer 3. While this allows VLANs to use any layer 3 protocol, it also means that there are limitations to routing and other layer 3 features. Since VPC is on layer 3 and uses the IP (Internet Protocol), IP addressing and IP routing features are built-in. - -- **Latency:** All 3 services offer extremely low latency. - -- **Cost:** There is no charge for VPCs, VLANs, and private IP addresses. The only costs are related to the associated Compute Instance service and any outbound traffic over the public IP addresses. - -- **Network Isolation:** Both VPC and VLANs offer true network isolation from other tenants within the same data center. Private IP addresses are accessible by default from any other instance in the same region, provided that instance also has a private IP address. This is because they all use the same `192.168.128.0/17` range. - -- **Multiple Subnets:** Each VPC can have multiple subnets. Each VLAN can only be configured with IP addresses from one specified range. - -## Technical Specifications - -- Users can create up to 10 VPCs per data center (by default). - -- Each VPC can have up to 10 subnets. - -- Compute Instances can join a VPC by specifying the VPC as a network interface. Other services, such as NodeBalancers, LKE clusters, and Managed Databases cannot join a VPC at this time. - -- VPCs can only be deployed to a single data center. As such, Compute Instances within different data centers cannot belong to the same VPC. - -- A VPC interface can be private or have public internet access through a 1:1 NAT. - -## Additional Limits and Considerations - -- VPCs peering is not supported (within the same data center or different data centers). - -- While VPC traffic is isolated from other cloud tenants, it is not encrypted. - -- IPv6 addresses are not available on a VPC interface. - -- VPC IP addresses cannot use [IP Sharing](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) or [IP Transfer](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#transferring-ip-addresses) features. - -- To facilitate routing between different subnets on the same VPC, configure the VPC network interface as the primary interface. - -- Network traffic across a private VPC network does not count against your [monthly network transfer usage](/docs/products/platform/get-started/guides/network-transfer/). The network transfer allowance for Compute Instances configured on VPCs still counts towards the _global network transfer pool_ on your account. - -- [Metadata service](/docs/products/compute/compute-instances/guides/metadata/) over a VPC is supported, but cloud-init isn't supported at this time (planned for a future release). \ No newline at end of file diff --git a/docs/products/networking/vpc/developers/index.md b/docs/products/networking/vpc/developers/index.md deleted file mode 100644 index 50c72081b8a..00000000000 --- a/docs/products/networking/vpc/developers/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for VPC" -description: "Use the Linode API v4 and the Linode CLI to create and manage VPCs." -published: 2024-01-09 -tab_group_main: - weight: 40 ---- - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage your Linode resources](/docs/products/tools/cli/get-started/). diff --git a/docs/products/networking/vpc/feature.svg b/docs/products/networking/vpc/feature.svg deleted file mode 100644 index 09dc2d87c58..00000000000 --- a/docs/products/networking/vpc/feature.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/docs/products/networking/vpc/get-started/index.md b/docs/products/networking/vpc/get-started/index.md deleted file mode 100644 index 496fbd40dff..00000000000 --- a/docs/products/networking/vpc/get-started/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with VPC" -description: "A holistic view on determining your application's cloud networking infrastructure, creating a VPC, and assigning your instances to a VPC." -published: 2024-01-30 -keywords: ['networking','vpc','private network'] -tags: ["security", "networking", "linode platform"] -tab_group_main: - weight: 20 ---- - -## Determine Your Application's Networking Architecture - -Consider your application's requirements and determine how your application should communicate both internally and over the public internet. As part of this, review the range of options available for private and public network connectivity on the Linode platform: VPCs, VLANs, Private IPv4 addresses, and Public IPv4/IPv6 addresses. When choosing VPC for private networking (the most common product), determine if segmenting the VPC into multiple subnets is needed. Consider the number of IP addresses you need now (and might need in the future) per subnet and decide on an acceptable CIDR block as outlined with [Valid IPv4 Ranges for Subnets](/docs/products/networking/vpc/guides/subnets/#valid-ipv4-ranges). - -## Create a VPC - -Once you've determined that a VPC is needed, you can create it directly in Cloud Manager using the Create VPC form or by deploying a new Compute Instance and entering a new VPC. During this process, you'll need to define the following parameters: - -- **Region:** The data center where the VPC is deployed. Since VPCs are region-specific, only Compute Instances within that region can join the VPC. -- **Label:** A string to identify the VPC. This should be unique to your account. -- **Subnet Label:** A string to identify the subnet, which should be unique compared to other subnets on the same VPC. -- **Subnet CIDR range:** The range of IP addresses that can be used by Compute Instances assigned to this subnet. - -While at least 1 subnet must be created, you can create up to 10 subnets per VPC. - -Review the [Create a VPC](/docs/products/networking/vpc/guides/create/) guide for complete instructions. - -## Assign Compute Instances - -You can assign existing Compute Instances to a VPC or, more commonly, deploy a new Compute Instance to the VPC. For further instructions, review the [Assign a Compute Instance to a VPC](/docs/products/networking/vpc/guides/assign-services/) page. - -- **New Compute Instance:** When creating a Compute Instance, there is an option to add it to an existing VPC. The VPC must already be created in the same data center as selected for the Compute Instance. When assigning a new instance to a VPC, you must also select the subnet that the instance should belong to. By default, an IPv4 address from the subnet's CIDR range will be assigned to the instance, though you can opt to manually enter an IP address. Additionally, public IPv4 connectivity won't be configured by default, though an option is present to configure 1:1 NAT on the VPC interface. - -- **Existing Compute Instance:** If you need to add an existing Compute Instance to a VPC, you can do so from the VPC page or by directly editing that instance's Configuration Profile. \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/_index.md b/docs/products/networking/vpc/guides/_index.md deleted file mode 100644 index 0aa8190c906..00000000000 --- a/docs/products/networking/vpc/guides/_index.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for VPCs" -description: "A collection of guides to help instruct you how to use VPCs." -published: 2024-01-09 -modified: 2024-02-14 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Getting Started with VPCs](/docs/products/networking/vpc/get-started/): An introduction to VPCs, including how to create and administer them within Cloud Manager. - -- [Create a VPC](/docs/products/networking/vpc/guides/create/): Outlines how to create a VPC using Cloud Manager, Linode CLI, and Linode API. - -- [Manage VPCs](/docs/products/networking/vpc/guides/manage-vpcs/): Instructions on viewing, editing, and deleting VPCs. - -- [Manage Subnets](/docs/products/networking/vpc/guides/subnets/): Information about VPC subnets and instructions on creating, editing, and deleting them. - -- [Assign a Compute Instance to a VPC](/docs/products/networking/vpc/guides/assign-services/): Learn how to add Compute Instances to a VPC. - -## Going Further - -- [Configure a Forward Proxy to Enable Internet Access within a VPC](/docs/products/networking/vpc/guides/forward-proxy-for-vpc/): This guide explains how to use a forward proxy to securely enable public internet access on Compute Instances located entirely behind a VPC. \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/assign-services/create-instance-vpc.jpg b/docs/products/networking/vpc/guides/assign-services/create-instance-vpc.jpg deleted file mode 100644 index de2679a55dc..00000000000 Binary files a/docs/products/networking/vpc/guides/assign-services/create-instance-vpc.jpg and /dev/null differ diff --git a/docs/products/networking/vpc/guides/assign-services/index.md b/docs/products/networking/vpc/guides/assign-services/index.md deleted file mode 100644 index 6bb057d4b0c..00000000000 --- a/docs/products/networking/vpc/guides/assign-services/index.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "Assign a Compute Instance to a VPC" -description: "Learn how to add Compute Instances to subnets on Akamai's VPC solution." -published: 2024-01-30 -modified: 2024-02-14 ---- - -VPCs enable private communication between Compute Instances within a data center and are a critical component of many application architectures. Follow the instructions within this guide to add both new and existing Compute Instances to a VPC. - -There are three main ways to assign a Compute Instance to a VPC: - -- [Assign a new Compute Instance to a VPC through the Compute Instance creation workflow](#assign-a-new-instance) -- [Use the VPC management workflows to assign an existing Compute Instance](#assign-existing-instance-with-vpc-management-workflows) -- [Manually edit a Compute Instance's network interfaces to assign a VPC](#manually-edit-network-interfaces) - -## Considerations - -- VPCs, along with VLANs and the public internet, are configured as network interfaces within a Compute Instance's configuration profile. These network interfaces are configured automatically when creating a Compute Instance with a VPC or when interacting with the VPC directly to assign and remove existing Compute Instances. You can also edit the Configuration Profile directly to manually configure these network interfaces to suit specific use cases. Manually editing a Configuration Profile on a Compute Instance is typically the preferred way to assign a VPC to an existing instance. - -- VPC resources requiring public internet access should be configured as a 1:1 NAT or use a [forward proxy](/docs/products/networking/vpc/guides/forward-proxy-for-vpc/). It is not recommended to configure a separate network interface with public internet access (in addition to the VPC interface). - -- Compute Instances can only be assigned to a single subnet of a single VPC, though they can communicate with other instances on any subnet within the same VPC. Multiple VPC interfaces on an instance are not allowed. - -- If an existing Compute Instance is added or removed from a VPC, the instance needs to be rebooted for the changes to go into effect. - -## Configuration Options - -When assigning both new and existing Compute Instances to a VPC, the following settings can be configured: - -- **VPC:** Multiple VPCs can be configured in a data center, but each Compute Instance can only be assigned to a single VPC. - -- **Subnet:** When a Compute Instance is assigned to a VPC, it also needs to be assigned a subnet. A subnet defines a collection of related instances and has its own RFC1918 IPv4 range (in CIDR format). - -- **VPC IPv4 address:** This is the IPv4 address of the Compute Instance within the private network of the subnet. It must be within the CIDR range defined in the subnet. The address can be automatically generated or manually entered. - - When manually entering the IP address, do not use the first two or last two IP addresses within the subnet's defined IPv4 range. These are non-host IP addresses and are set aside for routing and other features. - -- **Public internet connectivity:** By default, Compute Instances with a VPC cannot communicate over the public internet. To facilitate internet access, enable the *Assign a public IPv4 address for this Linode* option, which configures a 1:1 NAT on the VPC interface. This enables routing internet traffic over your Compute Instance's public IP addresses. - -- **Additional IPv4 ranges:** You can assign additional IPv4 ranges that can be used to reach this Compute Instance and/or the services running on it. For example, you may wish to assign additional IPv4 ranges to directly expose Docker containers to the VPC. - -These settings are referenced in the workflows below. - -## Assign a New Compute Instance to a VPC {#assign-a-new-instance} - -When creating a new Compute Instance, you have the option to assign it to an existing VPC. For complete instructions, review the **Assign to a VPC** section of the [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide for instructions. - -If a Compute Instance is created with a VPC, the VPC is automatically enabled on the `eth0` network interface. No other network interfaces are configured. An exception to that is if the Compute Instance is also configured with a **Private IP** address (which is not recommended). In this case, the `eth1` network interface is configured as _Public Internet_. - -![Screenshot of the VPC section of the Create Linode screen in Cloud Manager](create-instance-vpc.jpg) - -## Use the VPC Management Workflows to Assign an Existing Compute Instance {#assign-existing-instance-with-vpc-management-workflows} - -VPCs have their own Cloud Manager workflows and API endpoints that allow you to manage the Compute Instances that are assigned to each subnet on a VPC. - -1. Navigate to the **Subnets** section of a VPC. See [View Subnets](/docs/products/networking/vpc/guides/subnets/#view-subnets). - -1. Locate the subnet you wish to use, expand the corresponding ellipsis menu, and click **Assign Linodes**. This opens the **Assign Linodes to subnet** panel. - -1. Within the **Linodes** dropdown menu, select the instance you would like to add to the VPC on the selected subnet. - -1. By default, an IPv4 address will be automatically generated for the instance on the subnet's defined CIDR range. If you want to manually assign an IP address, uncheck the **Auto-assign a VPC IPv4 address for this Linode** option and enter your custom IPv4 address. This address must still be within the subnet's IP range. - -1. Click the **Assign Linode** button to add the instance to the subnet. - -1. You can review and change the list of all instances assigned to that subnet. You can also assign additional IPv4 ranges. Once you are satisfied with your changes, click the **Done** button. - -1. Restart each added Compute Instance to automatically configure the VPC interface on the system. - -When assigning a Compute Instance to a VPC in this way, the VPC network is automatically configured on the `eth0` network interface. In addition, `eth1` is configured to access the public internet. Using a VPC network interface alongside the public internet network interface is not recommended. Consider editing your instance's configuration profile to remove this interface. - -## Manually Edit a Compute Instance's Network Interfaces to Assign a VPC {#manually-edit-network-interfaces} - -Every Compute Instance can have up to three network interfaces (Public, VPC, and VLAN), which are configurable within the instance's [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/). - -If you wish for an instance to be configured on a VPC, the _VPC_ option needs to be selected on at least one interface. In most cases, a VPC should be configured on the first network interface (`eth0`). Configuring a VPC on other interfaces prevent the instance from communicating with other subnets in the same VPC. For more details regarding configuring network interfaces, review the [Configuration Profile Settings](/docs/products/compute/compute-instances/guides/configuration-profiles/#settings). - -1. Within [Cloud Manager](https://cloud.linode.com), view the Configuration Profiles for your desired Compute Instance. See [View Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#view-configuration-profiles). - -1. Within the **Configurations** table, locate the configuration profile you wish to modify and click the corresponding **Edit** button, which may also appear within the **ellipsis** menu. This displays the **Edit Configuration** form. In most cases, there should be only one configuration profile. - -1. Find the **Network Interfaces** section of the editing pane. - -1. Determine which interface you wish to configure for the VPC and select the _VPC_ setting from that interface's dropdown menu. In most cases, you should configure the VPC on `eth0` and delete all other interfaces. - -1. Next, configure the VPC, subnet, and IP address for this interface. - - - **VPC:** To assign this instance to a VPC, select the VPC from the **VPC** dropdown menu. If you do not yet have a VPC in the selected data center, click the **Create a VPC** button and follow the instructions on the [Create a VPC](/docs/products/networking/vpc/guides/create/) guide. - - - **Subnet:** An instance can be assigned to a single subnet, which lets you further segment traffic and services within a VPC. Select the desired subnet within the **Subnet** dropdown menu. - - - **Auto-Assign IPv4 address:** By default, an IPv4 address will be automatically generated for the instance on the subnet’s defined CIDR range. If you want to manually assign an IP address, uncheck the **Auto-assign a VPC IPv4 address for this Linode** option and enter your custom IPv4 address. This address must still be within the subnet’s IP range. - - - **Public IPv4 address:** If you wish to enable public internet access on this new instance, check the **Assign a public IPv4 address for this Linode** option. By default, this is unchecked and you will not be able to access the internet from this instance. - - - **Additional IPv4 ranges:** You can assign additional IPv4 ranges that can be used to reach this Compute Instance and/or the services running on it. For example, you may wish to assign additional IPv4 ranges to directly expose Docker containers to the VPC. - - ![Screenshot of a VPC network interface in the Configuration Profile of a Compute Instance](vpc-network-interface.jpg) - -1. Verify that _auto-configure networking_ option [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) under **Filesystem/Boot Helpers** is enabled. - -1. Once finished, click **Save Changes**. - -1. Reboot the Compute Instance so that the new network interfaces are configured within the instance's internal Linux system. \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/assign-services/vpc-network-interface.jpg b/docs/products/networking/vpc/guides/assign-services/vpc-network-interface.jpg deleted file mode 100644 index ca8de7a8c09..00000000000 Binary files a/docs/products/networking/vpc/guides/assign-services/vpc-network-interface.jpg and /dev/null differ diff --git a/docs/products/networking/vpc/guides/create/index.md b/docs/products/networking/vpc/guides/create/index.md deleted file mode 100644 index 5e1a445fbfe..00000000000 --- a/docs/products/networking/vpc/guides/create/index.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: "Create a VPC" -title_meta: "Create a VPC on the Linode Platform" -description: "Learn how to create a new Compute Instance, including choosing a distribution, region, and plan size." -published: 2024-01-09 -keywords: ["getting started", "deploy", "linode", "linux"] ---- - -This guide walks you through creating a VPC through Cloud Manager, Linode CLI, and Linode API. - -1. [Get Started](#get-started) -1. [Set the Basic Parameters](#set-the-basic-parameters) -1. [Define Subnets](#define-subnets) -1. [Deploy the VPC](#deploy-the-vpc) -1. [Next Steps](#next-steps) - -## Get Started - -Open the Create Form in Cloud Manager or start entering your Linode CLI or Linode API command. - -{{< tabs >}} -{{< tab "Cloud Manager" >}} -Log in to [Cloud Manager](https://cloud.linode.com/), click the **Create** dropdown menu on the top bar, and select *VPC*. This opens the **Create VPC** form. -{{< /tab >}} -{{< tab "Linode CLI" >}} -Within your terminal, paste the command provided below. If you do not have the Linode CLI, review the [Install and Configure the Linode CLI](/docs/products/tools/cli/guides/install/) guide. **Before submitting the request, read through the rest of this document.** - -```command -linode-cli vpcs create \ - --description "An optional description" \ - --label vpc-example \ - --region us-east \ - --subnets.label subnet-example \ - --subnets.ipv4 10.0.1.0/24 -``` -{{< /tab >}} -{{< tab "Linode API" >}} -Within your terminal, enter the API curl request below. Make sure to properly paste in or reference your [API token](/docs/products/platform/accounts/guides/manage-api-tokens/). For a complete API reference, see the [VPC API endpoints](/docs/api/vpcs/) documentation. **Before submitting the request, read through the rest of this document.** - -```command -curl https://api.linode.com/v4/vpcs \ - -H "Authorization: Bearer $TOKEN" \ - -H "Content-Type: application/json" \ - -X POST -d '{ - "description": "An optional description", - "label": "vpc-example", - "region": "us-east", - "subnets": [ - { - "label": "subnet-example", - "ipv4": "10.0.1.0/24" - } - ] - }' -``` -{{< /tab >}} -{{< /tabs >}} - -## Set the Basic Parameters - -Select the region and enter a label and description for the VPC. - -- **Region:** Select the data center where the VPC should be deployed. Since VPCs do not span multiple data centers, only services within the selected data center can join the VPC. For a list of regions that support VPCs, review [VPCs > Availability](/docs/products/networking/vpc/#availability). - -- **Label:** Enter an alphanumeric string (containing only letters, numbers, and hyphens) to identify the VPC. A good label should provide some indication as to the purpose or intended use of the VPC. - -- **Description:** Adding tags gives you the ability to categorize your Linode services however you wish. If you're a web development agency, you could add a tag for each client you have. You could also add tags for which services are for development, staging, or production. - -## Define Subnets - -Subnets partition out the VPC into smaller networks, allowing groups of related systems to be separated from other functions of your applications or workloads. At least one subnet is required, though up to 10 can be created for each VPC. - -- **Subnet Label:** Enter an alphanumeric string (containing only letters, numbers, and hyphens) to identify the subnet. It should be unique among other subnets in the same VPC and should provide an indication as to its intended usage. - -- **Subnet IP Address Range:** VPC subnet ranges must be in the RFC1918 IPv4 address space designated for private networks. That said, it cannot overlap with the `192.168.128.0/17` range set aside for [Private IP addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#types-of-ip-addresses) on Compute Instances. - -Follow the instructions below to create multiple subnets. You are also able to add, edit, and remove subnets from the VPC after it has been created. - -{{< tabs >}} -{{< tab "Cloud Manager" >}} -For each additional subnet you wish to create, press the **Add Another Subnet** button within the **Subnets** section. This adds another set of subnet fields to the form. -{{< /tab >}} -{{< tab "Linode CLI" >}} -```command -... - --subnets.label backend-example-subnet \ - --subnets.ipv4 10.0.4.0/24 \ - --subnets.label frontend-example-subnet \ - --subnets.ipv4 10.0.5.0/24 -... -``` -{{< /tab >}} -{{< tab "Linode API" >}} -```command -... - "subnets": [ - { - "label": "backend-example-subnet", - "ipv4": "10.0.4.0/24" - }, - { - "label": "frontend-example-subnet", - "ipv4": "10.0.5.0/24" - } - ] -... -``` -{{< /tab >}} -{{< /tabs >}} - -## Deploy the VPC - -Once all fields have been entered, you can click the **Create VPC** button in Cloud Manager or run the Linode CLI or Linode API command. If you are using Cloud Manager, you are taken to the VPC's details page where you can view and edit the VPC and its subnets. - -## Next Steps - -Once the VPC has been created, the next step is to start adding services to it. Currently, only Compute Instances can be added to the VPC. - -- **Add an Existing Compute Instance to the VPC:** Review the [Assign Existing Compute Instance to a VPC Subnet]() guide. -- **Add a new Compute Instance to the VPC:** To add a new instance, follow the [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/) workflow and complete the VPC section. \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/forward-proxy-for-vpc/index.md b/docs/products/networking/vpc/guides/forward-proxy-for-vpc/index.md deleted file mode 100644 index f414130aee9..00000000000 --- a/docs/products/networking/vpc/guides/forward-proxy-for-vpc/index.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -slug: forward-proxy-for-vpc -title: "Configure a Forward Proxy to Enable Internet Access within a VPC" -description: "This guide explains how to use a forward proxy to securely enable public internet access on Compute Instances located entirely behind a VPC." -published: 2024-02-14 -keywords: ['forward proxy vpc','configure forward proxy firewall','access internet from vpc','how to use forward proxy'] -aliases: ['/guides/forward-proxy-for-vpc/'] ---- - -Placing sensitive computing resources inside of a [*Virtual Private Cloud* (VPC)](https://en.wikipedia.org/wiki/Virtual_private_cloud) helps limit exposure and protect those systems. However, this also means it is impossible for these servers to directly access the internet without additional infrastructure. This limitation can be resolved through the use of a forward proxy, which acts as a gateway between the VPC and the public internet. This guide explains how to use a forward proxy to enable public internet access for devices within a VPC. It also demonstrates how to secure the VPC using an Akamai Cloud Firewall and how to provide applications with proxy access. - -## Methods of Enabling Internet Access for VPC Resources - -A server within a VPC cannot access other networks, or the internet, without additional configuration. To use the public internet, a server must either enable *Network Address Translation* (NAT) or send traffic to a forward proxy. - -### NAT - -A *One-to-one NAT* (1:1 NAT), also known as a *Basic NAT*, grants full internet access to the device. It connects two IP networks with different addressing schemes at the network layer. A 1:1 NAT maps an internal address and port to an external address and port. This technique allows the device to present a public IP address to the wider network while using a VPC-based address inside the private network. - -NAT modifies the source and destination addresses in the IP header to correspond to the next address space. When sending a packet from the VPC to a different network, it swaps out the internal address for the public address. It reverses this process when traffic moves in the opposite direction. There are many variations of NAT, but the 1:1 type is the simplest and most common. It recalculates the IP address and any associated checksums, while leaving the rest of the packet intact. For more detailed information about 1:1 NAT, see the [NAT page on Wikipedia](https://en.wikipedia.org/wiki/Network_address_translation). - -### Forward Proxy - -A proxy is a general term for any intermediate device or application lying between a client and the target server. A forward proxy is a boundary point between the internet and a private network. It is used to retrieve resources for clients from the wider network. In addition to validating client requests, it processes packets and routes them towards their destinations. A forward proxy often changes the source or destination address, but it can also modify other fields. It keeps track of the active requests, responses, destinations, and sources, allowing it to match responses to the original client. - -A proxy greatly enhances security by hiding some or all of the original addressing information. To the destination server, the request appears to come from the forward proxy. All details about the originating VPC remain hidden. Proxies can also be configured with traffic management policies. These policies can drop or filter unwanted packets, and limit the rate of incoming and outgoing packets. Some forward proxies also inspect packets to implement data protection and threat prevention. A forward proxy is typically used with a cloud or server-based firewall for extra security. - -In contrast to NAT, a forward proxy works at the application layer. The proxy information is configured as part of the web server configuration, similar to a website. While NAT is self-contained, a forward proxy is part of a networking solution. A device on the VPC first transmits an outbound packet to a forward proxy. The proxy analyzes the packet and redirects it towards its ultimate destination. A common architecture is to use a 1:1 NAT and a forward proxy together. The forward proxy uses NAT to bridge multiple address spaces. - -## Configuration Steps - -Here are the basic steps needed to configure a forward proxy on a Compute Instance and then utilize that forward proxy on other instances within a VPC. - -1. **[Deploy *at least two* Compute Instances](#deploy-compute-instances)** to the same data center. Connect all systems to the same VPC. Designate one system that will act as the forward proxy and connect it to the public internet or a different private network. - -1. **[Configure a Firewall](#configure-a-firewall-for-the-forward-proxy-instance)** that will protect the forward proxy instance. This guide uses our free Cloud Firewall service. - -1. **[Install and Configure Apache](#install-apache-and-configure-it-as-a-forward-proxy)** on the Compute Instance you've designated to act as the forward proxy. - -1. **[Test Connectivity through the Forward Proxy](#test-connectivity-through-the-forward-proxy)** on one of the other Compute Instances within the same VPC. - -Continue reading for detailed instructions on each of these steps. - -## Deploy Compute Instances - -To get started, use the Akamai Cloud Compute platform to deploy multiple Compute Instances within a VPC. - -1. Deploy two or more Compute Instances to the same region and the same VPC. This guide uses Ubuntu 22.04 as the distribution image, but the instructions are generally applicable to other Linux distributions (with some modifications). See [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) for additional instructions on how to deploy Linode Compute Instances. - - - **Forward Proxy Instance**: On the Compute Instance designated as the *forward proxy*, configure this instance with a 1:1 NAT by selecting the **Assign a public IPv4 address for this Linode** option. This enables your instance to connect to the internet. Additional NAT-specific configuration is not required. In later steps, we'll need to know the IP address configured for the VPC interface. You can find this information later or manually set the VPC IPv4 address when creating the instance. To do this, uncheck the *Auto-assign a VPC IPv4 address* option and manually enter a valid IPv4 address from the defined subnet range. For example, if the subnet range is `10.0.2.0/24`, you can use `10.0.2.2` as IPv4 address. The last segment of the IPv4 address cannot be `1` or `255` as they are reserved. - - - **Other Instance(s)**: On each Compute Instance *other than the forward proxy*, do not check the **Assign a public IPv4 address for this Linode** option. When this remains deselected, the instances are created without public internet access. - - When creating these instances, *do not* enable the **Private IP** option under **Add-ons**. This is for an unrelated feature. - -1. For the VPC interface to be automatically configured within the internal system of each Compute Instance, [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) needs to enabled. This is the default setting for Compute Instances on new accounts so, in most cases, you can proceed without issues. If Network Helper is disabled, enable it on each Compute Instance and reboot each instance. - -1. Log in to each instance using [Lish](/docs/products/compute/compute-instances/guides/lish/) and test the connectivity to ensure the VPC has been configured properly. - - - Ping the private VPC IPv4 address of another instance. Each Compute Instance on the VPC should be able to ping the IP addresses of all other instances within that same VPC. - - - Ping an IP address or website of a system on the public internet. This ping should only be successful for the Compute Instance configured with 1:1 NAT (the forward proxy instance). - -## Configure a Firewall for the Forward Proxy Instance - -After configuring the VPC and forward proxy instance, add a cloud firewall to protect the network. It is important to configure a firewall to restrict inbound access to the proxy, while leaving outbound traffic unrestricted. An insecure and open proxy can expose the network inside the VPC to security threats and misuse. - -1. Create the Cloud Firewall in the same data center as your VPC. When doing so, assign the Cloud Firewall to the newly created forward proxy instance. - -1. Set the default **inbound policy** to *Drop*, leaving the default **outbound policy** as *Accept*. - -1. Add the following three *inbound* rules. No *outbound* rules should be configured. - - - **Allow proxy traffic** from other instances within the VPC: - - - **Label**: Set this to `VPC`. - - **Protocol**: Use `TCP`. - - **Ports**: Choose `Custom`, then set the **Custom Port Range** to `8080`. - - **Sources**: Select `IP / Netmask`. List all subnets within the VPC under **IP / Netmask**. - - **Action**: Set to `Accept`. - - Click **Add Rule** to save the configuration. - - - **Allow ICMP (ping) traffic** within the VPC: - - - **Label**: Choose `VPC-ICMP`. - - **Protocol**: Use `ICMP`. - - **Ports**: Leave this field blank. - - **Sources**: Select `IP/Netmask` and enter all VPC subnets using the **IP / Netmask** field. - - **Action**: Set to `Accept`. - - Click the **Add Rule** button. - - - **Allow SSH connections** from other instances in the VPC as well as any administrative systems: - - - **Label**: Set this to `ssh`. - - **Protocol**: Use `TCP`. - - **Ports**: Use `SSH (22)`. - - **Sources**: select `IP/Netmask`, entering all VPC subnets in the **IP / Netmask** field. Also include the IP addresses of any administrative servers used to connect to the forward proxy. Ensure these addresses are as specific as possible, for example, `Admin_Addr/32`. - - **Action**: Set to `Accept`. - - Click the **Add Rule** button. - -1. Save the changes to apply the new firewall rules. - -Test the new firewall restrictions. It should be possible to initiate an SSH connection to the forward proxy from one of the designated administrative addresses. However, all attempts from other addresses should be silently blocked. - -## Install Apache and Configure It as a Forward Proxy - -The next step is to configure a Compute Instance to act as the forward proxy. Ideally, this proxy server should have only one role, which is to act as a forward proxy. Other than the web server and proxy information, it should have minimal additional configuration. In most cases, other applications should not be installed. This reduces the possible attack surface of the proxy. - -This guide uses Apache as the forward proxy, though other HTTP proxy software can also be used. - -1. Log in to the Compute Instance you've designated as the forward proxy using [Lish](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/guides/connect-to-server-over-ssh/). - -1. Install the Apache software package, making sure to download the latest package lists first. - - ```command - sudo apt update -y && sudo apt install apache2 -y - ``` - -1. Enable the Apache modules that provide the forward proxy functionality. - - ```command - sudo a2enmod proxy proxy_http proxy_connect - ``` - -1. Create and edit an Apache configuration file to store the forward proxy settings. This should be located wherever Apache configuration files are stored within your system (such as the `/etc/apache2/sites-available` directory). - - ```command - sudo nano /etc/apache2/sites-available/fwd-proxy.conf - ``` - -1. Paste in the following example configuration, customizing these directives: - - - Replace {{< placeholder "10.0.2.2" >}} in the *Listen* directive with the internal VPC address of the forward proxy, using the format `IP_ADDRESS:8080` (such as `10.0.2.2:8080`). Do not use the public IP address. - - Replace {{< placeholder "10.0.2.0/24" >}} in the *Require* directive (within the *Proxy* group) with the VPC subnet range. Use the format `NETWORK_ADDR/MASK`. For example, to permit proxy service for the `10.0.2.0/24` subnet, include the line `Require ip 10.0.2.0/24`. Multiple subnets can be added using a space as the delimiter. - - ```file {title="/etc/apache2/sites-available/fwd-proxy.conf" lang="aconf"} - Listen {{< placeholder "10.0.2.2" >}}:8080 - - ServerAdmin webmaster@localhost - DocumentRoot /var/www/html - ErrorLog ${APACHE_LOG_DIR}/fwd-proxy-error.log - CustomLog ${APACHE_LOG_DIR}/fwd-proxy-access.log combined - ProxyRequests On - ProxyVia On - - Require ip {{< placeholder "10.0.2.0/24" >}} - - - ``` - -1. Set the owner of the file to `root:root` and set the correct file permissions: - - ```command - sudo chown root:root /etc/apache2/sites-available/fwd-proxy.conf - sudo chmod 0644 /etc/apache2/sites-available/fwd-proxy.conf - ``` - -1. Enable the Apache configuration file that was created in a previous step. - - ```command - sudo a2ensite fwd-proxy - ``` - -1. Restart the Apache server to activate the new configuration: - - ```command - sudo systemctl restart apache2 - ``` - -## Test Connectivity through the Forward Proxy - -All servers in the VPC can now utilize the forward proxy to access the internet. This is configured per application and the instructions depend on that particular application. - -### Package Management - -A common use case is to enable internet access for package management (such as through the apt tool). This allows administrators to install updates on the instances inside the VPC. Follow the steps below to enable `apt` connectivity on the VPC nodes and use `curl`. - -1. Log in to one of the servers in the VPC. To access the node, use the LISH console. Alternatively, log in to the forward proxy from one of the designated administrative addresses, then establish a new SSH connection to the target instance. - -1. Add the following line to the `apt` proxy configuration, replacing {{< placeholder "10.0.2.2" >}} with the internal VPC IP address of the forward proxy: - - ```command - echo 'Acquire::http::proxy "http://{{< placeholder "10.0.2.2" >}}:8080";' > /etc/apt/apt.conf.d/proxy.conf - ``` - -1. Attempt to update the local packages using `apt update`: - - ```command - sudo apt update - ``` - - The command should now function correctly, using the proxy as a forwarding agent. - -### cURL - -To transmit `curl` requests, append the `--proxy` parameter to the request, again replacing {{< placeholder "10.0.2.2" >}} with the internal VPC IP address of the forward proxy: - -```command -curl --proxy {{< placeholder "10.0.2.2" >}}:8080 http://example.com -``` \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/manage-vpcs/index.md b/docs/products/networking/vpc/guides/manage-vpcs/index.md deleted file mode 100644 index 2f982b092eb..00000000000 --- a/docs/products/networking/vpc/guides/manage-vpcs/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Manage VPCs" -description: "Instructions on viewing, editing, and deleting VPCs on Akamai's cloud computing platform" -published: 2024-01-30 ---- - -## View VPCs - -Log in to [Cloud Manager](https://cloud.linode.com/) and select **VPC** in the sidebar. If any VPCs exist on your account, they are listed on this page. - -![Screenshot of the VPC page in Cloud Manager](vpc-list.jpg) - -Each VPC is listed along with the region it is located within, its ID, the number of subnets, and the number of Compute Instances that are assigned. - -## Review and Edit a VPC - -Navigate to the **VPCs** page in Cloud Manager and locate the VPC you wish to edit. See [View VPCs](#view-vpcs). Click the name of the VPC to be taken to its details page. - -![Screenshot of the VPC summary in Cloud Manager](vpc-details.jpg) - -This displays the summary of the VPC along with a list of subnets within the VPC. To edit the VPC label or description, click the **Edit** button within the *Summary* section. The data center assignment cannot be changed. Once a VPC has been created, you cannot move it to a different data center. - -## Create a VPC - -To add a new VPC on your account, follow the [Create a VPC](/docs/products/networking/vpc/guides/create/) instructions. - -## Delete a VPC - -A VPC can be deleted using the **Delete** button next to the VPC you wish to delete on the main **VPC** page. It can also be deleted when viewing that VPCs details page by clicking the **Delete** button within the _Summary_ section. - -Only a VPC without any Compute Instances assigned can be deleted. Review the [Remove Compute Instances from a VPC]() workflow if any Compute Instances are currently assigned. \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/manage-vpcs/vpc-details.jpg b/docs/products/networking/vpc/guides/manage-vpcs/vpc-details.jpg deleted file mode 100644 index 7d2a17faac6..00000000000 Binary files a/docs/products/networking/vpc/guides/manage-vpcs/vpc-details.jpg and /dev/null differ diff --git a/docs/products/networking/vpc/guides/manage-vpcs/vpc-list.jpg b/docs/products/networking/vpc/guides/manage-vpcs/vpc-list.jpg deleted file mode 100644 index f6cea34d647..00000000000 Binary files a/docs/products/networking/vpc/guides/manage-vpcs/vpc-list.jpg and /dev/null differ diff --git a/docs/products/networking/vpc/guides/subnets/create-subnet.jpg b/docs/products/networking/vpc/guides/subnets/create-subnet.jpg deleted file mode 100644 index 49a70f5fbca..00000000000 Binary files a/docs/products/networking/vpc/guides/subnets/create-subnet.jpg and /dev/null differ diff --git a/docs/products/networking/vpc/guides/subnets/index.md b/docs/products/networking/vpc/guides/subnets/index.md deleted file mode 100644 index 3c292afb76a..00000000000 --- a/docs/products/networking/vpc/guides/subnets/index.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Manage VPC Subnets" -description: "Learn how to view, edit, and delete subnets within Akamai's VPC solution." -published: 2024-01-30 ---- - -A VPC contains one or more _subnets_, which are networks within the VPC whose services all share the same IPv4 CIDR range. Just like VPCs, subnets are restricted to a single data center. Multiple subnets can be added to isolate services that are used for certain functionality of an application (like front end and back-end services) or can segment a VPC and its attached services into different environments (such as development, staging, and production). - -## Subnet Components - -- **Subnet Label:** An alphanumeric string (containing only letters, numbers, and hyphens) used to identify the subnet. It should be unique among other subnets in the same VPC and should provide an indication as to its intended usage. - -- **Subnet IP Address Range:** VPC subnet ranges must be in the RFC1918 IPv4 address space designated for private networks. That said, it cannot overlap with the `192.168.128.0/17` range set aside for [Private IP addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#types-of-ip-addresses) on Compute Instances. - -- **Assigned Services:** Each subnet can have multiple services assigned to it. These services can communicate with others in the same subnet, but are not able to communicate outside the subnet unless they belong to another subnet or have an interface configured for the public internet. - -## Considerations - -- Up to 10 subnets can be created on a VPC. -- A subnet is located within a single data center. -- Each subnet can have at most one IPv4 CIDR block. Review [Valid IPv4 Ranges](#valid-ipv4-ranges). -- Each service assigned to a subnet must have a unique IPv4 address in the defined range. - -## Valid IPv4 Ranges for a Subnet {#valid-ipv4-ranges} - -When defining an IPv4 range for a subnet, use a CIDR block within the [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918) specification that can accommodate the number of instances you anticipate being assigned to the subnet. Your subnet must be within the following blocks: - - - 10.0.0.0/8 - - 172.16.0/12 - - 192.168.0.0/16 (excluding 192.168.128.0/17 which is reserved for the [private IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) feature) - -## View Subnets - -1. View the [VPCs](https://cloud.linode.com/vpcs) page in Cloud Manager. See [View VPCs](/docs/products/networking/vpc/guides/manage-vpcs/#view-vpcs). - -1. Locate and click the name of the VPC you wish to inspect. This displays the details page for that VPC. - -1. Review the **Subnets** section to view all of the subnets on the VPC. - -![](subnet-details.jpg) - -Each subnet is listed alongside its defined CIDR block and the number of services assigned. Subnets can be expanded to view all services assigned to that particular subnet. These services are listed alongside their assigned IPv4 address and any firewalls that are applied to that interface. - -## Add a Subnet - -Up to 10 subnets can be added to each VPC. - -1. Navigate to the **Subnets** section of a VPC. See [View Subnets](#view-subnets). - -1. Click the **Create Subnet** button. This opens the **Create Subnet** panel. - - ![](create-subnet.jpg) - -1. Enter a unique label and IP address range for the subnet. - -1. Click the **Creat Subnet** button. - -## Edit a Subnet's Label - -Once a subnet has been created, only its label can be edited. You cannot modify the CIDR block. - -1. Navigate to the **Subnets** section of a VPC. See [View Subnets](#view-subnets). - -1. Locate the subnet you wish to edit, expand the corresponding ellipsis menu, and click the **Edit** option. This opens the **Edit Subnet** panel. - -1. Modify the label and click **Save**. - -## Assign a Service to a Subnet - -Review the [Assign a Compute Instance to a VPC](/docs/products/networking/vpc/guides/assign-services/) guide. - -## Remove a Service from a Subnet - -It is possible to remove a Compute Instance from a subnet, though the instance needs to be powered off to do so. Follow the instructions below to power off and remove a Compute Instance. - -1. Navigate to the **Subnets** section of a VPC. See [View Subnets](/docs/products/networking/vpc/guides/subnets/#view-subnets). - -1. Locate the subnet that the service belongs to. - -1. Within the list of assigned services, locate the Compute Instance you wish to remove. - -1. If the instance is not already powered off, click the corresponding **Power Off** button. - -1. Once the instance is fully powered off, click the corresponding **Unassign Linode** button. - -Once the instance has been removed, you can power it back on or delete it. If you wish to continue using the Compute Instance, you should inspect the network interfaces within its [Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) to ensure it can operate as expected. \ No newline at end of file diff --git a/docs/products/networking/vpc/guides/subnets/subnet-details.jpg b/docs/products/networking/vpc/guides/subnets/subnet-details.jpg deleted file mode 100644 index 8a279a291d6..00000000000 Binary files a/docs/products/networking/vpc/guides/subnets/subnet-details.jpg and /dev/null differ diff --git a/docs/products/platform/_index.md b/docs/products/platform/_index.md deleted file mode 100644 index 43966035b3f..00000000000 --- a/docs/products/platform/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Platform -title_meta: Linode Platform Documentation -description: "A collection of product documentation for topics related to the Linode Platform." ---- diff --git a/docs/products/platform/accounts/_index.md b/docs/products/platform/accounts/_index.md deleted file mode 100644 index dd8dd08601c..00000000000 --- a/docs/products/platform/accounts/_index.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Accounts -description: "Learn how to manage your Linode user account, including adding multiple users and adjusting their permissions" -published: 2022-11-21 -modified: 2022-11-23 -tab_group_main: - is_root: true - title: Overview - weight: 10 -aliases: ['/guides/platform/accounts/'] ---- - -A Linode account is your gateway to deploying and using Linode's products and services. If you're new to Linode, see the [Getting Started](/docs/products/platform/get-started/) guide to learn how to sign up for an account and deploy your first service. - -## Multiple Users - -Every account can have multiple users, each with their own permissions. This enables each person on your team (from account managers to developers) to use Linode with their own set of credentials and levels of access. See [Manage Users](/docs/products/platform/accounts/guides/manage-users/) and [Set User Permissions](/docs/products/platform/accounts/guides/user-permissions/). - -## Enhanced Security - -Protect your account with added security by using [two-factor authentication](/docs/products/platform/accounts/guides/2fa/) or logging in with a [third-party provider](/docs/products/platform/accounts/guides/third-party-authentication/). Each Linode account is also further protected by user-defined [security questions](/docs/products/platform/accounts/guides/user-security-controls/#security-questions) and [phone verification](/docs/products/platform/accounts/guides/user-security-controls/#phone-verification). \ No newline at end of file diff --git a/docs/products/platform/accounts/developers/index.md b/docs/products/platform/accounts/developers/index.md deleted file mode 100644 index 0666de49965..00000000000 --- a/docs/products/platform/accounts/developers/index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Managing Linode Accounts" -description: "Learn how to use the Linode API to manage your accounts and users." -published: 2022-11-21 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Account View](https://techdocs.akamai.com/linode-api/reference/api-summary#account-view) - -- [Account Update](https://techdocs.akamai.com/linode-api/reference/api-summary#account-update) - -- [Account Cancel](https://techdocs.akamai.com/linode-api/reference/api-summary#account-cancel) - -- [Users List](https://techdocs.akamai.com/linode-api/reference/api-summary#users-list) - -- [Users Create](https://techdocs.akamai.com/linode-api/reference/api-summary#user-create) - -- [Users View](https://techdocs.akamai.com/linode-api/reference/api-summary#user-view) - -- [User Update](https://techdocs.akamai.com/linode-api/reference/api-summary#user-update) - -- [User's Grants View](https://techdocs.akamai.com/linode-api/reference/api-summary#users-grants-view) - -- [User's Grants Update](https://techdocs.akamai.com/linode-api/reference/api-summary#users-grants-update) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [manage your account](/docs/products/tools/cli/guides/account/) diff --git a/docs/products/platform/accounts/faqs/_index.md b/docs/products/platform/accounts/faqs/_index.md deleted file mode 100644 index f6d548f5488..00000000000 --- a/docs/products/platform/accounts/faqs/_index.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "FAQs" -title_meta: "FAQs for Creating and Managing Linode Accounts" -description: "Find quick answers to some of the most commonly asked account and login questions." -published: 2023-03-08 -modified: 2023-03-14 -tab_group_main: - weight: 60 ---- - -## I no longer remember my user password. How can I reset it? - -If you forget the password associated with your Linode user account, you can reset it using the [forgot password](https://login.linode.com/forgot/password) form. Once you enter your username and submit the form, a password reset is emailed to the user's email address. See [Reset Your User Password](/docs/products/platform/accounts/guides/reset-user-password/). - -If you instead need assistance resetting the root user on a Compute Instance, review the [Reset the Root Password on a Compute Instance](/docs/products/compute/compute-instances/guides/reset-root-password/) guide. - -## How can I recover the username associated with my Linode account? - -If you forget your username, you can recover it using the [forgot username](https://login.linode.com/forgot/username) form. Enter the email address you might have used during signup. If a username is associated with that address, a message containing the username(s) is sent to that email address. See [Recover a Lost Username](/docs/products/platform/accounts/guides/manage-users/#recover-a-lost-username). - -## I'm not receiving login-related emails, including username recovery, password reset, and one-time passcode emails. - -Login-related emails are sent to the email address of your user account (not to the billing contact email) and are sent from *support@linode.com*. If you are expecting an OTP, password reset, or user recovery email but not seeing one in your inbox, follow the steps below: - -- Search your inbox for the sender email (*support@linode.com*). -- Check your spam or junk folder for the email. -- If you are using a Microsoft email service (like Outlook.com, Microsoft 365, or Exchange), verify that *linode.com* is on the [safe senders list](https://support.microsoft.com/en-us/office/block-or-allow-junk-email-settings-48c9f6f7-2309-4f95-9a4d-de987e880e46#bkmk_safesenders). -- For Microsoft 365 (business users), you may need to review your [quarantined email messages](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/quarantine-end-user?view=o365-worldwide). When viewing the [quarantine portal](https://protection.office.com/quarantine), search for your email address, locate the email you wish to receive, and release/allow that email. and release any emails from *linode.com*. - -If you are still not receiving this email, submit a support request through the [Can't sign in to your account?](https://www.linode.com/support/contact/) form. - -## 2FA is enabled on my account but I no longer have access to my 2FA device or application. How can I regain access to my Linode account? - -2FA (two-factor authentication) adds a layer of security to protect your account from unauthorized access. When switching devices or 2FA applications, it's important to [reset 2FA](/docs/products/platform/accounts/guides/2fa/#switching-to-a-new-device-or-2fa-provider) before decommissioning your original device. If you lose access to your device before resetting 2FA, use one of the scratch codes that were provided to when 2FA was first enabled. As a best practice, these should always be stored in a secure manner separate from your 2FA provider. If you do not have your scratch code, review the options available within the [2FA Recovery Procedures](/docs/products/platform/accounts/guides/2fa/#recovery-procedure). - -## I'd like to provide a developer with access to my Linode account. How should I do this? - -When working with an outside developer or web administrator, you will likely need to provide them access to your Linode account, your Compute Instances, or both. It's important to keep in mind the level of access they will need. You, as the account owner, are ultimately responsible for the services on the account and the bill that those services generate. Review the [Create an Account for a Developer to Work on Your Linode](/docs/products/platform/get-started/guides/developer-access/) guide for instructions on creating a user account for your developer, providing them with access to Compute Instances, and granting other types of access. \ No newline at end of file diff --git a/docs/products/platform/accounts/faqs/tab.svg b/docs/products/platform/accounts/faqs/tab.svg deleted file mode 100644 index 24b2df1f82a..00000000000 --- a/docs/products/platform/accounts/faqs/tab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/platform/accounts/feature.png b/docs/products/platform/accounts/feature.png deleted file mode 100644 index 1f0338ad565..00000000000 Binary files a/docs/products/platform/accounts/feature.png and /dev/null differ diff --git a/docs/products/platform/accounts/feature.svg b/docs/products/platform/accounts/feature.svg deleted file mode 100644 index 7235d543af0..00000000000 --- a/docs/products/platform/accounts/feature.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/2fa/How_to_Keep_Your_Linode_Account_Safe_smg.jpg b/docs/products/platform/accounts/guides/2fa/How_to_Keep_Your_Linode_Account_Safe_smg.jpg deleted file mode 100644 index 97493692db2..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/How_to_Keep_Your_Linode_Account_Safe_smg.jpg and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/confirm-2fa-token.png b/docs/products/platform/accounts/guides/2fa/confirm-2fa-token.png deleted file mode 100644 index b7d26a5813b..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/confirm-2fa-token.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/index.md b/docs/products/platform/accounts/guides/2fa/index.md deleted file mode 100644 index 59536f37b4b..00000000000 --- a/docs/products/platform/accounts/guides/2fa/index.md +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: "Manage Two-Factor Authentication (2FA) on a User Account" -title_meta: "Manage 2FA on a Linode User Account" -description: "Secure your Linode user account from unauthorized access by enabled 2FA (two-factor authentication)." -published: 2022-06-27 -modified: 2023-08-15 -keywords: ["security", "Linode Cloud Manager", "token"] -tags: ["security","cloud manager"] -aliases: ['/guides/2fa/'] ---- - -2FA (*two-factor authentication*) increases the security of your Linode Cloud Manager account by requiring two forms of authentication: your password and an expiring token, also called an OTP (one-time passcode) or 2FA code. This follows the security principle of authenticating with something you *know* (a password) and something you *have* (the device used to generate the token). This additional layer of security reduces the risk that an unauthorized individual can gain access to your Linode Cloud Manager account. **Akamai highly recommends enabling 2FA**. - -{{< note type=warning noTitle=true >}} -Managing 2FA through Cloud Manager is only available if *Cloud Manager* is selected as the **Login Method**. If you select a third-party authentication provider (such as Google or GitHub), 2FA is managed directly through that provider and not through Cloud Manager. -{{< /note >}} - -{{< note title="Account protection for users without 2FA enabled" >}} -If you *do not* have 2FA enabled and it has been 90 days or more since your last login, you are required to enter a unique one-time passcode (OTP). This passcode is sent to the email address on your user account and is valid for 60 minutes. If the passcode expires before you enter it, attempt another login to generate a new passcode. -{{< /note >}} - -## Choosing a 2FA Provider - -Before enabling 2FA on your user account, you need to determine which application you wish to use for managing your authentication and generating the expiring tokens (OTPs). You may want to consider using your existing password manager or using a dedicated authenticator app. - -### Use Your Password Manager - -Most password managers offer a built-in OTP feature. If convenience is a large factor for you, using your password manager is typically faster and no extra applications are needed. Once configured, you can copy your OTP token from the same application that stores your usernames and passwords. In many cases, your OTP token can automatically be pasted into the appropriate field on your web browser when logging in. Here are some password managers that support OTP / 2FA tokens: - -- [1Password](https://1password.com/) -- [Bitwarden](https://bitwarden.com/) -- [Keeper](https://www.keepersecurity.com/) - -The primary downsides of using your password manager as your OTP provider are security and cost. If a malicious actor gains access to your password manager, they also now have access to your OTPs. To prevent this, consider using a dedicated application (see below). - -### Use a Dedicated Authenticator App - -There are quite a few free (and paid) third-party authenticator applications available. They are typically more secure than using your password manager's OTP functionality as a malicious actor cannot gain access to your Cloud Manager account (or any other 2FA protected account) unless they know your password and have access to the particular device on which the authenticator app is installed, typically your smartphone. - -- [Authy](https://authy.com/features/setup/) -- [Duo Mobile](http://guide.duosecurity.com/third-party-accounts) -- [Google Authenticator](http://support.google.com/accounts/bin/answer.py?hl=en&answer=1066447) -- [Microsoft Authenticator](https://www.microsoft.com/en-us/security/mobile-authenticator-app) - -## Enabling 2FA - -Enable two-factor authentication to start using it with your Cloud Manager account. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click your username in the top right of the screen and select **Login & Authentication**. - - ![Click your username and select Login & Authentication](profile-link.png) - -1. Within the **Login Method** section, select **Cloud Manager** as the login provider. If you configure a third-party provider (such as Google or GitHub), you instead can manage 2FA directly through that provider and not through Cloud Manager. - - ![Screenshot of the Login Method section](login-provider.png) - -1. Under **Security Settings**, verify that you have configured all 3 security questions. If not, follow the instructions within the [Security Questions](/docs/products/platform/accounts/guides/user-security-controls/#security-questions) guide. - -1. Within the **Two-Factor Authentication** section, click the toggle switch to enable 2FA. - - ![Enable 2FA](tfa-enable.png) - - A QR code should appear, along with a secret key and a field to enter your 2FA token. - -1. Open the app for your preferred 2FA provider on your smartphone or desktop. For help choosing a provider, see [Choosing a 2FA Provider](#choosing-a-2fa-provider). - -1. The next step is to configure the app to automatically generate OTP tokens for use with Cloud Manager's 2FA feature. The process varies depending on the app you are using. Within most dedicated authenticator apps, you can add an account. For password managers, edit or add a Cloud Manager login entry and add a one-time passcode (1Password), two-factor code (Keeper), or the equivalent field within your app. Then either scan Cloud Manager's 2FA QR code or manually enter the secret key (also called a setup key or code). On mobile devices, you can use your phone's camera to scan the QR code. Desktop applications instead can typically scan the QR through their own custom screen capture tool. If you need further help, you can consult the documentation for your 2FA provider. - -1. Once 2FA has been configured in your 2FA provider, a time-sensitive OTP token is generated. This token refreshes every 30 seconds. Copy this token and, within Cloud Manager, paste it to the **Token** field and click **Confirm Token**. - - ![Enter the 2FA token](confirm-2fa-token.png) - -1. Once the token is successfully confirmed, a scratch code appears. Save this code to a secure place, such as a password manager. If you ever lose access to your authenticator app, this scratch code can be used once in place of the OTP token. Two-factor authentication is enabled on your account. - -## Logging in When 2FA Is Enabled - -If 2FA is enabled on your account, you must enter the OTP generated by your 2FA provider when you log in to Cloud Manager. - -1. Open [Cloud Manager](https://cloud.linode.com) in your web browser. If you are not already logged in, the Login page appears. - -1. Enter your username and password and click **Log in**. If you wish, you can also select *Trust this device for 30 days* to stay logged in for 30 days. If 2FA is enabled on your account, a form appears requesting your OTP token or scratch code. - -1. Open the authenticator app you are using to manage your 2FA and OTP tokens. Within this app, open the Linode Cloud Manager account or login entry to view the time-sensitive OTP code. - -1. Enter your OTP token into the **Token** field in Cloud Manager and then click the **Verify** button. Provided the token is correct, you are successfully logged in. - - ![Screenshot of the 2FA entry form](login-with-2fa.png) - - {{< note >}} - If you entered your one-time use scratch code instead of an OTP token, a new scratch code is automatically generated and provided to you. Save this code for the next time you do not have access to your authenticator app. - {{< /note >}} - -## Switching to a New Device or 2FA Provider - -If you need to switch your 2FA provider or change the device in use by your two-factor authenticator app, you can do so within Cloud Manager. To successfully log in to Cloud Manager, you must have access to your original 2FA provider or device. If you've lost your device or otherwise don't have access, see the [Recovery Procedure](#recovery-procedure) below. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Navigate to the Login & Authentication page of your profile by clicking on your **username** in the top right of the screen. Select **Login & Authentication** from the dropdown menu. - -1. In the **Two-Factor Authentication (2FA)** section, click **Reset two-factor authentication**, as shown below. - - ![Reset two-factor authentication.](security-reset-tfa.png "Reset two-factor authentication.") - -1. A new QR code and secret key is generated for your account and displayed on the screen. Follow the instructions in the [Enabling Two-Factor Authentication](#enabling-2fa) section. - -## Disabling 2FA - -You can disable two-factor authentication for your Cloud Manager account at any time. Here's how: - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Navigate to the Login & Authentication page of your profile by clicking on your **username** in the top right of the screen. Select **Login & Authentication** from the dropdown menu. - -1. In the **Two-Factor Authentication (2FA)** section, toggle the **Enabled** switch to disable two-factor Authentication. - -1. A confirmation window appears asking if you want to disable two-factor authentication. Click **Disable Two-Factor Authentication**. - -You have successfully disabled the two-factor authentication feature for your Linode Cloud Manager account. - -## Recovery Procedure - -If you lose access to your 2FA provider, you can still log in using the scratch code that was generated when you first enabled 2FA. If you do not have that scratch code, you will be unable to log in to Cloud Manager and will need to contact the Customer Support team to request 2FA removal. See the instructions below for specific recovery steps. - -- [With Scratch Code](#with-scratch-code) -- [With Security Questions](#with-security-questions) -- [Without Security Questions](#without-security-questions) - -Please keep in mind that if you cannot provide the information required for the recovery options below, we will be unable to remove 2FA from your account. - -### With Scratch Code - -You should have received a one-time scratch code when you initially enabled two-factor authentication on your user account. If you have this scratch code, you can provide it in place of a token when prompted during the login process. Once logged in, you can proceed to [disable 2FA](#disabling-2fa) and [enable it again on your preferred device](#enabling-2fa). - -It is not possible to generate a new scratch code. If you do not have access to this scratch code and you’re unable to log in to your account, follow the instructions in one of the next sections ([With Security Questions](#with-security-questions) or [Without Security Questions](#without-security-questions)). - -### With Security Questions - -1. Contact the [Linode Support](https://www.linode.com/support/) team via phone and state that you are locked out of your account and would like to remove 2FA. Be prepared to provide Support with your username and/or email address associated with the account. - - - U.S. toll-free: 855-454-6633 - - Global: +1-609-380-7100 - -1. A member of the Support team will ask you to provide valid answers to each of your security questions. - -1. Your answers and any other details provided will be reviewed. If the information provided is sufficient, the team member will remove 2FA from your account. If additional details are needed, you will be provided with further instructions. - -### Without Security Questions - -Fill out our [Support Contact Form](https://www.linode.com/support/contact/) after selecting the option “I’ve lost my 2FA device." A member of the Support team will review your submission and respond to your ticket with next steps. - -{{< note type="warning">}} -This recovery procedure will soon be deprecated and our team will instead use your security questions to verify your identity to proceed with 2FA removal. Once you’re able to log in to your account, we suggest updating your security questions to ensure you are able to regain access to your account in the event of another login issue. -{{}} - -## FAQs - -### What should I do if I have access to my 2FA application, but each code I use is invalid when I try to log in? - -This usually occurs if the time on the application or device is inaccurate. Make sure the time on the device you’re using is accurate or within 30 seconds of your timezone - official time can be observed from [https://time.gov](https://time.gov). If you have confirmed that the time on your application is accurate and this doesn’t resolve the issue, follow the steps within the [Recovery Procedure](#recovery-procedure) section. - -### What should I do if I no longer have access to the application I use to manage 2FA? - -A scratch code was generated and displayed when you enabled 2FA on your user account. Provide this scratch code in place of the OTP token when prompted during the login process. Scratch codes can only be used once. - -### I don’t have access to my 2FA application or my scratch code. How can I remove 2FA from my account? - -Review all of the alternative recovery options available in the [Recovery Procedure](#recovery-procedure) section. Keep in mind that if you don’t have access to any recovery mechanisms, you may not be able to recover access to your account. - -### Do you support Yubikeys? - -We hope to have this functionality soon. In the meantime, we have detailed a workaround in a Community Questions Site Post, [Yubikey as a 2FA Option](https://www.linode.com/community/questions/17374/yubikey-as-2fa-option-for-manager#answer-82565). - -### I’ve lost my scratch code - how do I generate a new one? - -It is not possible to regenerate a new scratch code on an existing 2FA provider. If you have not previously saved your scratch code and wish to do so, you must [disable 2FA](#disabling-2fa) from your account and then enable it again. - -### Can I submit answers to my security questions through a ticket or email? - -It’s not secure to submit answers via ticket, therefore we ask that you call the Support line to provide your answers. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/2fa/login-provider.png b/docs/products/platform/accounts/guides/2fa/login-provider.png deleted file mode 100644 index fd62415872d..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/login-provider.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/login-with-2fa.png b/docs/products/platform/accounts/guides/2fa/login-with-2fa.png deleted file mode 100644 index bdef62ca413..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/login-with-2fa.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/profile-link.png b/docs/products/platform/accounts/guides/2fa/profile-link.png deleted file mode 100644 index ea8701c199a..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/profile-link.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/security-reset-tfa-small.png b/docs/products/platform/accounts/guides/2fa/security-reset-tfa-small.png deleted file mode 100644 index 9c118b05cec..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/security-reset-tfa-small.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/security-reset-tfa.png b/docs/products/platform/accounts/guides/2fa/security-reset-tfa.png deleted file mode 100644 index 43da3fb2cd4..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/security-reset-tfa.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/security-tfa-settings-small.png b/docs/products/platform/accounts/guides/2fa/security-tfa-settings-small.png deleted file mode 100644 index f14dd78bf0a..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/security-tfa-settings-small.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/security-tfa-settings.png b/docs/products/platform/accounts/guides/2fa/security-tfa-settings.png deleted file mode 100644 index d00a614ff50..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/security-tfa-settings.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/tfa-enable.png b/docs/products/platform/accounts/guides/2fa/tfa-enable.png deleted file mode 100644 index 148e501d2f9..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/tfa-enable.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/trusted-devices.png b/docs/products/platform/accounts/guides/2fa/trusted-devices.png deleted file mode 100644 index 1112a19b240..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/trusted-devices.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/2fa/two-factor-authentication-diagram.png b/docs/products/platform/accounts/guides/2fa/two-factor-authentication-diagram.png deleted file mode 100644 index 3f08af717e0..00000000000 Binary files a/docs/products/platform/accounts/guides/2fa/two-factor-authentication-diagram.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/_index.md b/docs/products/platform/accounts/guides/_index.md deleted file mode 100644 index 7c40b491d67..00000000000 --- a/docs/products/platform/accounts/guides/_index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Managing Linode Accounts" -description: "A collection of documentation related to managing Linode accounts and users" -tab_group_main: - weight: 30 -date: 2022-11-21 ---- - -## Basics - -- [Manage Users](/docs/products/platform/accounts/guides/manage-users/): View, edit, and manage users on your Linode account. - -- [Change User Email](/docs/products/platform/accounts/guides/change-user-email/): Update the email address on file. - -- [Reset User Password](/docs/products/platform/accounts/guides/reset-user-password/): Change the password on your Linode account. - -- [Transfer Services to a Different Account](/docs/products/platform/accounts/guides/service-transfers/) - -- [Cancel Your Account](/docs/products/platform/accounts/guides/cancel-account/): Instructions on cancelling your Linode account. - -## Security Controls - -- [Security Controls for User Accounts](/docs/products/platform/accounts/guides/user-security-controls/): Understand the available security features of a Linode account. - -- [Managing 2FA on a Linode User Account](/docs/products/platform/accounts/guides/2fa/): Instructions on adding and removing two-factor authentication. - -- [Enable Third Party Authentication on Your User Account](/docs/products/platform/accounts/guides/third-party-authentication/): Learn how to sign in using third party credentials, like GitHub or Google. - - -## Additional User Settings - -- [Manage User Permissions](/docs/products/platform/accounts/guides/user-permissions/): View, edit, and manage user permissions on your Linode account. - -- [Manage SSH Keys](/docs/products/platform/accounts/guides/manage-ssh-keys/): Add public keys to your user, which can be configured on the root user when deploying Compute Instances. - -- [Manage API Personal Access Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/): View and manage personal access tokens for use with the Linode API. - -## Akamai Partners - -- [Parent and Child Accounts for Akamai Partners](/docs/products/platform/accounts/guides/parent-child-accounts/): Learn how parent and child accounts can help Akamai partners manage multiple accounts. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/cancel-account/index.md b/docs/products/platform/accounts/guides/cancel-account/index.md deleted file mode 100644 index 8722603adba..00000000000 --- a/docs/products/platform/accounts/guides/cancel-account/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Cancel Your Account -title_meta: "How to Cancel an Account on the Linode Platform" -description: "Learn how to cancel a Linode account through Cloud Manager." -published: 2021-06-25 -modified: 2023-03-02 -tags: ["linode platform","cloud manager"] -aliases: ['/guides/how-to-cancel-your-account/','/quick-answers/linode-platform/cancel-your-account-shortguide/','/quick-answers/linode-platform/how-to-cancel-your-account/'] ---- - -A Linode account enables you to deploy and use services on the Linode Platform. If you no longer wish to use the Linode Platform, you can cancel your account at any time. When you cancel your account, any past due balance and uninvoiced balance remaining on your account is immediately charged to the default payment method on file, minus any remaining account credits. - -You do not have to cancel your account to prevent recurring charges. Instead, you can remove all services from your account via Cloud Manager, Linode API, or Linode CLI. This lets you retain your Linode account if you intend to use it in the future. See [Removing Services](/docs/products/platform/billing/guides/stop-billing/) for more information. - -{{< note >}} -Linode provides a 7-day guarantee for all paid services. If you cancel your account within the first 7 days, you are likely eligible to receive a full refund for any service charges paid with a valid payment method (not with an account credit or promotional code). To request this refund, enter a note in the cancellation form or email support@linode.com with your request. -{{< /note >}} - -1. Log into [Cloud Manager](https://cloud.linode.com). -1. Click the **Account** link in the sidebar. -1. Click the **Settings** tab. -1. Under the **Close Account** panel, click the **Close Account** button. -1. A confirmation form appears. Enter your Linode username in the first field and optionally enter any comments you'd like to leave in the second field. Any refund requests can be entered here as well. See the [Refunds](/docs/products/platform/billing/#refunds) section of the Billing guide. -1. Click the **Close Account** button to complete your account cancellation. Any past due balance and uninvoiced balance is immediately charged to the credit card on file for your account. After that, you will receive no further charges from Linode regarding this account. - -After following these instructions, all of your services are immediately marked for deletion and your account is immediately cancelled. You are no longer able to log in through Cloud Manager. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/change-user-email/ChangingYourEmailAddress.png b/docs/products/platform/accounts/guides/change-user-email/ChangingYourEmailAddress.png deleted file mode 100644 index 3f5224726d5..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/ChangingYourEmailAddress.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/change-user-email/L_ChangeYourEmail.png b/docs/products/platform/accounts/guides/change-user-email/L_ChangeYourEmail.png deleted file mode 100644 index e715e60e525..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/L_ChangeYourEmail.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/change-user-email/accounts-my-profile-change-email.png b/docs/products/platform/accounts/guides/change-user-email/accounts-my-profile-change-email.png deleted file mode 100644 index 6b024f19412..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/accounts-my-profile-change-email.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/change-user-email/email-edit-button.png b/docs/products/platform/accounts/guides/change-user-email/email-edit-button.png deleted file mode 100644 index 9dfb0838b68..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/email-edit-button.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/change-user-email/how-to-change-email-my-profile.png b/docs/products/platform/accounts/guides/change-user-email/how-to-change-email-my-profile.png deleted file mode 100644 index 420815489c5..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/how-to-change-email-my-profile.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/change-user-email/how-to-change-email-save.png b/docs/products/platform/accounts/guides/change-user-email/how-to-change-email-save.png deleted file mode 100644 index 9f25bb1ede0..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/how-to-change-email-save.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/change-user-email/index.md b/docs/products/platform/accounts/guides/change-user-email/index.md deleted file mode 100644 index 94d17420aa0..00000000000 --- a/docs/products/platform/accounts/guides/change-user-email/index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Change Your Email Address -title_meta: Change Your Email Address on a Linode Account -description: "Instructions on updating the email address on an account so that you can receive email notifications." -published: 2022-11-21 -keywords: ["email address", "email addresses", "address", "addresses"] -tags: ["linode platform","cloud manager","email"] -image: L_ChangeYourEmail.png -aliases: ['/quick-answers/linode-platform/how-to-change-your-email/','/guides/how-to-change-your-email/'] ---- - -Linode uses the contact information on file in your account to notify and bill you. Keep this information current to prevent service interruptions. It's especially important to keep your email address current. - -The **Billing Info** and **User & Grants** pages have email address fields. The email addresses saved on these pages receive different notifications, as described in the following sections. If you are the only user, you should enter your email address on both pages. If there are multiple users, verify that the primary account holder's email address is current on the **Billing Info** page. - -## Modify Billing Contact Email - -See [Update Billing Contact Information](/docs/products/platform/billing/guides/update-billing-contact-info/) - -## Modify User Account Email - -Use the **Users & Grants** page to modify the email address associated with a user account. The email addresses listed on this page receive password reset messages and support tickets for services that their associated users have permission to access. Users with limited account access can also receive invoices and receipts if granted access to that information. - -{{< note >}} -Only full account access users can receive threshold notification emails. -{{< /note >}} - -Here's how to change a user's email from the **Users & Grants** page: - -1. Click the **Account** link in the sidebar. -1. Click the **Users & Grants** tab. -1. Click the **User Profile** link for the desired user. -1. Enter the updated email address in the **Email** field. - - ![Modify the email address associated with your user account](accounts-my-profile-change-email.png "Modify the email address associated with your user account") - -1. Click **Save**. - -The user's email address is now updated. - -{{< note >}} -If you do not have full account access, you can view your user profile settings and update your email address by clicking on your username at the top of Cloud Manager and selecting **Display**. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/change-user-email/linode-demo-email-save.png b/docs/products/platform/accounts/guides/change-user-email/linode-demo-email-save.png deleted file mode 100644 index 28c276a3b96..00000000000 Binary files a/docs/products/platform/accounts/guides/change-user-email/linode-demo-email-save.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-api-tokens/create-token.png b/docs/products/platform/accounts/guides/manage-api-tokens/create-token.png deleted file mode 100644 index 44314ef58b4..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-api-tokens/create-token.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-api-tokens/index.md b/docs/products/platform/accounts/guides/manage-api-tokens/index.md deleted file mode 100644 index afd1189cc85..00000000000 --- a/docs/products/platform/accounts/guides/manage-api-tokens/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Manage Personal Access Tokens -description: "Learn how to view, create, and revoke personal access tokens, which provide authorization to the Linode API" -aliases: ['/products/tools/linode-api/guides/get-access-token/','/guides/api-key/','/api/key/','/platform/api/api-key/','/products/tools/linode-api/guides/revoke-access-token/','/products/tools/cloud-manager/guides/cloud-api-keys/','/products/tools/api/guides/manage-api-tokens/'] -published: 2022-12-06 ---- - -## View Personal Access Tokens - -1. Log in to [Cloud Manager](https://cloud.linode.com) - -1. Click on your username at the top of the screen and select **API Tokens** under the *My Profile* section. - - ![Screenshot of the user dropdown menu with the API Tokens link selected](user-profile-dropdown-api-keys.png) - -This displays the **API Tokens** tab on the **My Profile** page. - -![Screenshot of personal access tokens in Cloud Manager](view-personal-access-tokens.png) - -Any personal access tokens you have previously created on your Linode account are listed here. Alongside each token is the date it was created, the date it expires, and links to view the scopes, rename the token, or revoke the token. - -## Create an API Token - -Whenever you need to authorize API access to an application or service, you should create a new personal access token. This token should only allow the level of access needed by the application. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and navigate to the API Tokens page of the My Profile section. See [View Personal Access Tokens](#view-personal-access-tokens). - -1. Click the **Create a Personal Access Token** button to display the *Add Personal Access Token* panel. - - ![Screenshot of the Add Personal Access Token form](create-token.png) - -1. Enter a **Label** for this new token. Choose a label that lets you identify the token and understand its intended use. - -1. In the **Expiry** field dropdown menu, select a timeline for when the new token expires. You can optionally allow this token to never expire. *This cannot be changed once the token is created.* - -1. Select the level of access this token should have to each product or service with which the Linode API interfaces. This can be *None*, *Read Only*, or *Read/Write* (for full access to that service). *This cannot be changed once the token is created.* - -1. Click the **Create Token** button to generate the new personal access token. A dialog box opens and displays your new personal access token. Save this in a safe place, such as a password manager. **After closing this prompt, you are not able to view the token string again.** - - ![Screenshot of the generated personal access token](save-token.png) - -## Revoke a Personal Access Token - -If you wish to decommission a token or think it may have been compromised, you can revoke access. Once revoked, any application using this token will no longer be authorized to access your account through the Linode API. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and navigate to the API Tokens page of the My Profile section. See [View Personal Access Tokens](#view-personal-access-tokens). - -1. Find the token you wish to revoke and click the corresponding **Revoke** button, which may be visible within the ***more options ellipsis*** menu. - - ![Screenshot of the revoke token button](revoke-token.png) - -1. A popup appears asking you to confirm that you wish to revoke this token. Click the **Revoke** button to delete the token and revoke access to any application using that token. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/manage-api-tokens/revoke-token.png b/docs/products/platform/accounts/guides/manage-api-tokens/revoke-token.png deleted file mode 100644 index 62fa936d7b5..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-api-tokens/revoke-token.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-api-tokens/save-token.png b/docs/products/platform/accounts/guides/manage-api-tokens/save-token.png deleted file mode 100644 index b5ac1a3f5ff..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-api-tokens/save-token.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-api-tokens/user-profile-dropdown-api-keys.png b/docs/products/platform/accounts/guides/manage-api-tokens/user-profile-dropdown-api-keys.png deleted file mode 100644 index b9ecf70bdf7..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-api-tokens/user-profile-dropdown-api-keys.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-api-tokens/view-personal-access-tokens.png b/docs/products/platform/accounts/guides/manage-api-tokens/view-personal-access-tokens.png deleted file mode 100644 index 6df4c8ec5ac..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-api-tokens/view-personal-access-tokens.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-ssh-keys/add-ssh-key-button.png b/docs/products/platform/accounts/guides/manage-ssh-keys/add-ssh-key-button.png deleted file mode 100644 index 90803044eaf..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-ssh-keys/add-ssh-key-button.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-ssh-keys/add-ssh-key-panel.png b/docs/products/platform/accounts/guides/manage-ssh-keys/add-ssh-key-panel.png deleted file mode 100644 index 83b75e59e86..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-ssh-keys/add-ssh-key-panel.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-ssh-keys/cloud-profile-ssh-keys.png b/docs/products/platform/accounts/guides/manage-ssh-keys/cloud-profile-ssh-keys.png deleted file mode 100644 index 96e8ce348cd..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-ssh-keys/cloud-profile-ssh-keys.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-ssh-keys/index.md b/docs/products/platform/accounts/guides/manage-ssh-keys/index.md deleted file mode 100644 index 87d82a21124..00000000000 --- a/docs/products/platform/accounts/guides/manage-ssh-keys/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: "Manage SSH Keys" -description: "Learn how to view, upload, and remove your public SSH keys in Cloud Manager." -published: 2022-03-18 -modified: 2023-05-22 -aliases: ['/products/tools/cloud-manager/guides/manage-ssh-keys/'] ---- - -When creating a Compute Instance, you have the opportunity to select one or more SSH keys, which are added to the root user account of the new instance. This lets you login over SSH using your associated private key instead of the root password. - -These SSH keys are stored within your Linode account and can be easily accessed from Cloud Manager. This guide walks you through how to view, add, and remove your account's SSH keys. For instructions on selecting an SSH key when deploying a Compute Instance see [Creating a Compute Instance > Create a Password and Add SSH Keys](/docs/products/compute/compute-instances/guides/create/#create-a-password-and-add-ssh-keys). - -## View SSH Keys - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click on your username on the top right and select **SSH Keys** in the dropdown menu that appears: - - ![Screenshot of the My Profile dropdown menu](cloud-profile-ssh-keys.png) - -1. This opens the *SSH Keys* tab within the **My Profile** section. If you have uploaded any public keys, they are displayed on this page, as shown below. - - ![Screenshot of the SSH Keys page](view-ssh-keys.png) - -## Add a Public Key - -Add a public SSH key to your Linode user account so that you can easily install it on *new* Compute Instances (see [Create a Compute Instance](/docs/products/compute/compute-instances/guides/create/#create-a-password-and-add-ssh-keys)). - -{{< note >}} -The following SSH key formats are supported: **ssh-rsa**, **ssh-dss**, **ecdsa-sha2-nistp**, **ssh-ed25519**, and **sk-ecdsa-sha2-nistp256** (an Akamai-specific format). -{{< /note >}} - -1. Access the **SSH Keys** page in Cloud Manager. See [View SSH Keys](#view-ssh-keys) above. - -1. Click the **Add an SSH Key** button. - - ![The SSH Keys tab with the 'Add an SSH Key' button highlighted.](add-ssh-key-button.png) - -1. Within the **Add an SSH Key** panel that appears, enter a descriptive label for your key and paste your public key into the **SSH Pulic Key** field. To find and copy your public key on your local machine, use one of the following methods: - - - **Windows 11 (or 10), macOS, Linux:** If you created your key pair using most command-line tools, your public key is likely stored in a `.ssh` directory within your home folder and is likely called `id_rsa.pub`. You can view your public key by opening PowerShell (Windows) or the terminal (macOS and Linux) and running the following command: - - ```command - cat ~/.ssh/id_rsa.pub - ``` - - - **Windows (through PuTTY):** When using PuTTY to generate your key pair, the public key is stored as a `.ppk` file. Open this file using PuTTY to view your public key. - - If you haven't yet generated a key pair to use with SSH, follow the instructions within the [Creating an SSH Key Pair and Configuring Public Key Authentication on a Server](/docs/guides/use-public-key-authentication-with-ssh/) guide. - -1. Click the **Add Key** button to save your key. You should now see that public key on the **SSH Keys** page. - - ![The SSH Keys tab with the 'Add an SSH Key' button highlighted.](add-ssh-key-button.png) - -## Remove a Public Key - -If you no longer wish to deploy *new* Compute Instances with a certain SSH key, you can remove it from Cloud Manager. When doing so, the SSH key is *not removed* from any existing Compute Instances that may have used it. - -1. Access the **SSH Keys** page in Cloud Manager. See [View SSH Keys](#view-ssh-keys) above. - -1. Within the list that appears, locate the public key you wish to remove. Then, click the corresponding **Delete** link. - -1. To confirm removal, click the **Delete** button within the confirmation dialog that appears. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/manage-ssh-keys/view-ssh-keys.png b/docs/products/platform/accounts/guides/manage-ssh-keys/view-ssh-keys.png deleted file mode 100644 index 28d07dce3fe..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-ssh-keys/view-ssh-keys.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-users/accounts-update-a-username.png b/docs/products/platform/accounts/guides/manage-users/accounts-update-a-username.png deleted file mode 100644 index 2042544916e..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-users/accounts-update-a-username.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/manage-users/index.md b/docs/products/platform/accounts/guides/manage-users/index.md deleted file mode 100644 index 93fea21d7ec..00000000000 --- a/docs/products/platform/accounts/guides/manage-users/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: "Manage Users on a Linode Account" -description: "Learn how to view, edit, and manage users on a Linode account." -published: 2022-11-21 -aliases: ['/platform/accounts-and-passwords/','/accounts-and-passwords/','/platform/manager/accounts-and-passwords/','/platform/manager/accounts-and-passwords-classic-manager/','/platform/manager/accounts-and-passwords-new-manager/', '/guides/accounts-and-passwords/'] ---- - -You can grant other people access to your Linode Cloud Manager account by creating *users* and assigning *permissions* to restrict access to certain areas of the control panel. Adding users and configuring permissions is useful for groups that need to grant all team members access to the Linode Cloud Manager, or organizations that just want their billing department to have a separate account to receive invoices and billing information. - -{{< note >}} -A single user was automatically created for your account when you signed up for Linode. If you are the only person accessing the Linode Cloud Manager, you do not need to create any additional users on your account. -{{< /note >}} - -## View All Users - -1. Log in to [Cloud Manager](https://cloud.linode.com) and select **Account** from the sidebar menu. - -1. Navigate to the **Users & Grants** tab to display all users on the account. *Your user account must have full unrestricted access to view this page.* - -![Screenshot of Users and Grants page in Cloud Manager](view-users.png) - -Each user is listed in the table along with its username, email address, and the level of account access (*full* or *limited*). - -## Add a User - -To provide another person with access to your Linode account, you can create another user. Each user can be created with full unrestricted access or limited restricted access. For more details on user permissions, see [Set User Permissions](/docs/products/platform/accounts/guides/user-permissions/). - -1. Navigate to the **Users & Grants** page in Cloud Manager. See [View All Users](#view-all-users). - -1. Click the **Add a User** button to open the new user panel. - -1. Enter the **Username** and **Email** for the user. - -1. Toggle the **Account Access** button to give the user full or limited access to account features. - -1. Click **Submit**. The user will receive an email with instructions on creating a password and logging in to the account. - -If you granted the user full access, the account is created and no further action is required. If you granted the user limited access, continue with [setting user permissions](/docs/products/platform/accounts/guides/user-permissions/). - -## Recover a Lost Username - -Did you forget your Cloud Manager username? Recover it with the *Forgot Username* webpage. Here's how: - -1. Visit the [Forgot Username](https://login.linode.com/forgot/username) webpage. -1. Enter your email address in the **Email** field. -1. Click **Submit**. - -In a couple minutes, you'll receive an email message with any Linode Cloud Manager users that correspond to that email. If you do not receive information about any users, then you may have registered your account with a different email. - -## Remove a User - -You can permanently remove a user account from the Linode Cloud Manager. Here's how: - -1. Navigate to the **Users & Grants** page in Cloud Manager. See [View All Users](#view-all-users). -1. Click the **Delete** link for the desired user. A warning appears asking you to confirm that you want to delete the user. -1. Click **Delete** in the warning to confirm deletion. - -The user is removed and is no longer able to access the Linode Cloud Manager. - -## Change a Username - -You can update a username, including your own, from the Linode Cloud Manager. - -1. Navigate to the **Users & Grants** page in Cloud Manager. See [View All Users](#view-all-users). -1. Locate the user in the list and click on their **User Profile** link. -1. Enter a new username in the **Username** field. - - ![Use the Linode Cloud Manager to Update a Username](accounts-update-a-username.png "Use the Linode Cloud Manager to Update a Username") - -1. Click **Save**. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/manage-users/view-users.png b/docs/products/platform/accounts/guides/manage-users/view-users.png deleted file mode 100644 index 160e84ce935..00000000000 Binary files a/docs/products/platform/accounts/guides/manage-users/view-users.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/parent-child-accounts/index.md b/docs/products/platform/accounts/guides/parent-child-accounts/index.md deleted file mode 100644 index 6a617d5ac7b..00000000000 --- a/docs/products/platform/accounts/guides/parent-child-accounts/index.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: "Parent and Child Accounts for Akamai Partners" -description: "Learn how parent and child accounts can help Akamai partners manage multiple accounts." -published: 2024-04-23 -modified: 2024-04-29 -keywords: ["akamai partners", "parent", "child", "parent/child relationship"] -aliases: ['products/platform/accounts/guides/parent-child-accounts/','/guides/parent-child-accounts/'] -promo_default: false ---- - -## Overview - -The parent and child accounts feature was designed with Akamai partners and their clients in mind. It allows partners to manage multiple end customers’ accounts with a single login for their company’s account. - -{{< note type="secondary" >}} -This feature is only available for Akamai partners and their end customers with an Akamai Cloud Computing contract. To learn more about it, contact your Akamai representative. -{{< /note >}} - -Depending on whether you're an Akamai partner or a partner’s end customer, this feature has different implications. Select your role to go to content that applies to you. - -- [I’m an Akamai partner](#for-akamai-partners). -- [I’m a partner’s end customer](#for-end-customers). - - -## For Akamai partners - -### About the feature - -The parent and child accounts feature allows you, an Akamai partner (parent account holder), to switch between and manage your end customers’ accounts (child accounts) in Cloud Manager. - -Child account users can monitor your actions on their account. All actions are logged and can be viewed in Cloud Manager, either through the Events panel or the [Events](https://cloud.linode.com/events) page. - -The parent/child relationship doesn’t restrict the child account and its users from creating support tickets or signing up for managed services for their accounts. - -### Terminology - -#### Parent account - -In the context of your account type, you need to be familiar with the following terms. - -![Parent account terminology](parent_term.png) - -- **Parent account**. Your, Akamai partner, account. -- **Parent account user with full access** (parent account admin). An Akamai partner account owner who has access to child accounts by default. They manage permissions for other admins and child account users with limited access. They can provide full access to a parent account user with limited access who then also becomes a parent account admin. -- **Parent account users with limited access** Users of a parent account that don’t have access to child accounts by default. Only the parent account admin can grant them access to all child accounts the parent account has a contractual parent/child relationship with. To learn more, see [Enable access to child accounts for parent account users with limited access](#enable-access-to-child-accounts-for-parent-account-users-with-limited-access). - -#### Parent/child relationship - -In the context of the parent/child relationship, you need to be familiar with the following terms. - -![Parent/child relationship terminology](parent_child_term.png) - -- **Parent account**. Your, Akamai partner, account. -- **Child account parent user**. A single user on a given child account that represents all parent account users with access to child accounts. It’s used to manage the child account. Depending on the access level and permissions provided by the child account admin, it can be a child account parent user with either full or limited access. To learn more, see [Switch accounts](#switch-accounts). -- **Child account**. An account belonging to your end customer. -- **Child account users with full access** (child account admins). Users of the child account with full access to it. They manage permissions for all users on the account; other admins, child account users with limited access, and the child account parent user. The only exception is billing, child account admins have read-only access to it and they can’t modify the child account parent user’s read/write permission to it. -- **Child account users with limited access**. Non-admin users of the child account whose permissions are managed by the child account admin. - -One parent account can manage many child accounts. - -### Enable access to child accounts for parent account users with limited access - -As a parent account admin, you can grant access to the child account for parent account users with limited access. - -On the User Permissions page, you have the additional general permission - **Enable child account access**. - -- This permission is available only for parent accounts. -- Parent account users with limited access have this option disabled by default. They need to ask a parent account admin to enable this option for them. -- It enables access to **all** child accounts the parent account has a contractual parent/child relationship with. - -To enable the access: - -1. Log in to [Cloud Manager](https://cloud.linode.com/). -1. In the main menu, go to **Account**. -1. In the **User & Grants** tab, next to the name of a parent account user with limited access, click **...** > **User Permissions**. -1. In the **General Permissions** section, switch the **Enable child account access** option on. Click **Save**. - -### Switch accounts - -When switching to a child account, you become the child account parent user. By default, you have: - -- Read/write permission for billing. This is the only permission that can’t be modified even by a child account admin. -- Read-only permission to all asset instances existing at the time of parent/child relationship creation, such as linodes, load balancers, Longview clients. This allows the child account parent user to see existing child accounts’ assets, but not create, update, or delete them. -- No access to asset instances created after the creation of the parent/child relationship. The child account parent user needs to ask a child account admin to grant them access to new instances if necessary. -- The [global permissions](/docs/products/platform/accounts/guides/user-permissions/) set off. - -A child account admin can change the child account parent user’s default permissions and expand or restrict its access to the child account, except for billing. If the child account admin provides the child account parent user with full access to the child account, the child account parent user can fully manage the account, including its users. - -To switch accounts: - -1. Log in to [Cloud Manager](https://cloud.linode.com/). -1. In the top corner, click the name of your account. - - ![Parent account switch](parent_switch.png) - -1. Click **Switch account**. If you don’t see this button, it means you’re a parent account user with limited access and you need to ask the parent account admin to provide you the access to child accounts or your account is not involved in the parent/child relationship. - - ![Account switch button](switch_account.png) - -1. Select an account from the list you want to switch to. -Now you act as the child account parent user. Note that you can click the **switch back to your account** link to switch back. - - ![switch back option](switch_back.png) - -### Delete a parent account - -A parent account can be deleted only if all parent/child relationships are contractually removed from your parent account, meaning you don’t have active contracts with end customers. - -Once this condition is met, to close an account: - -1. Log in to [Cloud Manager](https://cloud.linode.com/). -1. In the main menu, go to **Account**. -1. In the **Settings** tab, go to the **Close Account** section, and click the **Close Account** button. -1. Follow the on-screen instructions and click **Close Account**. - -## For end customers - -### About the feature - -The parent and child accounts feature allows an Akamai partner (Parent account holder) to manage your account (Child account) in Cloud Manager. - -You can monitor Akamai partner’s actions on your account. All actions are logged and can be viewed in Cloud Manager, either through the Events panel or the [Events](https://cloud.linode.com/events) page. - -The parent/child relationship doesn’t restrict your account and its users from creating support tickets or signing up for managed services. - -### Terminology - -In the context of the parent/child relationship, you need to be familiar with the following terms. -![Parent/child relationship terminology](parent_child_term.png) - -- **Parent account**. A company account of your Akamai partner. -- **Child account**. Your, end customer’s, account. -- **Child account users with full access** (child account admins). Users of your account with full access to it. They manage permissions for all users on the account; other admins, child account users with limited access, and the child account parent user. The only exception is billing, they have read-only access to it and they can’t modify the child account parent user’s read/write permission to it. -- **Child account users with limited access**. Non-admin users of your account whose permissions are managed by the child account admin. -- **Child account parent user**. A single user representing all Akamai partner users who have access to this child account. It’s used to manage your child account. Depending on the access level and permissions provided by the child account admin, it can be a child account parent user with either full or limited access. To learn more, see [Manage account access and permissions for the child account parent user](#manage-account-access-and-permissions-for-the-child-account-parent-user). The child account parent user is created automatically based on your contract with an Akamai partner. The user exists on your account as long as you have a contractual relationship with your Akamai partner. - -### Manage account access and permissions for the child account parent user - -By default, a child account parent user has: -- Read/write permission for billing. This is the only permission that can’t be modified even by a child account admin. -- Read-only permission to all asset instances existing at the time of parent/child relationship creation, such as linodes, load balancers, Longview clients. This allows the child account parent user to see existing child accounts’ assets, but not create, update, or delete them. -- No access to asset instances created after the creation of the parent/child relationship. The child account parent user needs to ask a child account admin to grant them access to new instances if necessary. -- The [global permissions](/docs/products/platform/accounts/guides/user-permissions/) set off. - -As a child account admin you can change the default permissions of the child account parent user to expand or restrict access as you see fit, except for billing. If you provide the child account parent user with full access to the child account, it becomes the child account parent user with full access and can fully manage your child account, including its users. - -To manage access settings: - -1. Log in to [Cloud Manager](https://cloud.linode.com/). -1. In the main menu, go to **Account**. -1. In the **User & Grants** tab, in the **Parent User Settings** table, next to the name of the child account parent user, click **Manage Access**. -1. In the **General Permissions** section: - 1. Select the permissions you want to grant. Remember that permissions with the $ symbol next to them, can incur additional charges. Note also the **Full Account Access** switch that gives the child account parent user full access to your account. - 1. Click **Save**. -1. In the **Specific Permissions** section, select the access level for each feature or use the **Set all permissions to** dropdown. Click **Save**. - -### Delete a child account - -A child account admin can delete a child account only if the parent/child relationship is contractually removed, meaning you don’t have an active contract with an Akamai partner. - -Once this condition is met, to close an account: - -1. Log in to [Cloud Manager](https://cloud.linode.com/). -1. In the main menu, go to **Account**. -1. In the **Settings** tab, go to the **Close Account** section, and click the **Close Account** button. -1. Follow the on-screen instructions and click **Close Account**. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/parent-child-accounts/parent_child_term.png b/docs/products/platform/accounts/guides/parent-child-accounts/parent_child_term.png deleted file mode 100644 index 130cf66b6d8..00000000000 Binary files a/docs/products/platform/accounts/guides/parent-child-accounts/parent_child_term.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/parent-child-accounts/parent_switch.png b/docs/products/platform/accounts/guides/parent-child-accounts/parent_switch.png deleted file mode 100644 index a0b45cac711..00000000000 Binary files a/docs/products/platform/accounts/guides/parent-child-accounts/parent_switch.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/parent-child-accounts/parent_term.png b/docs/products/platform/accounts/guides/parent-child-accounts/parent_term.png deleted file mode 100644 index 6e9836e1d71..00000000000 Binary files a/docs/products/platform/accounts/guides/parent-child-accounts/parent_term.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/parent-child-accounts/switch_account.png b/docs/products/platform/accounts/guides/parent-child-accounts/switch_account.png deleted file mode 100644 index b9207be8f4b..00000000000 Binary files a/docs/products/platform/accounts/guides/parent-child-accounts/switch_account.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/parent-child-accounts/switch_back.png b/docs/products/platform/accounts/guides/parent-child-accounts/switch_back.png deleted file mode 100644 index 95eae9a2c93..00000000000 Binary files a/docs/products/platform/accounts/guides/parent-child-accounts/switch_back.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/reset-user-password/L_ChangeYourPassword.png b/docs/products/platform/accounts/guides/reset-user-password/L_ChangeYourPassword.png deleted file mode 100644 index bee1cc58f3a..00000000000 Binary files a/docs/products/platform/accounts/guides/reset-user-password/L_ChangeYourPassword.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/reset-user-password/index.md b/docs/products/platform/accounts/guides/reset-user-password/index.md deleted file mode 100644 index cd8e8faa5c0..00000000000 --- a/docs/products/platform/accounts/guides/reset-user-password/index.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: Reset Your User Password -title_meta: Reset Your User Password on the Linode Platform -description: "Learn how to change your user's password on a Linode account." -published: 2022-11-21 -modified: 2023-05-04 -keywords: ["password", "change password", "update password", "cloud manager"] -tags: ["linode platform","cloud manager","security"] -image: L_ChangeYourPassword.png -aliases: ['/quick-answers/linode-platform/how-to-change-your-password/', '/guides/how-to-change-your-password/'] ---- - -Creating strong passwords is essential to protecting your Linode and your Linode [Cloud Manager](http://cloud.linode.com) account. If you suspect that an unauthorized user has gained access to one of your accounts, you should change the password immediately. - -{{% content "password-requirements-shortguide" %}} - -## Changing or Resetting Your Linode Cloud Manager Password - -If you want to change your password, or you forgot your password and need a new one, you can accomplish these tasks through the *Forgot Password* webpage. Here's how: - -1. Visit the [Forgot Password](https://login.linode.com/forgot/password) webpage. - -1. Enter your username in the **Username** field. - - {{< note >}} - If you've forgotten your Linode Cloud Manager username, see [Recovering a Lost Username](/docs/products/platform/accounts/guides/manage-users/#recover-a-lost-username). - {{< /note >}} - -1. Click the **Reset password** button. - -1. Check your email for a message containing further instructions. - -1. Follow the instructions in the email message to reset your password. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/service-transfers/TransferOwn_LinodeServ_ST.png b/docs/products/platform/accounts/guides/service-transfers/TransferOwn_LinodeServ_ST.png deleted file mode 100644 index f746f94bc7c..00000000000 Binary files a/docs/products/platform/accounts/guides/service-transfers/TransferOwn_LinodeServ_ST.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/service-transfers/cancel-transfer.png b/docs/products/platform/accounts/guides/service-transfers/cancel-transfer.png deleted file mode 100644 index 8e847cf0d1b..00000000000 Binary files a/docs/products/platform/accounts/guides/service-transfers/cancel-transfer.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/service-transfers/index.md b/docs/products/platform/accounts/guides/service-transfers/index.md deleted file mode 100644 index 58ffa8b38be..00000000000 --- a/docs/products/platform/accounts/guides/service-transfers/index.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -title: Transfer Services to a Different Account -title_meta: How to Transfer Services to a Different Linode Account -description: "Learn how to transfer ownership of Linode services to a different account." -published: 2021-03-10 -modified: 2023-11-15 -keywords: ["linode transfer ownership", "transfer linode to another account", "linode can i transfer"] -tags: ["cloud manager","linode platform","account"] -image: TransferOwn_LinodeServ_ST.png -aliases: ['/guides/platform/manager/service-transfers/', '/guides/service-transfers/'] ---- - -Within the Linode Platform, Compute Instances can be transferred from one account to a different account. Here's an overview of this transfer process: - -1. The sending account initiates a transfer by generating a Service Transfer token. - -1. The sending account sends the Service Transfer token to the receiving account by email or other method. - -1. The receiving account uses the Service Transfer token within 24 hours to accept the transfer between the two accounts. - -1. Once completed, billing for transferred services ends for the sending account and begins for the receiving account. Linode services will not experience interruptions due to the transfer process. - -{{< note >}} -Only users with full account access can use Service Transfers. To adjust user permissions, see our [Set User Permissions](/docs/products/platform/accounts/guides/user-permissions/) guide. Users with full account access can view and interact with all of the transfers associated with the account, regardless of which user created or accepted the transfer. -{{< /note >}} - -{{< note type="warning">}} -Each Compute Instance that you wish to transfer must have a unique label that is not used for any other instances on the receiving account. If the label is not unique, the transfer will fail. As an example, this commonly happens when the default label has been used. To ensure that the transfer is successful, verify that the label of the Compute Instance you are transferring is unique on the receiving account. -{{< /note >}} - -## Sending Linode Services - -1. Click the [Account](https://cloud.linode.com/account) link in the sidebar. - -1. Click the **Service Transfers** tab on the Account page. - -1. Click the **Make a Service Transfer** button on the Service Transfers page to begin. - - ![Selecting 'Make a Service Transfer' initiates a transfer request.](make-transfer-start.png "Selecting 'Make a Service Transfer' initiates a transfer request.") - -1. Select the services to include in the transfer by checking the empty boxes next to them. Checking the box in the heading for a service type selects all of the services for that type. You can also use the search bar to filter services by label. As you select services, they are added to the **Service Transfer Summary**. - - {{< note >}} - Only Compute Instances can be transferred at this time. - {{< /note >}} - -1. Once you have selected all of the services to include in the transfer, click the **Generate Token** button to submit a transfer request. - - ![Send the generated token to the recipient via email or other secure method.](make-transfer-token.png "Send the generated token to the recipient via email or other secure method.") - -1. If the request is successful, a summary window appears that contains a Service Transfer token and a sample message to send to the receiving account. A confirmation email is also sent to the sending account with details of the transfer, including the Service Transfer token. - - {{< note >}} - Linode does not send the Service Transfer token on your behalf. You must send the token to the receiving account by email or other method. - {{< /note >}} - - {{< note >}} - Service Transfers automatically expire 24 hours after creation. You can view the expiry dates of your pending transfers from the [Service Transfers](https://cloud.linode.com/account/service-transfers) page. Dates and times are displayed for your configured timezone, which you can adjust from your [Cloud Manager User Profile](https://cloud.linode.com/profile/display). - {{< /note >}} - - {{< note >}} - Backups for Compute Instances are transferred as well. - {{< /note >}} - - {{< note type="alert" >}} - DNS records that are associated with requested services will not be transferred or updated. Please ensure that associated DNS records have been updated or communicated to the recipient before the transfer. - {{< /note >}} - - {{< note type="alert" >}} - Service Transfers cannot be [cancelled](#cancelling-service-transfers) once they have been accepted by a receiving account. Take care when sharing your Service Transfer token, and only transmit it in a secure manner. - {{< /note >}} - -1. If the request is unsuccessful, a list of conditions that are blocking the transfer displays on the Service Transfer page. These conditions must be corrected before the transfer can be created, and must be maintained for the transfer to be accepted. Here is a full list of conditions that must be met for a successful transfer request: - - - The sending account must not have a past due balance or active Terms of Service violation. - - - The service must be owned by the sending account. - - - The service must not be assigned to another Service Transfer that is pending or that has been accepted and is - incomplete. - - - Compute Instances must not: - - - be assigned to a NodeBalancer, Firewall, VLAN or Managed Service. - - - have any attached Block Storage Volumes. - - - have any shared IP addresses. - - - have any assigned /56, /64, or /116 IPv6 ranges. - -## Receiving Linode Services - -1. Click the [Account](https://cloud.linode.com/account) link in the sidebar. - -1. Click the **Service Transfers** tab on the Account page. - -1. In the **Receive a Service Transfer** field, enter the Service Transfer token you have received from the sender and click the **Review Details** button. - - ![Review the summary of Linode services to be transferred before accepting.](receive-transfer.png "Review the summary of Linode services to be transferred before accepting.") - -1. If the services are eligible for transfer, you are prompted to confirm responsibility for billing associated with those services. Billing begins for the receiving account after the transfer has been completed. Confirm billing responsibility and click **Accept Transfer** to begin transfer of services to your account. A confirmation email is sent to both the sending and receiving accounts. - - {{< note >}} - Service Transfers can take up to 3 hours to complete once they are accepted by the recipient. Once the transfer is complete, another confirmation email is sent to both the sending and receiving accounts. If the transfer fails, the sending account must initiate a new Service Transfer. - {{< /note >}} - -1. If there are any conditions in place that are blocking the transfer, they are displayed on the Service Transfer page. These conditions must be corrected by the sending or receiving account as is applicable before the transfer can be accepted. Here is a full list of conditions that must be met for a successful transfer request: - - - Only pending transfers can be accepted. A transfer cannot be accepted if it has expired or been cancelled. - - - The receiving account must have a registered payment method and must not have a past due balance or other account limitations making it ineligible to own the transferred services. - - - Both the sending and receiving accounts must not have any active Terms of Service violations. - - - The service must still be owned by the sending account. - - - Compute Instances must not: - - - be assigned to a NodeBalancer, Firewall, VLAN, or Managed Service. - - - have any attached Block Storage Volumes. - - - have any shared IP addresses. - - - have any assigned /56, /64, or /116 IPv6 ranges. - -{{< note type="alert" >}} -When receiving a Compute Instance, it is important to make sure that **Any Longview Key** is fully revoked and removed from that instance by removing the Longview agent. If client keys are not revoked and removed, the transferring user gains access to all data visible to any Longview client by using the pre-existing API key, even after the transfer has been completed. Users will not be informed by default if the received Compute Instance has a Longview key installed, and should always follow the process for removing the Longview agent to be sure. - -For more information on revoking and removing a Longview key and uninstalling the Longview agent, see our [Documentation on Uninstalling Longview](/docs/products/tools/longview/guides/manage/#delete-client). -{{< /note >}} - -## Cancelling Service Transfers - -{{< note >}} -Only the sending account can cancel a Service Transfer. Once accepted, a transfer cannot be cancelled. -{{< /note >}} - -{{< note type="alert" >}} -Cancellations are irreversible. Once cancelled, you must start a new Service Transfer if you still wish to send those services. -{{< /note >}} - -1. Click the [Account](https://cloud.linode.com/account) link in the sidebar. - -1. Click the **Service Transfers** tab on the Account page. - -1. Under **Pending Service Transfers**, locate the transfer you wish to cancel, click the corresponding **Cancel** button, and confirm the cancellation. A confirmation email is sent to the sending account. - - ![Your cancelled Service Transfers are listed on the Service Transfers page.](cancel-transfer.png) \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/service-transfers/make-transfer-start.png b/docs/products/platform/accounts/guides/service-transfers/make-transfer-start.png deleted file mode 100644 index a42dafc1b89..00000000000 Binary files a/docs/products/platform/accounts/guides/service-transfers/make-transfer-start.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/service-transfers/make-transfer-token.png b/docs/products/platform/accounts/guides/service-transfers/make-transfer-token.png deleted file mode 100644 index 74916b5bf56..00000000000 Binary files a/docs/products/platform/accounts/guides/service-transfers/make-transfer-token.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/service-transfers/receive-transfer.png b/docs/products/platform/accounts/guides/service-transfers/receive-transfer.png deleted file mode 100644 index 905eb165e30..00000000000 Binary files a/docs/products/platform/accounts/guides/service-transfers/receive-transfer.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/third-party-authentication/confirm-disable-tpa.png b/docs/products/platform/accounts/guides/third-party-authentication/confirm-disable-tpa.png deleted file mode 100644 index 52335d111a8..00000000000 Binary files a/docs/products/platform/accounts/guides/third-party-authentication/confirm-disable-tpa.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/third-party-authentication/enable-tpa-hero.png b/docs/products/platform/accounts/guides/third-party-authentication/enable-tpa-hero.png deleted file mode 100644 index 2edbd9220ba..00000000000 Binary files a/docs/products/platform/accounts/guides/third-party-authentication/enable-tpa-hero.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/third-party-authentication/index.md b/docs/products/platform/accounts/guides/third-party-authentication/index.md deleted file mode 100644 index ec011619c55..00000000000 --- a/docs/products/platform/accounts/guides/third-party-authentication/index.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: "Enable Third Party Authentication on Your User Account" -title_meta: "Enable Third Party Authentication on Your Linode User Account" -description: "This guide shows how you can enable Third-Party Authentication (TPA) on your Linode account so you can sign in to Cloud Manager using third party credentials." -published: 2021-04-23 -modified: 2024-07-23 -keywords: ['tpa','third party authentication','github','account','password'] -tags: ["linode platform","security","cloud manager"] -image: enable-tpa-hero.png -aliases: ['/platform/manager/third-party-authentication/','/guides/third-party-authentication/'] ---- - -Cloud Manager supports third-party authentication (TPA). This lets you log in to Cloud Manager with another provider's login credentials. - -{{< note >}} -Enabling TPA disables two-factor authentication (2FA) on your user account. You should enable 2FA with the TPA provider with which you choose to authenticate to Cloud Manager. - -Additionally, enabling TPA disables password authentication in the Lish console. You can still authenticate to Lish with an SSH key. For more information on SSH key authentication with Lish, visit our [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/#add-your-public-key) guide. -{{< /note >}} - -{{< note title="Single sign-on (SSO) with Akamai Control Center">}} -Separate from your selected login provider, you can also log in to Cloud Manager using your [Akamai Control Center](https://control.akamai.com/) account credentials. To learn more about this feature, see [Single sign-on (SSO) with Akamai Control Center](/docs/products/platform/accounts/guides/user-security-controls/#single-sign-on-sso-with-akamai-control-center). -{{< /note >}} - -## Enabling Third-Party Authentication - -1. To get started with TPA, log in to [Cloud Manager](https://cloud.linode.com) using your existing username and password. - -1. Click your username in the top right of the screen and select **Login & Authentication**. - - ![Click your username and select Login & Authentication](profile-link.png) - -1. Within the **Login Method** section, select the *Login Provider* you'd like to use for authentication. You can chose to use your own Cloud Manager credentials or chose from several third-party authentication (TPA) providers, such as Google and GitHub. Only one login provider can be active at a time. Once selected, you will be asked to confirm that you'd like to enable TPA with this provider. - - ![Select the Login Method](tpa-options.png) - - {{< note type="alert" >}} - Enabling third-party authentication disables your current Cloud Manager password and 2FA settings. If you would like to continue using 2FA, make sure it is handled by your chosen TPA provider. - {{< /note >}} - -1. Once a TPA provider is selected, you are taken to that provider's website and are prompted to give access to your Linode user account. Review the list of permissions and confirm. - -1. After granting permissions, you will see a confirmation screen. You can now log in to your user account through the selected TPA provider. - -## Disabling Third-Party Authentication - -1. Log in to [Cloud Manager](https://cloud.linode.com) using your TPA credentials. - -1. Navigate to the Login & Authentication page of your profile by clicking on your **username** in the top right of the screen. Select **Login & Authentication** from the dropdown menu. - - ![Click your username and select Login & Authentication](profile-link.png) - -1. Within the **Login Method** section, select **Cloud Manager** as the login provider. - - ![Select the Login Method](tpa-options.png) - -1. A prompt will appear confirming your intent to disable third-party authentication. You will need to click on the **Reset Password** button to send a password reset link to your email. This will be delivered to the email address associated with your user account, and not the email associated with the TPA provider. You will need to follow the link in that email to reset your user's password. - - ![Send password reset email.](confirm-disable-tpa.png) - -1. Once reset, you can use your new password to log in to Cloud Manager. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/third-party-authentication/profile-link.png b/docs/products/platform/accounts/guides/third-party-authentication/profile-link.png deleted file mode 100644 index ea8701c199a..00000000000 Binary files a/docs/products/platform/accounts/guides/third-party-authentication/profile-link.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/third-party-authentication/tpa-options.png b/docs/products/platform/accounts/guides/third-party-authentication/tpa-options.png deleted file mode 100644 index fd62415872d..00000000000 Binary files a/docs/products/platform/accounts/guides/third-party-authentication/tpa-options.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-permissions/index.md b/docs/products/platform/accounts/guides/user-permissions/index.md deleted file mode 100644 index a4f72565c34..00000000000 --- a/docs/products/platform/accounts/guides/user-permissions/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Manage User Permissions -title_meta: Manage User Permissions for a Linode User Account -description: "Learn how to manage permissions and restrict user access on a Linode account." -published: 2022-11-21 -modified: 2023-01-24 -tags: ["linode platform","users","user permissions"] ---- - -Each user on an account can be given individualized permissions that provides unrestricted access to an account or limits their access to specific information or services. For example, you could give your core team members full unrestricted access, grant your accounts payable team access only to view and modify billing details, and limit an outside developer to only access specific Compute Instances or other services. - -{{< note >}} -The permissions discussed within this guide apply to accessing the Linode platform through Cloud Manager, Linode API, and Linode CLI. If you wish to only provide someone with direct access to the internal system of a Compute Instance (or revoke their access), that can be accomplished through limited user accounts within your operating system. See [Create an Account for a Developer to Work on Your Compute Instance](/docs/products/platform/get-started/guides/developer-access/). -{{< /note >}} - -## View and Set Permissions for a User - -You can view and edit permissions for a user directly in Cloud Manager by following the instructions below. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Account** link in the sidebar. - -1. Navigate to the **Users & Grants** tab, which displays a list of existing users for the account. - - ![Screenshot of the Users & Grants tab in Cloud Manager](list-of-users.png) - -1. Locate the user for which you wish to view or modify permissions and click the corresponding **User Permissions** link. - - ![Screenshot of the link to edit a user's permissions.](user-permissions-link.png) - -1. Modify the settings as needed. Reference the [Permission Settings](#permission-settings) section below for more information on user permission settings. - -1. When you have finished configuring the user's permissions, click **Save**. The user's permissions are saved and become effective immediately. - -## Permission Settings - -### Full Account Access - -![Full Account Access](user-permissions-account-access.png) - -A user can either be given unrestricted (full) access to an account or they can be restricted by default. If **Full Account Access** is set to *ON*, the user has full access to the account and no further permission settings are available. When set to *OFF*, the user has no access and individual permissions can be granted using the other settings (covered below). - -### Create Services (Global Permissions) - -![Global Permissions](user-permissions-global-permissions.png) - -The **Global Permissions** settings enable users to add various types of services. There is a setting that corresponds to each type of service. For instance, to allow the user to add NodeBalancers, enable the *Can add NodeBalancers to this account* setting. - -{{< note >}} -Granting access to settings denoted with a dollar sign ($) allows the user to perform actions that incur billing costs, such as adding or resizing a Linode Compute Instance. -{{< /note >}} - -### Billing Access - -![Billing Access](user-permissions-billing-access.png) - -This section provides various levels of access to view or modify billing information: - -- **None**: The user is unable to view any billing information. This does not prevent a user from creating billable resources, which are instead applied as **Global Permissions** in the previous section. -- **Read Only**: The user can [View Invoices](/docs/products/platform/billing/guides/view-history/) and [Access Billing Info](/docs/products/platform/billing/guides/access-billing/). -- **Read-Write**: The user has full access to [Billing Information](/docs/products/platform/billing/guides/access-billing/), can make payments, edit billing information, view billing information, receive copies of all invoices, and receive email related to payments. - -### Specific Services - -![Specific Services](user-permissions-specific-access.png) - -A user can be granted individual permissions to each instance of a service, such as Linode Compute Instances, Block Storage Volumes, NodeBalancers, and more. Unlike **Global Permissions**, **Specific Permissions** apply to individual resources -- not the service as a whole. - -- **None**: The user cannot view or otherwise interact with the selected resource. -- **Read Only**: The user can view the resource and all of its associated information typically visible within Cloud Manager, however they cannot otherwise interact with it. -- **Read-Write**: The user has full access to the selected resource and can make any changes that only an administrator is otherwise able to. This includes resource deletion, cloning, and all other applicable edits. The user also receives an email notification when a ticket is created or updated for this resource. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/user-permissions/list-of-users.png b/docs/products/platform/accounts/guides/user-permissions/list-of-users.png deleted file mode 100644 index b0d9b070b9f..00000000000 Binary files a/docs/products/platform/accounts/guides/user-permissions/list-of-users.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-permissions/user-permissions-account-access.png b/docs/products/platform/accounts/guides/user-permissions/user-permissions-account-access.png deleted file mode 100644 index f317d60e5cf..00000000000 Binary files a/docs/products/platform/accounts/guides/user-permissions/user-permissions-account-access.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-permissions/user-permissions-billing-access.png b/docs/products/platform/accounts/guides/user-permissions/user-permissions-billing-access.png deleted file mode 100644 index 4fd835ff2b4..00000000000 Binary files a/docs/products/platform/accounts/guides/user-permissions/user-permissions-billing-access.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-permissions/user-permissions-global-permissions.png b/docs/products/platform/accounts/guides/user-permissions/user-permissions-global-permissions.png deleted file mode 100644 index b3fff0dbfa0..00000000000 Binary files a/docs/products/platform/accounts/guides/user-permissions/user-permissions-global-permissions.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-permissions/user-permissions-link.png b/docs/products/platform/accounts/guides/user-permissions/user-permissions-link.png deleted file mode 100644 index 34e9d24aa59..00000000000 Binary files a/docs/products/platform/accounts/guides/user-permissions/user-permissions-link.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-permissions/user-permissions-specific-access.png b/docs/products/platform/accounts/guides/user-permissions/user-permissions-specific-access.png deleted file mode 100644 index 961a2d01f51..00000000000 Binary files a/docs/products/platform/accounts/guides/user-permissions/user-permissions-specific-access.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-security-controls/2fa.png b/docs/products/platform/accounts/guides/user-security-controls/2fa.png deleted file mode 100644 index 9c7b8ce9572..00000000000 Binary files a/docs/products/platform/accounts/guides/user-security-controls/2fa.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-security-controls/How_to_Keep_Your_Linode_Account_Safe_smg.jpg b/docs/products/platform/accounts/guides/user-security-controls/How_to_Keep_Your_Linode_Account_Safe_smg.jpg deleted file mode 100644 index 97493692db2..00000000000 Binary files a/docs/products/platform/accounts/guides/user-security-controls/How_to_Keep_Your_Linode_Account_Safe_smg.jpg and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-security-controls/index.md b/docs/products/platform/accounts/guides/user-security-controls/index.md deleted file mode 100644 index 93190d78717..00000000000 --- a/docs/products/platform/accounts/guides/user-security-controls/index.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: "Security Controls for User Accounts" -description: "Learn how to protect your Linode account using security measures and controls built-in to the Linode platform." -published: 2022-06-24 -modified: 2024-07-23 -keywords: ["two-factor authentication", "password", "security", "Linode Cloud Manager", "token"] -tags: ["security","cloud manager"] -aliases: ['/linode-manager-security/','/security/authentication/linode-manager-security-controls/','/security/linode-manager-security-controls-new-manager/','/platform/manager/keep-your-linode-account-safe/','/security/linode-manager-security-controls/','/security/authentication/two-factor-authentication/linode-manager-security-controls/','/guides/linode-manager-security-controls/','/guides/user-security-controls/'] ---- - -To protect your customer account against unauthorized access, there are several security controls you can implement. This guide covers several of these controls, including 2FA, security questions, and phone verification. - -## 2FA (Two-Factor Authentication) - -2FA (*two-factor authentication*) increases the security of your user account by requiring two forms of authentication: your password and an expiring token, also called a one-time passcode (OTP) or 2FA code. This follows the security principle of authenticating with something you *know* (a password) and something you *have* (the device used to generate the token). This additional layer of security reduces the risk that an unauthorized individual can gain access to your user account. - -If you *do not* have 2FA enabled and have not logged in to your account in 30 days, an OTP is sent to the email address associated with your user account. Should you not complete the login attempt within 60 minutes, the code expires and another login attempt is required to generate a new code. - -**Akamai highly recommends enabling 2FA**. See [Managing Two-Factor Authentication (2FA) on a User Account](/docs/guides/2fa/) to learn how to enable 2FA. To assist with account lockouts and recovery, you must first configure three [security questions](#security-questions) on your account before enabling 2FA. - -![Screenshot of the 2FA setting in Cloud Manager](2fa.png) - -{{< note type=warning noTitle=true >}} -Managing 2FA through Cloud Manager is only available if *Cloud Manager* is selected as the **Login Method**. If you select a third-party authentication provider (such as Google or GitHub), 2FA is managed directly through that provider and not through Cloud Manager. -{{< /note >}} - -## Security Questions - -You can configure three security questions on your user account. Security questions provide our team with a secure method of verifying your identity as the owner of the user account. They can be used to help you regain access to your account in certain situations, such as when 2FA is enabled and you no longer have access to the token or recovery codes. When configuring a security question, answers should not be easily guessed or discoverable through research. - -![Screenshot of the Security Questions in Cloud Manager](security-questions.png) - -### Configuring Security Questions. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and navigate to the [Login & Authentication](https://cloud.linode.com/profile/auth) page of your user profile. To do this, click on your username in the top right of Cloud Manager and select **Login & Authentication** from the dropdown menu. - -1. Scroll down to **Security Questions** under the **Security Settings** section. Here, you can view the security questions available to you or, if you've already configured them, see the questions you have selected. - -1. To configure your security questions, click the drop-down field under *Question 1* to select the question you wish to use. Then, type the answer in the corresponding box. - -1. Repeat this for *Question 2* and *Question 3*. Once a particular question has been selected, you are not able to select the same one for any other question field. - -1. Once all fields have been configured, click **Add Security Questions**. You must fill out all 3 questions when adding security questions for the first time. - -1. After a security question has been configured, you can edit one or more questions by clicking the **Edit** button next to each question you'd like to change, updating the answer field with your new answer, and then clicking the **Update Security Questions** button. - -## Phone Verification - -A verified phone number provides our team with a secure method of verifying access to your account. It is required for all new accounts created on or after June 27th, 2022, though any existing user can add a verified phone number to increase the security on their account. - -![Screenshot of the Phone Verification Setting in Cloud Manager](phone-verification.png) - -This phone number is only ever used to verify your identity when attempting to authenticate to a user account when contacting our [Support team](https://www.linode.com/support/). An SMS message with a verification code is sent to that phone number. Once received, you can provide that verification code to the Support representative you are in contact with. If you receive a verification SMS without contacting us, do not pass along the verification code to anyone. - -{{< note >}} -Standard carrier messaging fees apply for each SMS message. -{{< /note >}} - -### Adding a Verified Phone Number - -1. Log in to [Cloud Manager](https://cloud.linode.com) and navigate to the [Login & Authentication](https://cloud.linode.com/profile/auth) page of your user profile. To do this, click on your username in the top right of Cloud Manager and select **Login & Authentication** from the dropdown menu. - -1. Scroll down to **Phone Verification** under the **Security Settings** section. Here, you can view, add, and remove your verified phone number. - -1. To add a phone number, select your country from the dropdown list. This populates the country code portion of the phone number. Then enter the remainder of your phone number. - -1. Click **Verify Phone Number** to send an SMS verification code. - -1. Once you receive the verification code on your phone, enter it within the **Verification Code** field. If you do not receive the code within a few minutes, you can click the **Resend verification code** button. - -1. After successfully entering the verification code, your phone number is verified and has been saved to your user account. - -## Multiple User Accounts - -Organizations that require multiple individuals to access the same customer account should create separate *user accounts* for each individual. Once you've created a user account, you can assign permissions to restrict access to certain services and areas of Cloud Manager. This is useful for providing all team members access to a single customer account, allowing a billing department to view invoices and billing details, or granting access to outside developers. For more information, see our guide on [Accounts and Passwords](/docs/products/platform/accounts/guides/manage-users/). - -## Single sign-on (SSO) with Akamai Control Center - -You can also log in to Cloud Manager using your [Akamai Control Center](https://control.akamai.com/) account credentials. - -- You must have an Akamai Control Center account to use this feature and your email address within that account must match the email address on your Cloud Manager user account. - -- When logging in with Akamai Control Center, any other login provider security settings (such as passwords and 2FA) are ignored for that login session. **Make sure your Control Center account is protected by a secure password and 2FA.** - -- This feature does not replace your login provider, which means you can also continue using your selected login provider (Cloud Manager, GitHub, or Google) to log in to Cloud Manager. - -To use this feature, select **Akamai Control Center** as the provider when logging in to Cloud Manager. You are automatically logged in to the Cloud Manager user that matches the email for the currently logged in Control Center user. If multiple Cloud Manager users match this email address, you can select which user to log in as. \ No newline at end of file diff --git a/docs/products/platform/accounts/guides/user-security-controls/phone-verification.png b/docs/products/platform/accounts/guides/user-security-controls/phone-verification.png deleted file mode 100644 index aa022a600c1..00000000000 Binary files a/docs/products/platform/accounts/guides/user-security-controls/phone-verification.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-security-controls/profile-link.png b/docs/products/platform/accounts/guides/user-security-controls/profile-link.png deleted file mode 100644 index 311fa4cdbd9..00000000000 Binary files a/docs/products/platform/accounts/guides/user-security-controls/profile-link.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-security-controls/security-questions.png b/docs/products/platform/accounts/guides/user-security-controls/security-questions.png deleted file mode 100644 index 44abb41416b..00000000000 Binary files a/docs/products/platform/accounts/guides/user-security-controls/security-questions.png and /dev/null differ diff --git a/docs/products/platform/accounts/guides/user-security-controls/trusted-devices.png b/docs/products/platform/accounts/guides/user-security-controls/trusted-devices.png deleted file mode 100644 index 1112a19b240..00000000000 Binary files a/docs/products/platform/accounts/guides/user-security-controls/trusted-devices.png and /dev/null differ diff --git a/docs/products/platform/accounts/resources/index.md b/docs/products/platform/accounts/resources/index.md deleted file mode 100644 index f880d5f73d3..00000000000 --- a/docs/products/platform/accounts/resources/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Managing Linode Accounts" -description: "Resources and other information related to Linode accounts including blog posts, community posts, and customer stories." -published: 2022-11-21 -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [GitHub Third-Party Authentication Speeds Up Sign-In](https://www.linode.com/blog/linode/github-third-party-authentication/) - -- [Google Single Sign-On Now Available on Linode](https://www.linode.com/blog/linode/google-single-sign-on-linode/) - -- [Multiple Account Management](https://www.linode.com/blog/linode/multiple-account-management/) - -## Community Posts - -- [What does a users limited access give you](https://www.linode.com/community/questions/18065/what-does-a-users-limited-access-give-you) - -- [How do I manage multiple accounts with the Linode CLI?](https://www.linode.com/community/questions/20161/how-do-i-manage-multiple-accounts-with-the-linode-cli) - -- [How do I re-generate 2FA backup codes for logging in to cloud.linode.com?](https://www.linode.com/community/questions/21086/how-do-i-re-generate-2fa-backup-codes-for-logging-into-cloudlinodecom) - -- [Yubikey as 2FA option for Manager?](https://www.linode.com/community/questions/17374/yubikey-as-2fa-option-for-manager) \ No newline at end of file diff --git a/docs/products/platform/billing/_index.md b/docs/products/platform/billing/_index.md deleted file mode 100644 index 73fb8eb3803..00000000000 --- a/docs/products/platform/billing/_index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Billing -title_meta: "Understanding How Billing Works on the Linode Platform" -description: "Learn how Linode makes billing simple and easy so you easily anticipate your cloud infrastructure costs" -published: 2019-10-25 -modified: 2023-09-20 -tab_group_main: - is_root: true - title: Overview - weight: 10 -keywords: ["billing", "payments"] -aliases: ['/products/tools/billing/','/platform/billing-and-support/prepaid-billing-and-payments-legacy/','/platform/billing-and-support/how-linode-billing-works/','/platform/billing-and-support/upgrade-to-hourly-billing/','/guides/how-linode-billing-works/','/billing-and-payments/','/platform/billing-and-support/billing-and-payments-classic-manager/','/platform/billing-and-support/billing-and-payments-new-manager/','/platform/billing-and-payments/','/platform/billing-and-support/billing-and-payments/',/guides/billing-and-payments/,'/guides/understanding-billing-and-payments/','/guides/platform/billing-and-support/'] -tags: ["linode platform"] ---- - -Linode strives to provide transparent and uncomplicated pricing structures and billing policies. As a supplement to our [Pricing](https://www.linode.com/pricing/) page, read through this guide to understand how we bill for services and how you can pay for these services. For instructions on how to manage your billing in Cloud Manager, see the [Manage Billing in Cloud Manager](/docs/products/platform/billing/guides/) guide. If you have a question that isn't answered in either of these guides, don't hesitate to [contact Support](https://www.linode.com/support/). - -## Understand How Billing Works - -Linode uses a hybrid hourly billing model that is simple and flexible. It enables you to continuously add, modify, and remove services throughout the month. After the month is over, you receive an invoice for *the hourly usage of each service **up to the monthly cap***. Here are some important billing considerations: - -- Every paid service offered by Linode has a predictable monthly rate (also called the monthly cap) in addition to a flexible hourly rate. - -- When a service is added, charges accrue on the account at the hourly rate up to the monthly cap. These *accrued charges* are displayed on the **Billing Info** tab within the Account page of Cloud Manager\*. Usage is always rounded up to the nearest hour. - -- Linode uses a monthly billing cycle. An invoice is automatically generated on the first day of each month and includes the previous month's usage. - -If your services stay the same month over month, your bill remains predictable. You are never billed more than the monthly rate for each service, excluding [network transfer overages](/docs/products/platform/get-started/guides/network-transfer/). If you use a service for just part of the month, hourly billing enables you to only be charged for the time the service is present on the account. - -\*Review the [Viewing Current Balance](/docs/products/platform/billing/guides/access-billing/) section of the Manage Billing in Cloud Manager guide to monitor your account balance and accrued charges throughout the month. - -### Example Billing Scenarios - -Here are a few examples of common billing scenarios you might encounter. For these examples, we will assume the month is 30 days (720 hours). We will also be using a *4GB Dedicated CPU Compute Instance*, which has an hourly rate of $0.054/hour and a monthly rate/cap of $36. - -#### A Service is Present on an Account for the *Entire* Month - -You create the Compute Instance before the start of the month and it remains on your account for the entire month. Calculating the service fees at the hourly rate for 720 hours (again, assuming a 30 day month), the total would have come to $38.88. Since this exceeds the monthly cap for this service, you are instead charged the predictable $36 monthly rate. - -#### A Service is Present on an Account for *Almost* the Entire Month - -You create the Compute Instance on the second day of the month, half-way through the day. It remains on your account for the remainder of the month and, in total, was used for 684 hours. Calculating the service fees at the hourly rate, the total would have come to $36.94. Since this still exceeds the monthly cap for this service, you are instead charged the predictable $36 monthly rate. - -#### A Service is Present on an Account for *Just Some* of the Month - -You created the Compute Instance mid-way through the month and deleted it exactly 5 days later. In total, it was used for 120 hours. Calculating the service fees at the hourly rate, the total is $6.48. Since this is less than the monthly cap, you are indeed billed at the hourly rate and charged $6.48 for your usage. - -#### A Service is Resized During the Billing Cycle - -Resizing a service, such as a Compute Instance, effectively creates a new billable service. Each of these billable services will appear as separate line items on your monthly invoice. For instance, you create a 4GB Compute Instance before the start of the month and resize it to an 8GB Compute Instance mid-way through the month. Your invoice will have two services as separate line items corresponding with the two different Compute Instance sizes that existed on your account during the billing cycle. Each line item will reflect the hourly rate for the time the service was active (up to the monthly cap). - -{{< note type=warning >}} -If a service is resized to a new plan and then resized back to the original plan all in a single billing cycle, there will be 3 billable services. The combined hourly rate for these services may exceed the monthly cap of the original service plan. -{{< /note >}} - -### Mid-Month Billing - -You may receive a mid-month bill from Linode if you reach a certain threshold of Linode services used within a single month. For many users, this amount will initially be **$50.00**. That amount can be adjusted over time by accruing a positive account history. In general, a history of on-time payments to Linode will increase the threshold amount. - -### Will I Be Billed For Powered Off or Unused Services? - -**Charges will accrue for any service present on an account, even if it is powered off or otherwise not actively being used.** This includes Linode Compute Instances that have been powered off as the data is still maintained and resources (such as RAM and network capacity) are still reserved. To avoid additional charges for a service you no longer need, [remove the service](/docs/products/platform/billing/guides/stop-billing/) from your account. - -### Data Center-Specific Pricing - -In general, Linode plans and services are billed at the same, flat rate across data centers. However, services and network transfer in some newer data centers may be billed at separate rates due to higher region-based infrastructure costs. - -For more information about pricing in these regions, refer to our [Pricing](https://www.linode.com/pricing/) page. - -## Payments - -When an invoice is generated on the first of the month (or mid-month), Linode automatically attempts to charge the account's default payment method. In addition to these automatic recurring payments, you can make one-time payments to add funds to your account, which will then be used to pay future invoices. - -### Manual Payments - -At any time, you can make a manual one-time payment to add funds to your account. This is used to pay a past-due balance or to *pre-pay* for services, which adds a positive account balance that will be used towards future invoices. Review the [Making a One-Time Payment](/docs/products/platform/billing/guides/make-a-payment/) section of the Manage Billing in Cloud Manager guide for instructions when submitting a manual payment. - -### Refunds - -A refund can be requested for any *positive account balance* (excluding promotion credits). You can also receive a full refund as part of our cancellation policy if you cancel within the first 7 days. To learn more about this cancellation policy, see the [Cancel Your Account](/docs/products/platform/accounts/guides/cancel-account/) guide. - -To request a refund, contact the [Support](https://www.linode.com/support/) team with the reason for your request. Refunds can only be considered for payments made within the last 180 days. Once the request is approved, the refund is issued to the original payment method. A $5 processing fee is deducted from all refunds, with the exception of cancelling an account within the first 7 days. \ No newline at end of file diff --git a/docs/products/platform/billing/developers/index.md b/docs/products/platform/billing/developers/index.md deleted file mode 100644 index cceaba5f23d..00000000000 --- a/docs/products/platform/billing/developers/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Billing and Payments" -description: "Linode Billing is managed easily with developer tools like the Linode API or CLI." -published: 2022-11-17 -tab_group_main: - weight: 50 -aliases: ['/products/tools/billing/developers/'] ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [List Invoices](https://techdocs.akamai.com/linode-api/reference/api-summary#list-invoices) - -- [View Invoice](https://techdocs.akamai.com/linode-api/reference/api-summary#view-invoice) - -- [List Invoice Items](https://techdocs.akamai.com/linode-api/reference/api-summary#list-invoice-items) - -- [List Payments](https://techdocs.akamai.com/linode-api/reference/api-summary#list-payments) - -- [Make Payment](https://techdocs.akamai.com/linode-api/reference/api-summary#make-payment) - -- [View Payment](https://techdocs.akamai.com/linode-api/reference/api-summary#view-payment) - -- [Stage PayPal Payment](https://techdocs.akamai.com/linode-api/reference/api-summary#stage-paypal-payment) - -- [Staged/Approved PayPal Payment Execute](https://techdocs.akamai.com/linode-api/reference/api-summary#stagedapproved-paypal-payment-execute) - -- [Add/Edit Credit Card](https://techdocs.akamai.com/linode-api/reference/api-summary#addedit-credit-card) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [manage your account](/docs/products/tools/cli/guides/account/) diff --git a/docs/products/platform/billing/faqs/_index.md b/docs/products/platform/billing/faqs/_index.md deleted file mode 100644 index d77d69249ed..00000000000 --- a/docs/products/platform/billing/faqs/_index.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: "FAQs" -title_meta: "FAQs for Billing and Payments on the Linode Platform" -description: "Find quick answers to some of the most commonly asked billing questions." -published: 2022-10-28 -tab_group_main: - weight: 60 -aliases: ['/products/tools/billing/faqs/'] ---- - -## I’m not using my services but I’m still being charged. How do I stop this? - -You are charged for any service present on an account, even if it is powered off or otherwise not actively being used. To stop additional charges from accruing for a service, that service must be deleted. Keep in mind that your next invoice will include any fees for this service that have accrued during the billing cycle. See [Billing Overview](/docs/products/platform/billing/) for more details. - -## My bill is higher than expected. How can I get more information about these charges? - -Each bill, including mid-month bills, is available to view as an itemized invoice. These invoices contain a detailed breakdown of your charges. Each service that was present on the account at any point during the billing cycle is listed on the invoice, alongside the amount of time the service was active, the hourly rate, and the total charge for that service. - -All invoices are listed in the Billing & Payment History section of Cloud Manager. See [Viewing Invoices and Payments](/docs/products/platform/billing/guides/view-history/) for instructions. A copy of each invoice is also emailed to all users on the account with read and write billing access. - -## I deleted a service earlier this month. Why was I just charged for it now? - -Invoices are generated at the beginning of every month and include fees for services used during the previous month. See [Billing Overview](/docs/products/platform/billing/). On your invoice, you can view the dates each service was on the account. - -## Where can I view amount of credit available on my account? - -Promotional credits from a promo code are visible on the [Billing Info](https://cloud.linode.com/account/billing) page of Cloud Manager. This credit is listed under the **Promotions** section that is only visible *if a promo code has been applied to your account*. Other types of account credits are displayed on the same page under the **Account Balance section**. A balance that is green indicates the amount of credit on the account. A balance that is red indicates the amount currently past due. - -## Will my current credit cover my next invoice? - -Any credits on your account, including promotional credits and other account credits, are automatically applied to your next invoice. You can verify if your available credits meet your current expenditure by reviewing your [currently accrued charges](/docs/products/platform/billing/guides/access-billing/) and calculating your usage for the remainder of the billing cycle. See the [Pricing](https://www.linode.com/pricing/) page for a detailed list of all service fees. - -## When will I receive my first bill? - -Invoices are generated on the first day of each month. For instance, if you joined on September 15th, you will receive your first bill on October 1st for any services used during the month of September. An exception to this is if your service fees have exceeded your account's billing threshold, in which case you will receive a bill at that time. See [Mid-Month Billing](/docs/products/platform/billing/#mid-month-billing). - -## Can I change my billing date? - -Invoices are automatically generated on the first day of each month. While this cannot be changed, you may contact [Support](https://www.linode.com/support/) if you would like to be billed more frequently or in smaller increments. - -## Why did I receive more than one invoice this month? - -If your account exceeds its billing threshold (also called the *credit limit*), you will receive a bill for the currently accrued charges at that time. For new accounts, this threshold begins at $50 and it automatically adjusted as you continue to use Linode services. If you would like this to be adjusted, contact [Support](https://www.linode.com/support/). See [Mid-Month Billing](/docs/products/platform/billing/#mid-month-billing). - -## Can I make a payment in advance? - -Yes. At any time, you can make a payment on your account. If the payment is greater than any past due amount, it gets stored as a positive account balance. This balance is automatically applied to future invoices. You can estimate your end of month costs using our [Pricing](https://www.linode.com/pricing/) page and view your account balance from the Billing Info page of Cloud Manager. See [Making a One-Time Payment](/docs/products/platform/billing/guides/make-a-payment/). - -## What are Linode’s currently accepted payment methods? - -Linode accepts all major credit cards, Google Pay, PayPal, and other forms of payment. To view a complete list of all accepted payment methods, see [Payment Methods](/docs/products/platform/billing/guides/payment-methods/). - -## Why did my card get declined? - -A card can be declined for many different reasons. Banks often do not pass along details for declined charges to vendors, like Linode. To investigate why your card was declined, contact your bank. - -## How do I remove a credit card from my account? - -You can manage your payment methods, including credit cards, from Cloud Manager. To learn how to remove a credit card, see [Remove a Payment Method](/docs/products/platform/billing/guides/payment-methods/#remove-a-payment-method). Keep in mind you must have at least one valid payment method on file. If you are attempting to delete your only payment method, you must add a new payment method first. - -## Can I make a payment in another currency? - -We only accept payments in USD. If you wish to pay in another currency, you must use a credit card or other form of payment that can process the currency exchange on your behalf. - -## Can more than one person receive the invoice each month? - -Yes, any user on an account with the appropriate billing permissions (read and write billing access) will receive a copy of invoices. See [Setting User Permissions](/docs/products/platform/accounts/guides/user-permissions/) for more details and see [Adding a User](/docs/products/platform/accounts/guides/manage-users/#add-a-user) for instructions on creating another user for your account. - -## How do I adjust the name or company on my invoice? - -Your billing contact information is used on each invoice. To adjust the name, company, address, or tax ID that appears on the invoice, you must adjust the corresponding billing contact field. See [Update Billing Contact Information](/docs/products/platform/billing/guides/update-billing-contact-info/). \ No newline at end of file diff --git a/docs/products/platform/billing/faqs/tab.svg b/docs/products/platform/billing/faqs/tab.svg deleted file mode 100644 index 24b2df1f82a..00000000000 --- a/docs/products/platform/billing/faqs/tab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/platform/billing/feature.svg b/docs/products/platform/billing/feature.svg deleted file mode 100644 index f59930e7c4d..00000000000 --- a/docs/products/platform/billing/feature.svg +++ /dev/null @@ -1,12 +0,0 @@ - - Billing - - - - - - - - - - \ No newline at end of file diff --git a/docs/products/platform/billing/guides/_index.md b/docs/products/platform/billing/guides/_index.md deleted file mode 100644 index f022055ee36..00000000000 --- a/docs/products/platform/billing/guides/_index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Billing and Payments" -description: "A collection of documentation related to managing billing, payments, and other related topics on the Linode platform." -published: 2022-11-17 -tab_group_main: - weight: 30 -aliases: ['/platform/billing-and-support/manage-billing-in-cloud-manager/','/guides/manage-billing-in-cloud-manager/','/products/tools/billing/guides/'] ---- - -## Basics - -- [Billing Overview](/docs/products/platform/billing/): Understand how billing works on Linode. - -- [Access Billing Information](/docs/products/platform/billing/guides/access-billing/): View billing information, including checking your account balancing and accrued charges. - -- [Update Billing Contact Information](/docs/products/platform/billing/guides/update-billing-contact-info/): Update the billing address on file and change the email address where invoices are sent. - -- [View Invoices and Payment History](/docs/products/platform/billing/guides/view-history/): Review all invoices and payments on the account. - -- [Manage Payment Methods](/docs/products/platform/billing/guides/payment-methods/): Learn what payment methods Linode accepts and how to view, add, and remove them. - -- [Make a Payment](/docs/products/platform/billing/guides/make-a-payment/): Make a one-time payment on your account. - -- [Tax Information](/docs/products/platform/billing/guides/tax-information/): A list of regions that require taxes on Linode services. - -- [Add a Promo Code](/docs/products/platform/billing/guides/promo-code/): Instructions on adding a promo code to your account. - -- [Referral Program](/docs/products/platform/billing/guides/referral-program/): Learn about the Linode referral program and referral credits. - -- [Stop Further Billing](/docs/products/platform/billing/guides/stop-billing/): Instructions on removing services to stop charges from accruing. \ No newline at end of file diff --git a/docs/products/platform/billing/guides/access-billing/account-billing.png b/docs/products/platform/billing/guides/access-billing/account-billing.png deleted file mode 100644 index 0714f40c7bb..00000000000 Binary files a/docs/products/platform/billing/guides/access-billing/account-billing.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/access-billing/index.md b/docs/products/platform/billing/guides/access-billing/index.md deleted file mode 100644 index 94071450267..00000000000 --- a/docs/products/platform/billing/guides/access-billing/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Access Billing Information" -description: "View billing information, including checking your account balancing and accrued charges." -published: 2022-11-17 -aliases: ['/products/tools/cloud-manager/guides/cloud-credits/'] ---- - -Most information and settings pertaining to billing are located within the [Billing Info](https://cloud.linode.com/account/billing) page of Cloud Manager. Follow the instructions below to access this page: - -1. Log in to [Cloud Manager](https://cloud.linode.com) on a user account with one of the following permissions. See [Setting User Permissions](/docs/products/platform/accounts/guides/user-permissions/) for more details. - - - **Full account access** (unrestricted). - - Restricted user with *Read-Write* permissions under **Billing Access**. Users with *Read Only* permissions are able to see most billing information but they are not able to make changes. - -1. Click on the **Account** link on the left menu, which displays the [Billing Info](https://cloud.linode.com/account/billing) page. - -![The Billing Info page showing an example customer with a $24 negative balance and $9 of accrued charges.](account-billing.png) - -This page contains several sections: - -- **Account Balance:** The current balance on the account. This includes any past due amounts from unpaid invoices as well as any positive balance remaining from credits or promo codes. In the screenshot above, the account has a positive balance of $10. - -- **Promotions:** If there is an active promo/coupon applied to the account, it will be displayed here along with the remaining balance and any expiration date. If there are no active promotions, this section is hidden. - -- **Accrued Charges:** The charges that have accrued since your last invoice. This updates frequently to include the hourly charges (up to the monthly cap) for all paid services on the account, as well as any other charges. In the screenshot above, the account has accrued $8.51 of charges since the last invoice. See the [Billing Overview](/docs/products/platform/billing/) guide for help understanding these charges. - -- **Billing Contact:** The name, address, phone number, and email address for the primary billing contact on the account. See [Update Billing Contact Information](/docs/products/platform/billing/guides/update-billing-contact-info/). - -- **Payment Methods:** The payment methods that have been added to the account. - -- **Billing & Payment History:** Displays a list of previous invoices and payments, along with links to view or download each entry. See [View Invoices and Payment History](/docs/products/platform/billing/guides/view-history/) \ No newline at end of file diff --git a/docs/products/platform/billing/guides/make-a-payment/index.md b/docs/products/platform/billing/guides/make-a-payment/index.md deleted file mode 100644 index 818a4aace3d..00000000000 --- a/docs/products/platform/billing/guides/make-a-payment/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "Make a Payment" -description: "Learn what payment methods Linode accepts and how to view, add, and remove them." -published: 2022-11-17 ---- - -## Pay Your Bill - -When an invoice is generated, the default payment method on the account is automatically charged within a few hours. See [View and Change the Default Payment Method](/docs/products/platform/billing/guides/payment-methods/#view-and-change-the-default-payment-method) for instructions on changing the default payment method. - -If you wish to pay in advance, follow the instructions within the [Make a One-Time Payment](#make-a-one-time-payment) section below. - -## Make a One-Time Payment - -You can manually add funds to your account at any time. Manual payments can be used to pay an outstanding balance or prepay for future services. - -1. Navigate to the **Billing Info** page in [Cloud Manager](https://cloud.linode.com/account/billing) (see [Accessing Billing Information](/docs/products/platform/billing/guides/access-billing/)). -1. Click the **Make a Payment** button on the top right of the page, which opens the **Make a Payment** panel. -1. Enter the amount of money you would like to add to your account in the **Payment Amount** field. For your reference, the current balance on the account is displayed above this field. -1. **To pay with a saved payment method:** Select the saved payment method you wish to use in the **Payment methods** section and click the **Pay now** button. - - **To pay with PayPal:** Click the **PayPal** button towards the bottom of the panel. This will open up PayPal's own payment form, where you can log in to your PayPal account and select your payment method. Once finished, you will be returned to Cloud Manager. - - **To pay with an new Google Pay account or method:** Click the **Google Pay** button towards the bottom of the panel. This will open up Google's own payment form where you can log in to your Google account and select your payment method. Once finished, you will be returned to Cloud Manager. - -The payment may take a few minutes to be applied to your account. diff --git a/docs/products/platform/billing/guides/payment-methods/add-method-credit-card.png b/docs/products/platform/billing/guides/payment-methods/add-method-credit-card.png deleted file mode 100644 index bf493ae4b96..00000000000 Binary files a/docs/products/platform/billing/guides/payment-methods/add-method-credit-card.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/payment-methods/add-method-google-pay.png b/docs/products/platform/billing/guides/payment-methods/add-method-google-pay.png deleted file mode 100644 index 2fba33c50ec..00000000000 Binary files a/docs/products/platform/billing/guides/payment-methods/add-method-google-pay.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/payment-methods/add-method-paypal.png b/docs/products/platform/billing/guides/payment-methods/add-method-paypal.png deleted file mode 100644 index 8c1e7c845d7..00000000000 Binary files a/docs/products/platform/billing/guides/payment-methods/add-method-paypal.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/payment-methods/delete-payment-method.png b/docs/products/platform/billing/guides/payment-methods/delete-payment-method.png deleted file mode 100644 index d7c3de9a444..00000000000 Binary files a/docs/products/platform/billing/guides/payment-methods/delete-payment-method.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/payment-methods/index.md b/docs/products/platform/billing/guides/payment-methods/index.md deleted file mode 100644 index a4160c9b4e2..00000000000 --- a/docs/products/platform/billing/guides/payment-methods/index.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "Manage Payment Methods" -description: "Learn what payment methods Linode accepts and how to view, add, and remove them." -published: 2022-11-17 ---- - -## Payment Methods - -- **Credit card:** Pay using all popular credit (and debit) cards, including those issued by Visa, MasterCard, Discover, American Express, and UnionPay. - -- **Google Pay:** Pay using a credit card, debit card, or PayPal through your Google Pay account. Paying with your Google Pay balance or any associated bank accounts are not supported at this time. - - {{< note >}} - To add a PayPal account to your Google Pay account, you currently must do so through the [Google Play Store](https://play.google.com/store/paymentmethods). PayPal cannot currently be added through the Google Pay website or mobile apps. When adding PayPal through Google Pay, it appears as a Discover Card within Cloud Manager and the Linode API. - {{< /note >}} - -- **PayPal:** Pay using your PayPal balance, a credit (or debit) card, or bank account through your PayPal account. - -- **Check, ACH, or wire transfer:** Please [contact Support](https://www.linode.com/support/) if you wish to pay through one of these methods. - -See [Adding a New Payment Method](/docs/products/platform/billing/guides/payment-methods/#add-a-new-payment-method) for instructions on adding a new payment method to your account. - -## Add a New Payment Method - -New payment methods can be added to an account through Cloud Manager. Up to **6 payment methods** can be active on an account at any given time, including multiple credit cards, Google Pay methods, and PayPal methods. - -1. Navigate to the **Billing Info** page in [Cloud Manager](https://cloud.linode.com/account/billing) (see [Accessing Billing Information](/docs/products/platform/billing/guides/access-billing/)). - -1. If adding a credit card directly (not through Google Pay or PayPal), it must match the account's billing contact information and address. Review the **Billing Contact** section and edit it as necessary (see [Update Billing Contact Information](/docs/products/platform/billing/guides/update-billing-contact-info/)). - -1. In the **Payment Method** section, click the *Add Payment Method* link. This opens the **Add Payment Method** panel. - -1. Complete the form according to the payment method you wish to add. - - **To pay with a credit card:** Enter the credit card number, expiration date, and the security code (CVV) of the new card. Then click **Add Credit Card**. - - ![Form to add a credit card](add-method-credit-card.png) - - {{< note >}} - A $1.00 authorization hold may be placed on your credit card by your banking institution when our payment processor tests the validity of the card. This is normal behavior and does not result in a charge on your card. - {{< /note >}} - - **To pay with Google Pay:** Click the **Google Pay** icon/button to open Google's own Google Pay form. Log in to your Google account and select the payment method you wish to use. Press **continue** (or otherwise complete the form) to be taken back to Cloud Manager. - - ![Button to add Google Pay](add-method-google-pay.png) - - **To pay with PayPal:** Click the **PayPal** icon/button to open PayPal's own form. Log in to your PayPal account and select the credit card or bank account you wish to use. Optionally check or uncheck the **Use balance first** option to use any PayPal balance before the selected credit card or bank account. Press **Save and Continue** (or otherwise complete the form) to be taken back to Cloud Manager. - - ![Button to add PayPal](add-method-paypal.png) - -1. After the payment method is added, it will be assigned as the *default* payment method and will be used for future recurring payments. This can be changed by following the instructions within the [Viewing and Changing the Default Payment Method](#viewing-and-changing-the-default-payment-method) section. - -{{< note >}} -This process does not immediately charge any past due balance on the account to the new card. If you have an outstanding balance, you need to make a manual payment to bring your account up to date. See the [Making a One-Time Payment](#making-a-one-time-payment) section for more information. -{{< /note >}} - -## Remove a Payment Method - -To delete a payment method from your account, follow the instructions below. - -1. Navigate to the **Billing Info** page in [Cloud Manager](https://cloud.linode.com/account/billing) (see [Accessing Billing Information](/docs/products/platform/billing/guides/access-billing/)). -1. Under the **Payment Methods** section, locate the payment method you wish to remove. -1. Click the corresponding ellipsis menu and select **Delete** from the dropdown menu. If the payment method is the default payment method on the account, the **Delete** button will be disabled and you will first need to change the default method. - -![The Delete button within a payment method's dropdown menu](delete-payment-method.png) - -## View and Change the Default Payment Method - -When an invoice is generated, the amount of that invoice (as well as any past due balance) will be charged to the *default* payment method on the account. The default payment method can be viewed and changed by following the instructions below. - -1. Navigate to the **Billing Info** page in [Cloud Manager](https://cloud.linode.com/account/billing) (see [Accessing Billing Information](/docs/products/platform/billing/guides/access-billing/)). -1. Under the **Payment Methods** section, the payment method currently used by default has a label of *default* (located to the right of the last 4 digits and expiration date). -1. To change the default payment method, click the ellipsis menu next to the payment method you wish to use and select **Make Default** from the dropdown menu. - -![The Make Default button within a payment method's dropdown menu](set-default-payment-method.png) \ No newline at end of file diff --git a/docs/products/platform/billing/guides/payment-methods/set-default-payment-method.png b/docs/products/platform/billing/guides/payment-methods/set-default-payment-method.png deleted file mode 100644 index a6440f57e61..00000000000 Binary files a/docs/products/platform/billing/guides/payment-methods/set-default-payment-method.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/promo-code/account-balance-add-promo.png b/docs/products/platform/billing/guides/promo-code/account-balance-add-promo.png deleted file mode 100644 index b932cdd78fd..00000000000 Binary files a/docs/products/platform/billing/guides/promo-code/account-balance-add-promo.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/promo-code/index.md b/docs/products/platform/billing/guides/promo-code/index.md deleted file mode 100644 index e67bb72604c..00000000000 --- a/docs/products/platform/billing/guides/promo-code/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "Add a Promo Code" -description: "Instructions on adding a promo code to your Linode account." -published: 2022-11-17 ---- - -A *promo code* adds a positive credit to an account, allowing you to pay for services using that credit. You're able to add a promo code when signing up for an account. If you already signed up but haven't entered a promo code, you may be able to do so from Cloud Manager. To add a promo code to an existing account, certain conditions must be met: - -- The account must be less than 90 days old. -- There must not be a negative balance on the account. -- No other promo codes can already be applied to the account. -- The user that's logged in must have unrestricted permissions. - -If those conditions are met, you can add a promo code by following these instructions: - -1. Navigate to the **Billing Info** page in [Cloud Manager](https://cloud.linode.com/account/billing) (see [Accessing Billing Information](/docs/products/platform/billing/guides/access-billing/)). - -1. Under the **Account Balance** section, click the *Add a promo code* link. - - ![Account balance section of the Billing Info page](account-balance-add-promo.png) - -1. In the **Add promo code** dialog box that is displayed, enter the promo code and click the **Apply Promo Code** button. You should now see the promotional credit amount reflected in your account balance. \ No newline at end of file diff --git a/docs/products/platform/billing/guides/referral-program/index.md b/docs/products/platform/billing/guides/referral-program/index.md deleted file mode 100644 index 5f51cda21e0..00000000000 --- a/docs/products/platform/billing/guides/referral-program/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Referral Program" -description: "Learn how to join Linode's referral program and gain credits when you refer new users" -published: 2022-11-17 ---- - -When you refer a new user to Linode through our referral program, both you and the new user can receive a promotional credit. Here are the program details: - -- **A new user receives a $100 60-day credit** when they sign up through a referral link. Before the credit is applied, they must add a valid payment method to their account. - -- **The referrer receives a $25 non-expiring credit** once the new user has been active for 90-days and spends $25 or more on services (after their promotional credit has been used or has expired). - -To learn more about this program, visit the [Referral Program](https://www.linode.com/referral-program/) page on our website. - -### Find Your Referral Link - -To activate the referral program and obtain a referral link, you must spend at least $25 with Linode, not including any promotional credits added to your account. Once activated, your referral link (including your unique referral code) can be viewed within Cloud Manager. - -1. Log in to the [Linode Cloud Manager](https://cloud.linode.com). -1. Select the **My Profile** link by clicking on your username at the top of the page. -1. Select the **Referrals** tab. -1. The referral code and URL are listed within this section. - -You can provide the referral link to friends and colleagues as well as post it to your website and social media. \ No newline at end of file diff --git a/docs/products/platform/billing/guides/stop-billing/index.md b/docs/products/platform/billing/guides/stop-billing/index.md deleted file mode 100644 index 6dc2cebbf08..00000000000 --- a/docs/products/platform/billing/guides/stop-billing/index.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: "Stop Further Billing" -description: "Instructions on removing services to stop charges from accruing on your Linode account." -published: 2022-11-17 ---- - -To prevent additional charges from accruing and stop further billing, you can remove any paid services from your account or cancel your account entirely. - -## Remove Services - -Linode services are provided without a contract or commitment. This means that you can remove them from your account at any time. Here are instructions for removing a Compute Instance: - -1. Log in to [Cloud Manager](https://cloud.linode.com) and select **Linodes** from the sidebar menu. -1. Locate the Compute Instance you wish to delete. -1. Expand the corresponding **more options ellipsis** menu and click **Delete**. -1. Select **Delete Linode** in the confirmation box that appears. - -If you wish to delete other services, follow the links below: - -- [Backup Service](/docs/products/storage/backups/guides/cancel/) -- [Delete Block Storage Volume](/docs/products/storage/block-storage/guides/manage-volumes/#delete-volume) -- [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/) -- [Delete a NodeBalancer](/docs/products/networking/nodebalancers/guides/manage/#delete-a-nodebalancer) - -{{< note type="alert" >}} -Removing a service from your account makes its data irretrievable. In the case of a Compute Instance, any corresponding Backup service is also deleted and you will no longer be able to restore from those backup snapshots. - -If you would like to preserve your data before removing a service from your account, you need to create an external backup. You may use the suggestions in our [Backing Up Your Data](/docs/guides/backing-up-your-data/) guide for some examples of how to do this. - -When removing a Compute Instance from your account that has been active for at least 24 hours, a [Recovery Image](/docs/products/tools/images/get-started/) is automatically created. To learn how to deploy this image, see [Deploy an Image to a New Compute Instance](/docs/products/tools/images/guides/deploy-image-to-new-linode/). - -There is a very small chance that Linode Support can restore your data outside of these circumstances. The sooner you reach out to Linode Support, the more likely this can occur. Please open [a Support ticket](https://cloud.linode.com/support/tickets) to explore this possibility. -{{< /note >}} - -## Cancel Account - -If you no longer wish to use any Linode services, you can also cancel your account. When an account is cancelled, you may receive one final bill. This bill includes all charges that have already accrued during the billing period. See [Cancel Your Account](/docs/products/platform/accounts/guides/cancel-account/) to learn more. \ No newline at end of file diff --git a/docs/products/platform/billing/guides/tax-information/index.md b/docs/products/platform/billing/guides/tax-information/index.md deleted file mode 100644 index dc464d4659d..00000000000 --- a/docs/products/platform/billing/guides/tax-information/index.md +++ /dev/null @@ -1,201 +0,0 @@ ---- -title: Tax Information -description: "Learn which taxes are collected by Linode and how to add a tax identification number to your account." -published: 2019-04-09 -modified: 2024-08-05 -keywords: ["accounts", "vat", "linode manager", "linode cloud manager", "manager", "tax", "taxes", "tax information", "usd", "vat id", "eu", "european union", "value added tax", "gst", "goods and services tax", "gst id", "tax id"] -aliases: ['/platform/billing-and-support/european-union-vat-linode/','/platform/billing-and-support/european-union-vat-linode-classic-manager/','/platform/billing-and-support/tax-information/','/platform/billing-and-support/tax-information-classic-manager/','/guides/tax-information/'] -tags: ["linode platform"] ---- - -Some countries, states, and regions require us by law to collect taxes. As such, customers located in these locations are charged the appropriate tax rate for any taxable services billed to their account. The taxes that Linode collects are listed on customer invoices (see the [Viewing Invoices and Payments](/docs/products/platform/billing/guides/view-history/) section of our Cloud Manager Billing guide). - -{{< note >}} -Pricing and service fees posted publicly, such as our [Pricing](https://www.linode.com/pricing/) page and listed in Cloud Manager, do not include taxes. -{{< /note >}} - -## List of Countries and Tax Rates - -The following table lists each country that requires us to collect taxes. Alongside each country is the tax rate, a link to additional tax details, and the date which Linode started to collected taxes in that country. Tax rates are subject to change and the most current rate will be used on customer invoices. - -| Country | Tax Rate | Tax Details | Start Date | -| -- | -- | -- | -- | -| Australia | 10% | [GST](https://www.ato.gov.au/Business/GST/) | October 1, 2019 | -| Austria | 20% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Belgium | 21% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Bulgaria | 20% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Cambodia | 10% | [VAT](https://www.tax.gov.kh/en/content-detail/CivCT4107950038436) | December 15, 2022 | -| [Canada](#canada) (see below) | | | | -| Chile| 19% | [VAT](https://www.sii.cl/destacados/foreign_investor/vat.html) | December 15, 2022 | -| Croatia | 25% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Cyprus | 19% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Czech Republic | 21% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Denmark | 25% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Egypt | 14% | [VAT](https://www.eta.gov.eg/en/content/egyptian-tax-authority-eta-has-recently-published-value-added-tax-vat-guidelines-digital) | March 1, 2024 | -| Estonia | 22% | [VAT](https://www.emta.ee/en/business-client/taxes-and-payment/value-added-tax) | January 1, 2024 | -| Greece | 24% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Finland | 24% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| France | 20% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Germany | 19% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Hungary | 27% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| India | 18% | [GST](http://gstcouncil.gov.in/sites/default/files/faq/sectoral-faq-it-ites.pdf) | October 1, 2019 | -| Ireland | 23% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Italy | 22% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Japan | 10% | [JCT](https://www.eu-japan.eu/taxes-accounting/consumption-taxes) | April 1, 2022 | -| Kenya | 16% | [VAT](https://www.kra.go.ke/individual/filing-paying/types-of-taxes/value-added-tax) | June 1, 2023 | -| Korea | 10% | [VAT](https://teht.hometax.go.kr/websquare/websquare.wq?w2xPath=/ui/ca/a/b/UTECAABA12.xml) | June 1, 2024 | -| Latvia | 21% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Lithuania | 21% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Luxembourg | 17% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Malaysia | 8% | [SST](https://mysst.customs.gov.my/AboutBackground) | March 1, 2024 | -| Malta | 18% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Netherlands | 21% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| New Zealand | 15% | [GST](https://www.ird.govt.nz/gst) | October 1, 2023 | -| Norway | 25% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | May 1, 2022 | -| Poland | 23% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Portugal | 23% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Romania | 19% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Russian Federation | 20% | [VAT](https://www.nalog.gov.ru/rn77/TAXATION/TAXES/NDS/) | December 15, 2022 | -| Saudi Arabia | 15% | [VAT](https://zatca.gov.sa/en/Pages/default.aspx) | May 1, 2024 | -| Singapore | 8% | [GST](https://www.iras.gov.sg/irashome/GST/GST-registered-businesses/Learning-the-basics/How-to-implement-GST/Current-GST-Rates/) | September 1, 2020 | -| Slovakia | 20% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Slovenia | 22% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Spain | 21% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Sweden | 25% | [EU VAT](https://europa.eu/youreurope/business/taxation/vat/vat-rules-rates/index_en.htm) | July 1, 2019 | -| Switzerland | 7.7% | [VAT](https://www.estv.admin.ch/estv/en/home/value-added-tax/vat-rates-switzerland.html) | December 15, 2022 | -| Thailand | 10% | [VAT](https://www.rd.go.th/english/6043.html) | October 1, 2023 | -| Turkey | 20% | [VAT](https://www.gib.gov.tr/sites/default/files/fileadmin/taxation_system2021.pdf) | April 1, 2024 | -| Uganda | 18% | [VAT](https://ura.go.ug/en/vat-registered-category/) | May 1, 2024 | -| Ukraine | 20% | [VAT](https://ukraineinvest.gov.ua/en/analytics-research/overview-of-taxation/) | April 1, 2024 | -| United Arab Emirates | 5% | [VAT](https://u.ae/en/information-and-services/finance-and-investment/taxation/valueaddedtaxvat) | December 15, 2022 | -| United Kingdom | 20% | [VAT](https://www.gov.uk/vat-rates) | July 1, 2019 | -| [United States](#united-states) (see below) | | | | - - -### Canada - -Taxes have been collected for customers located in Canada since **May 1st, 2022**. The following table below lists the tax rate for each Province/Territory, as well as additional tax details: - -| Province | Tax Rate Total | Tax Details | -| -- | -- | -- | -- | -| Alberta | 5% | [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| British Columbia | 12% | Combination of [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) and [7% PST](https://www2.gov.bc.ca/gov/content/taxes/sales-taxes/pst) | -| Manitoba | 12% | Combination of [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) and [7% PST](https://www.gov.mb.ca/finance/taxation/taxes/retail.html) | -| New Brunswick | 15% | [15% HST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| Newfoundland and Labrador | 15% | [15% HST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| Northwest Territories | 5% | [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| Nova Scotia | 15% | [15% HST](https://novascotia.ca/finance/en/home/taxation/tax101/hst/default.aspx.html) | -| Nunavut | 5% | [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| Ontario | 13% | [13% HST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| Prince Edward Island | 15% | [15% HST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | -| Quebec | 14.975% | Combination of [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) and [9.975% QST](https://www.revenuquebec.ca/en/businesses/consumption-taxes/gsthst-and-qst/basic-rules-for-applying-the-gsthst-and-qst/) | -| Saskatchewan | 11% | Combination of [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) and [6% PST](https://www.saskatchewan.ca/business/taxes-licensing-and-reporting/provincial-taxes-policies-and-bulletins#:~:text=Provincial%20Sales%20Tax%20(PST)%20is,consumption%20or%20use%20in%20Saskatchewan) | -| Yukon | 5% | [5% GST](https://www.canada.ca/en/revenue-agency/services/forms-publications/publications/rc4027/doing-business-canada-gst-hst-information-non-residents.html) | - -### United States - -The following table lists each U.S. state and district that requires us to collect sales taxes, along with the date Linode has started (or will start) to collect tax in that state. Tax rates are subject to change and the most current rate is used when an invoice is generated. Tax is only collected on taxable products, which may vary between regions. - -| State or District | Start Date | -| -- | -- | -| Arizona | May 1, 2022 | -| Colorado localities | December 15, 2022 | -| Connecticut | December 15, 2022 | -| Hawaii | May 1st, 2022 | -| Iowa | February 1, 2023 | -| Maryland | February 1, 2023 | -| Massachusetts | December 15, 2022 | -| Mississippi | December 15, 2022 | -| New Mexico | December 15, 2022 | -| New York | December 15, 2022 | -| Ohio | February 1, 2023 | -| Pennsylvania | May 1, 2022 | -| Rhode Island | December 15, 2022 | -| South Carolina | December 15, 2022 | -| South Dakota | August 1, 2022 | -| Tennessee | December 15, 2022 | -| Texas | May 1, 2022 | -| Utah | December 15, 2022 | -| Washington | May 1, 2022 | -| Washington D.C | August 1, 2022 | -| West Virginia | December 15, 2022 | - -## Preventing Tax Collection - -Many customers using Linode for business or personal reasons may prefer to have Linode automatically calculate any required taxes and add them to each invoice. That said, some registered businesses or organizations may wish to prevent taxes from being added to their Linode invoices. This includes businesses that are tax exempt or businesses that are liable to pay taxes directly to their government's tax agency due to a special tax status or program (like RCM - Reverse Charge Mechanism). - -For eligible tax-exempt users in most countries, you can add your VAT or GST tax ID to your Linode account to have taxes removed from your invoices. See [Adding a Tax ID](#adding-a-tax-id) below for instructions on how to add your tax ID to your account. - -For users within the **United States** and **Canada**, you need to submit both your tax ID and state tax exemption or reseller's certificate via [Support Ticket](https://www.linode.com/support/) rather than adding your tax ID to your Linode account. This must happen before you are eligible to become exempt. Once approved, your tax ID will be added to your account by our team. Note that registered Canadian businesses may become exempt from PST sales tax but will always be billed for GST, HST, and QST sales tax. - -{{< note type="alert" >}} -If you are located in one of the countries that require taxes on our services, you are still liable for those taxes. Adding your tax ID does not exempt you from your liability to pay any taxes that have been mandated by your country for our services. Instead, this lets you settle your taxes directly with your government's tax agency. -{{< /note >}} - -### Adding a Tax ID - -To add (or update) your account with a tax ID, follow the instructions below. A tax ID can also be added to an account during the signup process. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Navigate to the **Account** link in the sidebar. - -1. Expand the **Update Contact Information** panel under the **Billing Info** tab. - -1. Enter your tax ID in the **Tax ID** field. - -1. Click on the **Save** button at the bottom of the **Update Contact Information** panel. - -## FAQs - -### How is my tax location determined? - -Your tax location is determined by the contact information you provided during sign up or under the **Account** page in the [Linode Cloud Manager](https://cloud.linode.com). - -### How can I change my tax location? - -You may update your tax location by navigating to the **Account** page in [Cloud Manager](https://cloud.linode.com) and then expanding the **Update Contact Information** panel. - -### My business is tax exempt. How can I stop further taxes from being charged to my Linode account? - -If your business or organization is tax exempt, you should add a verifiable tax ID to your Linode account. Once verified, taxes will no longer be added to invoices for customers outside of the **United States** and **Canada**. See [Preventing Tax Collection](#preventing-tax-collection). Customers inside the **United States** and **Canada** will additionally need to submit any tax exemption certificates or reseller's certificates by [Opening a Support Ticket](https://www.linode.com/support/) which contains the required information. Registered businesses in **Canada** will always be billed for GST and HST sales tax. Registered Canadian businesses may become exempt from PST sales tax by submitting a valid tax ID and PST certificate. - -### How can I review the taxes charged on previous invoices? - -To view previous invoices, see the [Viewing Invoices and Payments](/docs/products/platform/billing/guides/view-history/) guide. When viewing the invoice, review the **Tax** column to see the taxes that were charged on each service. - -### Why is my invoice in USD? Can I get an invoice in another currency? - -To keep our pricing stable and consistent, rather than fluctuating with exchange rates, we do not bill in local currency. All invoices are in USD. - -### What is Linode's Tax ID for my country or province? - -| Country or Province and Tax Program | Linode's ID | Akamai's Tax ID | -| -- | -- | -- | -| Australia ATO ARN | 3000 1606 0612 | 3000 2470 8487 | -| British Columbia PST | 1470-0325 | 1471-1731 | -| Canadian GST | 724750708RT0001 | 871275582RT0001 | -| Cambodia VAT | N/A | L001-902205344 | -| Chile VAT | N/A | 59318000K | -| Egypt VAT | N/A | 694853968 | -| EU VAT | EU372008859 | EU372048842 | -| India GST | 9919JEY29001OST | 9922CHE29001OSR | -| Japan JCT | 00140 | 00143 | -| Japan QI | N/A | T4700150118765 | -| Kenya VAT | N/A | P052208918D | -| Korea VAT | N/A | 766-80-02978 | -| Manitoba RST | 138835-4 | 141763-3 | -| Malaysia SST | N/A | 22000048 | -| Norway VAT | 2063948 | 2070510 | -| Quebec Provincial QST (effective May 1, 2022) | 1229663158 TQ0001 | 1229976512 TQ0001 | -| Russian Federation VAT | N/A | 9909524583 | -| Saskatchewan PST | 759622 | 7648249 | -| Saudi Arabia | VAT | 312111964100003 | -| Singapore GST | M90373465T | M90374823J | -| Switzerland VAT | N/A | CHE-115.356.067 MWST | -| Turkey VAT | N/A | 0120733196 | -| Uganda VAT | N/A | 1044189563 | -| Ukraine VAT | N/A | 880031567 | -| United Kingdom VAT | GB383720095 | 434006338 | -| United Arab Emirates | N/A | 104038424800003 | -| United States EIN | 20-2647179 | 04-3432319 | \ No newline at end of file diff --git a/docs/products/platform/billing/guides/update-billing-contact-info/accounts-update-billing-info.png b/docs/products/platform/billing/guides/update-billing-contact-info/accounts-update-billing-info.png deleted file mode 100644 index dcb835adf90..00000000000 Binary files a/docs/products/platform/billing/guides/update-billing-contact-info/accounts-update-billing-info.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/update-billing-contact-info/index.md b/docs/products/platform/billing/guides/update-billing-contact-info/index.md deleted file mode 100644 index b47cc4a4623..00000000000 --- a/docs/products/platform/billing/guides/update-billing-contact-info/index.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: "Update the Billing Contact Information on Your Account" -description: "Learn how to edit the billing address, name, and other contact information on your Linode account." -published: 2022-11-16 ---- - -Use the **Billing Info** page to update the contact information for the Linode account. The email address saved on this webpage receives invoices, receipts, and credit card expiration warnings. - -{{< note >}} -Linode Support tickets are *not* sent to your Billing Contact email address, but to the email address for the relevant user. -{{< /note >}} - -Here's how to update the contact information and the email address on the *Account* page: - -1. Click the **Account** link in the sidebar. -1. Under the **Billing Contact** section, click **Edit** to show the **Edit Billing Contact Info** menu. - - ![Update your Contact Information in the Linode Cloud Manager](accounts-update-billing-info.png) - -1. Update the contact information and the email address for the account. -1. Click **Save**. - -The account's billing contact information is now updated. \ No newline at end of file diff --git a/docs/products/platform/billing/guides/view-history/index.md b/docs/products/platform/billing/guides/view-history/index.md deleted file mode 100644 index 439755e7a2e..00000000000 --- a/docs/products/platform/billing/guides/view-history/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "View Invoices and Payment History" -description: "Review all invoices and payments on your Linode account." -published: 2022-11-17 -modified: 2023-09-21 -aliases: ['/products/tools/cloud-manager/guides/cloud-invoices/'] ---- - -All of your billing history, including previous invoices and payments, is accessible within [Cloud Manager](https://cloud.linode.com/account/billing) on the **Billing & Payment History** section within the **Billing Info** page (see [Accessing Billing Information](/docs/products/platform/billing/guides/access-billing/)). By default, all transactions (both invoices and payments) from the last *6 months* are displayed. To customize this, use the dropdown menus on the top right of this section. - -![Viewing Billing & Payment History in Cloud Manager](view-invoices.png) - -**To view an itemized invoice,** find the invoice row on the list and click the corresponding invoice number. This opens up a new page that displays each service that was active during the billing period, along with the additional details listed below: - -- **Description:** The type of service and the unique label you've given it. -- **From:** The date the service started billing during this billing cycle. This could either be the date and time this billing cycle started *or* the date and time the service was added to the account. -- **To:** The date the service ended billing during this billing cycle. This could either be the date and time this billing cycle ended *or* the date and time the service was removed from the account. -- **Quantity:** The number of hours the service is being billed. -- **Region:** The data center and region ID for the service. -- **Unit Price:** The hourly rate for this service. -- **Amount:** The cost for this service excluding taxes. -- **Taxes:** The taxes that are charged for this service. -- **Total:** The cost for this service including taxes. - -## Downloading Invoices (PDF and CSV) - -An invoice or payment can be downloaded as either a PDF or a CSV file. To do this, open the invoice within Cloud Manager and select either the **Download CSV** or **Download PDF** button. \ No newline at end of file diff --git a/docs/products/platform/billing/guides/view-history/view-invoice.png b/docs/products/platform/billing/guides/view-history/view-invoice.png deleted file mode 100644 index 029d57cbd3a..00000000000 Binary files a/docs/products/platform/billing/guides/view-history/view-invoice.png and /dev/null differ diff --git a/docs/products/platform/billing/guides/view-history/view-invoices.png b/docs/products/platform/billing/guides/view-history/view-invoices.png deleted file mode 100644 index a39c08ffdfc..00000000000 Binary files a/docs/products/platform/billing/guides/view-history/view-invoices.png and /dev/null differ diff --git a/docs/products/platform/billing/resources/index.md b/docs/products/platform/billing/resources/index.md deleted file mode 100644 index 8d4b0a92d7e..00000000000 --- a/docs/products/platform/billing/resources/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Billing and Payments" -description: "Resources and other information related to the Linode Billing including blog posts, community posts, and customer stories." -published: 2022-11-17 -tab_group_main: - weight: 40 -aliases: ['/products/tools/billing/resources/'] ---- - -## Blog Posts - -- [Introducing Hourly Billing](https://www.linode.com/blog/linode/introducing-hourly-billing/) - -- [PayPal Payments](https://www.linode.com/blog/linode/paypal-payments/) - -- [The New Linode Cloud: SSDs, Double RAM & much more](https://www.linode.com/blog/linode/linode-cloud-ssds-double-ram-much-more/) - -- [New Linode Manager released](https://www.linode.com/blog/linode/new-linode-manager-released/) - -## Community Posts - -- [We’re Upgrading All Accounts to Hourly Billing](https://www.linode.com/community/questions/17898/were-upgrading-all-accounts-to-hourly-billing) - -- [is linodes prepaid or postpaid?](https://www.linode.com/community/questions/19389/is-linodes-prepaid-or-postpaid) - -- [How does the GPU billing works?](https://www.linode.com/community/questions/19777/how-does-the-gpu-billing-works) - -- [how can I change payment type form Credit Card to Debit Card](https://www.linode.com/community/questions/17927/how-can-i-change-payment-type-form-credit-card-to-debit-card) - -- [Linode GPU Performance and Pricing/Billing Questions?!](https://www.linode.com/community/questions/20051/linode-gpu-performance-and-pricingbilling-questions) - -- [Why did my bill go up?](https://www.linode.com/community/questions/17408/why-did-my-bill-go-up) - -- [Do I pay for linodes that are stopped?](https://www.linode.com/community/questions/19828/do-i-pay-for-linodes-that-are-stopped) - -- [Why am I receiving multiple invoices per month?](https://www.linode.com/community/questions/18073/why-am-i-receiving-multiple-invoices-per-month) - -- [payment](https://www.linode.com/community/questions/18774/payment) - -- [Do you offer a trial period?](https://www.linode.com/community/questions/17622/do-you-offer-a-trial-period) - -- [How does Object Storage Billing work?](https://www.linode.com/community/questions/19962/how-does-object-storage-billing-work) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=billing). - -## Customer Stories - -- [Craft of Code Bernd Hilmar](https://www.linode.com/spotlight/bernd-hilmar/) - -- [Craft of Code NSoft](https://www.linode.com/spotlight/nsoft/) diff --git a/docs/products/platform/feature.png b/docs/products/platform/feature.png deleted file mode 100644 index d45872a8ef0..00000000000 Binary files a/docs/products/platform/feature.png and /dev/null differ diff --git a/docs/products/platform/feature.svg b/docs/products/platform/feature.svg deleted file mode 100644 index e900a8f83f3..00000000000 --- a/docs/products/platform/feature.svg +++ /dev/null @@ -1,17 +0,0 @@ - - Managed - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/products/platform/get-started/_index.md b/docs/products/platform/get-started/_index.md deleted file mode 100644 index 615cd4d93df..00000000000 --- a/docs/products/platform/get-started/_index.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: "Getting Started on the Linode Platform" -description: "Learn how to create an account and use the Linode Cloud Platform." -published: 2018-11-05 -modified: 2024-07-23 -tab_group_main: - is_root: true - title: Get Started - weight: 10 -keywords: ["getting started", "intro", "basics", "first steps", "linode platform"] -aliases: ['/getting-started/','/getting-started-classic-manager/','/getting-started-new-manager/','/guides/get-started/','/guides/getting-started-with-linode/','/products/platform/accounts/get-started/','/guides/getting-started/','/guides/platform/get-started/'] -show_on_frontpage: true -linkTitle: "Get Started" -weight: 10 -icon: "book" -show_on_rss_feed: false -image: getting-started.jpg ---- - -Our goal at Linode is to make cloud computing simple, accessible, and affordable. To this end, the Linode platform offers a variety of user-friendly cloud solutions, all of which have clear and predictable [pricing](https://www.linode.com/pricing/) and can be managed using an intuitive browser-based interface ([Cloud Manager](https://www.linode.com/products/cloud-manager/)), the command line (the [Linode CLI](https://www.linode.com/products/cli/)), or programmatically through an API (the [Linode API](https://www.linode.com/products/linode-api/)). This guide covers signing up for a Linode account, accessing Cloud Manager, creating your first services, and understanding how billing works. - -1. [Sign Up for an Account](#sign-up-for-an-account) -1. [Navigate Cloud Manager](#navigate-the-cloud-manager) -1. [Create Your First Compute Instance](#create-your-first-compute-instance) -1. [Create Additional Services](#create-additional-services) -1. [Understand Billing](#understand-billing) -1. [Explore Linode Guides](#explore-linode-guides) - -## Sign Up for an Account - -First, you need to create a Linode account to start using our services. If you already have a Linode account, you can skip to the next section. - -1. Open a web browser and navigate to [login.linode.com/signup](https://login.linode.com/signup). If you are not already logged in to an account, the **Create an Account** form is displayed. - -1. Enter your email address, a unique username, and a strong password. Alternatively, you can sign up using your existing Google or GitHub account. When using another provider, you are prompted for a username in a separate step. - - {{% content "password-requirements-shortguide" %}} - -1. A confirmation email is sent to your email address shortly after. Click the link in that email to confirm your email address. - -1. In the **Security** section of the signup process, input your phone number. Linode uses phone numbers as a measure to verify identity and prevent fraud. Once a phone number is provided, a verification code is sent to that number as an SMS text message. Enter this code into the signup form. - - {{< note >}} - This phone number provides our team with a secure method of verifying your identity as the owner of the newly created Linode user account. We will only ever use this phone number to verify your identity by sending a verification code as an SMS message. See [Phone Verification](/docs/products/platform/accounts/guides/user-security-controls/#phone-verification) for more details. - {{< /note >}} - -1. Within the **Billing** section, select your payment method and enter your billing address details. Linode accepts credit/debit cards and PayPal on sign up. See the [Billing and Payments](/docs/products/platform/billing/#payments) guide to learn more about each of these methods. You must also accept the [Master Services Agreement](https://www.linode.com/legal-msa/). - -1. Most accounts are activated instantly and you can start adding services right away. A small number of accounts may require manual review before activation. - -{{% content "email-warning-shortguide" %}} - -Once your account has been created, consider **enabling 2FA** to prevent unauthorized access. Anyone that has access to your account may be able to delete your services, add new ones, and reset the root password on your Compute Instances to gain access to them. See [Cloud Manager Security Controls](/docs/products/platform/accounts/guides/user-security-controls/) for instructions on enabling 2FA. If you are logging in with a third party provider, consider adding 2FA through that provider. - -{{< note title="Single sign-on (SSO) with Akamai Control Center">}} -You can log in to Cloud Manager using your [Akamai Control Center](https://control.akamai.com/) account, provided your user email address is identical within both systems. To use this feature, select **Akamai Control Center** as the provider when logging in to Cloud Manager. You are automatically logged in to the Cloud Manager user that matches the email for the currently logged in Control Center user. If multiple Cloud Manager users match this email address, you can select which user to log in as. For more details, see [Single sign-on (SSO) with Akamai Control Center](/docs/products/platform/accounts/guides/user-security-controls/#single-sign-on-sso-with-akamai-control-center). -{{< /note >}} - -## Navigate Cloud Manager - -Linode's [Cloud Manager](https://cloud.linode.com/) is the primary gateway to our platform. It enables you to manage your account, view your bills, add services, and much more. Here are some of the main sections you might want to look through: - -- [Linodes](https://cloud.linode.com/linodes): View a list of your Compute Instances. Clicking on one takes you to its details page, where you can power it on or off, reboot it, resize it, access the console, change its configuration, attach Block Storage volumes, and lots more. - -- [Account](https://cloud.linode.com/account/billing): View your account, billing information, payment methods, and previous invoices. You can also add additional users to your account. - -- [Help & Support](https://cloud.linode.com/support): Search through our guides, find answers on the Community Site, or open a ticket to reach our 24/7 award-winning [Support Team](https://www.linode.com/support-experience/). - -For a full overview of Cloud Manager and its core features, see the [Overview of Cloud Manager](/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/) guide. - -## Create Your First Compute Instance - -Compute Instances (also frequently called *Linodes*) are virtual machines that can be used for nearly any purpose. Many of our customers use them to host websites and applications, and they can also be used for development workloads, game servers, big data processing, machine learning, scientific processing, and much more. They come in a few different types, including: [Dedicated CPU](https://www.linode.com/products/dedicated-cpu/), [Shared CPU](https://www.linode.com/products/shared/), [Premium](https://www.linode.com/products/premium-cpu/), [High Memory](https://www.linode.com/products/high-memory/), and [GPU](https://www.linode.com/products/gpu/). - -Each plan type is tailored for certain workloads. See the guides below to learn more about creating a Compute Instance, configuring and securing it after deployment, and selecting a data center for your plan. - -- [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) -- [Setting Up and Securing a Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/) -- [How to Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) - -## Create Additional Services - -In addition to [Compute Instances](#create-your-first-compute-instance), Linode offers many other services that empower you to get the most out of cloud computing. Take a look through the list below to determine if any of them might be useful to you. - -**Compute** - -- [LKE](https://www.linode.com/products/kubernetes/) (Linode Kubernetes Engine): Managed Kubernetes clusters that simplify container orchestration. - -**Databases** - -- [Managed Databases](https://www.linode.com/products/databases/): Reliable, performant, highly available, and fully managed database clusters to support production database workloads. - - {{% content "dbass-eos" %}} - -**Storage** - -- [Block Storage](https://www.linode.com/products/block-storage/): Scalable, high-speed, fault-tolerant, and portable (detachable) storage volumes used to add additional storage to a Compute Instance. -- [Object Storage](https://www.linode.com/products/object-storage/): S3-compatible object storage service that can be used independently of a Compute Instance. -- [Backups](https://www.linode.com/products/backups/): Fully managed automatic daily, weekly, and biweekly backups of your Linode Compute Instances. -- [Images](https://www.linode.com/products/images/): Create preconfigured disk images (or upload image files) that can be rapidly deployed to new or existing Compute Instances. - -**Networking** - -- [NodeBalancers](https://www.linode.com/products/nodebalancers/): Managed cloud-based load balancing service used with Compute Instances to enable high availability and horizontal scaling. -- [Cloud Firewalls](https://www.linode.com/products/cloud-firewall/): A free cloud-based firewall service that can be used to secure any Compute Instance. -- [DNS Manager](https://www.linode.com/products/dns-manager/): A free comprehensive domain and DNS management service for Linode customers. -- [VLANs](https://www.linode.com/products/vlan/): Private L2 networks to secure traffic between Compute Instances. - -## Understand Billing - -Linode services are billed to your primary payment method at the end of each month (or when your accrued charges reach your billing limit). This means you can continuously add, modify, and remove services throughout the month. After the month is over, you receive an invoice for *the hourly usage of each service **up to the monthly cap***. In effect, billing is *post-paid* and *pro-rated*. See the below resources for more billing information and detailed hourly and monthly pricing. Note that plans and prices may vary by region. - -- [Billing and Payments](/docs/products/platform/billing/) -- [Managing Billing in Cloud Manager](/docs/products/platform/billing/guides/) -- [Linode Price List](https://www.linode.com/pricing/) - -Keep in mind that charges will accrue for any active service, even if it is powered off or otherwise not in use. This includes Compute Instances that have been powered off as well as any service you might have added to the account but are not using. - -## Explore Linode Guides - -Linode offers extensive documentation. This not only includes guides for our core products and services, but general guides on Linux, the command-line, networking, security, version control, databases, and *much* more. Learn how to deploy a WordPress One-Click App, run a VPN, install a file storage platform, or even host a website using Object Storage. Whatever cloud computing use cases you have in mind, you can likely do it on Linode and our guides are a great place to start. - -- [Linode Docs](/docs/) \ No newline at end of file diff --git a/docs/products/platform/get-started/feature.svg b/docs/products/platform/get-started/feature.svg deleted file mode 100644 index 59f0f33a773..00000000000 --- a/docs/products/platform/get-started/feature.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/docs/products/platform/get-started/getting-started.jpg b/docs/products/platform/get-started/getting-started.jpg deleted file mode 100644 index be5bf3d2826..00000000000 Binary files a/docs/products/platform/get-started/getting-started.jpg and /dev/null differ diff --git a/docs/products/platform/get-started/guides/_index.md b/docs/products/platform/get-started/guides/_index.md deleted file mode 100644 index 7042a13258f..00000000000 --- a/docs/products/platform/get-started/guides/_index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Getting Started on the Linode Platform" -description: "A collection of guides to help get you started on the Linode Platform" -published: 2023-03-14 -tab_group_main: - weight: 20 ---- - -## Basics - -- [Getting Started on the Linode Platform](/docs/products/platform/get-started/) -- [Choose a Data Center](/docs/products/platform/get-started/guides/choose-a-data-center/) -- [Network Transfer Usage and Costs](/docs/products/platform/get-started/guides/network-transfer/) -- [Help & Support](/docs/products/platform/get-started/guides/support/) -- [Send Email on the Linode Platform](/docs/products/platform/get-started/guides/send-email/) -- [Subscribe to Linode Status Updates](/docs/products/platform/get-started/guides/status-page/) - -## Going Further - -- [Grant a Developer Access a Compute Instance or Linode Account](/docs/products/platform/get-started/guides/developer-access/) -- [Automate Cloud Resource Deployment](/docs/products/platform/get-started/guides/automating-deployment/) - -## Partners and Resellers - -- [Resell Linode Services](/docs/products/platform/get-started/guides/resell-services/) \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/automating-deployment/1303-image_cloning_2.jpg b/docs/products/platform/get-started/guides/automating-deployment/1303-image_cloning_2.jpg deleted file mode 100644 index 06708c8451c..00000000000 Binary files a/docs/products/platform/get-started/guides/automating-deployment/1303-image_cloning_2.jpg and /dev/null differ diff --git a/docs/products/platform/get-started/guides/automating-deployment/index.md b/docs/products/platform/get-started/guides/automating-deployment/index.md deleted file mode 100644 index d136141082b..00000000000 --- a/docs/products/platform/get-started/guides/automating-deployment/index.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Automate Cloud Resource Deployment -description: 'This guide shows you how to automate server builds using Puppet and Chef cookbooks, golden disks and images, on a Linode running the Linux Operating System.' -published: 2013-06-28 -modified: 2023-03-14 -keywords: ["server builds", "disks", "golden disk", "puppet", "chef"] -tags: ["linode platform","automation"] -aliases: ['/platform/automating-server-builds/','/guides/automating-server-builds/'] ---- - -## Why You Should Automate Server Builds - -Manually configuring systems is a good way to learn, but it's also a time consuming process which is prone to human error. There are multiple ways to automate deploying new systems and various degrees to which that automation can be applied. - -For example, if your needs are relatively straightforward and concise, a shell script or [StackScript](https://www.linode.com/stackscripts) could be all that is necessary. For more complex solutions, configuration orchestration and management exists to deploy and manage fleets of systems and services across multiple regions, networks, and service providers. - -## Working with a Golden Image - -Using a *golden image* as a configuration base is a frequent starting point in cloud environment automation. This helps quickly deploy multiple systems which are exactly identical. Across the industry, golden images are also referred to as *master*, *base*, or *clone* images, among other terms. Irrespective of name, the idea behind a golden disk is simple: create the desired image and preserve it for cloning/deploying to other servers, thereby simplifying the deployment process and eliminating configuration gap. - -![Cloning your Compute Instance disk.](1303-image_cloning_2.jpg) - -### Create a Golden Image - -1. Create a new Compute Instance. - -1. Configure all packages, applications, and system settings as desired. - -1. Remove any system users you don't want to appear on your duplicated systems. - -1. Shut down the Compute Instance and either: - - [Clone the disk](/docs/products/compute/compute-instances/guides/clone-instance/#clone-to-an-existing-compute-instance). - - Alternatively, [take a snapshot](/docs/products/storage/backups/guides/take-a-snapshot/) of the disk with Linode Backups. - -1. Store your golden image. This can be done in a variety of ways. A few examples are: - - As a snapshot using [Linode Images](/docs/products/tools/images/guides/capture-an-image/) or [Linode Backups](/docs/products/storage/backups/guides/take-a-snapshot/). - - In a [version control](/docs/guides/introduction-to-version-control/) system running on a remote or local server. - - On [local](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/) storage. - -### Restore a Golden Image - -1. Copy the duplicate disk to your other Compute Instances, either using [the Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary#disk-clone) or [manually](/docs/products/compute/compute-instances/guides/copy-a-disk-image-to-a-different-account/#copying-the-disk). If you're using a Linode Backups snapshot, you would [restore it](/docs/products/storage/backups/guides/restore-to-an-existing-instance/) to the desired Compute Instances. - -1. Create [configuration profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) on those additional Compute Instances to boot using the duplicated disk. -1. Any user credentials from the golden image will also be on the duplicated disks so you should change the new system's root password. - -1. Update the new Compute Instance's [hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). - -1. If your golden system was configured to use a static IP address, you'll also need to [reconfigure the IP address](/docs/products/compute/compute-instances/guides/manual-network-configuration/) on your duplicated disks. - -## Third-Party Tools - -Golden disks are capable of handling automated server builds for most individuals and small businesses, but if you work for a large business that manages dozens of Compute Instances, you may need to turn to third-party configuration management and orchestration tools, such as: - -- **Puppet:** An open source configuration management tool that manages systems declaratively. It can automates IT tasks like application configuration, patch management, and even infrastructure audit and compliance. See the following Puppet guides: - - - [Getting Started with Puppet - Basic Installation and Setup](/docs/guides/getting-started-with-puppet-6-1-basic-installation-and-setup/) - - [Manage and Automate Systems Configuration with Puppet](/docs/guides/manage-and-automate-systems-configuration-with-puppet/) - - [Use Puppet Modules to Create a LAMP Stack](/docs/guides/use-puppet-modules-to-create-a-lamp-stack/) - - [Install and Manage MySQL Databases with Puppet Hiera on Ubuntu 16.04](/docs/guides/install-and-manage-mysql-databases-with-puppet-hiera-on-ubuntu-16-04/) - -- **Chef:** An open source configuration management tool used to turn your infrastructure into code. See the [Chef website](https://www.chef.io/) for more information. - - - [A Beginner's Guide to Chef](/docs/guides/beginners-guide-chef/) - - [Creating Your First Chef Cookbook](/docs/guides/creating-your-first-chef-cookbook/) - - [Install a Chef Server Workstation on Ubuntu 18.04](/docs/guides/install-a-chef-server-workstation-on-ubuntu-18-04/) - -- **Ansible:** An open source platform for configuring and managing systems. It works by connecting to your systems via SSH — it doesn't install anything on the remote systems. See the [Ansible website](http://www.ansible.com/) for more information. Read more about the [Linode Ansible Collection](https://github.com/linode/ansible_linode) in the official documentation. To start using Ansible, check out the following guides: - - - [Use the Linode Ansible Collection to Deploy a Linode](/docs/guides/deploy-linodes-using-linode-ansible-collection/) - - [Getting Started With Ansible - Basic Installation and Setup](/docs/guides/getting-started-with-ansible/) - - [Automate Server Configuration with Ansible Playbooks](/docs/guides/running-ansible-playbooks/) - -- **Salt:** Salt (also referred to as SaltStack) is a Python-based configuration management and orchestration system. Salt uses a master/client model in which a dedicated Salt master server manages one or more Salt minion servers. To learn more about Salt, see the following guides: - - - [A Beginner's Guide to Salt](/docs/guides/beginners-guide-to-salt/) - - [Getting Started with Salt - Basic Installation and Setup](/docs/guides/getting-started-with-salt-basic-installation-and-setup/) - - [SaltStack Command Line Reference](/docs/guides/salt-command-line-reference/) - - [Introduction to Jinja Templates for Salt](/docs/guides/introduction-to-jinja-templates-for-salt/) - - [Test Salt States Locally with KitchenSalt](/docs/guides/test-salt-locally-with-kitchen-salt/) - - [Secrets Management with Salt](/docs/guides/secrets-management-with-salt/) - - [Use and Modify Official SaltStack Formulas](/docs/guides/use-and-modify-official-saltstack-formulas/) - - [Use Salt States to Configure a LAMP Stack on a Minion](/docs/guides/use-salt-states-to-configure-a-lamp-stack-on-a-minion/) - - [Monitoring Salt Minions with Beacons](/docs/guides/monitoring-salt-minions-with-beacons/) - - [Create a Salt Execution Module](/docs/guides/create-a-salt-execution-module/) - - [Automate Static Site Deployments with Salt, Git, and Webhooks](/docs/guides/automate-a-static-site-deployment-with-salt/) - - [Use Salt States to Create LAMP Stack and Fail2ban Across Salt minions](/docs/guides/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/) - - [Configure and Use Salt Cloud and Cloud Maps to Provision Systems](/docs/guides/configure-and-use-salt-cloud-and-cloud-maps-to-provision-systems/) - -- **Terraform:** Terraform by HashiCorp is an orchestration tool that lets you represent your Compute Instances and other resources with declarative code inside configuration files, instead of manually creating those resources via Cloud Manager or API. This practice is referred to as Infrastructure as Code, and Terraform is a popular example of this methodology. - - - [A Beginner's Guide to Terraform](/docs/guides/beginners-guide-to-terraform/) - - [Introduction to HashiCorp Configuration Language (HCL)](/docs/guides/introduction-to-hcl/) - - [Use Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/) - - [Import Existing Infrastructure to Terraform](/docs/guides/import-existing-infrastructure-to-terraform/) - - [Secrets Management with Terraform](/docs/guides/secrets-management-with-terraform/) - - [Create a NodeBalancer with Terraform](/docs/guides/create-a-nodebalancer-with-terraform/) - - [Deploy a WordPress Site Using Terraform and Linode StackScripts](/docs/guides/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/) - - [Create a Terraform Module](/docs/guides/create-terraform-module/) - -There are plenty of other third-party configuration management tools to be used should the above options not suit your needs. \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/beta-for-new-data-centers/index.md b/docs/products/platform/get-started/guides/beta-for-new-data-centers/index.md deleted file mode 100644 index e6a82d6df8c..00000000000 --- a/docs/products/platform/get-started/guides/beta-for-new-data-centers/index.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: "Limited Beta for Akamai's New Data Centers" -description: "This document provides details for the limited availability beta of Akamai Cloud Compute's latest data centers." -published: 2023-04-17 -modified: 2024-07-05 -tags: ["linode platform"] -build: - list: false -noindex: true -aliases: ['/products/platform/get-started/guides/iad/'] ---- - -Akamai is expanding its services to new data centers across the globe. Each new data center will undergo a beta period, where a limited number of interested customers can deploy services in these regions. Premium plans are available in new data centers. As a beta participant, please review this guide for additional specifications and details you may need when configuring your workloads in the one of these data centers. - -{{< note type="warning" >}} -Capacity in beta data centers may be limited as we continue to scale up resources. Additionally, the beta environment is subject to change. We strongly suggest that participants do not run production workloads during the beta. -{{< /note >}} - -## List of Beta Data Centers - -| Data Center | Status | Region ID | -| -- | -- | -- | -| London, England | **Limited Availability** | `gb-lon` | -| Melbourne, Australia | **Limited Availability** | `au-mel` | - -## Deploy Services in a Beta Data Center - -Follow the instructions below to target one of the new data centers when deploying a service. - -- **Cloud Manager:** Select the name of the data center you wish to use in the region dropdown menu. - -- **Linode CLI and Linode API:** If a command or request requires a region ID, use the one that corresponds to your desired data center in the [table above](#list-of-new-data-centers). - -{{< note type="warning" noTitle=true >}} -You must be enrolled in the beta to select a beta data center when deploying services. If you are a beta participant but are not able to target a beta data center, please contact the [Support team](https://www.linode.com/support/) for assistance. You need to request access to *each* data center you wish to use during the beta period. -{{< /note >}} - -## Pricing - -Services used as part of the beta are free to users. Once the beta period ends for a particular data center, you will start accruing charges for any services that are still deployed to that region. You will receive an email notifying you of the billing start date as we transition each data center to general availability. - -## Product Availability - -Each data center in this beta is slated to have most of Akamai’s cloud computing services available during the beta period. In addition, we are launching a new Premium Plan tier and have made improvements to our Object Storage service. - -### Object Storage - -The London (gb-lon) and Melbourne (au-mel) data centers do not support Object Storage during the beta period. - -### Premium Plans - -[Premium tier](/docs/products/compute/compute-instances/plans/premium/) Dedicated CPU Compute Instance plans are available only in newer data centers, including those in beta. These plans are in addition to our standard tier Dedicated CPU, Shared CPU, and High Memory instance types. These Premium instances guarantee a baseline hardware class that includes new AMD EPYC™ CPUs. These Premium offerings are built for applications with critical performance needs such as enterprise video encoding, AI, CI/CD, build servers, and data analysis. - -The table below outlines the default pricing and hardware specifications for Premium tier Dedicated CPU Instances. [Pricing](https://www.linode.com/pricing/) may vary by region: - -|
      Plan
      |
      Price
      | RAM (GB) | CPU Cores | Storage (GB) | Transfer (TB) | Network In/Out (Gbps) -| --- | --- | --- | --- | --- | --- | --- | --- | -| Premium 4 GB | $43/mo ($0.06/hr) | 4 | 2 | 80 | 4 | 40/4 | -| Premium 8 GB | $86/mo ($0.13/hr) | 8 | 4 | 160 | 5 | 40/5 | -| Premium 16 GB | $173/mo ($0.26/hr) | 16 | 8 | 320 | 6 | 40/6 | -| Premium 32 GB | $346/mo ($0.52/hr) | 32 | 16 | 640 | 7 | 40/7 | -| Premium 64 GB | $892/mo ($1.04/hr) | 64 | 32 | 1,280 | 8 | 40/8 | -| Premium 96 GB | $1,037/mo ($1.56/hr) | 96 | 48 | 1,920 | 9 | 40/9 | -| Premium 128 GB | $1,383/mo ($2.07/hr) | 128 | 50 | 2,500 | 10 | 40/10 | -| Premium 256 GB | $2,765/mo ($4.15/hr) | 256 | 56 | 5,000 | 11 | 40/11 | -| Premium 512 GB | $5,530/mo ($8.29/hr) | 512 | 64 | 7,200 | 12 | 40/12 | - -Premium CPU plans can also be deployed as worker nodes in Linode Kubernetes Engine (LKE) clusters. There is no additional cost for Premium plan LKE worker nodes beyond the price listed in the Premium pricing table above. - -{{< note isCollapsible=true title="Details of the Backup service for Premium CPU Plans" >}} -Optionally, you can also add the [Backup](/docs/products/storage/backups/) service to a Premium instance. The default prices for this service are outlined below. [Pricing](https://www.linode.com/pricing/) may vary by region: - -|
      Plan
      | Price for the Backup service | -| --- | --- | -| Premium 4 GB | $5/mo ($0.008/hr) | -| Premium 8 GB | $10/mo ($0.015/hr) | -| Premium 16 GB | $20/mo ($0.03/hr) | -| Premium 32 GB | $40/mo ($0.06/hr) | -| Premium 64 GB | $80/mo ($0.12/hr) | -| Premium 96 GB | $120/mo ($0.18/hr) | -| Premium 128 GB | $160/mo ($0.24/hr) | -| Premium 256 GB | $200/mo ($0.30/hr) | -| Premium 512 GB | $240/mo ($0.36/hr) | -{{< /note >}} - -## Additional Specifications - -### IP Sharing and Failover - -Beta data centers support IP sharing and BGP-based failover, which can be configured on IPv4 addresses (public and private) and addresses from IPv6 routed ranges (/64 and /56). To configure failover, you can use [lelastic](https://github.com/linode/lelastic), Linode's own software, or software like FRR, BIRD, or GoBGP. For more information on failover, consult our [failover documentation](/docs/products/compute/compute-instances/guides/failover/). - -| Data Center | IP Sharing Support | Failover Method | Software | ID | -| --- | --- | --- | --- | --- | -| London, England | Supported | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 44 | -| Melbourne, Australia | Supported | BGP-based (new) | [lelastic](/docs/products/compute/compute-instances/guides/failover/#configure-failover) / [FRR](/docs/products/compute/compute-instances/guides/failover-bgp-frr/) | 45 | - -### Lish Gateways - -Lish and Glish provide direct access to your Compute Instances, bypassing the need for SSH or a VNC. For more information on Lish, consult our guide on how to [Access Your System Console Using Lish](/docs/products/compute/compute-instances/guides/lish/). - -#### London, England - -- **Lish SSH Gateway:** `lish-gb-lon.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:EIKjJlF0nmpuj795Y4DhwYjIMCDa2yodWKk9rKxg67o lish-gb-lon.linode.com - ECDSA 256 SHA256:MvMwule197MvqJIjvJq7vjnxlvX0XveAocRPDs5jbMA lish-gb-lon.linode.com - ED25519 256 SHA256:4IUSmmru/F/Q4nHVZjBZUzSol7XLaE33i8hLPD8VJ2o lish-gb-lon.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `gb-lon.webconsole.linode.com` - -#### Melbourne, Australia - -- **Lish SSH Gateway:** `lish-au-mel.linode.com` - - {{< note type="secondary" title="Lish SSH Gateway Fingerprints" isCollapsible=true >}} - ```command - RSA 3072 SHA256:JX2eVSdHIJzb3iDJFpTtHVGQq1paEh53D9cnsEPNvvU lish-au-mel.linode.com - ECDSA 256 SHA256:88mN/wieI4kG1rkuohob3ZyqhvCMiMWiCTVN1XECvLU lish-au-mel.linode.com - ED25519 256 SHA256:e8xMMpHXjDRi9vSiNliiMEHtsKzAjGdG0WkeFS3W1RU lish-au-mel.linode.com - ``` - {{< /note >}} - -- **Weblish/Glish Gateway:** `au-mel.webconsole.linode.com` diff --git a/docs/products/platform/get-started/guides/beta-for-new-data-centers/select-washington-dc-cloud-manager.png b/docs/products/platform/get-started/guides/beta-for-new-data-centers/select-washington-dc-cloud-manager.png deleted file mode 100644 index 6c391472e05..00000000000 Binary files a/docs/products/platform/get-started/guides/beta-for-new-data-centers/select-washington-dc-cloud-manager.png and /dev/null differ diff --git a/docs/products/platform/get-started/guides/choose-a-data-center/index.md b/docs/products/platform/get-started/guides/choose-a-data-center/index.md deleted file mode 100644 index c7452c65235..00000000000 --- a/docs/products/platform/get-started/guides/choose-a-data-center/index.md +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: How to Choose a Data Center -description: 'This article gives you information to help you determine which data center you should choose when deploying your website or app on a Compute Instance.' -published: 2018-10-31 -modified: 2024-04-03 -keywords: ["data center", "datacenter", "dc", "speed"] -tags: ["linode platform"] -aliases: ['/platform/how-to-choose-a-data-center/','/guides/how-to-choose-a-data-center/'] ---- - -{{< note >}} -Our **Chennai** and **Mumbai** core sites are optimized for the India market. For workloads that currently serve or intend to serve the wider Asia-Pacific region and for communication with Akamai core sites outside of India, we recommend deploying resources in our Singapore or Sydney data centers. -{{< /note >}} - -Deploying your Compute Instance to a geographically advantageous data center can make a big difference in connection speeds to your server. Ideally, your site or application should be served from multiple points around the world, with requests sent to the appropriate region based on client geolocation. On a smaller scale, deploying a Compute Instance in the data center nearest to you will make it easier to work with than one in a different region or continent. - -There are many things that can affect network congestion, connection speeds, and throughput, so you should never interpret one reading as the sole data point. Always perform tests in multiples of three or five for an average, and on both weekend and weekdays for the most accurate information. - -This page is a quick guide for choosing and speed testing a data center (DC). Start by creating a Compute Instance in the data center in or near your region, or several instances in multiple regions if you're close to more than one DC. From there, use Linode's [Facilities Speedtest](https://www.linode.com/speedtest) page for test domains to ping and files to download. - -## Product Availability - -An important consideration when choosing a data center is the availability of specific features and services, as well as regional support. Below is table displaying a matrix of which services Linode offers in each particular region. - -{{< table class="first-sticky" >}} -| Region | [Dedicated Compute](/docs/products/compute/compute-instances/plans/dedicated-cpu/) | [Shared Compute](/docs/products/compute/compute-instances/plans/shared-cpu/) | [GPUs](/docs/products/compute/compute-instances/plans/gpu/) | [Premium Compute](/docs/products/compute/compute-instances/plans/premium/) | [Kubernetes](/docs/products/compute/kubernetes/) | [Placement Groups](/docs/products/compute/compute-instances/guides/placement-groups/) | [Managed DB](/docs/products/databases/managed-databases/) | [Cloud Firewall](/docs/products/networking/cloud-firewall/) | [DDoS Protection](/docs/products/networking/ddos-protection/) | [NodeBalancers](/docs/products/networking/nodebalancers/) | [VLANs](/docs/products/networking/vlans/) | [VPCs](/docs/products/networking/vpc/) | [Backups](/docs/products/storage/backups/) | [Block Storage](/docs/products/storage/block-storage/) | [Object Storage](/docs/products/storage/object-storage/) | [Images](/docs/products/tools/images/) | -| --- | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| -| Amsterdam | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Atlanta | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | -| Chennai | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Chicago | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Dallas | ✔ | ✔ | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Frankfurt | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | -| Fremont | ✔ | ✔ | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Jakarta | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Los Angeles | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| London | ✔ | ✔ | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Madrid | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Miami | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Milan | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Mumbai | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Newark | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | -| Osaka | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Paris | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| São Paulo | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Seattle | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Singapore | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | -| Stockholm | ✔ | ✔ | | ✔ | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -| Sydney | ✔ | ✔ | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Tokyo | ✔ | ✔ | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Toronto | ✔ | ✔ | | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | | ✔ | ✔ | | ✔ | -| Washington, DC | ✔ | ✔ | | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔† | ✔ | -{{< /table >}} - -†Denotes higher capacity Object Storage availability. - -## Network Latency - -The Linux [ping](https://linux.die.net/man/8/ping) tool sends IPv4 [ICMP echo requests](https://en.wikipedia.org/wiki/Ping_(networking_utility)#Echo_request) to a specified IP address or hostname. Pinging a server is often used to check whether the server is up and/or responding to ICMP. Because `ping` commands also return the time it takes a request's packet to reach the server, `ping` is commonly used to measure network [latency](https://en.wikipedia.org/wiki/Network_delay). - -Ping a data center to test your connection's latency to that DC: - -```command -ping -c 5 speedtest.dallas.linode.com -``` - -Use [ping6](https://linux.die.net/man/8/ping6) for IPv6: - -```command -ping6 -c 5 speedtest.dallas.linode.com -``` - -{{< note >}} -Many internet connections still don't support IPv6 so don't be alarmed if `ping6` commands don't work *to* your Compute Instance from your local machine. They will work *from* your Compute Instance to other IPv6-capable network connections (ex. between two instances in different data centers). -{{< /note >}} - -## Download Speed - -Download speed will be limited most heavily first by your internet service plan speed, and second from local congestion between you and your internet service provider. For example, if your plan is capped at 60 Mbps, you won't be able to download much faster than that from any server on the internet. There are multiple terminologies to discuss download speeds with so here are a few pointers to avoid confusion: - -- Residential internet connection packages are sold in speeds of mega**bits** per second (abbreviated as Mbps, Mb/s, or Mbit/s). - -- One mega**bit** per second (1 Mbps or 1 Mb/s) is 0.125 mega**bytes** per second (0.125 MB/s). Desktop applications (ex: web browsers, FTP managers, Torrent clients) often display download speeds in MB/s. - -- **Mebibytes** per second is also sometimes used (MiB/s). One Mbps is also equal to 0.1192 MiB/s. - -To test the download speed from your data center of choice, use the `cURL` or `wget` to download the `bin` file from a data center of your choice. You can find the URLs on our [Facilities Speedtest](https://www.linode.com/speedtest) page. - -For example: - -```command -curl -O http://speedtest.dallas.linode.com/100MB-dallas.bin -wget http://speedtest.dallas.linode.com/100MB-dallas.bin -``` - -Below you can see that each time `cURL` is run, a different average download speed is reported and each takes a slightly different amount of time to complete. This is to be expected, and you should analyze multiple data sets to get a real feel for how fast a certain DC will behave for you. - -```output - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed -100 100M 100 100M 0 0 11.4M 0 0:00:08 0:00:08 --:--:-- 12.0M -``` - -```output - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed -100 100M 100 100M 0 0 10.8M 0 0:00:09 0:00:09 --:--:-- 9.9M -``` - -```output - % Total % Received % Xferd Average Speed Time Time Time Current - Dload Upload Total Spent Left Speed -100 100M 100 100M 0 0 9189k 0 0:00:11 0:00:11 --:--:-- 10.0M -``` - -## Pricing - -Price may also be a factor when selecting your region. In general, Linode plans and services are billed at the same, flat rate across data centers. However, due to higher infrastructure costs in various global markets, pricing for some services varies from data center to data center. Regions with data center-specific pricing include: - -- Jakarta, Indonesia -- São Paulo, Brazil - -See our [Pricing](https://www.linode.com/pricing/) page for a complete list of plans and pricing. diff --git a/docs/products/platform/get-started/guides/developer-access/index.md b/docs/products/platform/get-started/guides/developer-access/index.md deleted file mode 100644 index 394e1f04720..00000000000 --- a/docs/products/platform/get-started/guides/developer-access/index.md +++ /dev/null @@ -1,363 +0,0 @@ ---- -title: Grant a Developer Access a Compute Instance or Linode Account -description: Shows how to create an account with access restrictions for developers and maintainers. -published: 2018-07-26 -modified: 2024-03-11 -keywords: ["accounts", "passwords", "linode manager", "manager", "security"] -tags: ["ssh","linode platform","drupal","security","mysql","wordpress"] -aliases: ['/platform/create-limited-developer-account/','/guides/create-limited-developer-account/'] ---- - -One of the most powerful features of Linode's unmanaged service is the amount of control Linode users have over their account and the software installed on their systems. If you're a business owner that does not have expertise with installing or maintaining software on Linux, or if you do have experience with Linux but don't have the time to set up a new server, then contracting with a developer or administrator is a popular way to get your services up and running. - -## What to Keep Track of when Hiring a Developer - -When you hire someone to work on your Linode, there are a variety of ways to grant access to your Linode account, the Compute Instances on it, and the system and applications on those instances. Recording which of these credentials you've shared is important if you need to end your contract with your developer. - -This guide explains and answers some of the most frequently asked questions about account access. The sections are separated in order of granularity, starting with service-level access at the top, and working towards application-specific access. - -For security and privacy, [Linode Support](/docs/products/platform/get-started/guides/support/) is not able to troubleshoot issues related to users and application access. Instead, Linode offers an in-house Professional Services team that can be hired to help with projects. You can reach out to that team through the [Contact Sales](https://www.linode.com/company/contact/) form. - -{{< note >}} -The following sections include commands that show how to manipulate credentials on your Compute Instances, and these commands use `exampleUser` in place of your users' names. Replace `exampleUser` with whatever you would like to name your users. -{{< /note >}} - -## Cloud Manager Access - -Access to Cloud Manager provides high-level methods for controlling your Compute Instances and Linode billing, including but not limited to: powering Compute Instances down, powering them on, removing services, and adding services. Cloud Manager does not have interfaces for manipulating the files and software on your systems--instead, that access is governed by service-specific credentials outlined in the next sections. - -### Who Has Access to My Linode Account? - -Log in to Cloud Manager and navigate to the [**Users and Permissions**](https://cloud.linode.com/account/users) section of the **Account** tab. You may be prompted to reauthenticate your password. This section will display all of your Linode account's users. - -If you're not sure whether you're logged in as the account administrator, look for a `No` in the **Restricted** column of your username's row in the User Manager. - -### Add a User to the Linode Account - -Keep your account administrator credentials secret. When hiring an external individual or agency to work on your site or application, create a *restricted* user and assign specific access to the account. Learn more about how to manage users and permissions and how to recover a lost username in our [Accounts and Passwords](/docs/products/platform/accounts/guides/manage-users/#recover-a-lost-username) guide. - -Useful *Global Grants* for a limited access user might include the ability to: - -- Add a [NodeBalancer](/docs/products/networking/nodebalancers/). -- Add [Longview](/docs/products/tools/longview/get-started/) clients. -- Use the [DNS Manager](/docs/products/networking/dns-manager/) to add domains. -- Create [StackScripts](/docs/products/tools/stackscripts/). -- Create [Images](/docs/products/tools/images/). -- Add [Block Storage Volumes](/docs/products/storage/block-storage/). - -### Revoke a User's Access to the Linode Account - -1. If you suspect that the user may have access to their Cloud Manager password, [change that first](/docs/products/platform/accounts/guides/reset-user-password/). - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and click [**Users and Permissions**](https://cloud.linode.com/account/users) in the **Account** tab. You may be prompted to reauthenticate your password. - -1. Locate the user in the Username column, and click the three dots and select **Delete** to remove the user. Click **Delete** to confirm deletion. - -## SSH Logins - -The primary method for directly administering files and software on a Compute Instance is through SSH. SSH is a service that runs on a system and listens for and accepts remote terminal connections. Once an SSH connection is opened, a user can issue commands to your server. **Your Compute Instance's SSH users are not the same as your Cloud Manager users.** - -For the steps in this section, [connect to your Compute Instance via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) to log in to the system as `root`, which is the primary administrative (and most powerful) user on every Linux system. Alternatively, you can login as non-root user with *sudo* (i.e. administrative) permissions. - -{{< note >}} -If you don't remember your root password, [reset it through the Manager](/docs/products/platform/accounts/guides/reset-user-password/). -{{< /note >}} - -### Who Has SSH Access to Your Compute Instance? - -Use `getent` to display the list of users. Keep in mind that some applications create Linux users as part of their normal operation, and those users will be listed here too. - -```command -getent passwd -``` - -### Add an SSH User - -[Create a limited Linux user account](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) on your Compute Instance. Set a unique and secure password for this user. - -### Create a User Group with Specific Permissions - -As an optional alternative to setting permissions for each user, create a limited privilege user group that can be reused and combined with other groups if needed. - -1. Add the group. Replace `devGroup` in these examples to a group name you'll remember: - - ```command - groupadd devGroup - ``` - -1. Add the user to the group and specify a new home directory for the user: - - ```command - usermod -g devGroup -d /var/www/html/example.com exampleUser - ``` - -### Restrict a User to a Specific Directory - -If your user should only have access to a specific directory and its subdirectories, for example `/var/www/html/example.com/`, use `chroot` *jails*, as described in the [Advanced SSH Security](/docs/guides/advanced-ssh-server-security/#chroot-users) guide. - -### Restrict a User to SFTP Only - -For some applications, a user may only need to transfer files to or from the server. In this case, create a user that can transfer files through SFTP but that can't access the server with SSH. - -{{< note type="alert" >}} -The steps in this section disable a user's SSH access. Do not follow the steps in this section for any user who needs SSH access. -{{< /note >}} - -Consult our guide to configure this using [SFTP jails on Debian or Ubuntu](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/). - -1. Change the `sftp` subsystem line and add a `Match Group sftpOnly` section in `sshd_config`: - - ```file {title="/etc/ssh/sshd_config"} - ... - Subsystem sftp internal-sftp - ... - Match Group sftpOnly - ChrootDirectory %h - X11Forwarding no - AllowTcpForwarding no - ForceCommand internal-sftp - ``` - -1. Create an `sftpOnly` group that will only have SFTP access: - - ```command - groupadd sftpOnly - ``` - -1. Add a user to the group and disable their SSH access. Change both the user name and home directory: - - ```command - usermod -g sftpOnly -d /home/exampleUser -s /sbin/nologin exampleUser - ``` - -1. Restart the SSH service: - - ```command - systemctl restart ssh - ``` - -1. Change the ownership of the directory the user should have access to: - - ```command - chown -R exampleUser:sftpOnly /var/www/html/example.com - ``` - -The user can now `sftp` to the system and transfer files to and from the specified directory. - -### Revoke Access for an SSH User - -To revoke access to an SSH user, change the password for that user: - -```command -passwd exampleUser -``` - -In addition to password authentication, a user may rely on [public key authentication](/docs/products/compute/compute-instances/guides/set-up-and-secure/#harden-ssh-access) to connect via SSH. For any users that you would like to revoke access on, you should also check for the presence of a public key. - -These public keys are listed as line in a text file in the user's home directory named `/home/exampleUser/.ssh/authorized_keys`. To see which keys are present, run: - -```command -cat /home/exampleUser/.ssh/authorized_keys -``` - -The output will resemble the following: - -```output -ssh-rsa MIIEpQIBAAKCAQEAqOT7+bo5YUnzmBJYifL5b/VrLhHNjI0Sjm0miyZ4HocvSjIJ+Kx1nWP1LjDG0wt6gimXjRrfPCykHFyJwdZO69dK/gJ0GdcejWtC1sJBCSvI9TISXISLBNXr5rLHedhR2wFOJTRkKTquHP5dw2o5UNBBMyuM0wfkv5ggw8ShecIuO6xCw7yYQIg66BIe2G5toL6uasVOBjvJv5iKWKQNx1sf5ICfDJdVjQojtfHiPAyufidAjm4qO4/jOyfTTncu5+IEJCk12YpO66H3COJwbjPcRXlAcHM4CrBdTb8TmYmmStetY5Lmso++OaD4QjlO2TrhIXjoXDccU7/1BpkdpnPiapPuGKlWYa1vLEeUoIYV6NC9rxJCiYd/V//rBupYt4hkbSAbKl3o24gl1qOw/U7p+yelAZmDVWQCqOOdz3RttXyO/MoET9v0z2+1/57/gxLpHdsrPli7SeyrWMax18GM8DyfjVG5DFxYb/V0uTeew3xVzwXL+OnRdfnIsliSPXkmv15Yqbh10AEarK0EjfHR/VOMEgozrRoL8g9t4Yt5xhiWpbG9wk/EKfj3eaVg2AssQcw6IhzsaS5Kj4qr6aj3I6nx4fhTGUdfvmGqRETR8Hcyg7cDZId9qXve5PVxtxE2ROoszpTLkls+rL7L6+e2y9qfO4Np1ssTWz8495QPojjoMUnMIm6ZTVALjudn+eQ== user@example.com -``` - -Each SSH public key entry will begin with `ssh-rsa` and end with a corresponding email address (e.g. `user@example.com`). - -To remove a public key, edit the `authorized_keys` file and remove the corresponding line. `nano` is a simple text editor in Linux that can be used to do this: - -```command -nano /home/exampleUser/.ssh/authorized_keys -``` - -Use the cursor keys to navigate the file, enter `CTRL-O` to save the file, and enter `CTRL-X` to exit the editor. - -If you instead want to fully remove the file, run: - -```command -rm /home/exampleUser/.ssh/authorized_keys -``` - -{{< note type="alert" >}} -Files removed in this way can't be easily restored. -{{< /note >}} - -## Add or Remove WordPress Users - -If your site runs WordPress, add a user with the appropriate permissions. - -WordPress user roles are useful for authors and content contributors, but might not be enough for a developer to work on the site. If you don't feel comfortable sharing the existing administrator account credentials, create an administrator account. - -1. Log in to your WordPress admin, typically through `www.example.com/wp-admin` (where `example.com` is your site). - -1. Click **Users**, then **All users** to view a list of current users. - -1. To add a user: - - 1. Click **Add New**, enter the information, and for *Role*, select **Administrator**. - 1. Click **Add New User** - - To revoke privileges or delete a user: - - 1. Click the check box next to the user's thumbnail. - 1. To change the role: - - * Select a different role in **Change role to...**, then click **Change**. - - To delete the user: - - * Click **Bulk Actions**, select **Delete**, then click **Apply**. Click **Confirm Deletion** to delete the user. - -## Add and Manage Drupal Users - -Drupal's main administrator account is the **User 1** account. This account serves as the *root* user and can create other users with different *permissions* and *roles*. - -Create a new user with administrative-level permissions to grant someone the necessary access to maintain your Drupal site. - -1. Log in to the Drupal admin (this may be through your site's `www.example.com/admin`), and click **Manage**, then **People** in the Admin menu. - -1. To create a user with administrative privileges, click **Add user** and fill out the information on the page that follows. Select the **Administrator** role when prompted. - -To view a list of permissions allowed to the Administrator role, return to the **People** page and click **Permissions**. - -### Configure Drupal Roles - -If you don't feel comfortable granting the full list of administrative privileges, create a new Role that can be reused and applied to many users. - -1. Select the **Roles** tab, then click **Add role** and give the role an appropriate name on the next page. Click **Save** to return to the Roles list. - -1. To assign permissions to the new role, click the **Permissions** tab and locate the new role's column on the right. - -1. Create a new user as shown above and select the new role when prompted in Step 2. - -### Remove a Drupal User or Revoke User Permissions - -1. Log in to the site's Drupal admin (this may be through your site's `www.example.com/admin`), and click **Manage**, then **People** in the Admin menu. - -1. Click **Edit** in the *Operations* column of the user's name. - -1. Change the role, or click **Cancel account** and then choose what should happen with the user's content of the page that follows. - - Once cancelled, the user will appear in the User List with a *Blocked* status. - -## MySQL/MariaDB Database Access - -In the background of most web servers is a database that keeps track of users, pages, and other information. The database is configured before a content management system (CMS) like WordPress or Drupal is installed. - -While some systems allow the Linux root user to circumvent root database login, you may need to know the SQL root user's password for these steps. - -### Log in to MySQL - -1. [SSH to your Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) as a user with sudo privileges. - -1. Connect to MySQL with `sudo`: - - ```command - sudo mysql -u root - ``` - -### View Existing MySQL Database Users - -To display users and their passwords: - -```command -SELECT User, Host, Password FROM mysql.user; -``` - -### View Existing MySQL Databases - -While logged in to MySQL: - -```command -SELECT DATABASE(); -``` - -### Change a MySQL or MariaDB User's Password - -While logged in to MySQL: - -1. Use `FLUSH PRIVILEGES` before making changes: - - ```command - FLUSH PRIVILEGES; - ``` - -1. Set a new password for the user: - - ```command - ALTER USER 'exampleUser'@'localhost' IDENTIFIED BY 'newPassword'; - ``` - - If using MariaDB, use the `SET PASSWORD` command: - - ```command - SET PASSWORD FOR 'exampleUser' = PASSWORD('newPassword'); - ``` - -### Remove a MySQL User - -While logged in to MySQL: - -```command -DROP USER 'exampleUser'@'localhost'; -``` - -If using MariaDB: - -```command -DROP USER exampleUser; -``` - -### Add a New MySQL User - -Add a new user and grant them access to a specific database. If you are using a CMS and are concerned about access, update SSH login information. You do not need to create a new user, but it might help to update the database password. See the [Change WordPress Database Password in MySQL](#change-the-wordpress-database-password-in-mysql) section for more information. - -While logged in to MySQL: - -```command -CREATE USER 'exampleUser'@'localhost' IDENTIFIED BY 'password'; -GRANT ALL PRIVILEGES ON databaseName.* TO 'exampleUser'; -``` - -### Change the WordPress Database Password in MySQL - -{{< note type="alert" >}} -This section changes the WordPress database password itself; not any WordPress user. This may affect your WordPress installation. -{{< /note >}} - -If you are only trying to change a WordPress user's login information, see the [WordPress Users](#wordpress-users) section. It is rare that anyone should need to modify the database password except in the case of a WordPress migration. Otherwise, it is not likely that you need to follow this section. - -1. Use the previous sections to log in to MySQL and find the WordPress database name and user. Replace `wordpress` and `wpuser` in this example with the appropriate names, and `newPassword` with a new secure password: - - ```command - ALTER USER 'wpuser'@'localhost' IDENTIFIED BY 'newPassword'; - FLUSH PRIVILEGES; - quit - ``` - - If using MariaDB, use the `SET PASSWORD` command: - - ```command - SET PASSWORD FOR 'wpuser' = PASSWORD('newPassword'); - ``` - -1. Edit your site's `wp-config.php` to reflect the changes: - -```file {title="/var/www/html/example.com/public_html/wp-config.php" lang=php} -// ** MySQL settings - You can get this info from your web host ** // -/** The name of the database for WordPress */ -define('DB_NAME', 'wordpress'); - -/** MySQL database username */ -define('DB_USER', 'wpuser'); - -/** MySQL database password */ -define('DB_PASSWORD', 'newPassword'); - -/** MySQL hostname */ -define('DB_HOST', 'localhost'); -``` \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/network-transfer/cloud-manage-compute-network-transfer-usage.png b/docs/products/platform/get-started/guides/network-transfer/cloud-manage-compute-network-transfer-usage.png deleted file mode 100644 index 580c186497d..00000000000 Binary files a/docs/products/platform/get-started/guides/network-transfer/cloud-manage-compute-network-transfer-usage.png and /dev/null differ diff --git a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-compute-network-transfer-usage.jpg b/docs/products/platform/get-started/guides/network-transfer/cloud-manager-compute-network-transfer-usage.jpg deleted file mode 100644 index 45759e3bf67..00000000000 Binary files a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-compute-network-transfer-usage.jpg and /dev/null differ diff --git a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-monthly-network-transfer-pool.jpeg b/docs/products/platform/get-started/guides/network-transfer/cloud-manager-monthly-network-transfer-pool.jpeg deleted file mode 100644 index 3ebca7e4aa7..00000000000 Binary files a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-monthly-network-transfer-pool.jpeg and /dev/null differ diff --git a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-monthly-network-transfer-pool.png b/docs/products/platform/get-started/guides/network-transfer/cloud-manager-monthly-network-transfer-pool.png deleted file mode 100644 index 26d80e40d9c..00000000000 Binary files a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-monthly-network-transfer-pool.png and /dev/null differ diff --git a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-network-transfer-notice.jpeg b/docs/products/platform/get-started/guides/network-transfer/cloud-manager-network-transfer-notice.jpeg deleted file mode 100644 index 1e1d28aca29..00000000000 Binary files a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-network-transfer-notice.jpeg and /dev/null differ diff --git a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-network-transfer-notice.png b/docs/products/platform/get-started/guides/network-transfer/cloud-manager-network-transfer-notice.png deleted file mode 100644 index 1791f5a970d..00000000000 Binary files a/docs/products/platform/get-started/guides/network-transfer/cloud-manager-network-transfer-notice.png and /dev/null differ diff --git a/docs/products/platform/get-started/guides/network-transfer/index.md b/docs/products/platform/get-started/guides/network-transfer/index.md deleted file mode 100644 index 1bc64990215..00000000000 --- a/docs/products/platform/get-started/guides/network-transfer/index.md +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: "Network Transfer Usage and Costs" -description: "Learn how your Linode account's network transfer pool is calculated and billed." -published: 2018-08-21 -modified: 2023-10-25 -keywords: ["network","billing","account","transfer", "overage"] -tags: ["linode platform"] -aliases: ['/platform/billing-and-support/network-transfer-quota/', '/guides/network-transfer-quota/','/guides/network-transfer/'] ---- - -## Overview - -**Network transfer** is the exchange of data between two computers over the public internet or a private network. Other providers and publications may also refer to this as data transfer, ingress/egress, and bandwidth. - -This traffic is broken down into inbound (ingress) and outbound (egress) network transfer. *Inbound network transfer* is data sent *to* your service, such as a file upload. *Outbound network transfer* is data sent *from* your service, such as a web page and its images, stylesheets, and JavaScript files. - -## Transfer Allowance - -The following Linode services consume network transfer and, in most cases, include a set amount of outbound network transfer allowance per month. The amount of transfer is displayed along with the pricing and plan details for each service. See Linode's [pricing page](https://www.linode.com/pricing) for exact amounts. - -- **Compute Instances:** Consume network transfer and include 1-20 TB of transfer allowance per month, depending on plan size. - -- **NodeBalancers:** Consume network transfer but do not include a monthly transfer allowance. - -- **Object Storage:** Consumes network transfer and adds 1 TB of transfer allowance per month to your global network transfer pool. - -- **Managed Databases:** Does not consume network transfer or include a monthly transfer allowance. - -Most data centers have their transfer allowance and usage tracked in a **global network transfer pool**. Some newer data centers may have their network transfer usage tracked separately in a *specific network transfer pool for that region*. Your global and region-specific pools can be viewed and [monitored](#monitoring-network-transfer-usage) from your account's **Monthly Network Transfer Pool**. - -When a service is deployed on an account, that service’s prorated transfer allowance is added to its corresponding network transfer pool. Whenever a service consumes network transfer, it is counted towards that pool (not the individual transfer allowance for the service). In most cases, this is the global pool. However, if the service is deployed in a region that has its own specific transfer pool, the network allowances and usage is tracked in that pool (not the global pool). - -{{< note >}} -If a service is not active for the entire month, the amount of network transfer allowance is prorated based on the number of hours the service is active. -{{< /note >}} - -## Usage Costs - -Costs associated with network transfer can often be unexpected or confusing in a cloud hosting environment. Linode keeps these costs simple and transparent so that you can easily anticipate your monthly charges. - -**Free unmetered network transfer:** - -- All inbound network transfer - -- Outbound network transfer sent from Compute Instances and NodeBalancers to any Linode service within the same data center, provided the traffic occurs over an IPv6 address, a private VLAN network, or on the private IPv4 address of those services. Public IPv4 addresses, due to the way traffic is routed, is not included in this. - -**Metered network transfer:** - -- Outbound transfer sent from Compute Instances and NodeBalancers to destinations outside of the origin data center (over both IPv6 and IPv4) and within the same data center if a public IPv4 address is used. - -- Outbound transfer from Object Storage (over both public IPv6 and public IPv4), even to other Linode services within the same data center. - -All metered network transfer consumed by a service is counted toward either the global network transfer pool or its data center-specific pool (if that region tracks network transfer separately from the global pool). Any additional transfer usage that exceeds this monthly allotment starts at $0.005/GB (or $5/TB) depending on the service’s region (see the table below). Additional transfer usage is charged at the end of the billing period. - -{{< table >}} -| Data Center | Network Transfer overage cost per GB | -| :-- | -- | -| All data centers (except those listed below) | $0.005/GB | -| Jakarta, Indonesia | $0.015/GB | -| São Paulo, Brazil | $ 0.007/GB | -{{< /table >}} - -{{< note >}} -The combined monthly network transfer pools are typically enough to cover *most* common use cases for our services. You are only billed for additional network transfer if your usage exceeds the global or data center-specific pools during a billing period. - -If traffic for an individual service exceeds the network transfer amount specified by its plan, but the total transfer used between the rest of your services is still less than your monthly global or region-specific pools, then you are *not* charged additional fees. -{{< /note >}} - -## Monitoring Network Transfer Usage - -We recommend that you monitor your network transfer usage throughout the month to ensure that your services aren't consuming more network transfer than expected. You can check your network usage for your current billing cycle via Cloud Manager or the Linode CLI. - -### Cloud Manager - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Under the list of the Linode Compute Instances, NodeBalancers, or Object Storage Buckets, a short notice is displayed with the percentage of monthly network transfer pool that has been used. - - ![Screenshot of Monthly Network Transfer Pool Percentage Used](cloud-manager-network-transfer-notice.jpeg) - -1. Click the *Monthly Network Transfer Pool* link to display a modal pop-up with more details, including: your active pools, the amount of transfer used, the size of your pools, and when the network transfer usage will reset. - - ![Screenshot of Monthly Network Transfer Pool Overview](cloud-manager-monthly-network-transfer-pool.jpeg) - - {{< note >}} - Unless you have services deployed in a region that tracks data center-specific network transfer separately, you will only see the global network transfer pool displayed. - {{< /note >}} - -1. Lastly, you can view more details regarding a Compute Instance's network transfer usage (including historical charts) directly on the instance's page in Cloud Manager. To do so, click **Linodes** on the left navigation menu, select your Compute Instance from the list, and navigate to the **Network** tab. - - ![Screenshot of a Compute Instance's Monthly Network Transfer Usage](cloud-manager-compute-network-transfer-usage.jpg) - - The **Monthly Network Transfer** section includes usage details for the current billing period. The **Network Transfer History** section shows a chart with usage details over the selected period. - -### Linode CLI - -To view your network utilization (in GB) for the current month, issue the following command: - -```command -linode-cli account transfer -``` - -{{< note >}} -You need to generate a Personal Access Token and install the Linode CLI before being able to use the CLI. See the [Linode CLI](/docs/products/tools/cli/get-started/) guide for more information. -{{< /note >}} - -### Email Alerts - -Linode automatically sends an email notification to [your account's email address](/docs/products/platform/accounts/guides/change-user-email/) when you have used 80%, 90%, and 100% of your transfer pool size. - -## More Information - -Read the [Billing and Payments](/docs/products/platform/billing/) guide for an overview of Linode billing. \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/resell-services/how-to-resell-linode-services.png b/docs/products/platform/get-started/guides/resell-services/how-to-resell-linode-services.png deleted file mode 100644 index d082b5aeb65..00000000000 Binary files a/docs/products/platform/get-started/guides/resell-services/how-to-resell-linode-services.png and /dev/null differ diff --git a/docs/products/platform/get-started/guides/resell-services/index.md b/docs/products/platform/get-started/guides/resell-services/index.md deleted file mode 100644 index cec0f72b799..00000000000 --- a/docs/products/platform/get-started/guides/resell-services/index.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: "Resell Linode Services" -title_meta: "How to Resell Linode Services" -description: 'How to resell Linode services using the Linode API, and how to get started with the Linode referral program.' -published: 2019-01-31 -modified: 2023-07-24 -keywords: ['resell','linode','services','reseller','referral','code'] -tags: ["linode platform"] -aliases: ['/platform/how-to-resell-linode-services/','/guides/how-to-resell-linode-services/'] -image: how-to-resell-linode-services.png ---- - -Linode welcomes partners and encourages the reselling of our services to third-party customers. Anyone can resell Linode services and discounted pricing is offered to resellers. If you are interested in becoming a reseller and learning more about discounted pricing, please contact our team through the [Partner form](https://www.linode.com/partners/apply/) or by emailing partners@linode.com. This guide provides more information about our partner program and outlines the process of becoming a reseller. - -## What is a Reseller - -A reseller is any person or entity that charges a third party for Linode services, acting as a kind of middleman. Resellers are free to charge clients for full or partial access to Linode services, either through the use of the [Linode API](#linode-api), or by giving a client access to Linode services provisioned on their behalf. - -There are a variety of reasons one might want to resell Linode services. One of the most common reasons developers and engineers become resellers is that they use Linode to test, develop, and/or host their client's websites and apps, and in doing so need to bill those clients for charges accrued by the Linode services that power this business. Specific examples of this pattern include: - -- An agency that creates custom WordPress installations for their customers on Linode. - -- An app developer that uses Linode to host their customer's database. - -- A business which operates a fully-fledged hosting platform based on Linode services, using tools like the [Linode API](#linode-api). One such example is Cloudnet Sweden, a platform-as-a-service (PaaS) that uses Linode as a cloud host for their managed platform. Read our [case study on Cloudnet Sweden](https://www.linode.com/content/cloudnet/) for an in-depth look at why they chose to partner with Linode. - -## Referral Program - -As an alternative to reselling our services, you can participate in our referral program. See the [Referral Program](https://www.linode.com/referral-program/) page on our website or the [Referral Program](/docs/products/platform/billing/guides/referral-program/) section within our billing guide for more details. - -Advertising your referral code to others is not the same as reselling Linode services. When someone else uses your referral code, they create an entirely separate Linode account with their own billing. - -## Things Resellers Should Keep in Mind - -There are a few stipulations that resellers should keep in mind: - -- All resellers, and the customers of resellers, are bound to [Linode's Terms of Service](https://www.linode.com/tos) (ToS). If for any reason a customer of a Linode reseller breaks Linode's ToS, it is the reseller who will be held accountable. If you are planning on becoming a reseller it is a good idea to carefully craft a ToS of your own that is in accordance with Linode's ToS. - -- All resellers, and the customers of resellers, are bound to [Linode's Acceptable Use Policy](https://www.linode.com/aup) (AUP). If for any reason a customer of a Linode reseller breaks Linode's AUP, it is the reseller who will be held accountable. - -- Payments are to be made directly to Linode by the reseller. If a customer of a reseller fails to pay the reseller for their services, the reseller is still responsible for their monthly payment to Linode. - -- Linode Support can help with issues related to the physical operation of your Linode services, but issues related to your software configuration are outside of the [scope of Linode Support](/docs/products/platform/get-started/guides/support/#scope-of-support). Linode offers a number of [resources](/docs/products/platform/get-started/guides/support/#types-of-questions-and-issues) to help with configuration questions. Linode Support is only available to people with access to a [Cloud Manager user](#limited-cloud-manager-user). If your customers do not have their own Linode users, they will not be able to contact Linode Support. - -## How to Resell Linode Service - -### Linode API - -The best way to resell Linode services is through the use of the Linode API. The Linode API provides robust, programmatic access to the full suite of Linode services. Using the API, a reseller could set up a custom user interface to only allow the select features they want available for their customers. For example, it's possible to create a UI that only enables 4GB Compute Instances and that automatically provisions those instances with a StackScript. For a tutorial on how to use the Linode API, check out our [Getting Started with the Linode API](/docs/products/tools/api/get-started/) guide. For a comprehensive view of the Linode API, see Linode's [API documentation](https://techdocs.akamai.com/linode-api/reference/api). For a list of Linode API libraries and tools, head over to our [developer portal](https://developers.linode.com/libraries-tools/). - -### Limited Cloud Manager Users - -If a reseller wants to be able to give reseller customers access to parts of Cloud Manager without developing a new user interface, they can create a limited Manager *user* in Cloud Manager. A user is a set of credentials that can access your Linode account, and your Linode account can have multiple users. A user can be restricted to have a limited set of permissions, such as only being able to access certain Linodes and not having access to your billing information. To create a limited user in Cloud Manager, review the [Users and Permissions](/docs/products/platform/accounts/guides/manage-users/#add-a-user) section of the Accounts and Passwords guide. - -{{< note >}} -Cloud Manager users are not related to the Linux users you may separately configure on Compute Instances. If you need to revoke a customer's account access, you should remove access to both their Cloud Manager users and their Linux users. Read the [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide for more information on this subject. -{{< /note >}} - -### Limited Linux User Accounts - -A reseller might provide a customer with limited access to a Compute Instance by creating an account for them at the operating system level. This provides the customer with access to their server, without access to the features of the Linode API or Cloud Manager. For a hosting reseller that offers access to a pre-defined Linux environment, this is often a good solution. Read the [Linux Users and Groups](/docs/guides/linux-users-and-groups/) guide for more information on this subject. You may also want to limit users' access to the filesystem with [SFTP jails](/docs/guides/limiting-access-with-sftp-jails-on-debian-and-ubuntu/). - -## Frequently Asked Questions - -### Can I Show Linode's Logos on My Site? - -Yes. Please use the official [Linode logo assets](https://www.linode.com/logos). - -### What Payment Methods are Available? - -Automatic payments can be made with a credit card. All Linode accounts are required to have a credit card on file. Manual PayPal payments can also be made, so you can add credit to your Linode account with PayPal. For more information on Linode's billing, review the [Payment Methods](/docs/products/platform/billing/guides/payment-methods/) guide. - -### Does Linode Have a White-Label Interface? - -Linode does not offer a white-label interface, but you could create one via the [Linode API](https://developers.linode.com). - -### Can I Model my Terms of Service on Linode's ToS? - -Yes, you can refer to Linode's [ToS](https://www.linode.com/tos) and [AUP](https://www.linode.com/aup) when authoring your own, and your business and your customers need to comply with Linode's ToS and AUP. diff --git a/docs/products/platform/get-started/guides/send-email/index.md b/docs/products/platform/get-started/guides/send-email/index.md deleted file mode 100644 index f0e69718740..00000000000 --- a/docs/products/platform/get-started/guides/send-email/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: "Send Email on the Linode Platform" -description: "Learn about Linode's email policy, how to lift email restrictions, and best practices to implement when sending email." -published: 2023-05-02 -keywords: ["SMTP", "SMTP restrictions", "email restrictions"] ---- - -Linode services, such as Compute Instances and LKE clusters, can be used to send and receive email --- though there may be restrictions in place on new accounts (see [Email Policy and Restrictions](#email-policy-and-restrictions)). This guide covers our email policies and details how to lift email restrictions from your account. It also includes best practices for both ensuring your email is compliant with regulations and decreasing the likelihood of having email marked as spam. - -{{< note >}} -Managing an email server is complicated and can result in email deliverability issues if anything is misconfigured. Many organizations choose to instead use dedicated external mail servers, such as those provided by [Fastmail](https://www.fastmail.com/), [Gmail for Google Workspace](https://workspace.google.com/products/gmail/), and [Outlook for Microsoft 365](https://www.microsoft.com/en-us/microsoft-365/business/compare-all-microsoft-365-business-products?&activetab=tab:primaryr2). There are also email delivery services for marketing and transactional email, including [Postmark](https://postmarkapp.com/), [SendGrid](https://sendgrid.com/), and [Mailchimp](https://mailchimp.com/). If you are using one of these services, you may not need to configure your Compute Instances to send email. Consult with those on your team that use email to determine if an external service better suits your needs. -{{< /note >}} - -## Email Policy and Restrictions - -Email can be sent on the Linode Platform for any purpose (including marketing and transactional), provided that your use conforms to our [Acceptable Use Policy (AUP)](https://www.linode.com/legal-aup/) and any government policies that are applicable to you, including the [CAN-SPAM Act](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business). - -In an effort to fight spam, Linode restricts outbound connections over ports 25, 465, and 587 on Compute Instances for *some* new accounts created after November 5th, 2019. These restrictions, if applied to your account, prevent your Compute Instance from sending email over the standard SMTP ports. - -## Request to Lift Restrictions - -If you would like to send email on a Compute Instance and notice that these restrictions are in place, contact the [Support](https://www.linode.com/support/) team and request that the restrictions are lifted. Please include the following information in your request. - -- **First and last name** *(required)*: If you are not the account owner, please include their name and confirm that you're acting on their behalf. - -- **Organization name:** If an organization owns the account, provide the name of that entity. - -- **Use case and email sending practices** *(required)*: A clear and detailed description of your email use case, including how you intend to avoid sending unwanted emails. - -- **Domain name(s)** *(required)*: The domain name from which you intend to send email. If you plan on using multiple domain names, please provide each one. - -- **Links to public business information**: Links to public information about your organization or application. This could be a website, GitHub repository, social media profile, or another type of link. - -Our Support team reviews each request and will respond back with their decision or ask for additional information to help process this request. - -## Best Practices to Follow When Sending Email - -When sending email to your users or mailing lists, you should keep the following best practices and requirements in mind. All marketing emails should also comply with any additional requirements described in the [CAN-SPAM Act](https://www.ftc.gov/business-guidance/resources/can-spam-act-compliance-guide-business). - -- **Configure rDNS on the Compute Instance to match the system's hostname.** For instructions, reference the [Configure rDNS (Reverse DNS) on a Compute Instance](/docs/products/compute/compute-instances/guides/configure-rdns/) guide. If you have not yet configured a hostname, see [Configure a Custom Hostname](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-custom-hostname). This hostname is different than the domains that will be used when sending email. - -- **Set up SPF, DKIM, and DMARC authentication methods for each sending domain name.** These authentication methods help identify which mail servers are able to send email from a domain (and what to do if that fails). - -- **Use TLS to encrypt your emails while in transit.** When sending email over SMTP, configure implicit TLS over port 465 and STARTTLS over port 587. See [RFC 8314 Section 3.3](https://datatracker.ietf.org/doc/html/rfc8314#section-3.3) for more details. - -- **All recipients must opt-in to receive emails.** At minimum, implement a single opt-in process, which means a recipient needs to manually subscribe to receive your emails. You should also consider implementing a double opt-in process, which means that the recipient needs to confirm their subscription, typically through an email link. It is much less likely for users to mark your email as spam if a person with access to that email has confirmed their subscription. Never purchase or obtain email lists from third parties without explicit consent from all email owners on that list. - -- **Clear, accessible, and quick opt-out process.** All forms of marketing or automated email communication should have a clearly visible link for the recipient to unsubscribe or adjust their email preferences. You should honor their preferences as quickly as possible. - -## Configure a Mail Server - -Once your restrictions are lifted, you can begin to use your Compute Instance to send email. To do so, you will likely need to install a mail server. Follow our [Running a Mail Server](/docs/guides/running-a-mail-server/) guide for general information on setting up a mail server on Linode. This guide discusses your software options, the DNS records you may need, virus protection, and popular email clients. - -For more detailed step-by-step instructions on installing a mail server, review one of our [email server](/docs/guides/email/) guides, including: - -- [Create an Email Server using Mail-in-a-Box](/docs/guides/mail-in-a-box-email-server/) -- [Configure an Email Server with Postfix, Dovecot, and MySQL](/docs/guides/email-with-postfix-dovecot-and-mysql/) \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/status-page/index.md b/docs/products/platform/get-started/guides/status-page/index.md deleted file mode 100644 index e4a2ef297cc..00000000000 --- a/docs/products/platform/get-started/guides/status-page/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: "Subscribe to Linode Status Updates" -description: 'Learn how to subscribe to Linode system status and maintenance updates.' -published: 2018-08-20 -modified: 2023-04-23 -keywords: ['linode','maintenance','incident','system', 'status'] -tags: ["linode platform"] -aliases: ['/platform/linode-status-page/','/guides/linode-status-page/'] ---- - -The [Status Page](https://status.linode.com/) provides real-time system status and maintenance updates via email. All customers are encouraged to subscribe to status notifications to stay up-to-date with any events that may impact our services. When you sign up for status updates, you can fine-tune which service updates you receive. These different topic areas are referred to as *components*. If, for example, all your services are restricted to the Newark data center, you may only wish to subscribe to the Newark component. - -You can also subscribe to individual incident notifications. In this case, you can be notified of new updates to an incident via email or SMS. - -## Subscribe to Email Updates - -To subscribe to system status and maintenance updates, follow the instructions below. - -1. Navigate to the [Linode Status Page](https://status.linode.com/). - -1. Click on the **Subscribe to Updates** button. - - ![Subscribe to Linode status updates.](status-page-subscribe.png) - -1. In the form that appears, enter your email address and click the **Subscribe via email** button. - -1. You are brought to another web page with a list of components. Select which components you'd like to receive status updates for and then click the **Save** button. - -1. You will receive a confirmation email shortly. In that email, click the **Confirm subscription** button. - -## Subscribe to RSS Updates - -Within your RSS aggregator, go through the process of adding a new RSS feed. When prompted, use the following URL for a raw XML list of recent incidents: `https://status.linode.com/history.rss`. - -## Subscribe to an Incident - -To subscribe to updates for a specific incident: - -1. Navigate to the [Linode Status Page](https://status.linode.com/). - -1. Find the incident you would like to follow and click on its heading. You are brought to that incident's page. - -1. Click on the **Subscribe to Updates** button and provide your Email and/or telephone number. - -## Update Notification Preferences or Unsubscribe - -You can update your component preferences or cancel your subscription to Linode status and maintenance updates at any time. To update your preferences or to unsubscribe: - -1. Navigate to the [Linode Status Page](https://status.linode.com/). - -1. Click on the **Subscribe to Updates** button and enter your email address. - -1. You are brought to your Notification Subscription page. Update your preferences, as needed, and click on the **Update Preferences** button. - -1. If you would like to unsubscribe, click on the **Cancel Subscription** link in the Subscriber section of the page and follow the prompt. - -{{< note >}} -You can unsubscribe from SMS notifications by replying to any text message notification with the word "STOP". -{{< /note >}} \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/status-page/status-page-subscribe.png b/docs/products/platform/get-started/guides/status-page/status-page-subscribe.png deleted file mode 100644 index 762d8d303a0..00000000000 Binary files a/docs/products/platform/get-started/guides/status-page/status-page-subscribe.png and /dev/null differ diff --git a/docs/products/platform/get-started/guides/support/index.md b/docs/products/platform/get-started/guides/support/index.md deleted file mode 100644 index 393c884b6cb..00000000000 --- a/docs/products/platform/get-started/guides/support/index.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: "Help & Support" -description: "Information about Linode support, including the scope of support and how to get help." -published: 2023-03-14 -modified: 2024-03-11 -keywords: ["support", "tech support", "tickets", "help desk"] -tags: ["linode platform"] -aliases: ['/platform/billing-and-support/support/','/support/','/platform/support/','/platform/billing-and-support/support-classic-manager/','/platform/billing-and-support/support-new-manager/','/guides/support/'] ---- - -Linode provides a variety of support options so that you get the answers you need, in the timeframe you need them, and in the way that works best for you -- all at no cost. Linode users have access to all of our support resources, including our extensive documentation library, our community questions site, and our award-winning Customer Support team - offering *self-service* and *live support* whenever you need it. This guide aims to point you in the right direction for whichever issue you may need assistance resolving. - -## Types of Questions and Issues - -- [Billing questions](#billing) -- [Account access and login issues](#account-access-and-login-issues) -- [Platform or service related questions](#linode-platform) -- [Application and server configuration issues](#application-and-server-configuration-issues) -- [Infrastructure deployment and configuration](#infrastructure-deployment-and-configuration) -- [Legal and compliance information](#legal-and-compliance-information) -- [Infrastructure status inquiries](#infrastructure-status-inquiries) -- [Report abuse on our platform](#report-abuse-on-our-platform) -- [Large deployments](#large-deployments-sales) - -### Billing - -To better understand how our billing works, what payment methods we accept, tax information, and more, review the [Billing guides](/docs/products/platform/billing/) section. You can also use our billing tools to help calculate, compare, and understand costs. - -- [Cloud Estimator](https://www.linode.com/estimator/): Compare both cost per month, as well as save with our predictable and transparent pricing. Explore bundled compute, storage, and transfer packages against AWS, GCP, and Azure. - -- [Cloud Pricing Calculator](https://www.linode.com/cloud-pricing-calculator/): Perfect for anyone moving a workload from on-prem to the cloud, switching from one cloud provider to another, or setting up a hybrid or multi-cloud architecture. With this tool, you can receive a full cost breakdown and technical recommendations for your workload. - -### Account Access and Login Issues - -For issues logging in to your account and other common account-related questions, see [Accounts > FAQs](/docs/products/platform/accounts/faqs/). If you are encountering issues with two-factor authentication and need to recover access to your account, review the [Recovery Procedure](/docs/products/platform/accounts/guides/2fa/#recovery-procedure) on the [Manage Two-Factor Authentication (2FA) on a User Account](/docs/products/platform/accounts/guides/2fa/) guide. For other login-related issues, please use the [Can't sign in to your account?](https://www.linode.com/support/contact/) form. - -### Linode Platform - -To get help using the Linode Platform or to resolve issues related to Linode products and services, use any of our [self-service resources](#self-service-and-community-based-resources) or [contact support](#contact-customer-support) for assistance. - -### Application and Server Configuration Issues - -Whenever you need assistance with software that's installed on your Compute Instances, consider reviewing any official documentation and community resources maintained by that software's developers. Alternatively, you can seek out answers through any of the [Self-Service and Community-based Resources](#self-service-and-community-based-resources) we offer. The Customer Support Team does not provide support regarding the installation or configuration of third-party applications. - -### Infrastructure Deployment and Configuration. - -For guidance on your architecture, migrations, and software deployments, consider working with our Professional Services team. You can reach out to that team through the [Contact Sales](https://www.linode.com/company/contact/) form. - -If you're looking for a partner to help guide your transition to the Cloud or help build your platform, our [Partner Directory](https://partner-directory.linode.com/s/) offers a list of trusted partners. - -### Legal and Compliance Information - -Security, privacy, and compliance are important to us. To help you find answers on these pertinent topics, we've created the [Legal & Compliance Center](https://www.linode.com/legal/). Here, you will find all documentation regarding our policies relating to infrastructure use and privacy, available certifications for each data center, and our own security and vulnerability management posture. - -### Infrastructure Status Inquiries - -For all emergent issues and planned maintenance within our infrastructure, our team will post to (and regularly update) the [Linode status page](https://status.linode.com/) until the issue has been resolved or maintenance completed. If you are experiencing a connectivity issue, or having troubles accessing one of our services, check this page for any system-wide outages. You can also subscribe to receive updates via email/SMS by clicking Subscribe To Updates in the top right corner of the page. - -### Report Abuse On Our Platform - -Use our [Abuse Portal](https://www.linode.com/legal-abuse/) to report network abuse, unauthorized access attempts, or spam originating from the Linode platform. Please forward spam with the full headers intact, and include logs documenting unauthorized access. - -### Large Deployments (Sales) - -[Contact our Sales Team](https://www.linode.com/company/contact/) to help you with migration planning, large volume pricing, partner recommendations, and more. - -## Self-Service and Community-based Resources - -For general questions and issues that are [outside the Scope of Support](#scope-of-support), consider using following resources. These resources may already provide an answer to your question or can help you get an answer and resolve your issues. - -- [**Linode Documentation**](/docs/): The Linode Docs Site contains documentation for all of our products as well as a wide variety of other topics, like using Linux, developing a web application, managing databases, and working with configuration management tools. This is a great resource for learning how to use our products and finding tutorials for installing and configuring third-party software on the Linode platform. - - [Product Docs](/docs/products/): Detailed information and guides for each of our products, features, and services. - - [Troubleshooting Overview](/docs/guides/troubleshooting-overview/): A quick start guide that provides answers for common server connectivity and management issues. - - [FAQs for Compute Instances](/docs/products/compute/compute-instances/faqs/): A curated list of the most frequently asked questions regarding Compute Instances. - -- [**Linode Community Site**](https://www.linode.com/community/questions/): The Community Site enables you to ask questions and get help from other community members. There are thousands of posts that can provide you with in-depth information, but if you can't find what you need, post your own question and let the community help. This is an excellent place to post questions that are [outside the Scope of Support](#scope-of-support). - -- **IRC channel**: Join #linode on irc.oftc.net to access our community IRC channel, which provides a space for anyone to discuss the Linode platform. - -{{< note type="warning" >}} -When posting questions or sharing details of your issues on self-service or community-based resources, do not include any personal information or account details. You should also never share usernames and passwords or otherwise provide access to your system to someone you do not know. -{{< /note >}} - -## Scope of Support - -Our Customer Support Team is available to provide support related to the physical operation of the products and services we offer. This includes resolving potential hardware issues within our infrastructure, helping you understand and use our products, helping you understand and pay your bill, ensuring that your network traffic is properly routed, and helping with base system performance issues that may be related to our infrastructure. - -Our team does not provide support regarding the installation or configuration of third-party applications, such as mail and web server software, nor do we provide support regarding the Linux configuration on your Compute Instances. For these issues, please consult the various other [resources](#self-service-and-community-based-resources) we have available or contact your system administrator or developer. Additionally, if you are providing a service to your customers, we do not offer technical support for those customers. Here is an excerpt from our [Master Services Agreement](https://www.linode.com/legal-msa/) (v1.4.0): - -> Linode does not offer or provide support: (i) for application-specific issues such as application configuration, CGI programming, web server, mail server, database configuration, or any other such issue; (ii) for issues related to the development, maintenance, operation, or other administration of Covered User Data; and/or (iii) to any End User Support. - -## Contact Customer Support - -Live support from our dedicated Customer Support Team is available 24 hours a day. You can reach us through a support ticket, by phone, or by e-mail. - -{{< note type="warning" title="Account Authentication" >}} -When contacting the Customer Support Team through a support ticket, you are automatically authenticated to your user account. If you instead send an inquiry through an email or call the dedicated support line, you will need to authenticate to an account before the support representative is able to disclose any account-specific information. -{{< /note >}} - -- **Support ticket:** Support tickets are the primary method for contacting the Customer Support Team. Tickets can be created, viewed, and managed through Cloud Manager, though you can also use the [Linode CLI](/docs/products/tools/cli/guides/support-tickets/) and [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary) if preferred. For help creating a ticket, see the [Create and Manage Support Tickets](#create-and-manage-support-tickets) section below. - -- **Phone call:** The dedicated support phone line can provide real-time support to English language speakers. If your inquiry concerns a specific account, please be prepared to authenticate to that account through a support ticket, a one-time passcode (sent to the account's phone number or email address), or alternative means. If your call is diverted to voicemail, please leave a detailed message explaining your problem. Your call will be returned as quickly as possible. - - +1 (609) 380-7100 - - +1 (855) 454-6633 (North America toll-free) - -- **E-mail:** Whenever possible, it is recommended to create a support ticket. However, general questions that are *not account-specific* can be sent to *support@linode.com*. If your inquiry is account-specific and you are not able to log in to Cloud Manager, fill out the [can't log in form](https://www.linode.com/support/contact/). - -To help us give you the best possible answer when contacting the Support Team, consider the following advice. - -- **Be specific and detailed.** We need to know what is happening. Providing error logs and outputs from commands will go a long way to getting you a faster and more accurate answer. -- **Be clear.** Giving us context and sharing any troubleshooting steps you have already taken or resources you have looked at will help clarify what is going on and what additional steps we need to take on our end. - -## Create and Manage Support Tickets - -All Tickets can be created, viewed, and managed on the [Support Tickets](https://cloud.linode.com/support/tickets) page in Cloud Manager. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and select **Help & Support** from the sidebar menu. - -1. Under the **Other Ways to Get Help** section, select **Customer Support**. - -![Screenshot of the Support Tickets page in Cloud Manager](support-tickets.png) - -This screen lists all open tickets by default. For a list of past tickets, navigate to the **Closed Tickets** tab. Click on a specific ticket to open that ticket, view the history, and to reply. - -To open a new support ticket, click the **Open New Ticket** button. Enter a summary of the issue into the **Title** field. Then, select the product or service that is affected by the issue. In the **Description** field, enter in a clear description of the issue you are experiencing. - -When creating a ticket or replying to a ticket, keep in mind that you can attach files and use Markdown formatting. - -- **File attachmets:** Up to 5 files can be attached to each ticket. Accepted file types and extensions include: - - Images: `.gif`, `.jpg`, `.jpeg`, `.pjpg`, `.pjpeg`, `.tif`, `.tiff` - - Documents: `.pdf` or `.txt` - -- **Markdown Formatting.** Proper formatting and structure can make your questions or issues easier to identify and understand. Use inline code to wrap commands, code blocks for output (or logs), and headings to create separate sections. You can also bold or italicize text, format items or steps as lists, and add block quotes. For help with Markdown formatting, use this [cheat sheet](http://demo.showdownjs.com/). \ No newline at end of file diff --git a/docs/products/platform/get-started/guides/support/support-tickets.png b/docs/products/platform/get-started/guides/support/support-tickets.png deleted file mode 100644 index c0950584ef7..00000000000 Binary files a/docs/products/platform/get-started/guides/support/support-tickets.png and /dev/null differ diff --git a/docs/products/services/_index.md b/docs/products/services/_index.md deleted file mode 100644 index 99af9adab31..00000000000 --- a/docs/products/services/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: Services -description: "Linode offers responsive, hands-on expertise from professionals who care." ---- diff --git a/docs/products/services/feature.png b/docs/products/services/feature.png deleted file mode 100644 index 587e624cc62..00000000000 Binary files a/docs/products/services/feature.png and /dev/null differ diff --git a/docs/products/services/feature.svg b/docs/products/services/feature.svg deleted file mode 100644 index 16d319837df..00000000000 --- a/docs/products/services/feature.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/products/services/managed/_index.md b/docs/products/services/managed/_index.md deleted file mode 100644 index 681a2dc36e6..00000000000 --- a/docs/products/services/managed/_index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Managed -title_meta: "Linode Managed Service Product Documentation" -description: "Linode Managed is a service that offers incident response, backups, and monitoring." -published: 2023-04-11 -modified: 2024-03-11 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "A suite of services that includes a robust monitoring system, 24/7 incident response, backups, and cPanel licenses." -aliases: ['/guides/platform/managed/'] ---- - -Downtime is expensive and puts your company’s reputation at risk. [Linode Managed](https://www.linode.com/products/managed/) helps minimize this risk through a suite of services and products aimed at monitoring your Compute Instances, minimizing downtime, protecting your data, and migrating to the Linode Platform. - -{{< note >}} -Linode Managed applies to all Compute Instances on an account **except** for nodes created and implemented by the [Linode Kubernetes Engine (LKE)](https://www.linode.com/products/kubernetes/). All eligible nodes are billed at a rate of $100 per month for each Linode. If this service is not needed for all instances, a second account can be created to separate Managed Compute Instances from non-Managed ones. To move instances between accounts, review the [Transfer Services to a Different Account](/docs/products/platform/accounts/guides/service-transfers/) guide. -{{< /note >}} - -## Benefits - -- **24/7 Monitoring and Incident Response:** The core benefit of Linode Managed is 24/7 monitoring and incident response. You can configure monitors for URLs, IP addresses, or TCP ports. This monitor periodically makes a TCP or HTTP request to that property. If a check fails, our experts take immediate steps to get your systems back online as quickly as possible. If they are not able to fix the issue, our experts will share their findings and the steps they've taken so far. Managed services does not include assistance with maintenance, updates, or the configuration of software on your Compute Instances. - -- **Included Services and Software:** The following services and software applications are included at no additional charge to Linode Managed customers - - - [cPanel](https://cpanel.net/): A cPanel license is included for each Compute Instance on your Linode account. Each license automatically scales to accommodate the number of [cPanel accounts](https://support.cpanel.net/hc/en-us/articles/1500004931582-What-is-an-Account/) you've configured within the cPanel installation. - - [Backups](/docs/products/storage/backups/): The Backup service is added to each Compute Instance on your account for no extra charge. This service automatically backs up the Compute Instance each day and lets you restore from the most recent daily backup, weekly backup, and biweekly backup. See [Get Started with Backups](/docs/products/storage/backups/get-started/) for more information on backup restore points. - - [Longview Pro](/docs/products/tools/longview/): Longview is our own metric service designed to help you keep track of your Compute Instances' performance. Whereas the free version of Longview is limited to collecting data at 5 minute intervals and storing only 12 hours worth of historical data, Longview Pro dramatically increases the data collection intervals and retains this data for longer: - - 1 minute resolution for the past 24 hours - - 5 minute resolution for the past week - - 2 hour resolution for the past month - - 1 day resolution for the past year - -## Pricing - -The cost for Linode Managed is $100 per Linode Compute Instance per month. For example, if there are 10 Compute Instances on your account, your total monthly cost will be $1,000. - -{{< note >}} -Worker nodes created by the [Linode Kubernetes Engine (LKE)](https://www.linode.com/products/kubernetes/) are not considered Linode Compute Instances for Managed billing purposes. These instances are not billed when enrolling in the Managed service. -{{< /note >}} - -## Availability - -Managed Services can be added to any account and can be used to monitor services across [all regions](https://www.linode.com/global-infrastructure/). - -## Technical Specifications - -- Monitors can be configured to send TCP or HTTP requests to an IP address or URL on any TCP port (default port is 80). - - **TCP:** Periodically initiates a TCP handshake to the specified property. - - **HTTP:** Periodically sends an HTTP/S request to the specified property and either looks for a `200 OK` response header or a specified string in the response body. -- Credentials can be added to allow our experts access to your system when troubleshooting. These credentials are encrypted and can be revoked by you at any time. \ No newline at end of file diff --git a/docs/products/services/managed/developers/index.md b/docs/products/services/managed/developers/index.md deleted file mode 100644 index b512e327950..00000000000 --- a/docs/products/services/managed/developers/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for the Linode Managed Service" -description: "Use the Linode API and CLI to enabled and configure the Linode Managed Service." -published: 2023-04-04 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Enable Linode Managed](https://techdocs.akamai.com/linode-api/reference/api-summary#linode-managed-enable) - -- [Managed Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. \ No newline at end of file diff --git a/docs/products/services/managed/feature.png b/docs/products/services/managed/feature.png deleted file mode 100644 index d45872a8ef0..00000000000 Binary files a/docs/products/services/managed/feature.png and /dev/null differ diff --git a/docs/products/services/managed/feature.svg b/docs/products/services/managed/feature.svg deleted file mode 100644 index e900a8f83f3..00000000000 --- a/docs/products/services/managed/feature.svg +++ /dev/null @@ -1,17 +0,0 @@ - - Managed - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/products/services/managed/get-started/index.md b/docs/products/services/managed/get-started/index.md deleted file mode 100644 index 972d8ea23bd..00000000000 --- a/docs/products/services/managed/get-started/index.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with the Linode Managed Service" -description: "Learn how to get up and running with Linode Managed and start monitoring your Compute Instances." -published: 2023-04-11 -tab_group_main: - weight: 20 -keywords: ["managed", "managed services", "linode managed"] -aliases: ['/products/services/managed/guides/sign-up/','/linode-managed/','/uptime/linode-managed/','/platform/linode-managed-classic-manager/','/platform/linode-managed/','/guides/linode-managed/'] ---- - -[Linode Managed](https://www.linode.com/products/managed/) is a 24/7 incident response service coupled with Longview Pro, the Backup service, cPanel, additional dashboard metrics, and free site migrations. This robust, multi-homed monitoring system sends out monitoring checks to ensure that your monitored services remain online and available at all times. Managed Services can monitor any service or software stack reachable over TCP or HTTP. - -## Enable Managed Services - -Follow the instructions below to sign up for Managed Services. - -{{< note type="warning" >}} -This is an account-wide setting. Enabling Managed Services will result in additional charges *for each* Compute Instance on your account. If you would like to only enable this for some instances and not others, you will need to create a separate account and transfer any services you do (or do not) want to have managed. See [Transferring Ownership of Linode Services with Service Transfers](/docs/products/platform/accounts/guides/service-transfers/). -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Account** link in the sidebar. - -1. Navigate to the **Settings** tab and click the **Add Linode Managed** button at the bottom of this page. - -1. A confirmation dialog appears that outlines the total cost of the service for your account. Click the **Add Linode Managed** button in this confirmation dialog to enable Managed Services. - -## Initial Setup - -After signing up for Managed Services, the next steps are to configure which services or resources you'd like to monitor on your Compute Instances, allow the Support team to log in to the Compute Instances and access these services, and then let the Support team know who to contact in case of a failure. - -1. **Provide access to the Support team:** In order to investigate any issues with your Compute Instances, our Support team requires access to those instances. Because of this requirement, you should install your unique Managed Services public key on any instances you intend for us to monitor. You may also need to add any credentials that are specific to the applications or services you are running. For example, if you run a WordPress site that communicates with a MySQL database, you should provide the MySQL username and password if you would like us to troubleshoot it in the event of outage for your site. See the following guides: - - - [Configure SSH Access](/docs/products/services/managed/guides/ssh-access/) - - [Manage Credentials](/docs/products/services/managed/guides/credentials/) - - [Configure Firewall Rules to Allow Access from Linode Infrastructure](/docs/products/services/managed/guides/allow-access-from-linode-infrastructure/) - -1. **Configure contacts:** If a service monitor fails a check, all associated contacts are notified. Contacts may also be contacted by the Support team if additional information is needed when troubleshooting. See [Manage Contacts](/docs/products/services/managed/guides/contacts/). - -1. **Create service monitors:** Next, configure the actual monitors that are responsible for watching a particular website or service and checking for issues. You can even add checks to make sure specific strings of text appear on your monitored website or in the response body of your service. See [Create and Manage Service Monitors](/docs/products/services/managed/guides/service-monitors/). - -## Optional: Install cPanel - -Each Compute Instance on a Managed account is eligible to receive a [cPanel](https://cpanel.net/) license at no additional charge. - -1. **Installing cPanel:** The easiest method to quickly get cPanel up and running is to deploy a new Linode using the [cPanel Quick Deploy App](https://www.linode.com/marketplace/apps/cpanel/cpanel/). Review the [How to Deploy cPanel with Quick Deploy Apps](/docs/marketplace-docs/guides/cpanel/) guide for additional instructions. If the cPanel Quick Deploy App does not support your desired Linux distribution, you can also follow the instructions within the [Install cPanel on CentOS](/docs/guides/install-cpanel-on-centos/) guide or the [Installation Guide](https://docs.cpanel.net/installation-guide/) on cPanel's documentation site. At this time, cPanel supports the following Linode-provided distribution images: CentOS 7, AlmaLinux 8, Rocky Linux 8, and Ubuntu 20.04 LTS. See [What operating systems are supported by cPanel](https://support.cpanel.net/hc/en-us/articles/1500001216582-What-operating-systems-are-supported-by-cPanel-) for a full list. - -1. **Obtaining a License:** Contact the Support team to obtain a cPanel license for your Linode. If you do not subscribe to Linode Managed, you will need to obtain your license directly from cPanel. cPanel is typically licensed by the number of accounts within the cPanel installation, each account typically corresponding to a single website or group of similar websites. The license we provide will automatically scale based on the number of cPanel accounts you've configured. \ No newline at end of file diff --git a/docs/products/services/managed/guides/_index.md b/docs/products/services/managed/guides/_index.md deleted file mode 100644 index 4108873562d..00000000000 --- a/docs/products/services/managed/guides/_index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for the Linode Managed Service" -description: "A collection of guides to help you learn how to sign up for Linode Managed, add new services, disable service monitoring, and more." -published: 2023-04-11 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Getting Started](/docs/products/services/managed/get-started/): Enable Managed Services and start configuring monitors. - -- [Create and Manage Service Monitors](/docs/products/services/managed/guides/service-monitors/): Service monitors form the basis of Managed Service's monitoring and incident response. Use them to monitor a resource and notify both your team and the Support team in the event of a failure. - -- [Configure SSH Access](/docs/products/services/managed/guides/ssh-access/): Instructions on viewing your unique public key, adding it to your system, and editing the settings that the Support team uses to log in. - -- [Manage Credentials](/docs/products/services/managed/guides/credentials/): Credentials provide the Support team with log in details to any services they may need to access when troubleshooting an issue. - -- [Manage Contacts](/docs/products/services/managed/guides/contacts/): Contact groups, which contain one or more contacts, can be attached to a service monitor and are notified if a check fails. - -- [Configure Firewall Rules to Allow Access from Linode Infrastructure](/docs/products/services/managed/guides/allow-access-from-linode-infrastructure/): Learn which hostnames and IP addresses are used by Managed Services so that you can allow them within your firewall rules. - -- [Cancel Managed Services](/docs/products/services/managed/guides/cancel/): Learn how to cancel Linode's Managed Services offering. \ No newline at end of file diff --git a/docs/products/services/managed/guides/allow-access-from-linode-infrastructure/index.md b/docs/products/services/managed/guides/allow-access-from-linode-infrastructure/index.md deleted file mode 100644 index 09a173a3df6..00000000000 --- a/docs/products/services/managed/guides/allow-access-from-linode-infrastructure/index.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Configure Firewall Rules to Allow Access from Linode Infrastructure (for Managed Services Customers) -title_meta: Configure Firewall Rules to Allow Access from Linode Infrastructure -description: "Learn how to configure your firewall rules so that the Managed Service's team of experts are able to access your Compute Instances and troubleshoot issues." -published: 2023-04-11 -linkTitle: Configure Firewall Rules ---- - -As a Managed Services customer, you may need to add or modify your firewall rules to allow access from our infrastructure. When done alongside [configuring SSH access for Managed Services](/docs/products/services/managed/guides/ssh-access/), this enables the Support team to log in to your system and troubleshoot issues. It also enables our infrastructure to perform the checks configured on your monitors. The exact procedure varies based on the firewall software in use. See the following guides for help configuring firewalls: - -- Linode Cloud Firewall: [Manage Cloud Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/) -- UFW: [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) -- FirewallD: [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) -- iptables: [Controlling Network Traffic with iptables - A Tutorial](/docs/guides/control-network-traffic-with-iptables/) - -### Incident Response Infrastructure - -Allow the following hostnames and IP addresses so that our incident response team can access your server. - -```command -blackbox1-dallas.linode.com 50.116.31.27 -blackbox1-newark.linode.com 66.175.214.213 -``` - -### Monitor Infrastructure - -Allow the following hostnames and IP addresses so that our infrastructure can perform the checks configured on your monitors. - -- **Atlanta:** - - ```command - monitor1-atlanta.linode.com 2600:3c02::f03c:91ff:feae:8540 66.228.57.137 - monitor2-atlanta.linode.com 2600:3c02::f03c:91ff:feae:69d5 50.116.38.168 - ``` - -- **Dallas:** - - ```command - monitor1-dallas.linode.com 2600:3c00::f03c:91ff:feae:8351 50.116.25.212 - monitor2-dallas.linode.com 2600:3c00::f03c:91ff:feae:47d9 198.58.98.236 - ``` - -- **Frankfurt:** - - ```command - monitor1-frankfurt.linode.com 2a01:7e01::f03c:91ff:fe26:e120 139.162.128.25 - monitor2-frankfurt.linode.com 2a01:7e01::f03c:91ff:fe26:8a6a 139.162.128.26 - ``` - -- **Fremont:** - - ```command - monitor1-fremont.linode.com 2600:3c01::f03c:91ff:feae:85e2 50.116.11.198 - monitor2-fremont.linode.com 2600:3c01::f03c:91ff:feae:47d3 66.175.221.50 - ``` - -- **London:** - - ```command - monitor1-london.linode.com 2a01:7e00::f03c:91ff:feae:6965 176.58.113.114 - monitor2-london.linode.com 2a01:7e00::f03c:91ff:feae:6924 178.79.189.96 - ``` - -- **Mumbai:** - - ```command - monitor1-mum1.linode.com 2400:8904::f03c:91ff:fe5d:25b5 172.105.41.4 - monitor2-mum1.linode.com 2400:8904::f03c:91ff:fe5d:2595 172.105.42.4 - ``` - -- **Newark:** - - ```command - monitor1-newark.linode.com 2600:3c03::f03c:91ff:feae:832c 198.74.56.5 - monitor2-newark.linode.com 2600:3c03::f03c:91ff:feae:4766 198.74.59.104 - ``` - -- **Singapore:** - - ```command - monitor1-singapore.linode.com 2400:8901::f03c:91ff:fe33:54f2 103.3.60.25 - monitor2-singapore.linode.com 2400:8901::f03c:91ff:fe33:5401 103.3.60.26 - ``` - -- **Sydney:** - - ```command - monitor1-syd1.linode.com 2400:8907::f03c:92ff:fe67:b794 172.105.176.9 - monitor2-syd1.linode.com 2400:8907::f03c:92ff:fe67:b74f 172.105.162.10 - ``` - -- **Tokyo:** - - ```command - monitor1-shg1.linode.com 2400:8902::f03c:91ff:fe2c:ff57 139.162.65.25 - monitor2-shg1.linode.com 2400:8902::f03c:91ff:fe2c:6eda 139.162.65.26 - ``` - -- **Toronto:** - - ```command - monitor1-tor1.linode.com 2600:3c04::f03c:91ff:fe82:1151 172.105.0.13 - monitor2-tor1.linode.com 2600:3c04::f03c:91ff:fe82:de74 172.105.14.4 - ``` \ No newline at end of file diff --git a/docs/products/services/managed/guides/cancel/index.md b/docs/products/services/managed/guides/cancel/index.md deleted file mode 100644 index 2a793dd4429..00000000000 --- a/docs/products/services/managed/guides/cancel/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Cancel Managed Services -description: "Learn how to cancel Managed Services on your account." -published: 2023-04-11 ---- - -If you no longer need Linode's Managed Services offering, you can cancel it by [contacting the Support team](https://www.linode.com/support/). This removes all service monitors and any other data (such as saved credentials and contacts) that is stored as part of Managed Services. In addition to this, the following services are also affected: - -- **Backup Service:** By default, the Backup service for each Compute Instance remains active. This means that all of your backups are retained and that you will be billed for this service going forward. If desired, you can make a note in your request to cancel Managed Services that you also wish to remove all Backup services. Otherwise, you can remove backups for individual Compute Instances by following the [Cancel Backups](/docs/products/storage/backups/guides/cancel/) guide. - -- **Longview Pro:** If any Longview Pro clients have been configured, the Longview Pro service remains on your account as a paid service. Your Longview clients will continue to work as expected. If desired, you can make a note in your request to cancel Managed Services that you also wish to cancel Longview Pro. If you do so, your Longview clients will be migrated to the free plan (which supports up to 10 clients). See [Longview Pricing and Plans](/docs/products/tools/longview/). - -- **cPanel:** When the service is cancelled, any cPanel licenses acquired through Managed Services are also revoked. If you still wish to use cPanel, you can purchase licenses directly through the [cPanel website](https://cpanel.net/pricing/). - -{{< note >}} -There is not currently a self-service option for cancelling Managed Services in Cloud Manager, Linode CLI, or Linode API. You will need to contact the Support team to do so. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/services/managed/guides/contacts/index.md b/docs/products/services/managed/guides/contacts/index.md deleted file mode 100644 index 4e65c81ae04..00000000000 --- a/docs/products/services/managed/guides/contacts/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: Manage Contacts for Managed Services -description: "Learn how to add contacts and contact groups to Linode Managed Services." -published: 2023-04-11 -linkTitle: Manage Contacts ---- - -Service Monitors can be configured to email your team members in the event of an issue with your system. Team member contact information is stored as a *Contact* in Managed Services. Each Service Monitor can be attached to a *Contact Group*, each of which can contain one or more individual *Contacts*. Separate groups can be created for each different system or service. - -For example, you might add all of your database administrators to a group named *DBAs* and then link that group to a Service Monitor monitoring the state of your MySQL server. When an issue is detected, all of your database administrators are notified at the same time. - -You can optionally attach up to two phone numbers to your contacts, a primary number and a secondary number. These are used by our Support team to call a point of contact on your side to obtain more information when troubleshooting an issue. - -## Add or Edit a Contact - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Managed** link in the sidebar. - -1. Navigate to the **Contacts** tab. Click on the **Add a Contact** link to add a new contact. If you wish to edit an existing contact instead, locate that contact in the list and click the corresponding **Edit** button. - - ![Screenshot of the Managed Services Contacts page in Cloud Manager](managed-contacts.png) - -1. In the form that appears, enter the details for this contact. - - - **Name** (required): The name of the contact. This is likely the first and last name of the associated person. - - - **Email** (required): The email address to use for this contact. This email is sent an email notification if any attached Service Monitor detects an issue. - - - **Primary Phone** and **Secondary Phone**: The first and second phone number that the Support team should call if more information is needed during an investigation. - - - **Group:** The name of the group that this contact belongs to. Select an existing group from the dropdown menu or type in a name to create a new group. - - {{< note >}} - A Managed service can only be linked to a contact group and not to individual contacts, so you should create at least one group, even if it only contains one contact. - {{< /note >}} - -1. Once the contact details have been entered, click the **Add Contact** or **Save Contact** button to save the changes. - -## Attach a Contact Group to a Service Monitor - -A contact group needs to be assigned to a Service Monitor so that members of that group can be alerted when an issue is detected. To do this, follow the instructions for editing a service monitor and select the desired group under the **Contact Group** field. See [Edit a Service Monitor](/docs/products/services/managed/guides/service-monitors/#edit-a-service-monitor). \ No newline at end of file diff --git a/docs/products/services/managed/guides/contacts/managed-add-contact.png b/docs/products/services/managed/guides/contacts/managed-add-contact.png deleted file mode 100644 index 2ec22bef98d..00000000000 Binary files a/docs/products/services/managed/guides/contacts/managed-add-contact.png and /dev/null differ diff --git a/docs/products/services/managed/guides/contacts/managed-contacts.png b/docs/products/services/managed/guides/contacts/managed-contacts.png deleted file mode 100644 index 40ee4bc7df3..00000000000 Binary files a/docs/products/services/managed/guides/contacts/managed-contacts.png and /dev/null differ diff --git a/docs/products/services/managed/guides/credentials/index.md b/docs/products/services/managed/guides/credentials/index.md deleted file mode 100644 index 77fa8fc5c76..00000000000 --- a/docs/products/services/managed/guides/credentials/index.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Configure Credentials for Managed Services -description: "Learn how to view, add, and edit credentials that the Support team can use when investigating an issue related to Linode Managed Services." -published: 2023-04-11 -linkTitle: Configure Credentials ---- - -Many of the applications running on your servers can only be accessed with the appropriate username and password combination. To provide Linode's staff with access to those applications, you should upload *credentials* for them to the Linode Cloud Manager. Once uploaded, you can also link credentials to specific Managed services to communicate which ones Linode Support should use when troubleshooting the service. - -{{< note >}} -All credentials are securely stored in our encrypted database. -{{< /note >}} - -## View Credentials - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Managed** link in the sidebar. - -1. Navigate to the **Credentials** tab. A list of all your current credentials is displayed. From here, you can add new credentials or edit existing credentials. - - ![Screenshot of credentials for Managed Services in Cloud Manager](managed-credentials.png) - - Alongside each credential is a *Last Decrypted* field. This displays the timestamp for when the credential was last decrypted by our Support team. - -## Add a Credential - -1. Navigate to the **Credentials** tab for Managed Services in Cloud Manager. See [View Credentials](#view-credentials). - -1. Click the **Add Credentials** button. - -1. In the form that appears, enter the details for your credential. The following fields are available: - - - **Label** (required): A descriptive name for the credential that explains to the Linode Support Team how the credential should be used. For example, if you are entering the MySQL `root` password, you might label it as `MySQL Root`. - - - **Username:** The username to supply when authenticating with the application. - - - **Password** (required): The password or passphrase to supply when authenticating with the application. - -1. Once the form is complete, click the **Add Credential** button. - -## Edit a Credential - -1. Navigate to the **Credentials** tab for Managed Services in Cloud Manager. See [View Credentials](#view-credentials). - -1. Locate the credential you wish to edit and click the corresponding **Edit** button. - -1. To update the label, enter the new label and click the **Update Label** button. - -1. To modify the credentials, enter the new username or password and click the **Update Credentials** button. \ No newline at end of file diff --git a/docs/products/services/managed/guides/credentials/managed-credentials.png b/docs/products/services/managed/guides/credentials/managed-credentials.png deleted file mode 100644 index c059ba3796c..00000000000 Binary files a/docs/products/services/managed/guides/credentials/managed-credentials.png and /dev/null differ diff --git a/docs/products/services/managed/guides/service-monitors/index.md b/docs/products/services/managed/guides/service-monitors/index.md deleted file mode 100644 index 754a3580e59..00000000000 --- a/docs/products/services/managed/guides/service-monitors/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Create and Edit Service Monitors for Managed Services -description: "Learn how to view, edit, and remove Service Monitors, which are used to monitor services on Compute Instances." -published: 2023-04-11 -linkTitle: Manage Service Monitors -aliases: ['/products/services/managed/guides/add-services/','/products/services/managed/guides/disable-a-service-monitor/','/products/services/managed/guides/reenable-a-service-monitor/','/products/services/managed/guides/remove-services/'] ---- - -Managed Services monitors the *services* running on your Compute Instances. Setting up services is an essential step in the configuration process. - -## View Service Monitors - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Managed** link in the sidebar. - -1. Navigate to the **Monitors** tab. A list of all your current monitors is displayed. From here, you can add new monitors or edit existing ones. - - ![Screenshot of the Monitors tab under Managed Services in Cloud Manager](managed-monitors-list.png) - - Each monitor is listed along side its status and the resource it is checking. - -## Configuration Options - -Each monitor can be configured with the following settings, which are available when creating a new service monitor or editing an existing monitor. - -- **Monitor Label** (required): A label for the service that's being monitored. If an issue arises, a clear and descriptive label helps the Support team quickly identify the service that may need troubleshooting. - -- **Contact Group:** Select a contact group, which contains one or more contacts on your team. This is the group that is notified of any failed checks. It is also the group that the Support team may contact if more information is needed when investigating an issue with the service. To add or modify contacts, see [Manage Contacts](/docs/products/services/managed/guides/contacts/). - -- **Monitor Type** (required): Select **URL** to monitor a website or **TCP Connection** to monitor any other service running on your Compute Instance. - -- **Response Timeout** (required): The time (in seconds) for a montitor's requests to timeout if a response is not received. - -- **URL** (required): If you selected **URL** for the **Monitor Type** field, enter a URL for a web page that you'd like to monitor. If you selected **TCP Connection**, enter the domain or IP address and, optionally, a port number (separated by a colon) in the **TCP** field. - -- **Response Body Match:** A string that should appear in the HTTP or TCP response body. If not present, then an alert is generated for the service. - -- **Instructions / Notes:** Any notes or additional information about this service. This information is used by the Support team to learn more about the service, it's configuration, and the way it should respond to failed checks. - -- **Credentials:** Any credentials that may need to be used to troubleshoot the service. You can select and save more than one credential for a service. To add or modify credentials, see [Manage Credentials](/docs/products/services/managed/guides/credentials/). - -## Add a Service Monitor - -1. Navigate to the **Monitors** tab for Managed Services in Cloud Manager. See [View Service Monitors](#view-service-monitors). - -1. Click the **Add Monitor** button. - -1. In the form that appears, enter your desired settings. For an explanation of each field, see [Configuration Options](#configuration-options). - -1. Once you're ready, click the **Add Monitor** button to create the new service monitor. - -## Edit a Service Monitor - -1. Navigate to the **Monitors** tab for Managed Services in Cloud Manager. See [View Service Monitors](#view-service-monitors). - -1. Locate the service monitor you wish to modify and click the corresponding **Edit** button. - -1. The form that appears is similar to the *Add Monitor* form. Modify any field that you wish and click the **Save Changes** button once you are finished. - -## Enable or Disable a Service Monitor - -When a service monitor is created, it is automatically enabled. However, you may need to temporarily disable the monitor. For instance, when you are performing maintenance on the monitored resource or on the entire Compute Instance, you likely do not want the service monitor performing checks as it will alert your team (and the Support team) when the check fails. In this event, follow the instructions below to disable the monitor and then re-enable it once the maintenance is complete. - -1. Navigate to the **Monitors** tab for Managed Services in Cloud Manager. See [View Service Monitors](#view-service-monitors). - -1. Locate the service monitor you wish to modify and click the corresponding **Enable** or **Disable** button. This button may be within the expandable **more options ellipsis menu**. - -1. Once the change takes effect, the new status should appear under the **Status** column of the service monitor. - -## Remove a Service Monitor - -If you decide to remove or stop using a monitored service on your Compute Instance, you should also remove the service monitor from your account. If you do not, you will continue to receive notifications when the service fails to contact the specified resource. - -1. Navigate to the **Monitors** tab for Managed Services in Cloud Manager. See [View Service Monitors](#view-service-monitors). - -1. Locate the service monitor you wish to modify and click the corresponding **Delete** button. This button may be within the expandable **more options ellipsis menu**. - -1. A confirmation dialog appears. Follow the instructions and click the **Delete Monitor** button to remove the monitor from your account. \ No newline at end of file diff --git a/docs/products/services/managed/guides/service-monitors/managed-monitors-list.png b/docs/products/services/managed/guides/service-monitors/managed-monitors-list.png deleted file mode 100644 index c0d42e09a2e..00000000000 Binary files a/docs/products/services/managed/guides/service-monitors/managed-monitors-list.png and /dev/null differ diff --git a/docs/products/services/managed/guides/ssh-access/index.md b/docs/products/services/managed/guides/ssh-access/index.md deleted file mode 100644 index 2fb55c8a9d3..00000000000 --- a/docs/products/services/managed/guides/ssh-access/index.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Configure SSH Access for Managed Services -description: "Learn how to configure SSH so that our team can access your system when troubleshooting." -published: 2023-04-11 -linkTitle: Configure SSH Access ---- - -To troubleshoot an issue with a failed monitor check, the Support Team needs access to your system. This access can be provided by using the unique public key generated for your account. You can upload this key to any system user and then configure the SSH access settings for each Compute Instance so that our team is aware of how they should log in. To start using your public key, follow the steps below *for each Compute Instance* on your account. - -1. View your account's public key. -1. Install the public key on your preferred system user. -1. Edit the SSH access settings for the Compute Instance. - -{{< note >}} -If you do not wish to use this public key, you can also configure credentials in the form of usernames and passwords. See the [Configure Credentials]() guide. -{{< /note >}} - -## View Your Public Key - -Linode generates a unique public/private keypair for your account when Managed Services is enabled. The public key is accessible on your account so that you can add it to each Compute Instance. The private key is then used by the Support Team to access your system whenever an issue requires investigation. You can locate your public key through the following steps: - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Managed** link in the sidebar. - -1. Navigate to the **SSH Access** tab. Your public key is displayed at the top of this tab. - - ![A screenshot of an account's public key in Cloud Manager](managed-public-key.png) - -1. Hover over the public key box to view the full public key. To copy it, click the **Copy to clipboard** button. - -## Add the Public Key to Your Compute Instance(s) - -Installing the public SSH key for the `root` user is the easiest way to add Linode's public key to your server. However, if your server's SSH configuration doesn't allow [root login](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options), you may want to skip to the next section to add the public key to another user's account. - -1. Log in to your Compute Instance through [LISH](/docs/products/compute/compute-instances/guides/lish/) or [SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). - -1. Edit the SSH authorized keys file for whichever user account you want the Support Team to use when logging in. - - - For the root user: - - ```command - sudo nano /root/.ssh/authorized_keys - ``` - - {{< note title="Note for using the root user" isCollapsible=true >}} - If you followed the instructions in the [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to disable root login via SSH, you need to re-enable that feature. Follow the relevant instructions within the [Set Up and Secure](/docs/products/compute/compute-instances/guides/set-up-and-secure/#ssh-daemon-options) guide to edit the `sshd_config` file and re-enable root login via SSH. - {{< /note >}} - - - For a limited user (editing the home directory as needed): - - ```command - sudo nano /home/example_user/.ssh/authorized_keys - ``` - - {{< note title="Note for using a limited user" isCollapsible=true >}} - In general, [sudo privileges](/docs/guides/linux-users-and-groups/#understanding-the-sudo-linux-group-and-user) are needed to run many of the troubleshooting commands our Support Team might use. Whenever possible, you should grant the limited user sudo privileges. The [Adding a New User](/docs/products/compute/compute-instances/guides/set-up-and-secure/#add-a-limited-user-account) guide shows how to add your user to the `sudo` group (or `wheel` or `admin` group, depending on your distribution). - - After adding the limited user account to the sudo group, you need to either provide the user's password to the Support Team (see [Add Credentials](#adding-service-credentials)) or enable passwordless sudo by following the instructions below. - - 1. Edit the `sudoers` file. The following command opens the file using the [Vim](https://en.wikipedia.org/wiki/Vim_(text_editor)) text editor. - - ```command - sudo visudo - ``` - - 1. Type `i` to enter *insert mode* in Vim. - - 1. In the *User privilege specification* section of the file, add the following line, replacing `example_user` with your user name: - - ```output - example_user ALL=(ALL) NOPASSWD: ALL - ``` - - 1. Press **Esc** to exit *insert mode*. - - 1. Make sure this user is not in any other groups listed in `/etc/sudoers`, as this may override the passwordless sudo setting. - - 1. Type `:wq` and press **Enter** to save and quit the file. - {{< /note >}} - - If the `.ssh` directory does not exist for your user or the root user, you can create it with the following command, replacing *[directory]* with `/home/example_user/.ssh/` or `/root/.ssh/`, adjusting the path as needed for your user. - - ```command - mkdir [directory] - ``` - -1. Paste your public key to a new line in the file. - -1. Save the changes to the file and exit your text editor. In the `nano` editor, enter Ctrl-X and then Y to confirm. - -Once you've added the public key to your preferred user, you may need to allow access from our infrastructure (see [Configuring Firewall Rules](#configuring-firewall-rules)). If you wish to confirm that everything is properly configured, [open a support ticket](/docs/products/platform/get-started/guides/support/#contact-customer-support) to have the Support team confirm that they have access. Repeat this process on every Compute Instance you want to monitor. - -## Edit SSH Access Settings for Each Compute Instance - -After adding your public key to each Compute Instance you want to monitor, make sure to edit the SSH access settings for those instances (and any other instance on your account). These settings are used by the Support team so that they know if SSH access has been enabled and, if so, on which user and port. The following settings can be specified: - -- **SSH Access:** Specifies if SSH access is enabled for the instance (default: *Enabled*). -- **User:** The user account that the Support team should use (default: *root*). -- **IP:** The IP address that the support team should use (default: *Any*). This is only needed if your Compute Instance has multiple IP addresses and only certain ones allow SSH connections. -- **Port:** The SSH port on the system (default: *22*). Only change this if your system is using a non-standard port for SSH connections. - -{{< note >}} -Modifying these SSH access settings for a Compute Instance **does not change** anything internally on your system. These settings are only used to communicate access details to the Support team. -{{< /note >}} - -Follow the steps below to edit the SSH access settings for each Compute Instance. - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Managed** link in the sidebar. - -1. Navigate to the **SSH Access** tab and scroll down to view a list of Compute Instances on your account. - -1. Locate the Compute Instance for which you wish to modify the SSH settings and click the corresponding **Edit** button. - - ![Screenshot of SSH Access settings for each Compute Instance](managed-ssh-access-list.png) - - If you instead with to enable or disable access, click the corresponding **Enable** or **Disable** button. - -1. Update the SSH access details with the appropriate values for your system. Once you're done, click the **Save Changes** button. \ No newline at end of file diff --git a/docs/products/services/managed/guides/ssh-access/managed-public-key.png b/docs/products/services/managed/guides/ssh-access/managed-public-key.png deleted file mode 100644 index e4dba079fc4..00000000000 Binary files a/docs/products/services/managed/guides/ssh-access/managed-public-key.png and /dev/null differ diff --git a/docs/products/services/managed/guides/ssh-access/managed-ssh-access-list.png b/docs/products/services/managed/guides/ssh-access/managed-ssh-access-list.png deleted file mode 100644 index 7d20a6876b8..00000000000 Binary files a/docs/products/services/managed/guides/ssh-access/managed-ssh-access-list.png and /dev/null differ diff --git a/docs/products/services/managed/resources/index.md b/docs/products/services/managed/resources/index.md deleted file mode 100644 index 6290966ed2d..00000000000 --- a/docs/products/services/managed/resources/index.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Resources -title_meta: "Resources for the Linode Managed Service" -description: "Resources and other information related to the Linode Managed Service including blog posts, community posts, customer stories, and press releases." -published: 2023-04-04 -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [Linode Managed is even better than before!](https://www.linode.com/blog/linode/linode-managed-is-even-better-than-before/) - -- [Introducing Linode Managed](https://www.linode.com/blog/linode/introducing-linode-managed/) - -## Community Posts - -- [Linode Managed Beta](https://www.linode.com/community/questions/8299/linode-managed-beta) - -- [Does Linode offer Managed Services](https://www.linode.com/community/questions/341/does-linode-offer-managed-services) - -- [What is Linode Managed?](https://www.linode.com/community/questions/17902/what-is-linode-managed) - -- [Does Linode Managed include system updates?](https://www.linode.com/community/questions/18607/does-linode-managed-include-system-updates) - -- [Can I chose which Linodes have Managed Services?](https://www.linode.com/community/questions/18607/does-linode-managed-include-system-updates) - -- [Need to edit Managed monitor](https://www.linode.com/community/questions/19514/need-to-edit-managed-monitor) - -- [Linode Managed and CloudFlare](https://www.linode.com/community/questions/19998/linode-managed-and-cloudflare) - -- [How do I access cPanel](https://www.linode.com/community/questions/19072/how-do-i-access-cpanel-one-click-app) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=managed). - -## Customer Stories - -- [Craft of Code Savvii](https://www.linode.com/spotlight/savvii/) - -## eBooks - -- [2020 Trends in Managed Services & Hosting](https://www.linode.com/content/2020-trends-in-managed-services-and-hosting/) - -- [An Introduction to High-Availability Design for WordPress](https://www.linode.com/content/an-introduction-to-high-availability-design-for-wordpress/) - -## Press Releases - -- [Linode Celebrates 12th Birthday by Adopting KVM & Boosting Cloud Server Performance by 300%](https://www.linode.com/press-release/linode-celebrates-12th-birthday-by-adopting-kvm-and-boosting-cloud-server-performance-by-300/) \ No newline at end of file diff --git a/docs/products/storage/_index.md b/docs/products/storage/_index.md deleted file mode 100644 index 3ba60aba988..00000000000 --- a/docs/products/storage/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Storage -title_meta: Storage Products and Services -description: "Linode offers dependable, easily-accessible storage and management." ---- diff --git a/docs/products/storage/backups/_index.md b/docs/products/storage/backups/_index.md deleted file mode 100644 index e3bedb28703..00000000000 --- a/docs/products/storage/backups/_index.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: Backups -title_meta: "Linode Backup Service Product Documentation" -description: "Linode Backup service is a fully managed and easy to use backup service that's fully integrated into the Linode Platform." -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "Fully managed automatic daily, weekly, and biweekly backups of your Linode Compute Instances." -toc: true -aliases: ['/security/backups/linode-backup-service/','/platform/disk-images/linode-backup-service-classic-manager/','/platform/backup-service/','/platform/linode-backup-service/','/platform/disk-images/linode-backup-service/','/platform/disk-images/linode-backup-service-new-manager/','/backup-service/','/guides/linode-backup-service/'] ---- - -Safeguard your data with Linode's Backups service, enabling automatic backups of the disks on your Compute Instances. Up to four backups are stored as part of this service, including automated daily, weekly, and biweekly backups in addition to a manual backup snapshot. Each backup is a full file-based snapshot of your disks taken during your preferred scheduled time slot while the Linode Compute Instance is still running. This means that the Backups service is not disruptive and provides you with several complete recovery options. - -## Fully Managed - -Linode Backups is a managed service that automatically backs up your Linode disks at regular intervals. Use full-system backups to guard against accidental deletions or misconfigurations. - -## Convenient & Configurable - -Enable the Backup Service with a single click. It activates instantly, and your first backups are automatically scheduled. There is no software to install or configure. You can choose when your Linode backups are generated. Select a two-hour window that suits you. - -## Availability - -Backups are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Plans and Pricing - -The Backup service is available as a paid add-on for Compute Instances. Pricing starts at $2/month for a 1 GB Shared CPU Compute Instance. Review the [Pricing page](https://www.linode.com/pricing/#row--storage) for additional rates based on other Compute Instance plans. - -On all plans, the Backup service can store up to four backups, three of which are automatically generated on the date and time range you specify: - -- **Daily** *(Less than 24 hours old)* -- **Weekly** *(Less than 7 days old)* -- **Biweekly** *(Between 8 and 14 days old)* -- **Manual Snapshot** *(A user-initiated snapshot that stays the same until another snapshot is initiated)* - -The Backup service does not keep automated backups older than 14 days, though there are no restrictions on the age of a manual snapshot. - -## Additional Technical Specifications - -- Compatible with all Linode Compute Instances, provided their disks contain unencrypted ext3 or ext4 file systems -- File-based backup solution, meaning it operates at the file level and not the block level -- Backups are stored on separate dedicated hardware within the same data center -- Can be managed through [Cloud Manager](https://cloud.linode.com/), the [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) - -## Part of a Multi-Tiered Backup Strategy - -Linode's Backup service is one part of a well rounded backup strategy. On-site backups provide a quick and convenient recovery option. While the backups are stored on different hardware, that hardware is located within the same data center as the Compute Instance. It's also recommended to regularly backup your data off-site, such as on a local machine or using a third-party cloud-based service. - -## Limits and Considerations - -- **Disks are backed up, but not Linode-specific settings such as those stored within Configuration Profiles.** - -- **Disks must be unencrypted and able to be mounted.** The Backup service is not compatible with full disk encryption or changes that prevent us from mounting the disk as a file system, such as creating partitions. This is because our service operates at the file level, not at the block level. Also, the disk must be formatted and an EXT3 or EXT4 file system should be assigned to it. - -- All disks will be restored as an ext4 file system and their UUIDs will be different than the original disks. - -- **A large number of files will prolong the backup process and may cause failures.** Because the Backup Service is file-based, the number of files stored on disk impacts both the time it takes for backups and restores to complete, and your ability to successfully take and restore backups. Customers who need to permanently store a large number of files may want to archive bundles of smaller files into a single file, or consider other backup services. - - {{< note >}} - The percentage of customers who may run into this limitation is low. If you are not sure if this limitation applies to you, please [contact Linode Support](/docs/products/platform/get-started/guides/support/#contact-customer-support). - {{< /note >}} - -- Files that have been modified but have the same size and modify time are not be considered "changed" during a subsequent backup. ACLs and extended attributes are *not* tracked. - -- The Backup Service uses a snapshot of your disks to take consistent backups while your Linode is running. This method is very reliable, but can fail to properly back up the data files for database services like MySQL. If the snapshot occurs during a transaction, the database's files may be backed up in an unclean state. We recommend scheduling routine dumps of your database to a file on the filesystem. The resulting file is then included in the daily backup, allowing you to restore the contents of the database if you need to restore from a backup. - -- **Volumes attached to a Compute Instance are not backed up as part of the Backup service**. \ No newline at end of file diff --git a/docs/products/storage/backups/developers/index.md b/docs/products/storage/backups/developers/index.md deleted file mode 100644 index e6049f03b6c..00000000000 --- a/docs/products/storage/backups/developers/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for the Linode Backup Service" -description: "The Linode Backup Service is managed easily with developer tools like the Linode API or CLI." -published: 2021-11-12 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [List Backups](https://techdocs.akamai.com/linode-api/reference/api-summary#backups-list) - -- [Create Snapshot](https://techdocs.akamai.com/linode-api/reference/api-summary#snapshot-create) - -- [Cancel Backups](https://techdocs.akamai.com/linode-api/reference/api-summary#backups-cancel) - -- [Enable Backups](https://techdocs.akamai.com/linode-api/reference/api-summary#backups-enable) - -- [View Backup](https://techdocs.akamai.com/linode-api/reference/api-summary#backup-view) - -- [Restore Backup](https://techdocs.akamai.com/linode-api/reference/api-summary#backup-restore) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. diff --git a/docs/products/storage/backups/faqs/_index.md b/docs/products/storage/backups/faqs/_index.md deleted file mode 100644 index 37b40e128c8..00000000000 --- a/docs/products/storage/backups/faqs/_index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "FAQs" -title_meta: "FAQs for the Backup Service" -description: "Find quick answers to some of the most commonly asked questions for Linode's Backup Service." -published: 2023-07-07 -tab_group_main: - weight: 60 ---- - -## Can I create more than one manual backup? - -The Backup service allows for one manual snapshot in addition to the three automatically generated scheduled backups. There are no additional manual snapshot slots available. If you have an existing snapshot and you attempt to create a new one, the new snapshot will replace the old one. - -If you require additional manual backups of your data, consider using [alternative methods of backing up your data](/docs/guides/backing-up-your-data/) or use our Images service to [capture an image](/docs/products/tools/images/guides/capture-an-image/) of your Compute Instance's disk. - -## Can I use the Backup service to backup Block Storage Volumes? - -No, the Backup service does not take backups of Block Storage volumes, even if a volume is attached to a Compute Instance. If you wish to create a backup of your volume, consider cloning your volume or using [alternative methods of backing up your data](/docs/guides/backing-up-your-data/). Cloning a volume creates a new Block Storage volume of the same size and copies over all existing data. To clone your volume, navigate to the Volumes page in Cloud Manager, open the ellipsis menu of the corresponding Volume you wish to clone, and select the **Clone** link. - -![Screenshot of the Clone link for a Block Storage volume](clone-volume.png) - -## Where are backups physically stored? - -Backups created by the Backup service are stored on separate dedicated hardware located in the same data center as the associated Compute Instance. This means that existing backups are not affected by isolated incidents with the Compute Instance or the underlying hardware of that instance. - -## How do I download a backup to my local computer? - -Existing backups are not able to be downloaded directly, though you can restore a backup to a Compute Instance and download any files or disks you require. - -- If you need a local backup of your Compute Instance as it exists in that moment, you do not need to restore from a backup. Instead, you can use tools like [rsync](/docs/guides/backing-up-your-data/#manual-backup-via-rsync), FTP, and SCP to download files directly from your instance. For more details, see [Download Files from Your Compute Instance](/docs/guides/download-files-from-a-compute-instance/). - -- If you wish to download files as they were on a previous backup, you can restore that backup to a Compute Instance and then access that instance to download files. For instructions, see [Download a Local Copy of your Linode Backup](/docs/products/storage/backups/guides/download-backups-locally/). - -## Is the Backup service compatible with an encrypted or partitioned disk? - -No. Our Backup service must be able to mount your disk. This is not currently possible if your disk is encrypted or if it has multiple partitions. See [Limits and Considerations](/docs/products/storage/backups/#limits-and-considerations) for more details about this and other requirements. - -## Why does it take such a long time to create a backup or restore from a backup? - -In many cases, slow backup operations (including creating a new backup and restoring from a backup) are due to a large number of files stored on your Compute Instance. The more files on your system, the longer it takes to perform backup operations and the greater the chance for a backup failure. - -If your system generates a large number of files (such as log files), consider configuring your system to automatically archive (or delete) these files. Alternatively, you can also store these files on a disk that is *not* subscribed to our Backup service or store them on a [Block Storage](https://www.linode.com/products/block-storage/) volume. If any of these solutions do not work for you, review the [Backing Up Your Data](/docs/guides/backing-up-your-data/) guide for to learn about other backup tools and strategies. - -## What do I do if my backup restoration fails? - -When restoring a backup to a Compute Instance, you may see a message that your backup restoration has failed. If you receive this message, we first recommend that you attempt to boot that Compute Instance. It's possible that only a small number of files failed to be properly restored (such as socket files and other temporary files). In this case, it's likely that your Compute Instance will still successfully boot and contain all of the data you required. If booting the instance does not work, review the [Troubleshooting Backups](/docs/products/storage/backups/guides/troubleshooting/) guide. - -## Why do I keep receiving "Backup Failure" tickets? - -This ticket is to alert you when our Backup service isn't able to successfully backup one of your Compute Instances. These issues are often resolved automatically and, in many cases, no action is required on your end. If you have received more than one of these tickets in a short period of time, we recommend reviewing the [Troubleshooting Backups](/docs/products/storage/backups/guides/troubleshooting/) guide so that you can diagnose the issue yourself or replying to one of the tickets so that our Support team can investigate further. \ No newline at end of file diff --git a/docs/products/storage/backups/faqs/clone-volume.png b/docs/products/storage/backups/faqs/clone-volume.png deleted file mode 100644 index f4b2045ba89..00000000000 Binary files a/docs/products/storage/backups/faqs/clone-volume.png and /dev/null differ diff --git a/docs/products/storage/backups/faqs/tab.svg b/docs/products/storage/backups/faqs/tab.svg deleted file mode 100644 index 24b2df1f82a..00000000000 --- a/docs/products/storage/backups/faqs/tab.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/storage/backups/feature.png b/docs/products/storage/backups/feature.png deleted file mode 100644 index e40f05efd0c..00000000000 Binary files a/docs/products/storage/backups/feature.png and /dev/null differ diff --git a/docs/products/storage/backups/feature.svg b/docs/products/storage/backups/feature.svg deleted file mode 100644 index 81fb9a534b1..00000000000 --- a/docs/products/storage/backups/feature.svg +++ /dev/null @@ -1,8 +0,0 @@ - - Backups - - - - - - \ No newline at end of file diff --git a/docs/products/storage/backups/get-started/index.md b/docs/products/storage/backups/get-started/index.md deleted file mode 100644 index d78df239ffb..00000000000 --- a/docs/products/storage/backups/get-started/index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Get Started" -title_meta: "Getting Started with the Linode Backup Service" -description: "Get Started with the Linode Backup Service. Learn how to enable the Backup Service and manage your backups." -published: 2021-11-12 -tab_group_main: - weight: 20 -aliases: ['/products/storage/backups/guides/manage/'] ---- - -## Enabling the Backup Service - -The Backup service can be enabled on existing Compute Instances by following the instructions below: - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. From the **Linodes** page, select the Linode you want to back up. - -1. Click the **Backups** tab. - -1. Click **Enable Backups**. - -For further instructions, including details on enabling the Backup service for new Linodes, see [Enable Backups](/docs/products/storage/backups/guides/enable/). - -## Managing Backups - -Once enabled, the Backup service will store up to four backups, three of which are automatically generated on the date and time range you specify: - -- **Daily** *(Less than 24 hours old)* -- **Weekly** *(Less than 7 days old)* -- **Biweekly** *(Between 8 and 14 days old)* -- **Manual Snapshot** *(A user-initiated snapshot that stays the same until another snapshot is initiated)* - -These backups can be managed in Cloud Manager under the **Backups** tab for your Compute Instance. - -![The list of Backups in Cloud Manager](manage-backups.png) - -This page also provides a few other options, detailed below: - -- **Manual Snapshot:** Creates a new manual snapshot, overwriting any existing one. See [Take a Manual Snapshot](/docs/products/storage/backups/guides/take-a-snapshot/). - -- **Settings:** Allows you to schedule when automatic backups are generated. See [Schedule Backups](/docs/products/storage/backups/guides/schedule/). - -- **Cancel Backups:** Removes the Backup service and deletes all existing backups. See [Cancel the Backup Service](/docs/products/storage/backups/guides/cancel/). - -## Restoring from a Backup - -To restore from a backup, locate the backup within the **Backups** tab of the Compute Instance and click the corresponding **ellipsis** menu. From here, there are a few options that can be selected: - -- **Restore to Existing Linode:** Restore the backup disks to an existing Compute Instance. [Restore a Backup to an Existing Linode](/docs/products/storage/backups/guides/restore-to-an-existing-instance/) - -- **Deploy New Linode:** Restore the backup disks to a new Compute Instance. See [Restore a Backup to a New Linode](/docs/products/storage/backups/guides/restore-to-a-new-instance/). \ No newline at end of file diff --git a/docs/products/storage/backups/get-started/manage-backups.png b/docs/products/storage/backups/get-started/manage-backups.png deleted file mode 100644 index 483a0423cff..00000000000 Binary files a/docs/products/storage/backups/get-started/manage-backups.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/_index.md b/docs/products/storage/backups/guides/_index.md deleted file mode 100644 index e8a5d16ca97..00000000000 --- a/docs/products/storage/backups/guides/_index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for the Linode Backup Service" -description: "A collection of guides to help you learn how to get up and running with Linode's Backup Service, including enabling and scheduling backups." -published: 2021-11-12 -modified: 2023-07-07 -tab_group_main: - weight: 30 ---- - -## Basics - -These introductory guides help get you up and running with Linode's Backup Service. - -- [Enable the Backup Service](/docs/products/storage/backups/guides/enable/): Use Cloud Manager to enable the Backup Service. - -- [Schedule Backups](/docs/products/storage/backups/guides/schedule/): Configure when automatic backups are initiated. - -- [Take a Manual Snapshot](/docs/products/storage/backups/guides/take-a-snapshot/): Learn how to make manual backups (snapshots) of your Compute Instance. - -- [Restore a Backup to a New Compute Instance](/docs/products/storage/backups/guides/restore-to-a-new-instance/): Restore a backup to a new Compute Instance. - -- [Restore a Backup to an Existing Compute Instance](/docs/products/storage/backups/guides/restore-to-an-existing-instance/): Restore a backup to an existing Compute Instance. - -- [Cancel the Backup Service](/docs/products/storage/backups/guides/cancel/): Cancel the Backups Service through Cloud Manager. - -## Going Further - -- [Troubleshooting Backups](/docs/products/storage/backups/guides/troubleshooting/): Get solutions for issues you may encounter when using our Backup service. - -- [Download a Local Copy of your Linode Backup](/docs/products/storage/backups/guides/download-backups-locally/) diff --git a/docs/products/storage/backups/guides/cancel/index.md b/docs/products/storage/backups/guides/cancel/index.md deleted file mode 100644 index 8f5c1f61c45..00000000000 --- a/docs/products/storage/backups/guides/cancel/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Cancel Backups -description: "How to cancel the Linode Backup Service." -published: 2021-11-12 ---- - -You can cancel the Backup Service at any time, which prevents any new backups from being created using the service and deletes any previously generated backups that may have been stored. - -{{< note type="alert" >}} -Cancelling your Backup Service irretrievably deletes all of your Linode's Backups, including its manual Snapshot. - -To preserve this data, you need to back up your data independently from the Backup Service before cancelling it. You may consult the suggestions in [Backing Up Your Data](/docs/guides/backing-up-your-data/) for more information on how to do this. -{{< /note >}} - -1. From the **Linodes** page, select the Linode. - -1. Click the **Backups** tab. - -1. Click the **Cancel Backups** button at the bottom of the page. \ No newline at end of file diff --git a/docs/products/storage/backups/guides/download-backups-locally/download-a-local-copy-of-your-linode-backup.png b/docs/products/storage/backups/guides/download-backups-locally/download-a-local-copy-of-your-linode-backup.png deleted file mode 100644 index f9bf93ff5f8..00000000000 Binary files a/docs/products/storage/backups/guides/download-backups-locally/download-a-local-copy-of-your-linode-backup.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/download-backups-locally/index.md b/docs/products/storage/backups/guides/download-backups-locally/index.md deleted file mode 100644 index 7cf1160fb90..00000000000 --- a/docs/products/storage/backups/guides/download-backups-locally/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -slug: download-backups-locally -title: Download a Local Copy of a Backup -description: "This guide provides you with step-by-step instructions for downloading files (or entire disks) from backups stored within Backup service." -published: 2021-11-12 -modified: 2023-07-07 -keywords: ["backup", "backups", "rsync", "restore", "local"] -license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -tags: ["security"] -aliases: ['/security/data-portability/download-backups-locally/','/guides/download-backups-locally/'] -image: download-a-local-copy-of-your-linode-backup.png ---- - -The [Linode Backups](/docs/products/storage/backups/) service is used to create automatic and manual snapshots of your Compute Instances. A completed backup can be directly restored to the origin Compute Instance or to a new instance in the same data center. These workflows make it easy to revert to a working configuration if you run into any unexpected issues with your software. - -Backups generated by the Backup service are not able to be directly downloaded and are intended only for restoring that backup to a Compute Instance. A common question for the service is how you can download the content from your Linode Backups to another storage location, like your home computer. This can be accomplished through the following steps covered in this guide: - -1. [Restore a backup](#restore-a-backup) to a new or existing Compute Instance. -2. [Download any files](#download-files) you need from instance or download the entire disk image. - -## Restore a Backup - -To access the data stored in a backup generated by our Backup service, you must first restore that backup to a Compute Instance. For instructions, see one of the guides below: - -- [Restore a Backup to a New Compute Instance](/docs/products/storage/backups/guides/restore-to-a-new-instance/) -- [Restore a Backup to an Existing Compute Instance](/docs/products/storage/backups/guides/restore-to-an-existing-instance/) - -{{< note type="warning" >}} -Restoring a backup to a new Compute Instance will result in service charges for the time that instance is active. -{{< /note >}} - -## Download Files - -If you wish to retain specific files or directories from your restored backup, you can download them using SFTP or SCP. - -- **SFTP (Secure File Transfer Protocol):** An FTP desktop client provides a graphical interface so that you can access, download, and upload the files on your remote system. Download your preferred FTP client (like FileZilla), connect using your SSH credentials, and download the files you need. Review the [Transfer Files with FileZilla](/docs/guides/filezilla/) guide for additional instructions. - -- **SCP (Secure Copy Protocol):** A command-line utility available on most modern operating systems. With scp, you can download and upload files or entire directories between two systems. On your local system, run the following command. Replace *[user]* with your Linux username, *[ip-address]* with the IP address or FQDN of your Compute Instance, *[remote-file]* with the name and path of the file (or directory) on your remote system, and *[local-path]* with location to which you wish to save the file locally. When prompted, enter your user's password. - - ```command - scp [user]@[ip-address]:[remote-file] [local-path] - ``` - - For more information, see the [Transfer Files With the scp Command on Linux](/docs/guides/how-to-use-scp/) guide. - -See [Download Files from Your Compute Instance](/docs/guides/download-files-from-a-compute-instance/) for more detailed overview.. - -## Download a Disk - -You can also download and retain a copy of your entire disk if needed. This saves a disk image file (`.img`) on your local system that contains all of the data on your Compute Instance's disk. This disk image can later be re-uploaded to a Compute Instance. This is useful if you wish to temporarily remove your Compute Instance and stop further billing. Follow our [Copy a Disk over SSH](/docs/products/compute/compute-instances/guides/copy-a-disk-image-over-ssh/) guide for further instructions. - -Alternatively, you may wish to [capture an image](/docs/products/tools/images/guides/capture-an-image/) using our paid Image service. This is generally much easier, though it results in a nominal service charge. - -## Delete Services That Are No Longer Needed - -After you've finished downloading your files or disks, you should consider deleting the Compute Instance (if you restored to a new instance) or [delete the restored disks](/docs/products/compute/compute-instances/guides/disks-and-storage/#delete-a-disk) (if you restored to an existing instance). \ No newline at end of file diff --git a/docs/products/storage/backups/guides/enable/auto-enroll-in-backups.png b/docs/products/storage/backups/guides/enable/auto-enroll-in-backups.png deleted file mode 100644 index dc7acf28343..00000000000 Binary files a/docs/products/storage/backups/guides/enable/auto-enroll-in-backups.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/enable/enable-backups.png b/docs/products/storage/backups/guides/enable/enable-backups.png deleted file mode 100644 index 6ec42b2e494..00000000000 Binary files a/docs/products/storage/backups/guides/enable/enable-backups.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/enable/index.md b/docs/products/storage/backups/guides/enable/index.md deleted file mode 100644 index a03cde9f4fb..00000000000 --- a/docs/products/storage/backups/guides/enable/index.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "Enable Backups" -description: "How to enable the Linode Backup Service." -published: 2021-11-12 -aliases: ['/quick-answers/linode-platform/enable-backups-on-a-linode/', '/guides/enable-backups-on-a-linode/'] ---- - -The Backups service can be individually enabled on an existing Compute Instances and auto-enabled on all new Instances. - -## Enable the Backups Service on an Existing Compute Instance - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. From the **Linodes** page, select the Linode you want to back up. - -1. Click the **Backups** tab. - -1. Click **Enable Backups**. - - ![Enable Linode Backups by navigating to the individual Linode's backup menu](enable-backups.png) - -1. A pop-up box is displayed confirming that you intend to enable backups for the specified monthly cost. Click **Enable Backups** to confirm. - -The Linode Backup Service is now enabled for the selected Linode. - -## Auto Enroll New Compute Instances in the Backup Service - -You can automatically enroll all new Linodes in the Backup Service. - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Click the **Account** link in the sidebar, then select the **Settings** tab. - -1. In the **Backup Auto Enrollment** panel, click on the switch to enable backups on all new Linodes. - - ![Auto enroll all new Linodes in the Backup Service by navigating to the Global Settings tab in the Account settings and enabling Backups.](auto-enroll-in-backups.png) - -{{< note >}} -Enabling this setting does not retroactively enroll any previously created Linodes in the Backup Service. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/backups/guides/restore-to-a-new-instance/index.md b/docs/products/storage/backups/guides/restore-to-a-new-instance/index.md deleted file mode 100644 index f0f16a37b18..00000000000 --- a/docs/products/storage/backups/guides/restore-to-a-new-instance/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Restore a Backup to a New Compute Instance -description: "Learn how to restore a backup generated by Linode's Backup service to a new Compute Instance." -published: 2021-11-12 -modified: 2023-08-10 -aliases: ['/products/storage/backups/guides/restore-to-a-new-linode/'] ---- - -These steps cover how to restore a backup to a new Linode Compute Instance. The new Compute Instance will be deployed to the same data center, though you can [migrate](/docs/products/compute/compute-instances/guides/migrate-to-different-dc/) it to any data center you'd like after the restore is complete. - -The size of the disk(s) created by the restore process will be equal to the amount of space allocated to the disk when the backup was created. In some cases, this means you may want to reallocate disk space once the restore is complete. For more information regarding this process, see [Resizing a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk). - -{{< note >}} -This process restores all data that was stored on the disk at the time the backup was taken. It does not restore just a single files or directory. If you just need a single file or group of files, complete the normal restore, log in to the server, and then copy those needed files to your local system or any other Linode Compute Instance. -{{< /note >}} - -1. From the **Linodes** page, select the Compute Instance whose backups you intend to restore. - -1. Click the **Backups** tab. - -1. Click the **more options ellipsis** dropdown menu next to the backup you would like to restore and then select **Deploy New Linode**. - - ![Click on the ellipsis menu icon to restore to a new Linode](restore-backup-new-compute-instance.png) - -1. You will be taken to the **Create New Linode** screen. The **Create from Backup** tab will already be selected for you, as will the fields corresponding to the Compute Instance and backup that you are restoring from. Choose a plan, enter a label for the new instance, select any other options you prefer, and click **Create**. The new Compute Instance will be created with the same password and SSH keys (if any) as the original. - -The backup disks and configuration profiles will be restored to the new instance. Watch the notifications area for updates on the process. Restoring from a backup can take several minutes depending on the size of your instance and the amount of data you have stored on it. \ No newline at end of file diff --git a/docs/products/storage/backups/guides/restore-to-a-new-instance/restore-backup-new-compute-instance.png b/docs/products/storage/backups/guides/restore-to-a-new-instance/restore-backup-new-compute-instance.png deleted file mode 100644 index 83aab2107ab..00000000000 Binary files a/docs/products/storage/backups/guides/restore-to-a-new-instance/restore-backup-new-compute-instance.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/restore-to-an-existing-instance/index.md b/docs/products/storage/backups/guides/restore-to-an-existing-instance/index.md deleted file mode 100644 index 7c561aac333..00000000000 --- a/docs/products/storage/backups/guides/restore-to-an-existing-instance/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Restore a Backup to an Existing Compute Instance -description: "Learn how to restore a backup generated by Linode's Backup service to a disk on an existing Compute Instance." -published: 2021-11-12 -modified: 2023-09-12 -aliases: ['/products/storage/backups/guides/restore-to-an-existing-linode/','/products/storage/backups/guides/boot-from-a-backup/'] ---- - -These steps cover how to restore a backup to an existing Linode Compute Instance, either by adding the restored disks alongside the existing disks or overwriting the existing disks. The target Compute Instance needs to be in the same data center that the backup is stored within, though you can [migrate](/docs/products/compute/compute-instances/guides/migrate-to-different-dc/) it to any data center you'd like after the restore is complete. The target also needs to have enough free storage space to accommodate the restored disks. - -Restoring a backup creates a new [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) and a new set of [disks](/docs/products/compute/compute-instances/guides/disks-and-storage/) on the existing Compute Instance. The size of the disk(s) created by the restore process will be equal to the amount of space allocated to the disk when the backup was created. In some cases, this means you may want to reallocate disk space once the restore is complete. For more information regarding this process, see our [Resizing a Disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) guide. - -{{< note >}} -This process restores *all data* that was stored on the disk at the time the backup was taken. It does not restore just a single files or directory. If you just need a single file or group of files, complete the normal restore, log in to the server, and then copy those needed files to your local system or any other Linode Compute Instance. -{{< /note >}} - -1. From the **Linodes** page, select the Compute Instance whose backups you intend to restore. - -1. Click the **Backups** tab. - -1. Find the backup you'd like to restore and observe the disk space that's required, which is visible in the **Space Required** column. You will need at least this amount of unallocated disk space on the target instance to complete the restore. - -1. Click the **more options ellipsis** dropdown menu next to the backup you would like to restore and then select **Restore to Existing Linode**. - - ![Click on the ellipsis menu icon to restore to an existing Linode](restore-backup-existing-compute-instance.png) - -1. A menu will open with the Compute Instances that you can restore to. Select an instance and click **Restore**. - - ![Select the Compute Instance you would like to restore your backup to](restore-backup.png) - - You will be notified if you do not have enough space on your instance to restore your backup. Optionally, you can choose to overwrite the instance you are restoring to. - -1. If the amount of unallocated space available is greater than the size of the backup, you can proceed with restoring. If the amount of unallocated space is less than the size of the backup, you can stop the restoration workflow, [resize your existing disks](/docs/products/compute/compute-instances/guides/disks-and-storage/#resize-a-disk) on the target instance to make room for it, and then come back to the restore page after the disk resize operation has finished. - - Depending on your available disk space, you may not be able to shrink your disks enough to fit the restored backup. As an alternative, you can [change your Compute Instance's plan](/docs/products/compute/compute-instances/guides/resize/) to a higher tier that offers more disk space. - -1. From the **Restore to Existing Linode** menu, click **Restore**. Your backup will begin restoring to your Compute Instance, and you can monitor its progress in the notifications area. Note that the time it takes to restore your backup will vary depending upon the restore size and the number of files being restored. - - {{< note >}} - If you are attempting to restore a disk to the same Compute Instance the backup was created from, the restoration process will not delete the original disk for you. Manually delete the original disk to make room for the backup, if desired. - {{< /note >}} - -1. Once your backup has been restored, you can optionally power up or restart your Compute Instance using that backup. To do so, navigate to the target Compute Instance in Cloud Manager, go to the **Configurations** tab, locate the configuration profile created during the restore process, and click the corresponding **Boot** button. For full instructions, review [Manage Configuration Profiles on a Compute Instance > Boot from a Configuration Profile](/docs/products/compute/compute-instances/guides/configuration-profiles/#boot-from-a-configuration-profile). - - {{< note type="warning" title="Warning: UUID Collisions">}} - When you restore a backup, the restored disk is assigned the same [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) as the original disk. In most cases, this is acceptable and does not cause issues. However, if you attempt to mount both the original disk and the corresponding restore disk at the same time (by assigning them both to devices in your Configuration Profile's **Block Device Assignment**), you will encounter a UUID "collision". - - When this happens, the system selects, and mounts, only one of the disks at random. This is due to both disks sharing the same UUID. Upon successfully booting, you will not see any immediate indication if you are booted into the restored disk or the original disk, and you will be unable to access both disks at the same time. - - To avoid this, we recommend only restoring a backup to the same Compute Instance if you do not intend on mounting them at the same time or are comfortable modifying UUIDs. If you need access to files on both the original disk and the restored disk simultaneously (such as needing to copy files between them), we suggest [restoring the backup to a new Compute Instance](/docs/products/storage/backups/guides/restore-to-a-new-instance/). - - To learn more about block device assignments and viewing your disks' UUIDs, see [Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/#block-device-assignment). - {{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/backups/guides/restore-to-an-existing-instance/restore-backup-existing-compute-instance.png b/docs/products/storage/backups/guides/restore-to-an-existing-instance/restore-backup-existing-compute-instance.png deleted file mode 100644 index 5438d4ef307..00000000000 Binary files a/docs/products/storage/backups/guides/restore-to-an-existing-instance/restore-backup-existing-compute-instance.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/restore-to-an-existing-instance/restore-backup.png b/docs/products/storage/backups/guides/restore-to-an-existing-instance/restore-backup.png deleted file mode 100644 index b57b2b184d4..00000000000 Binary files a/docs/products/storage/backups/guides/restore-to-an-existing-instance/restore-backup.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/schedule/backups-schedule.png b/docs/products/storage/backups/guides/schedule/backups-schedule.png deleted file mode 100644 index 5e3ec62e9c0..00000000000 Binary files a/docs/products/storage/backups/guides/schedule/backups-schedule.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/schedule/index.md b/docs/products/storage/backups/guides/schedule/index.md deleted file mode 100644 index 0fcc7fcfa8a..00000000000 --- a/docs/products/storage/backups/guides/schedule/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Schedule Backups -description: "How to schedule backups with the Linode Backup Service." -published: 2021-11-12 ---- - -The Backup service will generate automatic backups according to the schedule that you specify. - -1. From the **Linodes** page, select the Linode. - -1. Click the **Backups** tab. - -1. Under **Settings**, select a time interval from the **Time of Day** dropdown menu. The Backup Service will prioritize *starting* the automated daily backup between these hours. - -1. Select a day from the **Day of Week** menu. On this day, the daily backup will also be saved to the weekly backup slot and the weekly backup will be promoted to the biweekly slot. - -1. Click **Save Schedule** to make any changes. - -![](backups-schedule.png) \ No newline at end of file diff --git a/docs/products/storage/backups/guides/take-a-snapshot/backups-manual-snapshot.png b/docs/products/storage/backups/guides/take-a-snapshot/backups-manual-snapshot.png deleted file mode 100644 index 1165e8e0fad..00000000000 Binary files a/docs/products/storage/backups/guides/take-a-snapshot/backups-manual-snapshot.png and /dev/null differ diff --git a/docs/products/storage/backups/guides/take-a-snapshot/index.md b/docs/products/storage/backups/guides/take-a-snapshot/index.md deleted file mode 100644 index c6a7aeac9ef..00000000000 --- a/docs/products/storage/backups/guides/take-a-snapshot/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Take a Manual Snapshot -description: "How to use the Backups Service to take a manual backup of a Linode Compute Instance." -published: 2021-11-12 ---- - -As part of the Backups service, you can store a manual backup of your Compute Instance through the *manual snapshot* feature. This can be useful to save a restore point before a major system upgrade or before significant changes to software or configuration within your Compute Instance. - -{{< note >}} -The manual snapshot feature is part of the paid Backups service and, as such, the Backups service must be enabled. See [Enable Backups](/docs/products/storage/backups/guides/enable/). -{{< /note >}} - -{{< note type="alert" >}} -Only a *single* manual snapshot can be stored for a Compute Instance. Taking a new snapshot overwrites any previously saved manual snapshot. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com) and click the **Linodes** link in the left navigation menu. - -1. On the **Linodes** page, select the Linode Compute Instance from the list. - -1. Navigate to the **Backups** tab. - -1. Under **Manual Snapshot**, enter a label for this new snapshot and click **Take Snapshot**. - - ![Screenshot of the Manual Snapshot section within Cloud Manager](backups-manual-snapshot.png) - -1. A pop-up box is displayed confirming that you intend to take a new manual snapshot and that any previous snapshot will be overwritten. Click **Take Snapshot** to proceed. - -Creating the manual snapshot can take several minutes, depending on the size of your Linode and the amount of data you have stored on it. Other Cloud Manager jobs for this Linode will not run until the snapshot job has been completed. diff --git a/docs/products/storage/backups/guides/troubleshooting/index.md b/docs/products/storage/backups/guides/troubleshooting/index.md deleted file mode 100644 index d084de8482e..00000000000 --- a/docs/products/storage/backups/guides/troubleshooting/index.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: "Troubleshooting Backups" -title_meta: "Troubleshooting Issues with the Backup Service" -description: "Get help diagnosing and solving issues related to the Linode Backup service, including backup failures and restore failures." -published: 2021-11-12 -modified: 2023-07-07 ---- - -## Backup Failure - -If the Linode Backup service ever fails to create a backup from your Compute Instance, you should receive a ticket or alert notifying you of the failure. In some cases, the underlying issue can resolve itself. However, there may be an issue on your Compute Instance that needs to be addressed before the Backup service can be successfully used. Here are common reasons why a backup failure might occur: - -- **Disk can't be mounted:** If your disk is encrypted, formatted using an unsupported file system, or contains multiple partitions, the Backup service will not be able to mount your disk and perform a backup. We recommend reviewing our [Backup Limits and Considerations](/docs/products/storage/backups/#limits-and-considerations) and making sure your disk is compatible. - -- **Large number of files:** The Backup service is file-based. Due to this, the overall number of files on your disk affects both the time needed for the backup and the success of that backup. There isn't a specific maximum number of files supported by the service. If you do notice that your backups are failing or taking a long time to run, we recommend auditing the number of files on your disk and considering ways to reduce the number of files. For more assistance, refer to the [Too many files](#too-many-files) section below. - -If you need help determining why your backups are failing, [contact our Support](https://www.linode.com/support/) team. - -## Disk Won't Boot After Restoring from a Backup - -If you are restoring a single backup disk to your Compute Instance, then the new disk will have a different UUID than the original. When this happens, configuration files on the instance may still be referencing the old UUID of the original disk, instead of the new one, causing boot issues. If this is the case, you will likely see errors related to the UUID in your console when booting in [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode): - -```output -ALERT! UUID=xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx does not exist. Dropping to a shell! -``` - -To fix this error, you will need to boot into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) and edit your `/etc/fstab` file to account for the new UUID. This can be done in the following steps: - -1. Follow the instructions for [Booting Into Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) using our Rescue and Rebuild guide. Once you have successfully completed step 4 in the section to [Change Root](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#change-root), proceed to the next step. - -1. Enter the following command to obtain the UUID of your current disk: - - ```command - blkid - ``` - - Output will resemble the following: - - ```output - /dev/sda: UUID="ecfd4955-9ce6-44ad-a8e4-275d5ac13ffc" TYPE="ext4" - ``` - - Copy _only_ the string surrounded by the quotation marks defining the `UUID` field in the output to use in the next step. - -1. You should now have access to your disk's contents in the recovery environment. Check the contents of your `/etc/fstab` file for any entries pertaining to the UUID. This line may appear as follows: - - ```output - UUID=41c22818-fbad-4da6-8196-c816df0b7aa8 /disk2p2 ext3 defaults,errors=remount-ro 0 1 - ``` - -1. Replace the string defining the UUID in the `/etc/fstab` file with the UUID of the disk you copied from the output of the `blkid` command. - -1. After following all of the above steps, you should now be able to reboot your Compute Instance normally. - -## Too Many Files - -The amount of files on your system impacts the time it takes for the Backup service to generate a backup. In some cases, having a large number of files can contribute to backup failures. If you are experiencing multiple consecutive backup failures that do not resolve on their own, you may wish to audit the number of files on your system. While there isn't a specific limit to the number of files supported by our Backup service, it may be time to consider ways of reducing or consolidating your files if your system has a few million or more files. - -To investigate the number of files and learn which directories contain the largest share of these files, log in to your instance and run the command below. - -```command -sudo find / -type f | perl -aF/ -lne 'for (my $i=0; $i < @F-1; ++$i) { print join("/",@F[0...$i]); }' | sort | uniq -c | sort -nr | head -30 -``` - -This outputs a list of the 30 directories with the highest file count, beginning with the total file count on your system. Each subsequent line contains the number of files followed by the absolute path of the directory. You can adjust the total number of directories that are displayed by changing the `head -30` portion of the command above. - -```output - 294960 - 92890 /sys - 75872 /sys/kernel - 74449 /usr - 63057 /proc - 56255 /opt - 50504 /opt/psa - 50096 /sys/kernel/slab - 45838 /opt/psa/admin - 35528 /opt/psa/admin/plib - 25405 /usr/share - 24952 /usr/lib - 24607 /opt/psa/admin/plib/modules - 22695 /usr/src - ... -``` - -If the file count is high (which is not the case for the example above), examine the directory paths. If any directories with large file counts contain session data or application logs, you may want to optimize the related applications so that they generate or store less files. To reduce the number of files that have already been generated, you can remove any files that are not important and create an archive of any files you wish to keep. You can do this manually or create a cron job to delete or archive files automatically at regular intervals. Before removing or archiving any files, consult your developers or system administrator. - -- [Archiving and Compressing files with GNU Tar and GNU Zip](/docs/guides/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/) -- [Using Cron to Schedule Tasks for Certain Times or Intervals](/docs/guides/schedule-tasks-with-cron/) -- [Linode Backup Failure: Too Many Files](https://www.linode.com/community/questions/20092/linode-backup-failure-too-many-files) Community Site post \ No newline at end of file diff --git a/docs/products/storage/backups/resources/index.md b/docs/products/storage/backups/resources/index.md deleted file mode 100644 index 0b668fffe09..00000000000 --- a/docs/products/storage/backups/resources/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Resources -title_meta: "Resources for the Linode Backup Service" -description: "Resources and other information related to the Linode Backup Service including videos, blog posts, community posts, customer stories, and press releases." -tab_group_main: - weight: 40 ---- - -## Videos - -- [Linode India Overview](https://www.linode.com/content/linode-mumbai-data-center-overview-video/) - -## Blog Posts - -- [How to Keep WordPress Secure: The Basics](https://www.linode.com/blog/cms/how-to-keep-wordpress-secure-the-basics/) - -- [Release Day: Automating the Linux Distro (featuring Ubuntu 20.04)](https://www.linode.com/blog/linux/release-day-automating-the-linux-distro-featuring-ubuntu-20-04/) - -- [Linode Managed is even better than before!](https://www.linode.com/blog/linode/linode-managed-is-even-better-than-before/) - -- [Linode Cloud Asia-Pacific](https://www.linode.com/blog/linode/linode-cloud-asia-pacific/) - -- [Introducing the Linode Backup Service](https://www.linode.com/blog/linode/introducing-the-linode-backup-service/) - -- [Backup Service enters Beta](https://www.linode.com/blog/linode/backup-service-enters-beta/) - -## Community Posts - -- [I have some questions about backups](https://www.linode.com/community/questions/327/i-have-some-questions-about-backups) - -- [My backups aren’t working because the Backups system can’t mount my images -- why is that?](https://www.linode.com/community/questions/17628/my-backups-arent-working-because-the-backups-system-cant-mount-my-images-why-is-) - -- [What do Linode Backups backup and can I rely on it as my only backup solution?](https://www.linode.com/community/questions/18671/what-do-linode-backups-backup-and-can-i-rely-on-it-as-my-only-backup-solution) - -- [Backup service for the new Cloud Manager](https://www.linode.com/community/questions/17750/backup-service-for-the-new-cloud-manager) - -- [Why can’t I create a snapshot backup?](https://www.linode.com/community/questions/18618/why-cant-i-create-a-snapshot-backup) - -- [Linode CLI: Restore a Backup to a new Linode](https://www.linode.com/community/questions/18752/linode-cli-restore-a-backup-to-a-new-linode) - -- [Can I delete my Linode, but keep its backups?](https://www.linode.com/community/questions/19148/can-i-delete-my-linode-but-keep-its-backups) - -- [Restore Individual Files from Backups](https://www.linode.com/community/questions/18808/restore-individual-files-from-backups) - -- [How many backups do I get with Linode Backup Service?](https://www.linode.com/community/questions/18128/how-many-backups-do-i-get-with-linode-backup-service) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=backups). - -## Customer Stories - -- [Craft of Code Alpine Linux](https://www.linode.com/spotlight/alpine-linux/) - -- [Craft of Code Andy Christianwan](https://www.linode.com/spotlight/andy-christiawan/) - -- [Craft of Code Configr](https://www.linode.com/spotlight/configr/https://www.linode.com/spotlight/configr/) - -- [Craft of Code Flowlens](https://www.linode.com/spotlight/flowlens/) - -## Press Releases - -- [Linode Launches Managed Kubernetes Engine](https://www.linode.com/press-release/linode-launches-managed-kubernetes-engine/) - -- [Linode Expands Cloud Solutions For Developers, Launches Dedicated CPU Instances](https://www.linode.com/press-release/linode-expands-cloud-solutions-for-developers-launches-dedicated-cpu-instances/) - -- [Linode Launches Frankfurt Data Center](https://www.linode.com/press-release/linode-launches-frankfurt-datacenter/) - -- [Linode Celebrates 12th Birthday by Adopting KVM & Boosting Cloud Server Performance by 300%](https://www.linode.com/press-release/linode-celebrates-12th-birthday-by-adopting-kvm-and-boosting-cloud-server-performance-by-300/) - -- [Linode Opens New Data Center in Singapore](https://www.linode.com/press-release/linode-opens-new-datacenter-in-singapore/) diff --git a/docs/products/storage/block-storage/_index.md b/docs/products/storage/block-storage/_index.md deleted file mode 100644 index 527c8f2aeab..00000000000 --- a/docs/products/storage/block-storage/_index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Block Storage -title_meta: "Block Storage Product Documentation" -description: "Linode Block Storage is a scalable, high-speed, resilient and fault tolerant storage service." -modified: 2024-04-15 -toc: true -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "Block Storage is a scalable, high-speed, and fault tolerant storage service used to add additional storage to a Linode Compute Instance." -aliases: ['/platform/block-storage/how-to-use-block-storage-with-your-linode/','/platform/block-storage/how-to-use-block-storage-with-your-linode-new-manager/','/platform/block-storage/how-to-use-block-storage-with-your-linode-classic-manager/','/platform/how-to-use-block-storage-with-your-linode/','/platform/block-storage/','/guides/platform/block-storage/','/guides/how-to-use-block-storage-with-your-linode/'] ---- - -Linode's Block Storage service provides a method of adding additional storage drives to Compute Instances, enabling you to store more data without resizing your Compute Instance to a larger plan. These storage drives, called *Volumes*, can be formatted with any Linux-compatible file system and attached and mounted to a Compute Instance. - -## Scalable - -A Block Storage Volume augments the raw storage capacity of a cloud instance, which can be useful if your storage needs are greater than your computing demands. Because a Volume is scalable, it can adapt as your data grows in size. - -## Resilient and Fault Tolerant - -Block Storage Volumes are configured to be durable and fault tolerant using erasure coding, ensuring that your data is protected from loss. Since Volumes are managed independently of Compute Instances, your data persists even if you delete your attached instance. - -## Ultra-Fast Performance - -Block Storage is powered entirely by NVMe SSD storage devices (except within the Fremont data center). NVMe storage offers dramatically increased performance over standard SATA SSDs, HDDs, or hybrid storage solutions. Additionally, performance is automatically increased in 60 second bursts for even faster real-world speeds. See the table below for both sustained and burst performance limits on NVMe-only Block Storage: - -| Performance Metric | IOPS | Throughput | -| -- | -- | -- | -| **Sustained** | 8,000 | 350 MB/s | -| **Burst** | 12,000 | 525 MB/s | - -Performance may vary based on the workload and Compute Instance type. Plans with dedicated CPU resources (such as Dedicated CPU or High Memory Compute Instances) will not be impacted by resource contention, though a Shared Compute Instance may be impacted. - -## Availability - -Block Storage is available across [all regions](https://www.linode.com/global-infrastructure/). Additionally, the newer NVMe-backed Block Storage has been deployed to all data centers with the exception of Fremont. - -## Plans and Pricing - -Block Storage Volumes start at $0.10/GB per month ($0.00015/GB per hour) and can range from 10 GB to 10 TB in size. [Pricing](https://www.linode.com/pricing/) for Block Storage may vary between data centers. - -## Technical Specifications - -- Minimum size for a Volume is 10 GB and the maximum size is 10,240 GB (10 TB). -- Backed by high speed NVMe storage in *most* data centers, excluding Fremont. -- **Throughput**: Up to 350 MB/s sustained and 525 MB/s in 60 second bursts -- **IOPS**: Up to 8,000 sustained and 12,000 in 60 second bursts -- Built in redundancy maximizes availability and reduces possibility for data loss - -## Limits and Considerations - -- A Compute Instance can have multiple Volumes attached to it, but a Volume can only be attached to one Compute Instance at a time. To attach a Volume, both the Volume and the Compute Instance must be located in the same data center. Migrating a Volume to a different data center is not directly available at this time. See [Transfer Block Storage Data between Data Centers](/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/) for a work-around. - -- A combined total of 8 storage devices can be attached to a Compute Instance at the same time, including local disks and Block Storage Volumes. For example, if your Compute Instance has two main disks, root and swap, you can attach no more than 6 additional volumes to this Compute Instance. - -- The maximum combined capacity limit of all volumes on an account across all regions is 100 TiB. If you plan on exceeding this amount, contact [Support](https://www.linode.com/support/) to request an increase. In your request, please provide the capacity limit you are requesting for each region you plan to use. - -- You can attach Block Storage volumes to a Compute Instance in Full Virtualization mode only after you Power Off the Compute Instance. For further steps, see [Attach a Volume](/docs/products/storage/block-storage/guides/attach-and-detach/). - -- Our Backup Service does not cover Block Storage Volumes. You must manage [your own backups](/docs/guides/backing-up-your-data/) if you wish to backup data stored on your Volumes. diff --git a/docs/products/storage/block-storage/developers/index.md b/docs/products/storage/block-storage/developers/index.md deleted file mode 100644 index a5cec008143..00000000000 --- a/docs/products/storage/block-storage/developers/index.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Block Storage" -description: "Linode Block Storage is managed easily with developer tools like the Linode API or CLI as well as third party tools and integrations." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Block Storage Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -- [Manage Block Storage Volumes with the Linode API](/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/). - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to use the Linode CLI to [create and manage Block Storage Volumes](/docs/products/tools/cli/guides/block-storage-volumes/). - -## Linode Tools - -**Linode Block Storage CSI Driver**: The Container Storage Interface (CSI) defines a standard that storage providers can use to expose block and file storage systems to container orchestration systems. [Linode’s Block Storage CSI driver](https://github.com/linode/linode-blockstorage-csi-driver) follows this specification to allow container orchestration systems, like [Kubernetes](https://www.linode.com/products/kubernetes/), to use Block Storage Volumes to persist data despite a Pod’s lifecycle. - -**Docker Volume Driver for Linode**: The [Docker Volume driver](https://github.com/linode/docker-volume-linode) is a plugin that adds the ability to manage Linode Block Storage Volumes as Docker Volumes. Good use cases for Volumes include: - -- Off-node storage, to avoid size constraints - -- Moving a container and the related volume between nodes in a Swarm - -## Third Party Tools & Integrations - -**Terraform**: Terraform is an Infrastructure-as-code tool that includes management features for various types of Linode resources. Use Linode’s [official Terraform Provider](https://www.terraform.io/docs/providers/linode/r/volume.html) to create and manage Block Storage Volumes. To learn more about Terraform see our documentation library’s [Terraform section](/docs/applications/configuration-management/terraform/). - -**Pulumi**: Pulumi is a development tool that lets you write computer programs which deploy cloud resources. With [Pulumi’s Linode integration](https://github.com/pulumi/pulumi-linode), you can manage your Linode resources in several programming languages, like JavaScript, Go, Python, and TypeScript. Pulumi manages your resources in the same way as Linode's API or CLI. See [Pulumi’s documentation](https://www.pulumi.com/docs/intro/cloud-providers/linode/) to get started. diff --git a/docs/products/storage/block-storage/feature.svg b/docs/products/storage/block-storage/feature.svg deleted file mode 100644 index abc01f31312..00000000000 --- a/docs/products/storage/block-storage/feature.svg +++ /dev/null @@ -1,5 +0,0 @@ - - Block Storage - - - \ No newline at end of file diff --git a/docs/products/storage/block-storage/get-started/index.md b/docs/products/storage/block-storage/get-started/index.md deleted file mode 100644 index 5218fb4540d..00000000000 --- a/docs/products/storage/block-storage/get-started/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Block Storage" -description: "Get started with Linode Block Storage. Learn to add a new Block Storage volume to a Linode, increase the size of an attached volume, and transfer a Block Storage volume to a new Linode." -modified: 2022-08-24 -tab_group_main: - weight: 20 ---- - -Block Storage Volumes are persistent storage devices that can be attached to a Compute Instance and used to store any type of data. They are especially useful for storing website files, databases, media, backups, and *much* more. To get started with Block Storage, create a Volume using the guide below. - -- [View, Create, and Delete Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) - -Once a Block Storage Volume has been created, it can be attached to any Compute Instance in the same region. Since Volumes are external device, they are portable and can be attached and detached to Compute Instances as needed. Once attached, the device is assigned to an available block device (such as `/dev/sdc`) on a Compute Instance's Configuration Profile and has its own path in your instance's file system. When attaching and detaching a Volume, additional internal configuration is needed to create a file system (if one hasn't already been created), mount or unmount the Volume, and automatically mount the Volume at system boot. - -- [Attach and Detach Existing Volumes](/docs/products/storage/block-storage/guides/attach-and-detach/) -- [Configure a Volume on a Compute Instance](/docs/products/storage/block-storage/guides/configure-volume/) - -When a Volume is attached to a Compute Instance, you can [log in to that instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) and access the Volume's data through its mount point. For instance, if the Volume was mounted in `/mnt/volume/`, you can navigate to that directly to view any files stored on that Volume. You can also use that directory when integrating your Volume with any software or tooling you might employ. \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/_index.md b/docs/products/storage/block-storage/guides/_index.md deleted file mode 100644 index 06cd980e68b..00000000000 --- a/docs/products/storage/block-storage/guides/_index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Block Storage" -description: "A collection of product documentation for Block Storage, including how to manage volumes, attach volumes to Compute Instances, and more." -tab_group_main: - weight: 30 ---- - -## Basics - -- [View, Create, and Delete Volumes](/docs/products/storage/block-storage/guides/manage-volumes/): Learn how to view and manage Block Storage Volumes. - -- [Attach and Detach Existing Volumes](/docs/products/storage/block-storage/guides/attach-and-detach/): Instructions on attaching and *safely* detaching existing Volumes to (and from) Compute Instances - -- [Configure a Volume on a Compute Instance](/docs/products/storage/block-storage/guides/configure-volume/): To use a Volume on a Compute Instance, it needs to first be configured by creating a file system and mounting the device. - -- [Resize a Volume](/docs/products/storage/block-storage/guides/resize-volume/): Increase the size of a Block Storage Volume after it has been created. - -- [Transfer a Volume to a Different Compute Instance](/docs/products/storage/block-storage/guides/transfer-volume/): Move a Block Storage Volume to a different Compute Instance within the same data center. - -- [Transfer Block Storage Data between Data Centers](/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/): Volumes are not able to be migrated between data centers. Instead, you can transfer the data from one Volume into another Volume within a data center. - -## Going Further - -- [Use Cases for Block Storage](/docs/products/storage/block-storage/guides/use-cases/) - -- [Boot a Linode from a Block Storage Volume](/docs/products/storage/block-storage/guides/boot-from-a-volume/) - -- [Manage Block Storage Volumes with the Linode API](/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/) - -### Kubernetes - -- [Deploy Persistent Volume Claims with the Linode Block Storage CSI Driver](/docs/guides/deploy-volumes-with-the-linode-block-storage-csi-driver/) - -### Third-Party Applications - -- [Use a Block Storage Volume with Plex Media Server](/docs/guides/use-block-storage-with-plex-media-server/) - -- [Use a Block Storage Volume with Nextcloud](/docs/guides/use-block-storage-volume-with-nextcloud/) - -- [Install FreeNAS on a Linode with Block Storage](/docs/guides/freenas-blockstorage/) diff --git a/docs/products/storage/block-storage/guides/attach-and-detach/index.md b/docs/products/storage/block-storage/guides/attach-and-detach/index.md deleted file mode 100644 index e5557602730..00000000000 --- a/docs/products/storage/block-storage/guides/attach-and-detach/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: "Attach and Detach a Volume" -description: "Learn how to attach and detach existing Volumes to or from Compute Instances." -modified: 2022-08-24 -aliases: ['/products/storage/block-storage/guides/attach-volume/','/products/storage/block-storage/guides/detach-volume/'] ---- - -Each Volume can to be attached to a single Compute Instance within the same data center, which enables that instance to read and write data to that Volume. Volumes can also be detached, and its data cannot be accessed until it is again attached to any Compute Instance within the same data center. - -## Attach a Volume - -Learn how to attach an existing Block Storage Volume to a Compute Instance using these steps: - -1. Log in to [Cloud Manager](https://cloud.linode.com/linodes) and click on the **Volumes** link in the sidebar. - -1. Locate the desired Volume within the list, click the **more options ellipsis** dropdown menu, and select **Attach**. - -1. Complete the **Attach Volume** form that appears. - - - **Linode:** Use the dropdown menu to select the Compute Instance you'd like to use. The Volume will be attached to this instance. - - **Config:** If the Compute Instance has multiple Configuration Profiles, select which one the Block Storage Volume should be assigned to. This field will not be displayed if the instance has only a single profile. - - {{< note >}} - The Compute Instance must be located within the same data center as the Block Storage Volume. - {{< /note >}} - - {{< note >}} - If your Compute Instance was deployed before August 24th, 2021 and hasn't been rebooted since your data center was upgraded to NVMe Block Storage, you may need to reboot the instance for it to properly work with a Block Storage Volume. - {{< /note >}} - -1. Click the **Save** button to attach the Volume. - -1. To start using the Volume on the Compute Instance, additional internal configuration is required. This includes creating the file system (if the Volume hasn't been used before), mounting the Volume, and configuring your instance to automatically mount the Volume at boot. To learn more about these configuration steps, see [Configuring and Mounting a Volume](/docs/products/storage/block-storage/guides/configure-volume/). - - {{< note type="alert" >}} - Do not create a new file system if you wish to retain any existing data on the Volume. Creating a new file system will overwrite any existing data and result in data loss. - {{< /note >}} - -## Detach a Volume - -Follow these steps to safely detach a Block Storage Volume from a Compute Instance. A Volume should be detached before it is reattached to a different instance. - -1. Log in to [Cloud Manager](https://cloud.linode.com/linodes) and click on the **Linodes** link in the sidebar. - -1. Select the Compute Instance that the Volume is currently attached to. - -1. It's recommended to power off the instance. To do this, click **Power Off** on the top right of the Compute Instance details page. - -1. If a Volume is currently mounted, detaching it while the instance is powered on could cause data loss or an unexpected reboot. You can unmount the Volume for safe live-detaching by logging in to the Compute Instance over [SSH or Lish](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) and running the `umount` command, such as in the example below. - - umount /dev/disk/by-id/scsi-0Linode_Volume_example-volume-1 - - Replace the device path with the one for your own Volume (which can be viewed from the *Show Config* link). To avoid additional issues with your Compute Instance, remove the detached volume's line from your `/etc/fstab/` configuration. - - FILE_SYSTEM_PATH /mnt/example-volume-1 ext4 defaults 0 2 - -1. Navigate to the **Storage** tab. - -1. Locate the Volume you wish to detach within the *Volumes* list, click the **more options ellipsis** dropdown menu, and select **Detach**. - -1. A confirmation screen appears and explains that the Volume will be detached from the Compute Instance. Click **Detach** to confirm. - -Detached Volumes still exist on your account and, as such, you are still billed for the Volume as normal. It can be viewed and deleted within the **Volumes** listing page in Cloud Manager. See [View, Add, and Delete Volumes](/docs/products/storage/block-storage/guides/manage-volumes/). \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/boot-from-a-volume/block-storage-title-graphic.png b/docs/products/storage/block-storage/guides/boot-from-a-volume/block-storage-title-graphic.png deleted file mode 100644 index 3a01f27fcec..00000000000 Binary files a/docs/products/storage/block-storage/guides/boot-from-a-volume/block-storage-title-graphic.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/boot-from-a-volume/bs-pv-sda-sdc.gif b/docs/products/storage/block-storage/guides/boot-from-a-volume/bs-pv-sda-sdc.gif deleted file mode 100644 index b7a213f42af..00000000000 Binary files a/docs/products/storage/block-storage/guides/boot-from-a-volume/bs-pv-sda-sdc.gif and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/boot-from-a-volume/edit-configuration.png b/docs/products/storage/block-storage/guides/boot-from-a-volume/edit-configuration.png deleted file mode 100644 index 6f85201a87b..00000000000 Binary files a/docs/products/storage/block-storage/guides/boot-from-a-volume/edit-configuration.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/boot-from-a-volume/index.md b/docs/products/storage/block-storage/guides/boot-from-a-volume/index.md deleted file mode 100644 index d913575a303..00000000000 --- a/docs/products/storage/block-storage/guides/boot-from-a-volume/index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: "Boot from a Block Storage Volume" -description: "This guide provides you with instructions for booting a Compute Instance from a Block Storage Volume for use in an emergency or disaster recovery situation." -og_description: "This guide shows how to boot a Linode from a Block Storage Volume." -published: 2018-05-04 -modified: 2022-08-24 -keywords: ["block storage","volume","media","storage","disk", "boot", "boot disk"] -tags: ["linode platform"] -aliases: ['/platform/block-storage/boot-from-block-storage-volume/','/guides/boot-from-block-storage-volume/'] -image: block-storage-title-graphic.png ---- - -Linode’s Block Storage service lets you attach additional storage volumes to your Compute Instances. In addition to storing files and media, you can also use a Volume as a boot disk. This can provide a low-cost way to maintain an image that can be quickly attached to a Compute Instance and booted up when needed. - -This guide outlines the steps needed to boot your Compute Instance from a Block Storage Volume. These steps include creating a new Volume, copying the primary disk to that new Volume, and configuring the instance to boot from that Volume. The process may be reversed in order to restore the primary disk from the Volume. - -## Create the Volume - -Create a Block Storage Volume and attach it to the desired target Compute Instance. Verify that the Volume is the same size as (or larger than) the primary disk and is in the same data center as the instance. Review the [View, Create, and Delete Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) for instructions on creating a new Volume. - -## Copy the Primary Disk onto the Volume - -1. Boot the Compute Instance into Rescue Mode and assign the Volume to `/dev/sdc` (shown below). The primary disk should remain assigned to `/dev/sda`. If your device assignments are different, you may need to adjust the commands or steps in this guide accordingly. Review the [Rescue and Rebuild guide](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#boot-into-rescue-mode) for more information on booting into Rescue Mode. - - ![Mount the Block Storage Volume as /dev/sdc and reboot into Rescue Mode](rescue-mode-sdc.png) - -1. Connect to the Linode via [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Run `fdisk -l` to confirm the Compute Instance's primary disk and Block Storage Volume are available as `dev/sda` and `dev/sdc`, respectively. - -1. Run the following `pv` command to copy the contents of the primary disk to the Block Storage Volume. Respectively, the options `-pte` output a progress meter, the elapsed time, and the estimated time remaining. - - pv -pte < /dev/sda > /dev/sdc - -## Set the Block Storage Volume as the Primary Disk and Reboot - -1. Power off the Compute Instance. - -2. Edit the Compute Instance's **Configuration Profile**. Under the **Block Device Assignments** section, assign the `/dev/sda` device to your Block Storage Volume (shown below). Confirm that the root device is set to `/dev/sda` (this is the default setting). If your Volume was previously assigned to any other device, such as `/dev/sdc`, set the device to `None`. Save these changes. Review the [Managing Configuration Profiles on a Linode](/docs/products/compute/compute-instances/guides/configuration-profiles/) guide for more information on editing configuration profiles. - - ![/dev/sda set to Block Storage Volume](edit-configuration.png "Configuration Management Block Device Assignment shows /dev/sda set to the Block Storage Volume") - -3. Power on the Compute Instance. - -The Compute Instance should boot normally from the Block Storage Volume. Keep in mind that Block Storage may not be as fast as the instance's local storage and, as such, performance may be different. \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/boot-from-a-volume/rescue-mode-sdc.png b/docs/products/storage/block-storage/guides/boot-from-a-volume/rescue-mode-sdc.png deleted file mode 100644 index f7ee1f19724..00000000000 Binary files a/docs/products/storage/block-storage/guides/boot-from-a-volume/rescue-mode-sdc.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/configure-volume/index.md b/docs/products/storage/block-storage/guides/configure-volume/index.md deleted file mode 100644 index 10eba78f959..00000000000 --- a/docs/products/storage/block-storage/guides/configure-volume/index.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: "Configure and Mount a Volume" -description: "Learn how to create a file system on a Block Storage Volume and mount it to a Compute Instance." -modified: 2022-08-24 ---- - -Once a Block Storage Volume has been attached to a Compute Instance, you need to perform a few additional steps before you can start using it. These steps include creating a file system (if you're configuring a new Volume) and mounting the Volume to your Compute Instance's system. To make configuration easier, all the necessary commands can be viewed directly in Cloud Manager. - -1. Log in to [Cloud Manager](https://cloud.linode.com/linodes) and click on the **Volumes** link in the sidebar. - -1. Locate the desired Volume within the list and click the **Show Config** link, which may appear within the **more options ellipsis** dropdown menu. - -1. The **Volume Configuration** panel appears and contains the commands needed to fully configure the Volume with your Compute Instance. - -1. Login to your Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. Enter each command that's shown in the **Volume Configuration** panel, modifying them if needed. These configuration steps are also listed below: - - 1. **Create a file system.** If your Volume *has not* been used before, create an ext4 file system on the Volume. - - {{< note type="alert" >}} - Skip this step if you wish to retain any data stored on an existing Volume. Creating a new file system will overwrite any existing data and result in data loss. You can view existing file systems on an unmounted volume with the following command: - - blkid FILE_SYSTEM_PATH - - If you do not receive output, there is currently no file system on this volume. - {{< /note >}} - - You can create an ext4 file system by running the following command, where `FILE_SYSTEM_PATH` is your Volume's file system path: - - mkfs.ext4 FILE_SYSTEM_PATH - - 1. **Create a mount point.** This is the directory on your Linux system where the Block Storage files will be located. - - mkdir /mnt/BlockStorage1 - - 1. **Mount the Volume manually.** Mount the Block Storage Volume to the directory you just created. After this is completed, you can access your files from that directory. - - mount FILE_SYSTEM_PATH /mnt/BlockStorage1 - - 1. **Mount the Volume automatically.** If you want to mount the new Volume automatically every time your Compute Instance boots, add the following line to your **/etc/fstab** file: - - FILE_SYSTEM_PATH /mnt/BlockStorage1 ext4 defaults 0 2 - - {{< note >}} - If you plan on detaching the volume regularly or moving it between other Compute Instances, you may want to consider adding the flags `noatime` and `nofail` to the **/etc/fstab** entry. - - * `noatime` - This will save space and time by preventing writes made to the file system for data being read on the volume. - * `nofail` - If the volume is not attached, this will allow your server to boot/reboot normally without hanging at dependency failures if the volume is not attached. - - Example: - - FILE_SYSTEM_PATH /mnt/BlockStorage1 ext4 defaults,noatime,nofail 0 2 - {{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/index.md b/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/index.md deleted file mode 100644 index 1174ab7f44a..00000000000 --- a/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/index.md +++ /dev/null @@ -1,175 +0,0 @@ ---- -title: "Manage Block Storage Volumes with the Linode API" -description: "This guide demonstrate how to create, attach, clone, and resize Volumes using the Linode API." -published: 2018-05-14 -modified: 2022-12-06 -image: manage-block-storage-volumes-with-the-linode-api.png -external_resources: - - '[API Documentation](https://techdocs.akamai.com/linode-api/reference/api)' -keywords: ["linode api", "block storage", "volume"] -tags: ["linode platform"] -aliases: ['/platform/api/create-block-storage-volumes-with-the-linode-api/','/guides/create-block-storage-volumes-with-the-linode-api/','/products/tools/api/guides/block-storage/'] ---- - -The Linode API lets you create, delete, attach, detach, clone, and resize Block Storage Volumes. - -## Before You Begin - -You need a Personal Access Token for the Linode API to complete the steps in this guide. See [Manage Personal Access Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token) for more information. - -Store the token as a temporary shell variable to simplify repeated requests. Replace `` in this example with your token: - -```command -export TOKEN= -``` - -## Create a Block Storage Volume - -Create a new Block Storage Volume by making a POST request to the `/volumes` endpoint. You can also automatically attach the new Volume to an existing Compute Instance by passing the instance's ID when creating the Volume. - -1. List the Compute Instances on your account: - - ```command - curl -H "Authorization: Bearer $token" \ - https://api.linode.com/v4/linode/instances - ``` - - Choose a Compute Instance from the returned list and copy its `id` and `region` values. - -1. Create a Volume in the same region as the target instance. Use the ID of the target instance and adjust the size (in GB), region, and label to the desired values: - - ```command - curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $token" \ - -X POST -d '{ - "label": "my-volume", - "region": "us-east", - "size": 100, - "linode_id": 1234567 - }' \ - https://api.linode.com/v4/volumes - ``` - - {{< note >}} - The Volume and Compute Instance must be in the same region. - {{< /note >}} - -1. Examine the response JSON object and copy the values in the `id` and `filesystem_path` fields: - - ```file {lang="json"} - { - "linode_id":1234567, - "label":"my-volume", - "size":100, - "updated":"2018-05-07T14:59:48", - "created":"2018-05-07T14:59:48", - "id":6830, - "status":"creating", - "region":"us-east", - "filesystem_path":"/dev/disk/by-id/scsi-0Linode_Volume_my-volume" - } - ``` - -1. Query the Volume using the `/volumes/$volume_id` endpoint to make sure it was successfully created: - - ```command - curl -H "Authorization: Bearer $token" \ - https://api.linode.com/v4/volumes/$volume_id - ``` - - If the `status` field in the response is `active`, your Volume is ready to use. - -### Mount the Volume - -The API can't directly mount the new Volume after it is attached. SSH into the Linode and mount it manually: - -1. Create a filesystem on the Volume: - - ```command - mkfs.ext4 $volume_path - ``` - -1. Create a mountpoint: - - ```command - mkdir /mnt/my-volume - ``` - -1. Mount the Volume: - - ```command - mount $volume_path /mnt/my-volume - ``` - -1. To automatically mount the Volume every time your Compute Instance boots, add the following line to your `/etc/fstab` file: - - ```file {title="/etc/fstab"} - $volume_path /mnt/my-volume defaults 0 2 - ``` - -## Attach and Detach the Volume - -If you did not specify a Compute Instance when creating the Volume, or would like to attach it to a different instance, use the `/attach` and `/detach` endpoints: - -1. Detach the Volume. Replace `$volume_id` with the Volume ID from the previous section: - - ```command - curl -H "Authorization: Bearer $token" \ - -X POST \ - https://api.linode.com/v4/volumes/$volume_id/detach - ``` - -1. Attach the Volume to the new target Compute Instance: - - ```command - curl -H "Authorization: Bearer $token" \ - -H "Content-Type: application/json" \ - -X POST -d \ - '{ "linode_id": $linode-id }' \ - https://api.linode.com/v4/volumes/$volume_id/attach - ``` - - {{< note >}} - If a Compute Instance is not running and has more than one configuration profile, include a `config_id` parameter in the POST request to specify which profile to use. If you do not specify a profile, the first profile will be used by default. - {{< /note >}} - -## Clone a Volume - -To copy all of the data in a Block Storage Volume to a new Volume: - -```command -curl -H "Authorization: Bearer $token" \ - -X POST -d '{ - "label": "new-volume" - }' \ - https://api.linode.com/v4/volumes/$volume_id/clone -``` - -## Delete a Volume - -Remove a Volume from your account with a DELETE request. If the Volume is attached to a Compute Instance, you will have to detach it before it can be deleted: - -```command -curl -H "Authorization: Bearer $token" \ - -X DELETE \ - https://api.linode.com/v4/volumes/$volume_id -``` - -## Resize a Volume - -If you need additional space, you can increase the size of a Volume through the API. It is not possible to reduce the size of a Volume. - -Pass the desired size (in gigabytes) using the `size` parameter: - -```command -curl -H "Content-Type: application/json" \ - -H "Authorization: Bearer $token" \ - -X POST -d '{ - "size": 200 - }' \ - https://api.linode.com/v4/volumes/$volume_id/resize -``` - -{{< note >}} -After resizing the Volume, you also need to resize the file system to accommodate the additional space. For instructions, see the last few steps on the [Resize a Volume](/docs/products/storage/block-storage/guides/resize-volume/) guide. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/manage-block-storage-volumes-with-the-linode-api.png b/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/manage-block-storage-volumes-with-the-linode-api.png deleted file mode 100644 index e4093e8178f..00000000000 Binary files a/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/manage-block-storage-volumes-with-the-linode-api.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/manage-volumes/create-volume-form.png b/docs/products/storage/block-storage/guides/manage-volumes/create-volume-form.png deleted file mode 100644 index e341c55ae8f..00000000000 Binary files a/docs/products/storage/block-storage/guides/manage-volumes/create-volume-form.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/manage-volumes/index.md b/docs/products/storage/block-storage/guides/manage-volumes/index.md deleted file mode 100644 index 57215bb5606..00000000000 --- a/docs/products/storage/block-storage/guides/manage-volumes/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: "View, Create, and Delete Block Storage Volumes" -description: "Learn how to manage Block Storage Volumes on your Linode account, including viewing, adding, and deleting them." -modified: 2022-08-24 -aliases: ['/products/storage/block-storage/guides/add-volume/','/products/storage/block-storage/guides/delete-volume/'] ---- - -What is block storage? Block Storage is a scalable, high-speed, and fault tolerant network storage service used to add additional storage capacity to a Linode Compute Instance. - -The Block Storage cloud service lets you create Volumes, which can be attached to Compute Instances and used to easily store your data. This guide covers how to view, add, manage, and delete Block Storage Volumes. - - -## View Volumes - -### View All Volumes - -Log in to [Cloud Manager](https://cloud.linode.com/volumes) and click the **Volumes** link in the sidebar. All Block Storage Volumes on your account are listed here, including their region, size, and their attachment status. - -![View all Volumes on an account](view-all-volumes.png) - -### View Block Storage Volumes Attached to a Specific Compute Instance - -1. Log in to [Cloud Manager](https://cloud.linode.com/linodes) and click the **Linodes** link in the sidebar. - -1. Select the Compute Instance for which you'd like to view all attached Volumes. The detail page for that instance should appear. - -1. Navigate to the **Storage** tab and find the *Volumes* section, as shown below. All Volumes that are currently attached to this Compute Instance should appear in a list, along with the region, size, and the file system path. - -![View Volumes that are attached to specific Compute Instances](view-volumes-on-compute-instance.png) - -## Add Volumes - -{{< note >}} -If your Compute Instance was deployed before August 24th, 2021 and hasn't been rebooted since your data center was upgraded to NVMe Block Storage, you may need to reboot the instance for it to properly work with a Block Storage Volume. -{{< /note >}} - -1. Navigate to the **Volumes** page in Cloud Manager. Alternatively, if you know which Compute Instance you wish to attach the new Volume to, navigate to the **Storage** tab for that instance. See [View Volumes](#view-volumes). - -1. Click the **Create Volume** button to open the creation form. This form may have slightly different options, depending on the page you were on in the previous step. If creating a Volume directly from a Compute Instance's Storage tab, select the **Create and Attach Volume** option to create a new Volume. - - ![Volume Creation Form](create-volume-form.png) - -1. Enter the **Label** and **Size** of the Volume. - - - **Label:** A string up to 32 characters long and consisting only of ASCII characters `a-z; 0-9.-_`. - - **Size:** The desired size for the new Volume. See the [Limits and Considerations](/docs/products/storage/block-storage/#limits-and-considerations) section for the minimum and maximum size. - -1. Select the **Region** and **Linode**. These fields only appear when creating a Volume from the main Volume page (not on a specific Compute Instance). If the **Linode** field is left blank, the Volume is created in a *detached* state, meaning it is not attached to any Compute Instance. - -1. If a Compute Instance has been selected, select a Configuration Profile within the **Config** field to attach the Volume to the next available Block Device Assignment (such as `/dev/sdc`). - -1. Click **Create Volume** to create the new Block Storage Volume. - -1. A **Volume Configuration** panel appears, which contains the instructions needed to access the new Volume with your Compute Instance. These instructions include commands for creating the file system, mounting the Volume, and configuring your instance to automatically mount the Volume at boot. For help with these commands, see [Configuring and Mounting a Volume](/docs/products/storage/block-storage/guides/configure-volume/). - -1. Once created, the Volume is listed under the *Volumes* table. - -## Delete Volume - -{{< note type="alert" >}} -Once a Block Storage Volume has been deleted, the data contained on that Volume will be permanently erased. This action cannot be reversed, so it’s always best to verify or backup the data in the block storage volume beforehand. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/linodes). - -1. If the Volume is attached to a Compute Instance, power off that instance and detach the Volume. To do so, follow the instructions within the [Detach the Volume](/docs/products/storage/block-storage/guides/attach-and-detach/#detach-a-volume) guide. - -1. Click on the **Volumes** link in the sidebar. - -1. Locate the desired Volume within the list, click the **more options ellipsis** dropdown menu, and select **Delete**. - -1. In the configuration dialog, click **Delete** once again. diff --git a/docs/products/storage/block-storage/guides/manage-volumes/view-all-volumes.png b/docs/products/storage/block-storage/guides/manage-volumes/view-all-volumes.png deleted file mode 100644 index be20e422955..00000000000 Binary files a/docs/products/storage/block-storage/guides/manage-volumes/view-all-volumes.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/manage-volumes/view-volumes-on-compute-instance.png b/docs/products/storage/block-storage/guides/manage-volumes/view-volumes-on-compute-instance.png deleted file mode 100644 index 34e75e58796..00000000000 Binary files a/docs/products/storage/block-storage/guides/manage-volumes/view-volumes-on-compute-instance.png and /dev/null differ diff --git a/docs/products/storage/block-storage/guides/nvme-upgrade/index.md b/docs/products/storage/block-storage/guides/nvme-upgrade/index.md deleted file mode 100644 index 884f8731803..00000000000 --- a/docs/products/storage/block-storage/guides/nvme-upgrade/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: "NVMe Block Storage Upgrade" -description: "Information about the new NVMe Block Storage product and how to upgrade a Volume." -modified: 2023-07-05 ---- - -## What is NVMe-backed Block Storage? - -NVMe (nonvolatile memory express) is the hardware interface for next-generation SSDs (solid-state drives). The technology is a significant improvement over traditional spinning hard disk drives, with a 10-20x increase in throughput and up to 2000x improvement in IOPS. With NVMe-backed Block Storage, you can experience a significant performance upgrade for database storage and other tasks where high storage speeds and consistency are critical. - -To learn more about Block Storage, visit the [Block Storage Overview](/docs/products/storage/block-storage/) page. - -## Availability - -**NVMe Block Storage** has been deployed to all data centers except for Fremont, CA (USA). - -## Upgrading a Volume to NVMe Block Storage - -Existing Volumes can be upgraded to NVMe soon after NVMe Block Storage has been deployed within a data center. Once NVMe upgrades are available, our team will schedule a migration for each eligible Volume on your account. You will receive a notification detailing the Volumes scheduled to be upgraded along with their migration schedule. You can view your scheduled upgrades on the [Account > Maintenance](https://cloud.linode.com/account/maintenance/) page of Cloud Manager under the *Volumes* section. You can also choose to immediately enter the upgrade queue *after* the migration has been scheduled by following the instructions below: - -1. Log in to Cloud Manager and navigate to the [Volumes](https://cloud.linode.com/volumes) page. - -1. Click the **Upgrade to NVMe** button next to the Volume you wish to upgrade. If this button does not appear next to your desired *non-NVMe* Volume, the Volume is not yet eligible for an upgrade. - -1. A confirmation pop-up is displayed notifying you of the upgrade details. Click the **Enter Upgrade Queue** button to continue. The Volume will be upgraded shortly, though the length of time the upgrade process takes depends on the number of other Volumes that are also in the upgrade queue as well as the size of your Volume. - -{{< note >}} -If the Volume is attached to a Linode Compute Instance during the upgrade process, the Compute Instance may be rebooted to complete the upgrade. If this occurs, it will return to its last known power state. -{{< /note >}} - -## Manually Upgrading a Volume to NVMe Block Storage - -If a scheduled upgrade is available for your Volume, follow the steps above in the [Upgrading a Volume to NVMe Block Storage](#upgrading-a-volume-to-nvme-block-storage) section. Otherwise, if this automated upgrade is not yet available for your Volume, you can manually upgrade to NVMe by following the procedure below. - -1. Create a new Volume within the same data center as your existing Volume. Provided that NVMe Block Storage has already launched in your data center, all new Volumes use the new NVMe architecture. Make sure the new Volume is large enough to accommodate your data and that you attach it to the same Compute Instance and configuration profile. See [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/). - -1. Log in to your Compute Instance over SSH. See [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/) for assistance. - -1. Perform any configuration steps necessary to create a file system on the new Volume and mount it to your system. See [Configure and Mount a Block Storage Volume](/docs/products/storage/block-storage/guides/configure-volume/). - -1. Run the following command to copy your data, replacing `[path-to-original-volume]` with the file system path to your original Volume and `[path-to-nvme-volume]` with the path to the new Volume you just created. These paths are likely under the `/mnt/` directory. - - ```command - sudo rsync -rah --progress [path-to-original-volume]/* [path-to-nvme-volume]/ - ``` - -1. After the transfer has completed, you can modify any applications using your original Volume to point to the mount directory of the new NVMe Volume. Then, follow the [Attach and Detach a Volume](/docs/products/storage/block-storage/guides/attach-and-detach/#detach-a-volume) guide to unmount and detach your original Volume. - - If you prefer not to modify any applications to use a new directory, you can rename your NVMe Volume to the use the same name as your original Volume (first renaming or deleting your original Volume). Then reboot your Compute Instance. Provided you original Volume was configured to automatically mount upon boot, the new Volume will be mounted instead. - -1. Once your verify that your new Volume is working as expected, you can delete the original Volume by following the [View, Create, and Delete Block Storage Volumes](/docs/products/storage/block-storage/guides/manage-volumes/) guide. If you decide not to delete it, you will be billed for both Volumes going forward. - -## Frequently Asked Questions - -### What are the performance benefits of NVMe Block Storage? - -The table below displays the performance you can expect from NVMe-backed Block Storage. Performance is automatically increased in 60 second bursts for even faster real-world speeds. - -| Performance Metric | IOPS | Throughput | -| -- | -- | -- | -| **Standard** | 8,000 | 350 MB/s | -| **Burst** | 12,000 | 525 MB/s | - -For detailed benchmarks along with comparisons to other Cloud providers, review the [Cloud Block Storage Benchmark Report](https://www.linode.com/content/cloud-block-storage-benchmarks/) prepared by Cloud Spectator. - -### How much extra will NVMe-backed Block Storage cost? - -We were able to provide a tremendous performance boost with NVMe Block Storage at **no additional charge.** Block Storage will remain priced at $0.10/GB per month. - -### How can I determine if my Volume uses NVMe storage? - -All Block Storage Volumes, with the exception of those deployed in the Fremont data center, are stored entirely on NVMe storage drives. \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/resize-volume/index.md b/docs/products/storage/block-storage/guides/resize-volume/index.md deleted file mode 100644 index fee447b2625..00000000000 --- a/docs/products/storage/block-storage/guides/resize-volume/index.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: "Resize a Volume" -description: "Learn how to resize an existing Block Storage Volume on the Linode Platform" -modified: 2024-02-05 ---- - -At any time after the Block Storage Volume has been created, it can be increased to a larger size. - -{{< note type="warning" title="Volume size cannot be decreased" >}} -At this time, the size of Volumes are only able to be increased (not decreased). To decrease the size of your Volume, you will need to create a new Volume at your preferred size, attach it to a Compute Instance, copy over your data, and remove the original Volume. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/linodes). - -1. If the Volume is attached to a Compute Instance, power off that instance. - -1. Click on the **Volumes** link in the sidebar. - -1. Locate the desired Volume within the list, click the **more options ellipsis** dropdown menu, and select **Resize**. - -1. Enter the new Volume size. The minimum size is the current size of the Volume and maximum is 10,240 GB. Then click **Submit**. - -1. Click **Resize Volume** to start the resize. Once the resize has been completed, you will receive a notification in Cloud Manager. - -1. After the Volume is resized, power back on your Compute Instance. - -1. Once your Compute Instance has fully booted up, you need to run the following commands to resize the file system within your Volume. - - 1. Login to your Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - - 1. Unmount the Volume, making sure to use the unique path for your own Volume: - - ```command - umount /dev/disk/by-id/scsi-0Linode_Volume_BlockStorage1 - ``` - - 1. Assuming you have an ext2, ext3, or ext4 partition, run a file system check: - - ``` - e2fsck -f /dev/disk/by-id/scsi-0Linode_Volume_BlockStorage1 - ``` - - 1. Then resize it to fill the new Volume size: - - ``` - resize2fs /dev/disk/by-id/scsi-0Linode_Volume_BlockStorage1 - ``` - - 1. Mount your Volume back onto the filesystem: - - ``` - mount /dev/disk/by-id/scsi-0Linode_Volume_BlockStorage1 /mnt/BlockStorage1 - ``` diff --git a/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/index.md b/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/index.md deleted file mode 100644 index a736d1efd39..00000000000 --- a/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: "Transfer Block Storage Data between Data Centers" -description: "Learn how to transfer data on a Block Storage Volume to a different data center." -modified: 2022-08-24 ---- - -Block Storage Volumes cannot be directly migrated to a different data center. These steps will outline how to transfer a Volume's data to a different data center via the [SCP](/docs/guides/download-files-from-a-compute-instance/#download-files-with-scp) tool. - -{{< note >}} -Consult our [Network Transfer Usage and Costs](/docs/products/platform/get-started/guides/network-transfer/) guide for information on charges related to outbound traffic when transferring data over the public internet. -{{< /note >}} - -1. [Attach and mount](/docs/products/storage/block-storage/guides/manage-volumes/) your existing Volume to a Compute Instance, if you have not already. - -1. [Create, attach, and mount](/docs/products/storage/block-storage/guides/manage-volumes/) a Volume to a Compute Instance within the new data center you wish to use. - -1. Log in to your new receiving Compute Instance using [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/). - -1. [Use the Secure Copy Protocol (SCP)](/docs/guides/download-files-from-a-compute-instance/#download-files-with-scp) to download your Volume's data to the receiving Compute Instance. - - scp [source-user]@[source-ip]:[source-path] [destination-path] - - Replace the above values with your own. In the example below, the user is `root`, the IP of the original Compute Instance is `192.0.2.1`, the path to the Volume's data on the source machine is `/mnt/source-volume/`, and the path to the new Volume on the new Compute Instance in the other data center is `/mnt/destination-volume/`. - - scp root@192.0.2.1:/mnt/source-volume/ /mnt/destination-volume/ - - {{< note >}} - You will need a Volume or device that has enough storage capacity to receive the entirety of your source data. - {{< /note >}} - -1. Once the transfer is complete and you have confirmed the original data is now located on the new Volume in your desired data center, the original Volume can be deleted to avoid further charges for that Volume. \ No newline at end of file diff --git a/docs/products/storage/block-storage/guides/transfer-volume/index.md b/docs/products/storage/block-storage/guides/transfer-volume/index.md deleted file mode 100644 index f50693e08de..00000000000 --- a/docs/products/storage/block-storage/guides/transfer-volume/index.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Transfer a Volume to a Different Compute Instance" -description: "Learn how to transfer a Block Storage Volume to a different Compute Instance within the same data center." -modified: 2022-08-24 ---- - -Follow these steps to move a Block Storage Volume to a different Compute Instance *within the same data center*. - -{{< note >}} -Volumes can only be attached to Compute Instances located in the same data center. To migrate data to a different data center, see the [Transfer Block Storage Data between Data Centers](/docs/products/storage/block-storage/guides/transfer-volume-data-between-data-centers/) guide. -{{< /note >}} - -1. Detach the Volume from the original Compute Instance. See [Attach and Detach Volumes > Detach a Volume](/docs/products/storage/block-storage/guides/attach-and-detach/#detach-a-volume) for instructions. - -1. Attach the Volume to the desired Compute Instance within the same data center as the Volume. See [Attach and Detach Volumes > Attach a Volume](/docs/products/storage/block-storage/guides/attach-and-detach/#attach-a-volume) for instructions. diff --git a/docs/products/storage/block-storage/guides/use-cases/index.md b/docs/products/storage/block-storage/guides/use-cases/index.md deleted file mode 100644 index a824a756c88..00000000000 --- a/docs/products/storage/block-storage/guides/use-cases/index.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "Common Use Cases for Block Storage" -description: "Learn how people use Block Storage to expand their persistent storage on the Linode Platform." -published: 2019-08-27 -modified: 2022-08-24 -keywords: ['block','storage','use','cases'] -tags: ["linode platform"] -aliases: ['/platform/block-storage/block-storage-use-cases/','/guides/block-storage-use-cases/'] ---- - -## What is Block Storage - -Block Storage is a type of persistent cloud data storage that is similar to a traditional block device, like the hard drive in a PC. With Block Storage, your data is divided into *blocks*, which are the small, discrete units that Block Storage can read from and write to. These blocks are assigned unique identifiers, but these are generally not human-readable, so a filesystem is usually installed which maps your files to the underlying blocks they correspond to. This relationship is also analogous to your PC's filesystem and hard drive. - -A Block Storage *Volume* houses these blocks of data. Volumes can be *attached* to a cloud computing instance, which makes its data and filesystem available to the instance. If your instance is running Linux, then mounting a Volume's filesystem is just like mounting any other filesystem. - -Volumes are stored separately from your cloud instances, but inside the same data center, and they are attached via the data center's private networking. A Volume can be detached from a cloud instance and its data will persist, even if the cloud instance is deleted. The Volume can also be re-attached to a different instance (though only one attachment at a time is possible). Volumes can also be increased in size at any time, independent of an instance's built-in storage. - -### Benefits and Limitations - -A Block Storage Volume augments the raw storage capacity of a cloud instance, which can be useful if your storage needs are greater than your computing demands. Because a Volume is scalable, it can adapt as your data grows in size. Additionally, all data stored with Linode Block Storage is replicated three times, so your Volumes are highly available and fault tolerant. - -{{< note >}} -While the health and uptime of Linode Block Storage is closely monitored by Linode Support, we still recommend [making separate backups](/docs/guides/backing-up-your-data/) of your Volumes. -{{< /note >}} - -Because Volumes are directly connected to an instance, their I/O speeds are much faster than those of an alternative storage solution like Object Storage. As well, the nature of Block Storage lets you read and write small parts of your data, which means that you can incrementally update your files. This is in contrast to Object Storage, which requires a full re-upload of a file to update it. - -Some aspects of Block Storage lead to natural limitations. In particular, a Volume needs to be attached to a cloud instance for its data to be accessible. In comparison, a file stored in Object Storage can be downloaded by any internet connected client at any time. - -Below you will find some of the more popular use cases for Block Storage. - -## Use Cases - -### Persistent Storage - -Block Storage Volumes can be detached from a cloud instance just as easily as they are attached, meaning that it's possible to create hot-swappable drives with Block Storage. This is useful if you need to perform the same kind of tasks across a fleet of instances with the same data. - -{{< note type="alert" >}} -While the Block Storage service has full support for hot swapping, it is important to follow the detachment instructions outlined in our [Attach and Detach a Volume](/docs/products/storage/block-storage/guides/attach-and-detach/#detach-a-volume) guide. If a Volume is not safely detached, there is a risk of data loss for the Volume. -{{< /note >}} - -### Container Storage - -Containers, like those created with Docker or inside Kubernetes Pods, can benefit from having some type of persistent storage. This helps to keep a container's size down and makes it easy to maintain data outside of the normal lifecycle of the container or Pod. - -If you are using Docker, you can use the [Docker Volume Driver for Linode](https://github.com/linode/docker-volume-linode) to create a Docker volume from a Block Storage Volume. Similarly, if you are using Kubernetes you can use the [Container Storage Interface (CSI) Driver for Linode Block Storage](https://github.com/linode/linode-blockstorage-csi-driver) to create a Persistent Volume Claim that's backed by a Block Storage Volume. - -### Database Storage - -With the release of NVMe Block Storage, our Block Storage service is able to meet the demands of the most resource-intensive database applications. Many enterprise database solutions benefit from ultra-fast NVMe storage, as well as the redundancy and fault tolerance provided by Block Storage. - -### Running Cloud Software - -In a climate where ownership over one's data is an important need for many individuals and organizations, hosting your own cloud software is a great use case for Block Storage. Create and mount a Block Storage Volume, [install an application like OwnCloud](/docs/guides/install-and-configure-owncloud-on-ubuntu-16-04/), and point its data folder to a location on your Volume. If you ever run out of space on your Volume you can always increase its size. - -### Storage for Media Library Applications - -There are a few media library applications, most notably [Plex](https://www.plex.tv/), that offer media streaming functionality to internet enabled devices. The media libraries these applications serve can quickly grow in size, depending on the number of movie and audio files they contain. Using a Block Storage Volume can provide you with storage capable of growing with the needs of your library. - -{{< note >}} -For more information on using Plex with a Block Storage Volume, see our [Using a Block Storage Volume with Plex](/docs/guides/use-block-storage-with-plex-media-server/) guide. -{{< /note >}} - -### Ephemeral Storage - -Various stages of the software development lifecycle can create large amounts of temporary data, such as buffers, builds, and cache and session data. While this data might only exist for a short period of time, it requires and uses storage space. Creating a Block Storage Volume just for ephemeral data is a good use case for times when the storage supplied with your instance is not enough, or for when you need extra space for a short period of time. - -### Data Backups - -Having backups of your data is always a good idea, and Block Storage Volumes make for scalable and quickly accessible backup mediums. Store anything that you might need to quickly transfer to another instance, or anything that you might need at a moment's notice. - -### Boot Disks - -You can boot from disk images installed to a Block Storage Volume. This provides a cost effective means of maintaining an image that can be attached to a new Linode. For example, you could save money by creating and removing on-demand Linode instances that boot from a Volume. As well, you can boot from a Volume to access and recover an instance whose normal operating system may not be running as expected. - -{{< note >}} -Linode provides a built-in [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/) feature, but maintaining your own rescue Volume can allow you to include the recovery tools you prefer to use. -{{< /note >}} - -## Next Steps - -For more information on how to use Block Storage, consult our [Block Storage Overview](/docs/products/storage/block-storage/) guide. diff --git a/docs/products/storage/block-storage/resources/index.md b/docs/products/storage/block-storage/resources/index.md deleted file mode 100644 index 1c9d20f7f2e..00000000000 --- a/docs/products/storage/block-storage/resources/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Block Storage" -description: "Resources and other information related to Linode Block Storage including blog posts, community posts, and customer stories." -tab_group_main: - weight: 40 ---- - -## Blog Posts - -Some of the blog posts about Linode Block Storage: - -- [Block Storage Now Available in Tokyo 2](https://www.linode.com/blog/cloud-storage/block-storage-now-available-in-tokyo-2/) - -- [Block Storage Now Available in Singapore and London](https://www.linode.com/blog/cloud-storage/block-storage-now-available-in-singapore-and-london/) - -- [Block Storage Now Available in Frankfurt](https://www.linode.com/blog/cloud-storage/block-storage-now-available-in-frankfurt/) - -- [Block Storage Now Available in Newark and Dallas](https://www.linode.com/blog/cloud-storage/block-storage-now-available-in-newark-and-dallas/) - -- [Announcing Linode Block Storage Volumes](https://www.linode.com/blog/cloud-storage/announcing-linode-block-storage-volumes/) - -- [Nextcloud and Percona added to Linode Marketplace](https://www.linode.com/blog/devops/nextcloud-and-percona-added-to-linode-marketplace/) - -- [4 Alternative Ways to Collaborate in the Cloud](https://www.linode.com/blog/cloud-computing/4-alternative-ways-to-collaborate-in-the-cloud/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [Now Available: Linode Terraform Provider](https://www.linode.com/blog/devops/now-available-linode-terraform-provider/) - -## Community Posts - -Some of the community posts that answer questions related to Linode Block Storage: - -- [How do I move my database files to a Block Storage Volume?](https://www.linode.com/community/questions/18893/how-do-i-move-my-database-files-to-a-block-storage-volume) - -- [How can I copy my Disk to Block Storage?](https://www.linode.com/community/questions/19477/how-can-i-copy-my-disk-to-block-storage) - -- [Can I have one Volume attached to two Linodes?](https://www.linode.com/community/questions/18548/can-i-have-1-volume-attached-to-two-linodes) - -- [Backing up a Block Storage Volume](https://www.linode.com/community/questions/19191/backing-up-a-block-storage-volume) - -- [How can I mount a Block Storage Volume from inside my Docker container?](https://www.linode.com/community/questions/493/how-can-i-mount-a-block-storage-volume-from-inside-my-docker-container) - -- [Can I use Block Storage with Nextcloud?](https://www.linode.com/community/questions/18500/can-i-use-block-storage-with-nextcloud) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=block+storage). - -## Customer Stories - -- [Craft of Code: Chris Alfano](https://www.linode.com/spotlight/chris-alfano/) - -- [Craft of Code: Changelog](https://www.linode.com/spotlight/changelog/) - -- [Craft of Code: Metorik](https://www.linode.com/spotlight/metorik/) - -- [Craft of Code: Configr](https://www.linode.com/spotlight/configr/) - -- [Craft of Code: John Schaeffer](https://www.linode.com/spotlight/john-schaeffer/) diff --git a/docs/products/storage/feature.png b/docs/products/storage/feature.png deleted file mode 100644 index d8e9fd56127..00000000000 Binary files a/docs/products/storage/feature.png and /dev/null differ diff --git a/docs/products/storage/feature.svg b/docs/products/storage/feature.svg deleted file mode 100644 index 7135a664867..00000000000 --- a/docs/products/storage/feature.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/products/storage/object-storage/_index.md b/docs/products/storage/object-storage/_index.md deleted file mode 100644 index 70c6db88b60..00000000000 --- a/docs/products/storage/object-storage/_index.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Object Storage -title_meta: "Object Storage Product Documentation" -description: "Linode Object Storage is S3-compatible, doesn't require a Linode, and lets you host static sites." -modified: 2024-04-07 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2024-04-07 - product_description: "An S3-compatible object storage solution designed to store, manage, and access unstructured data in the cloud." -aliases: ['/platform/object-storage/pricing-and-limitations/', '/guides/pricing-and-limitations','/products/storage/object-storage/guides/enable/'] ---- - -Linode's Object Storage is a globally-available, S3-compatible method for storing and accessing data. Object Storage differs from traditional hierarchical data storage, such as a traditional filesystem on a physical/virtual disk and [Block Storage Volumes](/docs/products/storage/block-storage/). Under Object Storage, files (also called *objects*) are stored in flat data structures (referred to as *buckets*) alongside their own rich metadata. - -Due to the nature of Object Storage, it does not require the use of a Compute Instance. Instead, Object Storage gives each object a unique URL with which you can access the data. An object can be publicly accessible, or you can set it to be private and only visible to you. This makes Object Storage great for sharing and storing unstructured data like images, documents, archives, streaming media assets, and file backups, and the amount of data you store can range from small collections of files up to massive libraries of information. - -## Features - -### S3 Compatible - -Linode Object Storage is a globally-available, S3 Compatible storage solution, maintaining the same performance as your data grows. - -### No Compute Instance Required - -Object storage does not require the use of a Compute Instance. Instead, Object Storage gives each object a unique URL which you can use to access your data. - -### Host Static Sites - -Using Object Storage to host your static site files means you do not have to worry about maintaining your site’s infrastructure. It is no longer necessary to perform typical server maintenance tasks, like software upgrades, web server configuration, and security upkeep. See [Deploy a Static Site using Hugo and Object Storage](/docs/guides/host-static-site-object-storage/). - -## Availability - -Object Storage is available within the following data centers. For a full list of specifications for each region, review the [Technical Specifications](#specifications). - -{{< table >}} -| Data Center | Cluster ID | -| -- | -- | -| Amsterdam (Netherlands)\* | `nl-ams-1` | -| Atlanta, GA (USA) | `us-southeast-1` | -| Chennai (India)\* | `in-maa-1` | -| Chicago, IL (USA)\* | `us-ord-1` | -| Frankfurt (Germany) | `eu-central-1` | -| Jakarta (Indonesia)\* | `id-cgk-1` | -| Los Angeles, CA (USA)\* | `us-lax-1` | -| Madrid (Spain)\* | `es-mad-1` | -| Miami, FL (USA)\* | `us-mia-1` | -| Milan (Italy)\* | `it-mil-1` | -| Newark, NJ (USA) | `us-east-1` | -| Osaka (Japan)\* | `jp-osa-1` | -| Paris (France)\* | `fr-par-1` | -| São Paulo (Brazil)\* | `br-gru-1` | -| Seattle, WA (USA)\* | `us-sea-1` | -| Singapore | `ap-south-1` | -| Stockholm (Sweden)\* | `se-sto-1` | -| Washington, DC (USA)\* | `us-iad-1` | -{{< /table >}} - -\**Higher capacity regions. These data centers offer increased capacity and are ideal for large enterprise workloads.* - -Object Storage deployments in each data center are assigned a cluster ID. These are used when [formatting URLs](/docs/products/storage/object-storage/guides/urls/) and integrating Object Storage with tools such as the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/), [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/), [s4cmd](/docs/products/storage/object-storage/guides/s4cmd/), and [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/). - -## Pricing - -Linode Object Storage costs a flat rate of $5 a month, and includes 250 gigabytes of storage. This flat rate is prorated, so if you use Object Storage for a fraction of the month you are charged a fraction of the cost. For example, if you have Object Storage enabled for half of the month and use up to 250 gigabytes of storage you are billed $2.50 at the end of the month. The default cost of storage per gigabyte over the first 250 gigabytes is $0.02, and this usage is also prorated based on usage time. - -Storage and network transfer overages for Object Storage vary by data center due to regional infrastructure costs. The below table includes overage costs for different data centers where Object Storage is available: - -{{< table >}} -| Data Center | Storage overage per GB above 250 GB | Network Transfer overage cost | -| :-- | -- | -- | -| All data centers (except those listed below) | $0.02/GB | $0.005/GB | -| Jakarta, Indonesia | $0.024/GB | $0.015/GB | -| São Paulo, Brazil | $0.028/GB | $0.007/GB | -{{< /table >}} - -{{% content "object-storage-cancellation-shortguide" %}} - -## Technical Specifications and Considerations {#specifications} - -The table below outlines default Object Storage limits. Limits apply **per region, per account**, unless otherwise specified. - -{{< table >}} -| Resource | Limit | -| -- | -- | -| Maximum storage | 100 TB (Up to 1,000 TB by request)* | -| Maximum number of objects | 100 million (Up to 1 billion by request)* | -| Maximum number of buckets | 1,000 buckets | -| Maximum file upload size | 5 GB (5 TB with multipart uploads) | -| Rate limit (per bucket) | 750 requests per second | -{{< /table >}} - -*Limit varies by region. Data centers with exceptions to the default bucket limits are listed in the table below: - -{{< table >}} -| Data Center | Max Storage
      per account, per region | Max # of objects
      per account, per region | -| -- | -- | -- | -| Atlanta, GA (USA) | 5 TB | 50 million | -| Frankfurt (Germany) | 5 TB | 50 million | -| Newark, NJ (USA) | 5 TB | 50 million | -| Singapore | 5 TB | 50 million | -{{< /table >}} - -If your workloads require additional storage or need to accommodate more objects, [contact the Support team](https://www.linode.com/support/) with your request. Be sure to include any details related to your application and requirements. Among other factors, the total capacity of the region is considered when processing a limit increase request. For larger enterprise workloads, consider using one of the data centers designated as *higher capacity* (see [Availability](#availability)). - -### Network Transfer - -- 40 Gbps inbound network bandwidth -- Free inbound network transfer -- Metered outbound network transfer, including traffic to other Linode services within the same data center (over both public IPv4 and IPv6 addresses) -- When enabling Object Storage on your account, 1 TB (prorated) of transfer allowance per month is added to your **global network transfer pool** - -See the [Network Transfer Usage and Costs](/docs/products/platform/get-started/guides/network-transfer/) guide for additional details, including costs for network transfer overages. - -{{< note >}} -If creating a bucket in our **Jakarta** or **São Paulo** data centers, note that no additional transfer is added to their region-specific transfer pools. -{{< /note >}} - -### Optimizing Applications to Avoid Rate Limiting -The rate limit for the number of Requests Per Second (RPS) applies to a bucket and is evaluated against each bucket once per second. If the duration of any request is greater than one second, any open requests will count against the rate limit in the next one second window. - -For example, assume there are 750 requests for a single bucket with a duration of two seconds each. All of the requests that do not complete within the first second will count against the rate limit in the next second. With a rate limit of 750 requests per second for the bucket, no additional requests can be processed within the two second window until the first 750 requests complete. Any requests that are rate limited will receive a 503 response. - -To help avoid rate limiting you can structure your data across multiple buckets, each of which will have its own rate limit. - -### Additional Limits and Specifications - -- **Upload file size limit:** 5 GB. The maximum upload size of a single object is *5 GB*, though this can easily be overcome by using multi-part uploads. Both [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/) and [cyberduck](/docs/products/storage/object-storage/guides/cyberduck/) will do this for you automatically if a file exceeds this limit as part of the uploading process. -- **Restricted characters:** Objects uploaded to object storage cannot contain the following special characters when using Cloud Manager or the Linode CLI: `" ' < > & + =`. diff --git a/docs/products/storage/object-storage/_shortguides/object-storage-cancellation-shortguide/index.md b/docs/products/storage/object-storage/_shortguides/object-storage-cancellation-shortguide/index.md deleted file mode 100644 index 9434be8eeee..00000000000 --- a/docs/products/storage/object-storage/_shortguides/object-storage-cancellation-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: A notice that billing for Object Storage continues until the service is cancelled even if there are no active buckets on the account. - -headless: true -show_on_rss_feed: false ---- - -{{< note type="alert" >}} -Object Storage is similar to a subscription service. **Once enabled, you will be billed at the flat rate regardless of whether or not there are active buckets on your account.** You must [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/) to stop billing for this service. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/object-storage/_shortguides/object-storage-character-warning-shortguide/index.md b/docs/products/storage/object-storage/_shortguides/object-storage-character-warning-shortguide/index.md deleted file mode 100644 index 605d44d3007..00000000000 --- a/docs/products/storage/object-storage/_shortguides/object-storage-character-warning-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: A warning for adding objects with special characters in their filenames or directories. - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -Uploading or renaming objects using non-standard special characters and unusual ASCII/Unicode characters may cause issues. This includes the characters: `: " ' < > & + =`. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/object-storage/_shortguides/object-storage-cluster-shortguide/index.md b/docs/products/storage/object-storage/_shortguides/object-storage-cluster-shortguide/index.md deleted file mode 100644 index 8cfe197a153..00000000000 --- a/docs/products/storage/object-storage/_shortguides/object-storage-cluster-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Displays the definition of an Object Storage cluster. - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -A *cluster* is defined as all buckets hosted by a unique URL; for example: `us-east-1.linodeobjects.com`, `ap-south-1.linodeobjects.com`, or `eu-central-1.linodeobjects.com`. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/object-storage/_shortguides/object-storage-ga-shortguide/index.md b/docs/products/storage/object-storage/_shortguides/object-storage-ga-shortguide/index.md deleted file mode 100644 index b63fea35d7e..00000000000 --- a/docs/products/storage/object-storage/_shortguides/object-storage-ga-shortguide/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Object Storage General Availability Notice - -headless: true -show_on_rss_feed: false ---- - -{{< note >}} -Linode's Object Storage is available in our Atlanta (USA), Frankfurt (Germany), Newark (USA), and Singapore data centers. For more availability details and billing information, see the [Object Storage Overview](/docs/products/storage/object-storage/) product documentation. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/object-storage/developers/index.md b/docs/products/storage/object-storage/developers/index.md deleted file mode 100644 index 744fcaae13e..00000000000 --- a/docs/products/storage/object-storage/developers/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Object Storage" -description: "Use the Linode API or CLI to manage Linode Object Storage." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [Object Storage Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. [Learn how to use the Linode CLI](/docs/products/tools/cli/guides/object-storage/). diff --git a/docs/products/storage/object-storage/feature.png b/docs/products/storage/object-storage/feature.png deleted file mode 100644 index 00f3dff4436..00000000000 Binary files a/docs/products/storage/object-storage/feature.png and /dev/null differ diff --git a/docs/products/storage/object-storage/feature.svg b/docs/products/storage/object-storage/feature.svg deleted file mode 100644 index 6fe6751f653..00000000000 --- a/docs/products/storage/object-storage/feature.svg +++ /dev/null @@ -1,5 +0,0 @@ - - Object Storage - - - \ No newline at end of file diff --git a/docs/products/storage/object-storage/get-started/index.md b/docs/products/storage/object-storage/get-started/index.md deleted file mode 100644 index 3bd99bd0f3e..00000000000 --- a/docs/products/storage/object-storage/get-started/index.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Object Storage" -description: "Get Started with Linode Object Storage. Learn how to enable Object Storage, create an Object Storage key pair, create a bucket, upload an object to a bucket, and cancel Object Storage." -tab_group_main: - weight: 20 -aliases: ['/platform/object-storage/how-to-use-object-storage/','/guides/how-to-use-object-storage/'] ---- - -## Enable Object Storage - -Object Storage is not enabled for a Linode account by default. All that is required to enable Object Storage is to create a bucket or an Object Storage access key. To cancel Object Storage, see the [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/) guide. - -{{< note >}} -Billing for Object Storage starts when it is enabled on your account, **regardless of how it is enabled**. For example, if you enable the service by creating an access key, but you have not yet created a bucket, the $5 monthly flat rate (prorated) for Object Storage is charged for your account. [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/) to stop further billing. -{{< /note >}} - -## Generate an Access Key - -1. Test - Log into the [Linode Cloud Manager](https://cloud.linode.com). - - {{< note >}} - Object Storage is not available in the Linode Classic Manager. - {{< /note >}} - -1. Click on the **Object Storage** link in the sidebar, click the **Access Keys** tab, and then click the **Create an Access Key** link. - -1. A prompt appears asking you to confirm that you'd like to enable Object Storage. Click **Enable Object Storage**. - -1. The **Create an Access Key** menu appears. - -1. Enter a label for the key pair. This label is how you reference your key pair in the Linode Cloud Manager. Then, click **Submit**. - -1. Select at least one region. You can select multiple regions for your access key. - -2. A window appears that contains your access key and your secret key. Write these down somewhere secure. The access key is visible in the Linode Cloud Manager, but **you are not able to retrieve your secret key again once you close the window.** - -3. You now have the credentials needed to connect to Linode Object Storage. - -## Create a Bucket - -Cloud Manager provides a web interface for creating buckets. To create a bucket: - -1. If you have not already, log in to the [Linode Cloud Manager](https://cloud.linode.com). - -1. Click on the **Object Storage** link in the sidebar, and then click on **Create Bucket**. - - {{< note >}} - If you have not created an access key or a bucket before, you are prompted to enable Object Storage. - {{< /note >}} - -1. The **Create a Bucket** menu appears. - -1. Add a label for your bucket. See the [Bucket Name](/docs/products/storage/object-storage/guides/manage-buckets/#create-a-bucket) section for rules on naming your bucket. - -1. Choose a cluster location for the bucket to reside in. - - {{% content "object-storage-cluster-shortguide" %}} - -1. Click **Submit**. You are now ready to [upload objects to your bucket](#upload-objects-to-a-bucket). - -## Upload an Object to a Bucket - -1. If you have not already, log in to the [Linode Cloud Manager](https://cloud.linode.com). - -1. Click on the **Object Storage** link in the sidebar. A list of all your buckets appears. Click on the bucket you'd like to begin uploading objects to. - -1. Your bucket's **Objects Listing Page** appears. In the example, the *my-example-bucket* does not yet contain any objects. You can use the **Upload Files Pane** to drag and drop a file from your computer to your object storage bucket. - - {{< note >}} - You can drag and drop multiple files to the **Upload Files Pane** at one time. - {{< /note >}} - - You can also click on the **Browse Files** button to bring up your computer's file browser and select a file to upload to your bucket. - -1. When the upload has completed, your object is visible on the **Objects Listing Page**. - - {{< note >}} - Individual object uploads are limited to a size of 5GB each, though larger object uploads can be facilitated with multipart uploads. [s3cmd](#s3cmd) and [cyberduck](#cyberduck) do this for you automatically if a file exceeds this limit as part of the uploading process. - {{< /note >}} - - {{< note >}} - You can add an *AbortIncompleteMultipartUpload* lifecycle policy to the buckets to automatically abort unfinished multipart uploads after a certain amount of time. For more information about adding the *AbortIncompleteMultipartUpload* lifecycle policy, see [Additional Actions] (/docs/guides/how-to-manage-objects-with-lifecycle-policies/#additional-actions). - {{< /note >}} - -## Control Permissions with ACLs and Bucket Policies - -Linode Object Storage allows users to share access to objects and buckets with other Object Storage users. There are two mechanisms for setting up sharing: *Access Control Lists (ACLs)*, and *bucket policies*. These mechanisms perform similar functions: both can be used to restrict and grant access to Object Storage resources. ACLs can also restrict or grant access to *individual objects*, but they don't offer as many fine-grained access modes as bucket policies. - -- [ACLs (Access Control Lists)](/docs/products/storage/object-storage/guides/acls/) - -- [Bucket Policies](/docs/products/storage/object-storage/guides/bucket-policies/) - -If you can organize objects with similar permission needs into their own buckets, then it's strongly suggested that you use bucket policies. However, if you cannot organize your objects in this fashion, ACLs are still a good option. - -ACLs offer permissions with less fine-grained control than the permissions available through bucket policies. If you are looking for more granular permissions beyond read and write access, choose bucket policies over ACLs. - -Additionally, bucket policies are created by applying a written bucket policy file to the bucket. This file cannot exceed 20KB in size. If you have a policy with a lengthy list of policy rules, you may want to look into ACLs instead. - -{{< note >}} -ACLs and bucket policies can be used at the same time. When this happens, any rule that limits access to an Object Storage resource overrides a rule that grants access. For instance, if an ACL allows a user access to a bucket, but a bucket policy denies that user access, the user can not access that bucket. -{{< /note >}} - -## Object Storage Tools - -There are a number of tools that are available to help manage Linode Object Storage. This guide explains how to install and use the following options: - -- The [Linode Cloud Manager](/docs/products/storage/object-storage/guides/) can be used to create buckets, and upload and delete objects, as well as create access keys for use with the S3 compatible clients. - -- The [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/) has an Object Storage plugin and can be used to create and remove buckets, add and remove objects, and convert a bucket into a static site from the command line. - -- [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/) is a powerful command line utility that can be used with any S3-compatible object storage service, including Linode's. s3cmd can be used to create and remove buckets, add and remove objects, convert a bucket into a static site from the command line, plus other functions like syncing entire directories up to a bucket. - -- [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/) is a graphical utility available for Windows and macOS and is a great option if you prefer a GUI tool. diff --git a/docs/products/storage/object-storage/guides/_index.md b/docs/products/storage/object-storage/guides/_index.md deleted file mode 100644 index 592e723cf44..00000000000 --- a/docs/products/storage/object-storage/guides/_index.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Object Storage" -description: "Find guides on Linode Object Storage management, hosting a static site on Object Storage, access and permissions, and other related topics." -tab_group_main: - weight: 30 -tags: ["education","media"] ---- - -## Basics - -- [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/): Buckets are the primary containers within Object Storage. Learn how to view, create, and delete buckets through Cloud Manager. - -- [Upload and Manage Files (Objects)](/docs/products/storage/object-storage/guides/manage-files/): Learn how to view, upload, download, and delete objects through Cloud Manager. - -- [Manage Access Keys](/docs/products/storage/object-storage/guides/access-keys/): Access keys enable you to access Object Storage through other tools and your own applications. Learn how to generate and manage these in Cloud Manager. - -- [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/): Every bucket and file can be accessed by a unique URL. Learn how to obtain these URLs. - -- [Configure a Custom Domain (with a TLS/SSL Certificate)](/docs/products/storage/object-storage/guides/custom-domain/): Linode's Object Storage supports accessing buckets and objects through a custom domain. Learn how to configure a custom domain with a TLS/SSL certificate. - -- [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/): Learn how to cancel the Object Storage service from Cloud Manager. - -- [Object Storage Use Cases](/docs/products/storage/object-storage/guides/use-cases/): Information on the benefits and common use cases of Linode's Object Storage service. - -## Set Permissions and Access Controls - -- [ACLs (Access Control Lists)](/docs/products/storage/object-storage/guides/acls/): Information on ACLs and how to use them to set permissions on Object Storage resources. - -- [Bucket Policies](/docs/products/storage/object-storage/guides/bucket-policies/): Information on bucket policies and how to use them to set permissions on Object Storage resources. - -- [Find the Canonical User ID for an Account](/docs/products/storage/object-storage/guides/find-canonical-id/): Learn how to find the canonical user ID for an account. - -## Advanced Management - -- [Versioning (Retain Object Version History)](/docs/products/storage/object-storage/guides/versioning/): Discover how to enable and manage versioning within Object Storage. - -- [Lifecycle Policies](/docs/products/storage/object-storage/guides/lifecycle-policies/): Learn how to define policies to manage the lifecycle and retention history of objects. - -## Clients and Tools - -Guides for using Object Storage with various clients and command-line tools: - -- [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/): An easy to use command-line tool for use with Linode's own services. -- [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/): One of the most common command-line tools for interacting with S3-compatible object storage solutions, including Linode Object Storage. -- [s4cmd](/docs/products/storage/object-storage/guides/s4cmd/): A faster alternative to the s3cmd command-line tool. -- [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/): A cross-platform graphical interface for interacting with various cloud storage services. - -## AWS Tooling - -Guides for using Object Storage with various AWS SDKs: - -- [AWS CLI](/docs/products/storage/object-storage/guides/aws-cli/) -- [AWS SDK for Python (boto3)](/docs/products/storage/object-storage/guides/aws-sdk-for-python/) -- [AWS SDK for PHP](/docs/products/storage/object-storage/guides/aws-sdk-for-php/) - -## Going Further - -These additional guides explore targeted topics like setting up a static site and managing access and permissions for your buckets and objects: - -- [Deploy a Static Site using Hugo and Object Storage](/docs/guides/host-static-site-object-storage/) \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/access-keys/access-keys-display-after-creation.png b/docs/products/storage/object-storage/guides/access-keys/access-keys-display-after-creation.png deleted file mode 100644 index 1a1acad77bf..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/access-keys-display-after-creation.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/access-keys-limited-access-switch.png b/docs/products/storage/object-storage/guides/access-keys/access-keys-limited-access-switch.png deleted file mode 100644 index e2de0d92994..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/access-keys-limited-access-switch.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/access-keys-list.png b/docs/products/storage/object-storage/guides/access-keys/access-keys-list.png deleted file mode 100644 index 36a27b952d2..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/access-keys-list.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/access-keys-revoke.png b/docs/products/storage/object-storage/guides/access-keys/access-keys-revoke.png deleted file mode 100644 index edae55c5f94..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/access-keys-revoke.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/create-access-key.jpg b/docs/products/storage/object-storage/guides/access-keys/create-access-key.jpg deleted file mode 100644 index b7aa165e33e..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/create-access-key.jpg and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/index.md b/docs/products/storage/object-storage/guides/access-keys/index.md deleted file mode 100644 index 22371cf94cf..00000000000 --- a/docs/products/storage/object-storage/guides/access-keys/index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Manage Access Keys" -description: "How to create an Access Key for use with Linode Object Storage." -published: 2021-05-28 -modified: 2024-06-17 -keywords: ['object storage'] -aliases: ['/products/storage/object-storage/guides/generate-key-pair/','/products/storage/object-storage/guides/generate-access-keys/'] ---- - -To start integrating Object Storage with your own applications, you need to create an *access key*. The access key provides access to buckets (and objects stored within those buckets). You can create many access keys, allowing you to create a unique one for each application or user. When an application or user no longer requires access, you can revoke that access key without affecting any other application. - -When an access key is generated, a corresponding *secret key* is also created. This secret key is used in tandem with the access key to authenticate connections. The secret key should not be shared. - -## View Access Keys - -1. Log in to [Cloud Manager](https://cloud.linode.com). - -1. Select the **Object Storage** link in the sidebar and navigate to the **Access Keys** tab. - -![Viewing a list of access keys in Cloud Manager](view-access-keys.jpg) - -This page displays a list of all the access keys added to your Object Storage account. It also shows the S3 endpoint hostname. The S3 endpoint hostname is different for each region and is displayed when the you create an access key. - -From here, you can create a new access key. You can also click the ellipsis to: -- Edit the access key labels and the regions list. -- View the permissions. -- Revoke access (which deletes the access key). - -## Create an Access Key - -To use Object Storage with any compatible client or command-line tool, you'll need to generate an Access Key. This can be done directly in Cloud Manager. - -1. Navigate to the **Access Keys** page in Cloud Manager (see [View Access Keys](#view-access-keys)). - -1. Click the **Create Access Key** button, which displays the **Create Access Key** panel. - -1. Enter a label for the access key. This label is how you reference the access key in Cloud Manager and any S3 compatible client. - -1. Select at least one Region. You can select multiple regions for your access key. - -1. Toggle the **Limited Access** switch if you wish to only provide access to certain buckets. This lets you limit the permissions for the new access key on a per-bucket level. See [Access Key Permissions](#permissions) for more details. - - ![The limited access switch](create-access-key.jpg) - -1. Click the **Create Access Key** button to create the access key. A dialog box appears that displays the new access key and its secret key. While the access key is always visible within Cloud Manager, its corresponding secrete key is only visible once and cannot be retrieved again after this window is closed. Store this secret key somewhere secure, such as a password manager. - - ![The access key and secret key displayed within Cloud Manager](secret-key.jpg) - -You now have the credentials needed to connect to Object Storage. - -## Revoke Access Key - -Revoking an access key removes it from your account and no longer provides access to applications that may have used it. You may wish to do this when decommissioning an application, ending a project with a third party developer, or any other situation where an access key is no longer needed. - -1. Navigate to the **Access Keys** page in Cloud Manager (see [View Access Keys](#view-access-keys)). - -1. Locate the access key you wish to remove and click the corresponding **Revoke** button. - - ![Select the 'Revoke' button](access-keys-revoke.png ) - - -1. A confirmation dialog appears. Click the **Revoke** button to immediately revoke the access key. - -## Permissions - -By default, an Access Key is unrestricted and has full access to all Buckets on an account. When creating an Access Key, you can enable **Limited Access** and set more granular permissions for each Bucket. These permissions include **None**, **Read**, and **Read/Write**: - -{{< note >}} -Regardless of permissions, all access keys can create new buckets and list all buckets. However, after creating a bucket, depending on what you select here, a limited access key may not be able to access those buckets, add items, remove items, and other actions. -{{< /note >}} - -- **None**: Restricts all access to the specified Bucket. This Access Key will still be able to view the Bucket in the list of all Buckets, but will otherwise be unable to access any objects stored within it. - -- **Read** (`read_only`): Access keys with **Read** permissions are able to list and retrieve most information about the specified Bucket and objects stored in that Bucket. Technically, **read** permissions provide access to the following s3 actions (which are used by all s3-compatible clients and tools): - - > *GetBucketAcl, GetBucketCORS, GetBucketLocation, GetBucketLogging, GetBucketNotification, GetBucketPolicy, GetBucketTagging, GetBucketVersioning, GetBucketWebsite, GetLifecycleConfiguration, GetObjectAcl, GetObject, GetObjectTorrent, GetReplicationConfiguration, GetObjectVersionAcl, GetObjectVersion, GetObjectVersionTorrent, ListBucketMultipartUploads, ListBucket, ListBucketVersions, ListMultipartUploadParts* - -- **Read/Write** (`read_write`): Access keys with **Read/Write** permissions can list, retrieve, add, delete, and modify most information and objects stored within the specified Bucket. Technically, **read/write** permissions provide access to all of the same s3 actions as **read** permissions, as well as the following: - - > *AbortMultipartUpload, DeleteBucketWebsite, DeleteObject, DeleteObjectVersion, DeleteReplicationConfiguration, PutBucketCORS, PutBucketLogging, PutBucketNotification, PutBucketTagging, PutBucketVersioning, PutBucketWebsite, PutLifecycleConfiguration, PutObject, PutObjectAcl, PutObjectVersionAcl, PutReplicationConfiguration, RestoreObject* - -A full list of s3 actions is available on [Amazon's S3 API Reference](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations_Amazon_Simple_Storage_Service.html) documentation. diff --git a/docs/products/storage/object-storage/guides/access-keys/object-storage-enable-object-storage.png b/docs/products/storage/object-storage/guides/access-keys/object-storage-enable-object-storage.png deleted file mode 100644 index c7003f3c88b..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/object-storage-enable-object-storage.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/secret-key.jpg b/docs/products/storage/object-storage/guides/access-keys/secret-key.jpg deleted file mode 100644 index d936a4db0bd..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/secret-key.jpg and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/access-keys/view-access-keys.jpg b/docs/products/storage/object-storage/guides/access-keys/view-access-keys.jpg deleted file mode 100644 index 68024d9382a..00000000000 Binary files a/docs/products/storage/object-storage/guides/access-keys/view-access-keys.jpg and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-bucket-access-menu.png b/docs/products/storage/object-storage/guides/acls/acl-bucket-access-menu.png deleted file mode 100644 index 47084b5bcf5..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-bucket-access-menu.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-bucket-access-page.png b/docs/products/storage/object-storage/guides/acls/acl-bucket-access-page.png deleted file mode 100644 index f741775e9b8..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-bucket-access-page.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-bucket-access-save.png b/docs/products/storage/object-storage/guides/acls/acl-bucket-access-save.png deleted file mode 100644 index 5cdab367771..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-bucket-access-save.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-bucket-detail-page.png b/docs/products/storage/object-storage/guides/acls/acl-bucket-detail-page.png deleted file mode 100644 index b14800b9321..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-bucket-detail-page.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-object-detail-select-menu.png b/docs/products/storage/object-storage/guides/acls/acl-object-detail-select-menu.png deleted file mode 100644 index 018a6fb936d..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-object-detail-select-menu.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-object-menu-options.png b/docs/products/storage/object-storage/guides/acls/acl-object-menu-options.png deleted file mode 100644 index f5a13261105..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-object-menu-options.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-object-panel-save.png b/docs/products/storage/object-storage/guides/acls/acl-object-panel-save.png deleted file mode 100644 index e985832ba2b..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-object-panel-save.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-object-panel.png b/docs/products/storage/object-storage/guides/acls/acl-object-panel.png deleted file mode 100644 index 6a9c20c31ee..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-object-panel.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-s3cmd-custom-setting-cloud-manager.png b/docs/products/storage/object-storage/guides/acls/acl-s3cmd-custom-setting-cloud-manager.png deleted file mode 100644 index d1dd875678a..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-s3cmd-custom-setting-cloud-manager.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/acl-select-bucket.png b/docs/products/storage/object-storage/guides/acls/acl-select-bucket.png deleted file mode 100644 index 9a4f174e3f8..00000000000 Binary files a/docs/products/storage/object-storage/guides/acls/acl-select-bucket.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/acls/index.md b/docs/products/storage/object-storage/guides/acls/index.md deleted file mode 100644 index 5b43c979b9c..00000000000 --- a/docs/products/storage/object-storage/guides/acls/index.md +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: "Define Access and Permissions using ACLs (Access Control Lists)" -description: "Learn how to use ACLs to set permissions and access controls within Object Storage" -published: 2019-12-16 -modified: 2022-03-11 -aliases: ['/platform/object-storage/how-to-use-object-storage-acls-and-bucket-policies/', '/guides/how-to-use-object-storage-acls-and-bucket-policies/'] ---- - -Access Control Lists (ACLs) are a method of defining access to Object Storage resources. You can apply ACLs to both buckets and objects, giving users access and controlling their permission level. There are two generalized modes of access: setting buckets and/or objects to be private or public. A few other more granular settings are also available; [Cloud Manager](#granular-permissions-for-cloud-manager) and [s3cmd](#granular-permissions-for-s3cmd) sections provide information on these respective settings. - -## ACLs in Cloud Manager - -### Granular Permissions for Cloud Manager - -| Level | Permission | Description | -| ----- | ---------- | ----------- | -| Bucket | Private | Only you can list, create, overwrite, and delete Objects in this Bucket. *Default* | -| Bucket | Authenticated Read | All authenticated Object Storage users can list Objects in this Bucket, but only you can create, overwrite, and delete them. | -| Bucket | Public Read | Everyone can list Objects in this Bucket, but only you can create, overwrite, and delete them. | -| Bucket | Public Read/Write | Everyone can list, create, overwrite, and delete Objects in this Bucket. *This is not recommended.* | -| Object | Private | Only you can download this Object. *Default* | -| Object | Authenticated Read | All authenticated Object Storage users can download this Object. | -| Object | Public Read | Everyone can download this Object. | - -### Bucket Level ACLs in Cloud Manager - -{{< note >}} -Existing buckets and any new bucket created in Cloud Manager have a default ACL permission setting of Private. -{{< /note >}} - -1. If you have not already, log in to the [Linode Cloud Manager](https://cloud.linode.com). - -1. Click the **Object Storage** link in the sidebar, and then click on the bucket you wish to edit the ACLs for. - - ![Select an Object Storage Bucket](acl-select-bucket.png "Select an Object Storage Bucket") - -1. The Object Storage Bucket detail page appears. Click the **Access** tab. - - ![Object Storage Bucket Detail Page](acl-bucket-detail-page.png "Object Storage Bucket Detail Page") - -1. The Object Storage Bucket Access Page appears. - - ![Object Storage Bucket Access Page](acl-bucket-access-page.png "Object Storage Bucket Access Page") - -1. On this page you can select the ACL for this bucket as well as enable CORS. - - {{< note >}} - CORS is enabled by default on all existing buckets and on all new buckets. - {{< /note >}} - -1. Select the ACL for this bucket from the dropdown menu. - - ![Object Storage Bucket Access Menu](acl-bucket-access-menu.png "Object Storage Bucket Access Menu") - -1. Click the **Save** button to save these settings to the bucket. - - ![Object Storage Bucket Access Page Save Settings](acl-bucket-access-save.png "Object Storage Bucket Access Page Save Settings") - -### Object Level ACLs in Cloud Manager - -{{< note >}} -Existing objects and any new objects created in Cloud Manager have a default ACL permission setting of Private. -{{< /note >}} - -1. If you have not already, log in to the [Linode Cloud Manager](https://cloud.linode.com). - -1. Click the **Object Storage** link in the sidebar, and then click on the bucket that holds the objects that you wish to edit the ACLs for. - - ![Select an Object Storage Bucket](acl-select-bucket.png "Select an Object Storage Bucket") - -1. The Object Storage Bucket detail page appears and displays all the objects in your bucket. - -1. Next to the object you wish to edit the ACL settings for, click the ***more options ellipsis*** and select **Details** from the drop down menu that appears. - - ![Object Storage Object Detail Menu](acl-object-detail-select-menu.png "Object Storage Object Detail Menu") - -1. The Object ACL panel opens. - - ![Object Storage Object ACL Panel](acl-object-panel.png "Object Storage Object ACL Panel") - -1. Select the ACL you wish to set for this object from the dropdown menu. - - ![Object Storage Object ACL Menu Options](acl-object-menu-options.png "Object Storage Object ACL Menu Options") - -1. Click the **Save** button. The panel closes and the ACL is applied to the object. - - ![Object Storage Object ACL Save Settings](acl-object-panel-save.png "Object Storage Object ACL Save Settings") - -## ACLs with s3cmd - -With s3cmd, you can set a bucket to be public with the `setacl` command and the `--acl-public` flag: - - s3cmd setacl s3://acl-example --acl-public - -This causes the bucket and its contents to be downloadable over the public Internet. - -To set an object or bucket to private, you can use the `setacl` command and the `--acl-private` flag: - - s3cmd setacl s3://acl-example --acl-private - -This prevents users from accessing the bucket's contents over the public Internet. - -### Granular Permissions for s3cmd - -The more granular permissions are: - -|Permission|Description| -|-----|-----------| -|**read**| Users with can list objects within a bucket| -|**write**| Users can upload objects to a bucket and delete objects from a bucket.| -|**read_acp**| Users can read the ACL currently applied to a bucket.| -|**write_acp**| Users can change the ACL applied to the bucket.| -|**full_control**| Users have read and write access over both objects and ACLs.| - -**Setting a permission:** To apply granular permissions for a specific user with s3cmd, use the following `setacl` command with the `--acl-grant` flag: - - s3cmd setacl s3://acl-example --acl-grant=PERMISSION:CANONICAL_ID - -Substitute `acl-example` with the name of the bucket (and the object, if necessary), `PERMISSION` with a permission from the above table, and `CANONICAL_ID` with the canonical ID of the user to which you would like to grant permissions. See [Find the Canonical User ID for an Account](/docs/products/storage/object-storage/guides/find-canonical-id/) for details on finding the canonical ID. - -**Revoking a permission:** To revoke a specific permission, you can use the `setacl` command with the `acl-revoke` flag: - - s3cmd setacl s3://acl-example --acl-revoke=PERMISSION:CANONICAL_ID - -Substitute the bucket name (and optional object), `PERMISSION`, and `CANONICAL_ID` with your relevant values. - -**View current ACLs:** To view the current ACLs applied to a bucket or object, use the `info` command, replacing `acl-example` with the name of your bucket (and object, if necessary): - - s3cmd info s3://acl-example - -You should see output like the following: - -```output -s3://acl-bucket-example/ (bucket): - Location: default - Payer: BucketOwner - Expiration Rule: none - Policy: none - CORS: b'<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><CORSRule><AllowedMethod>GET</AllowedMethod><AllowedMethod>PUT</AllowedMethod><AllowedMethod>DELETE</AllowedMethod><AllowedMethod>HEAD</AllowedMethod><AllowedMethod>POST</AllowedMethod><AllowedOrigin>*</AllowedOrigin><AllowedHeader>*</AllowedHeader></CORSRule></CORSConfiguration>' - ACL: *anon*: READ - ACL: a0000000-000a-0000-0000-00d0ff0f0000: FULL_CONTROL - URL: http://us-east-1.linodeobjects.com/acl-example/ -``` - -{{< note >}} -The owner of the bucket always has the `full_control` permission. -{{< /note >}} - -{{< note >}} -If you set an ACL that does not map to an ACL in Cloud Manager, Cloud Manager displays this as `Custom`. - -![Custom ACL Setting Displayed in Cloud Manager](acl-s3cmd-custom-setting-cloud-manager.png "Custom ACL Setting Displayed in Cloud Manager") -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/aws-cli/index.md b/docs/products/storage/object-storage/guides/aws-cli/index.md deleted file mode 100644 index c5b786bcd3d..00000000000 --- a/docs/products/storage/object-storage/guides/aws-cli/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: "Using the AWS CLI with Object Storage" -description: "Learn how to use the AWS CLI with Linode's S3-compatible Object Storage." -date: 2022-03-11 ---- - -Amazon's [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) is a command-line tool that can be used to interface with Linode's Object Storage service. - -{{< note >}} -This instructions within this guide use AWS CLI version 2. Earlier versions may not work. If you are using version 1 (or earlier), you may want to uninstall it before continuing. See [Installing, updating, and uninstalling the AWS CLI (version 1)](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-install.html). -{{< /note >}} - -## Install the AWS CLI - -Installing the AWS CLI version 2 is typically accomplished by downloading a package for your operating system and installing that package. Since there is not currently an official way to do this through a package manager, you must download the package manually. To do this, follow the instructions for your operating system on the [Installing or updating the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) guide. - -## Configure the AWS CLI - -1. Run the following command in your preferred terminal: - - aws configure - -1. You are then prompted to fill out a few parameters: - - - **AWS Access Key ID:** Enter the access key you wish to use. See [Managing Access Keys](/docs/products/storage/object-storage/guides/access-keys/). - - **AWS Secret Access Key:** Enter the secret key that corresponds with the access key. This was displayed once when generating the access key. - - **Default region name:** Press enter without inputting any characters to keep the default `us` region. Do not change this, even if you use Object Storage in region outside the U.S. - - **Default output format:** Press enter without inputting any characters. - -See the following guides from AWS for more details configuring the CLI: [Quick Setup](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html) and [Configuring the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). - -## Additional Parameters for AWS CLI Commands - -- **Endpoint URL:** When using the AWS CLI with a non-AWS service, like Linode's Object Storage, you must always specify the endpoint url in each command. This is done through the `--endpoint` parameter. When using the commands in this guide, always replace *[endpoint-url]* with the cluster URL that corresponds with the data center you're using (see [Cluster URL (S3 endpoint)](/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint)). - -## Interacting with Buckets - -### List Buckets - -List all buckets within the data center specified during the configuration process. - -**Command:** `aws s3 ls --endpoint=[endpoint-url]`, replacing *[endpoint-url]* - -**Example**: List all buckets on the account within the Atlanta data center: - - aws s3 ls --endpoint=https://us-southeast-1.linodeobjects.com - -### Create a Bucket - -Creates a bucket with the specified bucket label. See the [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/#create-a-bucket) guide for rules on naming the bucket. - -**Command:** `aws s3 mb s3://[bucket-label] --endpoint=[endpoint-url] --region=us-east-1`, replacing *[bucket-label]* with the label you'd like to use for the new bucket. - -**Example:** Create a bucket with the label of "example-bucket" in the Atlanta data center: - - aws s3 mb s3://example-bucket --endpoint=https://us-southeast-1.linodeobjects.com --region=us-east-1 - -### Delete a Bucket - -Deletes the bucket with the specified label. - -**Command:** `s3cmd rb s3://[bucket-label]`, replacing *[bucket-label]* with the label of the bucket you wish to delete. - -**Example:** Delete the bucket with the label of "example-bucket": - - s3cmd rb s3://example-bucket - -To delete a bucket that has files in it, include the `--recursive` (or `-r`) option *and* the `--force` (or `-f`) option. Use caution when running this command: - - s3cmd rb -r -f s3://example-bucket/ \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/aws-sdk-for-php/index.md b/docs/products/storage/object-storage/guides/aws-sdk-for-php/index.md deleted file mode 100644 index 6a19d36f8c9..00000000000 --- a/docs/products/storage/object-storage/guides/aws-sdk-for-php/index.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: "Using the AWS SDK for PHP with Object Storage" -description: "Learn how to use the PHP AWS SDK with Linode's S3-compatible Object Storage." ---- - -The [AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/welcome.html) (GitHub: [aws/aws-sdk-php/](https://github.com/aws/aws-sdk-php)) includes an [S3 client](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-multiregion-client.html) that enables access to Linode's S3-compatible Object Storage within a PHP application or script. - -## Before You Begin - -1. Ensure PHP 5.5.0 or later is installed on the machine you intend to use. - -1. Ensure Composer is installed globally. See [Composer Installation > Globally](https://getcomposer.org/doc/00-intro.md#globally). - -1. This guide assumes you have a basic understanding of PHP development and are comfortable integrating code samples into your application. - -1. It is also assumed that you have a basic understanding of Object Storage concepts, including that files are stored within a flat (non-heirarchial) system alongside rich metadata. - -## Installing the AWS SDK for PHP - -The first step is to install the AWS SDK for PHP through [Composer](https://getcomposer.org/), a common dependency manager for PHP. Run the following command within your project's directory - - composer require aws/aws-sdk-php - -See [AWS SDK for PHP Docs > Installing the SDK](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_installation.html) for additional instructions and alternative methods. - -## Initializing the Client - -To access Object Storage buckets and objects, you'll first need to configure your credentials and initialize the S3 client session. - -1. Generate an access key and secret key for Object Storage through Cloud Manager by following the [Managing Access Keys](/docs/products/storage/object-storage/guides/access-keys/) guide. - -2. Add the following code to your PHP script, replacing `[access-key]` and `[secret-key]` with the values generated in the previous step. Also replace `[cluster-url]` with the cluster URL corresponding to the data center your buckets are located within (listed on the [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/) page). - - require 'vendor/autoload.php'; - use Aws\S3\S3Client; - use Aws\Exception\AwsException; - - $config = - [ - 'version' => 'latest', - 'region' => '', - 'endpoint' => '[cluster-url]', - 'credentials' => - [ - 'key' => '[access-key]', - 'secret' => '[secret-key]', - ], - ]; - - $client = new \Aws\S3\S3Client($config); - -See [AWS SDK for PHP Docs > Configuration Options](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_configuration.html) for more details on how to configure the client. If you intend to share this code with others, it's highly advisable to abstract out both the access key and secret key. There are a few methods to accomplish this, including using AWS configuration files, environment variables through the shell, or a custom environment-specific configuration file. - -## List Buckets - -Lists all buckets within a cluster. See [listBuckets()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#listbuckets) for additional details, syntax, and examples. - -### Syntax - - $client->listBuckets(); - -### Example - -List all buckets on the account in the previously-specified cluster: - - $result = $client->listBuckets(); - foreach ($result['Buckets'] as $bucket) { - echo $bucket['Name'] . "\n"; - } - -## Create a Bucket - -Creates a new bucket, in which you can store objects. For acceptable bucket labels, review the [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/#create-a-bucket) guide. See [createBucket()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#createbucket) for additional details, syntax, and examples. - -### Syntax - - $client->createBucket([ - 'Bucket' => 'bucket-label' - ]); - -- **Bucket (required):** The label of the bucket you wish to create. - -### Example - -Create a bucket with the label of "example-bucket" in the previously-specified cluster: - - $client->createBucket(['Bucket' => 'example-bucket']); - -## Delete a Bucket - -Deletes the specified *empty* bucket. If the bucket still contains objects, they must be deleted before continuing. See [deleteBucket()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#deletebucket) for additional details, syntax, and examples. - -### Syntax - - $client->deleteBucket([ - 'Bucket' => 'bucket-label' - ]); - -- **Bucket (required):** The label of the bucket you wish to delete. - -### Example - -Delete the bucket labeled "example-bucket": - - $client->deleteBucket(['Bucket' => 'example-bucket']); - -## List Objects - -Outputs all the objects within a bucket (and with a certain prefix, if specified). See [listObjects()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#listobjects) for additional details, syntax, and examples. - -### Syntax - - $client->listObjects([ - 'Bucket' => 'bucket-label', - 'Prefix' => 'object-prefix' - ]); - -- **Bucket [required]:** The label of the bucket you wish to use. -- **Prefix:** The optional prefix (or pseudo path) of objects you list to view within a bucket. To view all objects, omit the Prefix parameter. - -### Examples - -- **List all objects:** List all objects within the bucket called "example-bucket": - - $result = $client->listObjects(['Bucket' => 'example-bucket']); - foreach ($result['Contents'] as $object) { - echo $object['Key'] . "\n"; - } - -- **List all objects within a specific "folder":** List all objects stored in the "assets/" folder within the bucket called "example-bucket". Keep in mind that objects aren't actually stored in folders, but the [prefix value](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) allows them to appear within a structure. - - $result = $client->listObjects(['Bucket' => 'example-bucket','Prefix' => 'assets/']); - foreach ($result['Contents'] as $object) { - echo $object['Key'] . "\n"; - } - -## Upload a File as an Object - -Uploads a file as an object stored within the specified bucket. See [putObject()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject) for additional details, syntax, and examples. - -### Syntax - - $client->putObject([ - 'Bucket' => 'bucket-label', - 'Key' => 'object-name', - 'SourceFile' => '/path/to/file.ext' - ]); - -- **Bucket [required]:** The label of the bucket you wish to store the file within. -- **Key [required]:** The name of the object you wish to create, including any prefix/path. -- **SourceFile [required]:** The filename and path of the file to upload. - -### Examples - -- Upload the file "file.txt", which is located in the same directory as your PHP script, to the bucket called "example-bucket". Name this new object "file.txt", the same as the filename. - - $client->putObject(['Bucket'=>'example-bucket','Key'=>'file.txt','SourceFile'=>'file.txt']); - -- Upload the file "logo.jpg", located within a home folder, to the bucket called "example-bucket". Name this new object "images/logo.jpg", which allows it to be structured within a pseudo folder. - - $client->putObject(['Bucket'=>'example-bucket','Key'=>'images/logo.jpg','SourceFile'=>'logo.jpg']); - -## Download an Object to a File - -Downloads the specified object to a new file on your system. See [getObject()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#getobject) for additional details, syntax, and examples. - -### Syntax - - $client->getObject([ - 'Bucket' => 'bucket-label', - 'Key' => 'object-name', - 'SaveAs' => '/path/to/new/file.ext' - ]); - -- **Bucket [required]:** The label of the bucket the object is stored within. -- **Key [required]:** The name of the object you wish to download, including any prefix/path. -- **SaveAs [required]:** The filename and path of the file to create. - -### Example - -Download the object "file.txt", stored within the bucket called "example-bucket", to a new file called "file.txt" in the same folder as your PHP script. - - $client->getObject(['Bucket' => 'example-bucket','Key' => 'file.txt', 'SaveAs' => 'file.txt']); - -## Delete an Object or Directory - -Deletes an object from a bucket. See [deleteObject()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html) for additional details, syntax, and examples. - -### Syntax - - $client->deleteObject([ - 'Bucket' => 'bucket-label', - 'Key' => 'object-name' - ]); - -- **Bucket [required]:** The label of the bucket the object is stored within. -- **Key [required]:** The name of the object you wish to delete, including any prefix/path. - -### Example - -Delete the object "file.txt", stored within the bucket called "example-bucket": - - $client->deleteObject(['Bucket' => 'example-bucket','Key' => 'file.txt']); - -## Going Further - -Extensive documentation on the S3 Client for the AWS SDK for PHP (including more methods, parameters, and examples) can be found within the [AWS SDK for PHP (API 3.x) > S3 Client](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html). \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/aws-sdk-for-python/UsingAWSSDKforPythonboto3withObjectStorage.jpg b/docs/products/storage/object-storage/guides/aws-sdk-for-python/UsingAWSSDKforPythonboto3withObjectStorage.jpg deleted file mode 100644 index f212f3506eb..00000000000 Binary files a/docs/products/storage/object-storage/guides/aws-sdk-for-python/UsingAWSSDKforPythonboto3withObjectStorage.jpg and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/aws-sdk-for-python/index.md b/docs/products/storage/object-storage/guides/aws-sdk-for-python/index.md deleted file mode 100644 index 18e71e91b9f..00000000000 --- a/docs/products/storage/object-storage/guides/aws-sdk-for-python/index.md +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: "Using the AWS SDK for Python (boto3) with Object Storage" -description: "Learn how to use the Python AWS SDK with Linode's S3-compatible Object Storage." -image: UsingAWSSDKforPythonboto3withObjectStorage.jpg ---- - -Amazon's Python AWS SDK, called [boto3](https://github.com/boto/boto3), includes an [S3 client](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html) that enables access to Linode's S3-compatible Object Storage within a Python application or script. - -## Before You Begin - -1. Ensure Python 3.6 or later is installed on the machine you intend to use. For Linux-based systems, see the [How to Install Python 3](/docs/guides/how-to-install-python-on-ubuntu-20-04/) guide for installation instructions. - -1. This guide assumes you have a basic understanding of Python development and are comfortable integrating code samples into your application. - -1. It is also assumed that you have a basic understanding of Object Storage concepts, including that files are stored within a flat (non-heirarchial) system alongside rich metadata. - -## Installing boto3 - -The first step is to install the AWS SDK for Python (boto3) through [pip](https://pypi.org/project/pip/), python's package manager that's installed by default on recent versions of Python. - - pip3 install boto3 - -See [Boto3 Docs > Quickstart](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation). - -## Initializing the Client - -To access Object Storage buckets and objects, you'll first need to configure your credentials and initialize the S3 client session. - -1. Generate an access key and secret key for Object Storage through Cloud Manager by following the [Managing Access Keys](/docs/products/storage/object-storage/guides/access-keys/) guide. - -2. Add the following code to your python script, replacing `[access-key]` and `[secret-key]` with the values generated in the previous step. Also replace `[cluster-url]` with the cluster URL corresponding to the data center your buckets are located within (listed on the [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/) page). - - import boto3 - - linode_obj_config = { - "aws_access_key_id": "[access-key]", - "aws_secret_access_key": "[secret-key]", - "endpoint_url": "[cluster-url]", - } - - client = boto3.client("s3", **linode_obj_config) - -If you intend to share this code with others, it's highly advisable to abstract out both the access key and secret key. There are a few methods to accomplish this, including using AWS configuration files, environment variables through the shell, or a custom environment-specific configuration file. See [Boto3 Docs > Configuration](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html). - -## List Buckets - -Lists all buckets within a cluster. See [list_buckets()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.list_buckets) for additional details, syntax, and examples. - -### Syntax - - client.list_buckets() - -### Example - -List all buckets on the account in the previously-specified cluster: - - response = client.list_buckets() - for bucket in response['Buckets']: - print(bucket['Name']) - -## Create a Bucket - -Creates a new bucket, in which you can store objects. For acceptable bucket labels, review the [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/#create-a-bucket) guide. See [create_bucket()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.create_bucket) for additional details, syntax, and examples. - -### Syntax - - client.create_bucket( - Bucket='[bucket-label]') - -- **Bucket (required):** The label of the bucket you wish to create. - -### Example - -Create a bucket with the label of "example-bucket" in the previously-specified cluster: - - client.create_bucket(Bucket='example-bucket') - -## Delete a Bucket - -Deletes the specified *empty* bucket. If the bucket still contains objects, they must be deleted before continuing. See [delete_bucket()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.delete_bucket) for more details. - -### Syntax - - client.delete_bucket( - Bucket='bucket-label') - -- **Bucket (required):** The label of the bucket you wish to delete. - -### Example - -Delete the bucket labeled "example-bucket": - - client.delete_bucket(Bucket='example-bucket') - -## List Objects - -Outputs all the objects within a bucket (and with a certain prefix, if specified). See [list_objects()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.list_objects) for additional details, syntax, and examples. - -### Syntax - - client.list_objects( - Bucket='bucket-label', - Prefix='object-prefix') - -- **Bucket [required]:** The label of the bucket you wish to use. -- **Prefix:** The optional prefix (or pseudo path) of objects you list to view within a bucket. To view all objects, omit the Prefix parameter. - -### Examples - -- **List all objects:** List all objects within the bucket called "example-bucket": - - response = client.list_objects(Bucket='example-bucket') - for object in response['Contents']: - print(object['Key']) - -- **List all objects within a specific "folder":** List all objects stored in the "assets/" folder within the bucket called "example-bucket". Keep in mind that objects aren't actually stored in folders, but the [prefix value](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) allows them to appear within a structure. - - response = client.list_objects(Bucket='example-bucket', Prefix='assets/') - for object in response['Contents']: - print(object['Key']) - -## Upload a File as an Object - -Uploads a file as an object stored within the specified bucket. See [upload_file()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.upload_file) for additional details, syntax, and examples. - -### Syntax - - client.upload_file( - Filename='/path/to/file.ext', - Bucket='bucket-label', - Key='object-name') - -- **Filename [required]:** The filename and path of the file to upload. -- **Bucket [required]:** The label of the bucket you wish to store the file within. -- **Key [required]:** The name of the object you wish to create, including any prefix/path. - -### Examples - -- Upload the file "file.txt", which is located in the same directory as your python script, to the bucket called "example-bucket". Name this new object "file.txt", the same as the filename. - - client.upload_file(Filename='file.txt', Bucket='example-bucket', Key='file.txt') - -- Upload the file "logo.jpg", located within a home folder, to the bucket called "example-bucket". Name this new object "images/logo.jpg", which allows it to be structured within a pseudo folder. - - client.upload_file(Filename='/Users/user/logo.jpg', Bucket='example-bucket', Key='images/logo.jpg') - -## Download an Object to a File - -Downloads the specified object to a new file on your system. See [download_file()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.download_file) for additional details, syntax, and examples. - -### Syntax - - client.download_file( - Bucket='bucket-label', - Key='object-name', - Filename='/path/to/file.ext') - -- **Bucket [required]:** The label of the bucket the object is stored within. -- **Key [required]:** The name of the object you wish to download, including any prefix/path. -- **Filename [required]:** The filename and path of the file to create. - -### Example - -Download the object "file.txt", stored within the bucket called "example-bucket", to a new file called "file.txt" in the same folder as your python script. - - client.download_file(Bucket='example-bucket', Key='file.txt', Filename='file.txt') - -## Delete an Object or Directory - -Deletes an object from a bucket. See [delete_object()](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.delete_object) for additional details, syntax, and examples. - -### Syntax - - client.delete_object( - Bucket='bucket-label', - Key='object-name') - -- **Bucket [required]:** The label of the bucket the object is stored within. -- **Key [required]:** The name of the object you wish to delete, including any prefix/path. - -### Example - -Delete the object "file.txt", stored within the bucket called "example-bucket": - - client.delete_object(Bucket='example-bucket', Key='file.txt') - -## Going Further - -Extensive documentation on Boto3 and the S3 Client (including more methods, parameters, and examples) can be found on [Boto3 Docs > S3 > Client](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#client). \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/bucket-policies/index.md b/docs/products/storage/object-storage/guides/bucket-policies/index.md deleted file mode 100644 index 5aadda60e08..00000000000 --- a/docs/products/storage/object-storage/guides/bucket-policies/index.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -title: "Define Access and Permissions using Bucket Policies" -description: "Learn how to use bucket policies to set permissions and access controls within Object Storage" -date: 2022-03-11 ---- - -Bucket policies are a mechanism for managing permissions and access to Object Storage. When compared to ACLs, bucket policies can only be applied across an entire bucket (not to individual objects), though they offer finer control over the types of permissions you can grant to a user. - -## Components of a Policy - -Bucket policies are formatted using JSON with the following structure: - - ```file {title="bucket-policy.json" lang="json"} -{ - "Version": "2012-10-17", - "Statement": [{ - "Effect": ..., - "Principal": ..., - "Action": ..., - "Resource": ... - }] -} -``` - -This file consists of a **Version** string (set to `2012-10-17`, which is the current version) and one or more **Statement** arrays, which define the actual policies you wish to use. Within each statement array are the **Effect**, **Principal**, **Action**, **Resource**, and optional **Condition** elements. Each of these are discussed below. - -### Effect - -The **Effect** section defines if access is allowed (`Allow`) or denied (`Deny`) to the specified resource. See [IAM JSON policy elements: Effect](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html). - - "Effect":"Allow" - -### Principal - -The **Principal** section defines the user or entity to which the policy applies. See [Amazon S3 Principals](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-bucket-user-policy-specifying-principal-intro.html). - -- **Specific user:** Specify an Object Storage canonical ID to have the policy apply to that user. For help finding the canonical ID, see [Find Canonical User ID](/docs/products/storage/object-storage/guides/find-canonical-id/). - - "Principal": { - "AWS": [ - "arn:aws:iam:::user/a0000000-000a-0000-0000-00d0ff0f0000" - ] - } - -- **Public/anonymous access:** Use a wildcard to grant access to everyone. This is commonly used for hosting a website through Object Storage. - - "Principal":"*" - -### Action - -**Action** are the permissions granted (or removed) by the policy. These actions include the ability to list buckets, view objects, upload objects, and more: - -- `s3:PutObject`: Upload objects -- `s3:GetObject`: Retrieve objects -- `s3:ListBucket`: List the contents of a bucket - -For a full list of actions, see [Ceph > Bucket Policies](https://docs.ceph.com/en/latest/radosgw/bucketpolicy/#). You can also reference the [Amazon S3 actions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html) guide. - -### Resource - -A policy is applied to Object Storage **resources**, such as buckets and objects. Bucket resources are formatted as `"arn:aws:s3:::[bucket]"`. To apply a policy to some or all objects within a bucket, use `"arn:aws:s3:::[bucket]/[object]"`. In both cases, replace *[bucket]* with the label for the bucket and *[object]* with either the wildcard value (`*`) that designates all objects or the path and name of the object. See [Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-arn-format.html). - -- **All objects:** Apply the policy to all objects within the bucket labeled *example-bucket*. - - "Resource": [ - "arn:aws:s3:::example-bucket/*" - ] - -- **All objects in specific directory:** Apply the policy to all objects in the `assets` folder within the bucket labeled *example-bucket*. - - "Resource": [ - "arn:aws:s3:::example-bucket/folder/*" - ] - -- **Specific object:** Apply the policy to the object `example-file.ext` within the bucket labeled *example-bucket*. - - "Resource": [ - "arn:aws:s3:::example-bucket/example-file.ext" - ] - -{{< note type="alert" >}} -While a resource can target the bucket itself (by removing the `/*` in the first example), this can cause the bucket to become inaccessible to Cloud Manager, API, and CLI. -{{< /note >}} - -## Bucket Policy Examples - -### Allow Public Read Access - -If you wish to allow anyone to view and download objects within a bucket, use the following policy: - - ```file {title="bucket_policy.json" lang="json"} -{ - "Version": "2012-10-17", - "Statement": [{ - "Effect": "Allow", - "Principal": "*", - "Action": [ - "s3:GetObject", - "s3:ListBucket" - ], - "Resource": [ - "arn:aws:s3:::bucket-example/*" - ] - }] -} -``` - -### Grant an Account Limited Access to a Directory - -This policy file allows a user to list the bucket called `example-bucket` and view/download objects within the `test` directory. They are not able to perform any other actions. - - ```file {title="bucket_policy.json" lang="json"} -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "AWS": "arn:aws:iam:::user/a0000000-000a-0000-0000-00d0ff0f0000" - }, - "Action": [ - "s3:ListBucket" - ], - "Resource": [ - "arn:aws:s3:::example-bucket" - ] - }, - { - "Effect": "Allow", - "Principal": { - "AWS": "arn:aws:iam:::user/a0000000-000a-0000-0000-00d0ff0f0000" - }, - "Action": [ - "s3:GetObject" - ], - "Resource": [ - "arn:aws:s3:::example-bucket/test/*" - ] - } - ] -} -``` - -### Allow or Deny Access from a Specific IP Address - -By using the **Condition** section and the **IpAddress** and **NotIpAddress** conditions, you can choose to allow or deny traffic from the specified IP address or range. - -If the **Effect** is set to `Allow`, use the **IpAddress** condition to specify that *just* traffic from that IP address is allowed and use **NotIpAddress** to allow all traffic *except* from that IP. - -If the **Effect** is set to `Deny`, use the **IpAddress** condition to deny traffic from that IP address and use **NotIpAddress** to deny all traffic *except* from that IP. - -The example below allows all traffic from only the specified IP address: - - ```file {title="bucket_policy.json" lang="json"} -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": "*", - "Action": "s3:*", - "Resource": "arn:aws:s3:::example-bucket/*", - "Condition": { - "IpAddress": { - "aws:SourceIp": "192.0.2.1/32" - } - } - } - ] -} -``` - -## Applying Bucket Policies - -After creating your bucket policy file and defining your policies, you need to use a third party tool to apply those policies to a bucket. - -### S3cmd - -**Command:** `s3cmd setpolicy [policy-file] s3://[bucket-label]`, replacing *[bucket-label]* with the label for your bucket and *[policy-file]* with the filename and path of your bucket policy file. - -**Example:** Apply the bucket policies defined within the file "policy.json" to the bucket called "example-bucket": - - s3cmd setpolicy policy.json s3://example-bucket - -See [S3cmd > Apply a Bucket Policy](/docs/products/storage/object-storage/guides/s3cmd/#apply-a-bucket-policy) for more details. diff --git a/docs/products/storage/object-storage/guides/cancel/cancel-obj.png b/docs/products/storage/object-storage/guides/cancel/cancel-obj.png deleted file mode 100644 index fc1a820a186..00000000000 Binary files a/docs/products/storage/object-storage/guides/cancel/cancel-obj.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cancel/index.md b/docs/products/storage/object-storage/guides/cancel/index.md deleted file mode 100644 index f3ceb361f1b..00000000000 --- a/docs/products/storage/object-storage/guides/cancel/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Cancel Object Storage -description: "How to cancel the Linode Object Storage service." ---- - -The following steps outline how to cancel the Object Storage service from Cloud Manager. - -{{< note type="alert" >}} -Cancelling Object Storage deletes all objects and buckets from your account. Consider downloading any important files before continuing. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/), select **Account** from the left menu, and navigate to the **Settings** tab. - -1. Find the section labeled *Object Storage* and click the **Cancel Object Storage** button. - - ![Cancel Object Storage](cancel-obj.png) - -1. A prompt appears asking you to confirm the cancellation. Click **Confirm cancellation** to proceed. Any remaining buckets and objects on your account are deleted and you will no longer be billed for Object Storage. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/custom-domain/custom-domain-certificate-upload.png b/docs/products/storage/object-storage/guides/custom-domain/custom-domain-certificate-upload.png deleted file mode 100644 index 63e9aa14d18..00000000000 Binary files a/docs/products/storage/object-storage/guides/custom-domain/custom-domain-certificate-upload.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/custom-domain/index.md b/docs/products/storage/object-storage/guides/custom-domain/index.md deleted file mode 100644 index 1708af60d8b..00000000000 --- a/docs/products/storage/object-storage/guides/custom-domain/index.md +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: "Configure a Custom Domain (with a TLS/SSL Certificate)" -description: "Learn how to upload a custom SSL/TLS certificate to enable SSL on a bucket on Linode Object Storage." -published: 2022-02-07 -modified: 2023-08-22 -keywords: ['object','storage','object storage','s3','bucket'] -tags: ["linode platform","cloud manager"] -aliases: ['/platform/object-storage/enable-ssl-for-object-storage/','/guides/enable-ssl-for-object-storage/'] ---- - -Linode's Object Storage service supports both shared and custom domain names. By default, files can be accessed through secured (HTTPS) URLs within the shared domain *\*.linodeobjects.com*. If you prefer, you can use a custom domain, such as a subdomain of *\*.example.com*. This guide walks you through the configuration of a custom domain and adding a TLS certificate to secure that custom domain. When configuring Linode services, this guide uses Cloud Manager, though the [Linode CLI](/docs/products/tools/cli/get-started/) and the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary) can be used instead. - -## Before you Begin - -**Obtain a domain name:** Before starting this guide, consider what domain name you'd like to use with your Object Storage bucket. If you do not already own the domain, purchase it from a trusted registrar. - -{{< note >}} -When configuring Object Storage with a custom domain, you must use a fully qualified domain name (FQDN), such as *assets.example.com* or any subdomain of *\*.your-domain.tld*. Apex (root) domains, such as *example.tld*, are not supported at this time. -{{< /note >}} - -## Create a Bucket - -If you have not already done so, [create a bucket](/docs/products/storage/object-storage/guides/manage-buckets/). Since the intention is to use this bucket with a custom domain, the bucket must be labeled as your fully qualified domain name, such as `assets.example.com`. If your files already exist in a bucket that doesn't have this label, create a new bucket with this label and copy or move your files into it. For more information, see [Moving Objects Between Buckets in Linode's Object Storage](/docs/guides/how-to-move-objects-between-buckets/). - -## Configure DNS - -To connect your custom domain, you must create a CNAME DNS record within the name server for the domain you intend to use. This can be done through your DNS provider, such as one operated by your domain registrar or a service like Linode's Domain Manager. The CNAME record should be created using the following values: - -- **Hostname/Name:** This is the custom domain you wish to use. Each DNS provider may require slightly different formatting. In many cases, enter just the *subdomain* value. For example, if you plan to use *assets.example.com*, enter `assets`. - -- **Alias To/Target:** This is the full URL on the shared domain (excluding the `https://` part of the URL) for your object storage bucket. See [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/#bucket-url) for details on obtaining the bucket's URL. The URL can either be for the default file host functionality of Object Storage or the URL used to host a static website. - - - File URL: `[bucket-label].[cluster-id].linodeobjects.com` - - Website URL: `[bucket-label].website-[cluster-id].linodeobjects.com` - -For more information on DNS records and CNAME records, see our [Introduction to DNS Records](/docs/guides/dns-overview/#cname) guide. - -## Obtain a TLS/SSL Certificate - -Once your DNS has been configured, create (or purchase) a TLS/SSL certificate through a trusted certificate authority. For this guide, the free [certbot](https://certbot.eff.org/) tool will be used, which creates free certificates through the Let's Encrypt CA. You can skip this section if you have already obtained a certificate. - -1. Install certbot on whichever system you wish to use to obtain the certificate. You can use your local machine, a Compute Instance on Linode's platform, or any other compatible virtual machine. Here are links to the instructions on certbot's website: - - - [macOS](https://certbot.eff.org/instructions?ws=other&os=osx) - - [Windows](https://certbot.eff.org/instructions?ws=other&os=windows) - - Any compatible Linux system listed on the [certbot instructions](https://certbot.eff.org/instructions) page within the **System** dropdown. - -1. Run the following certbot command to generate a certificate manually: - - sudo certbot certonly --manual - -1. When prompted, enter the custom domain that you intend to use and have already configured (such as `assets.example.com`) - -1. You are then requested to create a specific file with specific contents and make it accessible on your custom domain within a certain directory. If you've followed the previous steps in this guide, your custom domain now points to your bucket. This means you can create this file directly within your Object Storage account. To do this, you can use [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/), the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/), [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/), [s4cmd](/docs/products/storage/object-storage/guides/s4cmd/), or any other tool or application that integrates with Object Storage and as the ability to create folders and files. - -1. Once the file has been created and is accessible, press enter within the certbot command line to continue. If certbot is able to successfully access that file, it generates the certificate along with its private key and saves them to your system: - - {{}} -Successfully received certificate. -Certificate is saved at: /etc/letsencrypt/live/assets.example.com/fullchain.pem -Key is saved at: /etc/letsencrypt/live/assets.example.com/privkey.pem -This certificate expires on 2022-05-11. -These files will be updated when the certificate renews. -{{}} - -You can view the saved certificate using whichever plaintext file viewer or editor you have on your system. For instance, on a Linux system you can use `sudo cat [file-location]` to output the file or `sudo nano [file-location]` to open the file. - -## Upload Your SSL Certificate - -To upload your new SSL certificate to an Object Storage Bucket: - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Object Storage** from the left menu. - -1. Open the bucket you wish to use and navigate to the **SSL/TLS** tab. This opens the *SSL/TLS Certificate* page. - - ![](custom-domain-certificate-upload.png) - -1. In the **Certificate** field, enter the contents of the certificate file you just created or obtained. - -1. In the **Private Key** field, enter the contents of the corresponding private key file. - -1. Click the **Upload Certificate** button to submit the certificate and attach it to your bucket. - -## Upload Your Files or Static Website - -Before you can test your custom domain, you need to have files hosted on your Object Storage bucket. Upload your files or your static website. After they are uploaded, set the permissions so the files can be read by the public. If the permissions are not set, you will not be able to view the files through any URL (either shared or custom). - -If you currently don't have any files, you can create a test file called `index.html`, edit it to include the following text, upload it to your bucket's main directory, and make sure the permissions are set so it can be read by the public. - - - -

      Hello world...

      - - - -## Access Your Secured Custom Domain - -You can now access your files or static website using your secured custom domain. Open a web browser and enter your custom domain. If you are using Object Storage just to store and access files, include the file path of the file you wish to access. If you are using Object Storage to host a website, you do not need to enter any additional file path assuming you have uploaded an `index.html` file (or have set a different file as the default). diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-enable-website.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-enable-website.png deleted file mode 100644 index a747905c289..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-enable-website.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-file-url.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-file-url.png deleted file mode 100644 index 9bb35492f94..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-file-url.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-new-connection.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-new-connection.png deleted file mode 100644 index 188d6f216f5..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-new-connection.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-permissions-add-everyone.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-permissions-add-everyone.png deleted file mode 100644 index 773aa612b3f..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-permissions-add-everyone.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-permissions-everyone-read.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-permissions-everyone-read.png deleted file mode 100644 index 8984a5e33db..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-permissions-everyone-read.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-profiles-linode.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-profiles-linode.png deleted file mode 100644 index b8a0567e21b..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-profiles-linode.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-profiles.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-profiles.png deleted file mode 100644 index cbcd1d32f1c..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-profiles.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-view.png b/docs/products/storage/object-storage/guides/cyberduck/cyberduck-view.png deleted file mode 100644 index 3ceb2bd9845..00000000000 Binary files a/docs/products/storage/object-storage/guides/cyberduck/cyberduck-view.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/cyberduck/index.md b/docs/products/storage/object-storage/guides/cyberduck/index.md deleted file mode 100644 index 5d3ced83a57..00000000000 --- a/docs/products/storage/object-storage/guides/cyberduck/index.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: "Using Cyberduck with Object Storage" -description: "Learn how to use the Cyberduck desktop file transfer program to interact with Linode's Object Storage." ---- - -Cyberduck is a desktop application that facilitates file transfer over FTP, SFTP, and a number of other protocols, including S3. - -## Install and Configure Cyberduck - -1. Navigate to Cyberduck's [Download](https://cyberduck.io/download/) webpage and download the latest version of Cyberduck for your operating system. After downloading, run the file to install the application. - - {{< note >}} - If you already have Cyberduck installed, be sure to update to version 8.2.1 or newer. Some of the steps within this guide do not work properly on earlier versions. - {{< /note >}} - -1. Open Cyberduck and then select *Cyberduck* > *Preferences* from the menu bar. - -1. Navigate to the **Profiles** tab to open the *Connection Profiles* page. - - ![Screenshot of the Cyberduck Profiles tab](cyberduck-profiles.png) - -1. Search for "Linode" or scroll down to see the connection profiles designed for Linode's Object Storage service. - - ![Screenshot of the Linode-specific Profiles](cyberduck-profiles-linode.png) - -1. Select the checkbox next to connection profile for each data center you wish to use with Object Storage. - -1. Close the *Preferences* window and restart Cyberduck to install the selected connection profiles. - -## Open a Connection - -1. Open Cyberduck and then select *File* > *Open Connection...* from the menu bar. This displays the connection dialog. - -1. At the top of the Open Connection dialog, click the dropdown menu and select the **Linode Object Storage** profile that corresponds with the data center you wish to use. - -1. Enter your access key in the **Access Key** field and your secret key in the **Secret Key** field. If you do not yet have an access key, create one now by following the instructions within the [Manage Access Keys](/docs/products/storage/object-storage/guides/access-keys/) guide. If you intend to create new buckets, the access key must not be limited. Otherwise, the access key must have permissions to read or read/write on the bucket you intend to use. - - ![Screenshot of the Open Connection form](cyberduck-new-connection.png) - -1. Click **Connect** to open the connection. - -## View Your Buckets and Files - -Once the connection is successful, a list appears of all the buckets that your access key has permissions to view within the selected data center. You can view the files stored within the buckets by clicking the chevron icon to the left of the bucket label or double clicking the bucket to open it. - -![Main Cyberduck view of buckets](cyberduck-view.png) - -{{< note >}} -To create additional buckets, use Cloud Manager, Linode CLI, s3cmd, or s4cmd. Cyberduck is not able to create new buckets. -{{< /note >}} - -## Upload and Manage Files - -To upload a file, drag it into the Cyberduck window at the location where you'd like the file to be stored. For instance, if you see multiple buckets or folders, drag the file to whichever one you wish. This process also works for multiple files and even entire directories. Alternatively, you can click the **Action** button and select **Upload** from the menu. - -If you wish to perform an action on a particular file, right click that file to open up a context menu with additional options. These options include: - -- [Info](https://docs.cyberduck.io/cyberduck/info/): Get additional details about the file, folder, or bucket, change permissions, view and update metadata, edit the domain, set versioning, and much more. -- [Download](https://docs.cyberduck.io/cyberduck/download/): Download a copy of the file. -- [Edit](https://docs.cyberduck.io/cyberduck/edit/): Useful for editing plaintext files. -- Rename, Duplicate, and much more. - -{{% content "object-storage-character-warning-shortguide" %}} - -## Obtain the URL of a File - -In most cases, URLs are used to share and display files. While you can always manually determine the URL (see [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/#file-urls)), you can get this information quickly using Cyberduck. - -1. Right click on the file, select **Info**, and navigate to the *General* tab. - -1. Locate the **Web URL** field. The URL for the file is displayed here. - - ![Screenshot of an Object's URL as it appears within the Info tab](cyberduck-file-url.png) - -1. Click on the URL to open it in a web browser or right click it and select **Copy Link** to copy the URL. - -## Make Files Public - -It's common to make a file, folder, or even an entire bucket publicly accessible so they can be accessed through the file's URL without any additional authentication needed. To do this through Cyberduck, update the permissions on the file using the instructions below. - -1. Right click on the file, select **Info**, and navigate to the *Permissions* tab. - -1. Click the ellipsis icon at the bottom left of the window and select **Everyone**. - - ![Screenshot of the permission dropdown list](cyberduck-permissions-add-everyone.png) - -1. A new entry for *Everyone* appears in the Access Control List. Next to *Everyone*, under the *Permissions* column heading, select **READ** from the drop down menu. - - ![Screenshot of the Everyone permission set to Read](cyberduck-permissions-everyone-read.png) - -The object is now accessible through the internet. See [Obtain the URL of a File](#obtain-the-url-of-a-file) to get the URL. - -## Host a Website - -Object Storage can be used to host static website files, such as html, css, and client-side javascript. Once you've uploaded your files to a particular bucket, follow the instructions below to enable your website. - -1. Locate your bucket within Cyberduck - -1. Highlight all of the website files within your bucket, right click on them, and select **Info**. Follow the instructions within [Make Files Public](#make-files-public) so that your files can be accessed by everyone with the URL. - -1. Right click the bucket itself, select **Info**, and navigate to the **Distribution (CDN)** tab. - -1. Check the box that reads **Enable Website Configuration (HTTP) Distribution**. - - ![Screenshot of the Enable Website checkbox](cyberduck-enable-website.png) - -1. Make sure the root of your bucket contains an "index.html" file. If not, you can select a different file to act as the index by modifying the **Index File** field within the same window as the previous step. - -1. The static site is accessed from a different URL than can be found in the [Obtain the URL of a File](#obtain-the-url-of-a-file) section. Review the [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/#website-urls) guide for information on obtaining the website URL. - -For more information on hosting a static website with Object Storage, read the [Host a Static Site using Linode Object Storage](/docs/guides/host-static-site-object-storage/) guide. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/find-canonical-id/index.md b/docs/products/storage/object-storage/guides/find-canonical-id/index.md deleted file mode 100644 index 401577dde1d..00000000000 --- a/docs/products/storage/object-storage/guides/find-canonical-id/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "Find the Canonical User ID for an Account" -description: "How to cancel the Linode Object Storage service." -date: 2022-03-11 ---- - -Each Object Storage account is given its own *canonical user ID*, which can be used to identify a specific account or share resources between accounts. This ID consists of a long string of letters, dashes, and numbers, such as `a0000000-000a-0000-0000-00d0ff0f0000`. - -{{< note >}} -Each Linode account has a single canonical ID within Object Storage, which means that all users and Object Storage API keys on an account share the same canonical ID. -{{< /note >}} - -To retrieve the canonical user ID of an account, choose one of the methods outlined below. - -## S3cmd - -The S3cmd utility can be used to retrieve the canonical ID by running the `info` command below, replacing *[bucket-label]* with the label of the bucket. - - s3cmd info s3://[bucket-label] - -{{< note >}} -S3cmd must be configured to use the Access Key of the account to which the bucket belongs. -{{< /note >}} - -Within the output, find an ACL that has the FULL_CONTROL permission and looks similar to the string shown in the example below. - -```output -s3://example-bucket/ (bucket): -Location: default -Payer: BucketOwner -Expiration Rule: none -Policy: none -CORS: none -ACL: a0000000-000a-0000-0000-00d0ff0f0000: FULL_CONTROL -``` - -If you see *none* as the ACL, it may indicate that your s3cmd is configured with a different region than the bucket is located within. See the [Additional Configuration Options](/docs/products/storage/object-storage/guides/s3cmd/#additional-configuration-options) of our s3cmd guide to learn how to manually edit the s3cmd configuration. - -## AWS CLI - -To retrieve the canonical id of *your account* within the AWS CLI, run the following command, replacing *[bucket-url]* with the URL of the bucket. See [Bucket URLs](/docs/products/storage/object-storage/guides/urls/#bucket-url) for instructions on formatting your bucket URL. - - aws s3api list-buckets --query Owner.ID --output text --endpoint=[bucket-url] - -{{< note >}} -The AWS CLI must be configured to use the Access Key of the account to which the bucket belongs. -{{< /note >}} - -## Curl - -Alternatively, you *may* be able to retrieve the canonical ID by curling a bucket and retrieving the Owner ID field from the returned XML. This method is an option when both of these conditions are true: - -- The bucket has objects within it and has already been set to public (with a command like `s3cmd setacl s3://other-users-bucket --acl-public`). -- The bucket has not been set to serve static websites. - -Run the following curl command, replacing *[bucket-url]* with the URL of the bucket (ex: `example-bucket.us-southeast-1.linodeobjects.com`). See [Bucket URLs](/docs/products/storage/object-storage/guides/urls/#bucket-url) for instructions on formatting your bucket URL. - - curl [bucket-url] - -Within the output, the canonical ID is displayed within the `` property. In the example output below, the ID is `a0000000-000a-0000-0000-00d0ff0f0000`. - -```output -... - - a0000000-000a-0000-0000-00d0ff0f0000 - a0000000-000a-0000-0000-00d0ff0f0000 - -... -``` \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/grafana-loki/index.md b/docs/products/storage/object-storage/guides/grafana-loki/index.md deleted file mode 100644 index 96e650cb224..00000000000 --- a/docs/products/storage/object-storage/guides/grafana-loki/index.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -title: "Using Grafana Loki with Object Storage" -description: "Learn how to use the Loki aggregation and visualization system to store and analyze logs from Linode's Object Storage." ---- - -Grafana Loki is a log aggregation and visualization system for cloud-native environments. It offers a cost-effective, scalable solution for processing large volumes of log data generated by modern applications and microservices. With Grafana Loki, users can query and visualize logs from cloud-native workloads. Loki uses a label-based indexing system. This makes it an ideal choice for observability, monitoring, alerting and data analysis. - -## Before you start - -[Grafana Loki](https://grafana.com/docs/loki/latest/configure/) can integrate with Linode Object Storage as a back-end storage solution using the S3 protocol and S3 storage configuration. - -Before you apply the Best Practices to your configuration, review these basic concepts to understand the Loki caching and storage workflow. - -### Memcached Cache Store - -- The best practices examples use Memcached, the most popular local caching system. Memcached serves as Loki's cache store to provide a fast, distributed caching layer. -- The Memcached configuration stores chunks of log data and associated metadata in its key-value store. - -### Chunk Indexing and Caching - -- Logs ingested into Loki are typically grouped into chunks. These chunks represent a time-bound segment of log data. The structure of the chunks allows efficient querying based on time ranges and labels. -- The Loki ingester indexes and caches chunks in Memcached for rapid retrieval. -- When a Loki query occurs, the query engine first checks Memcached for the required chunks. - -### Caching During Writing - -- During ingestion, chunks may be cached in Memcached immediately after they are written to the back-end storage such as, Linode Object Store. -- This proactive caching ensures that recently ingested log data is available for querying. It also avoids the latency that occurs when fetching it from the back-end storage. -- Loki manages the indexes and chunks separately even though it may use the same back-end storage for both. - -### Caching During Reading - -- When a query occurs the query engine checks Memcached for the required chunks. -- If the query finds the chunks in the cache, it retrieves the chunks directly from Memcached. This results in low-latency query responses. -- Loki fetches chunks that are not present in the cache or chunks evicted due to caching policies from the back-end storage. - -### Eviction and Management - -- Memcached manages its own eviction policies. These policies use factors such as memory usage, access patterns, and expiration times. -- Chunks that are the least frequently accessed or have exceeded their time-to-live (TTL) may be evicted from the cache. This makes room for new data. -- Loki's configuration may include parameters for tuning the eviction policies and cache size to optimize performance and resource utilization. - - -## Best Practices - -Review these best practices for leveraging Linode Object Storage with Grafana Loki. These tips focus on Loki’s caching and storage configuration and provide specific recommendations for the integration. - -### Enable caching on Loki - -Caching helps to balance Loli's query performance, resource utilization, and data durability. By intelligently managing caching, eviction, and storage operations Loki optimizes the trade-offs between responsiveness and scalability in log aggregation and visualization. Any caching configuration, or lack of it, has direct implications on the number of requests, such as `GETs`, going forward to Object Storage. Today Object Storage supports 750 mixed requests per second (RPS) per bucket. Caching helps to ensure that requests and throughput are not rate-limited. It can also promote optimal latency for typical enterprise workloads. - -### Choose a multi-tenancy workload type with an independent storage config - -You should understand your Loki workload type and evaluate whether it’s single or multi-tenant. Multi-tenancy is the default for Loki and is common for enterprise solutions. Please see the [Grafana Loki documentation](https://grafana.com/docs/loki/latest/operations/multi-tenancy/) for information about multi-tenancy configurations. Each Loki tenant has a separate configuration per tenant that includes caching, such as Memcached, and storage, such as Linode Object Storage. - -In addition to providing data isolation, the multi-tenancy model allows for horizontal scalability and storage load sharding per tenant. Consider this example to understand the impact of the multi-tenancy workload type. - -A configuration with one tenant and one bucket only supports 750 mixed RPS for your entire workload. This means that if you have an aggregated workload of 10K queries per second across all your Grafana graphs with a cache configuration that yields a 90% hit ratio: -- ~1K of the requests will land on the back-end Object Storage bucket. -- With one tenant and one bucket, your workload will already exceed the rate limit for the bucket. - -Alternatively, a configuration with two tenants and two buckets, one each for the org/division/workload type, gets twice the RPS and the workload is unlikely to be rate limited. - -### Configure the Loki cache - -Loki supports several configurable caching parameters. Review these recommended options to learn more. - -#### Use an optimized cache store like Memcached - -In-memory cache is auto-enabled in Loki. It is, however, recommended than you use an optimized cache store like Memcached. To configure Memcached, refer to the [Grafana documentation](https://grafana.com/docs/loki/latest/operations/caching/). - -#### Configure the `chunk_store_config` block - -The `chunk_store_config` block lets you configure how chunks are cached and how long to wait before saving them to the backing store. -![Screenshot of the chunk options](loki-chunk-store.png) - -Some of the key config parameters include `max_chunk_age` and `chunk_idle_period`. These parameters determine how long the chunks are cached before being flushed out. -![Screenshot of the chunk options](loki-max-chunk.png) -![Screenshot of the chunk options](loki-chunk-memory.png) - -Use the `default_validity` parameter for results caching and the `chunk_target_size` parameter to configure the compressed chunk size. -![Screenshot of the chunk options](loki-default-validity.png) -![Screenshot of the chunk options](loki-chunk-validity2.png) - -To determine the right values for these parameters for your use-case, it’s critical to consider the following: -- **Load**: The amount of log data in bytes produced per day by your tenant workload. For example, GBs/day. -- **Log access patterns**: Determine whether the log data access patterns for your use-case skews towards recent data only such as, <12h old, or older data such as, >4-5 days. -- **Cache capacity considerations**: Determine whether your Loki deployment has enough resources such as RAM, CPU, and local disk space available allocated for caching. -- **Cost considerations**: Estimates costs for managing the cache locally for Loki, given the memory and disk space capacity requirements. - -To learn more you can read the [Grafana Cloud blog post](https://grafana.com/blog/2023/08/23/how-we-scaled-grafana-cloud-logs-memcached-cluster-to-50tb-and-improved-reliability/) that discusses how appropriate cache sizing impacts performance and reliability. - -## Loki Storage Configuration - -The `s3_storage_config` block configures the connection to the Linode S3 Object Storage back end. -![Screenshot of the chunk options](loki-storage-config.png) - -The `bucketnames` storage config parameter allows the Loki tenant workloads to specify more than one bucket. This enables sharding of log data chunks across multiple buckets. It’s highly recommended that you configure more than one bucket, and possibly many depending on the load. This helps with scalability and load balancing since rate limits are enforced at the bucket level. - -The following storage `backoff` settings are also important. - -![Screenshot of the chunk options](loki-backoff-settings-1.png) - -These parameters determine how Loki manages the storage requests when Linode Object Storage enforces rate limits. Rate limits may be enforced, for example, due to request rates higher than the allowed limits. If not configured properly, there can be a cascading effect where the retries contribute further to the request rates. This can result in perpetual or longer than ideal limits enforcement. - -Given the Linode Object Storage rate-limiting implementation, the following values are highly recommended: -- `min_period` - 2 seconds -- `max_period` - 5 seconds -- `max_retries` - 5 - -#### Loki Chunk Size Configuration - -The following chunk size and related config parameters are supported. -![Screenshot of the chunk options](loki-chunk-size-config.png) - -You should configure chunk sizes between 1.5 MB and 2 MB. The `chunk_target_size` directly translates to the object sizes in Linode Object storage and determines the: -- Number of overall `PUT` requests. -- Number of objects stored in the buckets. -- Effective bandwidth required for the Object Storage operations. - -Review the following example to learn why it’s important to choose the `chunk_target_size` value carefully. - -If your workload generates 5 TB of logging data per day and the chunk size is 1.5 MB, then on an average, even distribution it will generate: -- ~38 `PUT` requests per second. -- 57 MBps (456 Mbps) of throughput out to the storage. -- ~ 3.3 million objects per day. - -If, as an alternative, the chunk size is 2 MB then on an average, even distribution it will generate: -- ~29 `PUT` requests per second for the same aggregate throughput to the storage but with ~2.5 million objects per day. - -The number of requests and throughput for `GET` requests per second are highly dependent on the window size and period of time for which logs are being pulled and whether they are in cache or not. For example, ~500 `GET` requests per second missing cache with 2 MB chunk size would result in approximately ~1 GBps (8 Gbps) of egress throughput from Object Storage. - -For example, ~500 `GET` requests per second missing cache with 2 MB chunk size would result in approximately ~1 GBps (8 Gbps) of egress throughput from Object Storage. - -### Maintain your Loki deployment - -Here are some additional best practices to help ensure the operational healthiness of your Loki deployment: -- Monitor the cache utilization and query performance using Grafana dashboards and Prometheus metrics. -- Experiment with different cache configurations to find the optimal balance between memory usage and query responsiveness. -- Regularly review and adjust cache parameters based on the changing workload characteristics and system resource availability. -- Periodically delete and re-configure Linode Object Storage bucket lifecycle policies to delete objects, such as log data, that are no longer required for your use-case. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-backoff-settings-1.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-backoff-settings-1.png deleted file mode 100644 index fe9863f7a2a..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-backoff-settings-1.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-backoff-settings.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-backoff-settings.png deleted file mode 100644 index fe9863f7a2a..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-backoff-settings.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-memory.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-memory.png deleted file mode 100644 index c843dc66ff3..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-memory.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-options.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-options.png deleted file mode 100644 index c843dc66ff3..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-options.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-size-config.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-size-config.png deleted file mode 100644 index 41fdeef1e49..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-size-config.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-store.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-store.png deleted file mode 100644 index 3bb0c73db86..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-store.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-validity2.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-validity2.png deleted file mode 100644 index 2f7c54cc8e1..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-chunk-validity2.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-default-validity.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-default-validity.png deleted file mode 100644 index 6e2c339fa98..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-default-validity.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-max-chunk.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-max-chunk.png deleted file mode 100644 index 719f3312f67..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-max-chunk.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/grafana-loki/loki-storage-config.png b/docs/products/storage/object-storage/guides/grafana-loki/loki-storage-config.png deleted file mode 100644 index 91aced7e7dd..00000000000 Binary files a/docs/products/storage/object-storage/guides/grafana-loki/loki-storage-config.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/lifecycle-policies/index.md b/docs/products/storage/object-storage/guides/lifecycle-policies/index.md deleted file mode 100644 index 43ccec4dd87..00000000000 --- a/docs/products/storage/object-storage/guides/lifecycle-policies/index.md +++ /dev/null @@ -1,252 +0,0 @@ ---- -title: "Lifecycle Policies" -description: "Use lifecycle policies to manage deleting objects in Linode Object Storage." -published: 2019-10-18 -modified: 2023-08-15 -keywords: ['object','storage','lifecycle','policy','policies','delete','bucket','version','multipart'] -aliases: ['/platform/object-storage/how-to-manage-objects-with-lifecycle-policies/','/platform/object-storage/lifecycle-policies/','/guides/lifecycle-policies/','/guides/how-to-manage-objects-with-lifecycle-policies/'] -tags: ["linode platform"] ---- - -While deleting a few objects in an Object Storage bucket might not take that long, when the objects number in the thousands or even millions the time required to complete the delete operations can easily become unmanageable. When deleting a substantial amount of objects, it's best to use *lifecycle policies*. These policies can be represented in XML; here's an (incomplete) snippet of an action that will delete objects after 1 day: - -```file - - 1 - -``` - -A lifecycle policy is applied to a bucket. Policies are sets of rules that govern the management of objects after they have aged for a certain amount of time. For instance, you can create a lifecycle policy that deletes objects every thirty days, or once a week. This is useful for cases where the data in a bucket becomes outdated, such as when collecting activity logs. - -## In This Guide - -This guide will first describe [when policies are enforced](#when-policies-are-enforced) and will then explain how to create and delete lifecycle policies with two tools: - -- [s3cmd command line interface](#s3cmd) (CLI): In addition to deleting objects, more complicated policies can be managed with s3cmd, including deleting old versions of objects that have been retained, and failed multipart uploads. - -- [Cyberduck desktop application](#cyberduck) (GUI): Cyberduck does not feature as many policy options, but they can be managed through a point-and-click interface. - -## Before You Begin - -* Familiarize yourself with the basics of Linode Object Storage by reviewing the [Get Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide or taking a look through the available [Object Storage guides](/docs/products/storage/object-storage/guides/). -* For demonstration purposes, you can create an Object Storage bucket with a few objects that you will later delete. - -## When Policies are Enforced - -Lifecycle policies are triggered starting at midnight of the Object Storage cluster's local time. This means that if you set a lifecycle policy of **one day**, the objects will be deleted **the midnight after they become 24 hours old**. - -{{% content "object-storage-cluster-shortguide" %}} - -For example, if an object is created at 5PM on January 1, it will reach 24 hours in age at 5PM on January 2. The policy will then be enforced on the object at 12AM on January 3. - -{{< note >}} -There is a chance that a lifecycle policy will not delete all of the files in a bucket the first time the lifecycle policy is triggered. This is especially true for buckets with upwards of a million objects. In cases like these, *most* of the objects are deleted, and any remaining objects are typically deleted during the next iteration of the lifecycle policy's rules. -{{< /note >}} - -## Create and Delete Lifecycle Policies - -### s3cmd - -[s3cmd](https://s3tools.org/s3cmd) allows users to set and manage lifecycle policies from the command line. In this section, you will find instructions on how to create and manage lifecycle policies to delete objects, previous versions of objects, and failed multipart uploads using s3cmd. - -{{< note >}} -If you don't have s3cmd set up on your computer, visit the [Using s3cmd with Object Storage](/docs/products/storage/object-storage/guides/s3cmd/) guide. -{{< /note >}} - -#### Creating a Lifecycle Policy File - -In S3-compatible Object Storage, a lifecycle policy is represented by an XML file. You can use your preferred text editor to create this XML file. Consider the following lifecycle policy file: - -```file {title="lifecycle_policy.xml" lang="xml"} - - - delete-all-objects - - - - Enabled - - 1 - - - -``` - -The above lifecycle policy deletes all objects in the bucket after one day. Each lifecycle policy file needs a `LifecycleConfiguration` block and a nested `Rule` block. The `Rule` block must contain `Prefix` and `Status`, and at least one action, like the `Expiration` block. It's also a good idea to include an `ID` block: - -| Block | Description | -| -- | -- | -| `ID` | Defines a name for the lifecycle policy rule. If your lifecycle policy contains multiple rules, then the ID for each should be unique. If one is not specified in your policy file, then a random alphanumeric ID will be assigned to your policy when the policy is applied to a bucket. | -| `Filter` |A Lifecycle rule can apply to all or a subset of objects in a bucket based on the element that you specify in the Lifecycle rule.You can filter objects by key prefix, object tags, or a combination of both.| -| `Prefix` | This string is used to select objects for deletion with the same matching prefix. For example, objects that begin with `error_report-` could be targeted for deletion by providing this prefix. This Prefix can be empty if you want a rule to apply to all files in a bucket. | -| `Status` | A string value describing the status of the lifecycle policy. To enable the policy, set this value to `Enabled`. To disable the policy set the value to `Disabled`. | -| `Expiration` | Contains the `Days` block. The `Days` block is the number of days before this rule will be enforced. In the above example, the `Days` is set to `1`, meaning that the objects in the bucket will be deleted after one day. | - -#### Additional Actions - -Other actions can also be specified in a rule: - -- `NoncurrentVersionExpiration` block, and its child, `NoncurrentDays`. These are used to control the lifecycle of objects with multiple older versions, and should only be used with buckets that have [bucket versioning](/docs/products/storage/object-storage/guides/versioning/) enabled. Using this option will delete objects that are not the newest, most current version. Below is an example of how to use `NoncurrentVersionExpiration`: - - ```file {title="lifecycle_policy_noncurrent_versions.xml" lang="xml"} - - - delete-prior-versions - - Enabled - - 1 - - - - ``` - - {{< note >}} - If a versioned object is deleted in a bucket with the `NoncurrentVersionExpiration` policy, only the DeleteMarker for that object (not the actual object itself) will be retained after the number of days specified by `NoncurrentDays` have passed since the object was deleted. - {{< /note >}} - -- `AbortIncompleteMultipartUpload`, and its child, `DaysAfterInitiation`. These work similarly to `NoncurrentVersionExpiration`, but instead of deleting previous versions of objects, they will delete failed multipart uploads. The following will delete failed multipart uploads three days after they were initiated: - - ```file {title="lifecycle_policy_multipart_upload.xml" lang="xml"} - - - delete-incomplete-multipart-uploads - - Enabled - - 3 - - - - ``` - - {{< note title"About multipart uploads" >}} - Objects that are part of failed multipart uploads (the mechanism by which large files are uploaded) stay within Object Storage buckets, counting towards your total Object Storage costs. s3cmd will automatically initiate a multipart upload when a file is larger than 15MB. Lifecycle policies are a great way to clear out stale multipart uploads. - {{< /note >}} - -{{< note type="alert" >}} -Linode Object Storage does not support the `NewerNoncurrentVersions` policy. -{{< /note >}} - -#### Multiple Actions in One Rule - -More than one action can be specified in a single rule. For example, you may want to both expire the current version of an object after a set number of days and also remove old versions of it after another period of time. The following policy will delete the current version of an object after 10 days and remove any noncurrent versions of an object 3 days after they are demoted from the current version: - -```file {title="lifecycle_policy_multiple_actions.xml" lang="xml"} - - - delete-prior-versions - - Enabled - - 10 - - - 3 - - - -``` - -{{< note >}} -As a reminder, if a versioned object is deleted, only the current version of the object will be deleted and all older versions will be preserved in the bucket. For this reason, the above rule has the effect of deleting any objects if they are not updated within 10 days, and then removing the remaining object versions after 3 days. -{{< /note >}} - -#### Multiple Rules - -A lifecycle policy file can only contain one `LifecycleConfiguration` block, but the `LifecycleConfiguration` block can contain more than one `Rule`. For instance, if you had a bucket that contained both error and general output logs, you could set a lifecycle policy that saves error logs for a week but deletes standard logs at the end of every day: - -```file {title="lifecycle_policy_error_and_standard_logs.xml" lang="xml"} - - - delete-error-logs - error - Enabled - - 7 - - - - delete-standard-logs - logs - Enabled - - 1 - - - -``` - -#### Uploading the Lifecycle Policy to a Bucket - -In order to apply a lifecycle policy to a bucket with s3cmd, you need to upload the lifecycle file to the bucket. This operation is not a normal PUT operation. Instead, the command to use is `setlifecycle`, followed by the name of the lifecycle policy file and the name of the bucket. In the example below, replace *example-bucket* with the name of your bucket. - - s3cmd setlifecycle lifecycle_policy.xml s3://example-bucket - -You should see output like the following: - -```output -s3://example-bucket/: Lifecycle Policy updated -``` - -Once the lifecycle policy has been uploaded, objects will be deleted according to the policy set in place. - -#### Viewing a Bucket's Lifecycle Policy - -To view a lifecycle policy after it has been uploaded to a bucket, use the `getlifecycle` command. Replace *example-bucket* with the name of your bucket: - - s3cmd getlifecycle s3://example-bucket - -You should see the contents of the XML file that was uploaded: - -```output - - - - delete-all - - Enabled - - 1 - - - -``` - -#### Deleting a Lifecycle Policy - -To delete a lifecycle policy that you've uploaded, effectively disabling it, use the `dellifecycle` command. Replace *example-bucket* with the name of your bucket: - - s3cmd dellifecycle s3://example-bucket - -You'll see a confirmation that the lifecycle policy was deleted: - -```output -s3://example-bucket: Lifecycle Policy deleted -``` - -### Cyberduck - -[Cyberduck](https://cyberduck.io/) allows less control over lifecycle polices than the s3cmd CLI. In particular, Cyberduck does not allow you to set a lifecycle policy that removes outdated versions of objects stored in buckets where [versioning](/docs/products/storage/object-storage/guides/versioning/) is enabled, nor does it allow you to delete multipart uploads. Cyberduck also limits the length of a lifecycle policy to commonly used time spans. Below you will learn how to set a lifecycle policy using Cyberduck. - -{{< note >}} -If you don't have Cyberduck set up on your computer, visit the [Using Cyberduck with Object Storage](/docs/products/storage/object-storage/guides/cyberduck/) guide. -{{< /note >}} - -#### Enable a Lifecycle Policy - -1. **Right click** or **control +** click on the bucket for which you would like to set a lifecycle policy. This will bring up the bucket info menu. - -1. Click on the **S3** tab to open the S3 bucket settings. - - ![Open the Cyberduck bucket settings menu.](lifecycle-policies-cyberduck-settings.png) - -1. Click on the checkbox labeled **Delete files** and select a time interval from the drop-down menu below it. - - ![Click on the "S3" tab and then check the box labeled "Delete files."](lifecycle-policies-cyberduck-lifecycle-settings.png) - -This will enable the lifecycle policy and the objects within the bucket will be deleted after the designated time. - -#### Disable a Lifecycle Policy - -To disable a lifecycle policy, uncheck the box entitled **Delete Files** that you checked in the previous section. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/lifecycle-policies/lifecycle-policies-cyberduck-lifecycle-settings.png b/docs/products/storage/object-storage/guides/lifecycle-policies/lifecycle-policies-cyberduck-lifecycle-settings.png deleted file mode 100644 index cc068b1c18c..00000000000 Binary files a/docs/products/storage/object-storage/guides/lifecycle-policies/lifecycle-policies-cyberduck-lifecycle-settings.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/lifecycle-policies/lifecycle-policies-cyberduck-settings.png b/docs/products/storage/object-storage/guides/lifecycle-policies/lifecycle-policies-cyberduck-settings.png deleted file mode 100644 index 785c002d07f..00000000000 Binary files a/docs/products/storage/object-storage/guides/lifecycle-policies/lifecycle-policies-cyberduck-settings.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/linode-cli/index.md b/docs/products/storage/object-storage/guides/linode-cli/index.md deleted file mode 100644 index 7921a0f92aa..00000000000 --- a/docs/products/storage/object-storage/guides/linode-cli/index.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: "Using the Linode CLI with Object Storage" -description: "Learn how to use the Linode CLI to manage Linode's own Object Storage solution." -modified: 2023-06-27 ---- - -The Linode Command Line Interface (CLI) is a command line utility that gives you complete control over the Linode account. For interacting with Object Storage, there are two separate commands within the Linode CLI. - -- `linode object-storage [command]`: This resource provides access to managing Object Storage on a Linode account. -- `linode obj [command]`: With the Object Storage plugin, you can also create and remove buckets, upload objects, and more. - -This guide details how to use the `obj` plugin. For `linode object-storage` usage, see [Linode CLI Commands for Object Storage](/docs/products/tools/cli/guides/object-storage/). - -## Install and Configure the CLI - -Follow the instructions within the [Install and Configure the Linode CLI](/docs/products/tools/cli/guides/install/) guide to get started using the CLI. Be sure to also install the boto3 library, as that enables you to use the Object Storage CLI plugin and perform operations on buckets and objects. - -## Basic Commands - -To get a list of all available buckets, use the `ls` command: - -```command -linode-cli obj ls -``` - -To get a list of all objects in a bucket, use the `ls` command with the label of a bucket: - -```command -linode-cli obj ls my-example-bucket -``` - -For a complete list of commands available with the Object Storage plugin, use the `--help` flag: - -```command -linode-cli obj --help -``` - -## Create a Bucket with the CLI - -To create a bucket with the Linode CLI, use the `mb` command. See the [Bucket Name](#bucket-names) section for rules on naming the bucket. - -```command -linode-cli obj mb my-example-bucket -``` - -To delete a bucket, use the `rb` command: - -```command -linode-cli obj rb my-example-bucket -``` - -Currently, the Linode CLI defaults to creating buckets in the Newark data center. To change the cluster a bucket is created in, use the `--cluster` option, followed by the cluster name below: - -- `us-east-1` for the Newark data center. This is the current default. -- `eu-central-1` for the Frankfurt data center. -- `ap-south-1` for the Singapore data center. - -{{< note >}} -You need to use the `--cluster` option for every interaction with your bucket if it is not in `us-east-1`. -{{< /note >}} - -If the bucket has objects in it, you can not delete it from the Linode CLI immediately. Instead, remove the objects first, then delete the bucket. The [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/) tool has commands for deleting all objects from a bucket, and it can also force-delete a bucket with objects in it. - -## Upload, Download, and Delete an Object with the CLI - -1. As an example object, create a text file and fill it with some example text. - - ```command - echo 'Hello World!' > example.txt - ``` - -1. To upload an object to a bucket using the Linode CLI, use the `put` command. Provide the object name as the first parameter and the bucket label as the second: - - ```command - linode-cli obj put --acl-public example.txt my-example-bucket - ``` - - - If the bucket is in the Newark data center, the file is accessible at the URL `http://my-example-bucket.us-east-1.linodeobjects.com/example.txt`. - - If the bucket is in the Frankfurt data center, the file is accessible at the URL `http://my-example-bucket.eu-central-1.linodeobjects.com/example.txt`. - - If the bucket is in the Singapore data center, the file is accessible at the URL `https://my-example-bucket.ap-south-1.linodeobjects.com/example.txt` - - {{< note >}} - The `--acl-public` flag is used to make the object publicly accessible, meaning that you can access the object from its URL. By default, all objects are set to private. To make a public file private, or a private file public, use the `setacl` command and supply the corresponding flag. - - For example, if you want to make a public file private, you would append the `--acl-private` flag: - - ```command - linode-cli obj setacl --acl-private my-example-bucket example.txt - ``` - {{< /note >}} - -1. To download an object, use the `get` command. Provide the label of the bucket as the first parameter and the name of the file as the second: - - ```command - linode-cli obj get my-example-bucket example.txt - ``` - -1. To delete an object, use the `rm` or `del` command. Provide the label of the bucket as the first parameter and the name of the object as the second: - - ```command - linode-cli obj rm my-example-bucket example.txt - ``` - -## Create a Signed URL with the CLI - -Creating a **signed URL** lets you create a link to objects with limited permissions and a time limit to access them. To create a signed URL on a preexisting object with the CLI, use the following syntax: - -```command -linode-cli obj signurl my-example-bucket example.txt +300 -``` - -The output of the command is a URL that can be used for a set period of time to access the object, even if the ACL is set to private. In this case, `+300` represents the amount of time in seconds that the link remains active, or five minutes total. After this time has passed, the link expires and can no longer be used. - -## Create a Static Site with the CLI - -To create a static website from a bucket: - -1. Use the `ws-create` command, including the `--ws-index` and `--ws-error` flags: - - ```command - linode-cli obj ws-create my-example-bucket --ws-index=index.html --ws-error=404.html - ``` - - The `--ws-index` and `--ws-error` flags specify which objects the bucket should use to serve the static site's index page and error page, respectively. - -1. You need to separately upload the `index.html` and `404.html` files (or however you have named the index and error pages) to the bucket: - - ```command - echo 'Index page' > index.html - echo 'Error page' > 404.html - linode-cli obj put index.html 404.html my-example-bucket - ``` - -1. Set the `--aclpublic` flag on both the `index.html` and `404.html` files: - - ```command - linode-cli obj setacl --acl-public my-example-bucket index.html - linode-cli obj setacl --acl-public my-example-bucket 404.html - ``` - -1. The static site is accessed from a different URL than the generic URL for the Object Storage bucket. Static sites are available at the `website-us-east-1` subdomain for the Newark data center, the `website-eu-central-1` subdomain for the Frankfurt data center, or the `website-ap-south-1` subdomain for the Singapore data center. Using `my-example-bucket` as an example, navigate to either: - - - `http://my-example-bucket.website-us-east-1.linodeobjects.com` or - - `http://my-example-bucket.website-eu-central-1.linodeobjects.com` or - - `http://my-example-bucket.website-ap-south-1.linodeobjects.com` - -For more information on hosting static websites from Linode Object Storage, see [Host a Static Site on Linode's Object Storage](/docs/guides/host-static-site-object-storage/) guide. - -## Creating a New Access Key - -If for whatever reason the access key you've set up when initially [Configuring the CLI](#install-and-configure-the-cli) has been revoked or deleted, you may see the following error message: - -```output -Error: InvalidAccessKeyId -``` - -You can create and configure a new Access Key at any time by running the following command: - -```command -linode-cli obj regenerate-keys -``` - -After running the command the access is restored, and you can see the new key listed at any time using the following command: - -```command -linode-cli object-storage keys-list -``` - -{{< note >}} -Any new object storage keys issued through the CLI is prefixed with `linode-cli` as the label. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/manage-buckets/bucket-list.png b/docs/products/storage/object-storage/guides/manage-buckets/bucket-list.png deleted file mode 100644 index 787428bc3ee..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-buckets/bucket-list.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-buckets/delete-obj-bucket-confirm.png b/docs/products/storage/object-storage/guides/manage-buckets/delete-obj-bucket-confirm.png deleted file mode 100644 index 8916c5f8795..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-buckets/delete-obj-bucket-confirm.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-buckets/delete-obj-bucket.png b/docs/products/storage/object-storage/guides/manage-buckets/delete-obj-bucket.png deleted file mode 100644 index 46b46eb3944..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-buckets/delete-obj-bucket.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-buckets/index.md b/docs/products/storage/object-storage/guides/manage-buckets/index.md deleted file mode 100644 index f50758c6a07..00000000000 --- a/docs/products/storage/object-storage/guides/manage-buckets/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "Create and Manage Buckets" -description: "Learn how to view, create, and delete Object Storage buckets through Cloud Manager." -published: 2022-02-07 -modified: 2022-03-04 -aliases: ['/products/storage/object-storage/guides/create-bucket/','/products/storage/object-storage/guides/delete-bucket/'] ---- - -Buckets are the primary containers within Object Storage. Each bucket stores your files (objects) and lets you access or share those files. - -## View Buckets - -Log in to [Cloud Manager](https://cloud.linode.com/) and select **Object Storage** from the left menu. If you currently have buckets on your account, they are listed on this page, along with their URL, region, size, and the number of objects (files) they contain. - -![](bucket-list.png) - -You can also view your bucket through the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/), [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/#view-your-buckets-and-files), [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/#list-buckets), and [s4cmd](/docs/products/storage/object-storage/guides/s4cmd/#list-buckets). - -## Create a Bucket - -One of the first steps to using Object Storage is to create a bucket. Here's how to create a bucket using Cloud Manager, though you can also use the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/#create-a-bucket-with-the-cli), [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/#create-a-bucket), and [s4cmd](/docs/products/storage/object-storage/guides/s4cmd/#create-a-bucket). - -1. Navigate to the **Object Storage** page in Cloud Manager (see [View Buckets](#view-buckets)). - -1. Click the **Create Bucket** button to open the *Create Bucket* panel. If you have not created an access key or a bucket on this account, you are prompted to enable Object Storage. - - {{< note >}} - Billing for Object Storage starts as soon as it is enabled on the account. See [Object Storage Pricing](/docs/products/storage/object-storage/#pricing) for more detail on the minimum flat-rate and per GB charge. See [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/) for instructions on cancelling this service. - {{< /note >}} - -1. Within the *Create Bucket* form, add a **Label** for the new bucket. This label must be unique and should not be used by any other bucket (from any customer) in the selected data center. Keep the following formatting requirements in mind: - - Must be between 3 and 63 characters in length. - - Can only contain lower-case characters, numbers, periods, and dashes. - - Must start with a lowercase letter or number. - - Cannot contain underscores (_), end with a dash (-) or period (.), have consecutive periods (.), or use dashes (-) adjacent to periods (.). - - Cannot be formatted as IP addresses. - - {{< note >}} - If you intend to use this bucket with a custom domain, the bucket must be labeled as your fully qualified domain name, such as `assets.example.com` or any subdomain of `*.your-domain.tld`. - {{< /note >}} - -1. Choose a **Region** for the bucket to reside. See the Availability section on the [Object Storage Overview](/docs/products/storage/object-storage/#availability) page for a list of available regions. - -1. Click **Submit** to create the bucket. - -You are now ready to [upload files to the bucket](/docs/products/storage/object-storage/guides/manage-files/). - -## Delete a Bucket - -Follow these steps to delete an Object Storage bucket from Cloud Manager. You can also use the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/), [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/#delete-a-bucket), and [s4cmd](/docs/products/storage/object-storage/guides/s4cmd/#delete-a-bucket). - -{{< note >}} -Only empty buckets are able to be deleted through Cloud Manager. To delete objects, see [Delete a File/Object](/docs/products/storage/object-storage/guides/manage-files/#delete-a-file). Alternatively, you can use the following S3cmd command, which deletes a non-empty bucket. See [S3cmd > Delete a Bucket](/docs/products/storage/object-storage/guides/s3cmd/#delete-a-bucket) for more details. - - s3cmd rb -r -f s3://example-bucket/ -{{< /note >}} - -1. Navigate to the **Object Storage** page in Cloud Manager (see [View Buckets](#view-buckets)). - -1. Locate the bucket you wish to delete and click the corresponding **Delete** button. - - ![Delete an Object Storage bucket](delete-obj-bucket.png) - -1. A dialog box appears that prompts you to enter the bucket's name as a way to confirm that you'd like to delete the bucket. Type the bucket's name into the text entry field and click **Delete**. - - ![Confirm deleting the Object Storage bucket](delete-obj-bucket-confirm.png) \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/manage-files/drag-drop-image-bucket.png b/docs/products/storage/object-storage/guides/manage-files/drag-drop-image-bucket.png deleted file mode 100644 index 056ff16058d..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/drag-drop-image-bucket.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/index.md b/docs/products/storage/object-storage/guides/manage-files/index.md deleted file mode 100644 index d21e91961e7..00000000000 --- a/docs/products/storage/object-storage/guides/manage-files/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: "Upload and Manage Files (Objects)" -description: "" -aliases: ['/products/storage/object-storage/guides/upload-objects/','/products/storage/object-storage/guides/delete-objects/','/products/storage/object-storage/guides/view-objects/'] ---- - -The primary function of Object Storage is to allow you to host files, also called objects. This guide walks you through using Cloud Manager to view, upload, download, and delete files. - -## View Files Stored within a Bucket - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Object Storage** from the left menu. - -1. Locate the bucket you wish to view and click its label/name to open it. - - ![](open-bucket.png) - -1. This opens the bucket's details page and displays a list of all the files (objects) stored within it. - - ![](view-bucket-files.png) - -## Upload Files - -Follow these steps to upload objects to a bucket using Cloud Manager: - -{{% content "object-storage-character-warning-shortguide" %}} - -1. Navigate to the **Bucket** page in Cloud Manager (see [View Files](#view-files-stored-within-a-bucket)). - -1. Files can be uploaded through either the dragging and dropping them into the file upload pane or by browsing for the files. - - - **Drag and drop:** Select any files or folders you wish to upload (either on your desktop or within your own file explorer / finder window). Drag those files into the file upload pane on your web browser, as shown below: - - ![](object-upload-pane-drop.png) - - - **Browse for files:** Click the **Browse Files** button to bring up your local computer's file browser and select a file or group of files to upload. This method does not allow you to upload a folder. - -1. Each file that's being upload appears within the upload pane, along with its size and a progress meter. Once the file has been uploaded, a checkmark appears to the right of the file and its visible within the list of objects. - - ![](object-upload-success.png) - - {{< note >}} - Individual object uploads are limited to a size of 5GB each, though larger object uploads can be facilitated with multipart uploads. [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/) and [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/) do this for you automatically if a file exceeds this limit as part of the uploading process. - {{< /note >}} - -## Download a File - -1. Navigate to the **Bucket** page in Cloud Manager (see [View Files](#view-files-stored-within-a-bucket)). - -1. Locate the file you wish to download and click the **Download** button. - - ![](object-download.png) - -1. The object is downloaded to your local computer, typically within the *Downloads* directory for your user. - -## Delete a File - -Follow these steps to delete objects in a bucket from Cloud Manager: - -1. Navigate to the **Bucket** page in Cloud Manager (see [View Files](#view-files-stored-within-a-bucket)). - -1. Locate the file you wish to delete and click the **Delete** button. - - ![](object-delete.png) - -1. A dialog box appears prompting you to confirm if you'd like to delete the object. Click **Delete** to proceed. - - ![](object-delete-confirm.png) \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/manage-files/object-delete-confirm.png b/docs/products/storage/object-storage/guides/manage-files/object-delete-confirm.png deleted file mode 100644 index 9fa065d8d11..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/object-delete-confirm.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/object-delete.png b/docs/products/storage/object-storage/guides/manage-files/object-delete.png deleted file mode 100644 index 9e70eb34bd3..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/object-delete.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/object-download.png b/docs/products/storage/object-storage/guides/manage-files/object-download.png deleted file mode 100644 index 7f78c5b5640..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/object-download.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/object-upload-pane-drop.png b/docs/products/storage/object-storage/guides/manage-files/object-upload-pane-drop.png deleted file mode 100644 index 29bb6ec1a41..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/object-upload-pane-drop.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/object-upload-success.png b/docs/products/storage/object-storage/guides/manage-files/object-upload-success.png deleted file mode 100644 index 2eea46e880d..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/object-upload-success.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/open-bucket.png b/docs/products/storage/object-storage/guides/manage-files/open-bucket.png deleted file mode 100644 index bb2c05ec70e..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/open-bucket.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/select-bucket.png b/docs/products/storage/object-storage/guides/manage-files/select-bucket.png deleted file mode 100644 index c00d186895c..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/select-bucket.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/successful-object-upload.png b/docs/products/storage/object-storage/guides/manage-files/successful-object-upload.png deleted file mode 100644 index 867c4ce5404..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/successful-object-upload.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/upload-with-file-browser.png b/docs/products/storage/object-storage/guides/manage-files/upload-with-file-browser.png deleted file mode 100644 index 3453d9b87f7..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/upload-with-file-browser.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/manage-files/view-bucket-files.png b/docs/products/storage/object-storage/guides/manage-files/view-bucket-files.png deleted file mode 100644 index 1be1f559bea..00000000000 Binary files a/docs/products/storage/object-storage/guides/manage-files/view-bucket-files.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/s3cmd/index.md b/docs/products/storage/object-storage/guides/s3cmd/index.md deleted file mode 100644 index a4c639dc57b..00000000000 --- a/docs/products/storage/object-storage/guides/s3cmd/index.md +++ /dev/null @@ -1,261 +0,0 @@ ---- -title: "Using S3cmd with Object Storage" -description: "Learn how to use the S3cmd command-line tool with Linode's Object Storage." -modified: 2023-02-10 ---- - -[S3cmd](https://s3tools.org/s3cmd) is a command line utility that you can use for any S3-compatible Object Storage. - -## Installing S3cmd - -The following commands will install s3cmd on various common operating systems. Additional methods of installing s3cmd can be found within the S3cmd GitHub repository under the [Installation of s3cmd package](https://github.com/s3tools/s3cmd/blob/master/INSTALL.md) file. - -### Mac - -To install s3cmd on a Mac, [Homebrew](https://brew.sh/) can be used: - -```command -brew install s3cmd -``` - -{{< note >}} -On macOS, s3cmd might fail to install if you do not have XCode command line tools installed. If that is the case, run the following command: - -```command -xcode-select --install -``` -{{< /note >}} - -### Linux - -To install s3cmd on a Linux system (such as CentOS, Ubuntu, or Debian), Python’s package manager [pip](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/) can be used. - -```command -sudo pip install s3cmd -``` - -Some Linux distributions are also able to install s3cmd from their own package managers, but those versions may not be as up to date. See [Download S3cmd](https://s3tools.org/download) for more information. - -## Configuring S3cmd - -After s3cmd has been installed, it needs to be configured to work with the buckets and objects on your Linode account. - -1. Run the following command to start the configuration process. - - ```command - s3cmd --configure - ``` - -1. This command will prompt you with a series of questions. Answer them based on the recommendations below: - - - **Access Key:** Enter the access key you wish to use. See [Managing Access Keys](/docs/products/storage/object-storage/guides/access-keys/). - - **Secret Key:** Enter the secret key that corresponds with the access key. This was displayed once when generating the access key. - - **Default Region:** `US` (do not change, even if you use Object Storage in a different region) - - **S3 Endpoint** (cluster URL): `[cluster-id].linodeobjects.com`, where [cluster-id] is the id of your data center. See [Access Buckets and Files through URLs > Cluster URL (S3 Endpoint)](/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint) for more details and a list of cluster IDs. - - **DNS-style bucket+hostname:port template for accessing a bucket:** `%(bucket)s.[cluster-id].linodeobjects.com`, replacing [cluster-id] with the same id used previously. - - **Encryption password:** Enter your GPG key if you intend to store and retrieve encrypted files (optional). - - **Path to GPG program:** Enter the path to your GPG encryption program (optional). - - **Use HTTPS protocol:** `Yes` - - **HTTP Proxy server name:** (Leave blank) - - **HTTP Proxy server port:** (Leave blank) - -1. When the prompt appears to test access with the supplied credentials, enter `n` to skip. Currently, this process results in the following error - even when the settings are correct. - - ```output - Please wait, attempting to list all buckets... - ERROR: Test failed: 403 (SignatureDoesNotMatch) - ``` - -1. When the prompt appears to save your settings, enter `Y`. A configuration file named `.s3cfg` is created within your home directory. - -### Additional Configuration Options - -S3cmd offers a number of additional configuration options that are not presented as prompts by the `S3cmd --configure` command. To modify any s3cmd configuration options (including the ones from the previous step), you can edit the configuration file directly. This configuration file is named `.s3cfg` and should be stored with your local home directory. For our purposes, its recommended to adjust the following option: - -- **website_endpoint:** `http://%(bucket)s.website-[cluster-id].linodeobjects.com/`, replacing *[cluster-id]* with the id corresponding to the data center your buckets are located within (listed on the [Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/) page). - -## Interacting with Buckets - -### List Buckets - -List all buckets within the data center specified during the configuration process. - -**Command:** `s3cmd ls` - -To list the buckets within a different data center, use the `--host` parameter as shown below. Replace `us-east-1` with the cluster ID of the data center you wish to use. - -**Example**: List all buckets on the account within the Newark data center when s3cmd has been configured for a different data center: - -```command -s3cmd ls --host=https://us-east-1.linodeobjects.com -``` - -### Create a Bucket - -Creates a bucket with the specified bucket label. See the [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/#create-a-bucket) guide for rules on naming the bucket. - -**Command:** `s3cmd mb s3://[bucket-label]`, replacing *[bucket-label]* with the label you'd like to use for the new bucket. - -**Example:** Create a bucket with the label of "example-bucket": - -```command -s3cmd mb s3://example-bucket -``` - -### Delete a Bucket - -Deletes the bucket with the specified label. - -**Command:** `s3cmd rb s3://[bucket-label]`, replacing *[bucket-label]* with the label of the bucket you wish to delete. - -**Example:** Delete the bucket with the label of "example-bucket": - -```command -s3cmd rb s3://example-bucket -``` - -To delete a bucket that has files in it, include the `--recursive` (or `-r`) option *and* the `--force` (or `-f`) option. Use caution when running this command: - -```command -s3cmd rb -r -f s3://example-bucket/ -``` - -## Interacting with Objects - -### List Objects - -**Command:** `s3cmd ls s3://[bucket-label]/[path]`, replacing *[bucket-label]* with the label for your bucket and *[path]* with the full path of directory you wish to view (optional). - -**Example:** List all objects within the bucket called "example-bucket": - -```command -s3cmd ls s3://example-bucket/ -``` - -### Upload an Object - -**Command:** `s3cmd put [file] s3://[bucket-label]/[path]`, replacing *[file]* with the name and path of the file you wish to upload, *[bucket-label]* with the label for your bucket and *[path]* with the optional directory within the bucket. - -**Example:** Upload the file "file.txt" to the bucket called "example-bucket": - -```command -s3cmd put file.txt s3://example-bucket/ -``` - -**Additional command options:** -- `-P`: Makes the object publicly accessible. This will allow the object to be accessed by anyone with the URL. Once successfully uploaded, s3cmd will output the public URL. -- `-e`: Encrypts the object (if you've configured the correct s3cmd options to enable encryption). - -{{% content "object-storage-character-warning-shortguide" %}} - -### Download an Object or Directory - -**Command:** `s3cmd get s3://[bucket-label]/[path]`, replacing *[bucket-label]* with the label for your bucket and *[path]* with the full path and optional filename of the file or directory you wish to download. - -**Example:** Download the file "file.txt" from the bucket called "example-bucket": - -```command -s3cmd get s3://example-bucket/file.txt -``` - -**Additional command options:** -- `-e`: Decrypts an encrypted object. - -### Delete an Object or Directory - -**Command:** `s3cmd rm s3://[bucket-label]/[path]`, replacing *[bucket-label]* with the label for your bucket and *[path]* with the full path and optional filename of the file or directory you wish to delete. - -**Example:** Delete the "file.txt" file on the bucket called "example-bucket": - -```command -s3cmd rm s3://example-bucket/file.txt -``` - -To delete all files in a bucket, include the `--recursive` (or `-r`) option *and* the `--force` (or `-f`) option. Use caution when running this command: - -```command -s3cmd rm -r -f s3://example-bucket/ -``` - -## Permissions and Access Controls - -### Apply a Bucket Policy - -**Command:** `s3cmd setpolicy [policy-file] s3://[bucket-label]`, replacing *[bucket-label]* with the label for your bucket and *[policy-file]* with the filename and path of your bucket policy file. - -**Example:** Apply the bucket policies defined within the file "policy.json" to the bucket called "example-bucket": - -```command -s3cmd setpolicy policy.json s3://example-bucket -``` - -To ensure that it has been applied correctly, you can use the `info` command: - -```command -s3cmd info s3://bucket-policy-example -``` - -You should see output like the following: - -```output -s3://example-bucket/ (bucket): - Location: default - Payer: BucketOwner - Expiration Rule: none - Policy: b'{\n "Version": "2012-10-17",\n "Statement": [{\n "Effect": "Allow",\n "Principal": {"AWS": ["arn:aws:iam:::user/a0000000-000a-0000-0000-00d0ff0f0000"]},\n "Action": ["s3:PutObject","s3:GetObject","s3:ListBucket"],\n "Resource": [\n "arn:aws:s3:::bucket-policy-example/*"\n ]\n }]\n}' - CORS: none - ACL: a0000000-000a-0000-0000-00d0ff0f0000: FULL_CONTROL -``` - -## Create a Signed URL with S3cmd - -Creating a **signed URL** lets you create a link to objects with limited permissions and a time limit to access them. To create a signed URL on a preexisting object with s3cmd, use the following syntax: - -```command -s3cmd signurl s3://my-example-bucket/example.txt +300 -``` - -The output of the command is a URL that can be used for a set period of time to access the object, even if the ACL is set to private. In this case, `+300` represents the amount of time in seconds that the link remains active, or five minutes total. After this time has passed, the link expires and can no longer be used. - -## Create a Static Site with S3cmd - -You can also create a static website using Object Storage and s3cmd: - -1. To create a website from a bucket, use the `ws-create` command: - - ```command - s3cmd ws-create --ws-index=index.html --ws-error=404.html s3://my-example-bucket - ``` - - The `--ws-index` and `--ws-error` flags specify which objects the bucket should use to serve the static site's index page and error page, respectively. - -1. You need to separately upload the `index.html` and `404.html` files (or however you have named the index and error pages) to the bucket: - - ```command - echo 'Index page' > index.html - echo 'Error page' > 404.html - s3cmd put index.html 404.html s3://my-example-bucket - ``` - -1. The static site is accessed from a different URL than the generic URL for the Object Storage bucket. Static sites are available at the `website-us-east-1` subdomain for the Newark data center, the `website-eu-central-1` subdomain for the Frankfurt data center, and the `website-ap-south-1` subdomain for the Singapore data center. Using `my-example-bucket` as an example, you would navigate to either: - - - `http://my-example-bucket.website-us-east-1.linodeobjects.com` or - - `http://my-example-bucket.website-eu-central-1.linodeobjects.com`. - -For more information on hosting a static website with Object Storage, read our [Host a Static Site using Linode Object Storage](/docs/guides/host-static-site-object-storage/) guide. - -## Syncing Files and Directories - -While you can use the `put` command to upload entire directories, the `sync` command may offer more desirable behavior. `sync` identifies which files have been added or modified and only uploads those files. This can be especially useful when maintaining large amounts of files, such as the contents of a static site. - -**Command:** `s3cmd sync [local-path] s3://[bucket-label]/[path]`, replacing *[local-path]* with the path to the folder you wish to upload, *[bucket-label]* with the label for your bucket, and *[path]* with the remote path you wish to target for the upload. - -{{< note >}} -To upload the current directory, replace *[local-path]* with `./`. -{{< /note >}} - -**Example:** Upload the current directory to the bucket labeled *example-bucket* and make all files public. - -```command -s3cmd sync ./ s3://example-bucket -P -``` diff --git a/docs/products/storage/object-storage/guides/s4cmd/index.md b/docs/products/storage/object-storage/guides/s4cmd/index.md deleted file mode 100644 index c31ecb19131..00000000000 --- a/docs/products/storage/object-storage/guides/s4cmd/index.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "Using s4cmd with Object Storage" -description: "Learn how to use the s4cmd command-line tool with Linode's Object Storage." ---- - -The [s4cmd](https://github.com/bloomreach/s4cmd) software is a command-line tool that can access S3-compatible storage services, such as Linode's Object Storage. It uses the [S3 client](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html) in Amazon's boto3 library. Compared to the popular s3cmd tool, s4cmd is typically much faster but it has less options and is less configurable. For many use cases, the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/) or [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/) is recommended. - -## Installing s4cmd - -To install S3cmd on both Mac and Linux systems, Python’s package manager [pip](/docs/guides/how-to-manage-packages-and-virtual-environments-on-linux/) can be used. - - sudo pip install s4cmd - -Some Linux distributions are also able to install s4cmd from their own package managers, but those versions may not be as up to date. See [Download S3cmd](https://s3tools.org/download) for more information. - -Additional methods of installing s4cmd can be found within the s4cmd Readme file under [Installation and Setup](https://github.com/bloomreach/s4cmd#installation-and-setup). - -## Configuring Credentials - -To access Object Storage buckets and objects, s4cmd needs to know the Access Key and Secret Key to use. By default, s4cmd looks for these credentials in the `~/.s3cfg` file, which is the configuration file that s3cmd uses. If you do not have s3cmd installed and configured, create this file and add the following contents. - -```file {title="~/.s3cfg"} -[default] -access_key = YOUR_ACCESS_KEY -secret_key = YOUR_SECRET_KEY -``` - -Replace `YOUR_ACCESS_KEY` and `YOUR_SECRET_KEY` with the access key and secret key created on your Linode account. If you haven't yet created these credentials, follow the [Managing Access Keys](/docs/products/storage/object-storage/guides/access-keys/) guide. - -Additional methods of configuring your credentials can be found on the s4cmd Readme file under [Installation and Setup](https://github.com/bloomreach/s4cmd#installation-and-setup). - -## Specifying the Endpoint URL - -Originally, s4cmd was used for Amazon S3. To allow this tool to be used by other S3-compatible solutions, the `--endpoint-url` command option was added. When running any s4cmd command, you will need to specify the full endpoint url of the Linode Object Storage Cluster that your bucket resides in. For a full list of Clusters and their associated S3 endpoints, see the[Access Buckets and Files through URLs](/docs/products/storage/object-storage/guides/urls/) guide). - -As an example, the following command will list all buckets in the Newark data center: - - s4cmd ls --endpoint-url https://us-east-1.linodeobjects.com - -## Interacting with Buckets - -### List Buckets - -**Command:** `s4cmd ls` - -**Example**: List all buckets on the account within the Newark data center: - - s4cmd ls --endpoint-url https://us-east-1.linodeobjects.com - -### Create a Bucket - -**Command:** `s4cmd mb s3://[bucket-label]`, replacing *[bucket-label]* with the label you'd like to use for the new bucket. - -**Example:** Create a bucket with the label of "example-bucket" in the Newark data center: - - s4cmd mb s3://example-bucket --endpoint-url https://us-east-1.linodeobjects.com - -### Delete a Bucket - -There is currently no defined command for deleting a bucket through s4cmd. - -## Interacting with Objects - -### List Objects - -**Command:** `s4cmd ls [path]`, where *[path]* is the path of the directory you'd like to view within a bucket. - -**Example:** List all objects within the bucket called "example-bucket", located in the Newark data center: - - s4cmd ls s3://example-bucket/ --endpoint-url https://us-east-1.linodeobjects.com - -### Upload an Object - -**Command:** `s4cmd put [file] s3://[bucket-label]/[path]`, replacing *[file]* with the name and path of the file you wish to upload, *[bucket-label]* with the label for your bucket and *[path]* with the optional directory within the bucket. - -**Example:** Upload the file "file.txt" to the bucket called "example-bucket", located in the Newark data center: - - s4cmd put file.txt s3://example-bucket/ --endpoint-url https://us-east-1.linodeobjects.com - -{{% content "object-storage-character-warning-shortguide" %}} - -### Download an Object or Directory - -**Command:** `s4cmd get s3://[bucket-label]/[path]`, replacing *[bucket-label]* with the label for your bucket and *[path]* with the full path and optional filename of the file or directory you wish to download. - -**Example:** Download the file "file.txt" from the bucket called "example-bucket", located in the Newark data center: - - s4cmd get s3://example-bucket/file.txt --endpoint-url https://us-east-1.linodeobjects.com - -### Delete an Object or Directory - -**Command:** `s4cmd del s3://[bucket-label]/[path]`, replacing *[bucket-label]* with the label for your bucket and *[path]* with the full path and optional filename of the file or directory you wish to delete. - -**Example:** Delete all the files within the "files" directory on the bucket called "example-bucket", located in the Newark data center: - - s4cmd del s3://example-bucket/files/ --endpoint-url https://us-east-1.linodeobjects.com - -## Additional Commands - -Additional commands and options for s4cmd can be found on the [s4cmd Readme](https://github.com/bloomreach/s4cmd) page or by running `s4cmd --help`. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/urls/AccessingObjectswithLinodeObjectStorage.png b/docs/products/storage/object-storage/guides/urls/AccessingObjectswithLinodeObjectStorage.png deleted file mode 100644 index f1528c85fb9..00000000000 Binary files a/docs/products/storage/object-storage/guides/urls/AccessingObjectswithLinodeObjectStorage.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/urls/bucket-url-details.png b/docs/products/storage/object-storage/guides/urls/bucket-url-details.png deleted file mode 100644 index 8388c75a28d..00000000000 Binary files a/docs/products/storage/object-storage/guides/urls/bucket-url-details.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/urls/bucket-url.png b/docs/products/storage/object-storage/guides/urls/bucket-url.png deleted file mode 100644 index 7eff6560c9c..00000000000 Binary files a/docs/products/storage/object-storage/guides/urls/bucket-url.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/urls/index.md b/docs/products/storage/object-storage/guides/urls/index.md deleted file mode 100644 index 05382ec00b0..00000000000 --- a/docs/products/storage/object-storage/guides/urls/index.md +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: "Access Buckets and Files through URLs" -description: "Learn how to obtain URLs to objects within Linode's Object Storage service." -published: 2020-01-22 -modified: 2024-02-20 -keywords: ['object','storage','bucket'] -image: AccessingObjectswithLinodeObjectStorage.png -tags: ["linode platform"] -aliases: ['/platform/object-storage/how-to-access-objects-with-linode-object-storage/','/guides/how-to-access-objects-with-linode-object-storage/','/products/storage/object-storage/guides/access-objects/'] ---- - -Linode's Object Storage service gives each bucket and file a unique URL. This URL is managed through the shared domain *\*.linodeobjects.com* and your files are encrypted through the use of HTTPS. By default, files are only visible by you (the owner) through Cloud Manager or through other tools and applications using an access key with permissions to read (or read/write) the bucket. - -You're also able to make these files accessible to anyone through their URLs by setting up ACLs so the files are public. This makes Object Storage great for sharing and storing unstructured data like images, documents, archives, streaming media assets, and file backups, and the amount of data you store can range from small collections of files up to massive libraries of information. - -Here are the types of URLs you can use to access buckets and files: - -- [Cluster URL](#cluster-url-s3-endpoint) -- [Bucket URL](#bucket-url) -- [File URL](#file-urls) -- [Signed URL](#signed-urls) -- [Website URL](#website-urls) -- [Custom URL](#custom-urls) - -## Cluster URL (S3 Endpoint) - -The cluster URL for Object Storage is unique to each data center. This URL can be used for accessing all of your Object Storage resources within a certain region. When used with third party tools, this URL might also be referred to as the *S3 endpoint*. - -**Cluster URL:** `https://[cluster-id].linodeobjects.com/`, replacing *[cluster-id]* with the id of your data center. The cluster URLs for each of the available data centers are listed below: - -| Data Center | Cluster ID | Cluster URL | -| -- | -- | -- | -| Amsterdam (Netherlands) | `nl-ams-1` | `https://nl-ams-1.linodeobjects.com` | -| Atlanta, GA (USA) | `us-southeast-1` | `https://us-southeast-1.linodeobjects.com` | -| Chennai (India) | `in-maa-1` | `https://in-maa-1.linodeobjects.com` | -| Chicago, IL (USA) | `us-ord-1` | `https://us-ord-1.linodeobjects.com` | -| Frankfurt (Germany) | `eu-central-1` | `https://eu-central-1.linodeobjects.com` | -| Jakarta (Indonesia) | `id-cgk-1` | `https://id-cgk-1.linodeobjects.com` | -| Los Angeles, CA (USA) | `us-lax-1` | `https://us-lax-1.linodeobjects.com` | -| Madrid (Spain) | `es-mad-1` | `https://es-mad-1.linodeobjects.com` | -| Miami, FL (USA) | `us-mia-1` | `https://us-mia-1.linodeobjects.com` | -| Milan (Italy) | `it-mil-1` | `https://it-mil-1.linodeobjects.com` | -| Newark, NJ (USA) | `us-east-1` | `https://us-east-1.linodeobjects.com` | -| Osaka (Japan) | `jp-osa-1 ` | `https://jp-osa-1.linodeobjects.com` | -| Paris (France) | `fr-par-1` | `https://fr-par-1.linodeobjects.com` | -| São Paulo (Brazil) | `br-gru-1` | `https://br-gru-1.linodeobjects.com` | -| Seattle, WA (USA) | `us-sea-1` | `https://us-sea-1.linodeobjects.com` | -| Singapore | `ap-south-1` | `https://ap-south-1.linodeobjects.com` | -| Stockholm (Sweden) | `se-sto-1` | `https://se-sto-1.linodeobjects.com` | -| Washington, DC (USA) | `us-iad-1` | `https://us-iad-1.linodeobjects.com` | - -## Bucket URL - -Each bucket has its own unique URL. This URL is useful when configuring a third party application to use a specific bucket for file storage. - -**Bucket URL:** `https://[bucket-label].[cluster-id].linodeobjects.com/`, replacing *[bucket-label]* with the label of your bucket and *[cluster-id]* with the id of your data center (listed in the [Cluster URL](#cluster-url-s3-endpoint) section). - -For example, a bucket labeled *example-bucket* within the Atlanta data center would have the following URL: - - https://example-bucket.us-southeast-1.linodeobjects.com - -### View a Bucket's URL through Cloud Manager - -You can build this URL manually or you can view the bucket URL through Cloud Manager (as shown below) or a tool like [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/#obtain-the-url-of-a-file) - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Object Storage** from the left menu. - -1. Locate the bucket you wish to use. The URL for the bucket is printed underneath the bucket label/name. - - ![](bucket-url.png) - -1. You can also click the details link to view *and copy* the URL. - - ![](bucket-url-details.png) - -## File URLs - -The URLs for files (objects) within a bucket are very similar to the bucket's own URL, simply with the filename and path appended to the end. This URL is useful when sharing the file with someone or accessing it from your website. - -**File (Object) URL:** `https://[bucket-label].[cluster-id].linodeobjects.com/[file]`, replacing *[bucket-label]* with the label of your bucket, *[cluster-id]* with the id of your data center (listed in the [Cluster URL](#cluster-url-s3-endpoint) section, and *[file]* with the full path, name, and extension of your file. - -For example, a file named *example-file.txt* stored on a bucket labeled *example-bucket* within the Atlanta data center would have the following URL: - - https://example-bucket.us-southeast-1.linodeobjects.com/example-file.txt - -### View a File's URL through Cloud Manager - -You can build this URL manually or you can view the file URL through Cloud Manager (as shown below) or a tool like [Cyberduck](/docs/products/storage/object-storage/guides/cyberduck/#obtain-the-url-of-a-file) - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Object Storage** from the left menu. - -1. Locate the bucket you wish to view and click its label/name to open it. - - ![](open-bucket.png) - -1. This opens the bucket's details page and displays a list of all the files (objects) stored within it. Locate the file you want to use and click the filename. - - ![](object-detail.png) - -1. The URL for the file is listed at the top of the details panel, as shown below: - - ![](object-detail-panel.png) - -## Signed URLs - -A **signed URL** gives anyone with the URL access to a file for a certain period of time. This is very useful when you want to share a document or file with someone, but don't wish to make the URL permanently accessible or able to be guessed by others. You can generate a signed URL through the [Linode CLI](/docs/products/storage/object-storage/guides/linode-cli/#create-a-signed-url-with-the-cli) or [s3cmd](/docs/products/storage/object-storage/guides/s3cmd/#create-a-signed-url-with-s3cmd). - -Here's an example of a signed URL: - - https://us-southeast-1.linodeobjects.com:443/example-bucket/example-file.txt?Signature=NUXLA378K28nMKgnaIcYjGroMXw%3D&Expires=1644600958&AWSAccessKeyId=YFULT4UZZULG82GFPQE2&x-amz-meta-mtime=1644590299284&x-amz-meta-storage-class=STANDARD - -## Website URLs - -You can configure a bucket to serve a static website (a website only containing static files like html, css, client-side javascript, images, and other non-dynamic resources). - -**Website URL:** `https://[bucket-label].website-[cluster-id].linodeobjects.com/`, replacing *[bucket-label]* with the label of your bucket and *[cluster-id]* with the id of your data center (listed in the [Cluster URL](#cluster-url-s3-endpoint) section. - -For example, if you have configured a website on a bucket labeled *example-bucket* within the Atlanta data center would have the following URL: - - https://example-bucket.website-us-southeast-1.linodeobjects.com - -For more information on hosting a static website with Object Storage, read our [Host a Static Site using Linode Object Storage](/docs/guides/host-static-site-object-storage/) guide. - -## Custom URLs - -So far, this guide has covered obtaining URLs that use the shared domain *\*.linodeobjects.com*. You can also configure a bucket to use a custom domain, such as `assets.example.com`. To do this, see [Configure a Custom Domain (with a TLS/SSL Certificate)](/docs/products/storage/object-storage/guides/custom-domain/). \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/urls/object-detail-panel.png b/docs/products/storage/object-storage/guides/urls/object-detail-panel.png deleted file mode 100644 index b19d3ed6072..00000000000 Binary files a/docs/products/storage/object-storage/guides/urls/object-detail-panel.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/urls/object-detail.png b/docs/products/storage/object-storage/guides/urls/object-detail.png deleted file mode 100644 index e0b9c10a74a..00000000000 Binary files a/docs/products/storage/object-storage/guides/urls/object-detail.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/urls/open-bucket.png b/docs/products/storage/object-storage/guides/urls/open-bucket.png deleted file mode 100644 index bb2c05ec70e..00000000000 Binary files a/docs/products/storage/object-storage/guides/urls/open-bucket.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/use-cases/index.md b/docs/products/storage/object-storage/guides/use-cases/index.md deleted file mode 100644 index 57d3b7e72e0..00000000000 --- a/docs/products/storage/object-storage/guides/use-cases/index.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: "Use Cases for Object Storage" -description: "This guide provides you with an introduction to Linode Object Storage and also offers you several practical use cases, as well as benefits and limitations." -published: 2019-08-26 -modified: 2023-03-31 -image: use-cases-for-linode-obj-storage.png -keywords: ['object','storage','s3','use','case'] -tags: ["linode platform"] -aliases: ['/platform/object-storage/object-storage-use-cases/','/guides/object-storage-use-cases/'] ---- - -## What is Object Storage? - -Object Storage is a method of storing data that differs in a number of ways from [Block Storage](/docs/products/storage/block-storage/). Block Storage splits files into small *blocks* of data. Minimal file metadata is stored alongside this data and, in general, descriptive metadata must be stored in a separate file or database. In order to use a Block Storage volume it must be attached to a host server, where it acts like a hard drive. - -In contrast, Object Storage stores data, called *objects*, in containers, called *buckets*, and each object is given a unique identifier with which it is accessed. In this way, the physical location of the object does not need to be known. The objects are stored alongside rich, configurable metadata that can be used to describe any number of arbitrary properties about the object. Each object has its own URL, so accessing the data is often as simple as issuing an HTTP request, either by visiting the object in a browser or retrieving it through the command line. - -### Benefits and Limitations - -Object Storage scales easily because all the objects are stored in a flat, scalable name space. Object Storage does not require a host server in order to be used, meaning many different clients can read from it or write to it. - -With that said, there are limitations to Object Storage. Objects in Object Storage cannot be modified at the block level, as with Block Storage, and must be rewritten in their entirety every time a change is made. This makes any scenario with many successive read/write operations – such as the needs of databases or transactional data – a poor choice for Object Storage. Additionally, Object Storage traffic runs over HTTP, so it does not benefit from the I/O speeds of a mounted Block Storage volume. As a rule of thumb, Object Storage shines when files do not need to be updated frequently. - -Below are some of the more popular use cases for Object Storage. - -## Use Cases - -### Static Site Hosting - -Because Object Storage buckets provide HTTP access to objects, it's easy to set up a bucket to serve static websites. A static website is a website that does not require a server-side processing language like PHP to render content. And because a static site does not require each page to be processed with every request, they are usually very quick to load. For more information on setting up a static site on Object Storage, read our [Host a Static Site on Linode Object Storage](/docs/guides/host-static-site-object-storage/) guide. For more on static site generators, visit our [How to Choose a Static Site Generator](/docs/guides/how-to-choose-static-site-generator/) guide. - -### Website Files - -If you don't want to host your entire site on Object Storage (for example: you plan to use a CMS like WordPress), you can still choose to host some of your site's assets, like images and downloads, with Object Storage. This will save disk space on your server and can help reduce your costs. - -### Software Storage and Downloads - -Similar to hosting website files, hosting software applications on Object Storage is a great use case for developers looking to give quick access to their products. Simply upload the file to a bucket and share its URL. - -### Unstructured Data - -Unstructured data is any data that does not fit into a traditional database. Object Storage excels at storing large amounts of unstructured data. With the ability to configure custom metadata for each piece of unstructured data, it is easy to extrapolate useful information from each object and to retrieve objects with similar metadata. Examples of unstructured data include [images, video, audio, documents,](#images-video-audio-and-documents) and [Big Data](#big-data). - -### Images, Video, Audio, and Documents - -Multimedia assets like images, videos, audio files, and documents are a perfect match for Object Storage. In general these types of files do not change frequently, so there is no need to store them on Block Storage volumes. Because each file has its own URL, streaming the content of these files or embedding them in another program or website is simple and does not require the use of a server. - -### Big Data - -Big Data typically describes data sets that are so large and so diverse that it takes specialized tooling to analyze them. In many cases the data that comprises Big Data is considered unstructured and does not fit neatly into a database, making it a great candidate for Object Storage. - -### Artifact Storage - -As more and more of the development life cycle becomes automated and tested, more and more artifacts are generated in the process. Object Storage is a great solution for developers looking to store these artifacts, such as the bulk collection of logs. Sharing stored artifacts is as simple as sharing a URL. And if you'd rather your artifacts stay private, you can distribute an access key. - -### Cold Storage - -Object Storage is, in the majority of cases, significantly cheaper than Block Storage. While Object Storage can incur a cost when retrieving data, the cost benefit for infrequently accessed data can provide you with an overall cost reduction when compared to similar methods. - -Similarly, Object Storage has benefits over [tape storage](https://en.wikipedia.org/wiki/Tape_drive). Tape storage is frequently used for archival purposes, but the read times that come with tape storage are many times more than what you'll find with Object Storage. Special considerations have to be made when transferring tape drive data, such as the ability to ship drives safely across long distances. With Object Storage, this data is available through HTTP from anywhere in the world. - -{{< note >}} -The outbound data transfer for Linode Object Storage is part of your Linode account's [total transfer pool](/docs/products/platform/get-started/guides/network-transfer/), which reduces or completely eliminate transfer costs for Object Storage if you are also running Linode Compute Instances. If you expend your allotted transfer pool, you are billed at a rate of $0.005 per GB for outbound transfers. -{{< /note >}} - -### Backups - -Databases and other critical data can be backed up to Object Storage with little effort using a command line client for easier automation. Objects within Object Storage are replicated and resilient to underlying hardware errors. Additionally, buckets can be versioned so you never lose access to older backups. - -### Private File Storage - -Objects can be made private and only accessible with a key. By default, all new objects in a bucket are set to private, so they are inaccessible by normal HTTP requests (though it's easy to set public permissions on objects if you'd like). This makes it easy to store secure data. - -## Next Steps - -If you're curious about how to use Object Storage, you can review the [Create and Manage Buckets](/docs/products/storage/object-storage/guides/manage-buckets/) guide and the [Upload and Manage Files](/docs/products/storage/object-storage/guides/manage-files/) guide for detailed instructions on creating buckets and uploading objects. Read our [Host a Static Site using Linode Object Storage](/docs/guides/host-static-site-object-storage/) to get started with hosting your own site on Object Storage. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/use-cases/use-cases-for-linode-obj-storage.png b/docs/products/storage/object-storage/guides/use-cases/use-cases-for-linode-obj-storage.png deleted file mode 100644 index 330821a5037..00000000000 Binary files a/docs/products/storage/object-storage/guides/use-cases/use-cases-for-linode-obj-storage.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/versioning/cyberduck-bucket-info-s3-tab.png b/docs/products/storage/object-storage/guides/versioning/cyberduck-bucket-info-s3-tab.png deleted file mode 100644 index 9032e3c56ea..00000000000 Binary files a/docs/products/storage/object-storage/guides/versioning/cyberduck-bucket-info-s3-tab.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/versioning/cyberduck-enable-versioning.png b/docs/products/storage/object-storage/guides/versioning/cyberduck-enable-versioning.png deleted file mode 100644 index 451a69f6099..00000000000 Binary files a/docs/products/storage/object-storage/guides/versioning/cyberduck-enable-versioning.png and /dev/null differ diff --git a/docs/products/storage/object-storage/guides/versioning/index.md b/docs/products/storage/object-storage/guides/versioning/index.md deleted file mode 100644 index 8a94d364690..00000000000 --- a/docs/products/storage/object-storage/guides/versioning/index.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: "Versioning (Retain Object Version History)" -description: "Learn how to use versioning with Linode's Object Storage to retain previous versions of an object." -published: 2022-03-11 -aliases: ['/platform/object-storage/bucket-versioning/','/guides/bucket-versioning/'] ---- - -Versioning in Object Storage (also called *bucket versioning*, *object versioning*, and *S3 versioning*) is a method of retaining historical versions of files/objects. When this feature is enabled, objects are not overwritten or deleted. Instead, the new *current* version of an object is stored alongside each older *noncurrent* version. In the event that you need to recover old data, you can restore/retrieve previous versions of each object. - -This works by automatically assigning a *version ID* to each object. When new versions are uploaded, they receive a new version ID and are stored alongside older versions. When viewing or retrieving objects, the latest version of the object is returned *unless a version ID has been specified in the request*. If you delete an object with bucket versioning enabled, a delete marker is inserted into the bucket to report that the object has been deleted, but the bucket will retain all previous versions of the object. - -{{< note type="alert" >}} -Every version of an object counts towards the monthly billable storage quota. While saving a few revisions is probably not something to worry about, large version controlled buckets with many thousands of objects will see a noticeable increase in storage space demands, and should be monitored carefully. -{{< /note >}} - -## Using Versioning within Linode's Object Storage Service - -While versioning is natively supported within our Object Storage service, none of our first party tooling (such as Cloud Manager, the Linode CLI, or the Linode API) can manage this feature. Currently, object versioning can only be enabled, disabled, and otherwise managed through third party tools like Cyberduck and the AWS CLI. - -## Enable Versioning - -Versioning is enabled on the bucket level. This means that every object in a bucket will be versioned, not just a single object. - -### Cyberduck - -1. Review the [Using Cyberduck with Object Storage](/docs/products/storage/object-storage/guides/cyberduck/) guide for instructions on installing Cyberduck, connecting to your Object Storage cluster, and viewing your buckets. - -1. Right click on the bucket on which you wish to enable versioning, select **Info**, and navigate to the *S3* tab. - - ![Cyberduck Info tab](cyberduck-bucket-info-s3-tab.png) - -1. Locate the *Versioning* section and check the **Bucket Versioning** checkbox to enable it. - - ![Enable Versioning within Cyberduck](cyberduck-enable-versioning.png) - -### AWS CLI - -1. Install and configure the AWS CLI to work with your Object Storage account. See the [AWS CLI](/docs/products/storage/object-storage/guides/aws-cli/) guide. - -1. Enable bucket versioning with the `put-bucket-versioning` command, replacing *[cluster-url]* with the cluster URL that corresponds with the data center you're using (see [Cluster URL (S3 endpoint)](/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint)) and *[bucket-label]* with the label/name of your bucket. - - aws s3api put-bucket-versioning --endpoint=[cluster-url] --bucket=[bucket-label] --versioning-configuration Status=Enabled - -1. To verify that versioning has been enabled, run the `get-bucket-versioning` command, again replacing *[cluster-url]* and *[bucket-label]* accordingly. - - aws s3api get-bucket-versioning --endpoint=[cluster-url] --bucket=[bucket-label] - - The output of that command should display a **Status** of *Enabled*: - - ```output - { - "Status": "Enabled", - "MFADelete": "Disabled" - } - ``` - -## Test Versioning - -Now that versioning is enabled, you can test this feature by uploading an example file and then replacing it. - -1. Create a text file (called `example-file.txt` or similar) on your local computer with the following contents: - - This is version 1. - -1. Now, upload that file through any tool you wish to use, including Cloud Manager, Cyberduck, S3cmd, or the AWS CLI. - -1. On your local machine, edit that same text file. In our example, we'll edit it to use the following contents: - - This is version 2. - -1. Upload that text file again to the same location that you used for the previous upload. Depending on the tool you are using, you may receive a warning that the file will be overwritten. Since versioning is enabled, previous versions will be retained so you can safely continue. - -1. Follow the instructions within [View Versioned Objects](#view-versioned-objects) to verify that you have retained the original and new versions of the file. - -## View Versioned Objects - -### Cyberduck - -Open the **View** menu and click **Show Hidden Files**. The previous versions of the file should be displayed in gray. Click the **Refresh** button if previous versions do not automatically appear. - -![View hidden files Cyberduck](versioning-cyberduck-view-hidden.png) - -### AWS CLI - -Run the `list-object-versions` command, replacing *[cluster-url]* with the cluster URL that corresponds with the data center you're using (see [Cluster URL (S3 endpoint)](/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint)), *[bucket-label]* with the label/name of your bucket, and *[object]* with the object key (full path and filename) of the object. If you omit the `--prefix=[object]` option, the command outputs all objects. - - aws s3api list-object-versions --endpoint=[cluster-url] --bucket=[bucket-label] --prefix=[object] - -If running this command with the prefix option set to the `example-file.txt` file with two versions, the output is similar to the following: - -```output -{ - "Versions": [ - { - "ETag": "\"8f8d4ab37dcdd3728feecd08c7601112\"", - "Size": 14, - "StorageClass": "STANDARD", - "Key": "example-file.txt", - "VersionId": "wPI0FSbJRWD4xIvr7y8LxtEhDhm0ntO", - "IsLatest": true, - "LastModified": "2022-03-11T12:37:19.722000+00:00", - "Owner": { - "DisplayName": "a0000000-000a-0000-0000-00d0ff0f0000", - "ID": "a0000000-000a-0000-0000-00d0ff0f0000" - } - }, - { - "ETag": "\"764569e58f53ea8b6404f6fa7fc0247f\"", - "Size": 12, - "StorageClass": "STANDARD", - "Key": "example-file.txt", - "VersionId": "null", - "IsLatest": false, - "LastModified": "2022-02-11T17:30:24.612000+00:00", - "Owner": { - "DisplayName": "a0000000-000a-0000-0000-00d0ff0f0000", - "ID": "a0000000-000a-0000-0000-00d0ff0f0000" - } - } - ] -} -``` - -Each version is listed, along with its individual object metadata. - -## Download and Restore a Previous Version - -### Cyberduck - -To download a previous version, you can right click on the version you wish to save and select **Download**. Alternatively, you can drag and drop the file to your desktop or file explorer window. - -To restore that version of the file, re-upload it. Another method is to delete all newer versions of the file. - -### AWS CLI - -To download a previous version of an object, run the `get-object` command, replacing *[cluster-url]* with the cluster URL that corresponds with the data center you're using (see [Cluster URL (S3 endpoint)](/docs/products/storage/object-storage/guides/urls/#cluster-url-s3-endpoint)), *[bucket-label]* with the label/name of your bucket, *[object]* with the object key (full path and filename) of the object, *[version-id]* with the **VersionId** value of whichever object you wish to download, *[output-file]* with whatever you wish to call the file on your local system. - - aws s3api get-object --endpoint=[cluster-url] --bucket=[bucket-label] --key=[object] --version-id=[version-id] [output-file] - -You should see output like the following: - -```output -{ - "AcceptRanges": "bytes", - "LastModified": "2022-03-11T12:37:19+00:00", - "ContentLength": 14, - "ETag": "\"8f8d4ab37dcdd3728feecd08c7601112\"", - "VersionId": "wPI0FSbJRWD4xIvr7y8LxtEhDhm0ntO", - "ContentType": "text/plain", - "Metadata": { - "mtime": "1644590299284", - "storage-class": "STANDARD" - }, - "StorageClass": "STANDARD" -} -``` - -To restore this version, you can re-upload it. Alternatively, you can delete all newer versions. \ No newline at end of file diff --git a/docs/products/storage/object-storage/guides/versioning/versioning-cyberduck-view-hidden.png b/docs/products/storage/object-storage/guides/versioning/versioning-cyberduck-view-hidden.png deleted file mode 100644 index 3f7fffc2d97..00000000000 Binary files a/docs/products/storage/object-storage/guides/versioning/versioning-cyberduck-view-hidden.png and /dev/null differ diff --git a/docs/products/storage/object-storage/resources/index.md b/docs/products/storage/object-storage/resources/index.md deleted file mode 100644 index 02ebf8bf377..00000000000 --- a/docs/products/storage/object-storage/resources/index.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Object Storage" -description: "Resources and other information related to Linode Object Storage including videos, blog posts, community posts, customer stories, eBooks, and press releases." -tab_group_main: - weight: 40 ---- - -## Videos - -- [How to Deploy a Linode S3-Compatible Object Storage Bucket](https://www.linode.com/content/deploying-object-storage-bucket/) - -## Blog Posts - -- [3 Month of Free Object Storage From Linode](https://www.linode.com/blog/cloud-storage/3-months-of-free-object-storage-from-linode/) - -- [Linode Object Storage is Here](https://www.linode.com/blog/cloud-storage/linode-object-storage-is-here/) - -- [Linode turns 16: Triples Dedicated plan storage, halves NodeBalancer cost](https://www.linode.com/blog/linode/linode-turns-16-triples-dedicated-plan-storage-halves-nodebalancer-cost/) - -- [4 Alternative Ways to Collaborate in the Cloud](https://www.linode.com/blog/cloud-computing/4-alternative-ways-to-collaborate-in-the-cloud/) - -- [We’re Hitting the Road for DeveloperWeek 2020!](https://www.linode.com/blog/linode/were-hitting-the-road-for-developerweek-2020/) - -- [2019: A Big Year of Innovation for Linode and a Big Thank You to Our Customers](https://www.linode.com/blog/linode/2019-a-year-in-review/) - -- [Linode Expands Global Infrastructure with Sydney Data Center](https://www.linode.com/blog/linode/linode-expands-global-infrastructure-with-sydney-data-center/) - -- [October Docs Roundup: Rancher, Data Visualization, and More](https://www.linode.com/blog/open-source/october-docs-roundup-rancher-data-visualization-and-more/) - -## Community Posts - -- [Hierarchical Key for Linode Object Storage](https://www.linode.com/community/questions/19284/hierarchical-key-for-linode-object-storage) - -- [Backing up Object Storage and downloading all files in OBJ bucket](https://www.linode.com/community/questions/19781/backing-up-object-storage-and-downloading-all-files-in-obj-bucket) - -- [How can I create user account that has permissions only to the Object Storage?](https://www.linode.com/community/questions/19604/how-can-i-create-user-account-that-has-permissions-only-to-the-object-storage) - -- [How do I integrate Linode Object Storage in PHP](https://www.linode.com/community/questions/19168/how-do-i-integrate-linode-object-storage-in-php) - -- [How can I access objects in my Object Storage bucket via my website/application?](https://www.linode.com/community/questions/19419/how-can-i-access-objects-in-my-object-storage-bucket-via-my-websiteapplication) - -- [Is it appropriate to use Linode object storage for web app back ends?](https://www.linode.com/community/questions/19263/is-it-appropriate-to-use-linode-object-storage-for-web-app-back-ends) - -- [Give an developer or script access to one Object Storage bucket only](https://www.linode.com/community/questions/19285/give-an-developer-or-script-access-to-one-object-storage-bucket-only) - -- [How do I check my bucket’s used space?](https://www.linode.com/community/questions/19561/how-do-i-check-my-buckets-used-space) - -- [s3cmd is not prompting me for an S3 Endpoint. How can I get s3cmd to work with Object Storage?](https://www.linode.com/community/questions/19767/s3cmd-is-not-prompting-me-for-an-s3-endpoint-how-can-i-get-s3cmd-to-work-with-ob) - -- [Does s3cmd or the linode-cli support the ability to save a stream as an object the way the AWS utility’s s3 subcommand does?](https://www.linode.com/community/questions/19706/does-s3cmd-or-the-linode-cli-support-the-ability-to-save-a-stream-as-an-object-t) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=object+storage). - -## Customer Stories - -- [Craft of Code Spotlight Stadia Maps](https://www.linode.com/spotlight/stadia-maps/) - -- [Craft of Code Spotlight Retargetly](https://www.linode.com/spotlight/retargetly/) - -- [Craft of Code Spotlight Austin Balarin](https://www.linode.com/spotlight/austin-balarin/) - -## eBooks - -- [S3-Compatible Object Storage Use Cases](https://www.linode.com/content/s3-compatible-object-storage-ebook/) - -## Press Releases - -- [Linode Launches Free S3-Compatible Cloud Storage](https://www.linode.com/press-release/linode-launches-free-s3-compatible-cloud-storage/) - -## External Resources - -- [Ceph S3 API](https://docs.ceph.com/docs/mimic/radosgw/s3/serviceops/) - -- [Ceph Bucket Policy Supported Actions](https://docs.ceph.com/docs/master/radosgw/bucketpolicy/#limitations) - -- [s3cmd Usage and Command Reference](https://s3tools.org/usage) - -- [s3cmd Sync How-To](https://s3tools.org/s3cmd-sync) diff --git a/docs/products/tools/_index.md b/docs/products/tools/_index.md deleted file mode 100644 index 9b652476fc0..00000000000 --- a/docs/products/tools/_index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Tools -title_meta: Tools and Additional Products on the Linode Platform -description: "Linode offers robust developer tools to make it easy to manage your infrastructure." ---- diff --git a/docs/products/tools/api/_index.md b/docs/products/tools/api/_index.md deleted file mode 100644 index 837d7c776e0..00000000000 --- a/docs/products/tools/api/_index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Linode API -title_meta: "Linode API Product Documentation" -description: "The Linode API lets you build the apps you want and programmatically manage your account. It offers secure authentication and third-party integrations and plugins." -published: 2020-09-11 -modified: 2022-12-06 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "Programmatic access to the Linode platform, allowing you to automate tasks through a fully-documented REST API." -aliases: ['/products/tools/linode-api/','/platform/api/','/guides/platform/api/'] ---- - -{{< note >}} -To view the official documentation on each Linode API endpoint, see the [API developer documentation](https://techdocs.akamai.com/linode-api/reference/api). -{{< /note >}} - -## Features - -### Build the Apps You Want - -Create your own dev tools with the Linode API. Build scripts and applications to automatically handle repeatable tasks. The Linode API provides access to every part of the Linode platform. Deploy Kubernetes clusters, attach Block Storage volumes, configure NodeBalancers, manage users, and more. All response data is returned in JSON for easy parsing and filtering. - -### Third-party Integrations and Plugins - -A range of third-party integrations consume the Linode API. Describe your infrastructure as code with Linode’s Terraform provider or manage your Linode Kubernetes clusters with Rancher. - -### Programmatically Manage Your Account - -Automate account management. View everything from invoices to billing with the Linode API endpoints. - -### Secure Authentication - -Never worry about unauthorized modifications to your account. Access tokens are required for every request to the API and OAuth is available for applications with multiple users. - -## Pricing and Availability - -Access to the Linode API is available at no charge across [all regions](https://www.linode.com/global-infrastructure/). - -## Technical Specifications - -- RESTful API -- Responses formatted using JSON -- Authorization is provided through user-level Personal Access Tokens. These tokens can expire and provide customizable access/permissions to an account. -- HTTPS-only to ensure connections are secure and private - -## Limits and Considerations - -- Rate limiting may vary by endpoint. See [Linode APIv4 Rate Limits](https://techdocs.akamai.com/linode-api/reference/api#linode-apiv4-rate-limits) \ No newline at end of file diff --git a/docs/products/tools/api/developers/index.md b/docs/products/tools/api/developers/index.md deleted file mode 100644 index e56bc507f7a..00000000000 --- a/docs/products/tools/api/developers/index.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for the Linode API" -description: "Linode provides a wide array of developer tools including Rancher and Terraform integrations and JavaScript and Python libraries." -published: 2020-09-11 -tab_group_main: - weight: 50 -aliases: ['/products/tools/linode-api/developers/'] ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. - -## Linode Developed/Supported Tools - -- [Terraform](https://terraform.io/docs/providers/linode/): Linode's official Terraform Provider. Terraform is an Infrastructure-as-code tool that includes management features for various types of Linode resources. - -- [Rancher](/docs/guides/how-to-deploy-apps-with-rancher-1/): Rancher's UI centralizes Kubernetes management concerns when dealing with multiple clusters across multiple clouds. - -- [Pulumi](https://github.com/pulumi/pulumi-linode): Pulumi lets you use the full feature set of a general purpose programming language, like Python, JavaScript, and GO to manage Linode resources. - -- [Packer Builder](https://github.com/linode/packer-builder-linode): The Packer Builder plugin for Linode Images makes it easy to create private Linode Images. Linode Images can be used in subsequent deployments in any Linode region. - -- [Block Storage CSI Driver](https://github.com/linode/linode-blockstorage-csi-driver): Container Storage Interface driver for Linode Block Storage integration with Kubernetes and other container orchestrators. - -- [Terraform-linode-k8s](https://github.com/linode/terraform-linode-k8s): Terraform Kubernetes installer for Linode. Creates a Kubernetes Cluster on Linode Cloud infrastructure using the ContainerLinux operating system. The cluster is designed to take advantage of the Linode regional private network, and is equipped with Linode cluster enhancements including the CCM, CSI, and ExternalDNS. - -- [Linode Cloud Controller Manager](https://github.com/linode/linode-cloud-controller-manager): Kubernetes Addon featuring automatic provisioning of Linode's NodeBalancers to enable load balancing services and includes Linode status reporting to allow resources to be rescheduled when Linodes are powered down or removed. - -- [Linode Docker Machine Driver](https://github.com/linode/docker-machine-driver-linode): The Linode Docker Machine Driver provisions Linode instances to run Docker Engine. - -- [Docker Volume Driver for Block Storage](https://github.com/linode/docker-volume-linode): The Docker Volume Driver for Linode Block Storage makes it possible to use Docker commands to provision, attach, and detach volumes to containers. Volumes can be destroyed automatically when not in use. - -## Community Developed Tools - -- [Ansible linode_v4 module](https://docs.ansible.com/ansible/latest/modules/linode_v4_module.html): Ansible includes a "linode_v4" module for automating Linode instance provisioning by [Luke Murphy](https://github.com/lwm). - -- [Kubernetes External-DNS](https://github.com/kubernetes-incubator/external-dns/blob/master/docs/tutorials/linode.md): External-DNS is a Kubernetes Incubator project that assigns DNS names to Service and Ingress resources in Kubernetes Clusters. Linode DNS Manager is a supported back end. - -- [terraform-provider-acme](https://www.terraform.io/docs/providers/acme/dns_providers/linode.html): The Automated Certificate Management Environment (ACME) provider for Terraform can be used to configure Let's Encrypt, Boulder, and other ACME CAs using Linode's DNS Manager. - -- [traefik](https://docs.traefik.io/v1.4/configuration/acme/): Traefik is a HTTP reverse proxy and load balancer for Container Orchestrators (Kubernetes, Docker Swarm, and others) that features automatic TLS configuration using Linode DNS Manager for ACME challenge requests. - -- [vagrant-linode](https://github.com/displague/vagrant-linode): Vagrant-linode is a provider plugin for Vagrant that supports the management of Linode instances by [Marques Johansson](https://github.com/displague). - -- [Pharmer](https://github.com/pharmer/pharmer): Kubernetes Cluster Manager for kubeadm (Technical Preview). - -- [kube-linode](https://github.com/kahkhang/kube-linode): Provision a Kubernetes/CoreOS cluster on Linode by [Andrew Low](https://github.com/kahkhang/). - -## Linode Developed/Supported Libraries - -- [Linode JavaScript SDK](https://github.com/linode/manager/tree/develop/packages/api-v4): JavaScript client for the [Linode APIv4](https://techdocs.akamai.com/linode-api/reference/api). - -- [linode_api4-python](https://github.com/linode/linode_api4-python): The official python library for the Linode APIv4 in python. - -- [linodego](https://github.com/linode/linodego): Official Go client for Linode APIv4. - -## Community Developed Libraries - -- [lego](https://go-acme.github.io/lego/dns/linode/): Let's Encrypt client and ACME library written in Go featuring support for the Linode DNS Provider. - -- [linode-api](https://github.com/tzurbaev/linode-api): Unofficial Linode APIv4 PHP wrapper by [tzurbaev](https://github.com/tzurbaev/linode-api). - -- [linode-api-node](https://github.com/RobinJ1995/linode-api-node): Unofficial Linode APIv4 Node.js wrapper by [RobinJ1995](https://github.com/RobinJ1995). - -- [linode-api-v4](https://github.com/idimensionz/linode-api-v4): Unofficial Linode APIv4 PHP wrapper by [iDimensionz](https://github.com/idimensionz/linode-api-v4). - -- [php-linode-api](https://github.com/hnhdigital-os/php-linode-api): Unofficial Linode APIv4 PHP wrapper by [H&H|Digital](https://github.com/hnhdigital-os). - -- [php-linode-unofficial](https://github.com/illblew/php-linode-unofficial): Unofficial Linode APIv4 PHP wrapper by [Will Blew](https://github.com/illblew). - -- [LinodeKit](https://github.com/bporter95/LinodeKit): Unofficial Linode APIv4 Swift wrapper by [Ben Porter](https://github.com/bporter95). \ No newline at end of file diff --git a/docs/products/tools/api/feature.png b/docs/products/tools/api/feature.png deleted file mode 100644 index 305e83e249a..00000000000 Binary files a/docs/products/tools/api/feature.png and /dev/null differ diff --git a/docs/products/tools/api/feature.svg b/docs/products/tools/api/feature.svg deleted file mode 100644 index 782d0adcc2a..00000000000 --- a/docs/products/tools/api/feature.svg +++ /dev/null @@ -1,9 +0,0 @@ - - Linode API - - - - - - - \ No newline at end of file diff --git a/docs/products/tools/api/get-started/index.md b/docs/products/tools/api/get-started/index.md deleted file mode 100644 index e15bc45aa6f..00000000000 --- a/docs/products/tools/api/get-started/index.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with the Linode API" -description: "Get started with the Linode API. Learn to get an access token, create an API token, authenticate requests, get configuration parameters, and build the final query." -published: 2020-09-11 -modified: 2022-12-06 -tab_group_main: - weight: 20 -aliases: ['/products/tools/linode-api/get-started/','/platform/api/getting-started-with-the-linode-api-classic-manager/','/platform/api/getting-started-with-the-linode-api-new-manager/','/platform/api/getting-started-with-the-linode-api/','/guides/getting-started-with-the-linode-api/','/products/tools/linode-api/guides/build-final-query/','/products/tools/linode-api/guides/get-config-parameters/'] -tags: ["managed hosting"] ---- - -The Linode API lets you automate any task that can be performed by Cloud Manager. This includes creating and managing all of our products (like Compute Instances and Firewalls), your customer account (like adding new users or viewing invoices), and even creating support tickets. As an example of an API call, the command below deploys a new 2GB Compute Instance in the Newark data center using the Debian 11 image. - -```command -curl -X POST https://api.linode.com/v4/linode/instances \ - -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ - -d '{"type": "g6-standard-2", "region": "us-east", "image": "linode/debian11", "root_pass": "[password]", "label": "[label]"}' -``` - -This guide helps you get set up to run this example. Note that if you run this command, you create and are charged for a 2GB Compute Instance. See [Linode Pricing](https://www.linode.com/pricing/) for details on these charges. - -{{< note >}} -Within the Linode API documentation, including this guide, the json_pp utility is used with the curl command to process JSON data into a more human-readable format. An example is shown below: - -```command -curl [options] | json_pp -``` - -Using json_pp is optional. You can remove `| json_pp` from the command and the output is instead displayed without proper indentation. Other alternatives exist, such as the [jsonpp](https://github.com/jmhodges/jsonpp) utility, or you can save the output as a file and open the file with a JSON-compatible file viewer. To install either of these utilities, see the [json_pp](https://github.com/deftek/json_pp) or [jsonpp](https://github.com/jmhodges/jsonpp) documentation. -{{< /note >}} - -## Get an Access Token - -Authorization for the Linode API is handled through personal access tokens. Personal access tokens grant permissions to read or write to an API endpoint. All API requests to non-public resources must be authenticated with an access token. - -{{< note >}} -If you are building an application which needs to authenticate multiple users (for example, a custom interface to Linode's infrastructure for your organization), you can set up an [OAuth authentication flow](/docs/api/#oauth) to generate tokens for each user. -{{< /note >}} - -For full instructions on creating and managing personal access tokens, see [Manage Personal Access Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/#create-an-api-token). - -1. Log in to Cloud Manager. - -1. Click on your username at the top of the screen and select **My Profile**. - -1. Select the **API Tokens** tab: - -1. Click on **Create Personal Access Token** and choose the access rights you want users authenticated with the new token to have. - -1. When you have finished, click **Create** to generate an API token string. Copy the token and save it in a secure location. **You will not be able to view the token through Cloud Manager after closing the popup.** - -## Authenticate Requests - -Once you have created a personal access token, it needs to be sent along in the header of most API requests. The header should use the format: - -```command -Authorization: Bearer -``` - -Store the token as a temporary shell variable to simplify repeated requests. Replace `` in this example: - -```command -export TOKEN= -``` - -## Get Configuration Parameters - -Specify the type, region, and image for the new Compute Instance. - -1. Review the list of available images: - - ```command - curl https://api.linode.com/v4/images/ | json_pp - ``` - - Choose one of the images from the resulting list and make a note of the `id` field. - -1. Repeat this procedure to choose a type: - - ```command - curl https://api.linode.com/v4/linode/types/ | json_pp - ``` - -1. Choose a region: - - ```command - curl https://api.linode.com/v4/regions | json_pp - ``` - -## Build the Final Query - -Replace the values in the command below with your chosen type, region, image, label, and a secure root password. - -```command -curl -X POST https://api.linode.com/v4/linode/instances \ - -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ - -d '{"type": "g5-standard-2", "region": "us-east", "image": "linode/debian9", "root_pass": "root_password", "label": "prod-1"}' -``` - -See [Send an API Request with cURL](/docs/products/tools/api/guides/curl/) for additional instructions on making API calls through the cURL command. \ No newline at end of file diff --git a/docs/products/tools/api/guides/_index.md b/docs/products/tools/api/guides/_index.md deleted file mode 100644 index 80afea27151..00000000000 --- a/docs/products/tools/api/guides/_index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for the Linode API" -description: "Learn the essential pieces to use the Linode API v4 and find guides on more advanced topics, like creating an OAuth app with the Linode Python API library." -published: 2020-09-11 -modified: 2022-11-30 -tab_group_main: - weight: 30 -aliases: ['/products/tools/linode-api/guides/'] ---- - -## Basics - -- [Manage API Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/): View and manage personal access tokens - -- [Send an API Request with cURL](/docs/products/tools/api/guides/curl/): Learn how to use cURL to quickly send an API call - -- [API developer documentation](https://techdocs.akamai.com/linode-api/reference/api): The official documentation for each API endpoint, as well as essential information on using the Linode API. - -## Using the Linode API with Linode's Products - -- [Getting Started with the Linode API](/docs/products/tools/api/get-started/) - -- [Configure NodeBalancers with the Linode API](/docs/products/networking/nodebalancers/guides/manage-nodebalancers-with-linode-api/) - -- [Manage Block Storage Volumes with the Linode API](/docs/products/storage/block-storage/guides/manage-block-storage-with-linode-api/) - -## API Client Libraries - -- [Go](https://github.com/linode/linodego) -- [Python](https://github.com/linode/linode_api4-python) -- [JavaScript](https://github.com/linode/manager/tree/develop/packages/api-v4) - -## Going Further - -- [How to Create an OAuth App with the Linode Python API Library](/docs/guides/create-an-oauth-app-with-the-python-api-library/) \ No newline at end of file diff --git a/docs/products/tools/api/guides/curl/index.md b/docs/products/tools/api/guides/curl/index.md deleted file mode 100644 index 6d926ef63fe..00000000000 --- a/docs/products/tools/api/guides/curl/index.md +++ /dev/null @@ -1,176 +0,0 @@ ---- -title: Send an API Request with cURL -description: "Learn how to use cURL to send requests to endpoints on the Linode API." -aliases: ['/products/tools/linode-api/guides/authenticate-requests/'] ---- - -One of the quickest ways to send an API request in the command line is to use the [cURL](https://en.wikipedia.org/wiki/CURL) command, which can be used on most systems. This guide shows you how to build a request using cURL. - -## Authentication - -The Linode API employs user-level Personal Access Tokens for authentication. This token is passed along in the header of an API request. The header should use the format: - -```command -Authorization: Bearer -``` - -Instead of entering your personal access token each time you send a cURL request, you store the token as a temporary shell variable. In the command below, replace `` with your own token: - -```command -export TOKEN= -``` - -{{< note >}} -Not all endpoints require authentication. Public endpoints include the [region](/docs/api/regions/), distribution [images](https://techdocs.akamai.com/linode-api/reference/api-summary), instance [types](/docs/api/linode-types/), and other endpoints. -{{< /note >}} - -## Build the API Request - -Replace the values in the command below with your chosen type, region, and image, and choose a label and secure password. - -```command -curl -X POST https://api.linode.com/v4/linode/instances \ - -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ - -d '{"type": "g6-standard-2", "region": "us-east", "image": "linode/debian11", "root_pass": "[password]", "label": "[label]"}' -``` - -## Pagination - -If a results list contains more than 100 items, the response is split into multiple pages. Each response includes the total number of pages and the current page. For example, querying the available kernels produces more than 300 results: - -```command -curl https://api.linode.com/v4/linode/kernels | json_pp -``` - -```file {hl_lines="24,25" lang="json"} -... - { - "architecture" : "i386", - "built" : "2016-10-07T22:21:55", - "deprecated" : true, - "id" : "linode/4.8.1-x86-linode94", - "kvm" : true, - "label" : "4.8.1-x86-linode94", - "pvops" : true, - "version" : "4.8.1" - }, - { - "architecture" : "i386", - "built" : "2016-09-15T13:13:40", - "deprecated" : true, - "id" : "linode/4.7.3-x86-linode92", - "kvm" : true, - "label" : "4.7.3-x86-linode92", - "pvops" : true, - "version" : "4.7.3" - } - ], - "page" : 1, - "pages" : 4, - "results" : 312 -} -``` - -The `pages` field indicates that the results are divided into three pages. To view additional pages, add a `page` parameter to the end of the URL. View the second page: - -```command -curl https://api.linode.com/v4/linode/kernels | json_pp page=2 -``` - -If you prefer a smaller number of items per page, you can override the default value with the `page_size` parameter: - -```command -curl https://api.linode.com/v4/linode/kernels | json_pp page_size=50 -``` - -## Filter Results - -The API also supports filtering lists of results. Filters are passed using the `X-Filter` header and use JSON format. You can filter on almost any field that appears in a response object and the [API documentation](https://techdocs.akamai.com/linode-api/reference/api) specifies which fields are filterable. - -The following query uses the `deprecated` and `vendor` fields to return all current Debian images: - -```command -curl https://api.linode.com/v4/images/ -H 'X-Filter: { "vendor": "Debian", "deprecated": false}' | json_pp -``` - -```file {lang="json"} -{ - "data" : [ - { - "created" : "2019-07-07T12:24:54", - "created_by" : "linode", - "deprecated" : false, - "description" : "", - "eol" : "2024-07-01T04:00:00", - "expiry" : null, - "id" : "linode/debian10", - "is_public" : true, - "label" : "Debian 10", - "size" : 1500, - "status" : "available", - "type" : "manual", - "updated" : "2022-09-12T14:08:55", - "vendor" : "Debian" - }, - { - "created" : "2021-08-14T22:44:02", - "created_by" : "linode", - "deprecated" : false, - "description" : "", - "eol" : "2026-07-01T04:00:00", - "expiry" : null, - "id" : "linode/debian11", - "is_public" : true, - "label" : "Debian 11", - "size" : 1300, - "status" : "available", - "type" : "manual", - "updated" : "2022-09-12T14:09:17", - "vendor" : "Debian" - }, - { - "created" : "2022-04-26T19:17:51", - "created_by" : "linode", - "deprecated" : false, - "description" : "", - "eol" : "2026-07-01T04:00:00", - "expiry" : null, - "id" : "linode/debian11-kube-v1.23.6", - "is_public" : true, - "label" : "Kubernetes 1.23.13 on Debian 11", - "size" : 3500, - "status" : "available", - "type" : "manual", - "updated" : "2022-11-17T14:15:50", - "vendor" : "Debian" - }, - { - "created" : "2022-11-17T14:17:22", - "created_by" : "linode", - "deprecated" : false, - "description" : "", - "eol" : "2026-07-01T04:00:00", - "expiry" : null, - "id" : "linode/debian11-kube-v1.24.8", - "is_public" : true, - "label" : "Kubernetes 1.24.8 on Debian 11", - "size" : 3500, - "status" : "available", - "type" : "manual", - "updated" : "2022-11-17T14:17:36", - "vendor" : "Debian" - } - ], - "page" : 1, - "pages" : 1, - "results" : 4 -} -``` - -More complex searches are possible through the use of logical operators. Use `or` to return a list of all Debian and Ubuntu images: - -```command -curl https://api.linode.com/v4/images/ -H 'X-Filter: {"+or": [{"vendor":"Debian"}, {"vendor":"Ubuntu"}]}' | json_pp -``` - -See the [Linode API documentation](https://techdocs.akamai.com/linode-api/reference/api#filtering-and-sorting) for a full list of supported operators. \ No newline at end of file diff --git a/docs/products/tools/api/release-notes/_index.md b/docs/products/tools/api/release-notes/_index.md deleted file mode 100644 index 380af7ffca3..00000000000 --- a/docs/products/tools/api/release-notes/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Release Notes -title_meta: "Release Notes for the Linode API" -description: "Learn more about what's new and changing on the Linode API by reviewing the changelog entries." -published: 2022-11-07 -promo_default: false -tab_group_main: - weight: 100 -aliases: ['/products/tools/linode-api/release-notes/'] ---- - -{{< releasenotes/list path="api">}} diff --git a/docs/products/tools/api/resources/index.md b/docs/products/tools/api/resources/index.md deleted file mode 100644 index 09f6c8f8986..00000000000 --- a/docs/products/tools/api/resources/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Resources -title_meta: "Resources for the Linode API" -description: "Resources and other information related to the Linode API including videos, blog posts, community posts, customer stories, and press releases." -published: 2020-09-11 -tab_group_main: - weight: 40 -aliases: ['/products/tools/linode-api/resources/'] ---- - -## Videos - -- [About Linode](https://www.linode.com/content/about-linode-video/) - -## Blog Posts - -- [Linode API: Multiple Keys and Two-Factor Support](https://www.linode.com/blog/linode/linode-api-multiple-keys-and-two-factor/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -- [Linode Kubernetes Engine (LKE) General Availability](https://www.linode.com/blog/kubernetes/linode-kubernetes-engine-general-availability/) - -- [Notice: Linode Classic Manager Users](https://www.linode.com/blog/linode/notice-legacy-linode-manager-users/) - -- [October Docs Roundup: Rancher, Data Visualization, and More](https://www.linode.com/blog/open-source/october-docs-roundup-rancher-data-visualization-and-more/) - -- [Linode turns 14!](https://www.linode.com/blog/linode/linode-turns-14/) - -- [High-Memory Instances and $5 Linodes](https://www.linode.com/blog/linode/high-memory-instances-and-5-linodes/) - -- [Linode’s 13th Birthday - Gifts for All!](https://www.linode.com/blog/linode/linodes-13th-birthday-gifts-for-all/) - -- [11th Linode Birthday /$10 Linode pan](https://www.linode.com/blog/linode/11th-linode-birthday-10-linode-plan/) - -- [Self-serve Linode Resizes](https://www.linode.com/blog/linode/self-serve-linode-resizes/) - -## Community Posts - -- [How do I view all of my invoices using the API?](https://www.linode.com/community/questions/19303/how-do-i-view-all-of-my-invoices-using-the-api) - -- [Linode REST API (v4) - Early Access](https://www.linode.com/community/questions/11221/linode-rest-api-v4-early-access) - -- [How can I achieve autoscaling on the Linode platform?](https://www.linode.com/community/questions/19274/how-can-i-achieve-autoscaling-on-the-linode-platform) - -- [How do I deploy a Linode using custom disk configurations?](https://www.linode.com/community/questions/19626/how-do-i-deploy-a-linode-using-custom-disk-configurations) - -- [How can I enable/disable Network Helper using the Linode API](https://www.linode.com/community/questions/20143/how-can-i-enabledisable-network-helper-using-the-linode-api) - -- [How do I use the Linode API to set my Reverse DNS (rDNS)?](https://www.linode.com/community/questions/18889/how-do-i-use-the-linode-api-to-set-my-reverse-dns-rdns) - -- [Can I call Private StackScripts using the API?](https://www.linode.com/community/questions/18287/can-i-call-private-stackscripts-using-the-api) - -- [How do I clone a Linode via API?](https://www.linode.com/community/questions/18074/how-do-i-clone-a-linode-via-api) - -- [How to check the status of a disk resize with the API?](https://www.linode.com/community/questions/20197/how-to-check-the-status-of-a-disk-resize-with-the-api) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=api). - -## Customer Stories - -- [Craft of Code Alpine Linux](https://www.linode.com/spotlight/alpine-linux/) - -## Press Releases - -- [Linode Launches Frankfurt Data Center](https://www.linode.com/press-release/linode-launches-frankfurt-datacenter/) - -- [Linode Celebrates 12th Birthday by Adopting KVM & Boosting Cloud Server Performance by 300%](https://www.linode.com/press-release/linode-celebrates-12th-birthday-by-adopting-kvm-and-boosting-cloud-server-performance-by-300/) - -- [Linode Opens New Data Center in Singapore](https://www.linode.com/press-release/linode-opens-new-datacenter-in-singapore/) diff --git a/docs/products/tools/cli/_index.md b/docs/products/tools/cli/_index.md deleted file mode 100644 index 8d20e483b90..00000000000 --- a/docs/products/tools/cli/_index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Linode CLI -title_meta: "Linode CLI Product Documentation" -description: "The Linode CLI lets you accelerate common tasks with customizable output and easy scripting." -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "Access the entire Linode platform from the command line, easily adding, removing, or modifying services." ---- - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the [Linode API](/docs/products/tools/api/), which gives you the ability to manage your Linode account from the command line. Almost any task that can be done through Cloud Manager can also be performed through the CLI. - -## Features - -### Accelerate Common Tasks - -Running common tasks is trivial with the Linode CLI. Create Linodes and NodeBalancers, and attach block or object storage volumes without leaving your terminal. - -### Customizable Output - -The Linode CLI prints easily readable output by default. You can also specify which fields are returned by the CLI and request JSON responses. - -### Easy Scripting - -Everything you can do with the Linode Cloud Manager can be done through the CLI. The Linode CLI has an easy-to-use interface that makes it perfect for scripting. - -## Availability - -The Linode CLI can be used across [all regions](https://www.linode.com/global-infrastructure/). - -## Pricing - -The Linode CLI is provided for free to all customers. \ No newline at end of file diff --git a/docs/products/tools/cli/feature.png b/docs/products/tools/cli/feature.png deleted file mode 100644 index 6ec65c1735d..00000000000 Binary files a/docs/products/tools/cli/feature.png and /dev/null differ diff --git a/docs/products/tools/cli/feature.svg b/docs/products/tools/cli/feature.svg deleted file mode 100644 index 42eb6f21316..00000000000 --- a/docs/products/tools/cli/feature.svg +++ /dev/null @@ -1,6 +0,0 @@ - - CLI - - - - \ No newline at end of file diff --git a/docs/products/tools/cli/get-started/index.md b/docs/products/tools/cli/get-started/index.md deleted file mode 100644 index 7199edc99b2..00000000000 --- a/docs/products/tools/cli/get-started/index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with the Linode CLI" -description: "Learn how to run basic commands on the Linode CLI and modify the output to fit your needs." -published: 2018-06-29 -modified: 2022-05-02 -keywords: ["linode api", "linode cli", "python cli"] -tab_group_main: - weight: 20 -aliases: ['/platform/api/linode-cli/','/cli/','/platform/linode-cli/','/platform/api/using-the-linode-cli/','/guides/using-the-linode-cli/','/guides/linode-cli/'] ---- - -## Installing the Linode CLI - -See the [Install and Configure the Linode CLI](/docs/products/tools/cli/guides/install/) guide for installation instructions and details on performing the initial configuration. - -## Basic Usage - -To view a list of all Compute Instances on your account, run the following command: - - linode-cli linodes list - -This command generates the following output, based on the information within your own account. - -```output -┌──────────┬────────────────────┬────────────┬───────────────┬───────────────────────┬─────────┬───────────────────┐ -│ id │ label │ region │ type │ image │ status │ ipv4 │ -├──────────┼────────────────────┼────────────┼───────────────┼───────────────────────┼─────────┼───────────────────┤ -│ 00000001 │ example-instance │ us-east │ g6-standard-1 │ linode/ubuntu18.04 │ running │ 192.0.2.42 │ -│ 00001111 │ centos-us-east │ us-east │ g6-nanode-1 │ linode/centos-stream9 │ running │ 192.0.2.108 │ -└──────────┴────────────────────┴────────────┴───────────────┴───────────────────────┴─────────┴───────────────────┘ -``` - -See [Using the Linode CLI](/docs/products/tools/cli/guides/#using-the-linode-cli) for additional usage details and examples. - -## Help - -View information about any part of the CLI, including available actions and required parameters, with the `--help` flag: - - linode-cli --help - linode-cli linodes --help - linode-cli linodes create --help - -## Output - -To make information easy to ready, the Linode CLI outputs responses in a text-based table format. The data is split into rows and columns, with the top row containing the fields. - - linode-cli regions list - -```output -┌──────────────┬─────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┬────────┐ -│ id │ country │ capabilities │ status │ -├──────────────┼─────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┼────────┤ -│ ap-west │ in │ Linodes, NodeBalancers, Block Storage, GPU Linodes, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │ -│ ca-central │ ca │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │ -│ ap-southeast │ au │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │ -│ us-central │ us │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │ -│ us-west │ us │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │ -│ us-southeast │ us │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Vlans, Block Storage Migrations, Managed Databases │ ok │ -│ us-east │ us │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Bare Metal, Block Storage Migrations, Managed Databases │ ok │ -│ eu-west │ uk │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │ -│ ap-south │ sg │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │ -│ eu-central │ de │ Linodes, NodeBalancers, Block Storage, Object Storage, GPU Linodes, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │ -│ ap-northeast │ jp │ Linodes, NodeBalancers, Block Storage, Kubernetes, Cloud Firewall, Block Storage Migrations, Managed Databases │ ok │ -└──────────────┴─────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┴────────┘ -``` - -### Fields - -By default, most Linode CLI responses do not contain all the available fields. To keep the information digestible, the Linode CLI outputs a smaller subset of all of available fields. This behavior can be adjusted using the commands below. - -- **Limited** (default behavior): Outputs a limited subset of the available fields. -- **All fields** (`--all`): Output all available fields. -- **Specific fields** (`--format 'field1,field2'`): Outputs only the fields specified within the given comma separated list. - -### Output Format - -The Linode CLI can output data in a variety of formats, as disclosed below: - -- **Tabular** (default): Data is split into rows and columns, with the top row containing the fields. -- **JSON** (`--json` or `--json --pretty`): Data is structured using JavaScript Object Notation (JSON), typically used for importing into applications that require JSON. The `--pretty` tag is optional and makes the output more human readable. -- **Plain text** (`--text` or `--text --delimiter ","`): Data is outputted as plain text. By default, it uses a *tab* character as the delimiter, though this can be adjusted by specifying a custom character using the `--delimited ","` option. \ No newline at end of file diff --git a/docs/products/tools/cli/guides/_index.md b/docs/products/tools/cli/guides/_index.md deleted file mode 100644 index a058d3bce28..00000000000 --- a/docs/products/tools/cli/guides/_index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for the Linode CLI" -description: "A collection of guides to help you learn how to manage various Linode services using the Linode CLI." -modified: 2022-12-06 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Get Started with the Linode CLI](/docs/products/tools/cli/get-started/): Learn the basics of using the Linode CLI, including running a command and understanding the output. - -- [Install and Configure the Linode CLI](/docs/products/tools/cli/guides/install/): Instructions on installing and configuring the Linode CLI on your system. - -- [Manage Multiple Users and Accounts with the Linode CLI](/docs/products/tools/cli/guides/manage-multiple-accounts/): Execute commands from different users or accounts. - - -## Using the Linode CLI - -These introductory guides to the Linode CLI show you how to use the CLI with Linode's most popular platforms and services. - -- [Account](/docs/products/tools/cli/guides/account/): View or update your account information, add payment methods, view notifications, make payments, create OAuth clients, and do other related tasks. - -- [Domains](/docs/products/tools/cli/guides/domains/): View the list of domains on your Linode account, create and delete domains, and create records for a domain. - -- [Events](/docs/products/tools/cli/guides/events/): View the list of events on your Linode account and mark events as read. - -- [Linode Instances](/docs/products/tools/cli/guides/linode-instances/): Create a Linode, shut it down, reboot it, add a private IP address to it, view the list of available IP address for it, or create a new disk for it. - -- [Linode Kubernetes Engine (LKE)](/docs/products/tools/cli/guides/linode-kubernetes-engine/): Create, update, and delete a cluster, and view the configuration file of a cluster. Or, create, update, and delete a cluster's node pool. - -- [NodeBalancers](/docs/products/tools/cli/guides/nodebalancers/): Create and configure a NodeBalancer, and attach a node to a NodeBalancer or delete a node from it. - -- [Object Storage](/docs/products/tools/cli/guides/object-storage/): View Linode's available Object Storage clusters, manage your Object Storage keys, or cancel the Object Storage service on your account. - -- [Block Storage Volumes](/docs/products/tools/cli/guides/block-storage-volumes/): View, create, attach/detach, resize, and delete a Volume. - -- [Support Tickets](/docs/products/tools/cli/guides/support-tickets/): View, open, or reply to a support ticket. - -## Upgrade - -- [Upgrade from Python 2 to Python 3](/docs/products/tools/cli/guides/upgrade-to-python-3/) - -## Older CLI Versions - -- [Uninstall Linode CLI v3](/docs/products/tools/cli/guides/v3-uninstall/) - -- [How to Use Linode CLI v3](/docs/products/tools/cli/guides/cli-v3/) \ No newline at end of file diff --git a/docs/products/tools/cli/guides/account/index.md b/docs/products/tools/cli/guides/account/index.md deleted file mode 100644 index 3519ed7160e..00000000000 --- a/docs/products/tools/cli/guides/account/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Linode CLI Commands for Account Management" -description: "How to use the Linode CLI for Account management tasks." -published: 2020-07-22 -modified: 2022-05-02 ---- - -View or update your account information, add payment methods, view notifications, make payments, create OAuth clients, and do other related tasks through the `account` action: - -1. View your account: - - linode-cli account view - -1. View your account settings: - - linode-cli account settings - -1. Make a payment: - - linode-cli account payment-create --cvv 123 --usd 20.00 - -1. View notifications: - - linode-cli account notifications-list diff --git a/docs/products/tools/cli/guides/block-storage-volumes/index.md b/docs/products/tools/cli/guides/block-storage-volumes/index.md deleted file mode 100644 index 088f48b9e82..00000000000 --- a/docs/products/tools/cli/guides/block-storage-volumes/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Block Storage Volumes -description: "How to use the Linode CLI for to manage the Block Storage service." -published: 2020-07-20 -modified: 2022-05-02 ---- - -1. List your current Volumes: - - linode-cli volumes list - -1. Create a new Volume, with the size specified in GB: - - linode-cli volumes create --label my-volume --size 100 --region us-east - - Specify a `linode_id` to create the Volume and automatically attach it to a specific Linode: - - linode-cli volumes create --label my-volume --size 100 --linode_id $linode_id - -1. Attach or detach the Volume from a Linode: - - linode-cli volumes attach $volume_id --linode_id $linode_id - linode-cli volumes detach $volume_id - -1. Resize a Volume (size can only be increased): - - linode-cli volumes resize $volume_id --size 200 - -1. Delete a Volume: - - linode-cli volumes delete $volume_id diff --git a/docs/products/tools/cli/guides/cli-v3/index.md b/docs/products/tools/cli/guides/cli-v3/index.md deleted file mode 100644 index 01b5315f131..00000000000 --- a/docs/products/tools/cli/guides/cli-v3/index.md +++ /dev/null @@ -1,543 +0,0 @@ ---- -title: Linode CLI (API v3 - Deprecated) -description: 'This guide will show you how to use the Linode Command Line Interface v3 to reboot your Linode, update your MX record, manage Nodebalancers, and more.' -published: 2014-01-27 -modified: 2022-11-30 -image: linode-cli.png -external_resources: - - '[Github Linode CLI](https://github.com/linode/cli)' - - '[Linode API Key](/docs/products/platform/accounts/guides/manage-api-tokens/)' -keywords: ["linode cli", " command line interface", " man pages", " api key"] -tags: ["linode platform"] -aliases: ['/platform/api/using-the-linode-cli-api-v3/','/guides/using-the-linode-cli-api-v3/'] -deprecated: true -deprecated_link: 'platform/api/linode-cli/' ---- - -The Linode Command Line Interface (**CLI**) is an [open-source](https://github.com/linode/cli) command line tool for managing your Linode services. You can reboot your Linode, update an MX record for your domain, manage your NodeBalancers, create a StackScript and more from the command line on any computer, without logging in to the [Linode Manager](https://manager.linode.com/) graphical user interface. - -Your Linode [API key](/docs/products/platform/accounts/guides/manage-api-tokens/) is required for the CLI to function. - -## Install the CLI - -You can install the Linode CLI on any Mac OS X or Linux computer. You can install it on a Linode if you want to, but the typical use case for the CLI is to run it from your home or office workstation. You can use it to manage your Linode account quickly, without the use of a GUI. - -### Mac OS X - -1. Install [Homebrew](http://brew.sh) - - ```command - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - ``` - -1. Update Homebrew: - - ```command - brew update - ``` - -1. Install the Linode CLI: - - ```command - brew tap linode/cli - brew install linode-cli - ``` - -### Debian and Ubuntu - -1. Add the Linode repository to your list: - - ```command - sudo bash -c 'echo "deb http://apt.linode.com/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/linode.list' - ``` - -1. Get the Linode GPG key: - - ```command - wget -O- https://apt.linode.com/linode.gpg | sudo apt-key add - - ``` - -1. Update your system: - - ```command - sudo apt-get update - ``` - -1. Install the Linode CLI package: - - ```command - sudo apt-get install linode-cli - ``` - -### Fedora - -Install the linode-cli included in Fedora's standard package database: - -```command -dnf install linode-cli -``` - -### Manual Installation for Linux (All Distros) - -In this section, you will learn how to install the Linode CLI manually on any Linux system. Use a package manager, CPAN, [cpanminus](https://github.com/miyagawa/cpanminus), or your preferred method to install the following Perl modules: - -- Crypt::SSLeay -- JSON -- LWP::Protocol::https -- LWP::UserAgent -- Mozilla::CA -- Try::Tiny -- WebService::Linode - -1. Download the Linode CLI tarball: - - ```command - curl -Lo linode-cli.tar.gz https://github.com/linode/cli/archive/master.tar.gz - ``` - -1. Extract the files: - - ```command - tar xf linode-cli.tar.gz - ``` - -1. Install the CLI: - - ```command - cd cli-master && perl Makefile.PL && sudo make install - ``` - -## Setup - -If you installed the Linode CLI in a standard location, it should already be added to your PATH variable. That way, you will be able to invoke the CLI with the `linode` command. Otherwise, you will need to manually add the `linode-cli` folder location to your PATH, or call the program directly with the command `/path/to/linode-cli/linode`. - -To start with, most users will want to run the configuration utility: - -1. Start the configuration utility: - - ```command - linode configure - ``` - - Output: - - ```output - This will walk you through setting default values for common options. - ``` - -2. Fill in your information at the prompts. You can skip optional questions by pressing `Return`. Here's some example output with the answers filled in. - - ```output - $ linode configure - This will walk you through setting default values for common options. - - Linode Manager user name - >> user1 - - Linode Manager password for user1 - >> - - - Default distribution when deploying a new Linode or rebuilding an existing one. (Optional) - Valid options are: - 1 - Arch 2017.01.01 - 2 - CentOS 5.6 - 3 - CentOS 6.5 - 4 - CentOS 7 - 5 - Debian 7 - 6 - Debian 8 - 7 - Fedora 24 - 8 - Fedora 25 - 9 - Gentoo 2017-01-05 - 10 - Slackware 13.37 - 11 - Slackware 13.37 32bit - 12 - Slackware 14.1 - 13 - Slackware 14.2 - 14 - Ubuntu 12.04 LTS - 15 - Ubuntu 14.04 LTS - 16 - Ubuntu 16.04 LTS - 17 - Ubuntu 16.10 - 18 - openSUSE Leap 42.1 - 19 - openSUSE Leap 42.2 - Choose[ 1-19 ] or Enter to skip>> - - Default data center when deploying a new Linode. (Optional) - Valid options are: - 1 - atlanta - 2 - dallas - 3 - frankfurt - 4 - fremont - 5 - london - 6 - newark - 7 - shinagawa1 - 8 - singapore - 9 - tokyo - Choose[ 1-9 ] or Enter to skip>> - - Default plan when deploying a new Linode. (Optional) - Valid options are: - 1 - Linode 1024 - 2 - Linode 2048 - 3 - Linode 4096 - 4 - Linode 8192 - 5 - Linode 12288 - 6 - Linode 16384 - 7 - Linode 24576 - 8 - Linode 32768 - 9 - Linode 49152 - 10 - Linode 61440 - 11 - Linode 65536 - 12 - Linode 81920 - 13 - Linode 102400 - 14 - Linode 204800 - Choose[ 1-14 ] or Enter to skip>> - - Path to an SSH public key to install when deploying a new Linode. (Optional) - >> /home/user1/.ssh/id_rsa.pub - - Config written to /Users/user1/.linodecli/config - ``` - -Once the CLI has your Linode Manager username and password, it will generate and use a new API key automatically. - -{{< note >}} -If you have [two-factor authentication](/docs/products/platform/accounts/guides/user-security-controls/#2fa-two-factor-authentication) enabled, you will receive a prompt for the code after entering your password: - -Two-factor authentication code -> 123456 - -Enter your code at the prompt, then continue with the configuration tool as described above. Once the Linode CLI has access to your API key, you will no longer have to enter the code. -{{< /note >}} - -You can run the `linode configure` command again if your settings change. New answers will overwrite the old ones in the `/Users/user1/.linodecli/config` file in your user's home directory. - -{{< note >}} -If you don't run the configuration tool, you can add these options manually in the `.linodecli/config` file. -{{< /note >}} - -### API Key - -The Linode CLI requires your API key to function. If you need to generate an API key manually, read the [API Key](/docs/products/platform/accounts/guides/manage-api-tokens/) article. There are three ways to provide the key to the CLI. The configuration tool generates a new key and adds it to the `.linodecli/config` file automatically. - -- In the `.linodecli/config` file: - - ```file {title=".linodecli/config"} - api-key SampleKey123456... - ``` - -- As an environment variable: - - ```command - LINODE_API_KEY=SampleKey123456... - ``` - -- Passed directly in the command: - - ```command - linode --api-key SampleKey123456... - ``` - -If you add your API key in the `.linodecli/config` file, or if you set it as an environment variable, the Linode CLI will have persistent access to your account. If you don't save or set the API key beforehand, you will have to enter it in the command whenever you use the CLI. The `--api-key` option should come at the end of the command. For example, your command would look like: - -```command -linode options --api-key SampleKey123456... -``` - -### Multiple Users - -The default Linode CLI user is stored in the `.linodecli/config` file. - -To set up the API for additional Linode users, you can run the `linode configure` command again, supplying a different username. Configuration files for additional users are stored with the filename pattern `.linodecli/config_user1`, with **user1** being replaced by the actual username. - -To invoke the CLI with a particular username, use the `-u user1` option, with **user1** being your actual username, at the end of the command. - -## Using the CLI - -Invoke the CLI by prefacing your commands with `linode`. Make sure the `linode-cli` folder has been appended to your PATH variable (see the previous [Setup](#setup) section). In general, commands are in the format: - -```command -linode [object] [action] [action-options...] [options...] -``` - -If no object is given, the **linode** object is assumed. Available objects include: - -- `linode` -- `domain` -- `nodebalancer` -- `stackscript` -- `account` - -To specify a particular Linode user, add the `-u user1` option, with **user1** being your actual username, at the end of the command. If no user is specified, the default user described in the `.linodecli/config` file will be used. - -The Linode CLI has many options available. In the rest of this article, we'll go over some common examples relating to Linodes, domains, NodeBalancers, StackScripts, and account details. To see all of the available options, view the man pages: - -```command -man linode -man linode-linode -man linode-domain -man linode-nodebalancer -man linode-stackscript -man linode-account -``` - -Press `q` to exit the man pages. You can also view more examples and options on the project's [README](https://github.com/linode/cli/blob/master/README.md) page on GitHub. - -{{< note >}} -If you do something via the CLI that costs money (creating a Linode, upgrading a Linode, enrolling in a new service, etc.), the CLI *will* attempt to charge the credit card on file for your account or use any account credit available. -{{< /note >}} - -### Linodes - -The Linode CLI lets you spin up new Linodes, issue reboots, upgrade plan sizes, and more. - -Listing Linodes: - -```command -linode list -``` - -Creating a new Linode: - -```command -linode create --location --plan --payment-term --distribution "" --group --stackscript "" -``` - -Restarting a Linode: - -```command -linode restart -``` - -Resizing a Linode: - -```command -linode resize -``` - -Rebuilding a Linode (rebuilding with a StackScript is available): - -```command -linode rebuild --distribution "" --password "" -``` - -For your convenience, several of the options are explained below. For details on all the Linode options, please check the appropriate man page: - -```command -man linode-linode -``` - -#### --plan options - -To view available [Linode plan sizes](https://www.linode.com/pricing/) for the `--plan` option, use the following command: - -```command -linode plans -``` - -Choose from the options below: - -- Linode 1024 -- Linode 2048 -- Linode 4096 -- Linode 8192 -- Linode 12288 -- Linode 16384 -- Linode 24576 -- Linode 32768 -- Linode 49152 -- Linode 61440 -- Linode 65536 -- Linode 81920 -- Linode 102400 -- Linode 204800 - -#### --location options - -To view available data centers for new Linodes for the `--location` option, use either of the following commands: - -```command -linode locations -linode datacenters -``` - -Choose from the options below: - -- atlanta -- dallas -- frankfurt -- fremont -- london -- newark -- shinagawa1 -- singapore -- tokyo - -#### --distribution options - -To view available distributions for new Linodes for the `--distribution` option, use either of the following commands: - -```command -linode distros -linode distributions -``` - -Choose from the options below: - -- Arch 2017.01.01 -- CentOS 5.6 -- CentOS 6.5 -- CentOS 7 -- Debian 7 -- Debian 8 -- Fedora 24 -- Fedora 25 -- Gentoo 2017-01-05 -- Slackware 13.37 -- Slackware 13.37 32bit -- Slackware 14.1 -- Slackware 14.2 -- Ubuntu 12.04 LTS -- Ubuntu 14.04 LTS -- Ubuntu 16.04 LTS -- Ubuntu 16.10 -- openSUSE Leap 42.1 -- openSUSE Leap 42.2 - -### Domains - -With the Linode CLI, you can add and remove domains, update DNS records, and more. - -Listing domains: - -```command -linode domain list -``` - -Listing domain records: - -```command -linode domain record-list -``` - -Creating a domain record: - -```command -linode domain record-create -``` - -Updating a domain record: - -```command -linode domain record-update [--priority ] -``` - -To see all the available options, check the man pages: - -```command -man linode-domain -``` - -### NodeBalancers - -The Linode CLI lets you manage your [NodeBalancers](/docs/products/networking/nodebalancers/) from the command line. - -Listing NodeBalancers: - -```command -linode nodebalancer list -``` - -Creating a NodeBalancer: - -```command -linode nodebalancer create -``` - -Configuring a NodeBalancer to handle traffic on a specific port: - -```command -linode nodebalancer config-create -``` - -Configuring a node on a NodeBalancer: - -```command -linode nodebalancer node-create : -``` - -To see all the available options, check the man pages: - -```command -man linode-nodebalancer -``` - -### StackScripts - -The Linode CLI lets you create and show StackScripts, and more. - -Creating a StackScript: - -```command -linode stackscript create --label "" --codefile "" --distribution "" -``` - -Showing a StackScript: - -```command -linode stackscript show -``` - -StackScripts can be used to create or rebuild a Linode. Creating and rebuilding Linodes is covered in the [Linodes](#linodes) section. - -To see all the available options, check the man pages: - -```command -man linode-stackscript -``` - -### Account - -The CLI lets you view your account billing details at a glance. Run the following command: - -```command -linode account show -``` - -Sample output: - -```output -managed: yes -balance: $ 0.00 -transfer pool: 6732.00GB -transfer used: 13.02GB -transfer billable: 0.00GB -billing method: prepay -``` - -To see all the available options, check the man pages: - -```command -man linode-account -``` - -## Updating the CLI - -Follow these instructions to update your Linode CLI package. - -### Mac OS X - -Run the following Homebrew commands: - -```command -brew update -brew upgrade linode-cli -``` - -### Debian and Ubuntu - -Run the following commands: - -```command -sudo apt-get update -sudo apt-get upgrade linode-cli -``` \ No newline at end of file diff --git a/docs/products/tools/cli/guides/cli-v3/linode-cli.png b/docs/products/tools/cli/guides/cli-v3/linode-cli.png deleted file mode 100644 index c399e10e2ac..00000000000 Binary files a/docs/products/tools/cli/guides/cli-v3/linode-cli.png and /dev/null differ diff --git a/docs/products/tools/cli/guides/domains/index.md b/docs/products/tools/cli/guides/domains/index.md deleted file mode 100644 index 6eee1f4ea93..00000000000 --- a/docs/products/tools/cli/guides/domains/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: "Linode CLI Commands for the DNS Manager" -description: "How to use the Linode CLI to create and manage Domains and DNS records." -published: 2020-07-20 -modified: 2022-05-02 ---- - -1. List the Domains on your account: - - linode-cli domains list - -1. View all domain records in a specific Domain: - - linode-cli domains records-list $domain_id - -1. Delete a Domain: - - linode-cli domains delete $domain_id - -1. Create a Domain: - - linode-cli domains create --type master --domain www.example.com --soa_email email@example.com - -1. Create a new A record in a Domain: - - linode-cli domains records-create $domain_id --type A --name subdomain --target 192.0.2.0 \ No newline at end of file diff --git a/docs/products/tools/cli/guides/events/index.md b/docs/products/tools/cli/guides/events/index.md deleted file mode 100644 index 88ab5b991e3..00000000000 --- a/docs/products/tools/cli/guides/events/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Linode CLI Commands for Viewing Events" -description: "How to use the Linode CLI to view and manage account events." -published: 2020-07-22 -modified: 2022-05-02 ---- - -1. View a list of events on your account: - - linode-cli events list - -1. View details about a specific event: - - linode-cli events view $event_id - -1. Mark an event as read: - - linode-cli events mark-read $event_id diff --git a/docs/products/tools/cli/guides/install/index.md b/docs/products/tools/cli/guides/install/index.md deleted file mode 100644 index e10009320ee..00000000000 --- a/docs/products/tools/cli/guides/install/index.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: "Install and Configure the Linode CLI" -description: "Learn how to install the Linode CLI on most common operating systems" -modified: 2024-01-26 ---- - -## Install the Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is officially managed through [pip](https://pypi.org/project/pip/), the package installer for Python. - -1. Open your preferred terminal application. For Windows, you can use either Powershell or the command prompt. - -1. Ensure that Python 3 and `pip3` are both installed. If not, follow the instructions within the [Install Python 3 and pip3](#install-python-3-and-pip3) section. - - ```command - python3 --version - pip3 --version - ``` - -1. To install or upgrade the Linode CLI, run the following command: - - ```command - pip3 install linode-cli --upgrade - ``` - - If you receive an error like the one in the output below, you will need to add your Python's bin folder to your system PATH environment variable. Instructions for adding a directory to PATH vary for each operating system. - - ```output - WARNING: The script normalizer is installed in '/Users/{{< placeholder "USERNAME" >}}/Library/Python/3.9/bin' which is not on PATH. - Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. - `````` - -1. Install the boto library if you intend to interact with Linode's Object Storage service. - - ```command - pip3 install boto3 - ``` - -1. To confirm that the Linode CLI has been successfully installed, run the help command. - - ```command - linode-cli --help - ``` - -## Configure the Linode CLI - -### Interactive Configuration - -The first time you interact with the Linode CLI, you need to complete the initial configuration steps discussed in this section. - -1. Initiate the Linode CLI configuration process. - - - **Web-based authentication:** Prompts you to sign in to your Linode account through a web browser. - - ```command - linode-cli configure - ``` - - - **Manually create a personal access token:** Prompts you for a token that you need to manually create. See [Linode API Keys and Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/). - - ```command - linode-cli configure --token - ``` - -1. After authenticating or providing a token, you are presented with a series of prompts to select your preferred defaults, such as the region, Compute Instance type, and distribution. These are optional and can be overridden when running individual commands. Update these defaults at any time by running `linode-cli configure` again or by editing the `.config/linode-cli` configuration file. - -### Non-interactive Configuration - -To configure the CLI without any interactive prompts, you can set the token through the following environment variable, replacing *[token]* with the token you've manually generated. See [Linode API Keys and Tokens](/docs/products/platform/accounts/guides/manage-api-tokens/). - -```command -export LINODE_CLI_TOKEN="[token]" -``` - -This lets you bypass the initial configuration. If this variable is unset, the Linode CLI will stop working until it is set again or until the CLI is reconfigured through the interactive prompts. - -## Install Python 3 and pip3 - -### Windows - -Python 3 can be installed on Windows through downloading the installer package directly from Python's website. - -1. Open a web browser and navigate to [Python's Downloads page](https://www.python.org/downloads/). Download the latest stable Python 3 package for Windows. - -1. Open the installer package that was just downloaded. This is likely a `.exe` file. - -1. Within the installer window, check "Add Python 3.x to PATH" and then select **Customize installation**. - -1. Ensure that the `pip` option is checked and select **Next**. - -1. Under *Advanced Options*, ensure that the following options are checked: - - - Install for all users - - Associate files with Python - - Create shortcuts for installed applications - - Add Python to environment variables - - Precompiled standard library - -1. Select `Next` to proceed with the installation. Once the installation is complete, a message appears confirming that Python 3 was successfully installed. - -### macOS - -Installing Python 3 on macOS can also be done by downloading the package directly from Python's website. Advanced users can also install Python 3 through [Homebrew](https://formulae.brew.sh/formula/python@3.9#default) or manage multiple Python 3 versions through [pyenv](https://github.com/pyenv/pyenv). - -1. Open a web browser and navigate to [Python's Downloads page](https://www.python.org/downloads/). Download the latest stable Python 3 package for macOS. - -1. Open the installer package that was just downloaded to begin the installation. - -1. Follow the prompts to install Python3 and pip. - -### Linux - -On most Linux distributions, you can use the distribution's package manager to install both the `python3` and `python3-pip` packages. - -- **Ubuntu and Debian:** *Ubuntu 22.04, 20.04, 18.04, and 16.04 | Debian 11, 10, and 9* - - ```command - sudo apt update - sudo apt install python3 && sudo apt install python3-pip - ``` - -- **CentOS Stream, RHEL 8, and Fedora:** *CentOS Stream 9 (and 8), CentOS 8, other RHEL derivatives (including AlmaLinux 8, and Rocky Linux 8), and Fedora.* - - ```command - sudo dnf upgrade - sudo dnf install python3 && sudo dnf install python3-pip - ``` - -- **CentOS 7** - - ```command - sudo yum update - sudo yum install python3 && sudo yum install python3-pip - ``` - -### Confirming Python and Pip Installation - -If, when running `python3 --version` or `pip3 --version` you encounter `command not found`, you may need to add Python3 and Pip3's locations to your $PATH. \ No newline at end of file diff --git a/docs/products/tools/cli/guides/linode-instances/index.md b/docs/products/tools/cli/guides/linode-instances/index.md deleted file mode 100644 index 102ca03f191..00000000000 --- a/docs/products/tools/cli/guides/linode-instances/index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Linode CLI Commands for Compute Instances" -description: "How to use the Linode CLI to create and manage Linode instances." -published: 2020-07-22 -modified: 2022-05-02 ---- - -Tasks related to Linode instances are performed with `linode-cli linodes [ACTION]`. - -1. List all of the Linodes on your account: - - linode-cli linodes list - - Filter results to a particular region: - - linode-cli linodes list --region us-east - - Filtering works on many fields throughout the CLI. Use `--help` for each action to see which properties are filterable. - -1. Create a new Linode: - - linode-cli linodes create --root_pass mypassword - - The defaults you specified when configuring the CLI will be used for the new Linode's type, region, and image. Override these options by specifying the values: - - linode-cli linodes create --root_pass mypassword --region us-east --image linode/debian9 --group webservers - - If you are not writing a script, it is more secure to use `--root_pass` without specifying a password. You will then be prompted to enter a password: - - linode-cli linodes create --root_pass - -1. For commands targeting a specific Linode, you will need that Linode's ID. The ID is returned when creating the Linode, and can be viewed by listing the Linodes on your account as described above. Store the ID of the new Linode (or an existing Linode) for later use: - - export linode_id= - -1. View details about a particular Linode: - - linode-cli linodes view $linode_id - -1. Boot, shut down, or reboot a Linode: - - linode-cli linodes boot $linode_id - linode-cli linodes reboot $linode_id - linode-cli linodes shutdown $linode_id - -1. View a list of available IP addresses for a specific Linode: - - linode-cli linodes ips-list $linode_id - -1. Add a private IP address to a Linode: - - linode-cli linodes ip-add $linode_id --type ipv4 --public false - -1. Create a new disk for a Linode: - - linode-cli linodes disk-create $linode_id --size 2700 --root_pass mypassword --filesystem raw --no-defaults - - {{< note >}} - Even if you set the `--filesystem` to `raw`, the defaults you specified when configuring the CLI will be used for setting a Linode's disk image for this disk, overriding the filesystem setting. To create a disk without the default image, using only the parameters you send in this command, use the `--no-defaults` flag. - {{< /note >}} - -1. List all disks provisioned for a Linode: - - linode-cli linodes disks-list $linode_id - -1. Upgrade your Linode. If an upgrade is available for the specified Linode, it will be placed in the Migration Queue. It will then be automatically shut down, migrated, and returned to its last state: - - linode-cli linodes upgrade $linode_id - -1. Rebuild a Linode: - - linode-cli linodes rebuild $linode_id --image linode/debian9 --root_pass - -1. Rebuild a Linode, adding a populated `authorized_keys` file: - - linode-cli linodes rebuild $linode_id --image linode/debian9 --root_pass --authorized_keys "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEC+DOVfw+8Jsw1IPrYCcU9/HCuKayCsV8bXjsHqX/Zq email@example.com" - - If your key exists on your filesystem, you can also substitute its value in the CLI command with `cat`. For example: - - linode-cli linodes rebuild $linode_id --image linode/debian9 --root_pass --authorized_keys "$(cat ~/.ssh/id_rsa.pub)" - -Many other actions are available. Use `linode-cli linodes --help` for a complete list. diff --git a/docs/products/tools/cli/guides/linode-kubernetes-engine/index.md b/docs/products/tools/cli/guides/linode-kubernetes-engine/index.md deleted file mode 100644 index 6af875e741d..00000000000 --- a/docs/products/tools/cli/guides/linode-kubernetes-engine/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: "Linode CLI Commands for LKE" -description: "How to use the Linode CLI to create and manage Linode Kubernetes Engine (LKE) clusters." -published: 2020-07-20 -modified: 2022-05-02 ---- - -1. Lists current Kubernetes Clusters available on your account: - - linode-cli lke clusters-list - -1. Create a Kubernetes Cluster. The Kubernetes Cluster will be created asynchronously. You can use the events system to determine when the Kubernetes Cluster is ready to use: - - linode-cli lke cluster-create \ - --label cluster12345 \ - --region us-central \ - --k8s_version 1.16 \ - --node_pools.type g6-standard-4 --node_pools.count 6 \ - --node_pools.type g6-standard-8 --node_pools.count 3 \ - --tags ecomm - -1. Update Kubernetes Cluster: - - linode-cli lke cluster-update $cluster_id \ - --label lkecluster54321 \ - --tags ecomm \ - --tags blog \ - --tags prod \ - --tags monitoring - -1. Delete a Cluster you have permission to `read_write`: - - linode-cli lke cluster-delete $cluster_id - -1. List all active Node Pools on a Kubernetes Cluster: - - linode-cli lke pools-list $cluster_id - -1. Create a Node Pool on a Kubernetes Cluster: - - linode-cli lke pool-create $cluster_id \ - --type g6-standard-4 \ - --count 6 - -1. Update Node Pool in a Kubernetes Cluster. When a Node Pool's count is changed, the Nodes in that pool will be replaced in a rolling fashion. - - linode-cli lke pool-update $cluster_id $pool_id \ - --count 6 - -1. Delete a Node Pool from a Kubernetes Cluster: - - linode-cli lke pool-delete $cluster_id $pool_id - -1. View the Kubeconfig file for the Kubernetes Cluster: - - linode-cli lke kubeconfig-view $cluster_id - -Other actions are available. Use `linode-cli lke --help` for a complete list. \ No newline at end of file diff --git a/docs/products/tools/cli/guides/manage-multiple-accounts/index.md b/docs/products/tools/cli/guides/manage-multiple-accounts/index.md deleted file mode 100644 index 669c2c9d81d..00000000000 --- a/docs/products/tools/cli/guides/manage-multiple-accounts/index.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: "Manage Multiple Accounts with the Linode CLI" -description: "How to use the Linode CLI to manage multiple Linode accounts." -published: 2022-12-06 ---- - -The Linode CLI can be configured to run commands from multiple users on separate Linode Accounts. This lets you control multiple accounts, all through the same system, using the Linode CLI. Once multiple users are configured, you can execute commands as a particular user or set a specific user as the default. - -## Configure an Additional User - -To manage another Linode Account, you must configure the Linode CLI with a user on that account. This is accomplished by re-running the Linode CLI configuration utility (see [Configure the Linode CLI](/docs/products/tools/cli/guides/install/#configure-the-linode-cli)). - -```command -linode-cli configure -``` - -## View Users - -To see which users have already been configured on the Linode CLI, run the following command: - -```command -linode-cli show-users -``` - -This outputs a list containing the usernames of each user. An asterisks (`*`) marks the user that is currently active (the default user). - -```output -Configured Users: -* example-user - another-user -``` - -## Change the Default User - -The default user is used when running Linode CLI commands. Run the following command to change the default user, replacing *[username]* with the name of the user you wish to use. - -```command -linode-cli set-user [username] -``` - -## Run a Command as a Different User - -You can run a Linode CLI command as a specific user *without* needing to change the default user. This is helpful if you need to run a one-off command on a different account. In the command below, replace *[username]* with the name of the user you wish to use. - -```command -linode-cli set-user --as-user [username] -``` - -## Remove a User from the Linode CLI - -If you no longer wish to manage a particular user or account from the Linode CLI, you can remove that user. In the command below, replace *[username]* with the name of the user you wish to remove. - -{{< note >}} -This does not delete the user on the Linode Platform. It only removes the user from the Linode CLI so you can no longer execute commands as that user. -{{< /note >}} - -```command -linode-cli remove-user [username] -``` \ No newline at end of file diff --git a/docs/products/tools/cli/guides/nodebalancers/index.md b/docs/products/tools/cli/guides/nodebalancers/index.md deleted file mode 100644 index a3ed3a2c481..00000000000 --- a/docs/products/tools/cli/guides/nodebalancers/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Linode CLI Commands for NodeBalancers" -description: "How to use the Linode CLI to create and manage NodeBalancers." -published: 2020-07-20 -modified: 2022-05-02 ---- - -1. Create a new NodeBalancer: - - linode-cli nodebalancers create --region us-east --label new-balancer - -1. Create a configuration for a NodeBalancer: - - linode-cli nodebalancers config-create $nodebalancer_id - -1. Attach a Node to a NodeBalancer: - - linode-cli nodebalancers node-create --address 192.200.12.34:80 --label node-1 - -1. To delete a node, you will need the ID of the NodeBalancer, configuration, and node: - - linode-cli nodebalancers node-delete $nodebalancer_id $config_id $node_id - -Other actions are available. Use `linode-cli nodebalancers --help` for a complete list. \ No newline at end of file diff --git a/docs/products/tools/cli/guides/object-storage/index.md b/docs/products/tools/cli/guides/object-storage/index.md deleted file mode 100644 index 331c6f14044..00000000000 --- a/docs/products/tools/cli/guides/object-storage/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: "Linode CLI Commands for Object Storage" -description: "How to use the Linode CLI to create and manage Linode Object Storage buckets and objects." -published: 2020-07-20 -modified: 2022-05-02 ---- - -## Basic Commands - -List the current Object Storage Clusters available to use. - - linode-cli object-storage clusters-list - -## Manage Access Keys - -List all access keys on the account. - - linode-cli object-storage keys-list - -Create a new access key with the label *example-label*. - - linode-cli object-storage keys-create --label "example-label" - -Update the label of an access key, replacing *[id]* with the **ID** of the access key you wish to update. - - linode-cli object-storage keys-update --keyId [id] --label "new-label" - -Revoke an access key, replacing *[id]* with the **ID** of the access key you wish to revoke. - - linode-cli object-storage keys-delete [id] - -## TLS/SSL Certificates - -Upload a TLS/SSL Certificate. - - linode-cli object-storage ssl-upload us-east-1 example-bucket --certificate "my-full-certificate" --private_key "my-full-private-key" - -View an Active TLS/SSL Certificate: - - linode-cli object-storage ssl-view us-east-1 example-bucket - -Delete an Active TLS/SSL Certificate: - - linode-cli object-storage ssl-delete us-east-1 example-bucket - -## Cancel Object Storage - -Cancel Object Storage on your Account. All buckets on the Account must be empty before Object Storage can be cancelled. - - linode-cli object-storage cancel \ No newline at end of file diff --git a/docs/products/tools/cli/guides/support-tickets/index.md b/docs/products/tools/cli/guides/support-tickets/index.md deleted file mode 100644 index cbb476830cd..00000000000 --- a/docs/products/tools/cli/guides/support-tickets/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: "Linode CLI Commands for Support Tickets" -description: "How to use the Linode CLI to submit and manage support tickets." -published: 2020-07-22 -modified: 2022-05-02 ---- - -1. List your Support Tickets: - - linode-cli tickets list - -1. Open a new Ticket: - - linode-cli tickets create --description "Detailed description of the issue" --summary "Summary or quick title for the Ticket" - - If your issue concerns a particular Linode, Volume, Domain, or NodeBalancer, pass the ID with `--domain_id`, `--linode-id`, `--volume_id`, etc. - -1. List replies for a Ticket: - - linode-cli tickets replies $ticket_id - -1. Reply to a Ticket: - - linode-cli tickets reply $ticket_id --description "The content of your reply" diff --git a/docs/products/tools/cli/guides/upgrade-to-python-3/index.md b/docs/products/tools/cli/guides/upgrade-to-python-3/index.md deleted file mode 100644 index b6fa0475ae7..00000000000 --- a/docs/products/tools/cli/guides/upgrade-to-python-3/index.md +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: "Upgrade the Linode CLI to use Python 3" -description: "The Linode Command Line Interface (CLI) can be supported by both Python 2.x and Python 3.x, however As Python 2 has reached an end of life it is recommended that users upgrade to Python 3 as soon as they are able. This guide outlines the simplest methods for upgrading python and the Linode CLI." -published: 2022-01-14 -modified: 2022-11-30 -external_resources: - - '[Linode API Documentation](https://developers.linode.com)' -keywords: ["api","linode api", "cli", "linode cli", "python cli"] -tags: ["linode platform"] -aliases: ['/guides/upgrade-to-linode-cli-python-3/'] ---- - -## In This Guide - -At the time of this writing, the Linode CLI is currently able to be fully supported by both Python 2.x and Python 3.x depending on user preference and needs. That being said, as Python 2 has [reached it's end-of-life in early 2020](https://www.python.org/doc/sunset-python-2/#:~:text=We%20have%20decided%20that%20January,a%20security%20problem%20in%20it.), it is strongly recommended that users upgrade to the latest version of the CLI supported by python3 as soon as they are able. - -In this guide, steps are provided to uninstall the version of the Linode CLI that relies on Python 2, and immediately replace it with the version of the Linode CLI built with Python 3. - -## Uninstalling the Python 2 CLI - -Before proceeding, users should first uninstall the Python 2 based version of the Linode CLI from their Linode using python 2's package manager `pip`: - -```command -sudo pip uninstall linode-cli -``` - -While uninstalling, you may be prompted to agree to the removal of some configuration files. Select `Y` to proceed and complete the removal process. - -## Installing the Python 3 Linode CLI - -The upgrade path for the Python 3 Linode CLI depends on the Distro and package manager that you're using. - -### Ubuntu/Debian - -1. Ensure that all available packages are up to date: - - ```command - sudo apt update - ``` - -1. Install python3 and pip3: - - ```command - sudo apt install python3 && sudo apt install python3-pip - ``` - -1. Install the Linode CLI using pip3: - - ```command - sudo pip3 install linode-cli - ``` - -### CentOS/RHEL Stream and Fedora - -1. Ensure that all available packages are up to date: - - ```command - dnf upgrade - ``` - -1. Install python3 and pip3: - - ```command - sudo dnf install python3 && sudo dnf install python3-pip - ``` - -1. Install the Linode CLI using pip3: - - ```command - sudo pip3 install linode-cli - ``` - -### CentOS 7 - -1. Ensure that all available packages are up to date: - - ```command - sudo yum update - ``` - -1. Install python3 and pip3: - - ```command - sudo yum install python3 && sudo yum install python3-pip - ``` - -1. Install the Linode CLI using pip3: - - ```command - sudo pip3 install linode-cli - ``` - -### Windows 10 - -1. Download the latest stable Windows package for python3 for your system at [Python's Downloads Page](https://www.python.org/downloads/windows/). - -1. Open up the installer `.exe` to begin the python installation process using Window's GUI. - -1. Before proceeding, ensure that your version of Python is added to PATH by checking the box which enables this option: - - ![Python WIndows Path Option](windows-python-path.png) - -1. Select the **Customize Installation** option to proceed. - -1. Ensure that `pip` all desired optional features are selected before proceeding to the next step. The `pip` installation is required by the Linode CLI. - -1. In the next step, ensure that the **Install for all users** option is enabled. Your configuration should reflect the following: - - ![Python on Windows Advanced Options](windows-python-options.png "Advanced Options on Windows Python3") - -1. Select `Next` to proceed with the installation. Once the installation is complete, a message will confirm Python3 was successfully installed will appear that can be safely closed. - -1. Open the windows command prompt and enter the following command to complete installation of the Linode CLI: - - ```command - pip3 install linode-cli - ``` - -### Mac OSx - -By default, python3 should already be installed and configured on the latest versions of Mac OSx. If for whatever reason it is not, you can use `brew` to install python3 which will additionally include `pip`: - -```command -brew install python3 -``` - -### Next Steps - -To confirm the Linode CLI has successfully been installed, the following command may be entered: - -```command -linode-cli --version -``` - -If your installation was successful, the latest version of Linode CLI will be outputted. - -Once the Linode CLI is installed, no further steps should be needed for configuration as both python based versions of the CLI will use a configuration file that will persist between the change. If for whatever reason you need to reconfigure the Linode CLI, the following command may be entered: - -```command -linode-cli configure -``` - -For more information on how to use the Linode CLI, see our [Overview Guide](/docs/products/tools/cli/get-started/) \ No newline at end of file diff --git a/docs/products/tools/cli/guides/upgrade-to-python-3/windows-python-options.png b/docs/products/tools/cli/guides/upgrade-to-python-3/windows-python-options.png deleted file mode 100644 index efe1d9a8f68..00000000000 Binary files a/docs/products/tools/cli/guides/upgrade-to-python-3/windows-python-options.png and /dev/null differ diff --git a/docs/products/tools/cli/guides/upgrade-to-python-3/windows-python-path.png b/docs/products/tools/cli/guides/upgrade-to-python-3/windows-python-path.png deleted file mode 100644 index 89a5d3241a9..00000000000 Binary files a/docs/products/tools/cli/guides/upgrade-to-python-3/windows-python-path.png and /dev/null differ diff --git a/docs/products/tools/cli/guides/v3-uninstall/index.md b/docs/products/tools/cli/guides/v3-uninstall/index.md deleted file mode 100644 index b4d0d3b0100..00000000000 --- a/docs/products/tools/cli/guides/v3-uninstall/index.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: 'Uninstalling the Deprecated Linode CLI using API v3' -description: 'The new Linode API includes a number of additional features and changes from previous API versions. This guide is intended to help existing users uninstall the previous version of the CLI in preparation of upgrading to the new version of the CLI using APIv4.' -published: 2022-02-25 -modified: 2022-11-30 -external_resources: - - '[Linode API Documentation](https://developers.linode.com)' - - '[Deprecated CLI Github](https://github.com/linode/cli)' -keywords: ["api","linode api", "cli"] -tags: ["linode platform"] -aliases: ['/guides/uninstall-linode-api-cli-v3/'] ---- - -Following the release of the [Linode API v4](https://techdocs.akamai.com/linode-api/reference/api), both the Linode API v3 and [earlier versions of the CLI](/docs/products/tools/cli/guides/cli-v3/) using that API version have been deprecated. While earlier versions remained functional for some time, they have officially been deprecated and can not be leveraged to use the full extent of the Linode Platform. - -To ensure that all users continue to use a currently supported version of the API in their production pipelines, it is recommended that users upgrade to the newest version of the Linode CLI as soon as they are able. This guide walks you through uninstalling the old version of the CLI. After the old version has been removed, you can follow the instructions within the [Linode CLI Overview](/docs/products/tools/cli/guides/install/) guide to install the latest version. - -## Uninstall the Linode CLI - -### Uninstall Through a Package Manager - -If the Linode CLI was installed through a package manager, it can be uninstalled through the same package manager. Follow the instructions below for your operating system. - -- **Ubuntu and Debian:** Use the following command to uninstall the Linode CLI through the [APT package manager](/docs/guides/apt-package-manager/): - - ```command - sudo apt remove linode-cli - ``` - -- **Fedora:** Use the following command to uninstall the Linode CLI through the [DNF package manager](/docs/guides/dnf-package-manager/): - - ```command - sudo dnf remove linode-cli - ``` - -- **MacOS:** Use the following command to uninstall the Linode CLI through brew: - - ```command - brew uninstall linode-cli - ``` - -### Uninstall Manually - -If the Linode CLI was [installed manually](/docs/products/tools/cli/guides/cli-v3/#manual-installation-for-linux-all-distros), then all configurations files and modules can also be removed manually. The primary relevant files can usually be uninstalled using the following commands: - -```command -unlink /usr/local/bin/linode -unlink /usr/local/bin/linode-account -unlink /usr/local/bin/linode-domain -unlink /usr/local/bin/linode-linode -unlink /usr/local/bin/linode-nodebalancer -unlink /usr/local/bin/linode-stackscript -unlink /usr/local/share/man/man1/linode-account.1 -unlink /usr/local/share/man/man1/linode-domain.1 -unlink /usr/local/share/man/man1/linode-linode.1 -unlink /usr/local/share/man/man1/linode-nodebalancer.1 -unlink /usr/local/share/man/man1/linode-stackscript.1 -unlink /usr/local/share/man/man1/linode.1 -unlink /usr/local/share/perl5/Linode/CLI.pm -unlink /usr/local/share/perl5/Linode/CLI/Object.pm -unlink /usr/local/share/perl5/Linode/CLI/Object/Account.pm -unlink /usr/local/share/perl5/Linode/CLI/Object/Domain.pm -unlink /usr/local/share/perl5/Linode/CLI/Object/Linode.pm -unlink /usr/local/share/perl5/Linode/CLI/Object/Nodebalancer.pm -unlink /usr/local/share/perl5/Linode/CLI/Object/StackScript.pm -unlink /usr/local/share/perl5/Linode/CLI/SystemInfo.pm -unlink /usr/local/share/perl5/Linode/CLI/Util.pm -unlink /usr/local/lib64/perl5/auto/Linode/CLI/.packlist -``` - -{{< note >}} -In some cases, the path of some configuration files installed manually may be slightly different than the ones outlined in this guide. An audit may be necessary to for complete removal of the Linode CLI in cases where a manual installation was performed. -{{< /note >}} - -Additionally, if they are no longer needed, users may remove the following Perl modules using their tooling of choice: - -```command -JSON -LWP:UserAgent -Mozilla::CA -Try::Tiny -WebService::Linode -``` - -## Install the Latest Linode CLI Version - -Once the deprecated version of the Linode CLI has been safely removed, the newest version of the Linode CLI should be installed using Python 3. More information on this process can be found on our [Overview of the Linode CLI Guide](/docs/products/tools/cli/get-started/). \ No newline at end of file diff --git a/docs/products/tools/cli/resources/index.md b/docs/products/tools/cli/resources/index.md deleted file mode 100644 index 91ae0e1b56a..00000000000 --- a/docs/products/tools/cli/resources/index.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: Resources -title_meta: "Resources for the Linode CLI" -description: "Resources and other information related to the Linode CLI including blog posts and community posts." -tab_group_main: - weight: 40 ---- -## Blog Posts - -- [Linode CLI](https://www.linode.com/blog/linode/linode-cli/) - -## Community Posts - -- [How to restore a backup to a new Linode using the Linode CLI?](https://www.linode.com/community/questions/18752/linode-cli-restore-a-backup-to-a-new-linode) - -- [How do deploy Linodes from a saved image using the Linode CLI?](https://www.linode.com/community/questions/20102/how-do-i-deploy-linodes-from-a-saved-image-using-the-linode-cli) - -- [How can I deploy 1-Click Apps from the CLI?](https://www.linode.com/community/questions/18509/how-can-i-deploy-1-click-apps-from-the-cli) - -- [CLI questions](https://www.linode.com/community/questions/367/cli-questions) - -- [How do I manage multiple accounts with the Linode CLI?](https://www.linode.com/community/questions/20161/how-do-i-manage-multiple-accounts-with-the-linode-cli) - -- [How do I change IP addresses using the Linode CLI/API?](https://www.linode.com/community/questions/20082/how-do-i-change-ip-addresses-using-the-linode-cliapi) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=cli). diff --git a/docs/products/tools/cloud-manager/_index.md b/docs/products/tools/cloud-manager/_index.md deleted file mode 100644 index 93ea62be669..00000000000 --- a/docs/products/tools/cloud-manager/_index.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: Cloud Manager -title_meta: "Cloud Manager Product Documentation" -description: "Cloud Manager gives you access to simple account management, user control and security, and performance monitoring; supports self-service data center migration; allows you to deploy Akamai Quick Deploy Apps; and more." -published: 2020-06-02 -tab_group_main: - is_root: true - title: Overview - weight: 10 ---- - -Cloud Manager is an intuitive web-based interface for managing your account and services. Through Cloud Manager, you can deploy and manage virtual machines, configure networking, control user accounts, and access the full range of Akamai's cloud computing services. - -## Features - -### Self-Service Data Center Migration - -Cloud Manager supports you with self-serve migrations so you can conveniently move your infrastructure between data centers. - -### Simple Account Management - -Effortlessly create and configure your infrastructure with Cloud Manager. Assign SSH keys, deploy resources across the network, and add cloud storage volumes or buckets all from a single UI. - -Advanced search helps you quickly find your Linode resources. Search using simple strings, Boolean operators, parenthesis, or custom groups with tags you create in Cloud Manager. - -Manage your account, update payment information, review credits remaining, and print invoices. - -### Deploy Quick Deploy Apps - -Whether you want to set up a game server, your own VPN, or self-host your software with GitLab, Quick Deploy Apps make it quick and easy to get up and running on your Linodes. - -### Performance Monitoring - -Real-time analytics tracking, per-process and in aggregate, monitors the performance of your CPU, memory, and network bandwidth. - -### User Control and Security - -Share access to your Linodes with your team by adding multiple users. Controls are configurable for each individual user. Manage your API Keys and add personal access tokens for more control over your Linode services. - diff --git a/docs/products/tools/cloud-manager/developers/index.md b/docs/products/tools/cloud-manager/developers/index.md deleted file mode 100644 index 104c87dc9f1..00000000000 --- a/docs/products/tools/cloud-manager/developers/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Cloud Manager" -description: "Use the Linode API and CLI to access the full range of Linode services and account and user management capabilities offered by Cloud Manager." -published: 2020-06-02 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services, and powers Cloud Manager. - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line, similar to Cloud Manager. \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/feature.png b/docs/products/tools/cloud-manager/feature.png deleted file mode 100644 index a6253f54533..00000000000 Binary files a/docs/products/tools/cloud-manager/feature.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/feature.svg b/docs/products/tools/cloud-manager/feature.svg deleted file mode 100644 index d213db9b33c..00000000000 --- a/docs/products/tools/cloud-manager/feature.svg +++ /dev/null @@ -1,7 +0,0 @@ - - Cloud Manager - - - - - diff --git a/docs/products/tools/cloud-manager/guides/_index.md b/docs/products/tools/cloud-manager/guides/_index.md deleted file mode 100644 index acf2b45297e..00000000000 --- a/docs/products/tools/cloud-manager/guides/_index.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Cloud Manager" -description: "These guides show you how to use Cloud Manager to access and deploy the full range of Linode services and how to complete account and user management tasks." -published: 2020-06-02 -modified: 2024-07-29 -tab_group_main: - weight: 30 -aliases: ['/platform/manager/','/manager/','/guides/platform/manager/','/quick-answers/linode-platform/'] ---- - -## Guides - -- [Overview of Cloud Manager](/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/) - -- [Understanding Events and the Activity Feed](/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/) - -- [Troubleshooting Cloud Manager Errors](/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/) - -- [How to Search in Cloud Manager](/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/) - -- [Tags and Groups](/docs/products/tools/cloud-manager/guides/tags-and-groups/) - -### Manage Your Account - -- [Manage Billing in Cloud Manager](/docs/products/platform/billing/guides/) - -- [Cancelling Your Account](/docs/products/platform/accounts/guides/cancel-account/) - -- [Changing Your Email Address](/docs/products/platform/accounts/guides/change-user-email/) - -- [User Security Controls](/docs/products/platform/accounts/guides/user-security-controls/) - -- [Manage SSH Keys](/docs/products/platform/accounts/guides/manage-ssh-keys/) diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/UnderstandingtheCloudManagerEventsandActivityFeeds.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/UnderstandingtheCloudManagerEventsandActivityFeeds.png deleted file mode 100644 index dacb1366bb0..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/UnderstandingtheCloudManagerEventsandActivityFeeds.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/classic-to-cloud-cloud-manager-email-notifications.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/classic-to-cloud-cloud-manager-email-notifications.png deleted file mode 100644 index 13523559800..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/classic-to-cloud-cloud-manager-email-notifications.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-events-panel.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-events-panel.png deleted file mode 100644 index f82ea1ff207..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-events-panel.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-events.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-events.png deleted file mode 100644 index 8e4f0f7b6ed..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-events.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-notification-bell.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-notification-bell.png deleted file mode 100644 index d06ddd29baa..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-notification-bell.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-notification-settings.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-notification-settings.png deleted file mode 100644 index d64f2ec9dc1..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-notification-settings.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-user-dropdown.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-user-dropdown.png deleted file mode 100644 index 8da5f61d116..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/cloud-manager-user-dropdown.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/events.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/events.png deleted file mode 100644 index d1536ff81de..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/events.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/index.md b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/index.md deleted file mode 100644 index 02abd0299de..00000000000 --- a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Understanding Events and the Activity Feed" -title_meta: "What Are Cloud Manager Events and Activity Feeds" -description: "Understanding events and a Linode's activity feed in Cloud Manager" -published: 2019-12-26 -modified: 2021-08-25 -keywords: ["accounts", "passwords", "linode manager", "manager"] -license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' -image: UnderstandingtheCloudManagerEventsandActivityFeeds.png -tags: ["linode platform","cloud manager"] -aliases: ['/platform/manager/what-are-the-cloud-manager-events-and-activity-feeds/', '/guides/what-are-the-cloud-manager-events-and-activity-feeds/','/products/tools/cloud-manager/guides/cloud-email-notifications/','/guides/cloud-manager-events-and-activity-feeds/'] ---- - -Most actions that occur on an account or to a particular service are logged as *events*. These events include services being created (or deleted), a change in a Linode's power state (such as powering off or rebooting), and many other actions. All events are stored to an account for 90 days. - -{{< note >}} -Events are only shown to a logged in user if that event is within the scope of the user's permissions. This means that a restricted user only sees events for services that they have been granted access to. For more information, see our [Manage User Permissions](/docs/products/platform/accounts/guides/user-permissions/) guide. -{{< /note >}} - -## Viewing Events - -Events for all services and account functions can be viewed in Cloud Manager, either through the Events panel or the [Events](https://cloud.linode.com/events) page. - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and press the notification bell on the top right of the page. - - ![The notification bell icon on Cloud Manager](cloud-manager-notification-bell.png) - - This displays an Events panel containing notifications and the most recent events for all services on the account. Each item in the **Events** list includes a brief description of the action, the label of the service, the user who initiated the action, the duration, and the timestamp. - - ![The Events panel](cloud-manager-events-panel.png) - -1. To view more events, click the **View all events** link at the top of the **Events** list. This displays the [Events](https://cloud.linode.com/events) page, which contains the same information as the previous list. All events that occurred during the last 90 days are listed on this page. - -## Viewing a Linode's Activity Feed - -A Linode's Activity Feed is similar to the Account's [Events](#events) page. However, this is a filtered list of events only relevant to the specific Linode. Follow the instructions below to access a Linode's Activity Feed. - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select **Linodes** from the sidebar menu. - -1. Locate the Linode you wish to see events for and click on the Linode's label. - -1. Within the chosen Linode's page, navigate to the **Activity Feed** tab. - - ![A Linode's Activity Feed](linode-activity-feed.png) - - This displays a list of events for the selected Linode that have occurred during the last 90 days. Each item includes a brief description of the action, the label of the service, the user who initiated the action, the duration, and the timestamp. - -## Managing Email Notifications for Events - -Each time an event occurs, you can automatically receive an email notifying you of the event. If desired, you can enable or disable these email event notifications using Cloud Manager. Instead, if you want to configure the email notifications you receive for resource usage (like CPU usage) on your Compute Instances, see the [Configure Email Alerts for Resource Usage on Compute Instances](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/). - -{{< note >}} -Only unrestricted users can receive threshold notification emails. -{{< /note >}} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and click the user dropdown menu on the top right of the page. - - ![The username dropdown link on Cloud Manager](cloud-manager-user-dropdown.png) - -1. Within the dropdown, click the **My Settings** link under **My Profile**. - -1. In the [My Settings](https://cloud.linode.com/profile/settings) page that opens, toggle the *Email alerts for account activity are enabled* option (under **Notifications**) to the desired setting. - - ![The email alerts toggle button](cloud-manager-notification-settings.png) \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/linode-activity-feed.png b/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/linode-activity-feed.png deleted file mode 100644 index 47e6dc73860..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/linode-activity-feed.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/AnOverviewoftheLinodeCloudManager.png b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/AnOverviewoftheLinodeCloudManager.png deleted file mode 100644 index 29461cebb5e..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/AnOverviewoftheLinodeCloudManager.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-import-display-groups.png b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-import-display-groups.png deleted file mode 100644 index 4144e09d185..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-import-display-groups.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-domains.png b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-domains.png deleted file mode 100644 index 58eb8e7c034..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-domains.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-images.png b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-images.png deleted file mode 100644 index 5157dd28e3b..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-images.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-stackscripts.png b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-stackscripts.png deleted file mode 100644 index 08dad2da24c..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-stackscripts.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-volumes.png b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-volumes.png deleted file mode 100644 index cf945ee940c..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/classic-to-cloud-cloud-manager-volumes.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-new-dark.jpg b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-new-dark.jpg deleted file mode 100644 index 8261ffccf6a..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-new-dark.jpg and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-new-light.jpg b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-new-light.jpg deleted file mode 100644 index 7a958b1e47a..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-new-light.jpg and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-previous-dark.jpg b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-previous-dark.jpg deleted file mode 100644 index 1060c69a6e8..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-previous-dark.jpg and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-previous-light.jpg b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-previous-light.jpg deleted file mode 100644 index da05cd0608f..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/cloud-manager-previous-light.jpg and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/index.md b/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/index.md deleted file mode 100644 index 90ffeffe41c..00000000000 --- a/docs/products/tools/cloud-manager/guides/overview-of-cloud-manager/index.md +++ /dev/null @@ -1,186 +0,0 @@ ---- -slug: overview-of-cloud-manager -title: "Overview of Cloud Manager" -description: "This guide provides you with an overview of Cloud Manager and covers how to locate features within Cloud Manager, create Linodes and more." -published: 2019-12-20 -modified: 2024-07-25 -keywords: ["classic manager","cloud manager","linode"] -aliases: ['/platform/manager/a-classic-to-cloud-manager-overview-guide/','/platform/manager/an-overview-of-the-linode-cloud-manager/', '/guides/an-overview-of-the-linode-cloud-manager/','/guides/an-overview-of-the-cloud-manager/','/products/tools/cloud-manager/guides/cloud-create-linode/','/products/tools/cloud-manager/guides/cloud-block-storage/','/products/tools/cloud-manager/guides/cloud-object-storage/','/products/tools/cloud-manager/guides/cloud-nodebalancers/','/products/tools/cloud-manager/guides/cloud-domains/','/products/tools/cloud-manager/guides/cloud-longview/','/products/tools/cloud-manager/guides/cloud-marketplace/','/products/tools/cloud-manager/guides/cloud-kubernetes/','/products/tools/cloud-manager/guides/cloud-stackscripts/','/products/tools/cloud-manager/guides/cloud-images/','/products/tools/cloud-manager/guides/cloud-billing/','/products/tools/cloud-manager/guides/cloud-oauth/','/products/tools/cloud-manager/guides/an-overview-of-the-cloud-manager/'] -image: AnOverviewoftheLinodeCloudManager.png -tags: ["linode platform","cloud manager"] ---- - -[Cloud Manager](https://cloud.linode.com/) provides a user-friendly interface to manage your infrastructure, user accounts, billing and payments, and to open and track support tickets. You can easily create Linode instances, manage Kubernetes clusters, add backups to your Linodes, deploy Quick Deploy Apps, track event notifications, create Object Storage buckets, and more. Cloud Manager is implemented solely atop our public [API](https://techdocs.akamai.com/linode-api/reference/api), which gives you access to all our latest products and services. - -## In this Guide - -This guide provides an overview of the features and services available in Cloud Manager. Some of the topics that will be discussed are: - -- An introduction to each section of Cloud Manager, including links to related guides throughout our documentation library. -- The location of commonly used Cloud Manager features. -- Settings that might make your overall Cloud Manager experience better - -## Linodes - -The Linodes section of Cloud Manager lets you create and manage your Linodes. Each Linode instance in Cloud Manager includes: - -- [Summary information](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#cloud-manager) about your Linode, like CPU usage, IPv4 and [IPv6 traffic](/docs/products/compute/compute-instances/guides/ipv6/), and Disk IO -- Access to any of your Linode's attached Volumes and the ability to [create a Volume](/docs/products/storage/block-storage/guides/manage-volumes/) -- Networking information and features, including the ability to add IPv4 and IPv6 addresses, [IP transfer](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#transferring-ip-addresses) and [IP sharing](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#configuring-ip-sharing) -- The ability to [resize your Linode](/docs/products/compute/compute-instances/guides/resize/), boot your Linode into [Rescue Mode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rescue-mode-overview), and [rebuild your Linode](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding) -- Access to Linode's [Backup service](/docs/products/storage/backups/) -- An [Activity Feed](/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/#viewing-a-linodes-activity-feed) that displays any relevant events related to this Linode -- Settings that allow you to update your Linode's label, [reset your Linode's root password](/docs/products/compute/compute-instances/guides/reset-root-password/), [manage system usage email notifications](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#configure-cloud-manager-email-alerts), [manage Watchdog](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/) (Linode's automatic reboot feature), and delete your Linode -- Areas to [manage disks](/docs/products/compute/compute-instances/guides/disks-and-storage/) and [manage configuration profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) -- [Cross data center migrations](/docs/products/compute/compute-instances/guides/migrate-to-different-dc/) - -## Volumes - -The **Volumes** section of Cloud Manager gives you access to Linode's [Block Storage](https://www.linode.com/products/block-storage/) service. To learn how to create and manage Block Storage volumes using Cloud Manager, see our [Block Storage Overview](/docs/products/storage/block-storage/) guide. - -## Object Storage - -The **Object Storage** section of Cloud Manager gives you access to Linode’s [Object Storage service](https://www.linode.com/products/object-storage/) which is a globally-available, S3-compatible method for storing and accessing data. - -To learn how to use Object Storage, view the [Get Started with Object Storage](/docs/products/storage/object-storage/get-started/) guide or take a look through all the [Object Storage guides](/docs/products/storage/object-storage/guides/). - -## NodeBalancers - -Linode's [NodeBalancers service](https://www.linode.com/products/nodebalancers/) provides load balancing for your applications and services ensuring that they are highly available for users. To learn how to get started with NodeBalancers using Cloud Manager, see our [Getting Started with NodeBalancers](/docs/products/networking/nodebalancers/get-started/) guide. - -## Domains (DNS Manager) - -The DNS Manager lets you control and manage your domains. You can access the DNS Manager by navigating to the **Domains** link in Cloud Manager's sidebar. - -![Cloud Manager Domains](classic-to-cloud-cloud-manager-domains.png "Cloud Manager Domains") - -For more information on Cloud Manager's DNS Manager, see the following guides: - -- [DNS Manager](/docs/products/networking/dns-manager/). -- [Common DNS Configurations](/docs/products/networking/dns-manager/guides/common-dns-configurations/) -- [Configure Your Linode for Reverse DNS](/docs/products/compute/compute-instances/guides/configure-rdns/) - -## Longview - -The **Longview** section of Cloud Manager gives you access to Linode’s system data graphing service. It tracks metrics for CPU, memory, and network bandwidth, both aggregate and per-process, and it provides real-time graphs that can help expose performance problems. The Longview service offers both [free and paid plan tiers](/docs/products/tools/longview/). - -To get started using Longview, see the [Understanding Linode Longview](/docs/products/tools/longview/get-started/) guide. - -## Marketplace - -The **Marketplace** section of Cloud Manager gives you access to apps that make it easy to deploy and configure Quick Deploy Apps on a Linode. Some popular Quick Deploy Apps are [WordPress](/docs/marketplace-docs/guides/wordpress/), [Minecraft](/docs/marketplace-docs/guides/minecraft/), and [GitLab](/docs/marketplace-docs/guides/gitlab/). We are actively adding new and useful Quick Deploy Apps. When a Quick Deploy App is deployed, a new Linode is created and the appropriate software is installed with the configurations you provide. - -See [How to Use Linode's Quick Deploy Apps](/docs/marketplace-docs/get-started/) to get started using Quick Deploy Apps in Cloud Manager. - -## Kubernetes (LKE) - -The Kubernetes section of Cloud Manager gives you access to our managed Kubernetes service, the Linode Kubernetes Engine (LKE). LKE is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. LKE combines Linode’s ease of use and [simple pricing](https://www.linode.com/pricing/) with the infrastructure efficiency of Kubernetes. - -To get started using LKE, see our [Tutorial for Deploying and Managing a Cluster with Linode Kubernetes Engine](/docs/products/compute/kubernetes/). - -## StackScripts - -[StackScripts](https://www.linode.com/stackscripts/) provide Linode users with the ability to automate the deployment of custom systems on top of our default Linux distribution images. StackScripts are usually Bash scripts, stored in Cloud Manager, and can be accessed when you deploy a Linode. Linodes deployed with a StackScript run the script as part of the first boot process. - -To get started using StackScripts in Cloud Manager, see the [Automate Deployment with StackScripts](/docs/products/tools/stackscripts/) guide. - -## Images - -The Images section of Cloud Manager gives you access to Linode Images which allow you to take snapshots of your disks, and then deploy them to any Linode under your account. This can be useful for bootstrapping an image for a large deployment, or retaining a disk for a configuration that you may not need running, but wish to return to in the future. - -To get started using Images with Cloud Manager, see [Linode Images](/docs/products/tools/images/). - -## Account (Management and Billing) - -The **Account** section of Cloud Manager lets you manage your account's billing information and users, and to configure various account-wide settings. - -You can manage the following account and billing settings in the Account section of Cloud Manager: - -- [Update contact information](/docs/products/platform/billing/guides/update-billing-contact-info/) -- [Adding a New Payment Method](/docs/products/platform/billing/guides/payment-methods/#add-a-new-payment-method) -- [Making a One-Time Payment](/docs/products/platform/billing/guides/make-a-payment/) -- [View recent invoices and payments](/docs/products/platform/billing/guides/view-history/) -- [Add new users and manage exiting user's profiles and permissions](/docs/products/platform/accounts/guides/user-permissions/) -- [Enable Backup auto enrollment for all new Linodes on your account](/docs/products/storage/backups/guides/enable/#auto-enroll-new-compute-instances-in-the-backup-service) -- [Enable Network Helper](/docs/products/compute/compute-instances/guides/network-helper/#global-account-wide-setting) -- [Cancel Object Storage](/docs/products/storage/object-storage/guides/cancel/) -- [Add the Linode Managed service to your account](/docs/products/services/managed/get-started/) - -### Password Management - -Cloud Manager does not support forcing password expirations. Forcing password resets on a schedule is [bad practice from a security perspective](https://pages.nist.gov/800-63-FAQ/#q-b05). Current security research indicates that forced password changes do more harm than good. If you want to force password resets for users of your Linode account, we recommend using a password manager for this purpose. - -## Tags - -Both Cloud Manager and [API v4](https://techdocs.akamai.com/linode-api/reference/api) allow you to create tags to help organize and group your Linode resources. Tags can be applied to [Linode instances](#linodes), [Block Storage Volumes](#volumes), [NodeBalancers](#nodebalancers), and [Domains](#domains-dns-manager). See the [Tags and Groups](/docs/products/tools/cloud-manager/guides/tags-and-groups/) guide to learn how to create, apply, and search for tags. - -## Events and Activity Feeds - -Tasks performed using Cloud Manager or other account specific tools like Linode’s [CLI](/docs/products/tools/cli/get-started/) or [API](https://www.linode.com/products/api/) will be logged to an individual Linode’s activity feed, or on your account’s [Events Page](https://cloud.linode.com/events). The events and activity pages are user accessible logs, or histories of events taking place on your account. They contain details regarding the most notable events affecting your Linodes, like reboots, shutdowns, migrations, and more. - -For more details, see the [Understanding Events and Activity Feeds](/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/) guide. - -## My Profile - -The **My Profile** section of Cloud Manager provides access to various settings related to your Linode account's profile. This area of Cloud Manager contains access to the following features and settings: - -- [Changing your account's associated email address](/docs/products/platform/accounts/guides/change-user-email/) -- [Resetting your Account password](/docs/products/platform/accounts/guides/reset-user-password/) -- [Enabling two-factor authentication](/docs/products/platform/accounts/guides/user-security-controls/#2fa-two-factor-authentication) -- [Enabling Third Party Authentication (TPA)](/docs/guides/third-party-authentication/) -- Managing trusted devices -- [Adding and managing public SSH keys](/docs/products/platform/accounts/guides/manage-ssh-keys/) -- [Managing LISH authentication methods](/docs/products/compute/compute-instances/guides/lish/#add-your-public-key) -- [Adding and managing personal and third party API v4 access tokens](/docs/products/platform/accounts/guides/manage-api-tokens/) -- [Creating and managing OAuth Apps](/docs/guides/create-an-oauth-app-with-the-python-api-library/#obtaining-a-client-id-and-a-client-secret) -- [Linode Referral Program](/docs/products/platform/billing/guides/referral-program/) -- Enable email alerts for account activity - -### OAuth Apps - -Cloud Manager supports the OAuth 2 authorization protocol. OAuth 2 allows a user to safely grant a third-party app permission to act on their behalf. This means that a user could authorize an app to access data and / or make changes to their Linode account and services that are exposed by the Linode API. For example, an app could create or destroy Linodes, manage a NodeBalancer, or alter a domain. - -To learn how to get started with OAuth Apps see the [How To Create an OAuth App with the Linode Python API Library](/docs/guides/create-an-oauth-app-with-the-python-api-library/) guide. For details on the Linode API v4's OAuth workflow see the [Linode API v4 documentation](https://techdocs.akamai.com/linode-api/reference/api-summary#oauth-clients-list). - -### Manage Email Event Notifications - -To learn more about events and how to enable or disable email notifications for these events, see the [Understanding Events and the Activity Feed](/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/) guide. - -### Change the Theme (Dark Mode) - -Cloud Manager provides a way to set your preferred UI theme, including a light theme, dark theme, and the system theme. - -1. Navigate to your profile by clicking on your username and select **My Settings**. - -1. Within the **Theme** section, select your preferred theme from the available options: *Light*, *Dark*, or *System*. Once a selection is made, Cloud Manager's interface immediately switches to that theme. - -### Set the Timezone - -All events displayed in Cloud Manager are shown using your user's timezone setting. The timezone can be modified in your display settings. - -1. Navigate to your profile by clicking on your username and select **Display**. - -1. In the **Timezone** field, select your preferred timezone from the menu. - -1. Click the **Update Timezone** button to save your settings. - -## Accessibility - -Cloud Manager has been built with accessibility in mind. Currently, Cloud Manager is actively being developed to achieve [WCAG 2.0 Level AA](https://www.w3.org/TR/WCAG20/). - -We have received much helpful feedback from our users regarding accessibility. While we have addressed a lot of your feedback, this is still a work in progress and will be iterated upon with time. If you have comments or requests regarding accessibility, let us know by filling out our [feedback form](https://www.linode.com/feedback/). - -## Experience Improvements - -We're making improvements to Cloud Manager so that we can deliver a high-quality and consistent user experience across product families. These experience updates are driven by our new Akamai Core Design System. - -*This section will be updated as we roll out additional experience improvements to Cloud Manager. For a list of all changes to Cloud Manager, review the [Cloud Manager changelog](https://github.com/linode/manager/releases).* - -### July 2024 - -In early July, we've made minor branding changes to Cloud Manager. As part of these changes, we've implemented higher color contrast to improve the accessibility of both text and interactive components. Review the screenshots below for a closer look at the changes. - -| Previous Design | Updated Design   | -| -- | -- | -| ![Screenshot of the previous light theme in Cloud Manager](cloud-manager-previous-light.jpg) | ![Screenshot of the new light theme in Cloud Manager](cloud-manager-new-light.jpg) | -| ![Screenshot of the previous dark theme in Cloud Manager](cloud-manager-previous-dark.jpg) | ![Screenshot of the new dark theme in Cloud Manager](cloud-manager-new-dark.jpg) | \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/L_SearchInCloudManager.png b/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/L_SearchInCloudManager.png deleted file mode 100644 index e56ee39578a..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/L_SearchInCloudManager.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/Searchinginthe-CloudManager.png b/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/Searchinginthe-CloudManager.png deleted file mode 100644 index 68fc9d20d78..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/Searchinginthe-CloudManager.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/cloud-manager-search-error.png b/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/cloud-manager-search-error.png deleted file mode 100644 index 8c99b128c6a..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/cloud-manager-search-error.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/index.md b/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/index.md deleted file mode 100644 index 28ce7211a53..00000000000 --- a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/index.md +++ /dev/null @@ -1,125 +0,0 @@ ---- -slug: search-in-cloud-manager -title: "How to Search in Cloud Manager" -description: "How to Leverage the Advanced Search Function of Cloud Manager." -published: 2020-01-08 -modified: 2024-07-29 -keywords: ['search','advanced search','keywords','cloud manager'] -image: L_SearchInCloudManager.png -tags: ["linode platform","cloud manager"] -aliases: ['/quick-answers/linode-platform/how-to-search-in-the-cloud-manager/','/guides/how-to-search-in-the-cloud-manager/'] ---- - -Cloud Manager includes a search tool at the top of the dashboard which can be used to search for a large number of active services on your account, including Linodes, Volumes, NodeBalancers, Domains, Tags, and more. - -![Cloud Manager Search Bar](searchbar.png) - -This guide covers the capabilities of this search tool so that you and your team can leverage it to find and access your resources quickly and efficiently. - -## Standard Search - -A standard search without the use of any keywords or operators defaults to searching for active labels, tags, and IP addresses. In the following example, the search for the string "production" is used to pull up all of the resources which match this string, including both tags and labels. - -![Wildcard Search for Production](wildcardsearch.png) - -This kind of search is sufficient if you only have a few resources. However, if you have a large number of resources, the number of returned values can become difficult to parse. The following, more advanced tools, can be more helpful in these situations. - -## Keywords - -The search tool can also be used with keywords to help filter and refine the results. Here is a list of common keywords and their definitions: - -| Keyword | Definition | -| -- | -- | -| `type` | Type of resource. Linode, image, NodeBalancer, etc. | -| `tag` | Tag applied to your resources. See the guide on [Tags and Groups](/docs/products/tools/cloud-manager/guides/tags-and-groups/). | -| `label` | The label or identifier for your Linode. | -| `region` | The region for your resources, such as `us-east`. For a full list of regions, see the return values from the API or CLI [List Regions](https://techdocs.akamai.com/linode-api/reference/api-summary#regions-list) endpoint. | -| `IP` | The IP address of your resource. | -| `created` | The date your resource was created. | -| `status` | A brief description of a Linode's current state. See the API [View Linode](https://techdocs.akamai.com/linode-api/reference/api-summary#linode-view) endpoint status field for all possible values. | - -The syntax for using keywords is: - -``` -keyword:string defined by the keyword to limit your search -``` - -For example, to search for all images on your account, you would enter the following: - -``` -type:image -``` - -To find all applicable resources created in the year 2020: - -``` -created:2020 -``` - -You can make this more focused by combining the standard search with the keywords. For example, the following query searches for NodeBalancers with the label or tag ecommerce: - -``` -type:NodeBalancer ecommerce -``` - -## Standard Logical Operators - -Cloud Manager includes support for standard logical operators `OR`, `AND`, and `-` (NOT) which can help to filter the results of your search further. - -### OR - -`OR` can be used to search for multiple different keywords in a single query. For example, use the following query to display all Linodes and Images on your account: - -``` -type:linode OR type:image -``` - -### AND - -`AND` will allow you to narrow your search more precisely for additional qualifiers. The following search finds all of the Linodes which also match the `production` tag: - -``` -type:linode AND tag:production -``` - -### NOT - -The **NOT**, or negate, operator is used by preceding the keyword with a `-` symbol. A negate operator can be used to return all values that are **NOT** defined by the negate operator. For example, this query will return everything except Linodes: - -``` --type:linode -``` - -## Aliases - -Some operators and keywords include one or more aliases that you can use as an alternative to standard usage. Aliases and their standard equivalent(s) are in the chart below. - -| Standard | Alias(es) | -|:--------------|:------------| -| **AND** | **&&** | -| **OR** | **|****|** | -| **tag** | **tags** or **group** | -| **label** | **name** or **title** | -| **type** | **is** | - -## Nested Queries - -You can nest queries using parentheses for an even higher level of control. For example, if you want to search for all of your domains created in 2010, as well as all of your Linodes that match the tag `my-tag`, you can use the following nested query: - -``` -(type:domain AND created:2010) OR (type:linode AND tag:my-tag) -``` - -## Combining Queries - -The most robust functionality of the search tool can be used by combining and grouping queries to create compound queries. For example, you can see all of the advanced features outlined in this guide in a single query: - -``` -type:linode AND -group:production || (type:NodeBalancer && tag:mytag) -``` - -## Invalid Search Results - -If you search for an invalid keyword, a string that doesn't match a keyword like an invalid status, or a search that comes up empty, Cloud Manager displays an error screen. - -![Search Error](cloud-manager-search-error.png) \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/searchbar.png b/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/searchbar.png deleted file mode 100644 index 602392f2ba2..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/searchbar.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/wildcardsearch.png b/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/wildcardsearch.png deleted file mode 100644 index 07b2ec0fdf1..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/search-in-cloud-manager/wildcardsearch.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/add-tags-lke.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/add-tags-lke.png deleted file mode 100644 index 55f7e1c28a7..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/add-tags-lke.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/create-new-tag-lke.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/create-new-tag-lke.png deleted file mode 100644 index e4f7b10d03d..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/create-new-tag-lke.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/group-linode-tags.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/group-linode-tags.png deleted file mode 100644 index ea6a1cfd725..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/group-linode-tags.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/index.md b/docs/products/tools/cloud-manager/guides/tags-and-groups/index.md deleted file mode 100644 index c396029547c..00000000000 --- a/docs/products/tools/cloud-manager/guides/tags-and-groups/index.md +++ /dev/null @@ -1,273 +0,0 @@ ---- -slug: tags-and-groups -title: "Tags and Groups" -description: "This guide provides you with instructions for creating tags and groups in Cloud Manager to keep your Linodes and other services organized as needed." -published: 2019-02-22 -keywords: ['tags','cloud manager'] -tags: ["linode platform","cloud manager"] -aliases: ['/quick-answers/linode-platform/tags-and-groups/','/guides/tags-and-groups/'] ---- - -Both [Cloud Manager](https://cloud.linode.com) and the [Linode API](https://developers.linode.com) let you to create tags to help organize and group your Linode resources. Tags can be applied to Linodes, [Block Storage Volumes](/docs/products/storage/block-storage/), [NodeBalancers](/docs/products/networking/nodebalancers/get-started/), and [Domains](/docs/products/networking/dns-manager/). - -This guide demonstrates how to perform the following actions with Cloud Manager: - -- Create and apply tags to your Linode resources -- Search and group your Linode resources by tag -- Import tags from the Classic Manager - -## Tagging a Linode - -### Tag a Linode at Creation - -To tag a Linode at the time of its creation: - -1. In the **Create New Linode** form, click the dropdown menu labeled **Add Tags** located below the **Linode Label** field. - -1. Select one or more tags from the menu. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears: - - ![Add Tags field in the Linode creation form](tags-new-linode.png "Select an existing tag or tags, or provide a new tag with the 'Add Tags' dropdown.") - -1. Your tag will be applied when you finish creating the Linode. - -### Tag an Existing Linode - -To tag an existing Linode: - -1. Navigate to the Linode's detail page. - -1. Click on the **Summary** tab. - -1. Locate the **Tags** pane and click on the **Add New Tag** option. - -1. Select one or more tags from the dropdown menu that appears. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears: - - ![Location of Tags box for a Linode](tags-existing-linode.png "Find the 'Tags' box and select an existing tag or tags, or type to add a new one.") - -### Remove a Tag from a Linode - -To remove a tag from a Linode: - -1. Navigate to the Linode's detail page. - -1. Click on the **Summary** tab. - -1. Locate the **Tags** box. A list of your tags for the Linode will be displayed. - -1. Click on the **X** icon attached to the tag you would like to remove from your Linode. - -## Tagging a Volume - -### Tag a Volume at Creation - -To tag a Volume at the time of its creation: - -1. In the **Create a Volume** form, select the dropdown menu labeled **Tags**. - -1. Select one or more tags from the menu. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears. - - ![Tags field in the Volume creation form](tags-new-volume.png "Select the tag you would like to use from the 'Tags' dropdown menu, or type to create a new tag") - -1. Once you are done configuring the Volume, click **Submit**. - -### Tag an Existing Volume - -To tag an existing Volume: - -1. Navigate to the Volumes page of Cloud Manager. - -1. Select the more options **ellipsis (...)** corresponding to the Volume you would like to tag. - -1. Select **Edit Volume** from the menu that appears. - -1. The **Edit volume** form will appear. Click on the dropdown menu labeled **Tags**. - -1. Select one or more tags from the form. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears. - -1. When you are done, click **Submit**: - - ![Tags field in the Edit volume form](tags-existing-volume.png "Select the tag you would like to use from the 'Tags' dropdown menu, or type to create a new tag") - -### Remove a Tag from a Volume - -To remove a tag from a Volume: - -1. Navigate to the Volumes page of Cloud Manager. - -1. Select the more options **ellipsis (...)** corresponding to the Volume whose tags you would like to edit. - -1. Select **Edit Volume** from the menu that appears. - -1. The **Edit volume** form will appear. A list of your tags for the Volume will be displayed in the **Tags** field. - -1. Click on the **x** icon attached to the tag you would like to remove from your Volume. - -## Tagging a NodeBalancer - -### Tag a NodeBalancer at Creation - -To tag a NodeBalancer at the time of its creation: - -1. In the **Create a NodeBalancer** form, click the dropdown menu labeled **Add Tags** under the **NodeBalancer Label** field. - -1. Select one or more tags from the menu. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears. - - ![Add Tags field in the NodeBalancer creation form](tags-new-nodebalancer.png "Select the tag you would like to use from the 'Add Tags' dropdown menu, or type to create a new tag.") - -1. Once you are done configuring the NodeBalancer, click **Create**. - -### Tag an Existing NodeBalancer - -To tag an existing NodeBalancer: - -1. Navigate to the NodeBalancer's detail page. - -1. Click on the **Summary** tab. - -1. Locate the **Tags** pane and click on the **Add New Tag** option. - -1. Select one or more tags from the dropdown menu that appears. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears: - - ![Location of Tags box for a NodeBalancer](tags-existing-nodebalancer.png "Find the 'Tags' box and either select an existing tag, or type in a new one.") - -### Remove a Tag from a NodeBalancer - -To remove a tag from a NodeBalancer: - -1. Navigate to the NodeBalancer's detail page. - -1. Click on the **Summary** tab. - -1. Locate the **Tags** pane. A list of your tags for the NodeBalancer will be displayed. - -1. Click on the **x** icon attached to the tag you would like to remove from your NodeBalancer. - -## Tagging a Domain - -### Tag a Domain at Creation - -To tag a domain at the time of its creation: - -1. In the **Add a new Domain** form, click the dropdown menu labeled **Add Tags**. - -1. Select one or more tags from the menu. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears: - - ![Tags field in the domain creation form](tags-new-domain.png "Select the tag you would like to use from the 'Tags' dropdown menu, or type to create a new tag.") - -### Tag an Existing Domain - -To tag an existing domain: - -1. Navigate to the domain's detail page. - -1. Click on the **DNS Records** tab. - -1. Locate the pane labeled **Tags** and click on the **Add New Tag** option. - -1. Select one or more tags from the dropdown menu that appears. To create a new tag, type in the desired tag name and click the **Create "new-tag"** option that appears: - - ![Location of Tags box for a domain](tags-existing-domain.png "Find the 'Tags' box and select an existing tag or tags, or type to add a new one.") - -### Remove a Tag from a Domain - -To remove a tag from a domain: - -1. Navigate to the domain's detail page. - -1. Click on the **DNS Records** tab. - -1. Locate the **Tags** pane. A list of your tags for the Domain will be displayed. - -1. Click on the **x** icon attached to the tag you would like to remove from your domain. - -## Tagging an LKE Cluster - -### Tag an LKE Cluster at Creation - -1. Navigate to the **Kubernetes** section of Cloud Manager and [create your LKE cluster](/docs/products/compute/kubernetes/guides/create-cluster/). - -1. After the cluster is created, your cluster's summary page will appear. Click on the **Add a tag** link to begin adding tags to your cluster. - - ![Click on the Add Tags link to begin adding tags](add-tags-lke.png) - -1. You can create a new tag and assign it to your cluster by typing the tag into the text entry box and clicking on the **Create my-new-tag** entry that appears. - - ![Create a new tag and add it to your LKE cluster](create-new-tag-lke.png) - - If you'd like to use an existing tag, select it from the dropdown list that appears. - - ![Select and existing tag and add it to your LKE cluster](select-existing-tag-lke.png) - - When your tag has been added to your cluster, you will see it appear on your cluster's summary page. - - ![Select and existing tag and add it to your LKE cluster](view-clusters-tags-lke.png) - -### Tag an Existing LKE Cluster - -1. Navigate to the **Kubernetes** section of Cloud Manager and select the cluster you'd like to add a tag to. - -1. Viewing your cluster's summary page, click on the **Add a tag** link to begin adding tags to your cluster. - - ![Click on the Add Tags link to begin adding tags](add-tags-lke.png) - -1. You can create a new tag and assign it to your cluster by typing the tag into the text entry box and clicking on the **Create my-new-tag** entry that appears. - - ![Create a new tag and add it to your LKE cluster](create-new-tag-lke.png) - - If you'd like to use an existing tag, select it from the dropdown list that appears. - - ![Select and existing tag and add it to your LKE cluster](select-existing-tag-lke.png) - - When your tag has been added to your cluster, you will see it appear on your cluster's summary page. - - ![Your tag has been successfully added to your cluster](view-clusters-tags-lke.png) - -### Remove a Tag from an LKE Cluster - -1. Navigate to the **Kubernetes** section of Cloud Manager and select the cluster from which you'd like to remove a tag. - -1. Viewing the cluster's summary page, you will see a list of all of your cluster's tags. To remove a tag, click on the **x** next to the tag you'd like to remove. - - ![Remove an existing LKE cluster's tag.](remove-tag-lke.png) - -## Grouping by Tag - -You can group the following resources by tag: Linodes, Volumes, NodeBalancers, and Domains. - -1. To group by tag, navigate to the resource's page and toggle the **Group by Tag** switch at the top of the page: - - ![Cloud Manager Group by Tag switch](tags-group-linodes.png "To group Linodes by tag, toggle the 'Group by Tag' box at the top of the Linodes page") - -1. You will now be able to view your resources grouped by tag: - - ![Group your Linodes by tag](group-linode-tags.png "View all your grouped by tags Linodes") - -## Searching by Tag - -You can search your Linode resources by a tag's name: - -1. Type the tag name into the search bar at the top of Cloud Manager and the results will be populated in a dropdown list that appears: - - ![Cloud Manager tag search](tags-search-bar.png "Search for resources by tag") - -1. To see a more organized view of your tagged resources, click on the blue **View search results page** banner inside the dropdown list, or hit the **Enter** key on your keyboard. You will be taken to the search results page: - - ![Cloud Manager search results page](tags-search-results.png "The search results page") - -1. A second way to search by tag is to click on a tag wherever it appears in Cloud Manager. For example, if you previously applied a tag named `tag-example` to one of your Linodes, clicking on that tag where it is displayed in the Linode's detail page will take you to the search results page for `tag-example`. - -## Importing Groups as Tags - -If you have used the Display Groups feature in the Classic Manager, you can import your Display Groups to Cloud Manager as tags: - -1. Navigate to the **Account** page in the sidebar links menu, then click on the **Settings** tab. - -1. Expand the panel labeled **Import Display Groups as Tags** and then click **Import Display Groups**: - - ![Cloud Manager import display groups as tags](tags-import-groups.png "Import display groups from the Classic Manager with the 'Import Display Groups' button in Account Settings") - -1. A form will appear that lists your Display Groups and asks you to confirm the import action. To proceed, click the **Import Display Groups Now** button in this form. - - {{< note >}} - Importing your Display Groups is a **one-time** operation. If you don't have any Display Groups configured in the Classic Manager this feature will not appear in Cloud Manager. - {{< /note >}} \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/remove-tag-lke.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/remove-tag-lke.png deleted file mode 100644 index 17a62821c65..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/remove-tag-lke.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/select-existing-tag-lke.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/select-existing-tag-lke.png deleted file mode 100644 index fba2076f0f2..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/select-existing-tag-lke.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-domain.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-domain.png deleted file mode 100644 index fb2b7aaee9c..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-domain.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-linode.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-linode.png deleted file mode 100644 index 313424f53d3..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-linode.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-nodebalancer.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-nodebalancer.png deleted file mode 100644 index 65e252bbf68..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-nodebalancer.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-volume.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-volume.png deleted file mode 100644 index 4ee4a9fe21f..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-existing-volume.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-group-linodes.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-group-linodes.png deleted file mode 100644 index c935230415e..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-group-linodes.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-import-groups.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-import-groups.png deleted file mode 100644 index 978f703986d..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-import-groups.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-domain.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-domain.png deleted file mode 100644 index a162d5fb44f..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-domain.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-linode.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-linode.png deleted file mode 100644 index 8717ed4c365..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-linode.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-nodebalancer.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-nodebalancer.png deleted file mode 100644 index 7a4750fd77c..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-nodebalancer.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-volume.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-volume.png deleted file mode 100644 index a1748658f34..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-new-volume.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-search-bar.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-search-bar.png deleted file mode 100644 index 2d212ae1b8c..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-search-bar.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-search-results.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-search-results.png deleted file mode 100644 index a0c50336424..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/tags-search-results.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/tags-and-groups/view-clusters-tags-lke.png b/docs/products/tools/cloud-manager/guides/tags-and-groups/view-clusters-tags-lke.png deleted file mode 100644 index ae76b37daa1..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/tags-and-groups/view-clusters-tags-lke.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/L_UnderstandCommonClManErrors.png b/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/L_UnderstandCommonClManErrors.png deleted file mode 100644 index bce2d8b3a46..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/L_UnderstandCommonClManErrors.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/UnderstandingCommonCloudManagerErrors.png b/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/UnderstandingCommonCloudManagerErrors.png deleted file mode 100644 index e7d43f29075..00000000000 Binary files a/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/UnderstandingCommonCloudManagerErrors.png and /dev/null differ diff --git a/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/index.md b/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/index.md deleted file mode 100644 index 9c952409f8c..00000000000 --- a/docs/products/tools/cloud-manager/guides/troubleshooting-cloud-manager-errors/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -slug: troubleshooting-cloud-manager-errors -title: "Troubleshooting Cloud Manager Errors" -description: "This guide provides information and troubleshooting steps for possible Cloud Manager errors." -published: 2019-02-22 -keywords: ['error','account limit','limit','activated', 'before you can', 'please try again', 'open a support ticket'] -aliases: ['/quick-answers/linode-platform/an-overview-of-common-cloud-manager-errors/','/quick-answers/linode-platform/understanding-cloud-manager-errors/','/guides/an-overview-of-common-cloud-manager-errors/'] -image: L_UnderstandCommonClManErrors.png -tags: ["linode platform","cloud manager"] ---- - -Have you ever encountered an error message while navigating Cloud Manager and wanted more information as to what may have triggered the error and what your best next steps may be? In this guide we'll go over some common error messages in a higher level of detail than are traditionally provided, and discuss your best path forward. - -{{< note >}} -For more information on troubleshooting, see the [Troubleshooting Section](/docs/guides/troubleshooting/) of our documentation. -{{< /note >}} - -## Error Retrieving Linodes - -**There was an error retrieving your Linodes. Please try again later.** - -The above error means that there is an issue retrieving your Linodes from our backend servers. As a first step, you should check our status page at [status.linode.com](https://status.linode.com) to ensure that there are no current issues that may be effecting your Linodes or our service. If you see a current issue, you can rest assured that we're investigating and will work to bring your services back online as quickly as possible. - -If the status page shows that everything is all clear, then the next step is to attempt to clear your web browser cache, as this can sometimes cause an issue in loading resources. The method for completing this process varies between browsers, however it usually involves opening your browsers full history and finding an option to clear it. - -If all else fails, you should reach out to our 24/7 [Support Team](https://www.linode.com/support/) for more direct assistance. Additionally, we can also recommend attempting to access your resources through alternative means such as our [API](/docs/products/tools/api/) or [CLI](/docs/products/tools/cli/get-started/) if our Manager is inaccessible for any reason. - -## Error Retrieving Network Information - -**There was an error retrieving network information for this Linode.** - -When you create a new Linode, it can take some time to gather enough data about your Linode's networking traffic to create an output for Cloud Manager. During the time that information is being gathered, the Network Tab will output the message **There was an error retrieving network information for this Linode** in place of the Network Transfer History graph. To confirm that there hasn't been enough analytical data gathered from the Linode, check the Analytics tab, which should state Graphs for this Linode are not yet available - check back later in place of its usual graphs. - -The amount of time it takes the Network Transfer History graph to populate can vary depending on multiple factors including which distribution you've chosen for your Linode, which data center the Linode is in, and any scripts which were used to deploy the Linode. - -If you are still seeing this message after a considerable amount of time, it is recommended that you attempt to clear your web browser cache, as this can sometimes cause an issue in loading resources. The method for completing this process varies between browsers, however it usually involves opening your browser's full history and finding an option to clear it. - -If clearing the browser cache doesn't clear the message or you are noticing networking issues on your Linode beyond this message please see the [Troubleshooting Basic Connection Issues guide](/docs/products/compute/compute-instances/guides/troubleshooting-connection-issues/). - -## Your Account Must Be Activated - -**Your account must be activated before you can use this endpoint** - -Generally the above message will occur when you've recently signed up for new services and your account has not yet fully activated. The best next step is to check your e-mail address for further instructions. - -## Account Limit Reached - -**Account Limit Reached. Please open a support ticket.** - -If you see the following message, then you'll be unable to create a resource due to a limit currently set on your account. Our [Support Team](https://www.linode.com/support/) will be able to help to either increase this limit, or provide insight into why the limit may be in place. - -The reasons behind these limits can vary, though in most cases are related to default resource limits set on your account. - -## Your DNS Zones are Not Being Served - -**Your DNS zones are not being served. Your domains will not be served by Linode's nameservers unless you have at least one Linode present on your account. You can create one here.** - -This message is seen when using the DNS Manager without any active Compute Instances. While the DNS Manager is a free service, it does require that at least one active Compute Instance is present on your account. See [DNS Manager Pricing and Availability](/docs/products/networking/dns-manager/#pricing-and-availability). \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/release-notes/index.md b/docs/products/tools/cloud-manager/release-notes/index.md deleted file mode 100644 index bde97923f7b..00000000000 --- a/docs/products/tools/cloud-manager/release-notes/index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Release Notes -title_meta: "Release Notes for Cloud Manager" -description: "Learn more about what's new and changing on Cloud Manager by reviewing the changelog entries." -published: 2022-11-07 -modified: 2024-06-11 -promo_default: false -tab_group_main: - weight: 100 ---- - -Release notes for Cloud Manager are located on Cloud Manager's public GitHub repository. See the [Releases](https://github.com/linode/manager/releases) page on the [linode/manager](https://github.com/linode/manager/) repository. \ No newline at end of file diff --git a/docs/products/tools/cloud-manager/resources/index.md b/docs/products/tools/cloud-manager/resources/index.md deleted file mode 100644 index 74a984c991b..00000000000 --- a/docs/products/tools/cloud-manager/resources/index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Cloud Manager" -description: "Resources and other information related to Cloud Manager including videos, blog posts, community posts and customer stories." -published: 2020-06-02 -tab_group_main: - weight: 40 ---- - -## Videos - -- [Linode, Explained](https://www.linode.com/content/linode-explained/) - -## Blog Posts - -- [Notice: Linode Classic Manager Users](https://www.linode.com/blog/linode/notice-legacy-linode-manager-users/) - -- [Linode Manager Two-Step Authentication](https://www.linode.com/blog/linode/linode-manager-two-step-auth/) - -- [GitHub Third-Part Authentication Speeds Up Sign-In](https://www.linode.com/blog/linode/github-third-party-authentication/) - -- [Linode at 17: A bunch of updates](https://www.linode.com/blog/linode/linode-turns-17/) - -- [Linode Community Update - November 2018](https://www.linode.com/blog/cloud-computing/linode-community-update-november-2018/) - -- [Linode turns 14!](https://www.linode.com/blog/linode/linode-turns-14/) - -- [High-Memory Instances and $5 Linodes](https://www.linode.com/blog/linode/high-memory-instances-and-5-linodes/) - -- [PayPal Payments](https://www.linode.com/blog/linode/paypal-payments/) - -- [Linode’s 13th Birthday - Gifts for All!](https://www.linode.com/blog/linode/linodes-13th-birthday-gifts-for-all/) - -## Community Posts - -- [How do I go about adjusting my Cloud account’s preferred timezone?](https://www.linode.com/community/questions/18540/how-do-i-go-about-adjusting-my-cloud-accounts-preferred-timezone) - -- [Does New Linode Cloud Manager Use a JavaScript Framework?](https://www.linode.com/community/questions/18186/does-new-linode-cloud-manager-use-a-javascript-framework) - -- [How do I secure my Linode account?](https://www.linode.com/community/questions/307/how-do-i-secure-my-linode-account) - -- [Finding my Linodes when I have lots and lots of them](https://www.linode.com/community/questions/19373/finding-my-linodes-when-i-have-lots-and-lots-of-them) - -- [How does the Trusted Device option for Cloud Manager work?](https://www.linode.com/community/questions/18637/how-does-the-trusted-device-option-for-cloud-manager-work) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=cloud+manager). - -## Customer Stories - -- [Craft of Code Bernd Hilmar](https://www.linode.com/spotlight/bernd-hilmar/) diff --git a/docs/products/tools/feature.svg b/docs/products/tools/feature.svg deleted file mode 100644 index f8e404e3c4f..00000000000 --- a/docs/products/tools/feature.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/products/tools/images/_index.md b/docs/products/tools/images/_index.md deleted file mode 100644 index 365afc2f43d..00000000000 --- a/docs/products/tools/images/_index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: "Images" -title_meta: "Custom Images Product Documentation" -description: "Custom Images allow for rapid deployments of preconfigured disks to new or existing Compute Instances. They can be easily created by capturing a disk on an existing Instance or uploading an image file." -published: 2020-06-02 -modified: 2023-11-29 -keywords: ["linode Images", "imagize"] -tags: ["linode platform","cloud manager"] -aliases: ['/guides/linode-images/','/linode-images/','/platform/disk-images/linode-images/','/platform/disk-images/linode-images-classic-manager/','/platform/linode-images/','/platform/disk-images/linode-images-new-manager/'] -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "Create preconfigured disk images that can be rapidly deployed to new or existing Compute Instances." ---- - -Linode's **Images** service allows users to store custom disk images in the Cloud. These images can be preconfigured with the exact software and settings required for your applications and workloads. Once created, they can be quickly deployed to new or existing Linode Compute Instances, saving users time from manually setting up their entire system after each deployment. - -## Create Golden Images - -Easily create, store, and deploy *golden images* on your Linode account. A golden image is a term for an image preconfigured with the exact software, settings, and data files you desire for a particular application. Configure your software once and then create a Custom Image based on that environment. This Custom Image can then be rapidly deployed to any Compute Instance, saving you time from having to manually configure each system. - -## Retain Disks - -Custom Images can also be used to quickly take a snapshot of a disk on an existing Compute Instance. This provides you with a copy of those disks should they need to be restored. For more comprehensive backups, including automated backups, consider using our [Backup Service](/docs/products/storage/backups/). - -## Recover Recently Deleted Compute Instances - -Accidentally deleting a production server will almost certainly impact your users and business. Linode's Custom Images service makes recovery easier by saving temporary **Recovery Images** on your account. These images can be used to quickly restore the disks from a recently deleted Compute Instance. Linode offers this service as a convenience and it's important to note that a well rounded backup strategy typically involves multiple solutions (see [Backing Up Your Data](/docs/guides/backing-up-your-data/)). - -## Recommended Workloads - -- Web or software agencies deploying similar starter configurations for clients -- Development workflows requiring the same base image for all developers or applications -- Workflows requiring distributions other than [those provided by Linode](/docs/products/compute/compute-instances/guides/distributions/) - -## Availability - -Images can be created and deployed across [all regions](https://www.linode.com/global-infrastructure/). - -## Pricing - -Custom Images cost $0.10/GB per month. - -{{< note >}} -Recovery Images, which are generated automatically after a Compute Instance is deleted, are provided at no charge. -{{< /note >}} - -## Technical Specifications - -- **Maximum image size:** A Custom Image can be up to **6 GB\*** in size. When uploading a custom image, this is the maximum _uncompressed_ size. - -- **Account limits:** Each account can store up to **25\*** Custom Images, offering **150 GB\*** of combined storage for all images on the account. - -- **File system support:** **ext3** and **ext4** file systems are supported. Raw disks or disks that have been formatted using other file systems are not supported. - -- **Upload image format and size limits:** The [.img](https://en.wikipedia.org/wiki/IMG_%28file_format%29) file format is supported when uploading an image file. This file should be compressed using [gzip](https://en.wikipedia.org/wiki/Gzip) (`.img.gz`). It can be up to **5GB** when compressed and, when uncompressed, up to the **maximum image size** as stated above. - -\* *If you need to store larger images (or more images), contact [Linode Support](https://www.linode.com/support/) with additional details of your applications or intended workloads.* - -### Additional Specifications - -- [Capture an Image > Requirements and Considerations](/docs/products/tools/images/guides/capture-an-image/#requirements-and-considerations) -- [Upload an Image > Requirements and Considerations](/docs/products/tools/images/guides/upload-an-image/#requirements-and-considerations) diff --git a/docs/products/tools/images/developers/index.md b/docs/products/tools/images/developers/index.md deleted file mode 100644 index f6add3b7d56..00000000000 --- a/docs/products/tools/images/developers/index.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Custom Images" -description: "Linode Images are managed easily with developer tools like the Linode API or CLI." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s API v4 provides the ability to programmatically manage the full range of Linode products and services. -[Linode Images Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to [use and install the Linode CLI](/docs/products/tools/cli/get-started/) to get started. \ No newline at end of file diff --git a/docs/products/tools/images/feature.svg b/docs/products/tools/images/feature.svg deleted file mode 100644 index 501ddfd25af..00000000000 --- a/docs/products/tools/images/feature.svg +++ /dev/null @@ -1,9 +0,0 @@ - - Images - - - - - - - \ No newline at end of file diff --git a/docs/products/tools/images/get-started/index.md b/docs/products/tools/images/get-started/index.md deleted file mode 100644 index aa63aafb52f..00000000000 --- a/docs/products/tools/images/get-started/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Custom Images" -description: "Get started with Linode Images. Learn to create an image with the Linode Images service." -tab_group_main: - weight: 20 ---- - -All Images stored on your Account are visible from the main **Images** page within Cloud Manager. Images are divided between two tables: *Custom Images* and *Recovery Images*. - -- **Custom Images:** Images that are manually created by a user on the account. These Images were either captured from an existing Compute Instance's disk or uploaded from an image file. Custom Images do not expire and remain on the account until they are manually deleted. - -- **Recovery Images:** Temporary Images that are automatically created when a Compute Instance is deleted (provided the Instance has been active for at least 12 hours). Recovery Images have a defined expiration date and, once expired, are automatically deleted. The expiration timeline is typically equal to the number of hours the Instance was active, up to 7 days. - -## Creating an Image - -Within the **Images** page of Cloud Manager, click **Create Image**. - -- To capture an Image from an existing Compute Instances's disk, complete the form under the **Capture Image** tab. See [Capture an Image](/docs/products/tools/images/guides/capture-an-image/) for full instructions. -- To upload an Image using an image file, complete the form under the **Upload Image** tab. See [Upload an Image](/docs/products/tools/images/guides/upload-an-image/) for full instructions. - -## Deploying and Managing Existing Images - -To take action on an Image, locate the Image within the **Images** page of Cloud Manager and click the corresponding **ellipsis** options menu. From here, there are a few actions that can be initiated: - -- **Edit:** Change the *Label* and *Description* for the Image. -- **Deploy to a New Compute Instance:** Create a new Compute Instance using the Image. See [Deploy an Image to a New Compute Instance](/docs/products/tools/images/guides/deploy-image-to-new-linode/). -- **Deploy to an Existing Compute Instance:** Rebuild an Instance or create a new disk using the Image. See [Deploy an Image to an Existing Compute Instance](/docs/products/tools/images/guides/deploy-image-to-existing-linode/). -- **Delete:** Delete the Image (cannot be undone). - diff --git a/docs/products/tools/images/guides/_index.md b/docs/products/tools/images/guides/_index.md deleted file mode 100644 index 013a0b50ea4..00000000000 --- a/docs/products/tools/images/guides/_index.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Custom Images" -description: "Learn how to create and manage Linode Images and find guides on other related topics." -tab_group_main: - weight: 30 ---- - -## Basics - -### Create an Image - -- [Capture an Image](/docs/products/tools/images/guides/capture-an-image/): Create an Image from an existing Compute Instance. - -- [Upload an Image](/docs/products/tools/images/guides/upload-an-image/): Create an Image from an image file. - -### Deploy an Image - -- [Deploy an Image to a New Compute Instance](/docs/products/tools/images/guides/deploy-image-to-new-linode/): Create a new Compute Instance using an Image. - -- [Deploy an Image to an Existing Compute Instance](/docs/products/tools/images/guides/deploy-image-to-existing-linode/): Deploy an Image by either rebuilding an existing Compute Instance or adding a disk. - -## Going Further - -- [Using the Linode Packer Builder to Create Custom Images](/docs/guides/how-to-use-linode-packer-builder/) - -## Related Guides - -### Cloning and Disks - -- [Cloning a Linode](/docs/products/compute/compute-instances/guides/clone-instance/) - -- [Linode Disks and Storage](/docs/products/compute/compute-instances/guides/disks-and-storage/) - -- [Linode Configuration Profiles](/docs/products/compute/compute-instances/guides/configuration-profiles/) - -### Custom Distributions - -- [Install a Custom Distribution on a Linode](/docs/guides/install-a-custom-distribution/) - -### Migration - -- [Migrating a Google Cloud Platform VM Instance to Linode](/docs/guides/how-to-migrate-from-gcp-to-linode/) diff --git a/docs/products/tools/images/guides/capture-an-image/images-capture-status.png b/docs/products/tools/images/guides/capture-an-image/images-capture-status.png deleted file mode 100644 index 74c281c5242..00000000000 Binary files a/docs/products/tools/images/guides/capture-an-image/images-capture-status.png and /dev/null differ diff --git a/docs/products/tools/images/guides/capture-an-image/images-capture.png b/docs/products/tools/images/guides/capture-an-image/images-capture.png deleted file mode 100644 index 2791ad1cd90..00000000000 Binary files a/docs/products/tools/images/guides/capture-an-image/images-capture.png and /dev/null differ diff --git a/docs/products/tools/images/guides/capture-an-image/index.md b/docs/products/tools/images/guides/capture-an-image/index.md deleted file mode 100644 index 932745343a7..00000000000 --- a/docs/products/tools/images/guides/capture-an-image/index.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Capture an Image -description: "How to capture an Image from a Linode." -modified: 2023-06-01 ---- - -## Requirements and Considerations - -When capturing an image file from an existing Linode Compute Instance, keep the following limits, requirements, and considerations in mind. - -- Review the overall [Technical Specifications](/docs/products/tools/images/#technical-specifications) of the Custom Images service. - -- **The disk's internal storage utilization must be 10% less than the account's image size limit**. Since the default image size limit is 6 GB, your disk's storage usage should be under 5.4 GB in most cases. To check the internal disk usage, log in to the Compute Instance and run `df -h`. Within the output, locate the disk and review the value within the **Used** column. - -- **The disk must be formatted using ext3/ext4 filesystems.** Images cannot be created if you are using raw disks or disks that have been formatted using custom filesystems. CoreOS disk images are in RAW format. Images made from CoreOS disks can't be used to deploy new Linodes. - -- **Power off Linode to avoid database corruption.** If your Linode is running any active databases, it's recommended to power off the Linode down before creating the image. Creating an image that includes a running database can cause corruption or data loss in the imaged copy of the database. - -- **Only the selected disk is saved to the Image.** The Image is comprised only of the disk selected during the creation process. The Image does not store other aspects of the Linode, such as Configuration Profiles, Block Storage Volumes, IP Addresses, and other Linode-based settings. - -## Capturing an Image through Cloud Manager - -1. Log in to Cloud Manager and open the **[Capture Image](https://cloud.linode.com/images/create/disk)** form by navigating to the **Images** page, clicking the **Create Image** button, and staying on the **Capture Image** tab. - -1. Select your *Linode* and *Disk* from their respective dropdown lists and type in an optional *Label* and *Description* for the Image. If no *Label* is entered, the label for the disk will be used. When selecting a Linode and Disk, keep in mind any limitations that may prevent the Image from creating successfully. - - ![Select the Linode and disk](images-capture.png "Select the Linode and disk") - -1. Click the **Create** button to start creating the Image. It will take some time to fully complete. You can check the status of this process by navigating to the main **Images** page, finding the new image in the **Custom Images** table, and looking at the *Status* column. If the Image has been captured and processed, the status should be set to *Ready*. The *Size* of the Image is based on the disk's usage, not the size of the disk itself. - - ![Image status](images-capture-status.png "Image status") \ No newline at end of file diff --git a/docs/products/tools/images/guides/deploy-image-to-existing-linode/config-profile-boot.png b/docs/products/tools/images/guides/deploy-image-to-existing-linode/config-profile-boot.png deleted file mode 100644 index 48e0902f3f1..00000000000 Binary files a/docs/products/tools/images/guides/deploy-image-to-existing-linode/config-profile-boot.png and /dev/null differ diff --git a/docs/products/tools/images/guides/deploy-image-to-existing-linode/images-deploy-existing-linode.png b/docs/products/tools/images/guides/deploy-image-to-existing-linode/images-deploy-existing-linode.png deleted file mode 100644 index b5be134f8a4..00000000000 Binary files a/docs/products/tools/images/guides/deploy-image-to-existing-linode/images-deploy-existing-linode.png and /dev/null differ diff --git a/docs/products/tools/images/guides/deploy-image-to-existing-linode/index.md b/docs/products/tools/images/guides/deploy-image-to-existing-linode/index.md deleted file mode 100644 index 54055e9596a..00000000000 --- a/docs/products/tools/images/guides/deploy-image-to-existing-linode/index.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "Deploy an Image to an Existing Compute Instance" -description: "Learn how to deploy an Image to an existing Linode Compute Instance by rebuilding it or adding a new disk." -aliases: ['/guides/deploy-an-image-to-a-linode/','/quick-answers/linode-platform/deploy-an-image-to-a-linode/','/quick-answers/linode-platform/deploy-an-image-to-a-linode-classic-manager/'] ---- - -While it's typically more common to [deploy an Image to a *new* Compute Instance](/docs/products/tools/images/guides/deploy-image-to-new-linode/), you are also able to deploy an Image to an *existing* Instance. You may wish to do this if you want to maintain consistent billing or if you wish to add the Image alongside the existing data. - -There are two methods to deploy an Image to an existing Compute Instance: - -- [Rebuilding the Compute Instance](#deploy-an-image-by-rebuilding-a-compute-instance) -- [Adding a disk to the Compute Instance](#deploy-an-image-by-adding-a-disk-to-a-compute-instance) - -## Deploy an Image by Rebuilding a Compute Instance - -A common method of deploying an Image is to rebuild an existing Compute Instance with your desired Image. This deletes all data and disks on that Instance and creates new disks for the selected Image. Use this method only if you no longer need the data that's stored on the Instance. - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and navigate to the **Images** page. - -1. Locate the Image you wish to deploy and click the corresponding **ellipsis** options menu. Select **Rebuild an Existing Linode**. - - ![Rebuild an existing Linode with an Image](images-deploy-existing-linode.png) - -1. Within the **Restore from Image** panel that appears, select the Compute Instance to use and click the **Restore Image** button. - - ![The 'Restore from Image' panel in Cloud Manager](restore-from-image-panel.png) - -1. You are redirected to the dashboard page for that Linode and the **Rebuild** form is displayed with the chosen Image preselected. Complete the remainder of this form, making sure to select your desired **Root Password**, and any other options that may be needed. See [Rescue and Rebuild → Rebuilding](/docs/products/compute/compute-instances/guides/rescue-and-rebuild/#rebuilding) for full instructions on rebuilding a Linode. - -1. Click the **Rebuild Linode** button to rebuild the Linode. All existing disks will be deleted and a new disk will be created using the selected Image. - -## Deploy an Image by Adding a Disk to a Compute Instance - -If you instead wish to retain the data on your Compute Instance, you can add a disk with your desired Image to that Instance. This is useful if you wish to have multiple bootable configurations and only need to access one at a time. - -1. Log in to [Cloud Manager](https://cloud.linode.com/), click the **[Linodes](https://cloud.linode.com/linodes)** link in the sidebar, and select a Compute Instance from the list. - -1. **Create a disk with the Image**. Follow the instructions to [create a disk](/docs/products/compute/compute-instances/guides/disks-and-storage/#create-a-disk) using [Cloud Manager](https://cloud.linode.com/). Keep the following considerations in mind: - - - Confirm there is enough unallocated storage space to accommodate the new disk for the desired Image. If you aren't sure of the size of the Image, open the **[Images](https://cloud.linode.com/images)** page, find the Image within the list, and view the *Size* column. - - When creating the disk, select the **Create from Image** option and select the Image you wish to deploy. - -1. **Optionally create a swap disk**. Your image *may* require a swap disk in order to boot. If you already have a swap disk on your Compute Instance from a previous image deployment (visible under the **Disks** panel), you can reuse that same disk with your new image. Otherwise, you can create a new swap disk: - - 1. Navigate back to the Linode's **Storage** tab and click the **Add a Disk** button. - - 1. In the **Add Disk** form, select **Create Empty Disk** and choose the *swap* option from the **Filesystem** dropdown menu. Then enter a *Label* and *Size* (usually 128MB, 256MB, or 512MB). Click the **Add** button to create the disk. - -1. **Create or edit a configuration profile**. To boot using the new disk, the disk needs to be properly assigned within a new or existing [configuration profile](/docs/products/compute/compute-instances/guides/configuration-profiles/) and selected as the *Root Device*. - - 1. Navigate to the Linode's **Configuration** tab and click the **Add Configuration** button. It's also possible to adjust an existing configuration profile by clicking the *Edit* link next to that configuration. - - 1. Within the **Add (or Edit) Configuration** form that appears, assign the disk under **Block Device Assignment** and select that device as the **Root Device**. Here are the important fields within this form: - - | Field | Value | - |-------|-------------| - | Label | A name for the configuration profile. | - | Comments | Enter any comments that may help you remember the purpose for your new configuration profile, or any other notes you'd like to record. | - | Select a Kernel | In most cases, select *GRUB 2*. | - | /dev/sda | Choose the disk for the new Image that was just deployed. | - | /dev/sdb | Choose the swap disk, if one is available. | - - For all of Linode's standard distribution images, the other fields can retain their default values. For Custom Images, you may need to update other parts of the configuration profile. Review the [Managing Configuration Profiles on a Linode](/docs/products/compute/compute-instances/guides/configuration-profiles//#editing-a-configuration-profile) and [Install a Custom Distribution on a Linode](/docs/guides/install-a-custom-distribution/) guides for further guidance. - -1. Reboot the Compute Instance using the new Image. Navigate to the **Configuration** tab, find the new configuration profile in the list, and click the corresponding **Boot** link. This link may be displayed with the **More Options** ellipsis dropdown menu. - - ![Boot the configuration profile](config-profile-boot.png "Boot the configuration profile") - -For help with configuring the software on your new disk, review 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. diff --git a/docs/products/tools/images/guides/deploy-image-to-existing-linode/restore-from-image-panel.png b/docs/products/tools/images/guides/deploy-image-to-existing-linode/restore-from-image-panel.png deleted file mode 100644 index 6481e5f3fca..00000000000 Binary files a/docs/products/tools/images/guides/deploy-image-to-existing-linode/restore-from-image-panel.png and /dev/null differ diff --git a/docs/products/tools/images/guides/deploy-image-to-new-linode/images-deploy-new-linode.png b/docs/products/tools/images/guides/deploy-image-to-new-linode/images-deploy-new-linode.png deleted file mode 100644 index a85bcb4257c..00000000000 Binary files a/docs/products/tools/images/guides/deploy-image-to-new-linode/images-deploy-new-linode.png and /dev/null differ diff --git a/docs/products/tools/images/guides/deploy-image-to-new-linode/index.md b/docs/products/tools/images/guides/deploy-image-to-new-linode/index.md deleted file mode 100644 index df89d92a46d..00000000000 --- a/docs/products/tools/images/guides/deploy-image-to-new-linode/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Deploy an Image to a New Compute Instance -description: "Learn how to create a new Compute Instance from a Custom or Recovery Image" -modified: 2022-07-12 ---- - -1. Log in to Cloud Manager and navigate to the **Images** page. - -1. On this page, locate the Image you wish to deploy and click the corresponding **ellipsis** options menu. Select **Deploy to a New Linode**. - - ![Click the button labeled Deploy to a New Linode](images-deploy-new-linode.png) - -1. You are redirected to the **Create Linode** form with the chosen Image preselected. Complete the remainder of this form, making sure to select your desired **Region**, **Linode Plan**, **Label**, **Root Password**, and any other options that may be needed. See [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) for full instructions on creating a Linode. - -1. Click the **Create Linode** button to create the Linode based on the selected Image. - -If your new Compute Instance is not accessible through SSH or it does not respond to pings, check to see if Network Helper is enabled (see [Network Helper: Auto-Configure Networking on Compute Instances](/docs/products/compute/compute-instances/guides/network-helper/#individual-compute-instance-setting)). If it is disabled, the internal network configuration on your new instance is not automatically configured. In this case, you may need to either enable Network Helper and reboot or manually edit your network configuration files (see [Manual Network Configuration on a Compute Instance](/docs/products/compute/compute-instances/guides/manual-network-configuration/)). \ No newline at end of file diff --git a/docs/products/tools/images/guides/upload-an-image/UploadAnImage.png b/docs/products/tools/images/guides/upload-an-image/UploadAnImage.png deleted file mode 100644 index 7f43154e1bc..00000000000 Binary files a/docs/products/tools/images/guides/upload-an-image/UploadAnImage.png and /dev/null differ diff --git a/docs/products/tools/images/guides/upload-an-image/images-upload-status.png b/docs/products/tools/images/guides/upload-an-image/images-upload-status.png deleted file mode 100644 index e6e5771ec8a..00000000000 Binary files a/docs/products/tools/images/guides/upload-an-image/images-upload-status.png and /dev/null differ diff --git a/docs/products/tools/images/guides/upload-an-image/index.md b/docs/products/tools/images/guides/upload-an-image/index.md deleted file mode 100644 index e17b4607e2b..00000000000 --- a/docs/products/tools/images/guides/upload-an-image/index.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: Upload an Image -description: "How to upload an image with Linode Images." -image: UploadAnImage.png ---- - -## Requirements and Considerations - -When creating an image file to upload as a Custom Image, keep the following limits, requirements, and considerations in mind. - -- Review the overall [Technical Specifications](/docs/products/tools/images/#technical-specifications) of the Custom Images service. - -- **Raw disk image:** The image file must be a [raw disk image](https://en.wikipedia.org/wiki/IMG_(file_format)) (`.img`). Other file formats will not work. - -- **Compressed using gzip:** The image file must be compressed using [gzip](https://en.wikipedia.org/wiki/Gzip) (`.gz`) before uploading it. Other compression algorithms are not compatible. - -- **Maximum file size is 5GB:** The maximum *compressed* size for an image file is 5GB. Larger file sizes are not supported through our current upload tooling. For the maximum *uncompressed* size, see the image size limit within the [Technical Specifications](/docs/products/tools/images/#technical-specifications). - -- **Pricing considerations:** Custom Images are billed based on the *uncompressed* size of the uploaded image file. - -- **For compatibility, use unpartitioned disks formatted with ext3 or ext4 file systems:** [Network Helper](/docs/products/compute/compute-instances/guides/network-helper/) and other Linode Helpers are compatible with non-partitioned image files formatted using the ext3 or ext4 file systems. Partitioned disks and other file systems may be used, but some manual configuration may be required. - -## Creating or Obtaining an Image File - -Creating a custom image file is typically a complex process intended for advanced system administrators. In most cases, users will be better suited creating a custom image directly from an existing Linode (see [Capture an Image](/docs/products/tools/images/guides/capture-an-image/)) or through the Linode Packer Builder (see [How to Use the Linode Packer Builder](/docs/guides/how-to-use-linode-packer-builder/)). These two methods ensure maximum compatibility with Linode and are easier to follow for a novice user. - -If you do intend on creating a custom image file to upload, here are a few methods to get you started. Depending on how you obtain or generate the image, the image or image file may need further configuration so it can be used with the Image Upload feature on Linode. Keep in mind all of the requirements and considerations listed above. - -- **Existing Image:** Use a compatible image from your own on-premise environment, existing cloud provider, or through an online repository (such as a distribution's official image repository). -- **Packer:** Use Packer's [QEMU Builder](https://www.packer.io/docs/builders/qemu) to automate the creation of custom images. Within the `.json` configuration file for your image, set `"accelerator": "kvm"` and `"format": "raw"`. If running Packer inside of a virtual machine, the hypervisor needs to support nested virtualization. -- **`dd`:** Install and configure an operating system on a local, remote, or virtualized system and create a disk image using the `dd` command-line tool. -- **QEMU disk image utility:** Use the [QEMU disk image utility](https://qemu-project.gitlab.io/qemu/tools/qemu-img.html) to create the image. - -#### Compressing the Image File - -After the image file has been created, it needs to be compressed using the gzip utility. - -- **Linux and macOS**: Run the following command, replacing *[file.img.gz]* with the filename of your image. See [Archiving and Compressing files with GNU Tar and GNU Zip](/docs/guides/archiving-and-compressing-files-with-gnu-tar-and-gnu-zip/) for additional information on gzip. - - gzip [file.img] - -- **Windows**: Use a third party tool that supports gzip compression, such as [7-Zip](https://www.7-zip.org/). - -#### Determining the Uncompressed File Size - -Knowing the *uncompressed* size of an image file is helpful for planning the storage requirements of Linodes deployed using that image. This information also ensures you stay within the [limits of the Images service](/docs/products/tools/images/guides/upload-an-image/#requirements-and-considerations). The best way to determine the uncompressed size of a gzip archive is to uncompress that archive and then examine its file size. Alternatively, use the zcat utility by run the following command, replacing *[file.img.gz]* with the filename of your image. - - zcat [file.img.gz] | wc -c - -## Uploading an Image File through Cloud Manager - -Once you have obtained a compatible image file that meets all the requirements, upload it through the **Upload Image** Cloud Manager form. After it's uploaded, you can then deploy Linodes using that Custom Image. - -1. Log in to Cloud Manager and open the **[Upload Image](https://cloud.linode.com/images/create/upload)** form by navigating to the **Images** page, clicking the **Create Image** button, and selecting the **Upload Image** tab. - -1. Type in the *Label* of the new Image along with an optional *Description*. Select the *Region* you would like the Image to be created within. Since Images can be deployed to any data center (regardless of where they are located), it's recommended that you select the one closest to you geographically for the fastest upload speed. - -1. Specify the image file you'd like to use by either dragging the file into the designated area or by clicking the **Browse Files** button and selecting the file. The filename will appear along with a progress bar indicating the percentage completed for the file upload. - -1. Once the image file has been successfully uploaded, the Custom Image is created and Cloud Manager will redirect you to the main Images page. Here, you should see the new Custom Image listed along with a status of *Pending Upload*. Once the Custom Image is ready to be deployed, the status will change to *Ready*. - - ![Image status](images-upload-status.png "Image status") - - If there is an error when processing the uploaded image file, the newly created Image may be deleted and an error message will be written to the [Events](https://cloud.linode.com/events) log. See [Understanding Events and the Activity Feed](/docs/products/tools/cloud-manager/guides/events-and-activity-feeds/) for more details on viewing Cloud Manager Events. - -## Uploading an Image File through the Linode CLI - -Another method for uploading a compatible image file is directly through the [Linode CLI](/docs/products/tools/cli/get-started/). - -1. Run the following command to install or update the Linode CLI: - - pip3 install linode-cli --upgrade - -2. If this is your first time using the CLI or if you encounter any authorization issues, reconfigure (and authorize) your installation: - - linode-cli configure - -3. Create a Custom Image and upload the image file using the following command, replacing *[Label]* with a unique label and *[File]* with the filename and path of the image file you'd like to use: - - linode-cli image-upload --label "[Label]" [File] - - You can also optionally specify additional details by adding the following options: - - - `--description "[Description]"`, replacing *[Description]* with the text you'd like to use. - - `--region "[region-id]"`, replacing *[region-id]* with the id of the region you'd like to use to upload the file. If this is left out, the default region you specified when configuring the Linode CLI will be used. - - In the example below, a Custom Image will be created in the Newark data center with the label of "Example Image", a description of "Some details about the image", and the image file "~/Downloads/image-file.img.gz" will be uploaded. - - linode-cli image-upload --label "Example Image" --description "Some details about the image" --region "us-east" ~/Downloads/image-file.img.gz - -4. After running the above command, a progress bar will be displayed that indicates the total progress of the file upload. Once completed, a single data row table will be outputted with the details regarding the new Custom Image and a status of `pending_upload`. - - The image upload may take a few minutes to fully process. To verify that the image is available for use, run the following command and make sure the new Custom Image has a status of *available*: - - linode-cli images list --is_public false diff --git a/docs/products/tools/images/linode-images.jpg b/docs/products/tools/images/linode-images.jpg deleted file mode 100644 index 8d2513b8446..00000000000 Binary files a/docs/products/tools/images/linode-images.jpg and /dev/null differ diff --git a/docs/products/tools/images/resources/index.md b/docs/products/tools/images/resources/index.md deleted file mode 100644 index f4c644570e5..00000000000 --- a/docs/products/tools/images/resources/index.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Resources -title_meta: "Resources for Custom Images" -description: "Resources and other information related to Linode Images including blog posts and community posts." -tab_group_main: - weight: 40 ---- - -## Blog Posts - -Some of the blog posts about custom images: - -- [Resize Disk Images](https://www.linode.com/blog/linode/resize-disk-images/) - -- [Release Day: Automating the Linux Distro (featuring Ubuntu 20.04)](https://www.linode.com/blog/linux/release-day-automating-the-linux-distro-featuring-ubuntu-20-04/) - -- [Now Available: Linode Terraform Provider](https://www.linode.com/blog/devops/now-available-linode-terraform-provider/) - -- [Clone a Linode to another Linode](https://www.linode.com/blog/linode/clone-a-linode-to-another-linode/) - -## Community Posts - -Some of the community posts that answer questions related to custom images: - -- [What’s the deal with Linode Images?](https://www.linode.com/community/questions/17805/whats-the-deal-with-linode-images) - -- [How do I restore a deleted Linode?](https://www.linode.com/community/questions/17441/how-do-i-restore-a-deleted-linode) - -- [Unable to create an image of my disk from Cloud Manager's interface](https://www.linode.com/community/questions/17929/unable-to-create-an-image-of-my-disk-from-the-cloud-manager-interface) - -- [Is there a way to duplicate my current Linode?](https://www.linode.com/community/questions/20100/is-there-a-way-to-duplicate-my-current-linode) - -- [Want restore linode](https://www.linode.com/community/questions/18865/want-restore-linode) - -- [Restore Backup](https://www.linode.com/community/questions/18290/restore-backup) - -- [Cannot create an image](https://www.linode.com/community/questions/20205/cannot-create-an-image) - -- [Can I delete my Linode, but keep its backups?](https://www.linode.com/community/questions/19148/can-i-delete-my-linode-but-keep-its-backups) - -Browse our [Linode Community Questions & Answers](https://www.linode.com/community/questions/) page for more [related questions](https://www.linode.com/community/questions/search?query=images). \ No newline at end of file diff --git a/docs/products/tools/longview/_index.md b/docs/products/tools/longview/_index.md deleted file mode 100644 index 4df458ff4f2..00000000000 --- a/docs/products/tools/longview/_index.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: Longview -title_meta: "Longview Product Documentation" -description: "Longview is Linode’s system data graphing service. It tracks metrics for CPU, memory, and network bandwidth on both an aggregate and per-process basis." -published: 2023-05-24 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "View real-time system metrics and resource utilization to gain insight into your Linux-based cloud workloads." -aliases: ['/platform/longview/pricing/','/guides/linode-longview-pricing-and-plans/','/platform/longview/','/guides/platform/monitoring/'] ---- - -Longview is Linode’s system data graphing service. It tracks metrics for CPU, memory, and network bandwidth on both an aggregate and per-process basis. It also provides real-time graphs that can help expose performance problems. - -## Platform-agnoistic - -The Longview client is [open source](https://github.com/linode/longview) and provides an agent that can be installed on any Linux distribution – including systems not hosted on the Linode platform. - -## Pro Plan - -Longview is free for all customers for up to ten clients. You also have the option to purchase **Longview Pro** which includes additional analytics for an added cost. Longview's free version updates every 5 minutes and provides 12 hours of data history. Longview Pro gives you data resolution at 60 second intervals, and you can view a complete history of your Linode’s data instead of only the previous 12 hours. - -## Availability - -Longview can be installed on Compute Instances across [all regions](https://www.linode.com/global-infrastructure/). - -## Pricing - -There are four different Longview Pro plan tiers you can choose from. Each plan varies in the amount of clients that can be monitored by Longview. - -| Plan | Number of Clients | Price | -| -- | -- | -- | -| Longview Free | 10 | Free | -| Longview Pro 3 Pack | 3 | $20/mo ($0.03/hr) | -| Longview Pro 10 Pack | 10 | $40/mo ($0.06/hr) | -| Longview Pro 40 Pack | 40 | $100/mo ($0.15/hr) | -| Longview Pro 100 Pack | 100 | $200/mo ($0.30/hr) | - -## Technical Specifications - -- Compatible with most Linux systems, even those not on the Linode platform. Official support for **CentOS**, **Debian**, and **Ubuntu**. -- **Data retention:** Unlimited for Longview Pro, 12 hours for Longview Free. -- **Data resolution:** 1 minute for Longview Pro, 5 minutes for Longview Free. \ No newline at end of file diff --git a/docs/products/tools/longview/developers/index.md b/docs/products/tools/longview/developers/index.md deleted file mode 100644 index 5459f118a85..00000000000 --- a/docs/products/tools/longview/developers/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for Longview" -description: "Manage Longview Clients with developer tools like the Linode API or CLI." -published: 2023-05-24 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s API v4 provides the ability to programmatically manage the full range of Linode products and services. -[Linode API documentation](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. Learn how to [use and install the Linode CLI](/docs/products/tools/cli/get-started/) to get started. \ No newline at end of file diff --git a/docs/products/tools/longview/feature.png b/docs/products/tools/longview/feature.png deleted file mode 100644 index 0ba11879f5e..00000000000 Binary files a/docs/products/tools/longview/feature.png and /dev/null differ diff --git a/docs/products/tools/longview/feature.svg b/docs/products/tools/longview/feature.svg deleted file mode 100644 index 5e495b61f47..00000000000 --- a/docs/products/tools/longview/feature.svg +++ /dev/null @@ -1,5 +0,0 @@ - - Monitoring - - - \ No newline at end of file diff --git a/docs/products/tools/longview/get-started/index.md b/docs/products/tools/longview/get-started/index.md deleted file mode 100644 index 1679dba2f08..00000000000 --- a/docs/products/tools/longview/get-started/index.md +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with Longview" -description: "Learn how to create a Longview Client, install the Longview Agent, and start capturing metrics for your Linux system" -published: 2023-05-24 -tab_group_main: - weight: 20 -aliases: ['/platform/longview/longview/','/platform/longview/what-is-longview/','/uptime/longview/','/longview/','/guides/what-is-longview/'] ---- - -To start using Longview to capture metrics from a Linux server, you need to create a new Longview Client instance and install the Longview Agent on that server. - -1. [Create a Longview Client](#create-client) -1. [SSH into the Compute Instance](#ssh) -1. [Install the Longview Agent](#install-agent) -1. [Start the Longview Agent](#start-agent) -1. [View Longview Client Statistics](#view-statistics) - -## Create a Longview Client {#create-client} - -1. Log in to [Cloud Manager](https://cloud.linode.com/dashboard) and click on the **Longview** link in the sidebar. - -1. On the Longview Clients page, click on the **Add a Client** link on the top right-hand corner. This creates a Longview Client instance. - -1. The new Longview Client instance is displayed along with its auto-generated label, its current status, installation instructions, and API key. Its status should be *"Waiting for data"* as you have not yet installed the Longview agent on your Linux system. - - {{< note >}} - The displayed `curl` command is used in the next section to install the Longview agent on the desired Linux system. The long string appended to the url `https://lv.linode.com/` is your Longview Client instance's GUID (globally unique identifier). - {{< /note >}} - - ![Screenshot of a new Longview client in Cloud Manager](longview-waiting.png) - -## SSH into the Compute Instance {#ssh} - -1. Open a terminal on your local computer and log in to your Compute Instance (or other Linux system) over SSH. In the command below, replace *[user]* with your remote username and *[ip-address]* with the IP address or fully qualified domain name of your instance. See [Managing IP Addresses on a Compute Instance](/docs/products/compute/compute-instances/guides/manage-ip-addresses/#viewing-ip-addresses). - - ```command - ssh [user]@[ip-address] - ``` - -1. Switch to the `root` user. - - ```command - su - root - ``` - -## Install the Longview Agent {#install-agent} - -### Automatic Installation - -Run the Longview Client instance's `curl` command on your Linux system. The installation will take a few minutes to complete. - -{{< note >}} -Ensure you replace the example `curl` command below with your own Longview Client instance's GUID. -{{< /note >}} - -```command -curl -s https://lv.linode.com/05AC7F6F-3B10-4039-9DEE09B0CC382A3D | sudo bash -``` - -{{< note title="Possible error messages (and how to overcome them)" type=warning isCollapsible=true >}} -- **Lock error:** This likely means that another program is attempting to update or install packages on your system. To overcome this error, you can delete the current Longview Client, wait a few minutes, create a new Longview Client, and try the installation process again. - - ```output - E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 12549 (apt-get) - N: Be aware that removing the lock file is not a solution and may break your system. - E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? - ``` - -- **Invaliad installer session error:** To overcome this error, delete the current Longview Client, create a new one, and try to install the Longview Agent again. - - ```output - Invalid Installer Session - Please see the Longview details page to start a new session - ``` - -If you are not able to overcome these error messages, follow the [manual installation](#manual-installation) instructions below. -{{< /note >}} - -### Manual Installation - -If the [automatic installation](#automatic-installation) instructions failed, you can also manually install the Longview Agent on CentOS, Debian, and Ubuntu. Other distributions, like Fedora and Alpine Linux, are not officially supported. - -1. Add a configuration file to store the repository information for the Longview agent: - - {{< tabs >}} - {{< tab "Debian and Ubuntu" >}} - Find the codename of the distribution running on your Linode. - - ```command - root@localhost:~# lsb_release -sc - ``` - - ```output - stretch - ``` - - Using the text editor of your choice, like [nano](/docs/guides/use-nano-to-edit-files-in-linux/), create a custom sources file that includes Longview's Debian repository and the Debian distribution codename. In the command below, replace *stretch* with the output of the previous step. - - ```file {title="/etc/apt/sources.list.d/longview.list" lang="config"} - deb http://apt-longview.linode.com/ stretch main - ``` - {{< /tab >}} - {{< tab "CentOS" >}} - Using the text editor of your choice, like [nano](/docs/guides/use-nano-to-edit-files-in-linux/), create a `.repo` file and copy the contents of the example file below. Replace `REV` in the repository URL with your CentOS version (e.g., 7). If unsure, you can find your CentOS version number with `cat /etc/redhat-release`. - - ```file {title="/etc/yum.repos.d/longview.repo" lang="config"} - [longview] - name=Longview Repo - baseurl=https://yum-longview.linode.com/centos/REV/noarch/ - enabled=1 - gpgcheck=1 - ``` - {{< /tab >}} - {{< /tabs >}} - -1. Download the repository's GPG key and import or move it to the correct location: - - {{< tabs >}} - {{< tab "Debian and Ubuntu" >}} - ```command - sudo curl -O https://apt-longview.linode.com/linode.gpg - sudo mv linode.gpg /etc/apt/trusted.gpg.d/linode.gpg - ``` - {{< /tab >}} - {{< tab "CentOS" >}} - ```command - sudo curl -O https://yum-longview.linode.com/linode.key - sudo rpm --import linode.key - ``` - {{< /tab >}} - {{< /tabs >}} - -1. Create a directory for the API key: - - ```command - sudo mkdir /etc/linode/ - ``` - -1. Copy the API key from the **Installation** tab of your Longview client's [detailed view](#access-your-longview-client-s-detailed-view) in the Linode Cloud Manager. Put the key into a file, replacing the key in the command below with your own. - - ```command - echo '266096EE-CDBA-0EBB-23D067749E27B9ED' | sudo tee /etc/linode/longview.key - ``` - -1. Install Longview: - - {{< tabs >}} - {{< tab "Debian and Ubuntu" >}} - ```command - sudo apt update - sudo apt install linode-longview - ``` - {{< /tab >}} - {{< tab "CentOS" >}} - ```command - sudo yum install linode-longview - ``` - {{< /tab >}} - {{< /tabs >}} - -## Start the Longview Agent {#start-agent} - -Once the installation is complete, verify that the Longview agent is running: - -```command -sudo systemctl status longview -``` - -You should see a similar output: - -{{< tabs >}} -{{< tab "Debian and Ubuntu" >}} -```output -● longview.service - LSB: Longview Monitoring Agent -Loaded: loaded (/etc/init.d/longview; generated; vendor preset: enabled) -Active: active (running) since Mon 2019-12-09 21:55:39 UTC; 2s ago - Docs: man:systemd-sysv-generator(8) -Process: 2997 ExecStart=/etc/init.d/longview start (code=exited, status=0/SUCCESS) - Tasks: 1 (limit: 4915) -CGroup: /system.slice/longview.service - └─3001 linode-longview -``` -{{< /tab >}} -{{< tab "CentOS" >}} -```output -● longview.service - SYSV: Longview statistics gathering - Loaded: loaded (/etc/rc.d/init.d/longview; bad; vendor preset: disabled) - Active: active (running) since Tue 2019-12-10 22:35:11 UTC; 40s ago - Docs: man:systemd-sysv-generator(8) - CGroup: /system.slice/longview.service - └─12202 linode-longview - -Dec 10 22:35:11 203-0-113-0.ip.linodeusercontent.com systemd[1]: Starting SYSV: Longview statistics gathering... -Dec 10 22:35:11 203-0-113-0.ip.linodeusercontent.com longview[12198]: Starting longview: [ OK ] -Dec 10 22:35:11 203-0-113-0.ip.linodeusercontent.com systemd[1]: Started SYSV: Longview statistics gathering. -``` -{{< /tab >}} -{{< /tabs >}} - -If the Longview agent is not running, start it with the following command: - -```command -sudo systemctl start longview -``` - -## View Longview Client Statistics {#view-statistics} - -Switch back to Cloud Manager's Longview Clients page in your browser and verify that system information and metrics have started to appear. To learn more about the metrics available on Longview, see [Understanding Longview Metrics](/docs/products/tools/longview/guides/metrics/). - -![Screenshot of a Longview Client in Cloud Manager](longview-data.png) - -{{< note >}} -It can take several minutes for data to load and display in Cloud Manager. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/tools/longview/get-started/longview-data.png b/docs/products/tools/longview/get-started/longview-data.png deleted file mode 100644 index 4dc84c8cc00..00000000000 Binary files a/docs/products/tools/longview/get-started/longview-data.png and /dev/null differ diff --git a/docs/products/tools/longview/get-started/longview-waiting.png b/docs/products/tools/longview/get-started/longview-waiting.png deleted file mode 100644 index 3d32e8876e0..00000000000 Binary files a/docs/products/tools/longview/get-started/longview-waiting.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/_index.md b/docs/products/tools/longview/guides/_index.md deleted file mode 100644 index d216e83adfa..00000000000 --- a/docs/products/tools/longview/guides/_index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for Longview" -description: "A collection of guides to help you use Longview to capture metrics on your Linux system." -published: 2023-05-24 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Getting Started with Longview](/docs/products/tools/longview/get-started/): Create a Longview Client, install the Longview Agent, and start capturing system metrics. -- [View and Manage Longview Clients](/docs/products/tools/longview/guides/manage/): Learn how to view, manage, and uninstall your Longview Clients -- [Change Longview Plan (Upgrade to Pro)](/docs/products/tools/longview/guides/change-plan/): Instructions for upgrading (and downgrading) your Longview plan. -- [Understanding Longview Metrics](/docs/products/tools/longview/guides/metrics/): An overview of viewing and understanding metrics collected by Longview. - -## Advanced Configuration and Troubleshooting - -- [Configure Longview with Apache](/docs/products/tools/longview/guides/apache/): Capture Apache metrics using Longview. -- [Configure Longview with NGINX](/docs/products/tools/longview/guides/nginx/): Capture NGINX metrics using Longview. -- [Configure Longview with MySQL](/docs/products/tools/longview/guides/mysql/): Capture MySQL metrics using Longview. -- [Troubleshooting Longview](/docs/products/tools/longview/guides/troubleshooting/): Learn how to troubleshoot and overcome any issues you might encounter when using Longview. \ No newline at end of file diff --git a/docs/products/tools/longview/guides/apache/1451-longview_apache_popup_crop.png b/docs/products/tools/longview/guides/apache/1451-longview_apache_popup_crop.png deleted file mode 100644 index a2a595438ba..00000000000 Binary files a/docs/products/tools/longview/guides/apache/1451-longview_apache_popup_crop.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/apache/index.md b/docs/products/tools/longview/guides/apache/index.md deleted file mode 100644 index a553cbadbab..00000000000 --- a/docs/products/tools/longview/guides/apache/index.md +++ /dev/null @@ -1,365 +0,0 @@ ---- -title: Capture Apache Metrics with Longview -title_meta: Capture Apache Metrics with Linode Longview -description: 'This guide discusses the Linode Longview client, including how to configure Longview for the Apache web server, how to interact with data from Longview, and more.' -published: 2013-11-04 -modified: 2023-05-24 -keywords: ["Longview", " Apache", " statistics", " mod\\_status"] -tags: ["apache","cloud manager","statistics","monitoring","linode platform"] -aliases: ['/longview/longview-for-apache/','/platform/longview/what-is-the-linode-longview-app-for-apache/','/platform/longview/longview-app-for-apache/','/guides/what-is-the-linode-longview-app-for-apache/'] -relations: - platform: - key: what-is-longview - keywords: - - distribution: Apache ---- - -In addition to capturing general system metrics, Longview can also be used to capture metrics for Apache. The Apache tab appears in Cloud Manager when Longview detects that you have Apache installed on your system. It can help you keep track of Apache's settings, workers and requests, system resource consumption, and other information. - -{{< note >}} -In order to use Longview to capture data for Apache, you must have the Longview Agent successfully installed on the system you wish to monitor. See [Create a Longview Client and Install the Longview Agent](/docs/products/tools/longview/get-started/). -{{< /note >}} - -## In this Guide: - -This guide covers using Longview with Apache and includes the following topics: - -- [Configuring Longview for Apache](#configure-longview). -- [Interacting with the Apache data provided by Longview in Cloud Manager](#view-metrics). -- [Troubleshooting Longview for Apache](#troubleshooting). - -## Configure Longview for Apache {#configure-longview} - -### Automatic Configuration - -*These instructions are compatible only with Debian and Ubuntu and do not work on CentOS.* - -If Apache is installed and running when you install the Longview agent, Longview should automatically configure itself for Apache. If you install Apache *after* setting up the Longview agent, you can perform the steps below to configure Longview with any available software integrations (Apache, NGINX, and MySQL). Any existing Longview data is not affected and will remain accessible. - -1. [SSH into the Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) you are monitoring with Longview. - -1. Ensure that Apache is running. - - ```command - sudo systemctl status apache2 - ``` - -1. Run the automatic Longview configuration command. - - ```command - dpkg-reconfigure -phigh linode-longview - ``` - - For most systems, Longview should be able to configure itself automatically. If this is the case, your output should be similar to the following: - - ```output - Checking Apache configuration... - Found Apache status page at http://127.0.0.1/server-status?auto specified in /etc/linode/longview.d/Apache.conf - ``` - - Once you see this successful message, the Longview should automatically start collecting Apache data. Refresh Longview in Cloud Manager to start viewing your Apache stats for your Longview Client instance. - - If you receive a failure message or the popup shown below, you should visit the [Troubleshooting](#troubleshooting) section at the end of this article. - - ![Screenshot of Apache notice when configuring Longview](1451-longview_apache_popup_crop.png) - -### Manual Configuration - -*These instructions work for all supported distributions, including Debian, Ubuntu, and CentOS.* - -To enable the Apache Longview integration manually, follow these steps on your system via SSH: - -1. [SSH into the Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) you are monitoring with Longview. - -1. Verify that **mod\_status** is enabled for Apache (it should be by default). For more information, see the [Apache Module mod\_status](https://httpd.apache.org/docs/2.4/mod/mod_status.html) documentation. - - {{< tabs >}} - {{< tab "Debian and Ubuntu" >}} - ```command - sudo a2enmod status - ``` - {{< /tab >}} - {{< tab "CentOS" >}} - ```command - sudo yum install links - httpd -M | grep status - ``` - - The output should be similar to: - - ```output - status_module (shared) - ``` - {{< /tab >}} - {{< /tabs >}} - -1. Update your Apache configuration file to include the block in the example file below. Depending on your Linux distribution and version, your Apache configuration file may be stored in one of the following locations: - - - `/etc/apache2/httpd.conf` - - `/etc/apache2/apache2.conf` - - `/etc/httpd/httpd.conf` - - `/etc/httpd/conf/httpd.conf` - - ```file {title="httpd.conf or apache2.conf" lang=apache} - - ExtendedStatus On - - SetHandler server-status - Require local - - - ``` - -1. Edit the Longview configuration file for Apache (`/etc/linode/longview.d/Apache.conf`) so that it includes the following line. If this line is commented out, you can uncomment it. - - ```file {title="/etc/linode/longview.d/Apache.conf" lang=apache} - location http://127.0.0.1/server-status?auto - -1. Restart Apache: - - {{< tabs >}} - {{< tab "Debian and Ubuntu" >}} - ```command - sudo systemctl restart apache2 - ``` - {{< /tab >}} - {{< tab "CentOS" >}} - ```command - sudo systemctl restart httpd - ``` - {{< /tab >}} - {{< /tabs >}} - -1. Restart Longview: - - ```command - sudo systemctl restart longview - ``` - -1. Refresh the Longview in your Cloud Manager. - -You should now be able to see Longview data for Apache. If that's not the case, proceed to the [Troubleshooting](#troubleshooting) section at the end of this article. - -## View Apache Metrics {#view-metrics} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select the **Longview** link in the sidebar. - -1. Locate the Longview Client you have configured for Apache and click the corresponding **View details** link. - -1. Select the **Apache** tab. - - ![The Longview Apache App.](longview_apache_stats.png) - - You'll see the current version of Apache listed on the upper left hand side of the page. - - Hover over a data point to see the exact numbers for that time. With [Longview Pro](/docs/products/tools/longview/), you can view older time periods for your data. The next sections cover the Longview Apache App in detail. - -### Requests - -The **Requests** graph shows the total number of requests Apache handled at the selected time. This is every HTTP and HTTPS request to your system. - -### Throughput - -The **Throughput** graph shows the amount of data that Apache sent and received via web requests at the time selected. - -### Workers - -The **Workers** graph shows all of the Apache workers at the selected time. The workers are broken down by state: - -- Waiting -- Starting -- Reading -- Sending -- Keepalive -- DNS Lookup -- Closing -- Logging -- Finishing -- Cleanup - -### CPU - -The **CPU** graph shows the percentage of your system's CPU being used by Apache at the selected time. If you want to see the total CPU used instead, check the [Overview tab](/docs/products/tools/longview/guides/metrics/#overview). - -### Memory - -The **Memory** graph shows the amount of RAM being used by Apache at the selected time. If you want to see your system's total memory use instead, check the [Overview tab](/docs/products/tools/longview/guides/metrics/#overview). - -### Disk IO - -The **Disk IO** graph shows the amount of input to and output from the disk caused by Apache at the selected time. To see the total IO instead, visit the [Disks tab](/docs/products/tools/longview/guides/metrics/#disks). - -### Process Count - -The **Process Count** graph shows the total number of processes on your system spawned by Apache at the selected time. If you want to see more details, and how this stacks up against the total number of processes on your system, see the [Processes tab](/docs/products/tools/longview/guides/metrics/#processes). - -## Troubleshooting - -If you don't see Longview data for Apache, you'll instead get an error on the page and instructions on how to fix it. As a general tip, you can check the `/var/log/linode/longview.log` file for errors as well. You should also compare your mod\_status configuration file to the example shown in Step 2 of the [Manual Configuration (All Distributions)](#manual-configuration-all-distributions) section of this article. - -By default Longview uses port 80 for its automatic configuration. In the event you are experiencing problems you may need to edit the `/etc/apache2/ports.conf` file to use port 8080 or another non-standard port. - -### Autoconfigure mod\_status Popup - -If you run the [automatic Longview configuration tool](#configure-longview), and get the popup message shown below: - -![Screenshot of Apache notice when configuring Longview](1451-longview_apache_popup_crop.png) - -This indicates that Longview can't locate the Apache status page. In turn, this could indicate that either: - -- The status page is in an unusual and unspecified location. -- **mod\_status** isn't enabled. -- An Apache virtual host setting is interfering with requests to the status page. -- Apache itself is misconfigured. - -If you choose: - -- **\**: the Longview tool will quit, and you can do a [manual configuration](#manual-configuration-all-distributions). This is the safer option. -- **\**: the Longview tool will attempt to enable mod\_status, set the status page location, and restart Apache. This option is easier, but has the potential to disrupt your current Apache configuration. If you choose yes, and the configuration is successful, you should see output like the following: - - ```output - [ ok ] Stopping Longview Agent: longview. - Checking Apache configuration... - Enabling module status. - To activate the new configuration, you need to run: - service apache2 restart - [....] Reloading web server config: . ok - Apache mod_status enabled - [ ok ] Starting Longview Agent: longview. - update-rc.d: using dependency based boot sequencing - ``` - - Refresh the Longview Apache tab in Cloud Manager to verify that it's working now. - - If instead you receive a failure message, such as: - - ```output - [FAIL] Reloading web server config: apache2 failed! - ``` - - You will need to double-check your Apache installation, and then do a [manual configuration](#manual-configuration-all-distributions). - -### Unable to Access Local Server Status for Apache - -This error will state `Unable to access local server status for Apache at : :`. This error occurs when either: - -- Apache's mod\_status setting is disabled or has been changed from the default location. - -- An Apache virtual host configuration is interfering with web requests to the mod\_status location. - - {{< note >}} - This error occurs when Longview attempts to check the status page `location` listed in `/etc/linode/longview.d/Apache.conf`, or the default page at `127.0.0.1/server-status?auto`, but receives a non-200 HTTP response code. Basically, it means that the status page Longview is expecting is not being returned by the server. - {{< /note >}} - -To fix this, follow these steps: - -1. Make sure Apache is running: - - ```command - sudo systemctl restart apache2 - ``` - -1. Make sure mod\_status is enabled. See the [Apache website](https://httpd.apache.org/docs/2.4/mod/mod_status.html#page-header) for details. You can also check the output of the following command: - - ```command - apachectl -M - ``` - -1. Check the location for mod\_status. The default location on Debian and Ubuntu systems is `http://127.0.0.1/server-status?auto` on localhost. In the Apache configuration file, this is designated with the lines: - - ```file {title="httpd.conf or apache2.conf" lang=apache} - - SetHandler server-status - ``` - - The `SetHandler server-status` line indicates that this is the location block for mod\_status. The location line itself sets the location. - - **On cPanel/WHM:** - - To direct Longview to the cPanel customized status page, edit the `location` line in `/etc/linode/longview.d/Apache.conf` to match the following: - - ```file {title="/etc/linode/longview.d/Apache.conf" lang=apache} - location http://localhost/whm-server-status?auto - ``` - -1. Longview is designed to check the default location automatically. If you use the default location shown above, you should be done. Refresh the Longview in Cloud Manager to verify that it's working now. - -1. If you're not using the default location, you need to create a new file, `/etc/linode/longview.d/Apache.conf`, and set the `location` variable to match what you set in the Apache configuration file: - - ```file {title="/etc/linode/longview.d/Apache.conf" lang=apache} - location http://127.0.0.1/custom/location/path - `` - -1. Determine if an Apache virtual host configuration is interfering with requests to the mod\_status location. Use a tool like `curl` or `wget` to request the server status location: - - ```command - curl http://127.0.0.1/server-status?auto - ``` - - Observe the output. If the output looks like something other than a simple status page, then you'll have to fix your [Apache virtual host](/docs/web-servers/apache-tips-and-tricks/) configuration. - -1. Restart Longview: - - ```command - sudo service longview restart - ``` - -1. Refresh the Longview in Cloud Manager to verify that it's working now. - -### The Apache Status Page Doesn't Look Right - -This error states `The Apache status page doesn't look right. Check and investigate any redirects for misconfiguration.` This error occurs when Longview is able to reach the mod\_status page, but doesn't receive the expected content. - -{{< note >}} -This error occurs when Longview attempts to check the status page, and receives a 200 HTTP response code, but can't scrape the expected status content from the page. That is, the page exists on your system, but it doesn't have the right content. If, for example, Longview was to check your website's home page, you would get this error. -{{< /note >}} - -To resolve this issue, follow these steps: - -1. Visit the URL shown in the error. See if it directs or redirects you to a page that isn't the Apache status page. - -1. Update your Apache and Longview settings so that they specify the same location: - - - The **\** line in your Apache configuration file - - The **location** line in `/etc/linode/longview.d/Apache.conf` - - If neither of these is set, the default location of `http://127.0.0.1/server-status?auto` on localhost will be used. - -1. Make sure there aren't any Apache redirects or other settings that are affecting this page. - -1. Restart Longview: - - ```command - sudo systemctl restart longview - ``` - -1. Refresh the Longview in Cloud Manager to verify that it's working now. - -### Missing Graphs: Enable ExtendedStatus - -If some of your Apache graphs are missing, you may see the error `Enable ExtendedStatus in your Apache configuration for throughput and request graphs.` - -This indicates that you need to add the following line to your Apache configuration file in the `` section: - -```file {title="httpd.conf" lang=apache} -ExtendedStatus On -``` - -When you've finished modifying the configuration file, restart Apache: - -{{< tabs >}} -{{< tab "Debian and Ubuntu" >}} -```command -sudo systemctl restart apache2 -``` -{{< /tab >}} -{{< tab "CentOS" >}} -```command -sudo systemctl restart httpd -``` -{{< /tab >}} -{{< /tabs >}} - -### Apache Tab is Missing - -If the Longview Apache tab is missing entirely, this indicates that Apache is either not installed, or has stopped. If you restart Apache, you will be able to see the tab again and view all of your old data. \ No newline at end of file diff --git a/docs/products/tools/longview/guides/apache/longview_apache_stats.png b/docs/products/tools/longview/guides/apache/longview_apache_stats.png deleted file mode 100644 index d63de623595..00000000000 Binary files a/docs/products/tools/longview/guides/apache/longview_apache_stats.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/change-plan/LongviewPricingandPlans.png b/docs/products/tools/longview/guides/change-plan/LongviewPricingandPlans.png deleted file mode 100644 index cb157c58f48..00000000000 Binary files a/docs/products/tools/longview/guides/change-plan/LongviewPricingandPlans.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/change-plan/access-longview.png b/docs/products/tools/longview/guides/change-plan/access-longview.png deleted file mode 100644 index 0d154a617e3..00000000000 Binary files a/docs/products/tools/longview/guides/change-plan/access-longview.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/change-plan/index.md b/docs/products/tools/longview/guides/change-plan/index.md deleted file mode 100644 index 83687fda3af..00000000000 --- a/docs/products/tools/longview/guides/change-plan/index.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "Change Longview Plan (Upgrade to Pro)" -description: "Information on upgrading your Longview to a Pro plan or downgrading to the Free plan." -published: 2023-05-24 -keywords: ['longview','billing','pricing','price','limit','transfer', 'plan'] -tags: ["linode platform","cloud manager","statistics","monitoring"] ---- - -{{< note >}} -Currently, it is not possible to have both *Longview Free* and *Longview Pro* clients. If you have active Longview clients under the Longview Free plan tier, when you switch to a Longview Pro plan, all of your currently active clients will be counted towards your new Longview Pro plan's client count. -{{< /note >}} - -To change your plan level or to view all available Longview Pro plans, follow these steps: - -1. Log in to [Cloud Manager](https://cloud.linode.com/dashboard) and click on the **Longview** link in the sidebar. - -1. Viewing the Longview Clients listing page, click on the **Plan Details** tab. - -1. On the Longview Plan Details page, you can view all available Longview plans and verify the plan you are currently subscribed to. - -1. If you would like to change your current plan, select your preferred plan and click on the **Change Plan** button. You will see the page update to denote your current Longview plan. - -![Screenshot of the Longview Plan Details screen in Cloud Manager](longview-change-plan.png) - -{{< note type="warning" >}} -If you change your plan, your Longview Client data will temporarily be in a transitional state. Any irregularities in your displayed Longview data will clear up shortly. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/tools/longview/guides/change-plan/longview-change-plan.png b/docs/products/tools/longview/guides/change-plan/longview-change-plan.png deleted file mode 100644 index c0ba1dc3312..00000000000 Binary files a/docs/products/tools/longview/guides/change-plan/longview-change-plan.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/change-plan/longview-plan-details-page.png b/docs/products/tools/longview/guides/change-plan/longview-plan-details-page.png deleted file mode 100644 index 8b3e6edcf94..00000000000 Binary files a/docs/products/tools/longview/guides/change-plan/longview-plan-details-page.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/change-plan/longview-plan-details.png b/docs/products/tools/longview/guides/change-plan/longview-plan-details.png deleted file mode 100644 index 3effc26f6e9..00000000000 Binary files a/docs/products/tools/longview/guides/change-plan/longview-plan-details.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/manage/index.md b/docs/products/tools/longview/guides/manage/index.md deleted file mode 100644 index f9bb72cac0f..00000000000 --- a/docs/products/tools/longview/guides/manage/index.md +++ /dev/null @@ -1,63 +0,0 @@ ---- -title: "View and Manage Longview Clients" -description: "Learn how to view, manage, and delete your Longview Clients." -published: 2023-05-24 -keywords: ["system monitoring", "longview", "metrics"] -tags: ["linode platform","cloud manager","statistics","monitoring"] ---- - -## View Longview Clients {#view-clients} - -Log in to the [Linode Cloud Manager](https://cloud.linode.com/) and click the **Longview** link in the sidebar. - -![](longview-view-all.png) - -All existing Longview clients are displayed along with some basic system information and metrics, including: - -- Hostname -- System uptime -- Available package updates -- Number of CPUs and CPU utilization -- Amount of system memory and memory utilization -- Amount of swap memory and swap utilization -- Average CPU load -- Network traffic -- Amount of disk space and disk utilization - -## Create a New Longview Client {#create-client} - -To start capturing metrics for one of your Compute Instances (or other Linux systems), you can create a new Longview Client instance and install the Longview Agent. See [Create a Longview Client and Install the Longview Agent](/docs/products/tools/longview/get-started/) for instructions. - -## Delete a Longview Client {#delete-client} - -1. Log in to the [Linode Cloud Manager](https://cloud.linode.com/dashboard) and click on the **Longview** link in the sidebar. - -1. Click the **ellipsis** button corresponding to the Longview Client instance you'd like to remove and select **delete**. - - ![Delete your Longview Client](longview-delete.png) - -1. Next, SSH into the Compute Instance or Linux system that the Longview Client was monitoring. - - ```command - ssh user@192.0.2.17 - ``` - -5. Uninstall the Longview Agent by removing the `linode-longview` package. - - {{< tabs >}} - {{< tab "Debian and Ubuntu" >}} - ```command - sudo apt-get remove linode-longview - ``` - {{< /tab >}} - {{< tab "CentOS" >}} - ```command - sudo yum remove linode-longview - ``` - {{< /tab >}} - {{< tab "Other Distributions" >}} - ```command - sudo rm -rf /opt/linode/longview - ``` - {{< /tab >}} - {{< /tabs >}} \ No newline at end of file diff --git a/docs/products/tools/longview/guides/manage/longview-delete.png b/docs/products/tools/longview/guides/manage/longview-delete.png deleted file mode 100644 index c8123bf7509..00000000000 Binary files a/docs/products/tools/longview/guides/manage/longview-delete.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/manage/longview-view-all.png b/docs/products/tools/longview/guides/manage/longview-view-all.png deleted file mode 100644 index 027c91a068d..00000000000 Binary files a/docs/products/tools/longview/guides/manage/longview-view-all.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/index.md b/docs/products/tools/longview/guides/metrics/index.md deleted file mode 100644 index 22a906a4db6..00000000000 --- a/docs/products/tools/longview/guides/metrics/index.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Understanding Longview Metrics" -description: "An overview of metrics collected by Longview, including how to view the metrics and understand the data." -published: 2023-05-24 -keywords: ["system monitoring", "longview", "metrics"] -tags: ["linode platform","cloud manager","statistics","monitoring"] ---- - -This guide provides an overview of the data and graphs available to you after successfully installing Longview on a Compute Instance or other Linux system. - -## Access your Longview Client Metrics - -1. To view a Longview Client's detailed graphs and metrics, log in to [Cloud Manager](https://cloud.linode.com/) and click on the **Longview** link in the sidebar. - -1. On the Longview Clients listing page, click on the **View Details** button corresponding to the client whose system statistics you'd like to view. This displays the information and metrics for the corresponding system. From here, you can select from the following tabs to view specific metrics: - - - [Overview](#overview) - - [Processes](#processes) - - [Network](#network) - - [Disks](#disks) - - [Apache (optional)](#apache) - - [NGINX (optional)](#nginx) - - [MySQL (optional)](#mysql) - -{{< note >}} -If your Compute Instance has NGINX, Apache, or MySQL installed *and* your Longview Agent has been configured for this software, you will see a corresponding tab appear containing related system data. -{{< /note >}} - -## Change the Timeframe - -For all graphs and most other metrics, you can change the timeframe of the data that's shown. By default, 12 hours of historical data is visible. You can change this to a smaller timeframe or, if using Longview Pro, to a larger timeframe. - -![Screenshot of the timeframe dropdown menu](longview-metrics-timeframe.png) - -{{< note noTitle=true type=warning >}} -The graphs only show data captured *after* the Longview Agent was installed on the system. -{{< /note >}} - -## View Data Points on Graphs - -When viewing graphs in Cloud Manager, you can hover over data points in the x-axis to view specific metrics for that data point. - -![Screenshot of a data point on a graph in Cloud Manager](longview-metrics-graph-data-point.png) - -## Overview - -The Overview tab shows all of your system’s most important statistics in one place and includes the following sections: - -- **System Overview:** This section includes information about your system hardware, basic resource utilization charts, and the top 6 processes running on your system (sorted by CPU utilization by default). -- **Resource Allocation History:** Detailed graphs of system resource utilization. -- **Listening Services:** A list of all services that are listening on a system port. This includes the corresponding process, the user, the protocol of the service, and the IP address that's being used. -- **Active Connections:** A list of all active connections, including the name of the service, the user, and the number of connections for that service. - -![Screenshot of the Overview page](longview-metrics-overview.png) - -## Processes - -The Processes tab lists all running processes currently on your system, along with additional statistics including the UID of the user that has ownership of the process, the *Max Count* of duplicate processes, average I/O per process, average CPU percentage used per process, and average memory consumption per process. You can use the search bar above the list to filter the chart by the name of the process or the user that owns it. - -When a process is selected, several graphs are displayed. These graphs show historical data for the process, including resource usage and the number instances for this process. - -![Screenshot of the Processes page](longview-metrics-processes.png) - -## Network - -The Network tab gives you access to charts you can use to sort traffic analytics by network interface available on your system. - -![Screenshot of the Network page](longview-metrics-network.png) - -## Disks - -The disks tab includes information on disk I/O, disk space usage, and [inode](https://en.wikipedia.org/wiki/Inode) usage over time. - -![Screenshot of the Disks page](longview-metrics-disks.png) - -{{< note noTitle=true type=warning >}} -Longview does not gather data on swap disks. -{{< /note >}} - -## Apache - -The Apache tab is visible when Apache is installed on your system *and* the Longview Agent has been properly configured to interface with Apache. The Apache software version is displayed at the top of the page. Underneath that, there are graphs for the number of incoming requests, the throughout, and the number of workers. This page also shows resource utilization graphs for the Apache processes, including the CPU usage, RAM usage, and disk I/O. - -![Screenshot of the Apache tab](longview-metrics-apache.png) - -## NGINX - -This tab is only displayed when NGINX is installed on your system *and* the Longview Agent has been configured to observe NGINX. It shows the software version as well as the number of requests, connections, and workers. This page also displays the resource utilization for the NGINX processes, including the CPU usage, RAM usage, and disk I/O. - -![Screenshot of the NGINX tab](longview-metrics-nginx.png) - -## MySQL - -The MySQL tab is only displayed when MySQL is installed on your system *and* the Longview Agent has been configured to observe MySQL. Along with the software version, this page also displays the number of queries (broken down by SELECT, UPDATE, INSERT, and DELETE), the throughput, the number of connections, the number of slow queries, and the number of aborted queries. Further down the page is the resource utilization for the MySQL processes, including the CPU usage, RAM usage, and disk I/O. - -![Screenshot of the MySQL tab](longview-metrics-mysql.png) \ No newline at end of file diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-apache.png b/docs/products/tools/longview/guides/metrics/longview-metrics-apache.png deleted file mode 100644 index de15002b31f..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-apache.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-disks.png b/docs/products/tools/longview/guides/metrics/longview-metrics-disks.png deleted file mode 100644 index ef591ba3d3e..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-disks.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-graph-data-point.png b/docs/products/tools/longview/guides/metrics/longview-metrics-graph-data-point.png deleted file mode 100644 index 91c725b2d1c..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-graph-data-point.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-mysql.png b/docs/products/tools/longview/guides/metrics/longview-metrics-mysql.png deleted file mode 100644 index fd6ccc78a63..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-mysql.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-network.png b/docs/products/tools/longview/guides/metrics/longview-metrics-network.png deleted file mode 100644 index 53551631b12..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-network.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-nginx.png b/docs/products/tools/longview/guides/metrics/longview-metrics-nginx.png deleted file mode 100644 index b2dc4cdbb3d..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-nginx.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-overview.png b/docs/products/tools/longview/guides/metrics/longview-metrics-overview.png deleted file mode 100644 index 056083cb826..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-overview.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-processes.png b/docs/products/tools/longview/guides/metrics/longview-metrics-processes.png deleted file mode 100644 index fafbb89bdbe..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-processes.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/metrics/longview-metrics-timeframe.png b/docs/products/tools/longview/guides/metrics/longview-metrics-timeframe.png deleted file mode 100644 index c111047a28f..00000000000 Binary files a/docs/products/tools/longview/guides/metrics/longview-metrics-timeframe.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/mysql/index.md b/docs/products/tools/longview/guides/mysql/index.md deleted file mode 100644 index 88a20174caf..00000000000 --- a/docs/products/tools/longview/guides/mysql/index.md +++ /dev/null @@ -1,228 +0,0 @@ ---- -title: Capture MySQL Metrics with Longview -title_meta: Capture MySQL Metrics with Linode Longview -description: "This guide discusses the Linode Longview client, including how to configure Longview for the MySQL database server, how to interact with data from Longview, and more." -published: 2013-11-06 -modified: 2023-05-24 -keywords: ["Longview", "MySQL", "statistics"] -tags: ["cloud manager","statistics","monitoring","linode platform","mysql"] -aliases: ['/longview/longview-for-mysql/','/platform/longview/longview-app-for-mysql/','/platform/longview/what-is-the-linode-longview-app-for-mysql/','/guides/what-is-the-linode-longview-app-for-mysql/'] -relations: - platform: - key: what-is-longview - keywords: - - distribution: MySQL ---- - - -In addition to capturing general system metrics, Longview can also be used to capture metrics for MySQL. The MySQL tab appears in Cloud Manager when Longview detects that you have MySQL installed on your system. It can help you keep track of MySQL's queries, system resource consumption, and other information. - -{{< note >}} -In order to use Longview to capture data for MySQL, you must have the Longview Agent successfully installed on the system you wish to monitor. See [Create a Longview Client and Install the Longview Agent](/docs/products/tools/longview/get-started/). -{{< /note >}} - -## In this Guide: - -This guide covers using Longview with MySQL and includes the following topics: - -- [Configuring Longview for MySQL](#configure-longview). -- [Interacting with the MySQL data provided by Longview in Cloud Manager](#view-metrics). -- [Troubleshooting Longview for MySQL](#troubleshooting). - -## Configure Longview with MySQL {#configure-longview} - -### Automatic Configuration - -*These instructions are compatible only with Debian and Ubuntu and do not work on CentOS.* - -If MySQL is installed and running when you install the Longview agent, Longview should automatically configure itself for MySQL. If you install MySQL *after* setting up the Longview agent, you can perform the steps below to configure Longview with any available software integrations (Apache, NGINX, and MySQL). Any existing Longview data is not affected and will remain accessible. - -1. [SSH into the Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) you are monitoring with Longview. - -1. Ensure that MySQL is running. - - ```command - sudo systemctl status mysql - ``` - -1. Run the automatic Longview configuration command on your system: - - ```command - dpkg-reconfigure -phigh linode-longview - ``` - - On many systems, Longview should be able to configure itself automatically. If this is the case, your output should be similar to the following: - - ```output - Checking MySQL configuration... - Successfully connected to MySQL - ``` - - Once you see this successful message, the Longview should automatically start collecting MySQL data. Refresh Longview in Cloud Manager to start viewing your MySQL metrics for your Longview Client instance. - - {{< note >}} - Unless you already have a specific Longview database user set up in the `/etc/linode/longview.d/MySQL.conf` file, Longview will locate and use the `debian-sys-maint` database user credentials if it can, located at `/etc/mysql/debian.cnf`. - {{< /note >}} - - If you receive a failure message or the popup shown below, you should visit the [Troubleshooting](#troubleshooting) section at the end of this article. - - ![Screenshot of MySQL notice when configuring Longview](longview-mysql-1.png) - -### Manual Configuration - -*These instructions work for all supported distributions, including Debian, Ubuntu, and CentOS.* - -To enable the MySQL Longview integration manually, follow these steps on your system via SSH: - -{{< note >}} -You cannot configure the location of a socket for the Longview client. -{{< /note >}} - -1. [SSH into the Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) you are monitoring with Longview. - -1. Log into MySQL. For example, to log in as the root user: - - ```command - sudo mysql -u root -p - ``` - -1. Create a new MySQL user with minimal privileges for Longview. Run the following queries on your database as the root MySQL user to create the new user. Ensure your replace `*****************` with your desired password. - - ```command - CREATE USER 'linode-longview'@'localhost' IDENTIFIED BY '***************'; - flush privileges; - ``` - -1. Exit the MySQL: - - ```command - exit - ``` - -1. Edit `/etc/linode/longview.d/MySQL.conf` to include the same username and password you just added. It should look like the following: - - ```file {title="/etc/linode/longview.d/MySQL.conf" lang=aconf} - username linode-longview - password example_password - ``` - -1. Restart Longview: - - ```command - sudo systemctl restart longview - ``` - -1. Refresh Longview in Cloud Manager to verify that the MySQL tab is now present and collecting data for your Longview client instance. - -You should now be able to see Longview data for MySQL. If that's not the case, proceed to the [Troubleshooting](#troubleshooting) section at the end of this article. - -## View MySQL Metrics {#view-metrics} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select the **Longview** link in the sidebar. - -1. Locate the Longview Client you have configured for MySQL and click the corresponding **View details** link. - -1. Select the **MySQL** tab. - -![The Longview MySQL App.](longview_mysql_stats.png) - -You'll see the current version of MySQL listed on the upper left-hand corner. - -Hover over a data point to see the exact numbers for that time. You can also zoom in on data points, or view older time periods with Longview Pro. For details, jump to this section in the main article about [navigating the Longview interface](/docs/products/tools/longview/guides/metrics/). The next sections cover the Longview MySQL App in detail. - -### Queries - -The **Queries** graph shows the total number of select, update, insert, and delete queries MySQL handled at the selected time. - -### Throughput - -The **Throughput** graph shows the amount of data that MySQL sent and received at the time selected. - -### Connections - -The **Connections** graph shows all of the MySQL connections at the selected time. - -### Slow Queries - -The **Slow Queries** graph shows the number of slow MySQL queries at the selected time. - -### Aborted - -The **Aborted** graph shows the number of aborted MySQL connections and clients at the selected time. - -### CPU - -The **CPU** graph shows the percentage of your system's CPU being used by MySQL at the selected time. If you want to see the total CPU use instead, check the [Overview tab](/docs/products/tools/longview/guides/metrics/#overview). - -### RAM - -The **RAM** graph shows the amount of RAM or memory being used by MySQL at the selected time. If you want to see your system's total memory use instead, check the [Overview tab](/docs/products/tools/longview/guides/metrics/#overview). - -### Disk IO - -The **Disk IO** graph shows the amount of input to and output from the disk caused by MySQL at the selected time. To see the total IO instead, visit the [Disks tab](/docs/products/tools/longview/guides/metrics/#disks). - -### Process Count - -The **Process Count** graph shows the total number of processes on your system spawned by MySQL at the selected time. If you want to see more details, and how this stacks up against the total number of processes on your system, see the [Processes tab](/docs/products/tools/longview/guides/metrics/#processes). - -## Troubleshooting - -If you don't see Longview data for MySQL, you'll instead get an error on the page and instructions on how to fix it. As a general tip, you can check the `/var/log/linode/longview.log` file for errors as well. - -### Unable to Automatically Configure MySQL Popup - -If you run the [automatic Longview configuration tool](#debian-and-ubuntu-automatic-configuration), and get the popup message shown below: - -![Screenshot of MySQL notice when configuring Longview](longview-mysql-1.png) - -This indicates that Longview can't locate any valid MySQL user credentials, so it will create some for itself (in the `/etc/linode/longview.d/MySQL.conf` file) and ask you to add them to MySQL. To finish getting Longview set up: - -1. Copy the command shown in the popup message. You will need it for the next steps. - -1. Log in to your database as the root MySQL user: - - ```command - sudo mysql -u root -p - ``` - -1. Run the query that was shown in the popup message to create the Longview user. Ensure you replace `*****************` with the password provided to you by the popup. - - ```command - CREATE USER 'linode-longview'@'localhost' IDENTIFIED BY '***************'; - flush privileges; - ``` - - Refresh Longview in Cloud Manager to verify that the MySQL tab is now present and collecting data for your Longview client instance. - -If you've added the credentials to MySQL and it still doesn't work, double-check your MySQL installation, and then do a [manual configuration](#manual-configuration-all-distributions). - -### Unable to Connect to the Database, No Credentials Found - -- You may receive this error: - - ```output - Unable to connect to the database, no credentials found. - ``` - - This indicates that you need to add a MySQL user for Longview, and make sure the Longview configuration file has the appropriate credentials. See the [manual configuration](#manual-configuration-all-distributions) section for details. - -- You may also encounter this error message: - - ```output - Unable to connect to the database: Authentication plugin 'sha256_password' cannot be loaded: /usr/lib/x86_64-linux-gnu/mariadb18/plugin/sha256_password.so: cannot open shared object file: No such file or directory. - ``` - - If this is the case, follow the above instructions for [manual configuration](#manual-configuration-all-distributions). - -### Unable to Connect to the Database - -This error will state `Unable to connect to the database:` and then specify a reason. An incorrect password is one example of something that can generate this type of error. The list of errors that could cause this issue is pretty long, so you may want to reference the [MySQL documentation](https://dev.mysql.com/doc/) if you need help understanding a specific error message. - -### Unable to Collect MySQL Status Information - -If you receive the error `Unable to collect MySQL status information`, this indicates that Longview was able to connect to the MySQL database, but the query it uses to collect statistics has failed. This could occur if the database crashes while the query is being executed. The specific reason that it failed will be listed with the error. If the problem persists, contact Linode [support](/docs/products/platform/get-started/guides/support/). - -### MySQL Tab is Missing - -If the Longview MySQL tab is missing entirely, this indicates that MySQL is either not installed, or has stopped. If you restart MySQL, you will be able to see the tab again and view all of your old data. \ No newline at end of file diff --git a/docs/products/tools/longview/guides/mysql/longview-mysql-1.png b/docs/products/tools/longview/guides/mysql/longview-mysql-1.png deleted file mode 100644 index ab556bba2d5..00000000000 Binary files a/docs/products/tools/longview/guides/mysql/longview-mysql-1.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/mysql/longview_mysql_stats.png b/docs/products/tools/longview/guides/mysql/longview_mysql_stats.png deleted file mode 100644 index 41f971bcc77..00000000000 Binary files a/docs/products/tools/longview/guides/mysql/longview_mysql_stats.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/nginx/index.md b/docs/products/tools/longview/guides/nginx/index.md deleted file mode 100644 index 701e9514e29..00000000000 --- a/docs/products/tools/longview/guides/nginx/index.md +++ /dev/null @@ -1,268 +0,0 @@ ---- -title: Capture NGINX Metrics with Longview -title_meta: Capture NGINX Metrics with Linode Longview -description: 'This guide discusses the Linode Longview client, including how to configure Longview for the Nginx web server, how to interact with data from Longview, and more.' -published: 2013-11-05 -modified: 2023-05-24 -keywords: ["Longview", " Nginx", " statistics", " HttpStubStatusModule"] -tags: ["cloud manager","statistics","monitoring","linode platform","nginx"] -aliases: ['/platform/longview/longview-app-for-nginx/','/longview/longview-for-nginx/','/platform/longview/what-is-the-linode-longview-app-for-nginx/','/guides/what-is-the-linode-longview-app-for-nginx/'] -relations: - platform: - key: what-is-longview - keywords: - - distribution: NGINX ---- - -In addition to capturing general system metrics, Longview can also be used to capture metrics for NGINX. The NGINX tab appears in Cloud Manager when Longview detects that you have NGINX installed on your system. It can help you keep track of NGINX workers, requests, system resource consumption, and other information. - -{{< note >}} -In order to use Longview to capture data for NGIXN, you must have the Longview Agent successfully installed on the system you wish to monitor. See [Create a Longview Client and Install the Longview Agent](/docs/products/tools/longview/get-started/). -{{< /note >}} - -## In this Guide - -This guide covers using Longview with NGINX and includes the following topics: - -- [Configuring Linode Longview for NGINX](#configure-longview). -- [Interacting with the NGINX data provided by Longview in Cloud Manager](#view-metrics). -- [Troubleshooting Linode Longview for NGINX](#troubleshooting). - -## Configure Longview for NGINX {#configure-longview} - -### Automatic Configuration - -*These instructions are compatible only with Debian and Ubuntu and do not work on CentOS.* - -If NGINX is installed and running when you install the Longview agent, Longview should automatically configure itself for NGINX. If you install NGINX *after* setting up the Longview agent, you can perform the steps below to configure Longview with any available software integrations (Apache, NGINX, and MySQL). Any existing Longview data is not affected and will remain accessible. - -1. [SSH into the Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) you are monitoring with Longview. - -1. Ensure that NGINX is running. - - ```command - sudo systemctl status NGINX - ``` - -1. Run the automatic Longview configuration command. - - ```command - dpkg-reconfigure -phigh linode-longview - ``` - - For many systems, Longview should be able to configure itself automatically. If this is the case, your output should be similar to the following: - - ```output - Checking Nginx configuration... - Found nginx status page at http://127.0.0.2/nginx_status specified in /etc/linode/longview.d/Nginx.conf - ``` - - If this output appears, Longview is configured and you can skip to the last step. - -1. If Longview can't locate the NGINX status page, a prompt may appear. This could indicate that the status page is in an unusual and unspecified location, or that the status module isn't enabled, or that NGINX itself is misconfigured. - - ![Screenshot of the NGINX notice for Longview](longview-ningx-1.png) - - Select one of the options: - - - **No**: The configuration tool exits and you can perform a [manual configuration](#manual-configuration). This may be safer if you have a delicate NGINX setup. - - - **Yes**: The configuration tool attempts to enable the status module, set the status page location in a new vhost configuration file, and restart NGINX. This option is easier, but has the potential to disrupt your current NGINX configuration. If you choose yes, and the configuration is successful, you should see output similar to the following: - - ```output - [ ok ] Stopping Longview Agent: longview. - Checking Nginx configuration... - Restarting nginx: nginx. - Finished configuring nginx, writing new configuration to /etc/linode/longview.d/Nginx.conf - [ ok ] Starting Longview Agent: longview. - update-rc.d: using dependency based boot sequencing - ``` - - {{< note >}} - The automatic configuration sets the status page location to `http://127.0.0.2/nginx_status`. - {{< /note >}} - -1. Refresh Longview in Cloud Manager to verify that the NGINX tab is now present and collecting data for your Longview client instance. - - If instead you received a failure message similar to the output example, double-check your NGINX installation and then perform a [manual configuration](#manual-configuration). You can also visit the [Troubleshooting](#troubleshooting) section at the end of this guide. - - ```output - [FAIL] Reloading web server config: nginx failed! - ``` - -### Manual Configuration - -*These instructions work for all supported distributions, including Debian, Ubuntu, and CentOS.* - -To enable the NGINX Longview integration manually, follow these steps on your system via SSH: - -1. [SSH into the Compute Instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) you are monitoring with Longview. - -1. Add the following lines to your NGINX configuration to enable the status module and set the location of the status page. The lines should be placed within your main configuration file's `http` block (`/etc/nginx/nginx.conf`) or in a separate [site configuration file](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/#host-multiple-websites). - - ```file {title="/etc/nginx/nginx.conf"} - server { - listen 127.0.0.1:80; - server_name 127.0.0.1; - location /nginx_status { - stub_status on; - allow 127.0.0.1; - deny all; - } - } - ``` - -1. Restart NGINX: - - ```command - sudo systemctl restart nginx - ``` - -1. Edit the Longview configuration file for NGINX (`/etc/linode/longview.d/Nginx.conf`) so that it includes the following line. If this line is commented out, you can uncomment it. - - ```file {title="/etc/linode/longview.d/Nginx.conf"} - location http://127.0.0.1/nginx_status - ``` - -1. Restart Longview: - - ```command - sudo systemctl restart longview - ``` - -1. Refresh Longview in Cloud Manager to verify that the NGINX tab is now present and collecting data for your Longview client instance. - -You should now be able to see Longview data for NGINX. If that's not the case, proceed to the [Troubleshooting](#troubleshooting) section at the end of this article. - -## View NGINX Metrics {#view-metrics} - -1. Log in to [Cloud Manager](https://cloud.linode.com/) and select the **Longview** link in the sidebar. - -1. Locate the Longview Client you have configured for NGINX and click the corresponding **View details** link. - -1. Select the **NGINX** tab. - - ![The Longview Nginx App.](nginx-overview.png) - - You'll see the current version of NGINX listed on the upper left-hand side of the page. - - Mouse over a data point to see the exact numbers for that time. With [Longview Pro](/docs/products/tools/longview/), you can view older time periods for your data. The next sections cover the Longview Nginx App in detail. - -### Requests - -The **Requests** graph shows the total number of requests NGINX handled at the selected time. This is every HTTP and HTTPS request to your system. - -### Connections - -The **Connections** graph shows the amount of data that NGINX accepted and handled via web requests at the time selected. - -### Workers - -The **Workers** graph shows all of the NGINX workers at the selected time. The workers are broken down by state: - -- Waiting -- Reading -- Writing - -### CPU - -The **CPU** graph shows the percentage of your system's CPU being used by NGINX at the selected time. If you want to see the total CPU use instead, check the [Overview tab](/docs/products/tools/longview/guides/metrics/#overview). - -### RAM - -The **RAM** graph shows the amount of RAM or memory being used by NGINX at the selected time. If you want to see your system's total memory use instead, check the [Overview tab](/docs/products/tools/longview/guides/metrics/#overview). - -### Disk IO - -The **Disk IO** graph shows the amount of input to and output from the disk caused by NGINX at the selected time. To see the total IO instead, visit the [Disks tab](/docs/products/tools/longview/guides/metrics/#disks). - -### Process Count - -The **Process Count** graph shows the total number of processes on your system spawned by NGINX at the selected time. If you want to see more details, and how this stacks up against the total number of processes on your system, see the [Processes tab](/docs/products/tools/longview/guides/metrics/#processes). - -## Troubleshooting - -If you don't see Longview data for Nginx, you'll instead get an error on the page and instructions on how to fix it. As a general tip, you can check the `/var/log/linode/longview.log` file for errors as well. - -### Unable to Access Server Status Page for NGINX - -The error will state `Unable to access server status page (http://example.com/example) for Nginx: `. This error occurs when NGINX's status setting is disabled or has been changed from the default location. - -{{< note >}} -This error occurs when Longview attempts to check the status page `location` listed in `/etc/linode/longview.d/Nginx.conf`, or the default page at `http://127.0.0.1/nginx_status`, but receives a non-200 HTTP response code. Basically, it means that the status page Longview is checking doesn't exist. -{{< /note >}} - -To fix this, follow these steps: - -1. Make sure NGINX is running: - - ```command - sudo systemctl restart nginx - ``` - -1. Check the status page location, and make sure it's available over Port 80. The default location Longview checks is `http://127.0.0.1/nginx_status` on localhost, but NGINX doesn't typically have a status page location set up by default. In the NGINX configuration file (typically `/etc/nginx/nginx.conf`) or in a [separate site configuration file](/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/#host-multiple-websites), this is designated with the lines in the example file below. If your configuration file does not contain these lines, add them to the file within the `http` block. For more details, see the [Manual Configuration](#manual-configuration) section of this guide. - - ```file {title="/etc/nginx/nginx.conf"} - server { - listen 127.0.0.1:80; - server_name 127.0.0.1; - location /nginx_status { - stub_status on; - allow 127.0.0.1; - deny all; - } - } - ``` - -1. Longview is designed to check the default location automatically. If you use the default location shown above, you should be done. Refresh Longview in Cloud Manager to verify that the NGINX tab is now present and collecting data for your Longview client instance. - -1. If you're not using the default location, you need to create a new file, `/etc/linode/longview.d/Nginx.conf`, and set the `location` variable to match what you set in the NGINX configuration file: - - ```file {title="/etc/linode/longview.d/Nginx.conf"} - location http://127.0.0.1/url-goes-here - ``` - -1. Restart Longview: - - ```command - sudo systemctl restart nginx - ``` - -1. Refresh Longview in Cloud Manager to verify that the NGINX tab is now present and collecting data for your Longview client instance. - -{{< note >}} -If you originally compiled NGINX without the status module, you will need to recompile it with `--with-http_stub_status_module` and all your other settings. Then go back and try to enable the Longview Nginx App. -{{< /note >}} - -### The NGINX Status Page Doesn't Look Right - -The error will state `The Nginx status page doesn't look right. Check and investigate any redirects for misconfiguration.` This error occurs when Longview is able to reach the status page, but doesn't receive the expected content. - -{{< note >}} -This error occurs when Longview attempts to check the status page, and receives a 200 HTTP response code, but can't scrape the expected status content from the page. That is, the page exists on your system, but it doesn't have the right content. If, for example, Longview was to check your website's home page, you would get this error. -{{< /note >}} - -To resolve this issue, follow these steps: - -1. Visit the URL shown in the error. See if it directs or redirects you to a page that isn't the NGINX status page. - -1. Update your NGINX and Longview settings so that they specify the same status page location: - - - The **server_name** and **location** lines in your NGINX configuration file. See the [Manual Configuration](#manual-configuration-all-distributions) section for more details. - - The **location** line in `/etc/linode/longview.d/Nginx.conf` - - If the location line isn't set in `/etc/linode/longview.d/Nginx.conf`, Longview will check the default location of `http://127.0.0.1/nginx_status` on localhost. - -1. Make sure there aren't any NGINX redirects or other settings that are affecting this page. - -1. Restart Longview: - - ```command - sudo systemctl restart longview - ``` - -1. Refresh Longview in Cloud Manager to verify that the NGINX tab is now present and collecting data for your Longview client instance. - -### NGINX Tab is Missing - -If the Longview Nginx tab is missing entirely, this indicates that NGINX is either not installed, or has stopped. If you restart NGINX, you will be able to see the tab again and view all of your old data. \ No newline at end of file diff --git a/docs/products/tools/longview/guides/nginx/longview-ningx-1.png b/docs/products/tools/longview/guides/nginx/longview-ningx-1.png deleted file mode 100644 index ff8f698835c..00000000000 Binary files a/docs/products/tools/longview/guides/nginx/longview-ningx-1.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/nginx/nginx-overview.png b/docs/products/tools/longview/guides/nginx/nginx-overview.png deleted file mode 100644 index 8cd5d036736..00000000000 Binary files a/docs/products/tools/longview/guides/nginx/nginx-overview.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/troubleshooting/TroubleshootLinodeLongview.png b/docs/products/tools/longview/guides/troubleshooting/TroubleshootLinodeLongview.png deleted file mode 100644 index d9cc1aee5f4..00000000000 Binary files a/docs/products/tools/longview/guides/troubleshooting/TroubleshootLinodeLongview.png and /dev/null differ diff --git a/docs/products/tools/longview/guides/troubleshooting/index.md b/docs/products/tools/longview/guides/troubleshooting/index.md deleted file mode 100644 index 9bb3614a0d1..00000000000 --- a/docs/products/tools/longview/guides/troubleshooting/index.md +++ /dev/null @@ -1,184 +0,0 @@ ---- -title: Troubleshooting Longview -title_meta: Troubleshooting Linode Longview -description: 'Longview is a server monitoring client from Linode you can use to watch server performance. This guide describes the process of troubleshooting Longview.' -og_description: "Learn how to troubleshoot Linode's Longview service." -published: 2020-01-22 -modified: 2023-05-24 -keywords: ["system monitoring", "longview", "metrics", "troubleshooting"] -tags: ["resolving","cloud manager","statistics","monitoring","linode platform"] -image: TroubleshootLinodeLongview.png -aliases: ['/platform/longview/troubleshooting-linode-longview/','/guides/troubleshooting-linode-longview/'] ---- - -This guide discusses basic troubleshooting steps to help you diagnose and resolve any issues you may encounter while using Longview. If you're experiencing problems with the Longview client, follow the steps outlined in this guide to help determine the cause. - -## Basic Diagnostics - -1. Ensure that your system is [fully updated](/docs/products/compute/compute-instances/guides/set-up-and-secure/#perform-system-updates). - - {{< note >}} - Longview requires Perl 5.8 or later. - {{< /note >}} - -1. Verify that the Longview client is running. Use the command that is appropriate for your distribution's initialization system: - - **Distributions with systemd** - - ```command - sudo systemctl status longview - ``` - - **Distributions without systemd** - - ```command - sudo service longview status - ``` - - If the Longview client is not running, start it with the command appropriate for your distribution's initialization system: - - **Distributions with systemd** - - ```command - sudo systemctl start longview - ``` - - **Distributions without systemd** - - ```command - sudo service longview start - ``` - - If the service fails to start, check Longview's log for errors. The log file is located in `/var/log/linode/longview.log`. - -## Debug Mode - -Restart the Longview client in debug mode for increased logging verbosity. - -1. First stop the Longview client: - - **Distributions with systemd** - - ```command - sudo systemctl stop longview - ``` - - **Distributions without systemd** - - ```command - sudo service longview stop - -1. Then restart Longview with the `debug` flag: - - ```command - sudo /etc/init.d/longview debug - ``` - -1. When you're finished collecting information, repeat the first two steps to stop Longview and restart it again without the debug flag. - - If Longview does not close properly, find the process ID and kill the process: - - ```comand - ps aux | grep longview - sudo kill $PID - ``` - -## Firewall Rules - -If your Linode has a firewall, it must allow communication with Longview's aggregation host at `longview.linode.com` (IPv4: `96.126.119.66`). You can view your firewall rules with one of the commands below, depending on the firewall controller used by your Linux distribution: - -- **firewalld** - - ```command - sudo firewall-cmd --list-all - ``` - - {{< note >}} - Review our [Introduction to FirewallD on CentOS](/docs/guides/introduction-to-firewalld-on-centos/) guide for more help with FirewallD. - {{< /note >}} - -- **iptables** - - ```command - sudo iptables -S - ``` - - {{< note >}} - Review our [Control Network Traffic with iptables](/docs/guides/control-network-traffic-with-iptables/) guide for more help with iptables. - {{< /note >}} - -- **ufw** - - ```command - sudo ufw show added - ``` - - {{< note >}} - Review our [How to Configure a Firewall with UFW](/docs/guides/configure-firewall-with-ufw/) guide for more help with UFW. - {{< /note >}} - -If the output of those commands show no rules for the Longview domain (or for `96.126.119.66`, which is the IP for the Longview domain), you must add them. A sample iptables rule that allows outbound HTTPS traffic to Longview would be the following: - -```command -iptables -A OUTPUT -p tcp --dport 443 -d longview.linode.com -j ACCEPT -``` - -{{< note >}} -If you use iptables, you should also make sure to persist any of your firewall rule changes. Otherwise, your changes will not be enforced if your Linode is rebooted. Review the [iptables-persistent](/docs/guides/control-network-traffic-with-iptables/#introduction-to-iptables-persistent) section of our iptables guide for help with this. -{{< /note >}} - -## Verify API key - -The API key given in the Linode Cloud Manager should match that on your system in `/etc/linode/longview.key`. - -1. In Cloud Manager, the API key is located in the **Installation** tab of your Longview Client instance's [detailed view](/docs/products/tools/longview/get-started/). - -1. SSH into your Linode. The Longview key is located at `/etc/linode/longview.key`. Use `cat` to view the contents of that file and compare it to what's shown in Cloud Manager: - - ```command - cat /etc/linode/longview.key - ``` - - The two should be the same. If they are not, paste the key from the Linode Cloud Manager into `longview.key`, overwriting anything already there. - -## Cloned Keys - -If you clone a Linode which has Longview installed, you may encounter the following error: - -```output -Multiple clients appear to be posting data with this API key. Please check your clients' configuration. -``` - -This is caused by both Linodes posting data using the same Longview key. To resolve it: - -1. Uninstall the Longview agent on the cloned system. - - **CentOS**: - - ```command - sudo yum remove linode-longview - ``` - - **Debian or Ubuntu**: - - ```command - sudo apt-get remove linode-longview - ``` - - **Other Distributions**: - - ```command - sudo rm -rf /opt/linode/longview - ``` - -1. Add a new [Linode Longview Client instance](/docs/products/tools/longview/get-started/#create-client). This will create a new Longview API key independent from the system which it was cloned from. - - {{< note >}} - The GUID provided in the Longview Client's installation URL is not the same as the Longview API key. - {{< /note >}} - -1. [Install the Longview Agent](/docs/products/tools/longview/get-started/#install-agent) on the cloned Linode. - -## Contact Support - -If you still need assistance after performing these checks, please open a [support ticket](/docs/products/platform/get-started/guides/support/#contact-customer-support). \ No newline at end of file diff --git a/docs/products/tools/monitoring/_index.md b/docs/products/tools/monitoring/_index.md deleted file mode 100644 index 2cc67357cbe..00000000000 --- a/docs/products/tools/monitoring/_index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Monitoring -description: "Linode performance Monitoring lets you set custom thresholds and enable the shutdown watchdog, Lassie." -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - date: 2020-06-02 - product_description: "Easily analyze performance graphs and keep track of your transfer usage right from the Linode Cloud Manager. Create custom alerts for when you near thresholds you set." ---- - -## Availability - -Linode Monitoring tools are available across [all regions](https://www.linode.com/global-infrastructure/). - -## Features - -### Performance Monitoring -See how your Linodes are performing now and historically over time. Know when to scale up or down for better application performance. - -### Custom Thresholds -Create custom usage threshold alerts so you know when you’re close to exceeding resources and know when it's time to scale up your resources. See the [Monitoring and Maintaining your Server](/docs/products/compute/compute-instances/guides/monitor-and-maintain/#configure-cloud-manager-email-alerts) guide for instruction on how to configure custom email alerts for CPU usage, Disk IO rate, and more. - -### Shutdown Watchdog -When enabled, our Shutdown Watchdog automatically reboots your Linode if it should ever power off unexpectedly. "Lassie," as it's also known, gets your Linode back online before you even know it's off. - -## Pricing - -Linode's Monitoring is provided for free to all customers. diff --git a/docs/products/tools/monitoring/developers/index.md b/docs/products/tools/monitoring/developers/index.md deleted file mode 100644 index b5e6513f77e..00000000000 --- a/docs/products/tools/monitoring/developers/index.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -title: Developers -description: "Linode Monitoring is managed easily with developer tools like the Linode API or CLI." -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [View Linode Statistics](https://techdocs.akamai.com/linode-api/reference/api-summary#view-linode-statistics) - -- [View Statistics (year/month)](https://techdocs.akamai.com/linode-api/reference/api-summary#view-statistics-yearmonth) - -- [List Managed Stats](https://techdocs.akamai.com/linode-api/reference/api-summary#list-managed-stats) - -- [View NodeBalancer Statistics](https://techdocs.akamai.com/linode-api/reference/api-summary#view-nodebalancer-statistics) - -- [Longview Endpoints](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. diff --git a/docs/products/tools/monitoring/feature.png b/docs/products/tools/monitoring/feature.png deleted file mode 100644 index 0ba11879f5e..00000000000 Binary files a/docs/products/tools/monitoring/feature.png and /dev/null differ diff --git a/docs/products/tools/monitoring/feature.svg b/docs/products/tools/monitoring/feature.svg deleted file mode 100644 index 5e495b61f47..00000000000 --- a/docs/products/tools/monitoring/feature.svg +++ /dev/null @@ -1,5 +0,0 @@ - - Monitoring - - - \ No newline at end of file diff --git a/docs/products/tools/monitoring/guides/_index.md b/docs/products/tools/monitoring/guides/_index.md deleted file mode 100644 index 0faa1e8da6f..00000000000 --- a/docs/products/tools/monitoring/guides/_index.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Guides -description: "Learn to get up and running with monitoring your Linode services and find guides on related monitoring tools." -tab_group_main: - weight: 30 ---- - -## Building Blocks - -These introductory guides help you get up and running with monitoring your Linode services. - -- [Configure Shutdown Watchdog](/docs/products/compute/compute-instances/guides/lassie-shutdown-watchdog/): "Lassie" the Shutdown Watchdog can monitor your Linodes and automatically restart them if they are shutdown unexpectedly. - -- [Cloud Manager Graphs](/docs/products/tools/monitoring/guides/monitoring-cloud-graphs): Cloud Manager provides several basic graphs to give you a view into the performance of your Linodes. - -- [Configure Email Alerts](/docs/products/compute/compute-instances/guides/resource-usage-email-alerts/): In Cloud Manager, you can configure several server alerts to automatically email you when certain thresholds are met. - -- [Use Third-Party Tools](/docs/products/tools/monitoring/guides/monitoring-third-party-tools): For a more detailed view of your systems, you can use third-party tools. - -For more basics, see the full guide on [Monitoring and Maintaining Your Server](/docs/products/compute/compute-instances/guides/monitor-and-maintain/). - -## Themes - -These additional guides help you with targeted topics like how to use command line and graphical tools to monitor your servers and applications. - -### Command Line Tools - -- [Use vmstat to Monitor System Performance](/docs/guides/use-vmstat-to-monitor-system-performance/) - -- [Using top to Monitor Server Performance](/docs/guides/top-htop-iotop/) - -- [Monitor System Logs with Logwatch](/docs/guides/logwatch-monitor-system-logs/) - -- [Installing Monit for Server Monitoring](/docs/guides/monitoring-servers-with-monit/) - -- [Monitor Remote Hosts with Icinga](/docs/guides/monitor-remote-hosts-with-icinga/) - -### Graphical Tools - -- [Monitor Your System with Graphite and a Grafana Dashboard](/docs/guides/install-graphite-and-grafana/) - -- [Longview Pricing and Plans](/docs/products/tools/longview/) - -- [Understanding Linode Longview](/docs/products/tools/longview/get-started/) - -- [Troubleshoot Linode Longview](/docs/products/tools/longview/guides/troubleshooting/) - -- [Using the Linode Longview App for MySQL](/docs/products/tools/longview/guides/mysql/) - -- [Using the Linode Longview App for Apache](/docs/products/tools/longview/guides/apache/) - -- [Using the Linode Longview App for Nginx](/docs/products/tools/longview/guides/nginx/) diff --git a/docs/products/tools/monitoring/guides/monitoring-cloud-graphs/index.md b/docs/products/tools/monitoring/guides/monitoring-cloud-graphs/index.md deleted file mode 100644 index 2f22345bbcd..00000000000 --- a/docs/products/tools/monitoring/guides/monitoring-cloud-graphs/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Cloud Manager Graphs -description: "How to use Cloud Manager graphs with the Linode Monitoring." ---- - -{{% content "monitoring-cloud-manager-graphs-shortguide" %}} \ No newline at end of file diff --git a/docs/products/tools/monitoring/guides/monitoring-third-party-tools/index.md b/docs/products/tools/monitoring/guides/monitoring-third-party-tools/index.md deleted file mode 100644 index 5f8e14f121d..00000000000 --- a/docs/products/tools/monitoring/guides/monitoring-third-party-tools/index.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Use Third Party Tools -description: "How to use monitoring third-party tools." ---- - -{{% content "monitoring-third-party-tools-shortguide" %}} \ No newline at end of file diff --git a/docs/products/tools/monitoring/resources/index.md b/docs/products/tools/monitoring/resources/index.md deleted file mode 100644 index 302bd440137..00000000000 --- a/docs/products/tools/monitoring/resources/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Resources -description: "Resources and other information related to Linode Monitoring including blog posts and community posts." -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [High Availability - What You Need to Know](https://www.linode.com/blog/cloud-consulting-services/high-availability-what-you-need-to-know/) - -## Community Posts - -- [How do I set up a monitor on my Linode?](https://www.linode.com/community/questions/152/how-do-i-set-up-a-monitor-on-my-linode) - -- [Simple monitoring solution](https://www.linode.com/community/questions/4006/help-dont-know-how-to-solve-this-server-stopped-respondin) - -- [Can I download the CPU, Network and Disk data from the graph tab?](https://www.linode.com/community/questions/17174/can-i-download-the-cpu-network-and-disk-data-from-the-graph-tab) - -- [Can I tell if I need to upgrade my Linode by looking at my graphs?](https://www.linode.com/community/questions/262/can-i-tell-if-i-need-to-upgrade-my-linode-by-looking-at-my-graphs) - -- [I see a message in Cloud Manager that Lassie rebooted my Linode. What exactly is Lassie?](https://www.linode.com/community/questions/19098/i-see-a-message-in-cloud-manager-that-lassie-rebooted-my-linode-what-exactly-is-) - -- [Why is my Linode suddenly using 100% of its CPU?](https://www.linode.com/community/questions/17820/why-is-my-linode-suddenly-using-100-of-its-cpu) - -- [Is CPU % per core or for the whole CPU?](https://www.linode.com/community/questions/309/is-cpu-per-core-or-for-the-whole-cpu) - -- [Linode graphs show 100% CPU usage for my Minecraft server, but top shows low CPU usage. Which one is right?](https://www.linode.com/community/questions/18660/linode-graphs-show-100-cpu-usage-for-my-minecraft-server-but-top-shows-low-cpu-u) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=monitoring). diff --git a/docs/products/tools/stackscripts/_index.md b/docs/products/tools/stackscripts/_index.md deleted file mode 100644 index 1c74f8bca36..00000000000 --- a/docs/products/tools/stackscripts/_index.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: StackScripts -title_meta: "StackScripts Product Documentation" -description: "Linode StackScripts allow for quick and easy customization. Create your own and join the growing library of StackScripts." -modified: 2023-09-18 -tab_group_main: - is_root: true - title: Overview - weight: 10 -cascade: - product_description: "Custom deployment scripts used to install software or configure a system on new Compute Instances." -aliases: ['/platform/stackscripts-classic-manager/','/platform/stackscripts/','/platform/stackscripts-new-manager/','/stackscripts/','/guides/platform/stackscripts/'] ---- - -{{% content "metadata-stackscripts-notice" %}} - -[StackScripts](http://linode.com/stackscripts/) provide Linode users with the ability to automate the deployment of custom systems. They work by running a custom script when deploying a new Compute Instance. These custom scripts store tasks that you may need to repeat often on new Compute Instances, such as: - -- Automating common system administration tasks, such as installing and configuring software, configuring system settings, adding limited user accounts, and more. -- Running externally hosted deployment scripts. -- Quickly creating Compute Instances for yourself or clients with the exact starter configuration you need. - -All StackScripts are stored in the Linode Cloud Manager and can be accessed whenever you deploy a Compute Instance. A StackScript authored by you is an *Account StackScript*. A *Community StackScript* is a StackScript created by a Linode community member that has made their StackScript publicly available. - -## Features - -### Quick and Easy Customization - -Select a StackScript, fill out any required fields, and click to deploy. StackScripts run the first time a Compute Instance boots, allowing you to automatically customize the default Linux distribution. - -### A Library of StackScripts - -Customize your Compute Instance with one of the many StackScripts in our library or discover a community-sourced script. They include everything from installing a Linode-optimized LAMP stack to configuring an IPsec VPN server. - -### Create Your Own - -Writing new StackScripts is simple. If you can’t find the right StackScript for your needs, author your own. - -## Pricing and Availability - -StackScripts are available at no charge across [all regions](https://www.linode.com/global-infrastructure/). - -## Technical Specifications - -- Deployable on new Compute Instances -- Use any Linode-provided Linux distribution (see [Choosing a Linux Distribution](/docs/products/compute/compute-instances/guides/distributions/)) -- Supports the bash scripting language and any other scripting language supported by your chosen Linux distribution(s) (such as Python) -- Supports custom user-defined fields (UDFs) -- StackScripts can be made public to share with the community -- Manage StackScripts through an intuitive web-based control panel ([Cloud Manager](https://cloud.linode.com/)), the [Linode CLI](https://www.linode.com/products/cli/), or programmatically through the [Linode API](https://www.linode.com/products/linode-api/) \ No newline at end of file diff --git a/docs/products/tools/stackscripts/_shortguides/metadata-stackscripts-notice/index.md b/docs/products/tools/stackscripts/_shortguides/metadata-stackscripts-notice/index.md deleted file mode 100644 index 5914152ca24..00000000000 --- a/docs/products/tools/stackscripts/_shortguides/metadata-stackscripts-notice/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -# Shortguide: Information about the Metadata as a StackScripts alternative - -headless: true -show_on_rss_feed: false ---- - -{{< note type="warning" title="Consider Using Akamai's New Metadata Service" >}} -Akamai's Metadata service is now available in select data centers and should be considered for new projects as an alternative to StackScripts. 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/). -{{< /note >}} \ No newline at end of file diff --git a/docs/products/tools/stackscripts/developers/index.md b/docs/products/tools/stackscripts/developers/index.md deleted file mode 100644 index 5a96a027925..00000000000 --- a/docs/products/tools/stackscripts/developers/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Developers -title_meta: "Developer Resources for StackScripts" -description: "Linode StackScripts are managed easily with developer tools like the Linode API or CLI." -published: 2020-04-22 -tab_group_main: - weight: 50 ---- - -## Linode API - -Linode’s [API v4](https://techdocs.akamai.com/linode-api/reference/api) provides the ability to programmatically manage the full range of Linode products and services. - -- [StackScripts Endpoint Collection](https://techdocs.akamai.com/linode-api/reference/api-summary) - -## Linode CLI - -The [Linode CLI](https://github.com/linode/linode-cli) is a wrapper around the Linode API v4 that lets you manage your Linode account and resources from the command line. diff --git a/docs/products/tools/stackscripts/feature.png b/docs/products/tools/stackscripts/feature.png deleted file mode 100644 index 6fe2a968337..00000000000 Binary files a/docs/products/tools/stackscripts/feature.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/feature.svg b/docs/products/tools/stackscripts/feature.svg deleted file mode 100644 index ea0d24656f3..00000000000 --- a/docs/products/tools/stackscripts/feature.svg +++ /dev/null @@ -1,11 +0,0 @@ - - StackScripts - - - - - - - - - \ No newline at end of file diff --git a/docs/products/tools/stackscripts/get-started/index.md b/docs/products/tools/stackscripts/get-started/index.md deleted file mode 100644 index 25a1d8be16f..00000000000 --- a/docs/products/tools/stackscripts/get-started/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Get Started -title_meta: "Getting Started with StackScripts" -description: "Get started with Linode StackScripts. Learn to create a StackScript and create a new Linode using a StackScript." -published: 2022-11-30 -modified: 2023-09-18 -tab_group_main: - weight: 20 -tags: ["managed hosting"] ---- - -{{% content "metadata-stackscripts-notice" %}} - -StackScripts allow you to reproduce specific software configurations when deploying Compute Instances, with more user control than static system images. This guide covers how to get started with StackScripts, including writing your custom script, creating the StackScript, and deploying a Compute Instance. - -## Write the Script - -When creating a StackScript, most of the time is spent writing the deployment script itself. This script runs the first time a Compute Instance boots up and lets you configure the system to fit your precise needs and requirements. Before you write the script, consider the following: - -- **What is the purpose of your script?** The first question you should ask is *what purpose will your script serve*. Do you want to build a web server? Are you building a script to take care of securing new servers? Consider each task you want your script to perform. - -- **Which scripting language should be used for your script?** You can write the StackScript in any language that the distribution supports out of the box. Specifically, you need to specify the interpreter that is used to execute the script. Common scripting languages are bash and python. - -- **Which Linux distributions should the script support?** Since each distribution bundles different core software, the commands needed to install applications or configure networking vary between distributions. You need to determine which distributions you want to have available when deploying the Compute Instance. Then, you can customize your script to include commands for those distributions. - -- **Which dynamic variables do you want the user to set when deploying a Compute Instance?** Determine what information you wish to collect during deployment. These user variables can be defined through the use of UDF fields within the script. All UDF fields are visible in Cloud Manager when creating a Compute Instance based on the StackScript. - -For more details on the components of a StackScript, see [Write a Custom Script for Use with StackScripts](/docs/products/tools/stackscripts/guides/write-a-custom-script/) guide. - -## Create the StackScript - -After your script has been written, you are ready to create the StackScript. See [Create a StackScript](/docs/products/tools/stackscripts/guides/create/) for complete instructions. - -1. Log into [Cloud Manager](https://cloud.linode.com/) and select **StackScripts** from the left navigation menu. Click the **Create StackScript** button on the top right of the page. - -1. Enter a **Label** and **Description** for your StackScript. - -1. Use the **Target Images** field to select each distribution your StackScript can support. When deploying a new Compute Instance based on this StackScript, only images selected here can be used. - -1. Enter your custom script within the **Script** field. - -1. Type in a **Revision Note** and click the **Create StackScript** button. - -## Deploy a Compute Instance - -When creating a new Compute Instance, you can use one of your Account StackScripts or a Community StackScript. For full instructions, see [Deploy a Compute Instance Using a StackScript](/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/). - -1. Log into [Cloud Manager](https://cloud.linode.com/) and select **StackScripts** from the left navigation menu. - -1. Navigate to either the **Account StackScript** tab (to deploy your own StackScript) or the **Community StackScript** tab (to deploy a public StackScript). - -1. Locate the StackScript you wish to deploy and click the corresponding **Deploy New Linode** button. - - ![Screenshot of the more options ellipsis menu for a StackScript](stackscript-deploy-button.png) - -1. This opens the **Create Linode** form with the StackScript pre-selected. From here, you can follow the instructions outlined in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. If there are any UDF fields defined in the StackScript, they are displayed in the **StackScript Options** section. - -1. Click on the **Create Linode** button to complete the creation of your new Compute Instance. The StackScript is executed when the instance first boots up. \ No newline at end of file diff --git a/docs/products/tools/stackscripts/get-started/stackscript-deploy-button.png b/docs/products/tools/stackscripts/get-started/stackscript-deploy-button.png deleted file mode 100644 index 5cd38ea8c0f..00000000000 Binary files a/docs/products/tools/stackscripts/get-started/stackscript-deploy-button.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/_index.md b/docs/products/tools/stackscripts/guides/_index.md deleted file mode 100644 index 51e096cc920..00000000000 --- a/docs/products/tools/stackscripts/guides/_index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Guides -title_meta: "Guides and Tutorials for StackScripts" -description: "Learn to create and use StackScripts in Cloud Manager and other related topics, like best practices when writing scripts." -modified: 2022-11-30 -tab_group_main: - weight: 30 ---- - -## Basics - -- [Create a New StackScript](/docs/products/tools/stackscripts/guides/create/): Instructions for creating a new StackScript. - -- [Manage StackScripts](/docs/products/tools/stackscripts/guides/manage/): View, edit, and manage StackScripts on your account. - -- [Deploy a Compute Instance Using a StackScript](/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/): Instructions for creating a new Compute Instance based on a StackScript. - -- [Use Cases for StackScripts](/docs/products/tools/stackscripts/guides/use-cases/): Outlines several common reasons why StackScripts might be the right deployment tool. - -## Writing a Script - -- [Write a Custom Script for Use with StackScripts](/docs/products/tools/stackscripts/guides/write-a-custom-script/): A walk-through for creating custom scripts to use on your next StackScript. - -- [Use Externally Hosted Deployment Scripts](/docs/products/tools/stackscripts/guides/external-scripts/): Learn how to download an external script and use it within a StackScript. - -## Going Further - -- [Solving Real World Problems With Bash Scripts - A Tutorial](/docs/guides/solving-real-world-problems-with-bash-scripts-a-tutorial/) - -- [Deploy a WordPress Site Using Terraform and StackScripts](/docs/guides/deploy-a-wordpress-site-using-terraform-and-linode-stackscripts/) diff --git a/docs/products/tools/stackscripts/guides/create/index.md b/docs/products/tools/stackscripts/guides/create/index.md deleted file mode 100644 index 8eec83621fc..00000000000 --- a/docs/products/tools/stackscripts/guides/create/index.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Create a StackScript -description: "How to make a StackScript using Linode StackScripts." -published: 2022-11-30 -modified: 2023-09-18 -aliases: ['/products/tools/stackscripts/guides/stackscripts-create-stackscript/'] ---- - -{{% content "metadata-stackscripts-notice" %}} - -This guide walks you through creating a StackScript through Cloud Manager. - -1. [Open the Create StackScript Form in Cloud Manager](#open-the-create-stackscript-form-in-cloud-manager) -1. [Set the Label](#set-the-label) -1. [Add a Description](#add-a-description) -1. [Select Compatible Distribution Images](#select-compatible-distribution-images) -1. [Create the Custom Script](#create-the-custom-script) -1. [Enter a Revision Note](#enter-a-revision-note) -1. [Save the StackScript](#save-the-stackscript) - -## Open the Create StackScript Form in Cloud Manager - -Log in to [Cloud Manager](https://cloud.linode.com/) and select **StackScripts** from the left navigation menu. Click the **Create StackScript** button. This opens the *[StackScript Create](https://cloud.linode.com/stackscripts/create)* form. - -## Set the Label - -Within the **Label** field, enter the label you wish to use identify this StackScript. A good label should provide some indication as to what the StackScript will be used to deploy. The label must be alphanumeric, between 3 and 128 characters, and unique from other StackScript labels on your account. - -## Add a Description - -Enter a brief overview of your StackScript in the **Description** field, outlining what it does and any software it might be installing or configuring. If you intend on sharing this StackScript with other users on your account or making this StackScript public, this description should be sufficient to help others understand the purpose of the StackScript. - -## Select Compatible Distribution Images - -Within the **Target Images** field, select each distribution image that is compatible with your StackScript. When deploying a Compute Image based on this StackScript, the available images are limited to whichever images are selected here. At least one image must be selected, though you can add multiple images if you wish to provide an option during deployment. See [Choosing a Linux Distribution](/docs/products/compute/compute-instances/guides/distributions/) to learn more about the distributions that Linode supports. - -## Create the Custom Script - -Paste (or type) your custom script in the **Script** field. This is the script that the StackScript calls when deploying a Compute Instance. The interpreter needed to execute your script must exist in the distribution images that were previously selected. The first line of the script must include a shebang followed by the path to the interpreter you wish to use. - -- **Bash:** `#!/bin/bash` -- **Python:** `#!/usr/bin/env python` -- **Python 3:** `#!/usr/bin/python3` - -For more details on the components of a StackScript, see [Write a Custom Script for Use with StackScripts](/docs/products/tools/stackscripts/guides/write-a-custom-script/) guide. - -## Enter a Revision Note - -Each time you make a change to a StackScript (including creating it), you can set a **Revision Note** to indicate what changes were made. - -## Save the StackScript - -Once you are finished filling out all required fields, click the **Create StackScript** button to create the StackScript. After it has been created, you can edit all of the fields as needed. See [Edit a StackScript](/docs/products/tools/stackscripts/guides/manage/#edit-a-stackscript). - -{{< note >}} -To deploy a new Linode with your StackScript, follow the steps in the [Deploying a New Compute Instance Using a StackScript](/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/) guide. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/index.md b/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/index.md deleted file mode 100644 index 8af84ddd861..00000000000 --- a/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/index.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Deploy a Compute Instance Using a StackScript -description: 'In this guide, you will learn the various methods you can use in conjunction with Cloud Manager to deploy a new Linode with a StackScript.' -published: 2020-04-22 -modified: 2023-02-02 -keywords: ["stackscripts", "automation", "script", "custom instance", "deployment"] -tags: ["linode platform","automation","cloud manager"] -aliases: ['/platform/stackscripts/how-to-deploy-a-new-linode-using-a-stackscript/','/guides/how-to-deploy-a-new-linode-using-a-stackscript/'] ---- - -When deploying a Compute Instance, you can choose to select a StackScript. This causes the StackScript to run the first time the instance boots up. The StackScript can be from your own account or one that a member of the community has publicly shared. - -{{< note >}} -Linode does not verify the accuracy of any community submitted StackScripts. Before deploying a Compute Instance using a Community StackScript, you should review the script so that you understand what changes it will make on your new instance. -{{< /note >}} - -1. Log into [Cloud Manager](https://cloud.linode.com/) and select **StackScripts** from the left navigation menu. - -1. Navigate to either the *Account StackScripts* tab (for StackScripts on your own customer account) or *Community StackScripts* tab (for StackScripts publicly shared by other members of the community). - -1. Locate the StackScript you wish to deploy and click the corresponding **Deploy New Linode** button. - - ![Screenshot of the more options ellipsis menu for a StackScript](stackscript-deploy-button.png) - - {{< note >}} - To find a StackScript, you can scroll through the list or you can use the **Search** field. For advanced searches, you search a specific field for a search term by entering `[field]:[search-term]`. This field can be `label`,`description`, or `username`. The example below searches the label field for the search term "nginx". - - ```command - label:nginx - ``` - {{< /note >}} - -1. This opens the **Create Linode** form with the StackScript pre-selected. If there are any UDF fields defined in the StackScript, they are displayed in the **StackScript Options** section. UDFs that *do not have* a default value are marked as required. UDFs that *do have* a default value are optional and are listed under the **Advanced Options** section. - - {{< note type="warning" >}} - Do not use a double quotation mark character (`"`) within any of the StackScript-specific configuration fields, including user and database password fields. This special character may cause issues during deployment. - {{< /note >}} - -1. Next, select the Linux distribution you'd like to use within the **Select an Image** field. This list is limited to only images that the StackScript has targeted. - -1. Complete the remainder of the form by follow the instructions outlined in the [Creating a Compute Instance](/docs/products/compute/compute-instances/guides/create/) guide. - -1. Click on the **Create Linode** button to complete the creation of your new Compute Instance. The StackScript is executed when the instance first boots up. - -{{< note >}} -Depending on the contents of your StackScript, it may take a few minutes for the script to finish executing. -{{< /note >}} \ No newline at end of file diff --git a/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/stackscript-deploy-button.png b/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/stackscript-deploy-button.png deleted file mode 100644 index 5cd38ea8c0f..00000000000 Binary files a/docs/products/tools/stackscripts/guides/deploy-a-compute-instance/stackscript-deploy-button.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/external-scripts/index.md b/docs/products/tools/stackscripts/guides/external-scripts/index.md deleted file mode 100644 index b6e070ddf41..00000000000 --- a/docs/products/tools/stackscripts/guides/external-scripts/index.md +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "Use an Externally Hosted Deployment Script" -description: "Learn how to download an external script and use it within a StackScript." -published: 2020-04-22 -modified: 2022-11-30 -aliases: ['/products/tools/stackscripts/guides/stackscripts-create-linode/'] ---- - -## External Deployment Script - -If you have an existing deployment script, you can use a StackScript to deploy Linode instances with it. The following example StackScript installs PHP on the Linode, downloads an external PHP script from the URL `http://example.com/deployment-script.php`, makes it executable, and then runs the downloaded script. - -### Bash Example - -```file {title="Bash StackScript Example" lang="bash"} -#!/bin/bash -if [ -f /etc/apt/sources.list ]; then - apt update - apt -y install php -elif [-f /etc/yum.conf ]; then - yum -y install php -elif [-f /etc/pacman.conf ]; then - pacman -Sy - pacman -S --noconfirm pacman - pacman -S --noconfirm php -else - echo "Your distribution is not supported by this StackScript" - exit -fi - -wget http://example.com/deployment-script.php --output-document=/opt/deployment-script.php -chmod +x /opt/deployment-script.php - -./opt/deployment-script.php -``` - -### Python Example - -The same script can be applied via python using the following syntax: - -```file {title="Python StackScript Example" lang="python"} -#!/usr/bin/python3 - -import os.path - -if os.path.isfile('/etc/apt/sources.list'): - os.system('sudo apt update && sudo apt -y upgrade') - os.system('sudo apt -y install php php-common') -elif os.path.isfile('/etc/yum.conf'): - os.system('sudo yum install -y wget && sudo yum -y install php') -elif os.path.isfile('/etc/pacman.conf'): - os.system('pacman -Sy && pacman -S --noconfirm pacman && pacman -S --noconfirm php') -else: - print("Your Distribution is not supported by this StackScript") - -os.system('wget http://example.com/deployment-script.php --output-document=/opt/deployment-script.php') -os.system('chmod +x /opt/deployment-script.php') - -print("StackScript Complete. Thank you!") -``` - -## Embedded Deployment Script - -If you do not want to rely on an existing external server to host your scripts for download, you can embed the bootstrapped script into the StackScript. - -```file {title="Embedded Script Example" lang="bash"} -#!/bin/bash - -if [ -f /etc/apt/sources.list ]; then - apt update - apt -y install php -elif [-f /etc/yum.conf ]; then - yum -y install php -elif [-f /etc/pacman.conf ]; then - pacman -Sy - pacman -S --noconfirm pacman - pacman -S --noconfirm php -else - echo "Your distribution is not supported by this StackScript" - exit -fi - -cat >/opt/deployment-script.php < -EOF - -chmod +x /opt/deployment-script.php - -./opt/deployment-script.php -``` - -## Install Software Dependencies - -When using scripts other than bash, the underlying software supporting the scripting language may need to be installed to the operating system as part of the StackScript. This issue can be resolved by creating a simple StackScript in bash to install the required software, and then importing and executing the second StackScript which is using the desired language. For CentOS for example, this StackScript could be used to install python3, and apply a script that was previously created for it: - -```file {title="Example StackScript to Install Dependencies" lang="bash"} -#!/bin/bash -sudo dnf install -y python3 -source -python3 /root/ssinclude-1111 -``` \ No newline at end of file diff --git a/docs/products/tools/stackscripts/guides/manage/index.md b/docs/products/tools/stackscripts/guides/manage/index.md deleted file mode 100644 index e5c49e9598b..00000000000 --- a/docs/products/tools/stackscripts/guides/manage/index.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Manage StackScripts -title_meta: Manage StackScripts on the Linode Platform -description: "Learn how to view, edit, and manage StackScripts on your Linode account." -published: 2020-04-22 -modified: 2022-11-30 -keywords: ["automation", "scripts", "deployments", "instance"] -tags: ["linode platform","automation","cloud manager"] -aliases: ['/platform/stackscripts/creating-and-managing-stackscripts-a-tutorial/','/guides/creating-and-managing-stackscripts-a-tutorial/','/products/tools/stackscripts/guides/stackscripts-edit-stackscript/','/products/tools/stackscripts/guides/stackscripts-delete-stackscript/','/products/tools/stackscripts/guides/stackscripts-create-public-stackscript/'] ---- - -## View StackScripts - -Log in to [Cloud Manager](https://cloud.linode.com) and select **StackScripts** from the left menu. If any StackScripts exist on your account, they are listed on this page. - -![Screenshot of the StackScripts page in Cloud Manager](view-stackscripts.png) - -The **Account StackScripts** tab includes all of your account StackScripts, including those that are public. The **Community StackScripts** tab lists all StackScripts that are public, including those from other users. - -Each StackScript is displayed along with the username of user that created it, its label, and a brief description. There is also a corresponding table row for the last revision and the number of Compute Instances that have been deployed using the StackScript. - -## Create a New StackScript - -See [Create a StackScript](/docs/products/tools/stackscripts/guides/create/) for instructions. - -## Edit a StackScript - -1. Navigate to the **StackScripts** page in Cloud Manager. See [View StackScripts](#view-stackscripts). - -1. Locate the StackScript you wish to view or edit. Click on the corresponding **Edit** link, which may appear within the ellipsis menu. - - ![Screenshot of the edit button for a StackScript](stackscript-edit-button.png) - -1. The **Edit StackScript** page appears, which is similar to the **Create StackScript** form that's discussed within the [Create a StackScript](/docs/products/tools/stackscripts/guides/create/) guide. From here, you can update any field - including the script. - -1. Add a brief description of your changes to the **Revision Note** field and click the **Save Changes** button. - -## Make a StackScript Public - -Making an Account StackScript public allows the rest of the Linode community to access your script as a *Community StackScript*. - -1. Navigate to the **StackScripts** page in Cloud Manager. See [View StackScripts](#view-stackscripts). - -1. Locate the StackScript you wish to view or edit. Click on the corresponding **Make StackScript Public** link, which may appear within the ellipsis menu. - - ![Screenshot of the make public button for a StackScript](stackscript-make-public-button.png) - -1. A dialog box appears asking you to confirm that you wish to make the StackScript public. - - {{< note type="alert" >}} - While you can edit a public *Community StackScript*, you cannot delete it or make it private again. - {{< /note >}} - -{{< note >}} -Your public StackScript is available to you for use on the Account StackScripts tab. For users on other accounts, your StackScript is available to them from the Community StackScripts tab. -{{< /note >}} - -## Delete a StackScript - -{{< note >}} -You cannot delete Account StackScripts that have been made public. -{{< /note >}} - -1. Navigate to the **StackScripts** page in Cloud Manager. See [View StackScripts](#view-stackscripts). - -1. Locate the StackScript you wish to delete. Click on the corresponding **Delete** link, which may appear within the ellipsis menu. - - ![Screenshot of the edit button for a StackScript](stackscript-delete-button.png) - -1. A dialog box appears asking you to confirm the action. Click the **Delete StackScript** button if you would like to continue with the deletion. \ No newline at end of file diff --git a/docs/products/tools/stackscripts/guides/manage/stackscript-delete-button.png b/docs/products/tools/stackscripts/guides/manage/stackscript-delete-button.png deleted file mode 100644 index 5ba82f314cc..00000000000 Binary files a/docs/products/tools/stackscripts/guides/manage/stackscript-delete-button.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/manage/stackscript-edit-button.png b/docs/products/tools/stackscripts/guides/manage/stackscript-edit-button.png deleted file mode 100644 index 4ab0c418355..00000000000 Binary files a/docs/products/tools/stackscripts/guides/manage/stackscript-edit-button.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/manage/stackscript-make-public-button.png b/docs/products/tools/stackscripts/guides/manage/stackscript-make-public-button.png deleted file mode 100644 index 8e1c8d253ac..00000000000 Binary files a/docs/products/tools/stackscripts/guides/manage/stackscript-make-public-button.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/manage/view-stackscripts.png b/docs/products/tools/stackscripts/guides/manage/view-stackscripts.png deleted file mode 100644 index f4aa8648815..00000000000 Binary files a/docs/products/tools/stackscripts/guides/manage/view-stackscripts.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/use-cases/CommonUse_LinodeStackScripts.png b/docs/products/tools/stackscripts/guides/use-cases/CommonUse_LinodeStackScripts.png deleted file mode 100644 index 50ec1312638..00000000000 Binary files a/docs/products/tools/stackscripts/guides/use-cases/CommonUse_LinodeStackScripts.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/use-cases/Common_Use_Cases_for_Linode_StackScripts_1200x631.png b/docs/products/tools/stackscripts/guides/use-cases/Common_Use_Cases_for_Linode_StackScripts_1200x631.png deleted file mode 100644 index 5cba95e3eec..00000000000 Binary files a/docs/products/tools/stackscripts/guides/use-cases/Common_Use_Cases_for_Linode_StackScripts_1200x631.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/use-cases/index.md b/docs/products/tools/stackscripts/guides/use-cases/index.md deleted file mode 100644 index ac6f06d4e62..00000000000 --- a/docs/products/tools/stackscripts/guides/use-cases/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: "Common Use Cases for StackScripts" -description: "This guide covers some of the common use cases for Linode StackScripts along with limitations of the service." -published: 2020-05-21 -modified: 2022-11-30 -keywords: ['scripting','automation','bash','open source'] -image: CommonUse_LinodeStackScripts.png -tags: ["linode platform","automation"] -aliases: ['/platform/stackscripts/common-stackscripts-use-cases/','/guides/common-stackscripts-use-cases/'] ---- - -## Automating Common System Administration Tasks - -Whenever you deploy a new Linode, there are basic system administration tasks that you must perform, like installing system software updates, setting your Linode's hostname, setting the timezone, and securing your server. You can create a StackScript to automate all these steps and use it each time you deploy a new Linode. There are few limitations to what you can automate using a StackScript, because its underlying mechanism works just like any script you might execute on a Linux system. StackScripts ensure that each Linode you deploy is configured exactly to your preferences each time. - -Since you can make any StackScript public to the Linode Community, your entire team can use the StackScripts you create to easily deploy base identical systems. - -## Demonstrating your Software - -If you develop software, you can use StackScripts to deploy a demonstration instance of your software. The resulting system may not need to be particularly durable or be fully configured, since you can redeploy a new Linode exactly as written in your StackScript. This is an easy and reproducible way to spin up quick demos of your software. - -## Distributing your Software - -Community StackScripts are publicly available to the entire Linode Community. This means if you have an open source project you'd like to make easily available to Linode users, you can write a StackScript that installs and configures your project's software on a Linode. Include [user defined variables](/docs/products/tools/stackscripts/guides/write-a-custom-script/#declare-user-defined-fields-udfs) in your StackScript to make it customizable to users during each deployment of the StackScript. - -{{< note >}} -If you would also like to make your open source project available to the Linode Community as a Quick Deploy App, see the [Akamai Quick Deploy Apps page](https://www.linode.com/marketplace/) for details. -{{< /note >}} - -## Deploy Cluster Instances - -If your application makes use of a cluster of nodes, you may be able to automate the deployment of a new cluster-member by using StackScripts to configure the instance. StackScripts, in combination with the [Linode API](/docs/products/tools/api/), can help you to elastically automate deployment and management of a cluster's node. Similarly, you can apply the same concept to creating a [server appliance instance](https://en.wikipedia.org/wiki/Computer_appliance). \ No newline at end of file diff --git a/docs/products/tools/stackscripts/guides/write-a-custom-script/Writing_Scripts_for_Use_with_Linode_StackScripts_1200x631.png b/docs/products/tools/stackscripts/guides/write-a-custom-script/Writing_Scripts_for_Use_with_Linode_StackScripts_1200x631.png deleted file mode 100644 index 996928f79f3..00000000000 Binary files a/docs/products/tools/stackscripts/guides/write-a-custom-script/Writing_Scripts_for_Use_with_Linode_StackScripts_1200x631.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/guides/write-a-custom-script/index.md b/docs/products/tools/stackscripts/guides/write-a-custom-script/index.md deleted file mode 100644 index 1fc4a71c342..00000000000 --- a/docs/products/tools/stackscripts/guides/write-a-custom-script/index.md +++ /dev/null @@ -1,226 +0,0 @@ ---- -title: "Write a Custom Script for Use with StackScripts" -description: "This guide details the StackScript system including script requirements, how to import an existing StackScript into a new StackScript, and more." -published: 2020-05-21 -modified: 2022-11-30 -keywords: ["automation", "scripts", "deployments", "instance"] -tags: ["linode platform","automation","cloud manager"] -image: Writing_Scripts_for_Use_with_Linode_StackScripts_1200x631.png -aliases: ['/platform/stackscripts/writing-scripts-for-use-with-linode-stackscripts-a-tutorial/','/guides/writing-scripts-for-use-with-linode-stackscripts-a-tutorial/'] ---- - -At the core of all StackScripts is a custom script that is written to perform a certain task (or collection of tasks). These custom scripts are written in a language that's supported by the targeted Linux distributions. Writing a custom script for a StackScript is largely the same as writing a custom script that you would execute from the command line or another program. This guide explains some important considerations as well as the special features that StackScripts support. - -## Before You Begin - -When creating a StackScript, most of the time is spent writing the deployment script itself. This script runs the first time a Compute Instance boots up and lets you configure the system to fit your precise needs and requirements. Before you write the script, consider the following: - -- **What is the purpose of your script?** The first question you should ask is *what purpose will your script serve*. Do you want to build a web server? Are you building a script to take care of securing new servers? Consider each task you want your script to perform. - -- **Which scripting language should be used for your script?** You can write the StackScript in any language that the distribution supports out of the box. Specifically, you need to specify the interpreter that is used to execute the script. Common scripting languages are bash and python. - -- **Which Linux distributions should the script support?** Since each distribution bundles different core software, the commands needed to install applications or configure networking vary between distributions. You need to determine which distributions you want to have available when deploying the Compute Instance. Then, you can customize your script to include commands for those distributions. - -- **Which dynamic variables do you want the user to set when deploying a Compute Instance?** Determine what information you wish to collect during deployment. These user variables can be defined through the use of UDF fields within the script. All UDF fields are visible in Cloud Manager when creating a Compute Instance based on the StackScript. - -## Components of a StackScript - -- **Interpreter** *(required)*: The scripting language and interpreter needed to execute the script. In the example below, the bash interpreter is used. See [Set the Language and Interpreter](#set-the-language-and-interpreter). - - ```file - #!/bin/bash - ``` - -- **Declaration of user-defined fields** *(optional)*: These fields are presented to the user in Cloud Manager during the deployment process. See [Declare User-Defined Fields (UDFs)](#declare-user-defined-fields-udfs). - - ```file {linenostart="2"} - # - ``` - -- **Import external StackScripts** *(optional)*: You can optionally import other StackScripts to reuse code. See [Import a StackScript](#import-a-stackscript). - - ```file {linenostart="3"} - source - ``` - -- **Script:** The rest of the StackScript should your deployment script. This preforms the tasks that you've outlined in the [Before You Begin](#before-you-begin) section. For example, the script below updates the system and installs PHP, NGINX, and MariaDB. - - ```file {linenostart="4"} - apt-get update && apt-get upgrade -y - apt-get install -y php nginx mariadb-server - ``` - -## Set the Language and Interpreter - -The primary requirement for your scripts is that the interpreter needed to execute your script should exist in each Linux distribution you are targeting. While bash is an obvious choice that's support by all of Linode's distribution images, you may choose another scripting language. - -The first line of the script must include a [*shebang*](https://en.wikipedia.org/wiki/Shebang_(Unix)) followed by the path to the interpreter that should be use. - -- **Bash:** `#!/bin/bash` -- **Python:** `#!/usr/bin/env python` -- **Python 3:** `#!/usr/bin/python3` - -## Declare User-Defined Fields (UDFs) - -The StackScript system provides a basic markup specification that interfaces with the Linode deployment process. This syntax allows users to customize the behavior of a StackScript on a per-deployment basis. When a StackScript contains a *user-defined field (UDF)*, Cloud Manager presents the UDF as a form field. The user can then insert a corresponding custom value into the field. The values and their related variables are inserted into the script's environment when used to deploy a new Compute Instance. - -{{< note >}} -UDF fields are only usable by scripts written in bash. -{{< /note >}} - -Use the following format to insert a UDF tag into a StackScript. - -```command {lang="text"} -# -``` - -{{< note >}} -The UDF tags are commented out to prevent execution errors, as the StackScript system parses the tags without removing them. -{{< /note >}} - -### UDF Attributes - -A UDF tag accepts the following attributes: - -- **Variable name** (*required*): - - `name="[variable-name]"` - - The variable name is the string you wish to use to reference this variable within the StackScript. The string must be alphanumeric (can include underscores), less than 64 characters in length, and be unique within the StackScript. - - {{< note >}} - If you would like to create a masked password input field, use the word `password` anywhere in the UDF `name` attribute. - {{< /note >}} - -- **Field label** (*required*): - - `label="[field-label]"` - - The label attribute is used when displaying the field to the user in Cloud Manager. This should be a short string that clearly indicates what the field is used for. If needed, you can also enter helper text using the `example` attribute. - -- **Helper text** (*optional*): - - `example="[helper-text]"` - - This text is displayed in Cloud Manager underneath the field. It should be used to further explain to the user what the field is used for. - -- **Select one** (*optional*): - - `oneOf="[value1],[value2],..."` - - A comma separated list of acceptable values for the field. These values are displayed either as radio boxes (if just 2 values are provided) or within a dropdown menu (if 3 or more values are provided). Only one value can be selected by the user. This cannot be used within the *manyOf* attribute (discussed below) within the same UDF tag. - -- **Select multiple** (*optional*): - - `manyOf="[value1],[value2],..."` - - A comma separated list of acceptable values for the field in any quantity, combination, or order. These values are displayed within a dropdown menu in Cloud Manager. Multiple values can be selected by the user. This cannot be used within the *oneOf* attribute (discussed above) within the same UDF tag. - -- **Default value** (*optional*): - - `default="[default-value]"` - - This defines the default value for this UDF. If no value is specified by the user during deployment, this default value is used. The default value is displayed to the user within Cloud Manager. - - - **String** (neither `oneOf` or `manyOf` are used): The default value can be any string and is displayed as plain text within the form field in Cloud Manager. - - **Select one** (`oneOf` attribute is defined): The default value needs to correspond with a single value defined in the `oneOf` attribute. This value is pre-selected in the radio field or dropdown box in Cloud Manager. - - **Select multiple** (`manOf` attribute is defined): The default value needs to correspond with one or more values defined in the `manyOf` attribute. If setting multiple values as the default, delimit them with a comma. These values are pre-selected in the dropdown box in Cloud Manager. - -## Default Environment Variables - -Linode StackScripts provide a set of default environment variables that you can use to provide your script with information about the Linode it has deployed. - -| Environment Variable | Description | -| -- | -- | -| `LINODE_ID` | The deployed Linode's ID number. | -| `LINODE_LISHUSERNAME` | The deployed Linode's full [Linode Shell (LISH)](/docs/guides/using-the-lish-console/) accessible name. | -| `LINODE_RAM` | The [RAM available on this Linode's plan](/docs/products/compute/compute-instances/plans/choosing-a-plan/#compute-resources). | -| `LINODE_DATACENTERID` | The ID number of the data center containing the Linode. You can use the [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary#regions-list) to see a list of all data center IDs. | - -### Set your Environment Variables Using an External File - -It is possible to set your script's environment variables using externally hosted files. The example Bash script uses the wget utility to download two files named `base.env` and `$IPADDR.env` from the external site `http://example.com/`. The `source` command loads the downloaded files into the script. - -```file {title="Example StackScript" lang="bash"} -... -IPADDR=$(/sbin/ifconfig eth0 | awk '/inet / { print $2 }' | sed 's/addr://') - -wget http://example.com/base.env --output-document=/tmp/base.env -wget http://example.com/$IPADDR.env --output-document=/tmp/system.env - -source /tmp/base.env -source /tmp/system.env -... -``` - -{{< note >}} -The files you reference within your script must exist and be accessible via `HTTP`. Also, ensure that the files you host externally do not contain any sensitive information. -{{< /note >}} - -## Import a StackScript - -Your scripts can import any other StackScript, including those from within your own account or those shared with the community. This lets you reuse code between StackScripts, minimizing the amount of new code you might need to write. - -- **Bash:** - - ```file - source - ``` - -- **Other scripting languages:** - - ```file - - ./ssinclude-[ID] - ``` - -In the example syntax above, replace *[ID]* with the ID corresponding to the StackScript you wish to use. You can find the ID by viewing the StackScript in Cloud Manager and copying the value within the **StackScript ID** field, as shown below: - -![Screenshot of the StackScript ID in Cloud Manager](stackscript-id.png) - -### Using the Linode StackScript Bash Library - -Linode provides a [StackScript Bash Library](https://cloud.linode.com/stackscripts/1) that includes a set of functions that perform various common tasks users might wish to execute on their Linodes. This script creates the functions, but does not run them. A new StackScript can import the Bash Library and then execute functions from it. - -{{< note >}} -Linode's [StackScript Bash Library's](https://cloud.linode.com/stackscripts/1) ID number is `1`. -{{< /note >}} - - -```file {title="Example StackScript using the Linode Bash Library"} -#!/bin/bash -source -system_update -system_install_package php wget nginx -``` - -## Example StackScript - -The file below displays an example of a simple script that executes some basic set up steps on a Linode. Review the example's comments for details on what each line of the script does. - -```file {title="Example Script" lang="bash"} -#!/bin/bash -# This block defines the variables the user of the script needs to provide -# when deploying using this script. -# -# -# -# HOSTNAME= -# -# -# FQDN= - -# This sets the variable $IPADDR to the IP address the new Linode receives. -IPADDR=$(/sbin/ifconfig eth0 | awk '/inet / { print $2 }' | sed 's/addr://') - -# This updates the packages on the system from the distribution repositories. -apt-get update -apt-get upgrade -y - -# This section sets the hostname. -echo $HOSTNAME > /etc/hostname -hostname -F /etc/hostname - -# This section sets the Fully Qualified Domain Name (FQDN) in the hosts file. -echo $IPADDR $FQDN $HOSTNAME >> /etc/hosts -``` \ No newline at end of file diff --git a/docs/products/tools/stackscripts/guides/write-a-custom-script/stackscript-id.png b/docs/products/tools/stackscripts/guides/write-a-custom-script/stackscript-id.png deleted file mode 100644 index 3e15081d7c9..00000000000 Binary files a/docs/products/tools/stackscripts/guides/write-a-custom-script/stackscript-id.png and /dev/null differ diff --git a/docs/products/tools/stackscripts/resources/index.md b/docs/products/tools/stackscripts/resources/index.md deleted file mode 100644 index 32680aef8ce..00000000000 --- a/docs/products/tools/stackscripts/resources/index.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Resources -title_meta: "Resources for StackScripts" -description: "Resources and other information related to Linode StackScripts including blog posts, community posts, and press releases." -published: 2020-04-22 -tab_group_main: - weight: 40 ---- - -## Blog Posts - -- [Introducing StackScripts](https://www.linode.com/blog/linode/introducing-stackscripts/) - -## Community Posts - -- [How to Debug StackScripts](https://www.linode.com/community/questions/5897/stackscripts-how-to-debug) - -- [More information StackScripts guide?](https://www.linode.com/community/questions/479/stackscript-guide) - -- [Basic StackScript Info](https://www.linode.com/community/questions/7394/basic-stackscript-info) - -- [SSH Keys with StackScripts](https://www.linode.com/community/questions/10394/ssh-keys) - -- [StackScripts with the API](https://www.linode.com/community/questions/10693/stackscripts-api) - -- [How do I Rebuild with a StackScript](https://www.linode.com/community/questions/17655/resolved-how-do-i-rebuild-from-stackscript-in-the-new-linode-cloud-manager) - -Browse our [Linode Community Questions & Answers page](https://www.linode.com/community/questions/) for more [related questions](https://www.linode.com/community/questions/search?query=stackscripts). - -## Press Releases - -- [Simplify Your Linode Deployment with StackScripts](https://medium.com/linode-cube/simplify-your-linode-deployment-with-stackscript-automation-e39ab3a2affb) diff --git a/docs/reference-architecture/auto-scaling-prometheus/_index.md b/docs/reference-architecture/auto-scaling-prometheus/_index.md index 2380fa17b78..531f2f6a10e 100644 --- a/docs/reference-architecture/auto-scaling-prometheus/_index.md +++ b/docs/reference-architecture/auto-scaling-prometheus/_index.md @@ -11,7 +11,7 @@ tab_group_main: ## Abstract -This abstract provides a concrete example of how to autoscale a generic, highly available application runtime running on Compute Instances using Prometheus and a Jenkins CI/CD pipeline. For an introduction to CI/CD pipelines and use cases see [Introduction to Continuous Integration and Continuous Delivery (CI/CD)](/docs/guides/introduction-ci-cd/). +This abstract provides a concrete example of how to autoscale a generic, highly available application runtime running on Compute Instances using Prometheus and a Jenkins CI/CD pipeline. For an introduction to CI/CD pipelines and use cases see [Introduction to Continuous Integration and Continuous Delivery (CI/CD)](/cloud/guides/introduction-ci-cd/). Cloud-based highly available workloads often need to scale horizontally when faced with periods of high demand, which can include traffic bursts based on marketing campaigns, new product launches, industry-based cyclical usage patterns, or unanticipated demand. Regardless of the reason, having the flexibility to reduce your costs when traffic is low, while also having the capability to expand your workload capacity on-demand, can be critical to customer satisfaction, your reputation, and your bottom line. This reference architecture demonstrates how to scale your workloads up or down within Akamai Cloud using Compute Instances hosting your application runtime. @@ -19,7 +19,7 @@ Cloud-based highly available workloads often need to scale horizontally when fac !["Traditional implementation"](traditional-cloud-build-implementation.png) -Figure 1 illustrates a common highly available application runtime that includes a delivery pipeline for developers to build the application, integration with [Linode API](/docs/products/tools/api/) through our [Terraform provider](https://registry.terraform.io/namespaces/linode), [Ansible community package](https://github.com/linode/ansible_linode), or [Linode CLI](/docs/products/tools/cli/). The system baseline illustrated here uses GitHub for source control management (although GitLab, Bitbucket, or other SCMs that Jenkins supports would work as well), Jenkins deployed on Compute Instances (Linode virtual machines), and using Object Storage as a artifact repository. For additional practical details on setting Jenkins up, see How to [Automate Builds with Jenkins](/docs/guides/automate-builds-with-jenkins-on-ubuntu/). +Figure 1 illustrates a common highly available application runtime that includes a delivery pipeline for developers to build the application, integration with [Linode API](https://techdocs.akamai.com/linode-api/reference/api-summary) through our [Terraform provider](https://registry.terraform.io/namespaces/linode), [Ansible community package](https://github.com/linode/ansible_linode), or [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/cli-1). The system baseline illustrated here uses GitHub for source control management (although GitLab, Bitbucket, or other SCMs that Jenkins supports would work as well), Jenkins deployed on Compute Instances (Linode virtual machines), and using Object Storage as a artifact repository. For additional practical details on setting Jenkins up, see How to [Automate Builds with Jenkins](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/). This use case assumes a web service deployed in a highly available configuration as shown in Figure 1, with at least two web servers behind a traffic manager. This example uses a NodeBalancer as a ingress proxy and Compute Instances for compute running the application. In summary, this baseline example illustrates the capability to maintain a typical application lifecycle with the tools shown. @@ -60,10 +60,10 @@ NOTE: When the traffic burst has subsided an Alter Manager event can also be kic - [Jenkins](https://www.jenkins.io/) - [GitHub](https://github.com/) - Linode Technologies: - - [Compute Instances](/docs/products/compute/compute-instances/) - - [Nodebalancer](/docs/products/networking/nodebalancers/) - - [Object Storage](/docs/products/storage/object-storage/) - - [API](/docs/products/tools/api/) + - [Compute Instances](https://techdocs.akamai.com/cloud-computing/docs/compute-instance) + - [Nodebalancer](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) + - [Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) + - [API](https://techdocs.akamai.com/linode-api/reference/api-summary) ## Business Benefits diff --git a/docs/reference-architecture/cloud-based-document-management-system/_index.md b/docs/reference-architecture/cloud-based-document-management-system/_index.md index a2906b00388..249b7d40e85 100644 --- a/docs/reference-architecture/cloud-based-document-management-system/_index.md +++ b/docs/reference-architecture/cloud-based-document-management-system/_index.md @@ -16,9 +16,9 @@ This reference architecture provides guidance on IaaS primitives, open source so This deployment is using the [Mayan Electronic Document Management System](https://mayan-edms.com/) (EDMS) – an open source web application for document collaboration, tamper proof signing, transformations, and more. Mayan EDMS also comes with a REST API for integrations with 3rd party software. For this example, we are using the recommended [Docker Compose installation](https://docs.mayan-edms.com/chapters/docker/install_docker_compose.html#docker-compose-install), which the Mayan EDMS project recommends for most cases, with two exceptions. This architecture decouples the [PostgreSQL](https://www.postgresql.org/) database layer to achieve separation of concerns and architect for high availability; and employs [NGINX](https://www.nginx.com/) as reverse proxies to the application, using [Certbot](https://certbot.eff.org/) with the [dns_linode plugin](https://certbot-dns-linode.readthedocs.io/en/stable/) for SSL/TLS certificate management. [Unison](https://www.cis.upenn.edu/~bcpierce/unison/) provides bi-directional synchronization of the Let’s Encrypt directories so that both application nodes contain the same certificate and private key. Unison also synchronizes the Docker volume directories between the two instances. -A [NodeBalancer](/docs/products/networking/nodebalancers/) is configured with the TCP protocol to pass traffic through to the backend servers for SSL/TLS termination, and with Proxy Protocol V1 so that NGINX can log the originating client IP addresses. Linode [Object Storage](/docs/products/storage/object-storage/) is the storage backend for Mayan EDNS documents, as well as for routine database backups. +A [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) is configured with the TCP protocol to pass traffic through to the backend servers for SSL/TLS termination, and with Proxy Protocol V1 so that NGINX can log the originating client IP addresses. Linode [Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) is the storage backend for Mayan EDNS documents, as well as for routine database backups. -All nodes are secured with [Cloud Firewalls](/docs/products/networking/cloud-firewall/) for protection from the outside world, and communicate internally via private [VLAN](/docs/products/networking/vlans/). The application servers connect to the databases via a shared floating VLAN IP address, with [Keepalived](/docs/guides/ip-failover-legacy-keepalived/) to facilitate failover. +All nodes are secured with [Cloud Firewalls](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) for protection from the outside world, and communicate internally via private [VLAN](https://techdocs.akamai.com/cloud-computing/docs/vlan). The application servers connect to the databases via a shared floating VLAN IP address, with [Keepalived](/cloud/guides/ip-failover-legacy-keepalived/) to facilitate failover. The PostgreSQL databases are implemented as an active-active cluster, using [Bucardo](https://bucardo.org/Bucardo/) for bi-directional replication. A backup script dumps the Mayan database, compresses the dump file, and then leverages [Rclone](https://rclone.org/) to upload the timestamped archive to the Object Storage bucket. @@ -29,7 +29,7 @@ The PostgreSQL databases are implemented as an active-active cluster, using [Buc - [Mayan EDMS](https://mayan-edms.com/) - [PostgreSQL 14](https://www.postgresql.org/) - [Bucardo](https://bucardo.org/Bucardo/) -- [Keepalived](/docs/guides/ip-failover-legacy-keepalived/) +- [Keepalived](/cloud/guides/ip-failover-legacy-keepalived/) - [Prometheus](https://prometheus.io/) - [Grafana](https://grafana.com/) - [NGINX](https://www.nginx.com/) @@ -37,11 +37,11 @@ The PostgreSQL databases are implemented as an active-active cluster, using [Buc - [Unison](https://www.cis.upenn.edu/~bcpierce/unison/) - [Rclone](https://rclone.org/) - **Linode Services**: - - [Compute](/docs/products/compute/) - - [Object Storage](/docs/products/storage/object-storage/) - - [VLAN](/docs/products/networking/vlans/) - - [NodeBalancer](/docs/products/networking/nodebalancers/) - - [DNS Manager](/docs/products/networking/dns-manager/) + - [Compute](https://techdocs.akamai.com/cloud-computing/docs/compute-instance) + - [Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) + - [VLAN](https://techdocs.akamai.com/cloud-computing/docs/vlan) + - [NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/nodebalancer) + - [DNS Manager](https://techdocs.akamai.com/cloud-computing/docs/dns-manager) - [API](https://techdocs.akamai.com/linode-api/reference/api) ## Business Benefits @@ -53,4 +53,4 @@ The PostgreSQL databases are implemented as an active-active cluster, using [Buc ## Diagrams -[![Thumbnail of Cloud-base document management system reference architecture](document-management-diagram-thumbnail.png)](/docs/reference-architecture/cloud-based-document-management-system/diagrams/) \ No newline at end of file +[![Thumbnail of Cloud-base document management system reference architecture](document-management-diagram-thumbnail.png)](/cloud/reference-architecture/cloud-based-document-management-system/diagrams/) \ No newline at end of file diff --git a/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md b/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md index a10a10122dd..6b928a7b62e 100644 --- a/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md +++ b/docs/reference-architecture/cloud-based-document-management-system/guides/implementing-cloud-based-document-management-system/index.md @@ -22,7 +22,7 @@ Follow along to fully provision your own production-ready and highly available d Numerous cloud EDMS services exist to handle document management. However, these may not meet your individual needs, especially as your number of documents increases. Implementing your own cloud-based document management system can provide a solution more fit to your particular needs. The architecture for a cloud-based document management system outlined here aims to be a strong base for that. The result is a highly available system that leverages technologies like Linode's Cloud Firewall and VLANs to ensure secure and efficient communication between nodes. -The best way to learn more about the architecture and what it offers is our overview documentation for [Redundant Cross-Datacenter Applications](/docs/reference-architecture/redundant-cross-datacenter-applications/). You may also be interested in reading our blog post, [Highly Available Mayan EDMS Reference Architecture](https://www.linode.com/blog/databases/deploy-a-cloud-based-electronic-document-management-system/). +The best way to learn more about the architecture and what it offers is our overview documentation for [Redundant Cross-Datacenter Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/). You may also be interested in reading our blog post, [Highly Available Mayan EDMS Reference Architecture](https://www.linode.com/blog/databases/deploy-a-cloud-based-electronic-document-management-system/). ## How to Provision a Cloud-based Document Management System @@ -34,21 +34,21 @@ This architecture requires deployment of several parallel nodes. In order to mak Before you get started provisioning the architecture, you need to prepare the following: -- A personal access token for the Linode API in order to run the Terraform script used in this tutorial. You can follow our [Get an API Access Token](/docs/products/tools/linode-api/guides/get-access-token/) guide to generate a personal access token. Be sure to give the token "Read/Write" permissions. +- A personal access token for the Linode API in order to run the Terraform script used in this tutorial. 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. - This tutorial uses [Terraform](https://www.terraform.io/) for provisioning instances, and you need to install Terraform to follow along. Terraform automates the process of provisioning infrastructure, making it an excellent solution when you need to deploy multiple similar nodes simultaneously. Install Terraform by following the [official installation guide](https://learn.hashicorp.com/tutorials/terraform/install-cli). This sets you up with the Terraform command line interface (CLI). - You can learn more about using Terraform, particularly for provisioning Linode instances, in our [Beginner's Guide to Terraform](/docs/guides/beginners-guide-to-terraform/). + You can learn more about using Terraform, particularly for provisioning Linode instances, in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). - A domain name set up for use with your cloud-based document management system. Linode does not provide domain names, but Linode does employ DNS servers. These allow you to manage your domain name within the Linode Cloud Manager. More importantly for this tutorial, using Linode's DNS servers allows for the Certbot `dns_linode` plugin. This automates the process of procuring SSL certificates, which allows the Terraform process to completely handle the SSL setup. Once you have a domain name, you should configure Linode as its DNS name server. Then add that domain to your Linode Cloud Manager via the **Domains** option. - Learn more about this process through our guide [DNS Manager - Get Started](/docs/products/networking/dns-manager/get-started/) and our other [DNS Manager guides](/docs/products/networking/dns-manager/guides/). + Learn more about this process through our guide [DNS Manager - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-dns-manager) and our other [DNS Manager guides](https://techdocs.akamai.com/cloud-computing/docs/dns-manager). -- The Terraform script handles creation of a Linode Object Storage bucket. However, the script needs an access key to do so. Follow our guide on how to [Manage Access Keys](/docs/products/storage/object-storage/guides/access-keys/#create-an-access-key) for steps to create an access key for your Linode Object Storage. Keep in mind that you need both the **Access Key** and the **Secret Key** for the Terraform script. +- The Terraform script handles creation of a Linode Object Storage bucket. However, the script needs an access key to do so. Follow our guide on how to [Manage Access Keys](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys#create-an-access-key) for steps to create an access key for your Linode Object Storage. Keep in mind that you need both the **Access Key** and the **Secret Key** for the Terraform script. ### Application and Database Nodes @@ -95,7 +95,7 @@ On Linux systems, you may need to install `unzip` in order to unzip the package. - `WEBMASTER_EMAIL_ADDRESS` should be the email address to be associated with the application. Specifically, this email address is used for registering an SSL certificate. {{< note type="warning" >}} - Sensitive infrastructure data, such as passwords and tokens, are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/docs/applications/configuration-management/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. + Sensitive infrastructure data, such as passwords and tokens, are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/applications/configuration-management/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. {{< /note >}} 1. The Terraform script assumes that you have an SSH public key file stored at `~/.ssh/id_rsa.pub`. If this is not the case, add an `ssh_key` field to the `terraform.tfvars` file, and give it a string value designating the location of your SSH public key. @@ -106,7 +106,7 @@ On Linux systems, you may need to install `unzip` in order to unzip the package. ssh_key = "~/id_rsa.pub" ``` - Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) + Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) 1. Initialize the Terraform project. Doing so has Terraform download the necessary provisions for deploying the infrastructure. @@ -178,9 +178,9 @@ Otherwise, follow the steps given below. Since there is bi-directional replicati 1. Access the shell as a root user on one of your application nodes. You can do this either through SSH using the node's IP address or through the Linode Shell (Lish) console in the Linode Cloud Manager. - - For SSH, see our guide on [Connection to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/). + - For SSH, see our guide on [Connection to a Remote Server Over SSH](/cloud/guides/connect-to-server-over-ssh/). - - For the Lish console, see our guide [Access Your System Console Using Lish](/docs/guides/lish/). + - For the Lish console, see our guide [Access Your System Console Using Lish](/cloud/guides/lish/). 1. Once logged in as root, execute the following command: @@ -214,7 +214,7 @@ This architecture uses Prometheus for collecting metrics about the Mayan nodes a Prometheus and Grafana get their own node in the architecture. Deploying that node is a straightforward process through Akamai Quick Deploy Apps. -1. Follow our guide on [Deploying Prometheus and Grafana through Akamai Quick Deploy Apps](/docs/marketplace-docs/guides/prometheus-grafana/) to get your Prometheus-Grafana node up and running. +1. Follow our guide on [Deploying Prometheus and Grafana through Akamai Quick Deploy Apps](/cloud/marketplace-docs/guides/prometheus-grafana/) to get your Prometheus-Grafana node up and running. Be sure, when creating the instance, to add the VLAN created during the Terraform process. This VLAN should have a name like `vlan-us-southeast-1`. If you changed the region for the Terraform script, replace `us-southeast` in this example with the region you selected. @@ -257,7 +257,7 @@ Prometheus and Grafana get their own node in the architecture. Deploying that no ### NodeBalancer -The process for provisioning a Linode NodeBalancer instance can be managed entirely from within the Linode Cloud Manager. Follow along with our [Create a NodeBalancer](/docs/products/networking/nodebalancers/guides/create/) guide to set up your NodeBalancer. +The process for provisioning a Linode NodeBalancer instance can be managed entirely from within the Linode Cloud Manager. Follow along with our [Create a NodeBalancer](https://techdocs.akamai.com/cloud-computing/docs/create-a-nodebalancer) guide to set up your NodeBalancer. Give your NodeBalancer the following settings: @@ -271,13 +271,13 @@ Any other configuration options you can leave at their defaults or adjust as you With your NodeBalancer established, you can have the Linode DNS name servers point your domain at it. The two application nodes were granted SSL certificates under the domain name. The NodeBalancer proxies requests for the domain to the nodes, where the SSL certification resides. -To complete this setup, you need to add an **A/AAAA** record for the domain name, with the record pointing to the IP address of the NodeBalancer. Follow our guide on how to [Manage DNS Records](/docs/products/networking/dns-manager/guides/manage-dns-records/#add-or-edit-a-dns-record) for steps to do so. You need to have your domain name set up in the Linode Cloud Manager, as indicated towards the beginning of this tutorial. +To complete this setup, you need to add an **A/AAAA** record for the domain name, with the record pointing to the IP address of the NodeBalancer. Follow our guide on how to [Manage DNS Records](https://techdocs.akamai.com/cloud-computing/docs/manage-dns-records#add-or-edit-a-dns-record) for steps to do so. You need to have your domain name set up in the Linode Cloud Manager, as indicated towards the beginning of this tutorial. -You can learn more about DNS records through our guide [Overview of DNS and DNS Records](/docs/guides/dns-overview/#a-and-aaaa). +You can learn more about DNS records through our guide [Overview of DNS and DNS Records](/cloud/guides/dns-overview/#a-and-aaaa). ### Cloud Firewalls -The Linode Cloud Firewall provides an easy-to-implement and robust firewall that you can attach to your Linode instances via the Cloud Manager. You can learn more about Linode Cloud Firewalls in our [selection of guides](/docs/products/networking/cloud-firewall/guides/) on the topic. +The Linode Cloud Firewall provides an easy-to-implement and robust firewall that you can attach to your Linode instances via the Cloud Manager. You can learn more about Linode Cloud Firewalls in our [selection of guides](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) on the topic. The cloud-based document management system architecture employs a Cloud Firewall on each node. Most of the nodes' communications between each other take place over the VLAN. Combining this with the Cloud Firewall for public Internet connections can give your system a potent security setup. diff --git a/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md b/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md index fec9915ffd0..f47cc46f590 100644 --- a/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md +++ b/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/_index.md @@ -39,4 +39,4 @@ In this example, the main bottleneck is the */notifications* endpoint of a mobil ## Diagrams -[![Thumbnail of the horizontally scaling high-traffic application reference architecture](ha-scaling-diagram-thumbnail.png)](/docs/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/diagrams/) \ No newline at end of file +[![Thumbnail of the horizontally scaling high-traffic application reference architecture](ha-scaling-diagram-thumbnail.png)](/cloud/reference-architecture/horizontally-scaling-high-traffic-apps-with-observability-and-monitoring/diagrams/) \ No newline at end of file diff --git a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md index 796dadbf4cf..534c663eb74 100644 --- a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md +++ b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/_index.md @@ -18,9 +18,9 @@ This reference architecture showcases a [Jenkins](https://www.jenkins.io/) CI/CD - [Jenkins](https://www.jenkins.io/) - [Terraform](https://www.terraform.io/) - **Linode Services**: - - [Compute](/docs/products/compute/dedicated-cpu/) - - [Firewall](/docs/products/networking/cloud-firewall/) - - [Object Storage](/docs/products/storage/object-storage/) + - [Compute](https://techdocs.akamai.com/cloud-computing/docs/dedicated-cpu-compute-instances) + - [Firewall](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) + - [Object Storage](https://techdocs.akamai.com/cloud-computing/docs/object-storage) ## Business Benefits @@ -31,6 +31,6 @@ This reference architecture showcases a [Jenkins](https://www.jenkins.io/) CI/CD ## Diagrams -[![Thumbnail of Jenkins pipeline example reference architecture](jenkins-pipeline-diagram-thumnail-1.png)](/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams/#jenkins-pipeline) +[![Thumbnail of Jenkins pipeline example reference architecture](jenkins-pipeline-diagram-thumnail-1.png)](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams/#jenkins-pipeline) -[![Thumbnail of entire CI/CD reference architecture](jenkins-cicd-diagram-thumnail.png)](/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams/#cicd-infrastructure) \ No newline at end of file +[![Thumbnail of entire CI/CD reference architecture](jenkins-cicd-diagram-thumnail.png)](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/diagrams/#cicd-infrastructure) \ No newline at end of file diff --git a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md index 29cfe2a5b59..0ccba140074 100644 --- a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md +++ b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/_index.md @@ -9,4 +9,4 @@ tab_group_main: weight: 30 --- -- [How to Implement Jenkins CI/CD on Linode to Any Hyperscaler](/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/) \ No newline at end of file +- [How to Implement Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/) \ No newline at end of file diff --git a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md index 12a276c57ee..baf1a99e7dd 100644 --- a/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md +++ b/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/guides/implement-jenkins-ci-cd/index.md @@ -13,20 +13,20 @@ external_resources: With Jenkins, you can implement a robust continuous integration and continuous delivery (CI/CD) setup for automating application builds, tests, and deployments. Linode's Jenkins CI/CD reference architecture ensures a scalable setup capable of deploying applications to Linode or any of many other hosting providers. -Get started by taking a look at the overview and diagrams for the architecture in our [Jenkins CI/CD on Linode to Any Hyperscaler](/docs/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/). +Get started by taking a look at the overview and diagrams for the architecture in our [Jenkins CI/CD on Linode to Any Hyperscaler](/cloud/reference-architecture/jenkins-ci-cd-on-linode-to-any-hyperscaler/). The present tutorial walks you through a complete implementation of our Jenkins CI/CD architecture. Throughout, follow along to provision the base setup and see extensive examples to help you get started using the architecture for your particular needs. ## Before You Begin -1. Create a Linode account, if you don't have one. See the [Getting Started with Linode](/docs/guides/getting-started/) documentation. +1. Create a Linode account, if you don't have one. See the [Getting Started with Linode](/cloud/guides/getting-started/) documentation. -1. Create a new Compute Instance, which acts as the primary Jenkins server in this tutorial. See the [Creating a Compute Instance](/docs/guides/creating-a-compute-instance/) guide. +1. Create a new Compute Instance, which acts as the primary Jenkins server in this tutorial. See the [Creating a Compute Instance](/cloud/guides/creating-a-compute-instance/) guide. -1. Follow our [Setting Up and Securing a Compute Instance](/docs/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](/cloud/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. {{< note >}} -This guide is written for a non-root 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 Jenkins? @@ -37,9 +37,9 @@ All this makes Jenkins an exceptional tool for automating CI/CD workflows. Jenki Further plugins mean that you can adapt Jenkins to your needs — whether using a particular test suite, storing artifacts, or deploying to cloud providers. -Learn more about CI/CD principles in our guide [Introduction to Continuous Integration and Continuous Deployment](/docs/guides/introduction-ci-cd/). +Learn more about CI/CD principles in our guide [Introduction to Continuous Integration and Continuous Deployment](/cloud/guides/introduction-ci-cd/). -You can also learn more particulars about automating builds with Jenkins through our guide [How to Automate Builds with Jenkins on Ubuntu 22.04](/docs/guides/automate-builds-with-jenkins-on-ubuntu/). +You can also learn more particulars about automating builds with Jenkins through our guide [How to Automate Builds with Jenkins on Ubuntu 22.04](/cloud/guides/automate-builds-with-jenkins-on-ubuntu/). ## How to Provision Jenkins for CI/CD @@ -97,7 +97,7 @@ You need to start by installing Jenkins on a central server. This central Jenkin sudo systemctl enable jenkins ``` -1. In a web browser, navigate to port `8080` on your system's public IP address. You may first need to open the port in your system's firewall, which you can learn how to do from our guide on [securing a Linode Compute instance](/docs/products/compute/compute-instances/guides/set-up-and-secure/#configure-a-firewall). +1. In a web browser, navigate to port `8080` on your system's public IP address. You may first need to open the port in your system's firewall, which you can learn how to do from our guide on [securing a Linode Compute instance](https://techdocs.akamai.com/cloud-computing/docs/set-up-and-secure-a-compute-instance#configure-a-firewall). 1. Follow the installation steps you are presented with. Select to **Install suggested plugins**, and complete the form to create an initial administrator user. @@ -107,15 +107,15 @@ At this point, you have a Jenkins server up and running and ready to start using Part of the architecture covered in this tutorial has logs and build artifacts stored on Linode Object Storage. Object Storage provides an efficient and accessible way to backup artifacts from you CI/CD pipelines. -To start, you need to have a Linode Object Storage bucket prepared to store your logs and artifacts. Our [Object Storage - Get Started](/docs/products/storage/object-storage/get-started/) guide to do so. +To start, you need to have a Linode Object Storage bucket prepared to store your logs and artifacts. Our [Object Storage - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-object-storage) guide to do so. To follow along with the rest of the guide, perform these steps: -1. [Provision a Linode Object Storage bucket](/docs/products/storage/object-storage/guides/manage-buckets/#create-a-bucket). When creating the bucket, you need to choose a cluster that it belongs to (under the **Region** menu). Take note of the cluster ID for the cluster you choose, which is displayed next to your **Region** menu selection. For example, if you chose the *Atlanta* region, your cluster ID is `us-southeast-1`. +1. [Provision a Linode Object Storage bucket](https://techdocs.akamai.com/cloud-computing/docs/create-and-manage-buckets#create-a-bucket). When creating the bucket, you need to choose a cluster that it belongs to (under the **Region** menu). Take note of the cluster ID for the cluster you choose, which is displayed next to your **Region** menu selection. For example, if you chose the *Atlanta* region, your cluster ID is `us-southeast-1`. The name of the bucket needs to be unique for the cluster it is created in, not only among the buckets on your account, but also among buckets from all other Object Storage users on other accounts. -1. [Generate an Object Storage access key](/docs/products/storage/object-storage/guides/access-keys/#create-an-access-key). The key should have **Limited Access** permissions. It should have read and write access to the bucket that you created. You need to save both the access key and secret access key for use later. +1. [Generate an Object Storage access key](https://techdocs.akamai.com/cloud-computing/docs/manage-access-keys#create-an-access-key). The key should have **Limited Access** permissions. It should have read and write access to the bucket that you created. You need to save both the access key and secret access key for use later. ### Create Jenkins Build Agents @@ -167,7 +167,7 @@ Now you have what you need to support three build agents. This tutorial deploys The configurations and commands used in this guide add multiple Linode instances to your account. Be sure to monitor your account closely in the Linode Cloud Manager to avoid unwanted charges. {{< /note >}} -1. Install Terraform. Follow the relevant section of our [Use Terraform to Provision Linode Environments](/docs/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide to do so. +1. Install Terraform. Follow the relevant section of our [Use Terraform to Provision Linode Environments](/cloud/guides/how-to-build-your-infrastructure-using-terraform-and-linode/#install-terraform) guide to do so. 1. Download our Terraform package for deploying Jenkins build agents: @@ -184,7 +184,7 @@ The configurations and commands used in this guide add multiple Linode instances 1. Open the `terraform.tfvars` file, and customize the variables there to your setup. Specifically, you need to provide: - - A Linode personal access token, which you can learn about in our guide [Linode API - Get Started](/docs/products/tools/api/get-started/#get-an-access-token) + - A Linode personal access token, which you can learn about in our guide [Linode API - Get Started](https://techdocs.akamai.com/linode-api/reference/get-started#get-an-access-token) - A root password to be used for the deployed instances @@ -202,7 +202,7 @@ The configurations and commands used in this guide add multiple Linode instances - The ID of the region that the Jenkins agent Compute Instances should be created in. Note that these are not necessarily the same as an Object Storage cluster ID. For example, the region ID for Atlanta is `us-southeast`, while the ID for the Object Storage cluster in Atlanta is `us-southeast-1`. There are several ways to find out what the ID of a region is: - - Run the `regions list` command of the [Linode CLI](/docs/products/tools/cli/get-started/): + - Run the `regions list` command of the [Linode CLI](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli): ```command linode-cli regions list @@ -243,7 +243,7 @@ The architecture covered here aims to use Jenkins to build an application and de Because this tutorial builds its example application into a Docker image, it makes sense to deploy the application to a Kubernetes cluster. This is what the example pipeline and Jenkins configuration in the rest of this tutorial do. -You can follow along with the tutorial by deploying a Linode Kubernetes Engine (LKE) cluster. Learn how in our [Linode Kubernetes Engine - Get Started](/docs/products/compute/kubernetes/get-started/). +You can follow along with the tutorial by deploying a Linode Kubernetes Engine (LKE) cluster. Learn how in our [Linode Kubernetes Engine - Get Started](https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-lke-linode-kubernetes-engine). However, the "Deploy" step in the pipeline elaborated below uses kubectl. This means that the setup can readily be adapted to deployments for almost any cloud Kubernetes provider. @@ -253,9 +253,9 @@ And in fact you can adapt the commands in the "Deploy" portion of the pipeline f Because this tutorial uses Kubernetes for its deployment, you need to have a Docker registry. This allows you to push built Docker images from the Jenkins agents and pull them onto the Kubernetes cluster. -The easiest solution here is [Docker Hub](https://hub.docker.com/), where you can add images after registering an account. Learn more, with a full-functioning example, in our guide [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/docs/guides/deploy-container-image-to-kubernetes/). +The easiest solution here is [Docker Hub](https://hub.docker.com/), where you can add images after registering an account. Learn more, with a full-functioning example, in our guide [Create and Deploy a Docker Container Image to a Kubernetes Cluster](/cloud/guides/deploy-container-image-to-kubernetes/). -You can also self-host a registry solution. One such solution is [Harbor](https://goharbor.io/), and you can deploy your own Harbor server readily through the Linode Marketplace. See our guide [Deploy Harbor through the Linode Marketplace](/docs/marketplace-docs/guides/harbor/) to see how. +You can also self-host a registry solution. One such solution is [Harbor](https://goharbor.io/), and you can deploy your own Harbor server readily through the Linode Marketplace. See our guide [Deploy Harbor through the Linode Marketplace](/cloud/marketplace-docs/guides/harbor/) to see how. Whatever solution you choose, you need later to provide the registry's path to the Jenkins pipeline. @@ -267,7 +267,7 @@ Whatever solution you choose, you need later to provide the registry's path to t Each Jenkins instance, from the server to the agents, uses a system firewall. However, you can further safeguard and manage traffic on these instances by adding Linode Cloud Firewalls for each. -To get started, see our guide [Create a Cloud Firewall](/docs/products/networking/cloud-firewall/guides/create-a-cloud-firewall/). Then follow our [Manage Firewall Rules](/docs/products/networking/cloud-firewall/guides/manage-firewall-rules/) to add the individual rules you need. +To get started, see our guide [Create a Cloud Firewall](https://techdocs.akamai.com/cloud-computing/docs/create-a-cloud-firewall). Then follow our [Manage Firewall Rules](https://techdocs.akamai.com/cloud-computing/docs/manage-firewall-rules) to add the individual rules you need. The following is a basic example setup that you can expand on. @@ -349,7 +349,7 @@ For convenience, this tutorial opts to use a `Jenkinsfile` included within the p - *Deploy*, where a kubectl command deploys the built Docker image to the Kubernetes cluster -The example pipeline uses ESLint for a simple JavaScript code analysis, but there are more options to choose from depending on your codebase and needs. You can learn more about code analysis tools in our guide [What is Static Code Analysis?](/docs/guides/what-is-static-code-analysis/). +The example pipeline uses ESLint for a simple JavaScript code analysis, but there are more options to choose from depending on your codebase and needs. You can learn more about code analysis tools in our guide [What is Static Code Analysis?](/cloud/guides/what-is-static-code-analysis/). #### Create a Remote Repository @@ -597,7 +597,7 @@ Navigating to your Slack workspace, you should see messages from the Jenkins bot Finally, to see the deployed example application in action, you can forward the port on the Kubernetes cluster to your workstation. {{< note >}} -Install `kubectl` on your workstation if you don't have it already: [Install kubectl](https://www.linode.com/docs/products/compute/kubernetes/guides/kubectl/#install-kubectl). +Install `kubectl` on your workstation if you don't have it already: [Install kubectl](https://techdocs.akamai.com/cloud-computing/docs/manage-a-cluster-with-kubectl#install-kubectl). {{< /note >}} 1. Enter following command from your Jenkins server to make the application's service available on port `8080` on `localhost`. Update the path to your downloaded Kubernetes cluster's config on the first line: diff --git a/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md b/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md index 14f5f970b95..c8cc7f4a0c2 100644 --- a/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md +++ b/docs/reference-architecture/redundant-cross-datacenter-applications/_index.md @@ -30,7 +30,7 @@ As the application is primarily a SaaS, most of the state is maintained in the d - [MongoDB](https://www.mongodb.com/) - [Terraform](https://www.terraform.io/) - Linode: - - [Cloud Firewalls](/docs/products/networking/cloud-firewall/) are used on the Wireguard®/NGINX gateways + - [Cloud Firewalls](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) are used on the Wireguard®/NGINX gateways ## Business Benefits @@ -45,6 +45,6 @@ Routing traffic through a single aggregation point creates a choke point where t ## Diagrams -[![Thumbnail of redundant cross-datacenter application reference architecture diagram](redundant-cross-datacenter-application-diagram-thumbnail.png)](/docs/reference-architecture/redundant-cross-datacenter-applications/diagrams/) +[![Thumbnail of redundant cross-datacenter application reference architecture diagram](redundant-cross-datacenter-application-diagram-thumbnail.png)](/cloud/reference-architecture/redundant-cross-datacenter-applications/diagrams/) “WireGuard” is a registered trademark of Jason A. Donenfeld. \ No newline at end of file diff --git a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md index 8803aa63b92..4292c447980 100644 --- a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md +++ b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/_index.md @@ -9,4 +9,4 @@ tab_group_main: weight: 30 --- -- [Implementing Redundant Cross-Data Center Applications](/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/) \ No newline at end of file +- [Implementing Redundant Cross-Data Center Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/) \ No newline at end of file diff --git a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md index a03b41bec80..0b417532c41 100644 --- a/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md +++ b/docs/reference-architecture/redundant-cross-datacenter-applications/guides/implementing-redundant-cross-datacenter-applications/index.md @@ -21,7 +21,7 @@ This guide presents a walkthrough for implementing a redundant cross–data cent A redundant cross–data center architecture utilizes a software-defined network to host Software-as-a-Service (SaaS) applications between multiple data centers. The architecture uses Linode's VLAN service along with WireGuard® to create a virtual network safe from general access. NGINX, along with WireGuard®, facilitates external networking. -Learn more about the architecture itself in our overview documentation for [Redundant Cross–Data Center Applications](/docs/reference-architecture/redundant-cross-datacenter-applications/). +Learn more about the architecture itself in our overview documentation for [Redundant Cross–Data Center Applications](/cloud/reference-architecture/redundant-cross-datacenter-applications/). ## How to Implement a Redundant Cross–Data Center Architecture @@ -51,7 +51,7 @@ The setup assumes you have a DNS load balancer configured. The infrastructure ut The redundant cross-data center architecture as it is implemented here requires you to create numerous nodes, many of which are similar to others. To streamline the process, the tutorial uses [Terraform](https://www.terraform.io/). -Terraform is a tool for automating the process of provisioning infrastructure. You can learn more about using Terraform to provision Linode instances in our [Beginner's Guide to Terraform](/docs/guides/beginners-guide-to-terraform/). +Terraform is a tool for automating the process of provisioning infrastructure. You can learn more about using Terraform to provision Linode instances in our [Beginner's Guide to Terraform](/cloud/guides/beginners-guide-to-terraform/). The steps below give you everything you need to run the Terraform script for implementing the infrastructure here. Afterwards, you can find a high-level breakdown of what the script does. @@ -74,12 +74,12 @@ The configurations and commands used in this guide add multiple Linode instances 1. With a text editor, open the `terraform.tfvars` file in the `rcdc-terraform`. Replace the `LINODE_API_TOKEN` and `INSTANCE_ROOT_PASSWORD` values with your own. - - The value for `token` needs to be your Linode API access token. You can follow our [Get an API Access Token](/docs/products/tools/linode-api/guides/get-access-token/) guide to generate a personal access token. Be sure to give the token "Read/Write" permissions. + - The value for `token` needs to be your Linode API access token. 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. - The `password` value should be the root password you intend to use for the nodes in the infrastructure. {{< note type="warning" >}} - Sensitive infrastructure data (like passwords and tokens) are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/docs/applications/configuration-management/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. + Sensitive infrastructure data (like passwords and tokens) are visible in plain text within the `terraform.tfvars` file. Review [Secrets Management with Terraform](/cloud/applications/configuration-management/secrets-management-with-terraform/#how-to-manage-your-state-file) for guidance on how to secure these secrets. {{< /note >}} {{< note >}} @@ -91,7 +91,7 @@ The configurations and commands used in this guide add multiple Linode instances ssh_key = "~/id_rsa.pub" ``` - Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/docs/guides/use-public-key-authentication-with-ssh/) + Learn more about SSH public keys in our tutorial [How to Use SSH Public Key Authentication](/cloud/guides/use-public-key-authentication-with-ssh/) {{< /note >}} 1. **Optional:** Adjust the `node_count` value to control the number of nodes created in each region. The script as it is does not work properly if anything other than two regions are specified, however, you can adjust the specific `regions` values. @@ -143,7 +143,7 @@ The script used above handles several of the necessary provisioning tasks. Here' - Executes the delivered shell script. This shell script handles network setup along with the installation and configuration of necessary software. - The network configuration includes `networkd` routing, `iptables` rules for forwarding, and a `keepalive` configuration. You can learn more about some parts of the network configuration in our guide to [Configure Linux as a Router](/docs/guides/linux-router-and-ip-forwarding/). + The network configuration includes `networkd` routing, `iptables` rules for forwarding, and a `keepalive` configuration. You can learn more about some parts of the network configuration in our guide to [Configure Linux as a Router](/cloud/guides/linux-router-and-ip-forwarding/). The necessary software includes WireGuard® and NGINX. WireGuard® provides a VPN for communications between the two gateways, and NGINX performs load balancing between each region's array of application nodes. The shell script handles the initial configuration for these applications. @@ -313,7 +313,7 @@ Setting up a cloud firewall is optional for testing the infrastructure, but it i The Linode Cloud Firewall provides an easy-to-implement firewall that you can attach to the gateway instances deployed above. -Learn more about Linode Cloud Firewalls in our [selection of guides](/docs/products/networking/cloud-firewall/guides/) on the topic. +Learn more about Linode Cloud Firewalls in our [selection of guides](https://techdocs.akamai.com/cloud-computing/docs/cloud-firewall) on the topic. The steps below outline a basic configuration you can use with the infrastructure deployed in this tutorial. diff --git a/docs/reference-architecture/video-transcoding/_index.md b/docs/reference-architecture/video-transcoding/_index.md index 499175ea080..883904cc787 100644 --- a/docs/reference-architecture/video-transcoding/_index.md +++ b/docs/reference-architecture/video-transcoding/_index.md @@ -17,7 +17,7 @@ This reference architecture provides a concrete example of how to create a scala - Producing video or digital assets for streaming services - Embedding content in business applications -Review the [video transcoding architecture diagrams](/docs/reference-architecture/video-transcoding/diagrams/) for a high-level depiction of a general video transcoding workflow, as well as a more granular version which prescribes specific technologies to implement the workflow. +Review the [video transcoding architecture diagrams](/cloud/reference-architecture/video-transcoding/diagrams/) for a high-level depiction of a general video transcoding workflow, as well as a more granular version which prescribes specific technologies to implement the workflow. ## Technologies Used diff --git a/docs/reference-architecture/video-transcoding/diagrams/index.md b/docs/reference-architecture/video-transcoding/diagrams/index.md index d36326ce4b3..b96b69e7c31 100644 --- a/docs/reference-architecture/video-transcoding/diagrams/index.md +++ b/docs/reference-architecture/video-transcoding/diagrams/index.md @@ -103,7 +103,7 @@ Some key features of figure 3 are described as follows: 1. Content creators ingest files into Linode Object Storage. Object storage can receive files from a CLI, a programmatic integration, or from desktop tools such as Cyberduck. Linode Object Storage supports lifecycle policies, so source files can be automatically purged regularly. A purging policy should only be implemented if a separate system-of-record for your high resolution source content is maintained. {{< note >}} - Supported upload methods are described in the [Linode Object Storage documentation](/docs/products/storage/object-storage/guides/#clients-and-tools). + Supported upload methods are described in the [Linode Object Storage documentation](https://techdocs.akamai.com/cloud-computing/docs/object-storage#clients-and-tools). {{< /note >}} 1. [Argo Event Sources](https://argoproj.github.io/argo-events/concepts/event_source/) includes 20+ origination mechanisms that can be setup to generate event messages that are written to [Argo Event Bus](https://argoproj.github.io/argo-events/concepts/eventbus/). In this reference architecture we have enabled a [Webhook Event Source](https://argoproj.github.io/argo-events/eventsources/setup/webhook/) that a user or system can send HTTP requests. The the filename they are ingesting is included in this request. diff --git a/scripts/rewrite_product_links.py b/scripts/rewrite_product_links.py new file mode 100644 index 00000000000..402f17963ac --- /dev/null +++ b/scripts/rewrite_product_links.py @@ -0,0 +1,245 @@ +#!/usr/bin/env python3 +""" +Rewrite relative /docs/products/... links to their techdocs.akamai.com targets. + +The products/ directory was removed from this repository. The product pages now +live on techdocs.akamai.com, reached via redirects configured outside of this +repo. Because this Hugo site is served from https://www.linode.com/docs, a +relative link like + + [Link title](/docs/products/section/page) + +has the absolute URL https://www.linode.com/docs/products/section/page, which +301-redirects to the corresponding techdocs.akamai.com page. This script: + + 1. Scans docs/**/*.md for relative markdown links to /docs/products/... + 2. Resolves each unique page path by following redirects from www.linode.com + to its final techdocs.akamai.com URL (results are cached on disk). + 3. Re-appends the original #fragment (if any) to the resolved URL. + 4. Replaces the relative link with the resolved absolute URL, but only when + the path successfully resolves to techdocs.akamai.com. Links that 404 or + stay on linode.com are left untouched and listed in the report. + +Usage: + # Dry run (default): resolve + report, write nothing + python3 scripts/rewrite_product_links.py + + # Apply the changes to disk + python3 scripts/rewrite_product_links.py --apply + + # Limit to a subdirectory or refresh the resolution cache + python3 scripts/rewrite_product_links.py --root docs/guides + python3 scripts/rewrite_product_links.py --refresh-cache +""" + +from __future__ import annotations + +import argparse +import json +import re +import sys +from concurrent.futures import ThreadPoolExecutor, as_completed +from pathlib import Path + +import requests + +# --------------------------------------------------------------------------- # +# Configuration +# --------------------------------------------------------------------------- # + +REPO_ROOT = Path(__file__).resolve().parent.parent +DEFAULT_DOCS_ROOT = REPO_ROOT / "docs" +CACHE_FILE = Path(__file__).resolve().parent / ".product_link_cache.json" + +SITE_ORIGIN = "https://www.linode.com" +EXPECTED_HOST = "techdocs.akamai.com" + +# Matches the URL inside a relative markdown inline link: ](/docs/products/...) +# - Group 1 is the full link target (path + optional ?query + optional #fragment). +# - [^)\s] stops the match at the closing paren, whitespace (e.g. a link title), +# so only the bare URL is captured. +# - Because we require the literal "](" immediately before "/docs/products", we +# never match absolute links (](https://www.linode.com/docs/products/...)) or +# external links (](https://aiven.io/docs/products/...)). +LINK_RE = re.compile(r"\]\((/docs/products/[^)\s]*)\)") + +REQUEST_TIMEOUT = 30 +MAX_WORKERS = 16 +USER_AGENT = "linode-docs-product-link-rewriter/1.0" + + +# --------------------------------------------------------------------------- # +# Link resolution +# --------------------------------------------------------------------------- # + +def split_target(target: str) -> tuple[str, str]: + """Split a link target into (page_path, fragment). + + The fragment (everything from the first '#') is preserved verbatim so it can + be re-appended to the resolved URL. A query string, if present, stays with + the page_path so it is sent when resolving the redirect. + """ + if "#" in target: + path, fragment = target.split("#", 1) + return path, "#" + fragment + return target, "" + + +def resolve_path(session: requests.Session, page_path: str) -> tuple[str, str | None]: + """Resolve a single /docs/products/... page path to its final URL. + + Returns (page_path, resolved_url) where resolved_url is None if the path did + not redirect to techdocs.akamai.com (404, error, or stayed on linode.com). + """ + url = SITE_ORIGIN + page_path + try: + resp = session.head(url, allow_redirects=True, timeout=REQUEST_TIMEOUT) + # Some endpoints mishandle HEAD; retry with GET if it looks wrong. + if resp.status_code >= 400 or EXPECTED_HOST not in resp.url: + resp = session.get(url, allow_redirects=True, timeout=REQUEST_TIMEOUT) + except requests.RequestException as exc: + print(f" ! request failed for {page_path}: {exc}", file=sys.stderr) + return page_path, None + + final = resp.url + if resp.status_code < 400 and EXPECTED_HOST in final: + return page_path, final + return page_path, None + + +def load_cache() -> dict[str, str | None]: + if CACHE_FILE.exists(): + try: + return json.loads(CACHE_FILE.read_text()) + except json.JSONDecodeError: + return {} + return {} + + +def save_cache(cache: dict[str, str | None]) -> None: + CACHE_FILE.write_text(json.dumps(cache, indent=2, sort_keys=True)) + + +def resolve_all(page_paths: set[str], refresh: bool) -> dict[str, str | None]: + """Resolve all unique page paths, using the on-disk cache when possible.""" + cache = {} if refresh else load_cache() + todo = sorted(p for p in page_paths if p not in cache) + + if todo: + print(f"Resolving {len(todo)} unique page path(s) " + f"({len(page_paths) - len(todo)} already cached)...") + session = requests.Session() + session.headers.update({"User-Agent": USER_AGENT}) + with ThreadPoolExecutor(max_workers=MAX_WORKERS) as pool: + futures = {pool.submit(resolve_path, session, p): p for p in todo} + done = 0 + for fut in as_completed(futures): + page_path, resolved = fut.result() + cache[page_path] = resolved + done += 1 + status = resolved if resolved else "UNRESOLVED" + print(f" [{done}/{len(todo)}] {page_path} -> {status}") + save_cache(cache) + else: + print("All page paths already resolved from cache.") + + return cache + + +# --------------------------------------------------------------------------- # +# Main +# --------------------------------------------------------------------------- # + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("--root", default=str(DEFAULT_DOCS_ROOT), + help="Directory to scan for markdown files (default: docs/).") + parser.add_argument("--apply", action="store_true", + help="Write changes to disk. Without this flag, runs a dry run.") + parser.add_argument("--refresh-cache", action="store_true", + help="Ignore the cached resolutions and re-fetch every path.") + args = parser.parse_args() + + root = Path(args.root) + md_files = sorted(root.rglob("*.md")) + print(f"Scanning {len(md_files)} markdown file(s) under {root}...\n") + + # First pass: collect every occurrence and the set of unique page paths. + # file_targets: path -> list of (full_target, page_path, fragment) + file_targets: dict[Path, list[tuple[str, str, str]]] = {} + unique_paths: set[str] = set() + total_occurrences = 0 + + for md in md_files: + text = md.read_text(encoding="utf-8") + matches = LINK_RE.findall(text) + if not matches: + continue + entries = [] + for full_target in matches: + page_path, fragment = split_target(full_target) + entries.append((full_target, page_path, fragment)) + unique_paths.add(page_path) + total_occurrences += 1 + file_targets[md] = entries + + print(f"Found {total_occurrences} relative product link occurrence(s) " + f"across {len(file_targets)} file(s).") + print(f"{len(unique_paths)} unique page path(s) to resolve.\n") + + # Resolve every unique page path. + resolved = resolve_all(unique_paths, refresh=args.refresh_cache) + + # Second pass: rewrite files (or report). + replaced_total = 0 + skipped_total = 0 + files_changed = 0 + unresolved_paths = sorted(p for p in unique_paths if not resolved.get(p)) + + for md, entries in file_targets.items(): + text = md.read_text(encoding="utf-8") + new_text = text + file_replaced = 0 + + for full_target, page_path, fragment in entries: + target_url = resolved.get(page_path) + if not target_url: + skipped_total += 1 + continue + new_link = target_url + fragment + old = f"]({full_target})" + new = f"]({new_link})" + occurrences = new_text.count(old) + if occurrences: + new_text = new_text.replace(old, new) + file_replaced += occurrences + + if file_replaced and new_text != text: + replaced_total += file_replaced + files_changed += 1 + if args.apply: + md.write_text(new_text, encoding="utf-8") + + # ----------------------------------------------------------------------- # + # Report + # ----------------------------------------------------------------------- # + mode = "APPLIED" if args.apply else "DRY RUN (no files written)" + print("\n" + "=" * 70) + print(f"Summary [{mode}]") + print("=" * 70) + print(f" Files {'changed' if args.apply else 'that would change'}: {files_changed}") + print(f" Links {'rewritten' if args.apply else 'to rewrite'}: {replaced_total}") + print(f" Occurrences skipped (unresolved): {skipped_total}") + if unresolved_paths: + print(f"\n {len(unresolved_paths)} unresolved page path(s) " + f"(left untouched — check manually):") + for p in unresolved_paths: + print(f" - {p}") + if not args.apply: + print("\nRe-run with --apply to write these changes.") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main())