WordPress on Ubuntu 16.04 With Caddy

WordPress is a famous content management system based on PHP and MySQL, distributed under the terms of the GNU GPLv2 (or later). In most cases it is installed by using Apache or NGINX as web servers, или, as we explained in Этот учебник, it can run on an isolated environment like Docker containers.

Alongside these choices, there is a new web server which is rapidly gaining popularity: Caddy.

Caddy (or Caddy web server), is an open source, HTTP/2 web server which enables HTTPS by default, without requiring external configuration. Caddy also has a strong integration with Let’s Encrypt.

This tutorial explains how to install and configure WordPress on top of your Caddy web server, installed following our guide.

Установка PHP

As we said in the introduction, WordPress requires a web server, MySQL and PHP. Прежде всего, install PHP and the extensions required by WordPress, выполнив следующую команду:

# apt-get install php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-xml php7.0-xmlrpc

Verify that the PHP was correctly installed by checking its version:

$ PHP - v

Установка и настройка MariaDB

MariaDB is also available in the repository, so just use apt:

# apt-get install mariadb-client mariadb-server

MariaDB Это MySQL fork, and it uses its name for the systemd service:

# systemctl начало mysql

Набор MariaDB root password to secure your database:

# mysql_secure_installation

You will be asked for the following configuration parameters:

Enter current password for root (enter for none): PRESS ENTER

Set root password? [Y/n] Y

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Once that step is complete you can access the MariaDB database with your password:

$ MySQL -u корень -p

Create New Database and User

Start the MariaDB shell:

$ MySQL -u корень -p

Use the MariaDB prompt to create a new database for WordPress. В этом руководстве, we use wordpressdb as the database name, and wordpressusr as the username for the WP installation. So our code looks like this:

MySQL> СОЗДАНИЕ БАЗЫ ДАННЫХ wordpressdbDEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MySQL> CREATE USER wordpressusr@localhost IDENTIFIED BY 'usr_strong_password'; mysql> ВСЕ ПРИВИЛЕГИИ НА wordpressdb.* Кому wordpressusr@localhost IDENTIFIED BY 'usr_strong_password';

Следующая, you can flush privileges and exit:

mysql> ВЫХОД;

Установить WordPress

Downloading and installing WordPress is quite an easy process, which requires executing just the following commands:

# cd /var/www
# Wget wordpress.org/latest.zip
# Распакуйте latest.zip

Change WordPress permissions with:

# chown -R www-data:www-data wordpress

Rename the WordPress config file and edit it:

# cd wordpress
# mv wp-config-sample.php wp-config.php
# $EDITOR wp-config.php

Здесь, change the database informations, using those specified during the MariaDB configuration process:

DB_NAME = wordpressdb
DB_USER = wordpressusr
DB_PASSWORD = usr_strong_password

Configure Caddy and Start WordPress Installation Wizard

This tutorial assumes you installed Caddy web server already. Edit its configuration file:

# $EDITOR /etc/caddy/Caddyfile

В этом файле, paste the following content:

example.com {
    tls [email protected]
    root /var/www/wordpress
    fastcgi / /run/php/php7.0-fpm.sock php
    rewrite {
        if {path} not_match ^/wp-admin
        to {path} {path}/ /index.php?_url={uri}

Примечание: [email protected] is the email address that will be used for Let’s Encrypt certificate request.

Restart Caddy:

# systemctl restart caddy

As a last step, with a web browser, go to your website. This will start the WordPress GUI installation wizard which will finish the installation process and give you access to the WordPress dashboard.


At the end of the previous steps, a new WordPress instance will run on top of this new, tiny and powerful web server. Caddy will require certificates from Let’s Encrypt and enable automatically HTTPS connections, without any other manual configuration.

Должность WordPress on Ubuntu 16.04 With Caddy появился первый на Unixmen.

Оставь ответ