I’m hosting a wordpress site on ec2 and I’m trying to update my theme through the admin screen. Its asking me for Hostname and ftp username and password. Is ec2-xxx.compute-1.amazonaws.com:22 my hostname? I tried along with ec2user and root for my ftp username but no luck. What am I doing wrong?
Leave a Reply
You must be logged in to post a comment.
Skip the FTP info altogether and just change the permission of the directory structure where WordPress is installed.
VIA SSH
And then the path to wordpress. Could be /var/www/html/sitename.com or if you navigate to the folder where WordPress is installed, you can use a period (.) to tell it to change the current directory.
This will make is so that you can’t copy files via sftp though, so it is good to change at least the themes directory back to the ec2-user:ec2-user user and group.
So this changes back to your ssh/sftp user:
You can assign the folders to the ftp user and the apache group and then make them group writable as well. This will allow you to ftp into the directory, and allow everything to be auto updated within WordPress.
Then add this to wp-config.php to force WordPress to update when only applying this wp-content:
You can also apply to the whole WordPress install to auto update WordPress and not just plugins/themes. If you do this, I would recommend putting your wp-config.php file one directory above your WordPress install though, so you can lock it down separately.
EDIT: Whenever I am having permission troubles on EC2, I go to site root directory, and paste these lines in. I apply it to the whole WordPress install these days:
I use something similar on my Mac as well.
In your
wp-config.php
underdirectives
add this line:You can simply solve this problem by doing this via ssh:
sudo chown -R apache path/to/wordpress
then
sudo chmod -R 755 path/to/wordpress
Your hostname would be
ec2-107-20-192-98.compute-1.amazonaws.com
.Your username will be the username you use to SFTP to the instance normally – ec2user for some instance types, ubuntu for Ubuntu AMIs, etc. EC2 generally doesn’t use passwords, preferring SSH keys, so you’ll have to set a password for your account by doing
passwd
on the commandline.Try adding FTP credentials to wp-config.php: http://codex.wordpress.org/Editing_wp-config.php and http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
That should make WP admin stop asking for FTP details. But depending on how you’ve set up permissions via the command line, may have to go to the command line to edit files like wp-config.php . And you may not have sufficient permissions to upload and for WP to unzip a theme.
As per other answers, I use SFTP with a server of
ec2-xx-xxx-xx-xx.compute-1.amazonaws.com
username ofec2-user
ec2-107-20-192-98.compute-1.amazonaws.com:22
represents both the hostname and thessh
port. (SSH is normally on port22
, though it can run on any port.)Try just
ec2-107-20-192-98.compute-1.amazonaws.com
in the hostname field.I’m still skeptical of a webpage asking for a username and password. Seems a bit silly to me, since you should just use SFTP to directly upload whatever content you want using your SSH identity key instead of a password.
You could simply use 127.0.0.1 as hostname and check FTP in WordPress ftp settings.
To resume what has been said:
user is the same you actually use to SSH/SFTP
password needs to be set/updated logging in via SSH and typing
sudo passwd your-user-name