您想学习如何将WordPress网站从HTTP移动到HTTPS吗? 在本教程中,我们将向您展示使用Ubuntu Linux将Wordpress网站移至HTTPS所需的所有步骤。
•Ubuntu版本:18.04
硬件清单:
以下部分介绍了用于创建此Wordpress教程的设备列表。
上面列出的每一件硬件都可以在亚马逊网站上找到。
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
系统将询问一些问题以满足您的证书申请。
•国家/地区名称 - 输入您所在国家/地区的双字母代码
•州或省名称 - 输入州或省的名称。
•地点名称 - 输入您的城市名称
•组织名称 - 输入您的组织名称或个人姓名。
•组织单位名称 - 可选
•通用名称 - 输入您的网站主机名
•电子邮件地址 - 可选
•质询密码 - 可选。
•可选的公司名称 - 可选。
在我们的示例中,我们正在为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文件的内容。
10分钟后,GoDaddy将完成证书的创建,并允许您下载ZIP文件。
在我们的示例中,ZIP文件名为:techexpert.tips.zip
将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
不要忘记更改文件名以反映您的环境。
教程 - 在Apache上将HTTP重定向到HTTPS
启用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地址(URL)和站点地址(URL)配置从HTTP更改为HTTPS。
在Wordpress仪表板上,访问“设置”菜单并选择“永久链接”选项。
单击“保存更改”按钮以更新永久链接配置。
您已完成网站配置。
打开浏览器并尝试访问您网站的HTTPS版本。
如果您尝试打开网站HTTP URL,Apache Web服务器应自动将您重定向到HTTPS版本。
确保一切正常。
教程 - WordPress站点地图
如果您的Wordpress网站提供站点地图,则需要再次生成站点地图。
通常,人们使用Yoast SEO插件动态创建Sitemap。
停用YOAST SEO插件并激活YOAST SEO插件。
这将重新创建Wordpress Sitemap。
教程 - 更新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
现在,让我们测试将替换数据库上HTTPS版本的HTTP链接的命令。
此命令不会在数据库中执行任何更改。
# 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.
测试成功完成。
现在,让我们运行将取代数据库上HTTPS版本的HTTP链接的命令。
此命令将在数据库中执行更改。
# 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 Search Console
如果您使用的是Google Search Console,则需要使用HTTPS网址添加其他网站。
很遗憾,Google搜索控制台不提供将HTTP网站重命名为HTTPS的选项。
您需要将HTTPS版本配置为新网站。
可选 - Google Analytics
如果您使用的是Google Analytics,则需要更改网站属性以反映HTTP网址。
访问Google Analytics管理员菜单,然后选择“属性设置”选项。
将默认URL配置从HTTP更改为HTTPS。