docker环境搭建之wordpress

admin 2021年8月21日04:51:29评论54 views字数 1943阅读6分28秒阅读模式

近来由于某种原因xxx自己用docker搭建一个wordpress环境。把各个坑都踩了遍。这里记录一下。

新手上路,大佬勿喷。

这里我是win下本地搭好了然后导出数据库放docker里面导入sql文件起服务的。

一、docker部署的任意端口后一直跳转80

因为wordpress在安装的时候就已经绑定了端口,所以需要改成docker命令run的端口一样的端口。我直接在sql文件里面加两条:

修改服务器端口后需要修改wordpress的默认端口。我这里以run1234端口为例。

方法1:

  1. define(‘WP_SITEURL’‘http://127.0.0.1:1234’);  
  2. define(‘WP_HOME’‘http://127.0.0.1:1234’);  

这两个全局变量需要比较新的wordpress,应该版本大于2.2。

方法2:

如果不是的话,那就直接修改数据库中表wp_options。

  1. update wp_options set option_value=‘http://127.0.0.1:1234’ where option_name=‘siteurl’;  
  2. update wp_options set option_value=‘http://127.0.0.1:1234’ where option_name=‘home’;  

二、跳转/wp-admin/install.php显示未曾安装

wordpress不像其他cms一样,安装后会自动生成install.lock文件,wordpress是根据是否有数据库对应表的内容来判断是否安装的。

而这个坑是我自己sb了,为了配权限自己创建了个普通权限用户,wp-config.php也是用这个数据库用户登陆的,然后就很迷的没有连上数据库,exec进终端mysql可以用普通用户登陆。在wp-config.php里面改用数据库root用户

三、WordPress相对路径设置

终于可以进index.php了,不过css,js这些全挂了,原因是因为链接全是绝对路径127.0.0.1:1234/xxxxxx

查看网站的源代码发现网站wp-includes/option.php文件中存在函数get_option,该函数通过参数名来获取数据库中wp_options中的字段。

现在的要求是能使得wordpress使用任何ip都能正常解析,那么可以在这个函数中判断参数为home或者siteul的请求,如有该请求不去查询数据库直接返回需要的地址。

将函数进行如下修改:在函数开始部分加上判断并设置动态的ip地址.

docker环境搭建之wordpress

然后就ojbk了。

参考链接:https://blog.csdn.net/hellbaby666/article/details/41645601

http://blog.oa25.org/?p=491

https://www.jianshu.com/p/992218bf872c

2019.03.07更新

在平常学习过程中,使用docker搭建漏洞环境是经常的。而在使用docker搭建wordpress的漏洞环境时,会有以下几点坑:

1.后台自动更新,导致漏洞修复。

解决方法:在wp-config.php末尾加上define('AUTOMATIC_UPDATER_DISABLED', true);即可。
但是最好还是在断网环境下进行,我在用这个方法的时候时灵时不灵。

2.wordpress安装时会绑定IP和端口,迁移到docker上时依然未改变。

解决方法:编辑wp-config.php.
require_once(ABSPATH . 'wp-settings.php'); 前面加上

$home = 'http://'.$_SERVER['HTTP_HOST'];
$siteurl = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);

动态获取ip端口来解决。

3.高版本的wordpress安装时同样将ip和端口写进数据库.如果上面的第二个解决方法仍然没有解决动态地址问题。那么可以试试以下方法:

use wordpress;update wp_options set option_value='/' where option_id in (1,2);

相关推荐: 关于kali联不上网的一些解决方法

今天打开vmware里的kali时突然发现联不上网了,搞了好一会儿才弄好,这里写个文章总结一下。(net模式可能出现的不能联网的问题) 第一种情况 首先ifconfig,可以看到没有正在工作的网卡,只有localhost 然后ifconfig -a,可以看到e…

 

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年8月21日04:51:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   docker环境搭建之wordpresshttp://cn-sec.com/archives/466949.html

发表评论

匿名网友 填写信息