近来由于某种原因xxx自己用docker搭建一个wordpress环境。把各个坑都踩了遍。这里记录一下。
新手上路,大佬勿喷。
这里我是win下本地搭好了然后导出数据库放docker里面导入sql文件起服务的。
一、docker部署的任意端口后一直跳转80
因为wordpress在安装的时候就已经绑定了端口,所以需要改成docker命令run的端口一样的端口。我直接在sql文件里面加两条:
方法1:
- define(‘WP_SITEURL’, ‘http://127.0.0.1:1234’);
- define(‘WP_HOME’, ‘http://127.0.0.1:1234’);
这两个全局变量需要比较新的wordpress,应该版本大于2.2。
方法2:
如果不是的话,那就直接修改数据库中表wp_options。
- update wp_options set option_value=‘http://127.0.0.1:1234’ where option_name=‘siteurl’;
- 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地址.
然后就ojbk了。
参考链接:https://blog.csdn.net/hellbaby666/article/details/41645601
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);
今天打开vmware里的kali时突然发现联不上网了,搞了好一会儿才弄好,这里写个文章总结一下。(net模式可能出现的不能联网的问题) 第一种情况 首先ifconfig,可以看到没有正在工作的网卡,只有localhost 然后ifconfig -a,可以看到e…
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论