一、前提
笔者的环境:CentOS-7 + LNMP 环境下。
关于LNMP,参考:
LAMP和LNMP的详解_lnmp和lamp_leoliyou的博客-优快云博客
二、问题
新手按照教程建好wordpress后,需要给网站美化,安装主题时会遇到下面的问题:
三、问题原因
https://www.cnblogs.com/chosenone/p/9447166.html
按照该博主的解决办法,也是最简单的,未能解决。
由于 WordPress 在服务器上的目录没有写入权限,而wordpress安装主题或者更新时,企图通过ftp帐号进行更新,所以无法完成安装或更新。按照教程安装的wordpress,服务器上确实没有FTP服务。
# which vsftpd
如果输出有目录,如/usr/sbin/vsftpd,表明安装了vsftpd。
四、解决
在网上看了很多文章,大概就是两种:(1)就是围绕给wordpress添加可执行目录;(2)按照官方的去做FTP。大部分解决是按照(1),极少部分是(2)。做FTP确实比较麻烦,可以先试试(1)。笔者也是先试试(1),之后解决了,主要参考:解决wordpress下载插件,安装失败,无法创建目录问题_寰宇的行者的博客-优快云博客
1、该作者文中提到的default目录,实际应该为wordpress的安装目录,如果找不到安装目录,可以使用:
# find / -name wordpress
2、进入安装目录,查看wordpress文件夹的权限
cd /usr/share/nginx/html
# ls -l wordpress
按照作者的 chown -R www:wwww wordpress ,会出现 chown: invalid user: ‘www:wwww’ 报错,注意到作者使用的是ubuntu系统,关于www:wwww,参考
http://www.piaoyi.org/php/Wordpress-To-perform-the-requested-action.html
所以试了试 chown -R apache:apache wordpress,可以再使用 # ls -l wordpress 检查是否改过来。
之后在wordpress中刷新页面,安装主题和插件,没有弹出FTP登录界面。
笔者之前安装过Apache,后来又按了Nginx,可能没改过来,所以默认是apache,首次按Nginx的应该是www,所以使用www:www,可以都试试。
五、其它方案
如果上述办法仍未解决,笔者觉得下述方法可以参考:
解决wordpress安装主题或插件需要FTP问题_wordpress 安装插件 不用ftp_aliveqf的博客-优快云博客
彻底解决wordpress安装主题或插件需要FTP问题_冬天的旭日的博客-优快云博客
开启FTP服务参考:
Linux 上搭建 FTP 服务 - 知乎 (zhihu.com)