38
How to run or host WordPress with Caddy2 server
PHP Version : 8.0
WordPress version : 5.7.2
Caddy version : v2.4.3
To install WordPress, you must required to have PHP and MySQL or mariaDB
This is for Ubuntu/Debian Distro.
sudo apt update
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
- If the above command returns package not found or similar error do this step else go to next step, then you need to add the PPA, you can add them by
sudo add-apt-repository ppa:ondrej/php;sudo apt update
and now repeat the above step - Now remove the apache2 server which is installed when installing PHP, by
sudo apt purge apache2*
- Check the PHP Version by running
php -v
If you don't have MYSQL installed refer this blog by digitalocean
- Navigate to the required directory, where do you want to save wordpress. here I use
/home/illuminate/php_sites
- Download the latest Wordpress by
wget https://wordpress.org/latest.tar.gz
- extract the tar file by
tar -xzvf latest.tar.gz
- Delete the tar file after extraction completed
- go to the
wordpress/
bycd wordpress
- If you have successfully installed mysql, create a seperate user and db for wordpress
- Login to mysql by
mysql -u adminusername -p
and now Enter the password - replace the
databasename
with the database name you want.
CREATE DATABASE databasename;
use databasename;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON *.* TO 'username'@'localhost';
flush privileges;
- After the above steps successful, exit the mysql by pressing
ctrl+d
- Now add the entry to serve Wordpress
example.com {
root * /home/illuminate/php_sites/wordpress
php_fastcgi unix//run/php/php8.0-fpm.sock
file_server
encode gzip
@disallowed {
path /xmlrpc.php
path *.sql
path /wp-content/uploads/*.php
}
rewrite @disallowed '/index.php'
}
- Now reload the caddy server.
- and its done.
- When you visit the domain configured in caddyfile, it will ask to configure if not configured.
- Enter the database credentials as we created.
- If it fails to write
wp-config.php
file, then copy the configuration from web - create a
wp-config.php
file inside the directory wherewp-content
,wp-admin
,wp-content
are present, for me its/home/illuminate/php_sites/wordpress
- paste the contents copied into the file, save and begin the installation.
38