title: WordPress on EC2 Requires FTP Credentials to Install Plugins
body: <p>I just installed WordPress 3.5.2 on an Amazon Linux AMI EC2 micro instance. When I tried to install the wp-db-backup plugin (Plugins -> Add New), I was prompted for a Hostname, FTP Username, FTP Password and Connection Type.</p>
  
  <p>The answer to <a href="https://stackoverflow.com/questions/8686125/update-wordpress-theme-on-ec2">this question</a> recommended that <code>passwd</code> be done at the command line. I'm not clear on exactly what I'm doing at the commandline based on <a href="https://stackoverflow.com/questions/8686125/update-wordpress-theme-on-ec2">this answer</a>. So I Googled and found an article on <a href="http://wiki.vpslink.com/Configuring_vsftpd_for_secure_connections_%28TLS/SSL/SFTP%29" rel="noreferrer">configuring vsftpd</a>. The article discusses the generation of a certificate on the server and I'm wondering whether I'm going off track here by following this article. I'm using CentOS 6.3 locally, and an Amazon Linux AMI on EC2). </p>
  
  <p>Any assistance/guidance will be appreciated. Thanks in advance. </p>
  
  <hr>
  
  <p><strong>EDIT</strong>    </p>
  
  <hr>
  
  <p>I was reading the <a href="http://codex.wordpress.org/Editing_wp-config.php" rel="noreferrer">WordPress Codex</a> which discussed ftp constants for the wp-config.php file. It recommended that I define as few of these constants as needed to correct my update issues. I'm I on the right track here (especially security-wise)? I've listed the constants below. Any guidance will be appreciated.</p>
  
  <pre><code>define('FS_METHOD', 'ftpext');
  define('FTP_BASE', '/path/to/wordpress/');
  define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
  define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
  define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
  define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
  define('FTP_USER', 'username');
  define('FTP_PASS', 'password');
  define('FTP_HOST', 'ftp.example.org');
  define('FTP_SSL', false);
  </code></pre>