How To Install Caddy on Debian 12
In this tutorial, we will show you how to install Caddy on Debian 12. Caddy is a powerful, lightweight, and easy-to-use web server that has gained popularity among developers and system administrators. It offers a range of features, including automatic HTTPS, HTTP/2 support, and a simple configuration syntax.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you the step-by-step installation of the Caddy web server on a Debian 12 (Bookworm).
Prerequisites
Before proceeding with the installation of Caddy on Debian 12, ensure you meet the following requirements:
- A server running one of the following operating systems: Debian 12 (Bookworm).
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for the Caddy web server.
- A user account with sudo privileges to execute administrative commands.
Install Caddy on Debian 12 Bookworm
Step 1. To begin, we need to update the package index and install a few essential dependencies. Open your terminal and run the following commands:
sudo apt update sudo apt upgrade sudo apt install curl debian-keyring debian-archive-keyring apt-transport-https
These commands will refresh the package list and install the necessary tools for adding the Caddy repository and managing HTTPS connections.
Step 2. Installing Caddy on Debian 12.
Next, we’ll add the official Caddy repository to our system. This ensures that we have access to the latest version of Caddy and can easily update it in the future. Follow these steps:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
Update the package index to recognize the new repository:
sudo apt update
With the repository added, we can now install Caddy using the APT package manager. Run the following command:
sudo apt install caddy
Once the installation is complete, you can verify that Caddy is installed correctly by checking its version:
caddy version
Step 3. Configuring Caddy.
Caddy uses a configuration file called Caddyfile
to define how it should serve your website. Let’s create a basic Caddyfile
to serve a static site:
sudo mkdir /var/www/example.com
Create an index.html
file inside the directory:
echo "Hello, World!" | sudo tee /var/www/example.com/index.html
Open a new Caddyfile
using a text editor (e.g., nano):
sudo nano /etc/caddy/Caddyfile
Add the following content to the Caddyfile
:
example.com { root * /var/www/example.com file_server }
Save the file and start Caddy:
sudo systemctl start caddy
Test your configuration by accessing http://example.com
in your web browser. You should see the “Hello, World!” message.
Step 4. Enabling PHP Support (Optional).
If your website requires PHP support, you can easily configure Caddy to work with PHP-FPM. Follow these steps:
sudo apt install php php-fpm
Configure PHP-FPM to listen on a Unix socket:
sudo nano /etc/php/8.3/fpm/pool.d/www.conf
Find the listen
directive and change it to:
listen = /run/php/php8.1-fpm.sock
Save the file, then restart PHP-FPM:
sudo systemctl restart php8.3-fpm
Modify the Caddyfile
to handle PHP requests:
example.com { root * /var/www/example.com file_server php_fastcgi unix//run/php/php8.3-fpm.sock }
This configuration tells Caddy to pass PHP requests to the PHP-FPM Unix socket.
Finally, restart Caddy:
sudo systemctl restart caddy
Congratulations! You have successfully installed Caddy. Thanks for using this tutorial to install the latest version of the Caddy web server on Debian 12 Bookworm. For additional help or useful information, we recommend you check the official Caddy website.