Хотите узнать, как перевести ваш сайт WordPress с HTTP на HTTPS? В этом руководстве мы покажем вам все шаги, необходимые для перемещения вашего WordPress-сайта на HTTPS с использованием Ubuntu Linux.

• Версия Ubuntu: 18.04

Список оборудования:

В следующем разделе представлен список оборудования, использованного для создания этого учебника WordPress.

Все вышеперечисленное оборудование можно найти на сайте Amazon.

WordPress Playlist:

На этой странице мы предлагаем быстрый доступ к списку видео, связанных с установкой WordPress.

Не забудьте подписаться на наш канал на YouTube FKIT.

WordPress Связанное Учебное пособие:

На этой странице мы предлагаем быстрый доступ к списку учебных пособий, связанных с установкой WordPress.

Учебник - учетная запись GoDaddy

Во-первых, вам нужно получить доступ к GODADDY и создать учетную запись.

Эта учетная запись будет использоваться для создания вашего сертификата HTTPS.

Учебник - Создание сертификата HTTPS

На консоли Linux используйте следующую команду для установки необходимых пакетов.

# apt-get update
# apt-get install openssl

Используйте следующую команду, чтобы сгенерировать ваш файл KEY и файл CSR.

# mkdir -p /downloads/certificate
# cd /downloads/certificate
# openssl req -new -newkey rsa:2048 -nodes -keyout techexpert.key -out techexpert.csr

Система задаст несколько вопросов для выполнения вашего запроса на сертификат.

• Название страны - введите двухбуквенный код вашей страны.
• Название штата или провинции - введите название своего штата или провинции.
• Название населенного пункта - введите название своего города
• Название организации - введите название вашей организации или ваше личное имя.
• Название подразделения организации - необязательно
• Common Name - введите имя хоста вашего сайта.
• Адрес электронной почты - необязательно
• Пароль для вызова - необязательно.
• Необязательное название компании - необязательно.

В нашем примере мы создаем запрос сертификата для сайта techexpert.tips.

Generating a 2048 bit RSA private key
...................+++
...................+++
writing new private key to 'techexpert.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR
State or Province Name (full name) [Some-State]:Rio de Janeiro
Locality Name (eg, city) []:Rio de Janeiro
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Jonas Smith
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:techexpert.tips
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

CSR содержит ваш запрос на подпись сертификата и будет отправлен GoDaddy для создания вашего публичного сертификата.

Вот содержимое файла CSR:

-----BEGIN CERTIFICATE REQUEST-----
MIICtDCCAZwCAQAwbzELMAkGA1UEBhMCQlIxFzAVBgNVBAgMDlJpbyBkZSBKYW5l
aXJvMRcwFQYDVQQHDA5SaW8gZGUgSmFuZWlybzEUMBIGA1UECgwLSm9uYXMgU21p
dGgxGDAWBgNVBAMMD3RlY2hleHBlcnQudGlwczCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALAZgXHiRxCZgLmAl+2eNmFY1VmQgvvBIxMW0V8hjfs81tU1
4nXUei51fwdai63ypc7EG8cTyhS3Os7/3npwJU2x1j55dlVXBSGN5JFP3Afa9SHe
9XDqaLRNHLUpkkaj6EV5RLvMZvT8jBUyh+wQTesAzWz1Gg07MfpD9Ls6JcUfg6GN
s5Fy/SYEEONtSAgH48+hJ0KP3zIeNk2/JUS9T3FktBnEN8Uwmv2U0A5HQAg5oAuR
doy7XMLn4bVnbH5b3FIjgkx6CIqgeEj9e3cDeULJPzUYZzdGuaWKCFllWy2vQUrh
ei1wl7lguwGfXEi6TJStackcZHPwyYLbpKFhEssCAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQCBKsz7z95s251RaZ/x+URiIvtMFl+JheLt8PSJB8CC+SltA245kYg4
CbWc5blXckwcM+2LQ0Dd4YcWfKGunlee/Agju74gbqybV77cpA14w8wRK3tasv24
8/VD+94WvMME+WlBpuTPGIEqgAIt653Fn/E+MLD42ICRGkL+HZITAYltn+4uNtO7
S35jJ5OIVJ5WdTLWfrakCqEtPXVOpyYalwVF5MrmYzJhfeIGuLQge62uP+EFHrWI
W3+ATnPFpq0/slsxu24s00GBkj56cO2JNnmhVpSjQkmd2Jmsz42+Myh/dGTrFnd5
fQcXU9D/+qELbzFtWyVeU1SK0mufavGw
-----END CERTIFICATE REQUEST-----

Файл KEY содержит ваш закрытый ключ сертификата и должен постоянно храниться в безопасном месте.

Вот содержимое файла KEY:

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCwGYFx4kcQmYC5
gJftnjZhWNVZkIL7wSMTFtFfIY37PNbVNeJ11HoudX8HWout8qXOxBvHE8oUtzrO
/956cCVNsdY+eXZVVwUhjeSRT9wH2vUh3vVw6mi0TRy1KZJGo+hFeUS7zGb0/IwV
MofsEE3rAM1s9RoNOzH6Q/S7OiXFH4OhjbORcv0mBBDjbUgIB+PPoSdCj98yHjZN
vyVEvU9xZLQZxDfFMJr9lNAOR0AIOaALkXaMu1zC5+G1Z2x+W9xSI4JMegiKoHhI
/Xt3A3lCyT81GGc3RrmlighZZVstr0FK4XotcJe5YLsBn1xIukyUrWnJHGRz8MmC
26ShYRLLAgMBAAECggEAdpK19ljGQQcbBczwf67oLuQBxCzqBVomo9PZZpTRZTmx
7h46Pdyz6FR1FB6DrryTqIWjrohEqW42yuq+gvLAK3BzMd3XL99INS+1l6KOJTvp
ksTtvvoXRlAl5FX5iFcVLrJY9ZrMOGlUaXF81BamYHZJ2/OtdvtEy562Str8U52m
GTkgfpWnaLc66T05zViNwiAb5yg0v9Xb9YOEgLY8VdqYppUnJNzYs7utiDGbOjPa
OCZ5oLTl1b9l6sNw7RhhOmq/jPOur4Keg124fyleULi2Uln52waLWeI8fWI/AHmP
UQQkC3athEOKr0f1Zk9ZRxYJq5FYGPTElqQdbltEAQKBgQDiqSp4XM0tfFJwZIkH
ooEcPw+to4T0333K4mipx+YxlELCHvIXW2xIxlejyhgnVIQWX6qS0F7VUGnVuSKz
hB0zfcd89MYcqGyQSEdc9kZB+Twb9Hzd3fTXu7hKjXoz9+UKfcOXfQdILGnDqyG8
zCF//aNocRvxaO9E1cZ+1irlcQKBgQDG5OZUr8kMYI8Tl0GcmWZSFZfMYBYT3CAq
YPHmNQcHhENGz6v9jBZjkeZJBLMRZLlRWjcrWhKbEEHsjZJYiJP4u2n6n57Il9h9
OVqfK7RR3k1r9bMKzhYRnu1FsEPpMKKUrLPDChthxduXEPPZgoKGSYmhLAiYqyPg
USOyZzFt+wKBgQCmfjSgLSrZ2pSD0pWFciz8nqXZml+zr+cq/Jx8+kVw7cML7MdP
uOwVmPwPaAfN/Br6hFM7fKvsbSEQyOlgjA8XH7FFbFeJ/X2hjjY9Zvm8xGMO9cwy
/TM4tL9uo/W77r/jsPXXdRPARD98Z1xk3l1NMvaxZURtU/NN0On5iUABQQKBgGIu
FiER0R3iAF68WLAT7TVx4UgK2nsdO2eQCXkJDhpAyPEIjK8RWu/10oaS4k4guXYW
IYut3+dZpCFAVVCMwvaSlSMZbkk4464VBM3zxgRvxyoW1DXuO2ihWiD/fNZ8opTf
l7EcqR2fjOFKhgUF7qaZYG4GDYxHVuNhSkzDsdvHAoGBAIfDk7fLsG/BYROxJpzN
b1CoG8DE+DKYTWwMWW45rDF0ImbC6H3fg876CeZ3YKGWqt9qkha7gnGGVRRufP15
O7ZEXebZXeDYafXSNcnqSe7FSNtVr1eFlTWmL8OiWQuaqxjs/VogdWfhkEGPISVF
AOM3I6XSGx4NxW2RgYmvQZ4O
-----END PRIVATE KEY-----

Вернитесь на сайт GODADDY и приобретите сертификат SSL.

Вам нужно будет вставить содержимое файла CSR на веб-сайт.

GoDaddy Generate Certificate

Через 10 минут GoDaddy завершит создание вашего сертификата и позволит вам загрузить ZIP-файл.

В нашем примере ZIP-файл был назван: techexpert.tips.zip

GoDaddy Certificate Download

Скопируйте файл ZIP на ваш сервер Linux.

В нашем примере я предполагаю, что вы скопировали ZIP-файл в следующий каталог: / downloads / certificate

# cd /downloads/certificate
# unzip techexpert.tips.zip

Archive: techexpert.tips.zip
inflating: gd_bundle-g2-g1.crt
inflating: 1c9ad5b95b2ac0fb.crt

Давайте перечислим файлы, доступные в каталоге сертификатов.

• 1c9ad5b95b2ac0fb.crt
• gd_bundle-g2-g1.crt
• techexpert.csr
• techexpert.key
• techexpert.tips.zip

У вас должны быть похожие файлы в вашем каталоге сертификатов.

Необязательный. Если вы хотите просмотреть файлы сертификатов, отправленные из Godady, используйте следующие команды.

# openssl x509 -in gd_bundle-g2-g1.crt -text -noout
# openssl x509 -in ab0562011b4bb0c7.crt -text -noout

Не забудьте изменить имена файлов в соответствии с вашей средой.

Учебник - Перенаправление HTTP на HTTPS на Apache

Включите модуль Apache SSL и модуль Apache REWRITE.

# a2enmod rewrite
# a2enmod ssl
# service apache2 restart

Отредактируйте файл конфигурации Apache VIRTUALHOST, чтобы он также предлагал ваш сайт по HTTPS:

# vi /etc/apache2/sites-available/techexpert.conf

Помните, что имя и местоположение вашего файла VIRTUALHOST могут не совпадать с моими.

Вот оригинальный файл нашего сайта, перед нашей конфигурацией.

<VirtualHost *:80>
ServerAdmin nobody@care.com
DocumentRoot /websites/techexpert/www
ServerName techexpert.tips

<Directory /websites/techexpert/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

ErrorLog /websites/techexpert/logs/error.log
CustomLog /websites/techexpert/logs/access.log combined
LogLevel error
</VirtualHost>

Вот новый файл с включенным HTTPS VIRTUALHOST.

Этот файл также был настроен для перенаправления любого HTTP-соединения на веб-сайт HTTPS.

<VirtualHost *:80>
ServerAdmin nobody@care.com
ServerName techexpert.tips
Redirect permanent / https://techexpert.tips/
</virtualhost>

<VirtualHost *:443>
ServerAdmin nobody@care.com
DocumentRoot /websites/techexpert/www
ServerName techexpert.tips

<Directory /websites/techexpert/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
SSLCertificateFile /downloads/certificate/1c9ad5b95b2ac0fb.crt
SSLCertificateKeyFile /downloads/certificate/techexpert.key
SSLCertificateChainFile /downloads/certificate/gd_bundle-g2-g1.crt

ErrorLog /websites/techexpert/logs/error.log
CustomLog /websites/techexpert/logs/access.log combined
LogLevel error
</VirtualHost>

Установите правильные права доступа ко всем файлам сертификатов и ключей.

# chown www-data.www-data /downloads/certificate/* -R

Вам также следует перезапустить apache вручную и проверить статус сервиса.

# service apache2 stop
# service apache2 start
# service apache2 status

Вот пример вывода статуса службы Apache.

● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Mon 2018-04-23 00:02:09 -03; 1min 4s ago

Учебник - Настройка WordPress для HTTPS

Теперь нам нужно настроить WordPress для использования HTTPS.

Откройте браузер и получите доступ к панели управления WordPress.

На панели управления WordPress откройте меню «Настройки» и выберите «Общие».

Wordpress Settings General

Измените конфигурацию адреса WordPress (URL) и адреса сайта (URL) с HTTP на HTTPS.

Wordpress HTTP to HTTPS

На панели управления WordPress откройте меню «Настройки» и выберите параметр «Постоянные ссылки».

Wordpress permalinks menu

Нажмите кнопку Сохранить изменения, чтобы обновить конфигурацию вашей постоянной ссылки.

Wordpress backup permalinks

Вы завершили настройку вашего сайта.

Откройте браузер и попробуйте получить доступ к HTTPS-версии вашего сайта.

Если вы попытаетесь открыть HTTP-адрес своего веб-сайта, веб-сервер Apache должен автоматически перенаправить вас на версию HTTPS.

Убедитесь, что все работает.

Учебник - WordPress Карта сайта

Если ваш веб-сайт WordPress предлагает файл Sitemap, вам необходимо снова сгенерировать файл Sitemap.

Обычно люди используют плагин Yoast SEO для динамического создания файла Sitemap.

Отключите плагин YOAST SEO и активируйте плагин YOAST SEO.

Это воссоздает файл Sitemap для WordPress.

Wordpress YOAST SITEMAP Deactivate

Учебник - Обновление ссылок на базу данных WordPress MySQL

Теперь нам нужно отредактировать базу данных WordPress и изменить каждую запись HTTP URL на HTTPS.

Вы должны сделать резервную копию вашей базы данных, прежде чем продолжить.

После завершения резервного копирования базы данных WordPress нам необходимо загрузить программное обеспечение WP-CLI.

# mkdir /downloads/wp-cli
# cd /downloads/wp-cli
# wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# php wp-cli.phar --info
# chmod +x wp-cli.phar
# cp wp-cli.phar /usr/local/bin/wp

Откройте каталог установки WordPress и проверьте команду WP-CLI.

# cd /var/www/html/wordpress
# wp --info

OS: Linux 4.15.0-1021-aws #21-Ubuntu SMP Tue Aug 28 10:23:07 UTC 2018 x86_64
Shell: /bin/bash
PHP binary: /usr/bin/php7.2
PHP version: 7.2.10-0ubuntu0.18.04.1
php.ini used: /etc/php/7.2/cli/php.ini
WP-CLI root dir: phar://wp-cli.phar/vendor/wp-cli/wp-cli
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /downloads/wp-cli
WP-CLI packages dir:
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 2.0.1

Теперь давайте протестируем команду, которая заменит HTTP-ссылки на версию HTTPS в базе данных.

Эта команда не будет выполнять никаких изменений в базе данных.

# wp search-replace 'http://techexpert.tips' 'https://techexpert.tips' --all-tables --skip-columns=guid --dry-run --allow-root

Warning: Skipping an uninitialized class "DUP_Package", replacements might not be complete.
Success: 18925 replacements to be made.

Тест был успешно выполнен.

Теперь давайте запустим команду, которая заменит HTTP-ссылки на версию HTTPS в базе данных.

Эта команда выполнит изменения в базе данных.

# wp search-replace 'http://techexpert.tips' 'https://techexpert.tips' --all-tables --skip-columns=guid --dry-run --allow-root

Warning: Skipping an uninitialized class "DUP_Package", replacements might not be complete.
Success: 18925 replacements were made.

Вы завершили настройку базы данных Mysql.

Необязательно - консоль поиска Google

Если вы используете консоль поиска Google, вам нужно добавить другой веб-сайт, используя URL-адрес HTTPS.

К сожалению, консоль поиска Google не предлагает возможность переименовать ваш HTTP-сайт в HTTPS.

Вам нужно будет настроить версию HTTPS как новый веб-сайт.

Необязательно - Google Analytics

Если вы используете Google Analytics, вам нужно изменить свойства своего веб-сайта, чтобы они отражали URL-адрес HTTP.

Войдите в меню администратора Google Analytics и выберите пункт «Настройки свойств».

Измените конфигурацию URL по умолчанию с HTTP на HTTPS.

Google Analytics - HTTP to HTTPS