Execute o comando:
php -i | grep "Loaded Configuration File"
Execute o comando:
php -i | grep "Loaded Configuration File"
Depois de uma atualização desastrosa no Ubuntu, o MySQL não consegue mais iniciar. Então, a única forma de resolver este problema é reinstalando o linux. Mas como salvar as informações armazenadas no banco de dados se não é possível inicializar o servidor MySQL para fazer o backup dos dados? Bem, as sugestões encontradas na Internet é para que seja feito o backup dos dados (copiando os arquivos datafiles) e depois sobrescrevessem os dados de uma nova instalação.
Mas onde estão os dados do MySQL?
A solução é simples:
Encontre o arquivo “my.cnf” (ou my.ini, se você estiver usando o Windows), utilizando o comando find do linux:
find / -name my.cnf
Em servidores que utilizam a configuração padrão, este arquivo se encontra na pasta “/etc/mysql/my.cnf”. Visualize o conteúdo deste arquivo, utilizando o comando cat:
cat /etc/mysql/my.cnf
Dentro do conteúdo deste arquivo, procure a variável “datadir”, o valor atribuído a ela é onde se localiza os dados armazenados (ex: /var/lib/mysql).
Pronto! Para copiar o arquivo é simples, modifique as permissões desta pasta inteira (recursivamente), compacte-a e mova para a pasta que você consiga acessar pelo cliente FTP (por exemplo, a pasta padrão do servidor web). Mude a permissão deste arquivo para conseguir copiar os dados pelo FTP.
chmod -R 777 /var/lib/mysql tar -zcvf /var/lib/mysqldata.tar.gz /var/lib/mysql mv /var/lib/mysqldata.tar.gz /var/www chmod 777 /var/www/mysqldata.tar.gz
Agora, caso deseje restaurar o banco de dados é só seguir os seguintes passos:
O comando CHMOD é utilizado para modificar permissões de arquivos e pastas no sistema operacional Linux.
Exemplo para dar todas as permissões a um arquivo:
chmod 777 /var/backup.zip
O comando ajustará as permissões do arquivo backup.zip, que está na pasta /var/ para 777.
É possível modificar a permissão de diversos arquivos ao mesmo tempo usando wildcards:
chmod 777 *.zip
O comando acima irá modificar as permissões de todos os arquivos *.zip na pasta atual para 777.
Existe ainda uma forma util de utilizar o comando chmod, que é mudando a permissão de uma pasta e de todos os arquivos e subpastas que tem dentro dela:
chmod -R 777 /var/www
Utilizando este comando acima, tudo que estiver dentro da pasta “/var/www” passará a ter permissão “777”.
Depois de editar qualquer arquivo de configuração do MySQL não conseguimos observar as modificações funcionando pois é necessário que o mesmo seja reinicializado para que as novas configurações entrem em vigor. Para fazer isso, no Ubuntu, digite na linha de comando:
/etc/init.d/mysql start /etc/init.d/mysql stop
Ou somente:
/etc/init.d/mysql restart
Se os comandos não funcionarem, tente navegar através dos diretório e então reinicie o servidor:
cd cd /etc/init.d mysql restart
Se você é usuário do Linux, o arquivo poderá ser encontrado em diversos locais:
/etc/php.ini /etc/php/php.ini /etc/php5/php.ini /usr/bin/php5/bin/php.ini
Se estiver utilizando a versão Linux Ubuntu 9+ com Apache 2 e PHP 5, provavelmente o arquivo estará no endereço:
/etc/php5/apache2/php.ini
caso não esteja em nenhum destes locais, você ainda poderá localizar o arquivo utilizando o comando find:
find / -name php.ini
Mas, para localizar o arquivo php.ini eu ainda prefiro a forma mais trabalhosa, porém mais confiável: No pasta raiz do seu site, adicione um script php contento o comando phpinfo(); apenas. E localize o item “Loaded Configuration File”.
Quando um servidor Apache gera uma página ou uma mensagem de erro, algumas informações importantes sobre a versão e outros detalhes de implementação do sistema são exibido no cabeçalho de resposta do servidor. Como por exemplo:
Server: Apache/1.3.37 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a PHP-CGI/0.1b
Server: Apache/2.0.53 (Ubuntu) PHP/4.3.10-10ubuntu4 Server at xx.xx.xx.xx Port 80
Estas informações irão expor o servidor à alguma brecha conhecida para aquela versão utilizada.
Para garantir que o servidor Apache não irá divulgar estas informações para todos. É necessário modificar o valor das propriedades ServerTokes e ServerSignature no arquivo httpd.conf, para os valores abaixo:
ServerSignature Off
ServerTokens Prod
Pronto, agora resta apenas reiniciar o servidor Apache para que as modificações entrem em vigor. A partir de agora a informação exibida será apenas: Apache Server at www.seudomínio.com.br Port 80
Desde que comecei a ler sobre o Nginx fiquei curioso para utilizá-lo substituindo o Apache nos servidores das minhas aplicações. O apache é muito bom, porém, algumas vezes parece utilizar mais memória do que deveria.
Para quem não sabe, o Nginx é um servidor web muito popular, e muito leve, que é utilizado na maioria das vezes para servir arquivos estáticos como imagens, arquivos HTML. Porém, ele também pode ser utilizado junto ao PHP para servir aplicações completas.
A sua instalação utilizando o Aptitude é muito simples. Digite na linha de comando do terminal:
sudo aptitude install nginx
Reinicie o servidor e pronto! Incrível, não?
Se você tem um servidor Linux, e precisa atualizar o sistema operacional Ubuntu, provavelmente não poderá atualizá-lo utilizando a ajuda de uma interface gráfica, terá que executar comandos em modo terminal:
Assim, para realizar tal tarefa, execute os comandos:
sudo apt-get update sudo apt-get -y upgrade sudo apt-get -y autoremove sudo apt-get -y autoclean
você também poderá executar todos os comandos de uma só vez, para isso concatene-os utilizando “&&”:
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y autoremove && sudo apt-get -y autoclean
Obs: Caso sua distro esteja desatualizada, ao executar este comando poderá aparecer na tela algo como:
Ign http://archive.ubuntu.com raring-updates/universe Sources/DiffIndex Err http://security.ubuntu.com raring-security/main Sources 404 Not Found [IP: 91.189.91.15 80] Err http://security.ubuntu.com raring-security/universe Sources 404 Not Found [IP: 91.189.91.15 80] Err http://security.ubuntu.com raring-security/main amd64 Packages 404 Not Found [IP: 91.189.91.15 80] Ign http://archive.ubuntu.com raring-updates/main amd64 Packages/DiffIndex Err http://security.ubuntu.com raring-security/universe amd64 Packages 404 Not Found [IP: 91.189.91.15 80] W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/main/source/Sources 404 Not Found [IP: 91.189.91.15 80] W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/universe/source/Sources 404 Not Found [IP: 91.189.91.15 80] W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/main/binary-amd64/Packages 404 Not Found [IP: 91.189.91.15 80] W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.91.15 80]
Para solucionar este problema é necessário editar o arquivo /etc/apt/sources.list e atualizar todas as urls security.ubuntu.com and archive.ubuntu.com para apontar para old-releases.ubuntu.com, utilizando o comando abaixo:
sudo sed -i.bak -r 's/(archive|security).ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
Agora pode executar o código de atualização novamente.
Depois de editar qualquer arquivo de configuração do Apache não conseguimos observar as modificações funcionando pois é necessário que o mesmo seja reinicializado para que as novas configurações entrem em vigor. Para fazer isso, no Ubuntu, digite na linha de comando:
sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 start
Ou somente:
sudo /etc/init.d/apache2 restart