sexta-feira, 29 de junho de 2012

PHP - Erro na Interpretação

Em um servidor apache, caso o php não esteja sendo devidamente interpretado - devido o arquivo php não possuir a diretiva <?php no início - deve-se alterar no arquivo php.ini (normalmente encontrado em /etc ) o parâmetro short_open_tag para On, conforme abaixo:

; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It's been
; recommended for several years that you not use the short tag "short cut" and
; instead to use the full <?php and ?> tag combination. With the wide spread use
; of XML and use of these tags by other languages, the server can become easily
; confused and end up parsing the wrong code in the wrong context. But because
; this short cut has been a feature for such a long time, it's currently still
; supported for backwards compatibility, but we recommend you don't use them.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://www.php.net/manual/en/ini.core.php#ini.short-open-tag
short_open_tag = On

Importante: Após a alteração, o serviço apache (httpd no fedora/CentOS) deverá ser restartado.

Desabilitar o SELINUX

Caso deseje desabilitar o SELINUX (segundo o Wikipedia: "SELinux provê uma política de segurança sobre todos os processos e objetos do sistema baseando suas decisões em etiquetas contendo uma variedade de informações relevantes à segurança. A lógica da política de tomada de decisões é encapsulada dentro de um simples componente conhecido como servidor de segurança ('security server') com uma interface geral de segurança." - http://pt.wikipedia.org/wiki/SELinux) no FEDORA ou no CentOS.

Definitivo:
Alterar o arquivo /etc/selinux/config, mudando o parâmetro SELINUX para disabled. Certifique-se de ter acesso ao arquivo.

Temporário:
No modo root, usar o seguinte comando:
echo 0 > /selinux/enforce

Serviços no Linux

Para iniciar automaticamente alguns serviços (ou mesmo para executar alguns serviços quando do encerramento do sistema) utiliza-se o comando chkconfig, conforme abaixo (lembre-se de executá-lo com a devida permissão de root - sudo)

Para adicionar o serviço: chkconfig --add
Sintaxe:

chkconfig --add <serviço>

<serviço> - Nome do serviço (programa) que será executado.


Para configurar o status do serviço
Sintaxe

chkconfig --runlevel <level0 a level6> <serviço> [on|off]

Onde, runlevel
0 - Halt -> Desliga o Sistema

1 - Mono-tarefa (Single-User Mode) -> Não inicia os daemons (serviços), multi-tarefa
2 - Multi-tarefa (Multi-User Mode) -> Inicia o sistema em modo de texto, multi-tarefa, multi-utilizador
3 - Multi-tarefa com Rede (Multi-User Mode with Network) -> Inicia o sistema em modo de texto, multi-tarefa, multi-utilizador e com suporte de rede
4 - Não usado
5 -  Modo Gráfico (X Window System) -> Runlevel 3 + X Window System. Modo gráfico, multi-tarefa, multi-utilizador e com suporte de rede
6 -  Reboot -> Reinicia o sistema

<serviço> - Nome do serviço (programa) que será executado.

on - Ligado (start)
off - Parado (stop)

Exemplo:

Configurar o serviço do MySQL para start automático no modo multi-tarefa:


chkconfig --add mysqld
chkconfig --level 35 mysqld on

quinta-feira, 28 de junho de 2012

Shell - renomear vários arquivos

Em ambiente Unix-like, para renomear vários arquivos uma boa dica é usar o comando script for com awk.

Sintaxe:
for i in (ls <máscara_arquivos>); do echo $i  | awk '{a=$0; b=a; gsub(".txt",".pl",b); print "mv " a " "b;}' | bash; done

Exemplo:

for i in $(ls *.txt); do echo $i | awk '{a=$0; b=a; gsub(".txt",".pl",b); print "mv " a " "b;}' | bash; done

terça-feira, 26 de junho de 2012

Ubuntu - Atualização/Instalação de Pacotes

Para manter atualizada a distribuição UBUNTU, através do terminal (prompt) use os seguintes comandos, que deverão ser executados com perfil de root (ou seja, deve ser usado o comando sudo):

sudo apt-get update -> Atualiza os repositórios locais da máquina com as informações a respeito de atualizações de pacotes

sudo apt-get upgrade -> Efetua o update dos pacotes

Para simplificar o processo, pode ser executado da seguinte forma:

sudo apt-get update; sudo apt-get upgrade

Para instalar novos pacotes, use o parâmetro Install

sudo apt-get install <pacote>

Exemplo:

sudo apt-get install apache2

Para pesquisar pacotes uso o comando apt-cache com o parâmetro search

sudo apt-cache search <termo>

Exemplo:

sudo apt-cache search mysql

Caso deseje saber mais sobre um pacote use o comando apt-cache com o parâmetro show

sudo apt-cache show <pacote>

Exemplo:

sudo apt-cache show apache2