HTTPS迁移:Dreamhost上托管的WordPress博客

2024-03-20 21:30

本文主要是介绍HTTPS迁移:Dreamhost上托管的WordPress博客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

I use Dreamhost. Have been since 2008. If you're not using Dreamhost... well, go sign up and here's $50 off of the $97 yearly plan.

我使用Dreamhost。 自2008年以来一直。如果您不使用Dreamhost ...那么,快去注册吧,这是$ 97年度计划的$ 50折扣。

Now some folks reminded me recently that the Perf calendar was not yet migrated to HTTPS... True enough. I have to do it. Eventually. In any normal situation I'll procrastinate indefinitely, but since I had more pressing things to do and "Anyone can do any amount of work, provided it isn’t the work he is supposed to be doing at that moment"... I bit the bullet.

现在有些人最近提醒我, Perf日历尚未迁移到HTTPS ...确实如此。 我必须做。 最终。 在任何正常情况下,我都会无限期拖延,但是由于我要做的事情更紧迫,并且“任何人都可以做任何工作,只要那不是他当时应该做的工作”……我咬住子弹。

Below are the steps that worked for me with a WordPress blog, hosted on DreamHost. The steps are still relevant to any WordPress site, just using Dreamhost as an example and since Dreamhost makes many of the steps easy. Also note that Dreamhost offers automated install of WordPress ("one-click installs") and something called Dreampress. My case wasn't any of those, just a plain old self-install. So some of the steps might be different if you use any of those services.

以下是在DreamHost上托管的WordPress博客对我有用的步骤。 这些步骤仍然与任何WordPress网站相关,仅以Dreamhost为例,因为Dreamhost使许多步骤变得容易。 还要注意,Dreamhost提供WordPress的自动安装(“一键安装”)和称为Dreampress的东西。 我的情况并非如此,只是一个普通的旧式自安装程序。 因此,如果您使用任何这些服务,则某些步骤可能会有所不同。

脚步 (Steps)

  1. Setup free SSL certificate thanks to Let's Encrypt

    借助Let's Encrypt设置免费的SSL证书

  2. Backup all the things (or just the blog's database or just the table with the posts)

    备份所有内容(或仅备份博客数据库或仅包含帖子的表)
  3. Search and replace internal references (images and links)

    搜索和替换内部参考(图像和链接)
  4. WP settings

    WP设置
  5. Redirect http to https permanently in .htaccess

    .htaccess http永久重定向到https

  6. Test/tweak?

    测试/调整?

SSL证书 (SSL certificate)

Thanks to Let's Encrypt you can have a free certificate. Dreamhost makes it trivial to use.

多亏了“让我们加密”,您可以拥有免费证书。 Dreamhost使它使用起来很简单。

Under Domains/Secure Hosting you go add a new Let's Encrypt cert:

在“域/安全托管”下,添加一个新的“加密”证书:

lets

Then pick a domain.

然后选择一个域。

lets2

Done!

做完了!

Give it a coupla minutes (while you're doing backups, next step), then go visit your site with https:// in front.

给它一个coupla分钟(在执行备份时,下一步),然后使用前面的https://来访问您的站点。

后备 (Backup)

One of the least favorite parts when it comes to anything computer-y...

涉及计算机领域的东西中最不喜欢的部分之一。

备份所有内容(可选) (Backup everything (optional))

Dreamhost lets you backup all your things - mail and databases and files and everything. You should probably do that at one point or another but it's not required here.

Dreamhost使您可以备份所有内容-邮件,数据库,文件以及所有内容。 您可能应该在一处或另一处执行此操作,但这不是必需的。

You'll find the option under Billing and Account

您会在“帐单和帐户”下找到该选项

bu

备份数据库(可选)(Backup the database (optional))

Backing up your whole WP DB is a good practice, not required for the HTTPS migration but it won't hurt. Let's see how.

备份整个WP DB是一个好习惯,HTTPS迁移不需要这样做,但这不会造成伤害。 让我们看看如何。

You need phpMyAdmin. You'll find "MySQL databases" under "Goodies"

您需要phpMyAdmin。 您将在“ Goodies”下找到“ MySQL数据库”

phpmyadmin

Click "phpMyAdmin" next to the database you need.

单击所需数据库旁边的“ phpMyAdmin”。

phpmyadmin-login

Drag, what is this password? Well, go to your wp-config.php file and copy from there.

拖动,此密码是什么? 好吧,转到您的wp-config.php文件并从那里复制。

After you login, go to the Export tab in phpMyAdmin and ... export!

登录后,转到phpMyAdmin中的“导出”选项卡,然后导出。

export-db

No need to touch any of the defaults. Keep the generated file handy in case all hell breaks lose.

无需触摸任何默认值。 将生成的文件放在手边,以防万一。

备份帖子 (Backup the posts)

This is the required step so that you can then replace all internal references to http content.

这是必需的步骤,以便您可以替换对http内容的所有内部引用。

Find the table that ends with posts (in case you're like me and have added weird prefix to all tables) on the left menu. Click. Go to Export tab. Click. Click "Go" button.

在左侧菜单中找到以posts结尾的表格(以防您和我一样,并且在所有表格中添加了怪异的前缀)。 单击。 转到导出选项卡。 单击。 点击“开始”按钮。

export-posts

Save the file.

保存文件。

替换内部参考 (Replace internal references)

All <img src="http://yourdomain and <a href="http://yourdomain need to turn into https. Actually links are optional (if you do the next steps with permanent redirect), but why not? Images are not optional, otherwise loading images over HTTP when the page is HTTPS triggers "mixed content" warning.

所有<img src="http://yourdomain<a href="http://yourdomain 。 实际上,链接是可选的(如果您使用永久重定向执行后续步骤),但是为什么不呢? 图像不是可选的,否则当页面为HTTPS时通过HTTP加载图像会触发“混合内容”警告。

Open the *posts.sql file you downloaded in the previous step in a regular text editor. I just did a search/replace of "http://calendar.perfplanet.com" with "https://calendar.perfplanet.com". It's possible I've replaced more than img src and a href. But that's ok as far as I know. If you want to be more surgical in replacements... knock yourself out.

在常规文本编辑器中打开在上一步中下载的*posts.sql文件。 我只是用“ https://calendar.perfplanet.com”搜索/替换了“ http://calendar.perfplanet.com”。 我可能已替换了img srca href 。 但是据我所知这没关系。 如果您想在替换手术方面更具手术性,请把自己打倒。

Save this file with the http-to-https replaced.

保存此文件,并替换http-to-https。

Go back to phpMyAdmin and click the Operations tab (while still working with the "posts" table). You'll see an option to rename the table. Do it. Add "_backup" or something at the end.

返回phpMyAdmin并单击“操作”选项卡(同时仍在使用“帖子”表)。 您会看到一个重命名表的选项。 做吧在末尾添加“ _backup”或其他内容。

rename

At this point your blog is broken, as there is no table to read the posts from. So not the best time to walk the dog or take a vacation.

此时,您的博客已损坏,因为没有表格可以读取帖子。 因此,不是not狗或休假的最佳时间。

Go back to the database level (as opposed to individual table). Click Import tab.

返回数据库级别(而不是单个表)。 单击导入选项卡。

Select your *posts.sql file for upload, leave all defaults. Click "Go" button.

选择要上传的*posts.sql文件,保留所有默认设置。 点击“开始”按钮。

Your blog is now back up.

您的博客现在已备份。

Not the best time to walk the dog yet, but not the worst either.

现在还不是狗的最佳时间,但也不是最糟糕的时间。

WordPress设置 (WordPress settings)

Login to your WordPress admin area. Go to Settings/General. Change URL stuff to https.

登录到您的WordPress管理区域。 转到设置/常规。 将URL内容更改为https。

wp-settings

重定向到https (Redirect to https)

Open your .htaccess file. It probably has an area that looks something like:

打开您的.htaccess文件。 它可能有一个看起来像这样的区域:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Now above this section, add another section:

现在在本部分上方,添加另一部分:

# BEGIN HTTPS redirect
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
# END redirect

测试/调整?(Test/tweak?)

Now everything should be working. Go to your site (with http). It should redirect to https. And you should see some congratulatory green in the address bar.

现在一切都应该正常工作。 转到您的网站(带有http)。 它应该重定向到https。 并且您应该在地址栏中看到一些可喜的绿色。

green0

And more:

和更多:

green2

But what if it's not green? You may have the dreaded "Mixed content". I know I did.

但是,如果不是绿色怎么办? 您可能拥有可怕的“混合内容”。 我知道我做到了

In Chrome. Expected picture:

在Chrome中。 预期图片:

chrome-green

Actual picture - an i icon. Whaa! Click it.

实际图片-一个i图标。 哇! 点击它。

not-green

Click Details. Chrome tells you what's wrong.

单击详细信息。 Chrome告诉您出了什么问题。

why-not-green

Click "View requests in Network Panel". Figure out what's wrong.

单击“在网络面板中查看请求”。 找出问题所在。

In my case I had gravatars enabled. And a default image over http if there's no gravatar for the person commenting (in a call to get_avatar()). Updating this in the comments.php of my theme fixed it.

就我而言,我启用了gravatars。 如果没有人发表评论,请使用http上的默认图片(在对get_avatar()的调用中)。 在我主题的comments.php中更新了此问题。

avatar

HTTPS-ing祝您愉快! (Happy HTTPS-ing!)

And thanks for reading!

并感谢您的阅读!

Tell your friends about this post on Facebook and Twitter

在Facebook和Twitter上告诉您的朋友有关此帖子的信息

翻译自: https://www.phpied.com/https-migration-wordpress-blog-dreamhost/

这篇关于HTTPS迁移:Dreamhost上托管的WordPress博客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/830783

相关文章

nginx生成自签名SSL证书配置HTTPS的实现

《nginx生成自签名SSL证书配置HTTPS的实现》本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可... 目录一、安装nginx二、创建证书三、配置证书并验证四、测试一、安装nginxnginx必须有"-

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc

CentOS下mysql数据库data目录迁移

https://my.oschina.net/u/873762/blog/180388        公司新上线一个资讯网站,独立主机,raid5,lamp架构。由于资讯网是面向小行业,初步估计一两年内访问量压力不大,故,在做服务器系统搭建的时候,只是简单分出一个独立的data区作为数据库和网站程序的专区,其他按照linux的默认分区。apache,mysql,php均使用yum安装(也尝试

Linux Centos 迁移Mysql 数据位置

转自:http://www.tuicool.com/articles/zmqIn2 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like