Meu cliente me pediu para mover seu site do Wordpress de um servidor compartilhado para a AWS.
A instância do AWS EC2 é o Ubuntu 14.04 LTS com o PHP 5.5.9 com o MySQL 5.5.38.
Servidor antigo tem PHP 5.4.30 e MySQL 5.5.42.
Não há PHPMyAdmin e CPanel instalados na instância do AWS. Então eu tenho que fazer tudo usando comandos.
Na instância do AWS, tenho acesso ao sudo como usuário do 'ubuntu'. Eu criei um novo usuário do Linux 'wpsite' e criei o diretório home dele. Eu consegui transferir todos os arquivos & amp; diretórios do servidor antigo para /home/wpsite/public_html
.
Então eu criei um novo banco de dados 'WP_DB', e um novo usuário do MySQL 'wp_db_user' e concedeu todo o acesso ao WP_DB.
CREATE USER wp_db_user@localhost IDENTIFIED BY 'thepwd';
GRANT ALL PRIVILEGES ON WP_DB.* TO wp_db_user@localhost IDENTIFIED BY 'thepwd';
FLUSH PRIVILEGES;
Agora, eu mudei o arquivo wp-config.php
define('DB_NAME', 'WP_DB');
define('DB_USER', 'wp_db_user');
define('DB_PASSWORD', 'thepwd');
define('DB_HOST', 'localhost');
Depois, restaurei o antigo banco de dados WP do sql dump, usando a conta wp_db_user (também tentei com o usuário root). Em seguida, criei uma configuração de vhost no Apache2 com nome de servidor & amp; alias e caminho do diretório e o A-Record alterado do domínio para a instância do AWS. Até este ponto, tudo correu bem. Não houve erro.
Quando eu visito o site, o site wordpress é exibido, mas o problema é que certos conteúdos estão faltando incluindo o título do site. Eu dei uma olhada no arquivo de log de erros e esse erro está listado em várias linhas:
PHP Warning: mysql_query(): Access Denied for user 'ubuntu'@'localhost' (using password: no) in /home/wpsite/public_html/wp-content/themes/enterprise-pro/front-page.php on line 5
e a linha mencionada contém o seguinte código
$sel_home = mysql_query("select * from admin_home_page");
Então copiei arquivos WP no meu Ubuntu 14.04 LTS local (64 bits), Apache / 2.4.7, PHP 5.5.9 e MySQL 5.5.41. Eu vejo o seguinte erro no arquivo de log.
PHP Warning: mysql_query(): Access Denied for user 'www-data'@'localhost' (using password: no) in /home/wpsite/public_html/wp-content/themes/enterprise-pro/front-page.php on line 5
Aponte para observar que o usuário mencionado na mensagem de erro não é um usuário do MySQL . É um usuário do Linux. Não consigo identificar se é um problema com o Wordpress, a versão do PHP, o MySQL ou as permissões do Linux. Eu não sou pro no Linux também. Eu fiz tudo lendo de blogs e outras perguntas do Stackoverflow.
O site está funcionando bem no servidor antigo. Também posso efetuar login na seção administrativa do WP no novo servidor, que usa o mesmo banco de dados sem nenhum erro. Alguém poderia me dizer o que estou fazendo de errado e o que poderia ser feito para resolver esse problema?
Obrigado antecipadamente.
Editar : Para mais testes, eu copiei arquivos WP no meu Win 7 (64 bits), Apache / 2.2.22 (Win32), PHP / 5.3.8 e MySQL 5.1.37. Tudo funcionou. Nenhum erro no arquivo de log.