Posts Tagged ‘apache’

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

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!

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

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″

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 fazer com que o cpanel seja acessível por outra url exceto /cpanel? ex: /meupainel

Wednesday, March 10th, 2010

Em /usr/local/apache/conf/httpd.conf procure a linha abaixo:
ScriptAliasMatch ^/?controlpanel/?$ /usr/local/cpanel/cgi-sys/redirect.cgi

Abaixo dela, cole:
ScriptAliasMatch ^/?painell/?$ /usr/local/cpanel/cgi-sys/redirect.cgi

Salve e feche o arquivo e execute o comando abaixo:
/usr/local/cpanel/bin/apache_conf_distiller –update;/usr/local/cpanel/bin/build_apache_conf

Após, reinicie o httpd:
service httpd restart

Fonte:

http://www.forumcpanel.com.br/index.php?showtopic=8912&pid=40102&st=0&#entry40102

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

Como impedir que sites tenham seus diretórios listados no cpanel how to turn off browser directory

Friday, March 13th, 2009

Nada de pânico, se você quer desabilitar a listagem de diretórios em seu servidor siga os passos abaixo:

Service Configuration -> Apache Configuration -> Global Configuration -> LOCALIZE Directory ‘/’ Options e desmarque -> Indexes.

Para testar basta criar um diretório em um site e colocar nele um arquivo chamado eu.txt (por exemplo), abra o domínio simulando uma listagem, por exemplo:

www.libphp.net/lib/

Se estivesse dentro de lib (o txt) ele apresentaria erro na leitura (forbidden)

Deus abençoe você!

Habilitando ou Desabilitando o HTACCESS

Monday, March 2nd, 2009

As vezes precisamos desabilitar o htaccess de algum servidor, ou habilitar, isto ocorre em serviços customizados para uma finalidade diferente de páginas comuns, como é o caso do centova, um painel para gestão de serviços de streaming. Para isto, se você deseja habilitar o htaccess nas contas procure o trecho abaixo no arquivo de configuração do apache, em meu caso, como era apache rodando sob CentOs eu fui em /etc/httpd/conf/httpd.conf

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be “All”, “None”, or any combination of the keywords:
# Options FileInfo AuthConfig Limit

AllowOverride All

Setando para All temos habilitado, setando para None temos desabilitado.

É isto!

Minhas URLs amigáveis pararam de funcionar depois que o cpanel atualizou ou meu apache foi atualizado

Thursday, January 8th, 2009

Como falei, nada de pânico… o little ajuda você (lol)… vamos ao que interessa.

Terreno

Se você teve um daqueles updates malditos que não justificam tantos problemas oriundos de tais feitos e o pior, ninguém entende por que o php está do mesmo jeito que antes, htacess intacto, a versão do apache manteve-se ou subiu e as diretivas do php.ini continuam as mesmas, e para completar o show de “bombas”, as urls amigáveis de seu site pararam como em um “toque de mágica”.

Ao combate

A única coisa que você vai habilitar e que o apache “fez o favor de desabilitar” é a funcionalidade multiviews, ele ajuda na interpretação de urls.

Instalando php mais novo em servidores CentOs, Red Hat ou Fedora

Monday, December 8th, 2008

É comum que tenhamos um servidor feito sem recursos de painéis de controle como Plesk ou Cpanel que tornam a versão do php muito antiga… porém, em observação, precisava de uma versão tunada do php para poder programar feliz e contente!

O Centos Veio com a versão 5.1.6, que nada tinha de tão importante (o que precisava), então, abaixo segue how to para subir para uma versão 5.2.x:

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

yum --enablerepo=remi update php

pronto, depois disso só precisa verificar:

php -v

PHP 5.2.6 (cli) (built: May  7 2008 00:50:43)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

Como ocultar informações de versão do apache em consultas?

Tuesday, October 21st, 2008

Acesse nano /usr/local/apache/conf/httpd.conf e insira:

ServerSignature Off (abaixo desta)
ServerTokens ProductOnly

Fedora 9: Apache 2 PHP 5 Mysql 5 phpmyadmin – lamp2

Saturday, August 23rd, 2008

Terreno

Necessidade de instalação do LAMP2 em meu PC. Ter uma internet bacana, ou “bacaninha”.

Partindo para cima

Primeiros passos (creio que você já atulizou seu fedora 9 sempre devem ser checagens simples. Rode os comandos abaixo como root:

yum -y install httpd php mysql mysql-server php-mysql

Esse comando aí instala o apache 2.2.8, php 5.2.5 e mysql 5.0.51a e já integra os serviços entre si.

Para fazer com que os serviços rodem automaticamente, usemos os comandos abaixo:

/sbin/chkconfig httpd on
/sbin/chkconfig –add mysqld
/sbin/chkconfig mysqld on
Para startar os serviços use os comandos:

/sbin/service httpd start
/sbin/service mysqld start

Para ajustar o password do mysql use o comando:

mysqladmin -u root password ‘new-password’
Para “adicionar” alguma segurança ao mysql, use:

mysql -u root -p
mysql> DROP DATABASE test;
mysql> DELETE FROM mysql.user WHERE user = ”;
mysql> FLUSH PRIVILEGES;

Para ver se rodou legal, vá em /var/www/html/ e crie um arquivo index.php e coloque o conteúdo abaixo dentro dele:

<?php
phpinfo();
?>

Para testar, abra o firefox e coloque o endereço –> http://localhost/
Se for exibida a diretiva completa do php.ini, MARAVILHA, se não, volte para o início deste tutorial.
Agora o mr PHPMYAdmin, para ajusta-lo use o comando abaixo:

yum install phpmyadmin
Feito isso, copie o diretório da forma que eu farei:

cp -r /usr/share/phpMyAdmin/ /var/www/html/

Pronto, o phpmyadmin pode ser acessado da seguinte forma em seu Firefox (eu espero que seja ele):

http://localhost/phpMyAdmin/

Espero ter ajudado e algo, talvez possa ser útil.

Modificando manualmente o arquivo httpd.conf em apache-cpanel do WHM

Monday, June 2nd, 2008

Qualquer edição manual no arquivo de configuração do apache, em servidores CPanel, necessita de dois comandos para preservar as modificacões:

/usr/local/cpanel/bin/apache_conf_distiller –update
e
/usr/local/cpanel/bin/build_apache_conf