更新ec2上的wordpress主题

Spe*_*age 18 wordpress amazon-ec2

我在ec2上主持一个wordpress网站,我正试图通过管理界面更新我的主题.它要求我输入Hostname和ftp用户名和密码.是ec2-xxx.compute-1.amazonaws.com:22我的主机名?我尝试使用ec2user和root作为我的ftp用户名,但没有运气.我究竟做错了什么?

Jak*_*ake 44

完全跳过FTP信息,只需更改安装Wordpress的目录结构的权限.

通过SSH

sudo chown -R apache:apache path/to/wordpress
Run Code Online (Sandbox Code Playgroud)
  • sudo确保以root用户身份执行
  • chown将更改目录的所有者
  • -R将使其递归,因此它会更改其中的所有文件和目录
  • apache:apache是user:group

然后是wordpress的路径.可以是/var/www/html/sitename.com,或者如果您导航到安装Wordpress的文件夹,您可以使用句点(.)告诉它更改当前目录.

这将使您无法通过sftp复制文件,因此最好将至少主题目录更改回ec2-user:ec2-user用户和组.

所以这会改回你的ssh/sftp用户:

sudo chown -R ec2-user:ec2-user path/to/wordpress
Run Code Online (Sandbox Code Playgroud)

您可以将文件夹分配给ftp用户和apache组,然后将它们组写为可写.这将允许您ftp进入目录,并允许在Wordpress中自动更新所有内容.

// Set the wp-contents into the apache group and then make files group writable
sudo chgrp -R apache wp-content
sudo chmod -R g+w wp-content
// This makes new files created in wp-content and all of its sub-directories group-writable.
sudo chmod g+s wp-content
Run Code Online (Sandbox Code Playgroud)

然后将此添加到wp-config.php以强制Wordpress在仅应用此wp内容时更新:

define('FS_METHOD', 'direct');
Run Code Online (Sandbox Code Playgroud)

您还可以应用于整个Wordpress安装以自动更新Wordpress而不仅仅是插件/主题.如果你这样做,我建议把你的wp-config.php文件放在你的Wordpress安装上面一个目录,这样你就可以单独锁定它.

编辑:每当我在EC2上遇到权限问题时,我会转到站点根目录,然后粘贴这些行.这些天我将它应用于整个Wordpress安装:

sudo find . -type d -exec chmod 0755 {} \;
sudo find . -type f -exec chmod 0644 {} \;
sudo chown -R ec2-user:apache .
sudo chmod -R g+w .
sudo chmod g+s .
Run Code Online (Sandbox Code Playgroud)

我也在Mac上使用类似的东西.

  • 这次真是万分感谢. (2认同)

小智 18

在你的wp-config.php下面directives添加这一行:

define('FS_METHOD', 'direct');
Run Code Online (Sandbox Code Playgroud)


Tim*_*hen 14

您可以通过ssh执行此操作来解决此问题:

sudo chown -R apache path/to/wordpress

然后

sudo chmod -R 755路径/到/ wordpress

  • 在ubunut中,apache以用户www-data运行.不是用户apache (3认同)

cee*_*yoz 5

你的主机名是ec2-107-20-192-98.compute-1.amazonaws.com.

您的用户名将是您通常用于SFTP到实例的用户名 - 某些实例类型的ec2user,Ubuntu AMI的ubuntu等.EC2通常不使用密码,更喜欢SSH密钥,因此您必须设置密码通过passwd在命令行上执行您的帐户.