How to Install Terraform on Ubuntu Server 22.04
This tutorial exists for these OS versions
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 18.04 (Bionic Beaver)
On this page
Terraform is an open-source infrastructure automation tool that allows you to deploy and manage hundreds of servers via a command-line interface. With Terraform, you can build, change and manage your infrastructure by defining configurations in a human-readable file. It supports many cloud providers, such as AWS, Azure, GCP, and Alibaba cloud. Terraform allows you to automate and provision servers, databases, firewalls, load balancers, and more.
This tutorial will explain how to install Terraform on Ubuntu 22.04.
Prerequisites
- A server running Ubuntu 22.04.
- A root password is configured on the server.
Install Terraform from the Ubuntu Repository
By default, the Terraform package is unavailable in the Ubuntu 22.04 default repository. So, you will need to add the Terraform official repository to your system.
First, add all the required dependencies using the following command:
apt install -y gnupg software-properties-common curl -y
After installing all the dependencies, add the Terraform GPG key and repository using the following command:
curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add -
apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
Once the repository is added, you can install the Terraform package with the following command:
apt install terraform -y
After the successful installation, verify the Terraform version using the following command:
terraform --version
You should see the following output:
Terraform v1.3.6 on linux_amd64
Install Terraform from Source
You can also install Terraform by downloading the latest version from their official website.
You can download it with the following command:
wget https://releases.hashicorp.com/terraform/1.3.6/terraform_1.3.6_linux_amd64.zip
Once the download is completed, unzip the downloaded file with the following command:
unzip terraform_1.3.6_linux_amd64.zip
Next, move the Terraform binary to the system location:
mv terraform /usr/bin/
You can now verify the Terraform version using the following command:
terraform --version
You will get the following output:
Terraform v1.3.6 on linux_amd64
Install Terraform "auto-complete" Feature
The "auto-complete" allows you to see all Terraform sub-commands after pressing the TAB key. You can install this feature with the following command.
terraform -install-autocomplete
To activate the "auto-complete" feature, logout and log in again to your terminal shell or run the following command:
source ~/.bashrc
Next, run the Terraform command and press the TAB key twice to verify the "auto-complete" feature.
terraform
You should see all sub-command in the following output:
apply env get init output push state untaint workspace console fmt graph login plan refresh taint validate destroy force-unlock import logout providers show test version
How to Use Terraform
To use the Terraform, first create a directory for your project:
mkdir aws
Next, navigate to your project directory and create a Terraform configuration file:
cd aws
nano main.tf
Add the following code:
# Provider provider "aws" { access_key = "" secret_key = "" region = "us-west-1" }
Save and close the file then initialize a Terraform with the following command:
terraform init
This will automatically download the provider configuration to the .terraform directory.
Initializing the backend... Initializing provider plugins... - Finding latest version of hashicorp/aws... - Installing hashicorp/aws v4.46.0... - Installed hashicorp/aws v4.46.0 (signed by HashiCorp) Terraform has created a lock file .terraform.lock.hcl to record the provider selections it made above. Include this file in your version control repository so that Terraform can guarantee to make the same selections by default when you run "terraform init" in the future. Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary.
Next, you will need to define resource definitions, set AWS variables then generate and display an execution plan.
You can generate it with the following command:
terraform plan
Finally, build and deploy your Infrastructure using the following command:
terraform apply
If you want to destroy the Terraform-managed infrastructure, run the following command:
terraform destroy
Conclusion
In this post, we showed you how to install Terraform on Ubuntu 22.04. We also explained how to use Terraform to provision AWS instances. You can now create your own Terraform configuration file as per your cloud providers. For more information, visit the Terraform documentation page.