#virtualização
Testes com a VM WordPress da rPath.
(Eu comecei a falar sobre isso em outro post. Estou movendo para cá para melhor organizar).
WordPress Appliance da rPath:
http://www.rpath.org/project/wp/release?id=5678
O site diz que a versão mais recente é a 2.2.1. Mas quando você roda ela se identifica claramente como 2.1.2.
Problemas:
1) Não obtém IP no meu roteador se estiver configurado para bridge. Tenho que configurar para host-only
2) Não consigo fazer o FTP funcionar. Máquina recusa conexão sem sequer pedir a senha.
3)Instalação do wordpress é acessível, mas está um horror (aparentemente não carrega a stylesheet) e não me dá acesso ao painel de administração (dá página inexistente).
4) Administração web da VM funciona, mas não tem instruções sobre como acessar os arquivos da VM remotamente;
5) Tela de login instrui a consultar este endereço para "maiores" informações:
http://wiki.rpath.com/wiki/Appliance:WordPress_Appliance
Mas não há informação alguma lá.
O problema "2" parece ter sido causado por uma loucura qualquer no meu firewall.
Consegui fazer responder por SFTP, mas não autenticava. Então segui instruções encontradas em outra página da rPath para definir uma senha para o usuário "web" e usei esse usuário para acessar por SFTP.
As instruções estão aqui:
http://wiki.rpath.com/wiki/Appliance:WordPressMU_Appliance
Parecem ser para outro Appliance, o nome é diferente e as características não conferem. Mas algumas instruções funcionam.
Porém o usuário "web" é limitado. Não consigo editar arquivos nem alterar permissões enquanto usando-o. Então pelo prompt eu defini uma senha para o usuário "root" (por default, não há) e passei a usar o root para acesso SFTP. Isso agilizou enormemente o trabalho.
Quando eu acesso o servidor via browser, sou redirecionado para a página em:
/srv/www/wordpress
Mas quando eu tento acessar /wp-admin/ dá página inexistente, apesar de estar lá.
Aparentemente eu estou sendo redirecionado para:
/srv/www/html/wp-admin/
Para mim isso só pode ser um bug de quem montou a VM. Não entendo como eu poderia ter provocado isso.
Só que para consertar isso é preciso dar um "clear" nas tabelas do WordPress e essa VM aparentemente veio sem phpMyAdmin. Não sei fazer isso "na munheca".
Tive que aprender a instalar o phpMyAdmin. É fácil quando se tem algumas noções. Com o phpMyAdmin funcionando, consegui consertar o problema de configuração relatado no outro post. Bastou acessar a database "wordpress" e dar um drop em todas as tabelas. Ao tentar acessar o wordpress novamente fui automaticamente apresentado à configuração básica.
Consertei o redirecionamento indo para
/etc/httpd/conf.d/
e anexei uma extensão ".bak" a esses dois arquivos:
wordpress-appliance.conf
php_wordpress.conf
Depois de reiniciar, o servidor parou de redirecionar os acessos à raiz (/srv/www/html/) para /srv/www/wordpress
Ter configurado a VM para "host-only" aparentemente está bloqueando o acesso à internet para o wordpress. Tentar pegar um tema ou plugin dá o erro:
"An Unexpected HTTP Error occurred during the API request."
Configurei de volta para bridge, mas após ficar um longo tempo parado com a mensagem "Determining IP information for ETH0", falha.
Desliguei meu roteador DI-524 e conectei meu PC diretamente ao switch com meu modem Speedstream. Funcionou na primeira tentativa. Porém surgiu outro problema. Toda vez que acesso o servidor pelo novo IP (192.168.254.4/wordpress), o browser está tentando também obter arquivos no IP anterior (192.168.111.123/wordpress) que não existe mais. Estou investigando.
O problema foi causado pelo próprio wordpress. O URL do site fica "hardcoded" no banco de dados na tabela "wp_options", registro "siteurl".
Estava como: http://192.168.111.128/wordpress
Usando o PhpMyAdmin mudei para: http://192.168.254.4/wordpress
e dei um SHIFT-Refresh no browser. Problema resolvido. Incluindo o primeiro: já posso acessar a internet e instalar temas/plugins pela VM.
Tenho que manter isso em mente, pois se a máquina virtual ganhar outro IP (troca de roteador, por exemplo), o problema voltará.
Encontrei outro problema. Ao tentar instalar um novo tema, dá a seguinte mensagem no final do processo:
"To perform the requested action, connection information is required."
Nesta página encontrei toda a informação necessária sobre o problema:
http://www.chrisabernethy.com/why-wordpress-asks-connection-info/
Como parte dos meus testes eu apagara a instalação default do wordpress. Ao reinstalar, o owner dos arquivos passou a ser root, mas a VM espera que o owner seja "apache".
Baseado nas informações do link acima, e como eu já havia bagunçado as permissões, defini este procedimento:
*reconfigurei para usar o tema default (importante, ou dará problemas após apagamento)
*fiz um backup de wp-config.php
*deletei todo o diretório wordpress (isso apaga temas instalados. Por isso você dever configurar o padrão antes)
*copiei via SFTP uma nova instalação "limpa" do wordpress
*Copiei de volta o arquivo wp-config.php
Neste ponto o blog já está funcionando, porém vai dar o erro ao instalar temas e plugins. Para resolver, basta fazer o seguinte logado como root no prompt da VM em html/:
chown -R apache wordpress
Isso vai mudar o owner de todos os arquivos sob wordpress/, recursivamente, para "apache".
o comando "ls -l" mostra o owner de cada arquivo.
Problema resolvido, mas outro foi criado. Por algum motivo maluco, o problema com o endereço http://192.168.111.128/ voltou, apesar do banco de dados estar apontando para http://192.168.254.4/
Tentei consertar deletando (eu devia ter tentado um clear antes) a tabela "wp_options". Péssima idéia. O wordpress não conseguiu mais acessar o banco de dados, nem conseguiu reparar a si mesmo. Precisei dar um clear em todas as outras tabelas para a rotina de configuração básica ser ativada. Feito isso e depois importando novamente os posts, o problema parece resolvido. Mas eu não gosto desse tipo de "solução". Preciso descobrir onde o wordpress estava pegando o endereço errado.