解决WordPress无法上传媒体文件以及无法下载和安装主题与插件的问题

作者:荒原之梦

前言:

我的个人博客网站荒原之梦http://zhaokaifeng.com/在安装成功WordPress
之后本来是可以上传媒体文件,安装主题和插件的,但是后来不知道怎么回事就出了问题:不能上传媒体文件也不能安装主题和插件了。出现这个问题后我尝试了去解决,但是一时没能成功完成,后来博文里的图片都放到图床里了,这个问题也就一直被搁置到了今天(这样做是不对的,遇到问题要及时解决)。今天我决定解决这个问题,上网查资料,大概两个小时后弄好了,现在将解决过程记录下来。

操作环境:

1.网站服务器:Linux云服务器

2.网站程序:WordPress 4.7.5

一 我遇到的问题

使用WordPress上传媒体文件和安装主题及插件的时候均无法成功完成并出现如下错误提示:

1.上传媒体文件时显示“无法创建目录"wp-content/*/*”:

图1

 

2.安装主题或者插件时弹出窗口要求输入FTP账号和密码,输入FTP账号相关信息后点击“安装”,之后又显示安装失败,提示的失败原因是“无法创建目录”:

图2

二 解决步骤如下:

1.    首先用FTP工具连接服务器,在*/wordpress/wp-content目录下将upgrade、themes和plugins都右键设置成766权限,并选中“包含子目录”复选框。

然后我们使用FTP工具在*/wordpress目录中,找到wp-config.php,添加如下代码:

 

 

添加后保存,再安装插件已经不再提示输入FTP密码,但是仍然安装失败,并显示“安装失败:无法创建文件(如图2一样)”。此时也无法上传媒体文件。

2.    登陆到数据库

找到数据库中的wp_options,查看其对应的upload_path表的键值是不是wp-content/uploads(不要给键值加双引号),如果为空或者不是该值则改成该值。

之后在wordpress仪表盘中找到“设置->多媒体”,将文件上传路径改成wp-content/uploads(不要给路径加双引号),点击“保存更改”。

这时再尝试上传媒体文件已经可以上传了,但是仍然不能安装主题或插件,安装主题或插件时仍然显示“无法创建目录”

 

3.    使用ssh工具连接到服务器,进入wordpress的上一级路径,输入:

 

发现wordpress的用户和组都是root.

也就是说不能下载安装主题和插件并不仅仅是因为权限不够(出现无法创建目录的问题人们最直接的反应就是权限不够,但是我尝试过,即使给upgrade、themes和plugins这些文件夹777的权限,仍然无法解决问题,而且还会因为权限过高产生隐患),而是因为执行下载安装主题和插件的用户组是web用户组(名称一般为www)。

所以我们输入:

 

将wordpress所属的用户和组全部改成www.

至此问题已全部解决,可以上传媒体文件,以及安装主题和插件了。

Sublime Text 3安装SFTP插件

作者:荒原之梦

前言:

最近在学习网页设计,陆续接触到了HTML、CSS和JavaScript,写的代码越来越多了,也越来越感觉到将代码上传到服务器上的流程太繁琐了。一开始我是用虚拟主机提供的控制面板下载上传网页代码,后来用FTP工具远程连接了虚拟机主机的FTP服务器,但是整个操作过程依旧不够简洁。这篇文章我将分享一个直接在Sublime Text 3里面连接FTP服务器,只使用Sublime Text 3就完成对远程FTP服务器上文件的下载、修改和上传等操作,提高网页编辑的效率。

1.配置插件安装环境

打开SublimeText3,使用Shift + Ctrl + P打开命令面板

输入:

 

选中输入框下面弹出的

 

稍等一会就会弹出成功安装的提示。

使用Shift + Ctrl + P打开命令面板,输入:

 

选中输入框下面弹出的:

 

稍等一会安装就会完成。

2.配置SFTP插件

使用Shift + Ctrl + P打开命令面板,输入:

 

点击下面弹出的SFTP,等待完成安装。

之后依次打开:

 

这时会看到下面的代码(其他代码没有列出,下面的中文注释是我添加上去的):

 

 

配置完成后保存,就像保存其他文件一样,起一个名字,后缀命名为“.json”,点击保存就可以了。

(注:自动创建的保存路径是C:\Users\Master\AppData\Roaming\Sublime Text 3\Packages\User\sftp_servers)

3.下载并编辑远程FTP服务器上的文件

依次打开

 

出现两个选项,一个是“Add New Server”另一个就是我们刚才配置好的远程FTP服务器。

选择我们刚才配置好的远程FTP服务器,就会列出“Folder actions”和“Up a folder”以及我们在配置文件里输入的远程FTP服务器项目路径下的文件夹和文件。点击之后会出现“Back to list”、“Edit”、“Rename”、“Chmod”、“Delete”选项,可以根据需要选择要进行的操作。编辑完成后,使用“Ctrl + S”组合键就可以将文件保存到远程FTP服务器上了。

HTML学习之制作导航网页

作者:荒原之梦

前言:
今天用HTML写了一个网址导航,源代码如下:

Kali Linux安装中文输入法全纪录

作者:荒原之梦

 前言:

我使用的是英文版的Kali,默认没有安装中文输入法,也没有安装小企鹅(我后来才知道),折腾了很久,现在终于可以在Kali里输入中文了(这篇文章就是在Kali里面用leafpad写的).安装的过程有点曲折,现在整理一下思路,把正确的配置顺序记录下来.

 操作环境:

 Kali Linux 2017.2

补充Kali的国内更新源

终端输入:

 

打开更新源配置文件,将下面的更新源复制到原内容的前面:

 

之后保存退出.

删除包缓存中的所有包(即删除已安装的软件的安装包,这一步不是必须执行,只是为了清理一下硬盘空间)

终端输入:

 

下载系统更新

终端输入:

 

下载过程中会有”yes or no”的询问,如果是在终端中询问,则输入”y”,回车即可,如果是弹出的窗口询问,则用方向键选中”OK”回车即可。

安装更新

如果想更稳定的安装更新,可以使用:

 

如果想在安装更新的时候让系统拥有更多的自主选择权(比如在软件依赖关系发生变化的情况下让系统自主做出处理)可以使用:

 

安装fcitx小企鹅和google拼音输入法

 

注:如果出现软件依赖关系错误,则输入

 

使用默认,之后重新执行安装指令。

安装fcitx小企鹅的GUI界面

apt-get install fcitx-config-gtk2

下载搜狗拼音输入法

下载地址:http://pinyin.sogou.com/linux/?r=pinyin

(输入中文还是用国产输入法更好,第五步安装google输入法的步骤其实主要是为了安装fcitx)

这里需要注意的是,如果你的Kali是64位的就下载X64的安装包,如果是32位的就下载i386的安装包,否则的在安装过程中会报错,无法继续安装(64位的机器安装32位的也会报错,无法安装).

在搜狗输入法安装包所在的文件夹里面右键打开终端,输入:

 

注:如果出现软件依赖关系错误,则输入

 

使用默认,之后重新执行安装指令。

reboot重启

配置中文输入法

打开Fcitx Config Tool

在“Addon”标签栏中选中搜狗输入法后点击“configure”配置

之后在Fcitx Config Tool的Input Method选项卡中

用窗口中的向上箭头将搜狗输入法放置到第一项

Done。

Kali Linux桥接模式配置DNS服务器

作者:荒原之梦

操作环境:

虚拟机操作系统:

Kali Linux 2017.2

虚拟化软件:

VMWare Workstation 14 pro

操作前的准备:

1.在设置里将Kali的上网模式设置成“桥接模式”。

2.阿里公共DNS(官网:http://www.alidns.com/):

 

打开DNS配置文件

输入:

注:这里是用leafpad打开的,也可以使用vi或vim编辑器打开。

将DNS服务器地址填入并保存

将下面两个阿里公共DNS的地址填入原DNS地址的前面:

注:如果放在原DNS地址的后面,则计算机仍会先使用原来的DNS服务器进行解析,如果原DNS服务器存在问题,那么此时可能仍然无法上网。

KaliLinux安装VMWareTools

作者:荒原之梦

操作环境:

虚拟机操作系统:

Kali Linux 2017.2

虚拟化软件:

VMWare workstation 14 pro

一、加载光盘

在VMWare上一次点击“虚拟机->安装VMWare Tools”,加载VMWare Tools的光盘。

二、解压VMwareTools-10.1.15-6627299.tar.gz

双击打开光盘,将里面的VMwareTools-10.1.15-6627299.tar.gz文件复制到桌面。

 

输入

 

解压VMwareTools-10.1.15-6627299.tar.gz

三、进入解压后得到的文件夹vmware-tools-distrib

输入

 

开始安装。

之后使用默认,一路回车即可。

注:由于版本不同,以上文件的名称可能会有变化,请根据自己操作环境的实际情况使用上述命令。