Originalmente postei esta pergunta no StackOverflow, mas estou começando a pensar que é mais uma questão de servidor.
Instalei o ProFTPd em uma instância do EC2 executando o Ubuntu 10.10. Eu gerenciei meu arquivo proftpd.conf, bem como minhas permissões de servidor para poder conectar e fazer upload / mover arquivos usando FTP remotamente usando o Filezilla e no próprio servidor ao conectar-se ao 127.0.0.1.
O problema que estou encontrando é quando tento enviar / instalar um arquivo usando a interface do Joomla.
Dou ao Joomla as mesmas informações de login que dou ao Filezilla, e a conexão é feita da mesma maneira. O arquivo ftp.log realmente mostra que o Joomla é capaz de acessar o servidor:
localhost UNKNOWN nobody [17/Jan/2011:14:09:17 +0000] "USER ftpuser" 331 -
localhost UNKNOWN ftpuser [17/Jan/2011:14:09:17 +0000] "PASS (hidden)" 230 -
localhost UNKNOWN ftpuser [17/Jan/2011:14:09:17 +0000] "PASV" 227 -
localhost UNKNOWN ftpuser [17/Jan/2011:14:09:17 +0000] "TYPE I" 200 -
localhost UNKNOWN ftpuser [17/Jan/2011:14:09:17 +0000] "STOR /directory/store/location/file.zip" 550 -
Mas falha ao tentar o comando STOR. Eu tracei o problema no código do Joomla para o módulo FTP do PHP. O código (com minhas instruções de rastreamento adicionadas):
if (@ftp_put($this->_conn, $remote, $local, $mode) === false) {
echo "\n FTP PUT failed.";
echo "\n Remote: $remote ; Local: $local ; Mode: $mode - Either ASCII: ".FTP_ASCII." or Binary: ".FTP_BINARY;
echo "\n The user: ".exec("whoami");
JError::raiseWarning('35', 'JFTP::store: Bad response' );
return false;
}
Saída de rastreio:
FTP PUT failed.
Remote: /directory/store/location/file.zip ; Local: /tmp/phpwuccp4 ; Mode: 2 - Either >ASCII: 1 or Binary: 2
The user: www-data
E no caso de você estar curioso, aqui está um exemplo do log FTP ao usar o Filezilla:
my_client_ip UNKNOWN nobody [17/Jan/2011:16:45:55 +0000] "USER ftpuser" 331 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:45:55 +0000] "PASS (hidden)" 230 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:45:55 +0000] "OPTS UTF8 ON" - -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:45:55 +0000] "PWD" 257 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:45:55 +0000] "TYPE I" 200 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:45:55 +0000] "PASV" 227 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:45:55 +0000] "MLSD" 226 3405
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:06 +0000] "CWD location" 250 3405
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:06 +0000] "PWD" 257 3405
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:06 +0000] "PASV" 227 3405
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:07 +0000] "MLSD" 226 3757
my_client_ip UNKNOWN nobody [17/Jan/2011:16:46:37 +0000] "USER ftpuser" 331 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:37 +0000] "PASS (hidden)" 230 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:37 +0000] "OPTS UTF8 ON" - -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:37 +0000] "CWD /location" 250 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:37 +0000] "PWD" 257 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:37 +0000] "TYPE I" 200 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:37 +0000] "PASV" 227 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:39 +0000] "STOR file.zip" 226 125317
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:39 +0000] "PASV" 227 -
my_client_ip UNKNOWN ftpuser [17/Jan/2011:16:46:39 +0000] "MLSD" 226 497