Esses dias precisei migrar o Elgg que tenho instalado e depois de uma procura no site de documentação da comunidade do Elgg encontrei um tutorial ensinando a migrar, vou colocar aqui o que precisei fazer para concluir a migração, qualquer duvida ou sugestão é só comentar.
Não irei abordar passos de como fazer backup do seu site e do banco, apenas o que será necessário para que funcione no outro servidor.
Primeiro envie seu backup para o novo servidor, envie tanto a pasta com o Elgg como também a pasta DATA.
Após ser colocado as pastas nos seus devidos diretorios no novo servidor altere o arquivo settings.php que se encontra na pasta “elgg/engine/settings.php
Altere as linhas que estão em negrito
/** * The database username * * @global string $CONFIG->dbuser * @name $CONFIG->dbuser */ $CONFIG->dbuser = 'usuario_do_banco'; /** * The database password * * @global string $CONFIG->dbpass */ $CONFIG->dbpass = 'senha_do_banco'; /** * The database name * * @global string $CONFIG->dbname */ $CONFIG->dbname = 'banco'; /** * The database host. * * For most installations, this is 'localhost' * * @global string $CONFIG->dbhost */ $CONFIG->dbhost = 'localhost'; /** * The database prefix * * This prefix will be appended to all Elgg tables. If you're sharing * a database with other applications, use a database prefix to namespace tables * in order to avoid table name collisions. * * @global string $CONFIG->dbprefix */ $CONFIG->dbprefix = 'prefixo_das_tabelas_';
Agora é preciso alterar algumas tabelas no banco do Elgg
Altere as linhas em negrito.
Alterar diretorio principal
UPDATE `elgg_datalists` SET `value` = "/var/www/elgg/" WHERE `name` = "path";
Alterar diretorio DATA
UPDATE `elgg_datalists` SET `value` = "/var/www/elgg_data/" WHERE `name` = "dataroot";
Alterar url de acesso
UPDATE `elgg_sites_entity` SET `url` = "http://elgg.dominio.com";
Alterar o diretorio de filestore data (Altere apenas o primeiro diretorio)
UPDATE elgg_metastrings set string = '/var/www/elgg_data/' WHERE id = (SELECT value_id from elgg_metadata where name_id = (SELECT * FROM (SELECT id FROM elgg_metastrings WHERE string = 'filestore::dir_root') as ms2) LIMIT 1) ;
Se tiver feito alguma configuração do arquivos .htaccess alterar essas configurações para o novo servidor.
E por ultimo de um upgrade para renovar o cache. http://elgg.dominio.com/upgrade.php
OBS¹ No meu caso nos testes que fiz para funcionar precisei colocar uma configuração para rewrite no httpd.conf, Apos essa configuração funcionou.
<Directory "/var/www/html">Options Indexes FollowSymLinks AllowOverride None AllowOverride All Order allow,deny Allow from all </Directory>
OBS² Para o http://elgg.dominio.com/upgrade.php funcionar precisei adicionar o timezone no php.inim busque por “timezone” dentro do seu php.ini
; Defines the default timezone used by the date functions ; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone = America/Sao_Paulo
Referancias:
http://php.net/manual/en/function.date-default-timezone-set.php
http://php.net/manual/en/timezones.php
http://docs.elgg.org/wiki/DuplicateInstallation



































