Arquivo da categoria: Linux Ubuntu

Como instalar a extensão php-xml no PHP 7.x em ambiente Linux Ubuntu?

Ao tentar instalar o PHPBB em meu servidor, me deparei com a seguinte mensagem:

PHP XML/DOM support
In order for phpBB to function correctly, the PHP XML/DOM extension needs to be available.

Como fazer para instalar a biblioteca mencionada na mensagem acima? Execute o comando para instalar o módulo:

sudo apt-get install php7.0-xml

Agora atualize o Apache:

sudo /etc/init.d/apache2 restart

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Modificando seus arquivos de hosts

Algumas vezes precisamos fazer com que nossa máquina seja acessada como determinado domínio, principalmente na fase de desenvolvimento de um site, antes de colocá-lo em produção, para que possamos simular o seu correto funcionamento.

Para fazer isso, edite seu arquivo de hosts:

  • c:\Windows\System32\Drivers\etc\hosts (Windows)
  • /etc/hosts (Linux)

No windows você verá o seguinte conteúdo:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

127.0.0.1	localhost

Adicione no final do arquivo a linha “127.0.0.1 www.seudominio.com.br”:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

127.0.0.1	localhost
127.0.0.1	www.seudominio.com.br

Salve, e a partir de agora, quando você digitar o endereço http://www.seudominio.com.br em seu navegador, abrirá o site que está hospedado no servidor web localizado em sua máquina.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como saber onde o MySQL está armazenando os dados de seus bancos de dados?

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:

  • Instale um novo servidor MySQL e teste para saber se ele está inicializando
  • Crie no novo servidor o banco de dados desejado (ele deve ter o nome exato do banco de dados antigo
  • Pare o servidor do MySQL
  • Sobrescreva a pasta que o MySQL criou para este banco utilizando a pasta contida dentro do arquivo de backup.
  • Inicialize o novo servidor MySQL
  • Banco de dados restaurado!
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como utilizar o comando CHMOD no Linux Ubuntu

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”.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como reinicializar o MySQL no Linux Ubuntu

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
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Compactando e descompactando arquivos no linux

Hoje, estava precisando fazer backup de alguns arquivos que estavam no servidor, o problema que transferir arquivos via FTP pode ser muito demorado, principalmente se você tiver um site que gere arquivos de cache. A melhor forma é compactar o diretório e transferir apenas um arquivo. Assim você terá que utilizar os comandos abaixo.

Para compactar um diretório e todo o seu conteúdo (arquivos e subdiretórios), utilize o comando:

tar -zcvf diretorio.tar.gz diretorio

Lembre-se antes de remover o arquivo *.tar.gz, caso já exista um arquivo com o mesmo nome dará erro. Para fazer esta remoção, utilize o comando RM. Exemplo:

rm diretorio.tar.gz

Para descompactar o arquivo criado (restaurar o backup) utilize o comando:

tar -zxvf diretorio.tar.gz

Se, por acaso, ao tentar modificar alguns dos parâmetros e ao visualizar a pasta restaurada todos os arquivos tiverem sido susbstituidos por arquivos com extensão gz (compactados com gzip), fique calmo, apenas utilize o comando abaixo:

gunzip -rv /diretorio

Ele irá descompactar cada um dos arquivos dentro de sua pasta e subpastas, restaurando-os assim ao formato original.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como remover um diretório não-vazio no linux?

Ao tentar deletar uma pasta (que não está vazia) utilizando o comando tradicional, o linux acusa o erro “rmdir: failed to remove ‘directory name’: Directory not empty”. Para remover pastas que não estão vazias você precisará utilizar o comando “RM”

Atenção: cuidado ao utilizar este comando, ele irá deletar um diretório e todos os arquivos e subdiretórios contidos nele. caso utilize este comando na raiz do seu sistema, ele irá deletar todos os dados.

rm –R NOMEDODIRETÓRIO
Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como converter arquivo texto do formato Unix para o DOS?

Estava gerando uns arquivos no Mainframe para serem utilizados como arquivos de carga em um outro sistema, quando tive o seguinte problema: percebi que o formato dos arquivos gerados não era o do MS-DOS, mas do UNIX (aquele mesmo que não faz a quebra de linha utilizando CR+LF, mas somente o LF).

Então como solucionar este problema? Como fazer esta conversão?

O sistema que utiliza estes arquivos apenas reconhece se estiver no formato DOS. Procurando na internet achei o Freeware Tofrodos, ele é composto por dois executáveis:

  • fromdos.exe – converte os arquivos do formato DOS para o formato UNIX;
  • todos.exe – converte os arquivos do formato Unix para o formato DOS.

Para utilizá-los basta arrastar e soltar o arquivo a ser convertido em cima do executável (fromdos.exe ou todos.exe) e pronto! caso você esteja interessado em realizar esta conversão em poucos arquivos, existe também sites que realizam essa conversao online.

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Como melhorar a segurança de um servidor Apache desabilitando as funções ServerTokens e ServerSignature

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

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).

Instalando o Nginx via aptitude no Ubuntu

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?

Natural de Salvador-BA, é graduado em Analise de Sistemas pela Universidade Católica do Salvador (UCSal, 2003), e Especialista em Engenharia de Software pela Universidade Salvador (2010).