Archive for the ‘php’ Category

Instalando memcached de maneira simples no CentOs com CPANEL/WHM

Tuesday, March 8th, 2011

E quem disse que precisa de pânico?

Siga os passos como root:

yum update -y && yum install libevent libevent-devel -y
yum install libevent-devel libevent gcc make -y
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar xvf memcached-1.4.5.tar.gz && cd memcached-1.4.5 && ./configure && make && make install

Inserindo valores no conf:

vim /etc/memcached.conf

Dentro do conf informe:

#Memory a usar
-m 16
# default port
-p 11211
# user to run daemon nobody/apache/www-data
-u nobody
# only listen locally
-l 127.0.0.1

criando scripts de inicialização:

touch /etc/init.d/memcached
dando permissões ao script:
chmod +x /etc/init.d/memcached

Abra o script /etc/init.d/memcached e insira nele:

#!/bin/bash
#
# memcached This shell script takes care of starting and stopping
# standalone memcached.
#
# chkconfig: - 80 12
# description: memcached is a high-performance, distributed memory
# object caching system, generic in nature, but
# intended for use in speeding up dynamic web
# applications by alleviating database load.
# processname: memcached
# config: /etc/memcached.conf
# Source function library.
. /etc/rc.d/init.d/functions
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/memcached
DAEMONBOOTSTRAP=/usr/local/bin/start-memcached
DAEMONCONF=/etc/memcached.conf
NAME=memcached
DESC=memcached
PIDFILE=/var/run/$NAME.pid
[ -x $DAEMON ] || exit 0
[ -x $DAEMONBOOTSTRAP ] || exit 0
RETVAL=0
start() {
echo -n $"Starting $DESC: "
daemon $DAEMONBOOTSTRAP $DAEMONCONF
RETVAL=$?
[ $RETVAL -eq 0 ] && touch $PIDFILE
echo
return $RETVAL
}
stop() {
echo -n $"Shutting down $DESC: "
killproc $NAME
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $PIDFILE
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL

Criando script secundário:
touch /usr/local/bin/start-memcached
Dando permissões ao script:
chmod +x /usr/local/bin/start-memcached

Abra o script /usr/local/bin/start-memcached e dentro dele informe:


#!/usr/bin/perl -w
# start-memcached
# 2003/2004 - Jay Bonci
# This script handles the parsing of the /etc/memcached.conf file
# and was originally created for the Debian distribution.
# Anyone may use this little script under the same terms as
# memcached itself.
use strict;
if ($> != 0 and $< != 0) {
print STDERR "Only root wants to run start-memcached.\n";
exit;
}
my $etcfile = shift || "/etc/memcached.conf";
my $params = [];
my $etchandle;
# This script assumes that memcached is located at /usr/bin/memcached, and
# that the pidfile is writable at /var/run/memcached.pid
my $memcached = "/usr/local/bin/memcached";
my $pidfile = "/var/run/memcached.pid";
# If we don't get a valid logfile parameter in the /etc/memcached.conf file,
# we'll just throw away all of our in-daemon output. We need to re-tie it so
# that non-bash shells will not hang on logout. Thanks to Michael Renner for
# the tip
my $fd_reopened = "/dev/null";
sub handle_logfile {
my ($logfile) = @_;
$fd_reopened = $logfile;
}
sub reopen_logfile {
my ($logfile) = @_;
open *STDERR, ">>$logfile";
open *STDOUT, ">>$logfile";
open *STDIN, ">>/dev/null";
$fd_reopened = $logfile;
}
# This is set up in place here to support other non -[a-z] directives
my $conf_directives = {
"logfile" => \&handle_logfile
};
if (open $etchandle, $etcfile) {
foreach my $line (<$etchandle>) {
$line =~ s/\#.*//go;
$line = join ' ', split ' ', $line;
next unless $line;
next if $line =~ /^\-[dh]/o;
if ($line =~ /^[^\-]/o) {
my ($directive, $arg) = $line =~ /^(.*?)\s+(.*)/;
$conf_directives->{$directive}->($arg);
next;
}
push @$params, $line;
}
}
unshift @$params, "-u root" unless (grep $_ eq '-u', @$params);
$params = join " ", @$params;
if (-e $pidfile) {
open PIDHANDLE, "$pidfile";
my $localpid = ;
close PIDHANDLE;
chomp $localpid;
if (-d "/proc/$localpid") {
print STDERR "memcached is already running.\n";
exit;
} else {
`rm -f $localpid`;
}
}
my $pid = fork();
if ($pid == 0) {
reopen_logfile($fd_reopened);
exec "$memcached $params";
exit(0);
} elsif (open PIDHANDLE,">$pidfile") {
print PIDHANDLE $pid;
close PIDHANDLE;
} else {
print STDERR "Can't write pidfile to $pidfile.\n";
}

Inicie o memcached:
/etc/init.d/memcached restart

Vamos setar o memcached para iniciar com o server:
/sbin/chkconfig memcached on

Agora vamos integrar pecl + memcached (parte do PHP):

wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xvf memcache-2.2.5.tgz && cd memcache-2.2.5 && phpize && ./configure && make && make install

abra o arquivo php.ini global do server e vamos arrumar a muamba:

vim /usr/local/lib/php.ini

Procure pela parte de Extension e informe o seguinte:

extension=memcache.so

Reinicie o apache:

service httpd restart

Pronto, depois disso é so lazer.

Quer conferir?

vim teste.php
Dentro dele informe



php -f test.php | grep “memcache support”

A saída será:

memcache support => enabled

Fonte? Sim, os caras mais pauleiras de hosting que já vi (tirando Softlayer, é claro):

http://sudomakeinstall.com/linux-systems/install-memcached-to-cpanel

Error on backups parallels plesk windows Meu windows apresenta erro no parallels plesk no momento do backup

Monday, June 28th, 2010


Este é o erro que está ocorrendo com você?

Error: Runtime error in pmmcli:
(3, ‘GetDiskFreeSpace’, ‘The system cannot find the path specified.’)
Traceback (most recent call last):
File “C:\Program Files\Parallels\Plesk\admin\share\pmmcli\pmmcli.py”, line 1846, in main
data_action_response, errcode_response, error_message = actions.get(sys.argv[1][2:])(parameters)
File “C:\Program Files\Parallels\Plesk\admin\share\pmmcli\pmmcli.py”, line 1721, in make_dump
return ActionRunner(MakeDumpAction, backup_task_description, None).doActivity()
File “C:\Program Files\Parallels\Plesk\admin\share\pmmcli\pmmcli.py”, line 75, in doActivity
result = self.processor.doActivity()
File “C:\Program Files\Parallels\Plesk\admin\share\pmmcli\pmmcli.py”, line 860, in doActivity
if osutil.free_bytes(local_dump_directory) < (long(disk_space_required) * 1048576):
File “C:\Program Files\Parallels\Plesk\admin\lib\python\osutil.py”, line 188, in free_bytes
sectorsPerCluster, bytesPerSector, numFreeClusters, totalNumClusters = GetDiskFreeSpace(os.path.splitdrive(path)[0] + “\\”)
error: (3, ‘GetDiskFreeSpace’, ‘The system cannot find the path specified.’)

Se é, antes de tentar seu backup, atualize o plesk para uma versão mais recente e o problema deverá estar sanado.

RoundCube Webmail fica tentando enviar ao clicar no envio mas não faz nada

Monday, June 7th, 2010

Se você está tentando enviar emails pelo RoundCube e sabe que o mesmo fica somente apresentando a mensagem “Enviando mensagem…” e não faz nada, tente as soluções abaixo:

1 – Como root use o comando:

/scripts/autorepair net_smtp_fix


(http://www.nerdblog.info/2009/11/04/webmail-no-cpanel-whm-nao-envia-mais-mensagens/)

Caso não resolva ainda podemos aplicar uma solução mais leve:

2 – Verifique se o CSF está instalado em seu servidor, cas0 sim, acesse o csf em seu WHM -> Plugins -> ConfigServer Security&Firewall -> clique em Firewall Configuration e procure por SMTP_ALLOWLOCAL, caso esteja como “0″ coloque “1″, save as configurações e reinicie seu CSF/LFD.

Caso não resolve (muito difícil de não sanar), vamos mergulhar mais fundo no problema, force uma atualização do RoundCube com o comando:

3 – logado como root:

/usr/local/cpanel/bin/update-roundcube –force

Caso ainda assim não alcance o resultado esperado, apele para update geral:

4 – Procure pelo arquivo -> /usr/local/cpanel/base/3rdparty/roundcube/config/main.inc.php, abra-o e edite procure pela linha:

$rcmail_config['smtp_user'] = ‘%u’;

e substitua a mesma por:

$rcmail_config['smtp_user'] = ‘ ‘;

Salve e saia, em seguida tente ver se o roudcube opera como desejado.

5 – Como root execute:

/scripts/upcp –force

Caso resolva, dê um whois neste domínio e envie uma caneca do Ubuntu, Uma camisa do Ubuntu ou uma caixa de bis!

Abraços.

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!

Lamp2: Ubuntu 10.04 APACHE 2 Mysql 5 PHP 5 phpmyadmin (lucid lynx)

Tuesday, May 4th, 2010

Boa noite ALL, é com muita alegria que informo:

Meu PC está com o Lucid Lynx (Ubuntu 10.4).
Este How to que preparei hoje vai ensinar como montar um ambiente de desenvolvimento web para aplicações php que utilizam-se do container apache e do banco de dados mysql.
Um ambiente LAMP2 (apache 2 mysql 5 php 5 e phpmyadmin) é fundamental para quem desenvolve e deseja testar sua app antes de envia-la para web, sem mais, vamos aos passos:

1 – Clique em Aplicativos->Acessórios->Terminal
2 – rode o comando: sudo apt-get install apache2
Este comando serve para instalar o apache 2.
A saída deste comando deverá ser semelhante a esta:

Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Os pacotes extra a seguir serão instalados:
apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
Pacotes sugeridos:
apache2-doc apache2-suexec apache2-suexec-custom
Os NOVOS pacotes a seguir serão instalados:
apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
0 pacotes atualizados, 9 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 3328kB de arquivos.
Depois desta operação, 10,1MB adicionais de espaço em disco serão usados.
Você quer continuar [S/n]? S
0% [Aguardando por cabeçalhos]
Obter:1 http://br.archive.ubuntu.com/ubuntu/ lucid/main libapr1 1.3.8-1build1 [116kB]
Obter:2 http://br.archive.ubuntu.com/ubuntu/ lucid/main libaprutil1 1.3.9+dfsg-3build1 [85,4kB]
Obter:3 http://br.archive.ubuntu.com/ubuntu/ lucid/main libaprutil1-dbd-sqlite3 1.3.9+dfsg-3build1 [27,1kB]
Obter:4 http://br.archive.ubuntu.com/ubuntu/ lucid/main libaprutil1-ldap 1.3.9+dfsg-3build1 [25,1kB]
Obter:5 http://br.archive.ubuntu.com/ubuntu/ lucid/main apache2.2-bin 2.2.14-5ubuntu8 [2622kB]
Obter:6 http://br.archive.ubuntu.com/ubuntu/ lucid/main apache2-utils 2.2.14-5ubuntu8 [159kB]
Obter:7 http://br.archive.ubuntu.com/ubuntu/ lucid/main apache2.2-common 2.2.14-5ubuntu8 [290kB]
Obter:8 http://br.archive.ubuntu.com/ubuntu/ lucid/main apache2-mpm-worker 2.2.14-5ubuntu8 [2364B]
Obter:9 http://br.archive.ubuntu.com/ubuntu/ lucid/main apache2 2.2.14-5ubuntu8 [1482B]
Baixados 3328kB em 40s (81,4kB/s)
Selecionando pacote previamente não selecionado libapr1.
(Lendo banco de dados … 148327 arquivos e diretórios atualmente instalados).
Desempacotando libapr1 (de …/libapr1_1.3.8-1build1_i386.deb) …
Selecionando pacote previamente não selecionado libaprutil1.
Desempacotando libaprutil1 (de …/libaprutil1_1.3.9+dfsg-3build1_i386.deb) …
Selecionando pacote previamente não selecionado libaprutil1-dbd-sqlite3.
Desempacotando libaprutil1-dbd-sqlite3 (de …/libaprutil1-dbd-sqlite3_1.3.9+dfsg-3build1_i386.deb) …
Selecionando pacote previamente não selecionado libaprutil1-ldap.
Desempacotando libaprutil1-ldap (de …/libaprutil1-ldap_1.3.9+dfsg-3build1_i386.deb) …
Selecionando pacote previamente não selecionado apache2.2-bin.
Desempacotando apache2.2-bin (de …/apache2.2-bin_2.2.14-5ubuntu8_i386.deb) …
Selecionando pacote previamente não selecionado apache2-utils.
Desempacotando apache2-utils (de …/apache2-utils_2.2.14-5ubuntu8_i386.deb) …
Selecionando pacote previamente não selecionado apache2.2-common.
Desempacotando apache2.2-common (de …/apache2.2-common_2.2.14-5ubuntu8_i386.deb) …
Selecionando pacote previamente não selecionado apache2-mpm-worker.
Desempacotando apache2-mpm-worker (de …/apache2-mpm-worker_2.2.14-5ubuntu8_i386.deb) …
Selecionando pacote previamente não selecionado apache2.
Desempacotando apache2 (de …/apache2_2.2.14-5ubuntu8_i386.deb) …
Processando gatilhos para man-db …
Processando gatilhos para ufw …
Processando gatilhos para ureadahead …
ureadahead will be reprofiled on next reboot
Configurando libapr1 (1.3.8-1build1) …

Configurando libaprutil1 (1.3.9+dfsg-3build1) ...

Configurando libaprutil1-dbd-sqlite3 (1.3.9+dfsg-3build1) ...
Configurando libaprutil1-ldap (1.3.9+dfsg-3build1) ...
Configurando apache2.2-bin (2.2.14-5ubuntu8) ...
Configurando apache2-utils (2.2.14-5ubuntu8) ...
Configurando apache2.2-common (2.2.14-5ubuntu8) ...
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Enabling module reqtimeout.

Configurando apache2-mpm-worker (2.2.14-5ubuntu8) ...
* Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Configurando apache2 (2.2.14-5ubuntu8) ...

Processando gatilhos para libc-bin ...
ldconfig deferred processing now taking place

Ressalto que usei o gestor de pacotes e habilitei o suporte a pacotes instáveis e também o repositório partner (mais abaixo posto como fazer).

Ainda no console use o comando abaixo:

sudo apt-get install php5 libapache2-mod-php5
Isto servirá para instalar o php5 e ainda integra-lo como DSO no apache (como módulo).
A saída deste comando será semelhante a esta:

Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Os pacotes extra a seguir serão instalados:
apache2-mpm-prefork php5-common
Pacotes sugeridos:
php-pear php5-suhosin
Os pacotes a seguir serão REMOVIDOS:
apache2-mpm-worker
Os NOVOS pacotes a seguir serão instalados:
apache2-mpm-prefork libapache2-mod-php5 php5 php5-common
0 pacotes atualizados, 4 pacotes novos instalados, 1 a serem removidos e 0 não atualizados.
É preciso baixar 3376kB de arquivos.
Depois desta operação, 8790kB adicionais de espaço em disco serão usados.
Você quer continuar [S/n]? S
Obter:1 http://br.archive.ubuntu.com/ubuntu/ lucid/main apache2-mpm-prefork 2.2.14-5ubuntu8 [2422B]
Obter:2 http://br.archive.ubuntu.com/ubuntu/ lucid-proposed/main php5-common 5.3.2-1ubuntu4.1 [541kB]
Obter:3 http://br.archive.ubuntu.com/ubuntu/ lucid-proposed/main libapache2-mod-php5 5.3.2-1ubuntu4.1 [2831kB]
Obter:4 http://br.archive.ubuntu.com/ubuntu/ lucid-proposed/main php5 5.3.2-1ubuntu4.1 [1114B]
Baixados 3376kB em 8s (389kB/s)
dpkg: apache2-mpm-worker: problemas de dependência, mas removendo assim mesmo conforme pedido:
apache2 depende de apache2-mpm-worker (= 2.2.14-5ubuntu8) | apache2-mpm-prefork (= 2.2.14-5ubuntu8) | apache2-mpm-event (= 2.2.14-5ubuntu8) | apache2-mpm-itk (= 2.2.14-5ubuntu8); porém:
Pacote apache2-mpm-worker está para ser removido.
Pacote apache2-mpm-prefork não está instalado.
Pacote apache2-mpm-event não está instalado.
Pacote apache2-mpm-itk não está instalado.
(Lendo banco de dados ... 148902 arquivos e diretórios atualmente instalados).
Removendo apache2-mpm-worker ...
* Stopping web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting [ OK ]
Selecionando pacote previamente não selecionado apache2-mpm-prefork.
(Lendo banco de dados ... 148895 arquivos e diretórios atualmente instalados).
Desempacotando apache2-mpm-prefork (de .../apache2-mpm-prefork_2.2.14-5ubuntu8_i386.deb) ...
Selecionando pacote previamente não selecionado php5-common.
Desempacotando php5-common (de .../php5-common_5.3.2-1ubuntu4.1_i386.deb) ...
Selecionando pacote previamente não selecionado libapache2-mod-php5.
Desempacotando libapache2-mod-php5 (de .../libapache2-mod-php5_5.3.2-1ubuntu4.1_i386.deb) ...
Selecionando pacote previamente não selecionado php5.
Desempacotando php5 (de .../php5_5.3.2-1ubuntu4.1_all.deb) ...
Configurando apache2-mpm-prefork (2.2.14-5ubuntu8) ...
* Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Configurando php5-common (5.3.2-1ubuntu4.1) ...
Configurando libapache2-mod-php5 (5.3.2-1ubuntu4.1) ...

Creating config file /etc/php5/apache2/php.ini with new version
* Reloading web server config apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Configurando php5 (5.3.2-1ubuntu4.1) ...

Já que estamos na metade do caminho o ideal seria dar um restart no apache para garantir que ele leu seu conf.
Use o comando:

sudo /etc/init.d/apache2 restart

A saída deverá ser parecida com:

* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Para garantir que o apache está interpretando códigos php (fazendo uso do interpretador como módulo) podemos editar um arquivo e testa-lo. use o comando abaixo:

sudo vi /var/www/index.php

Dentro deste arquivo informe:

echo 'nerdblog é 10';
?>

escreva : e depois escreva wq! e pressione enter, ficando algo como :wq! , você salvará o arquivo e sairá do vi.
Feito isto acesse o arquivo para ver se a mensagem nerdblog é 10 aparece, caso sim, sucesso total! Do contrário releia este manual!
Este teste pode ser feito em http://localhost/index.php

Para instalar o mysql como servidor de banco de dados devemos usar o seguinte comando:
sudo apt-get install mysql-server
A saída deste comando deverá assemelhar-se com:

Obter:1 http://br.archive.ubuntu.com/ubuntu/ lucid/main mysql-common 5.1.41-3ubuntu12 [97,1kB]
Obter:2 http://br.archive.ubuntu.com/ubuntu/ lucid/main libnet-daemon-perl 0.43-1 [46,9kB]
Obter:3 http://br.archive.ubuntu.com/ubuntu/ lucid/main libplrpc-perl 0.2020-2 [36,0kB]
Obter:4 http://br.archive.ubuntu.com/ubuntu/ lucid/main libdbi-perl 1.609-1build1 [798kB]
Obter:5 http://br.archive.ubuntu.com/ubuntu/ lucid/main libmysqlclient16 5.1.41-3ubuntu12 [1931kB]
Obter:6 http://br.archive.ubuntu.com/ubuntu/ lucid/main libdbd-mysql-perl 4.012-1ubuntu1 [135kB]
Obter:7 http://br.archive.ubuntu.com/ubuntu/ lucid/main mysql-client-core-5.1 5.1.41-3ubuntu12 [176kB]
Obter:8 http://br.archive.ubuntu.com/ubuntu/ lucid/main mysql-client-5.1 5.1.41-3ubuntu12 [8136kB]
Obter:9 http://br.archive.ubuntu.com/ubuntu/ lucid/main mysql-server-core-5.1 5.1.41-3ubuntu12 [4711kB]
Obter:10 http://br.archive.ubuntu.com/ubuntu/ lucid/main mysql-server-5.1 5.1.41-3ubuntu12 [7007kB]
Obter:11 http://br.archive.ubuntu.com/ubuntu/ lucid/main libhtml-template-perl 2.9-1 [65,8kB]
Obter:12 http://br.archive.ubuntu.com/ubuntu/ lucid/main mysql-server 5.1.41-3ubuntu12 [93,0kB]
Baixados 23,2MB em 1min 58s (196kB/s)
Pré-configurando pacotes ...
Selecionando pacote previamente não selecionado mysql-common.
(Lendo banco de dados ... 150463 arquivos e diretórios atualmente instalados).
Desempacotando mysql-common (de .../mysql-common_5.1.41-3ubuntu12_all.deb) ...
Selecionando pacote previamente não selecionado libnet-daemon-perl.
Desempacotando libnet-daemon-perl (de .../libnet-daemon-perl_0.43-1_all.deb) ...
Selecionando pacote previamente não selecionado libplrpc-perl.
Desempacotando libplrpc-perl (de .../libplrpc-perl_0.2020-2_all.deb) ...
Selecionando pacote previamente não selecionado libdbi-perl.
Desempacotando libdbi-perl (de .../libdbi-perl_1.609-1build1_i386.deb) ...
Selecionando pacote previamente não selecionado libmysqlclient16.
Desempacotando libmysqlclient16 (de .../libmysqlclient16_5.1.41-3ubuntu12_i386.deb) ...
Selecionando pacote previamente não selecionado libdbd-mysql-perl.
Desempacotando libdbd-mysql-perl (de .../libdbd-mysql-perl_4.012-1ubuntu1_i386.deb) ...
Selecionando pacote previamente não selecionado mysql-client-core-5.1.
Desempacotando mysql-client-core-5.1 (de .../mysql-client-core-5.1_5.1.41-3ubuntu12_i386.deb) ...
Selecionando pacote previamente não selecionado mysql-client-5.1.
Desempacotando mysql-client-5.1 (de .../mysql-client-5.1_5.1.41-3ubuntu12_i386.deb) ...
Selecionando pacote previamente não selecionado mysql-server-core-5.1.
Desempacotando mysql-server-core-5.1 (de .../mysql-server-core-5.1_5.1.41-3ubuntu12_i386.deb) ...
Processando gatilhos para man-db ...
Configurando mysql-common (5.1.41-3ubuntu12) ...
Selecionando pacote previamente não selecionado mysql-server-5.1.
(Lendo banco de dados ... 150828 arquivos e diretórios atualmente instalados).
Desempacotando mysql-server-5.1 (de .../mysql-server-5.1_5.1.41-3ubuntu12_i386.deb) ...
Selecionando pacote previamente não selecionado libhtml-template-perl.
Desempacotando libhtml-template-perl (de .../libhtml-template-perl_2.9-1_all.deb) ...
Selecionando pacote previamente não selecionado mysql-server.
Desempacotando mysql-server (de .../mysql-server_5.1.41-3ubuntu12_all.deb) ...
Processando gatilhos para ureadahead ...
Processando gatilhos para man-db ...
Configurando libnet-daemon-perl (0.43-1) ...
Configurando libplrpc-perl (0.2020-2) ...
Configurando libdbi-perl (1.609-1build1) ...
Configurando libmysqlclient16 (5.1.41-3ubuntu12) ...

Configurando libdbd-mysql-perl (4.012-1ubuntu1) ...
Configurando mysql-client-core-5.1 (5.1.41-3ubuntu12) ...
Configurando mysql-client-5.1 (5.1.41-3ubuntu12) ...
Configurando mysql-server-core-5.1 (5.1.41-3ubuntu12) ...
Configurando mysql-server-5.1 (5.1.41-3ubuntu12) ...
mysql start/running, process 4808

Configurando libhtml-template-perl (2.9-1) ...
Configurando mysql-server (5.1.41-3ubuntu12) ...
Processando gatilhos para libc-bin ...
ldconfig deferred processing now taking place

--
No meio desse esquema todo serão exibidas janelas que solicitarão a senha de administrador do mysql, semelhantes as imagens abaixo:

Outra tela:

Estas telas pedem para que você dê uma senha para o usuário root do mysql, escolha uma senha ao seu gosto e depois repita a mesma.

Agora iremos integrar o php + apache + mysql + phpmyadmin, para isto precisaremos usar o comando:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

A saída deste comando deverá ser algo mais ou menos parecido com isto aqui:

Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
Os pacotes extra a seguir serão instalados:
dbconfig-common javascript-common libjs-mootools libmcrypt4 libt1-5 php5-gd php5-mcrypt wwwconfig-common
Pacotes sugeridos:
libmcrypt-dev mcrypt postgresql-client apache apache-ssl
Os NOVOS pacotes a seguir serão instalados:
dbconfig-common javascript-common libapache2-mod-auth-mysql libjs-mootools libmcrypt4 libt1-5 php5-gd php5-mcrypt php5-mysql phpmyadmin wwwconfig-common
0 pacotes atualizados, 11 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 5404kB de arquivos.
Depois desta operação, 21,9MB adicionais de espaço em disco serão usados.
Você quer continuar [S/n]? S
Obter:1 http://br.archive.ubuntu.com/ubuntu/ lucid/main dbconfig-common 1.8.44ubuntu1 [474kB]
Obter:2 http://br.archive.ubuntu.com/ubuntu/ lucid/universe wwwconfig-common 0.2.1 [22,8kB]
Obter:3 http://br.archive.ubuntu.com/ubuntu/ lucid/universe javascript-common 7 [3854B]
Obter:4 http://br.archive.ubuntu.com/ubuntu/ lucid/main libapache2-mod-auth-mysql 4.3.9-12ubuntu1 [25,6kB]
Obter:5 http://br.archive.ubuntu.com/ubuntu/ lucid/universe libjs-mootools 1.2.4.0~debian1-1 [248kB]
Obter:6 http://br.archive.ubuntu.com/ubuntu/ lucid/universe libmcrypt4 2.5.8-3.1 [76,1kB]
Obter:7 http://br.archive.ubuntu.com/ubuntu/ lucid/main libt1-5 5.1.2-3build1 [155kB]
Obter:8 http://br.archive.ubuntu.com/ubuntu/ lucid-proposed/main php5-gd 5.3.2-1ubuntu4.1 [34,8kB]
Obter:9 http://br.archive.ubuntu.com/ubuntu/ lucid/universe php5-mcrypt 5.3.2-0ubuntu1 [15,2kB]
Obter:10 http://br.archive.ubuntu.com/ubuntu/ lucid-proposed/main php5-mysql 5.3.2-1ubuntu4.1 [64,2kB]
Obter:11 http://br.archive.ubuntu.com/ubuntu/ lucid/universe phpmyadmin 4:3.3.2-1 [4285kB]
Baixados 5404kB em 45s (118kB/s)
Pré-configurando pacotes ...
Selecionando pacote previamente não selecionado dbconfig-common.
(Lendo banco de dados ... 150920 arquivos e diretórios atualmente instalados).
Desempacotando dbconfig-common (de .../dbconfig-common_1.8.44ubuntu1_all.deb) ...
Selecionando pacote previamente não selecionado wwwconfig-common.
Desempacotando wwwconfig-common (de .../wwwconfig-common_0.2.1_all.deb) ...
Selecionando pacote previamente não selecionado javascript-common.
Desempacotando javascript-common (de .../javascript-common_7_all.deb) ...
Selecionando pacote previamente não selecionado libapache2-mod-auth-mysql.
Desempacotando libapache2-mod-auth-mysql (de .../libapache2-mod-auth-mysql_4.3.9-12ubuntu1_i386.deb) ...
Selecionando pacote previamente não selecionado libjs-mootools.
Desempacotando libjs-mootools (de .../libjs-mootools_1.2.4.0~debian1-1_all.deb) ...
Selecionando pacote previamente não selecionado libmcrypt4.
Desempacotando libmcrypt4 (de .../libmcrypt4_2.5.8-3.1_i386.deb) ...
Selecionando pacote previamente não selecionado libt1-5.
Desempacotando libt1-5 (de .../libt1-5_5.1.2-3build1_i386.deb) ...
Selecionando pacote previamente não selecionado php5-gd.
Desempacotando php5-gd (de .../php5-gd_5.3.2-1ubuntu4.1_i386.deb) ...
Selecionando pacote previamente não selecionado php5-mcrypt.
Desempacotando php5-mcrypt (de .../php5-mcrypt_5.3.2-0ubuntu1_i386.deb) ...
Selecionando pacote previamente não selecionado php5-mysql.
Desempacotando php5-mysql (de .../php5-mysql_5.3.2-1ubuntu4.1_i386.deb) ...
Selecionando pacote previamente não selecionado phpmyadmin.
Desempacotando phpmyadmin (de .../phpmyadmin_4%3a3.3.2-1_all.deb) ...
Processando gatilhos para man-db ...
Processando gatilhos para libapache2-mod-php5 ...
* Reloading web server config apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]
Processando gatilhos para doc-base ...
Processing 26 changed 1 added doc-base file(s)...
Registering documents with scrollkeeper...
Configurando dbconfig-common (1.8.44ubuntu1) ...

Creating config file /etc/dbconfig-common/config with new version

Configurando wwwconfig-common (0.2.1) ...
Configurando javascript-common (7) ...

Configurando libapache2-mod-auth-mysql (4.3.9-12ubuntu1) ...
Configurando libjs-mootools (1.2.4.0~debian1-1) ...
Configurando libmcrypt4 (2.5.8-3.1) ...

Configurando libt1-5 (5.1.2-3build1) ...

Configurando php5-gd (5.3.2-1ubuntu4.1) ...
Configurando php5-mcrypt (5.3.2-0ubuntu1) ...
Configurando php5-mysql (5.3.2-1ubuntu4.1) ...
Configurando phpmyadmin (4:3.3.2-1) ...
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf

Creating config file /etc/dbconfig-common/phpmyadmin.conf with new version

Creating config file /etc/phpmyadmin/config-db.php with new version
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql... done.
dbconfig-common: flushing administrative password
* Reloading web server config apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Processando gatilhos para libc-bin ...
ldconfig deferred processing now taking place

Neste meio tempo uma tela para escolher entre apache e lighttpd aparecerá, escolha apache. Veja:

Na primeira tela escolha OK e dê um tab para confirmar que aceita a opção.

A próxima tela pedirá uma senha de admin para o phpmyadmin, para isto defina algo seu. Veja a tela:

Costumo, após terminar uma instalação de integração como esta utilizar-me de lago, insira as seguintes linhas naquela página index.php usando sudo vim /var/www/index.php
Informe dentro dela o seguinte:

mysql_connect('localhost', 'root', 'suaSENHA') or die(mysql_error());
?>

Acesse http://localhost/index.php

Se nada ocorrer tudo está 100%.

Quando terminar use o comando:
sudo /etc/init.d/apache2 restart

Isto vai fazer o apache reler todos os confs.

Para concluir precisamos levar o phpmyadmin para a pasta web afim de que possamos editar nossos bds. Para isto precisamos copiar o phpmyadmin para dentro do /var/www usando o comando:

cp -rp /usr/share/phpmyadmin /var/www

Sendo assim, para acessar somente precisamos de um http://localhost/phpmyadmin

A parte interessante no quesito repositório vem de um how to bem interessante, veja:
http://www.howtoforge.com/the-perfect-desktop-ubuntu-10.04-lucid-lynx

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

Phpmyadmin: Usuário ou senha incorretos

Monday, April 12th, 2010

Se você está recebendo a mensagem de erro ao tentar entrar no phpmyadmin do Cpanel (incorret user or password) peça para o administrador do servidor atualizar o cpanel usando o comando:

/scripts/upcp –force

Stable, Release, Current e Edge apresentam correção.

Caso isto não resolva veja se o arquivo:

/usr/local/cpanel/base/3rdparty/phpMyAdmin/config.inc.php

Está com as linhas:

$cfgServers[$i]['controluser']
$cfgServers[$i]['controlpass']

comentadas.

Caso sim, descomente.

Abraços galera.

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″

Como modificar o IP principal para envio de emails do POSTFIX

Tuesday, March 23rd, 2010


Independente de usar Debian, Ubuntu, Fedora, Red Hat, Slackware e etc você pode modificar o main ip do postfix de maneira muito simples.

Na grande parte das distribuições o arquivo de configuração fica “escondido” no seguinte caminho:

/etc/postfix/main.cf

Abra-o com o editor que desejar (pode ser nano, vi, vim…) e informe a seguinte linha:

smtp_bind_address = IP.DE.ENVIO.DO.SERVIDOR

Este ip de envio do servidor pode ser seu ip principal ou qualquer outro pertencente ao seu server.

Lembre-se de deixar o SPF com entrada para o ip principal.

Abraços.

Ferramenta para localização física de um internauta por IP – how to find ip

Tuesday, March 16th, 2010

Achei massinha a ferramenta e gostaria muito de compartilhar.
Esta ferramenta tem por finalidade fazer uma localização do ip através do Google.
Se você está tentando localizar a estrutura física de onde vem a conexão de um determinado ip ou está tentando saber qual é o seu ip acesse:

http://whoip.info

Fatal error: Allowed memory size PHP

Saturday, March 13th, 2010

Esse erro é mais comum que feijão com arroz, mas para sanar este cara localize o php.ini do seu servidor e aumente o parâmetro

memory_limit = -1
(-1 indica uso infinito de memória)

Recomendo colocar algo simples como:

memory_limit = 32M

Reinicie o apache e tudo estará sanado -> service httpd restart (em caso de debian e afins /etc/init.d/apache2 restart)

Abraços.

Como corrigir automaticamente permissões inseguras em scripts e pastas de um domínio no linux/whm?

Sunday, February 28th, 2010

Rode os comandos como root:

find /home/*/public_html -type d -exec chmod 755 {} \;
find /home/*/public_html -type f -exec chmod 644 {} \;

Isto fará com que os arquivos possam receber permissões 644 e os diretórios 755.

Abraços.

Localização do PHP.INI em um servidor IIS com painel de controle parallels plesk windows

Thursday, January 28th, 2010

Opa galera, mantendo o rítimo de posts em alta, vamos lá.

Hoje me surgiu uma dúvida simples:

Aonde fica localizado o danado do php.ini em um windows server com painel de controle plesk?

Simples :P

C:\Program Files\Parallels\Plesk\Additional\PleskPHP5\php.ini

Como instalar o CLICK BE, How to install click be no CPANEL/WHM

Friday, November 27th, 2009

Abaixo ensino como instalar o clickbe em um ambiente CPANEL/WHM, siga os passos logando-se como root:

mkdir -p /var/netenberg/click_be/installer/
cd /var/netenberg/click_be/
wget http://www.netenberg.com/files/click_be/free/click_be_installer.bz2
tar -xjpf click_be_installer.bz2
cd /var/netenberg/click_be/installer/
php click_be.php status

pico /var/netenberg/click_be/settings/private_settings.ini
pico /var/netenberg/click_be/settings/public_settings.ini
cd /var/netenberg/click_be/installer
php click_be.php install

Nos arquivos INI procure deixar de acordo com seu server, ou seja, Se suexec estiver on, na linha de suexec diga On, se o Open_Basedir tiver on no server, diga On e assim por diante. Tome cuidado com maiúsculas e minúsculas (o trosso é case sensitive).

Em tese, é isto aqui:

/var/netenberg/click_be/settings/private_settings.ini
wget -> O caminho do wget (cuidado com o bug da Netenberg em cima do wget)

/var/netenberg/click_be/settings/public_settings.ini
Others -> User_Name (não mexa)
Others -> Group_Name (não mexa)
suEXEC -> Status (ajuste caso esteja ON)

—————–

Com os passos acima tudo deve ficar ok, mas abaixo complemento com mais informações:

Normal Update:
cd /var/netenberg/click_be/installer
php click_be.php update

Forced Update:
cd /var/netenberg/click_be/installer
php click_be.php update force

Run a cron job for automatic updates:
cd /var/netenberg/click_be/installer
php click_be.php cron install

Remove the cron job for automatic updates:
cd /var/netenberg/click_be/installer
php click_be.php cron uninstall

Part IV – How to install sites

cd /var/netenberg/click_be/installer
php click_be.php sites install $USER $GROUP $HOME $WWW $DOMAIN $DIRECTORY
$USER = name of the user
$GROUP = name of the group
$HOME = home directory (trailing slash is absolutely neccessary)
$WWW = www (public_html) directory (trailing slash is absolutely neccessary)
$DOMAIN = domain name
$DIRECTORY = the directory where you want to install it (optional)

Example:

Code:
cd /var/netenberg/click_be/installer
php click_be.php sites install joe joe /home/joe/ /home/joe/public_html/ joesdomain.com site/new/

This will install the site at http://joesdomain.com/site/new/

Code:
cd /var/netenberg/click_be/installer
php click_be.php sites install user user /home/user/ /var/www/html/ user.com

This will install the site at http://user.com/

If you leave the $DIRECTORY variable as empty, the site will be installed in the root (http://joesdomain.com/)

How to login?
It is simple, just use your FTP Username and Password.

Alternatively, you can create a file called demo.php inside the folder $WWW/.click_be/:
The contents of demo.php should be as follows:
<?php
$Username = ‘user’ ;
$Password = ‘pass’ ;
?>
Now you can login with “user” as your username and “pass” as your password.
A demo installation of Click Be! does not need FTP login data (and in the final version it will not send out any emails, ie Newsletter).

Part V – How to uninstall sites?

cd /var/netenberg/click_be/installer
php click_be.php sites uninstall $USER $DOMAIN $DIRECTORY
$USER = name of the user
$DIRECTORY = the directory where you had installed it

Part VI – Help Me! I still do not understand!

cd /var/netenberg/click_be/installer
php click_be.php usage

Aonde customizo ou localizo os arquivos do clickbe para poder caracterizar segundo minha empresa ou segundo meu site

Friday, November 27th, 2009

Galera, o click_be! baseia-se em templates para gerir sua parte administrativa e sua parte externa (de uso dos clientes de hospedagem), neste caso, para editar tudo que for necessário para caracterização do seu layout (ao seu gosto) acesse:

/var/netenberg/click_be/click_be/templates/admin/custom/images
/var/netenberg/click_be/click_be/templates/admin/default/includes/header.tpl

Pronto! Edite e caracterize ao seu gosto!

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.

PHP 5.2.11 LIBERADO! Cpanel Já fez barulho quanto a isto hein!

Saturday, September 19th, 2009

Galera, para quem gosta de manter-se atualizado, a Zend (pai do php) lançou juntamente com a equipe de desenvolvimento o php 5.2.11. Vale a pena o update devido a quantidade de bugs corrigidos.

http://www.php.net

Para os usuários de cpanel o easyapache já está liberando disponibilizando junto ao whm, vide:
http://changelog.cpanel.net/?treeview=easyapache

embedded by Embedded Video

Download Video