您想学习如何将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。