Ubuntu系统下WordPress安装权限被拒及命令执行错误问询
解决Ubuntu下WordPress下载解压的权限与命令错误问题
一、先搞定目标目录的写入权限问题
/usr/share/nginx 属于系统级目录,默认只有root用户有写入权限,普通用户直接操作肯定会报Permission denied。这里有两种靠谱的解决方式:
方式1:临时使用sudo执行命令(推荐,更安全)
不需要修改目录权限,只需要在每个需要写入系统目录的命令前加上sudo,让命令以root权限执行。比如创建目录、下载文件、解压都加sudo。
方式2:修改目录的归属(适合长期需要操作这个目录的场景)
如果后续你还要频繁操作这个wp_install/www目录,可以把它的所有者改成你的当前用户:
sudo chown -R $USER:$USER /usr/share/nginx/wp_install/www
或者如果是给Nginx服务用,改成Nginx默认的用户组www-data:
sudo chown -R www-data:www-data /usr/share/nginx/wp_install/www
二、修正下载&解压的命令错误
你之前的wget和tar命令都有参数使用错误,我给你整理了完整的正确步骤:
步骤1:创建目标目录(确保目录层级存在)
注意是小写的-p(大写-P是mkdir的另一个不常用参数):
sudo mkdir -p /usr/share/nginx/wp_install/www
步骤2:用wget下载WordPress压缩包到指定目录
这里要注意:-O参数后面必须跟完整的文件名路径,而不是目录。你之前用-p是错误的,-p是用来下载网页的依赖资源(比如图片、CSS),不是指定下载路径。正确命令:
sudo wget https://wordpress.org/latest.tar.gz -O /usr/share/nginx/wp_install/www/latest.tar.gz
(直接用HTTPS链接,避免301跳转)
步骤3:解压压缩包到目标目录
tar命令的格式是tar [参数] 压缩包路径 -C 目标目录,你之前把目录和压缩包的顺序搞反了,而且没加-C指定解压路径。正确命令:
sudo tar xzf /usr/share/nginx/wp_install/www/latest.tar.gz -C /usr/share/nginx/wp_install/www
解释下参数:
x:执行解压操作z:处理gzip格式的压缩包f:指定要操作的压缩包文件-C:指定解压后文件的存放目录
步骤4:(可选)调整解压后文件的权限
解压后WordPress的文件还是root权限,为了让Nginx能正常读写,建议改成www-data权限:
sudo chown -R www-data:www-data /usr/share/nginx/wp_install/www/wordpress
你之前的错误点复盘
- wget参数混淆:把指定输出文件的
-O和下载页面资源的-p搞混了,导致下载路径错误 - tar命令顺序错误:把目标目录放在了压缩包前面,而且没加
-C参数,导致tar把目录当成了压缩包来读取 - 权限问题:没有用sudo或者修改目录归属,导致普通用户无法写入系统目录
内容的提问来源于stack exchange,提问作者akay
相关产品推荐
相关产品推荐

