Archive for the ‘debian’ Category

Como forçar inicialização do zoneminder

Tuesday, January 31st, 2012

Bem, se você quer forçar (dar start) no zoneminder de forma simples coloque no rc.local a seguinte instrução (antes do exit 0 ):

 

/usr/local/bin/zmpkg.pl start

 

Isso vai forçar o status start do zoneminder para ficar como start ;) .

E quando o replace do Mysql me Abandonar o Perl vai me Salvar ;)

Tuesday, January 31st, 2012

Para se salvar com uma alternativa ao comando replace (oriundo do mysql) use:

perl -pi -w -e ‘s/COISA_QUE_QUERO_SUBSTITUIR/COISA_QUE_QUERO_ADD/g;’ arquivo_que_quero_mudar

Pronto!

Use of uninitialized value in string ne at /usr/sbin/ddclient

Thursday, October 6th, 2011

Para sanar essa parada acessem:

http://www.appunix.com.br/howto/linux/use-of-uninitialized-value-in-string-ne-at-usrsbinddclient-line-1973/

 

Ispconfig 2: how to create a park domain – como deixar um domínio acessar o conteúdo do outro como park no ispconfig

Monday, June 7th, 2010

Uma das coisas mais interessantes no IspConfig é sua capacidade de permitir customizações em tudo que você possa imaginar. Aproveitando esta “boquinha” vamos fazer algo diferente.
Parkear domínios no Parallels Plesk e no Whm/CPanel é coisa fácil, pois tudo é automatizado, mas isto não quer dizer que o bom e velho vim (ou qualquer OUTRO EDITOR) não entre em ação.

Para isto, precisamos logar-nos como root no servidor aonde iremos parkear domínios, e devemos (antes de mais nada) fazer backup do arquivo de configuração do apache, sendo assim use o comando:

cp -rp /etc/httpd/conf/httpd.conf /root/httpd.conf.OLD


Temos então um arquivo garantido para que, em qualquer eventualidade sirva para consulta ou possivelmente correção do arquivo mais recente.

Entremos no arquivo de configuração:

vim /etc/httpd/conf/httpd.conf

Vá para o final do arquivo e localize exatamente este trecho:


Options ExecCGI -Indexes
AllowOverride None
AllowOverride Indexes AuthConfig Limit FileInfo
Order allow,deny
Allow from all

Deny from all

Feito isto, o que devemos fazer é simples.
Sabendo-se que o ISPConfig lê um outro arquivo com os vhosts dos usuários web, devemos antecipar nossa configuração de maneira que a linha do ispconfig fique abaixo do nosso vhost.

Acima da linha com a informação:

Include /etc/httpd/conf/vhosts/Vhosts_ispconfig.conf

Devemos fazer algo assim:

ServerName www.nomedodominioparkeado.com:80
ServerAdmin webmaster@dominiodestino.com.br
DocumentRoot /var/www/web100/web
ServerAlias dominiodestino.com.br
DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
Alias /cgi-bin/ /var/www/web100/cgi-bin/
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
ErrorLog /var/www/web100/log/error.log
AddType application/x-httpd-php .php .php3 .php4 .php5
php_admin_flag safe_mode On
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alias /stats “/var/www/web100/web/webalizer”
Alias /error/ “/var/www/web100/web/error/”
ErrorDocument 400 /error/invalidSyntax.html
ErrorDocument 401 /error/authorizationRequired.html
ErrorDocument 403 /error/forbidden.html
ErrorDocument 404 /error/fileNotFound.html
ErrorDocument 405 /error/methodNotAllowed.html
ErrorDocument 500 /error/internalServerError.html
ErrorDocument 503 /error/overloaded.html
AliasMatch ^/~([^/]+)(/(.*))? /var/www/web100/user/$1/web/$3
AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web100/user/$1/web/$3

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]

Perceba que no começo falei XXX.XXX.XXX.XXX, isto refere-se ao ip do seu dedicado (shared ip dos domínios :P )

Por este vhost pegue a coisa em cheio.

A charada está nas linhas:

ServerName www.nomedodominioparkeado.com:80
ServerAdmin webmaster@dominiodestino.com.br
DocumentRoot /var/www/web100/web
ServerAlias dominiodestino.com.br

1 – indica o parkeamento
2 – email do main domain
3 – arquivos web de onde o parkeamento vai ler assim que o internauta acessar a página www.nomedodominioparkeado.com
4 – indica o destino do parkeamento, ou seja, ao acessar www.nomedodominioparkeado.com a pessoa na realidade acessa dominiodestino.com.br, porém tendo no cabeçalho o nome www.nomedodominioparkeado.com (url de entrada no navegador)


OBS: CASO O ARTIGO NÃO EXIBA AS TAGS DO APACHE, POR FAVOR VERIFIQUEM JUNTO AO ARQUIVO /ETC/HTTPD/CONF/HTTPD.CONF.

Abraços e espero ter contribuído com um dia feliz para nós… lol.
bye!

RoundCube não está permitindo excluir mensagens. Pastas Trash, Send e Junk (lixeira, enviados e rascunho) não aparecem

Friday, May 21st, 2010

Se você não consegue ver as pastas do RoundCube “seus problemas SE ACABARAM-SE”.
O bendito, em sua versão stable (quase 100% stable) está com uma linda opção em off (FALSE).

Na pasta …roundcube/config/main.inc.php (se for no ispconfig: /home/admispconfig/ispconfig/web/roundcubemail/config/main.inc.php)
Apresentará este array aqui:

// automatically create the above listed default folders on login
$rcmail_config['create_default_folders'] = FALSE;

Salve seu dia assim:

$rcmail_config['create_default_folders'] = TRUE;

Pronto :D

Roundcube fixed!

create user output file. Command output: procmail: Error while writing to /var/mail…

Friday, May 21st, 2010

create user output file. Command output: procmail: Error while writing to /var/mail…

Se esta é a mensagem de erro que vem no outlook que de quem está enviando um email para um destinatário que usa postfix seus problemas “SE ACABARAM-SE”.

Entre no console e como root e digite:

postconf -e 'mailbox_size_limit = 0'

Provavelmente é a quota ferrada e este comando te tira da forca :D .

Sistemas afetados: Debian, Ubuntu (lucid lynx, karmic…), Centos 5.5, Centos 5.4…

Mais que uma distribuição: Ubuntu é uma paixão!

Tuesday, May 18th, 2010

Por estes dias estive trocando idéias com um amigo meu (dooguinha) que também adora Gnu/Linux, sobre qual distribuição usar, visto que estava com Windows XP em meu desktop pessoal e precisava de algo mais enriquecedor em termos de conhecimento (mexer com registro de Windows para remover falhas não é muito proveitoso, rsrsrs).

Resolvi voltar a utilizar-me do Ubuntu.

Antes quero expor alguns problemas que enfrentei antes desta escolha:

1 – Na tentativa de usar o OPENSUSE eu não poderia deixar de comentar da podridão que é em termos de velocidade de update nos repositórios do Opensuse, sem contar o drama que é para achar uma configuração avançada – resumo -> mv opensuse_my_desk /dev/null (apesar da excelente instalação em um hd ide de 320gb, e detecção de maneira louvável com ênfase em hardware),

2 – Na tentativa de usar o Fedora, o que mais me chamou atenção foi o boot todo voltado para arquitetura sata, ou seja, seu boot fica todo duro no /sbin/loader… Quem diria… o foguete ainda nem saiu do forno e já me deixou sem um minuto sequer desejoso em utiliza-lo. Sabe qual foi o fim? mv fedora_my_desk /dev/null,

3 – Na tentativa de usar o CentOS como desktop eu volto no ponto 2 e vivo o mesmo drama… mv centos_my_desk /dev/null.

Confesso que deixei o Ubuntu como sendo a última alternativa. Isto ocorreu devido um teste um pouco frustrado de utilizar-me da 10.04 em meu modesto desktop. Achei lento no uso, porém rápido no boot, e de maneira precipitada não lembrei que os repositórios estavam lotados graças a quantidade de fãs que esta distribuição faz a cada lançamento.

Decidi então subir manualmente o desktop, afim de obter algum “exclarecimento” no quesito velocidade de S.O., optei pela 9.10 subindo para Lucid. Abaixo segue um screen mostrando o primeiro ponto forte do Ubuntu aos meus olhos:


Após update, cheguei na Lucid e modifiquei os botões de janelas para a direita, afinal de contas de livre o mac só tem a escolha de compra do usuário!

Quer apontar os botões para o lado direito? Use:

gconftool-2 --type string --set "/apps/metacity/general/button_layout" "menu:minimize,maximize,close"

E para que isto se aplique a todos os users faça:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set "/apps/metacity/general/button_layout" "menu:minimize,maximize,close"

Ambos comandos pedem autorização para rodar, aplique a senha do root e pronto!

Por fim vai um print do meu desktop :D (ainda nem terminei minhas customizações, mas gostei das tonalidades).

O dia de testes na penúltima utilização do Ubuntu foi quando criei o tutorial do LAMP2 no Lucid Lynx.

Ah, o problema somente será o espaço para o Slackware 13.1. Estou um pouco triste por que se continuar curtindo meu Ubuntu terminarei abandonando meu slackzinho :( .

Abraços e boa noite ALL!

Regras bacanas do Mod_Security 2 (apache 2)

Sunday, May 2nd, 2010

Olá ALL,

Uma coisa comum para combater uso indevido de cgi é impedir o uso de cgi (perl) em um servidor de hospedagem de sites compartilhada, mas nem sempre dá para impedir o uso.
Então uma das formas de contornar o uso indevido é aplicar regras do mod_security do apache afim de que possamos filtrar o máximo de requisições e ainda por cima ganhar com segurança.
Antemão quero salientar que uma das pragas mais comuns da web é o DM.CGI, esse carinha faz um estrago grandinho com spam, podendo levar um servidor para as mais conceituadas rbls. Como resolver?

No WHM, como root, siga para o último menu (PLUGINS) e procure pelo Mod Security.
CLique nele, dentro dele clique em Edit Configuration.
Dentro dela adicione as seguintes linhas:

SecRule REQUEST_URI “dm.cgi”
SecRule REQUEST_URI “dark.cgi”
SecRule REQUEST_URI “udp.pl”
SecRule REQUEST_BODY|REQUEST_URI “\.cgi\?m\=state”
SecRule REQUEST_BODY|REQUEST_URI “cgi\?m\=snd”
SecRule REQUEST_BODY|REQUEST_URI “cgi\?m\=icfg”
SecRule REQUEST_BODY|REQUEST_URI “\.pl\?m\=state”
SecRule REQUEST_BODY|REQUEST_URI “pl\?m\=snd”
SecRule REQUEST_BODY|REQUEST_URI “pl\?m\=icfg”

Isto irá salvar sua pele!

fonte: http://www.forumcpanel.com.br/index.php?showtopic=8608&hl=secrule

Lista de funções para desabilitar em um ambiente CPANEL de Hospedagem de Sites compartilhada

Monday, April 5th, 2010


Bem, se você quer mais segurança em um ambiente compartilhado você precisará de ajustar seu php.ini global (/usr/local/lib/php.ini) em seu servidor de hospedagem compartilhada afim de prevenir ataques usando recursos avançados do php.

Como faremos isto?

Procure pela linha disable_functions =

e depois do ‘=’ aplique as seguintes funções:

dl, system, exec, shell_exec, chown, chgrp, escapeshellcmd, putenv, popen, pclose, passthru, proc_open, proc_get_status, proc_nice, proc_close, proc_terminate, posix_ctermid, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname

Talvez você precisará do shell_exec para o caso do Fantástico Deluxe.
Avalie se vale a pena deixar esta função ativa e prossiga :D

Para tristeza do meu coração: Apache será vendida

Thursday, April 1st, 2010


Senhores, para minha total tristeza a Apache será vendida.
O que será dos amantes deste projeto?

vide:

http://blogs.apache.org/foundation/date/20100401

post_max_size uma informação a mais na hora de aumentar o UPLOAD no php.ini

Wednesday, March 31st, 2010


Olá ALL,
As vezes erramos quando somente aumentamos diretivas do PHP visando upload, tais como:

max_execution_time,
upload_max_filesize,
e até mempory_limit.

Elas até que estão corretas, assim como max_execution_time, só que os forms que enviam dados (refiro-me a arquivos), fazem envio de arquivos pelo método post.
Sendo assim, se quisermos um upload de 96M em um servidor rodando php precisamos colocar no php.ini a informação de qual o tamanho máximo de envio de dados pelo POST.
A saída então seria:

post_max_size = 96M

Isto dentro do PHP.INI.

Pronto, após ajustes o apache deverá ser reiniciado.

Abraços galera!

Como mudar o Charset para aplicações WEB com apache e php

Tuesday, March 30th, 2010


Na realidade esse tutorial é algo bem simples que mostra como ajustar o charset de uma aplicação que atualmente opera em UTF-8.
É simples e rápido, veja as formas:

Um exemplo para uso do ISO 8859-1 dentro do .htaccess:

AddDefaultCharset iso-8859-1

Um exemplo para uso do ISO 8859-1 dentro de um arquivo php.ini:

default_charset = “ISO-8859-1″

Smtp Error: The Following Recipients Failed: SMTP Error: The following recipients failed

Friday, March 26th, 2010

Bem, se você usa o GOOGLE APPS e está tentando enviar um email de dentro de um servidor com POSTFIX e o mesmo não envia nada e ainda apresenta o erro do título, nada de pânico, o que ocorre:

1 – Email vai sair do servidor mas antes lê a lista de hosts locais dentro do arquivo /etc/postfix/main.cf na linha:
mydestination
2 – Quando o domínio tenta enviar para o outro domínio que provavelmente está citado ali, pimba! Fala que o destinatário falhou por não existir.

Como corrigir?

Remova o domínio do destinatário dali e seja feliz!

max_allowed_packet PHPBB ou erro em qualquer aplicação PHP ou não PHP

Saturday, March 13th, 2010

Outro erro muito comum é este aí.
Considero um erro de fácil correção, bastando somente que você abra o arquivo my.cnf (no caso de pasta root) e my.cnf dentro do /etc e informe ou substitua a seguinte linha:

max_allowed_packet = 1G

Caso já tenha algum valor, aumente-o.
Este erro ocorre por limitação no tamanho do pacote no processo de querys do mysql.
Ajuste-o e tudo estará resolvido.

;)

Abraços.

exim4 rejected RCPT relay not permitted

Thursday, March 11th, 2010

Para sanar isto tenha certeza de alguns pontos:

1 – que a zona de dns tem um mx configurado LOCALMENTE,
2 – este tutorial foi executado no debian 5,
3 – este tutorial usou exim-heavy.

No arquivo /etc/exim4/update-exim4.conf.conf tenha certeza de que a linha linha abaixo terá a configuração que mostrarei:

dc_relay_nets=’127.0.0.1;IP_REAL_de_Pessoa_externa_tentando_enviar;IP_REAL’

Separe os ips por vírgula caso necessite de ips os quais são EXTERNOS, ou seja, pessoas conectando apra enviar emails.

como listar a memória do cumputador ou placa-mãe no linux how to list memory or motherboard pc or server on console

Wednesday, February 24th, 2010

Tá, isso aí é dúvida de muuuuuuita gente, mas é algo simples.
As vezes precisamos fazer perícias para saber se uma aplicação/daemon será compatível com nossa estrutura de dispositivos (arquitetura, fsb, chipset e etc), e para isto precisamos de informações beeeeem detalhadas.
Abaixo descrevo alguns comandos que acho bacana:

lspci
Este comando lhe dá um detalhe bem legal sobre dispositivos pci em seu pc.
Em um pc simples a saída fica mais ou menos assim:

00:00.0 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. P4M800 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge
00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc. KM400/KN400/P4M800 [S3 UniChrome] (rev 01)

Para informações beeem detalhadas use lspci -vv
(use os camandos como root).

lshw
Este comando é muito amigável e lhe dá um resumo bem bombado sobre seu hardware (memória, cpu e etc).
Em alguns casos ele consegue informar a frequência da memória (isto mesmo, ddr 1066 por exemplo).
Esse comando (na minha opinião) deve ser usado da seguinte forma:

lshw | more

O pipe “|” + more serve para paginar a saída de maneira que você possa ver pausadamente.

A saída deste comando é beeem legal, veja um pedacinho da saída falando de memória:

*-memory:0
description: System Memory
physical id: 40
slot: System board or motherboard
size: 4GiB
*-bank:0
description: DIMM 667 MHz (1.5 ns)
product: None
vendor: None
physical id: 0
serial: None
slot: DIMM_B1
size: 2GiB
width: 64 bits
clock: 667MHz (1.5ns)

Legal né?

Arquivo cpuinfo
Essa é uma das formas mais simples de saber que flags seu processador tem, qual velocidade dele, memória cache (L1, L2…) e etc.
Use da seguinte forma:

cat /proc/cpuinfo
A saída deste comando deve sair parecida com esta:

processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Pentium(R) 4 CPU 3.40GHz
stepping : 10
cpu MHz : 3400.425
cache size : 2048 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe lm constant_tsc up pni monitor ds_cpl est cid cx16 xtpr lahf_lm
bogomips : 6805.08

Legal!

arquivo devices
Esse é um meio muito resumido e particularmente não gosto muito, mas segue a dica:
cat /proc/devices

Mostra os dispositivos resumidamente (no estilo lsmod).

Arquivo meminfo
Este arquivo lhe informa memória com um pouco mais de detalhes:
cat /proc/meminfo

Comando dmesg
Esse comando é muito legal, precisa somente de um extrinha:
use-o com o more!

dmesg | more

Normalmente a saída é enorme.
O comando dmesg dá um resumo do startup do sistema operacional lgnu/linux, assim como detalha em um rápido processo as coisas boas e ruins que estão ocorrendo com o sistema. (MUITO ÚTIL).
Erros de boot, erros de kernel, dispositivos desconhecidos e etc!

dmidecode
O comando dmidecode é um monstro. Esse comando dá todos os detalhes de hardware (isto mesmo, informe até o modelo da placa-mãe).
Utilize-o da seguinte forma:

dmidecode | more

Um pouco da saída:

System Information
Manufacturer: MICRO-STAR INTERNATIONAL CO., LTD
Product Name: MS-7071
Version: 1.00
Serial Number:
UUID: Not Present
Wake-up Type: Power Switch

Esse comando é uma mãe! Isto mesmo, muito bom para saber as informações detalhadas de uma motherboard, sem contar que você pode colher as informações de chipset e modelo da placa-mãe, podendo assim até consultar informações direto do fabricante.

Abraços a todos e espero que este post tenha sido útil.

error 134 from storage engine

Tuesday, November 17th, 2009

Para corrigir isto restaure seu banco de dados.

Caso seja myisam a Engine, use o comando (após parar o mysql):

myisamchk -r -o -f /var/lib/mysql/MEU_BANCO/*.MYI

Isto deverá sanar.

Abraços.

Como atualizar o Ubuntu Server para subir de versão

Monday, November 16th, 2009

Olá, se você está tentando subir a versão do ubuntu tente usar o seguinte comando:

# sudo do-release-upgrade

Caso não consiga use o comando abaixo:

# sudo do-release-upgrade -d

Como descobrir a versão do seu ubuntu (ou outras distros)

Monday, November 16th, 2009

Use o comando abaixo:

lsb_release -a

EM um teste no ubuntu ele me exibiu:

root@netserver:/etc# lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 8.04.3 LTS
Release:    8.04
Codename:    hardy

Abraços

Colocando Timezone (corriginfo Timezone) para não se ferrar com horário de verão

Wednesday, October 21st, 2009

Entra no php.ini global do server (/usr/lib/php.ini) e informa isso:

date.timezone = America/Fortaleza

OU, caso a conta tenha um php.ini customizado informe isto acima e tudo ficará filé!

Abraços.