Archive for the ‘ubuntu’ Category

Como extrair arquivos RAR (ou do WINRAR) no Ubuntu 10.04 (Lucid Lynx)?

Tuesday, June 29th, 2010

Se você, toda vez que tenta abrir (extrair) um arquivo rar recebe uma mensagem de erro informando que não consegue abrir o pacote, não se preocupe, é coisa simples de se resolver.

Os passos para o erro seguem-se na imagem abaixo:

Para resolver clique em Aplicativos -> Acessórios -> Terminal

No console digite:

sudo apt-get install rar

A saída deverá ser semelhante a isto (em uma plataforma x86):

Lendo listas de pacotes… Pronto
Construindo árvore de dependências
Lendo informação de estado… Pronto
Pacotes sugeridos:
unrar
Os NOVOS pacotes a seguir serão instalados:
rar
0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
É preciso baixar 556kB de arquivos.
Depois desta operação, 1192kB adicionais de espaço em disco serão usados.
Obter:1 http://br.archive.ubuntu.com/ubuntu/ lucid/multiverse rar 1:3.9.b2-1 [556kB]
Baixados 556kB em 5s (95,7kB/s)
Selecionando pacote previamente não selecionado rar.
(Lendo banco de dados … 183480 arquivos e diretórios atualmente instalados).
Desempacotando rar (de …/rar_1%3a3.9.b2-1_i386.deb) …
Processando gatilhos para man-db …
Configurando rar (1:3.9.b2-1) …

Pronto, agora basta tentar extrair novamente que não mais ocorrerá o erro.

Abraços.

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!

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

Avaliação abrangente do Ubuntu 10.04 beta 2

Thursday, April 22nd, 2010


Há 3 anos que venho utilizando-me do Ubuntu, mas há certas horas que “gosto de mudar as coisas” em busca de uma produtividade maior. Desta vez, após avaliar um review de um usuário, novamente me pego de queixo caído:

Será que não vale a pena ter o Ubuntu como single boot ao invés de tentar outro S.O.?

Já usei bastante o Fedora, que inclusive em sua versão 12 me trouxe uma sensação de establidade incrível (coisa aonde atirei muita pedra nas versões anteriores), mas como resistir a tanto automatismo e estabilidade?

Quer ver a avaliação que anda me convencendo que o Ubuntu é um dos mais aclamados S.O. de todos os tempos?
Vide:

http://marcinhostudiopro.blogspot.com/2010/04/review-ubuntu-104-beta-2.html

A próprosito, estou esperando sair o Stable para entrar com a cara e a coragem no single boot.

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!

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.

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

Como instalar subversion no ubuntu Karmic (9.10) – how to install subversion ubuntu 9.x com ssl

Sunday, February 14th, 2010

Boa noite ALL,

Abaixo mostro como instalar o subversion no ubuntu karmic (9.10):

Como em toda instalação ou configuração no Ubuntu, recomendo atualizar os repositórios do APT e instalar quaisquer atualizações disponíveis.

# apt-get update
# apt-get upgrade
Instalação do Subversion

Os pacotes necessários são: subversion, libapache2-svn, apache2 e ssl-cert, onde:

* subversion – é o pacote contendo além dos arquivos binários, também as ferramentas de administração svnadmin e distribuição svnserve;
* libapache2-svn – contém os módulos mod_dav_svn e mod_authz_svn que permitem o acesso aos repositórios através do protocolo http e https via WebDAV;
* apache2 – é servidor web. Veja mais em: http://pt.wikipedia.org/wiki/Servidor_Apache;
* ssl-cert – pacote que permite a instalação de outros pacotes que precisam criar certificados SSL. Leia também sobre OpenSSL.

Para instalação desse pacotes utilize o comando abaixo:

# apt-get install subversion libapache2-svn apache2 ssl-cert
Habilitando o Suporte ao SSL

Após a instalação, vamos habilitar o suporte a SSL no Apache 2. Para isso, é necessário criar um certificado digital. Utilizando o comando make-ssl-cert é possível fazer esta criação, porém é necessário utilizar um modelo de configuração. Por padrão o Ubuntu Intrepid Ibex (Ubuntu 8.10) já traz este modelo em /usr/share/ssl-cert/ssleay.cnf. Sugiro dar uma olhada neste modelo, eu particularmente fiz algumas alterações que visam exibir informações do responsável pela emissão do certificado. Veja o modelo:

#
# SSLeay example configuration file.
#

RANDFILE = /dev/urandom

[ req ]
default_bits = 1024
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
prompt = no
policy = policy_anything

[ req_distinguished_name ]
commonName = @HostName@
emailAddress = Seu Email
organizationalUnitName = Departamento
organizationName = Empresa
localityName = Campinas
stateOrProvinceName = Sao Paulo
countryName = BR

Não há problemas caso você não faça nenhuma modificação.

Crie o diretório onde o certificado será criado:

# mkdir /etc/apache2/ssl

Agora, utilizando o make-ssl-cert e o modelo no arquivo ssleay.cnf vamos criar o certificado armazenando-o no arquivo apache.pem:

# make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

Surgirá uma tela, como a figura abaixo, onde será solicitado o nome do servidor. Eu, particularmente, preencho com o IP, pois meu DNS não está configurado e pretendo acessar o Subversion em outras máquinas.
Criação do certificado SSL. Definindo o nome do servidor.

Criação do certificado SSL. Definindo o nome do servidor.

Vamos definir a permissão ao arquivo.

# chmod 660 /etc/apache2/ssl/apache.pem
Configurando Apache 2 e habilitando o SSL

Verifique se o Apache 2 para que seja habilitada o suporte a porta 443. Para isso visualize o arquivo ports.conf no diretório do Apache 2:

# vi /etc/apache2/ports.conf

Seu arquivo deverá estar como mostro abaixo:

NameVirtualHost *:80
Listen 80


# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443

Para habilitar o módulo de suporte ao SSL no Apache 2 é necessário utilizar o script a2enmod. O a2enmod criará um link simbólico no diretório /etc/apache2/mod-enabled. Para desabilitar um módulo utilize o script a2dismod. A linha de comando é:

# a2enmod ssl

O último passo da configuração do Apache 2, para o perfeito funcionamento do SSL, consiste em criar o arquivo svn em /etc/apache2/sites-available, este arquivo deve conter as configurações para a porta 443, ou seja, a porta ao qual definimos como responsável pelo SSL.

Para isso vamos copiar o arquivo default que está em /etc/apache2/sites-available para o arquivo svn.

# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/svn

Agora edite o arquivo utilizando o vim:

# vi /etc/apache2/sites-available/svn

Altere a linha para e logo abaixo adicione as linhas:

SSLEngine on
ServerSignature On
SSLCertificateFile /etc/apache2/ssl/apache.pem

Vamos entender cada uma das três linhas acima:

* SSLEngine on – Ativa se definida como “on” a utilização do protocolo SSL/TLS;
* SeverSignature On – Ativa ou desativa a exbição da assinatura do servidor, ou seja, a linha que exibe as configurações do Apache. Por exemplo: Apache/2.2.9 (Ubuntu) DAV/2 SVN/1.5.1 PHP/5.2.6-2ubuntu4.1 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Server at 192.168.0.30 Port 44. Na influencia no funcionamento do servidor;
* SSLCertificateFile – Define o caminho para certificado.

Após a criação do arquivo svn, então é necessário habilitá-lo no Apache 2. Para isso utilize o script a2ensite. Este script habilita arquivos que contenham o bloco no Apache2. Para desabilitar um arquivo de configuração utilize o script a2dissite. A linha de comando é esta:

# a2ensite svn

Reinicialize o Apache 2 com o comando:

# /etc/init.d/apache2 force-reload

Caso ocorra algum erro, então consulte o arquivo de log do Apache 2. Este arquivo está localizado em /var/log/apache2/error.log.

Dica de solução:

# openssl req -config /usr/share/ssl-cert/ssleay.cnf -new -x509 -days 1460 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem

Teste seu servidor, digitando no navegador o endereço IP precedido por https, por exemplo: https://

Você poderá ver uma página como a da figura abaixo. Fique tranquilo! Essa mensagem não reflete um problema em seu servidor. Na verdade a mensagem é exibida, pois você configurou um certificado próprio (auto-assinado) e não foi emitido por uma autoridade certificadora, como é o caso de sites que utilizam certificado homologado pela VeriSign. Apenas clique no link “você pode adicionar uma exceção” e depois no botão “Adicionar exceção…”. Aparecerá seu endereço IP. “Clique em verificar certificado” e logo em seguida, clique no botão “Confirmar exceção de segurança”. Pronto.
Firefox: Falha na conexão segura

Firefox: Falha na conexão segura
Configurando o Subversion

Vamos criar um repositório de teste para que possamos garantir a correta instalação (e na sequência vamos finalizar a instalação). Para criarmos um repositório é necessário criar um diretório e a partir dele, alterarmos o “proprietário” do diretório e definir as permissões. Após estes passos, então poderemos adicioná-lo ao Subversion com o comando svnadmin. Com o svnadmin é possível manipular usuários, projetos, repositórios e acessos.

# mkdir /var/svn/teste
# chown -R www-data:www-data /var/svn/teste
# chmod -R g+ws /var/svn/teste
# svnadmin create /var/svn/teste

Agora vamos habilitar a autenticação no Apache 2. O htpasswd é o responsável pela criação e atualização de arquivos que armazenam o nome de usuário (login) e a senha para autenticação via HTTP.

# htpasswd -c -m /etc/apache2/dav_svn.passwd admin

A opção -c cria ou reescreve e “trunca” o arquivo de senha. Já a opção -m é responsável por definir que o método MD5 será utilizado para criptografia da senha.

Repare que no final da linha, após o caminho, existe o nome de usuário utilizado, ou seja, admin. Após executado comando acima, será solicitada uma senha. Evite esquecer a senha.

Caso precise adicionar mais usuários, basta utilizar o mesmo comando acima, porém sem a opção -c. Exemplo:

# htpasswd -m /etc/apache2/dav_svn.passwd programador

Após a definição da senha, então devemos editar o arquivo dav_svn.conf para habilitar o WebDAV e o SVN no Apache 2.

# vi /etc/apache2/mods-available/dav_svn.conf

Agora altere o arquivo dav_svn.conf para a estrutura como mostrada abaixo:


DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName “Repositorio da Logica Digital”
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL

Entendendo as linhas de configuração:

* – como o repositório deve aparecer no navegador, no caso irá aparecer https://ip-do-servidor/svn;
* DAV svn – habilita o repositório;
* SVNParentPath – utilizado para múltiplos repositórios;
* AuthType Basic – define o método de autenticação de usuário. É possível inclusive utilizar LDAP para habilitar Single sign-on. Prometo que farei um post sobre essa configuração;
* AuthName – serve apenas como descritivo;
* AuthUserFile – caminho do arquivo criado pelo comando htpasswd;
* Require valid-user – configuração para que apenas usuários autenticados tenham acesso ao repositório. É possível tornar o servidor acessível à usuários anônimos, porém eu não acho uma boa prática;
* SSLRequireSSL – obriga que a comunicação com o servidor de controle de versão seja feita sobre o protocolo SSL.

Após configurado o arquivo de integração entre o Subversion e o Apache 2, então é necessário reinicializar o Apache 2:

# /etc/init.d/apache2 force-reload

Acesse, através do seu navegador, o endereço https://ip-do-servidor/svn/teste. Assim você estará testando seu novo servidor de controle de versão com Subversion. Caso ele esteja funcionando corretamente, após a autenticação, será exibida uma página como abaixo:
Servidor Subversion autenticado via Apache 2

Servidor Subversion autenticado via Apache 2

Pronto. O servidor de controle de versão com Subversion, Apache 2 com SSL no Ubuntu Intrepid Ibex está funcionado. O próximo post virá com dicas de utilização.

FONTE 100%: http://andreferraro.wordpress.com/2009/04/05/linux-instalando-o-subversion-com-apache-2-e-ssl-no-ubuntu-intrepid-ibex-ubuntu-810/

Gestor de smart trabalha de maneira eficiente no Ubnutu Karmic e revela problemas antes que ocorram

Saturday, January 23rd, 2010

Uma das coisas que mais gosto no Ubuntu é a sua facilidade de uso e principalmente a forma eficaz que ele gerencia o sistema em si. Estive com um notebook “aposentado” por 4 meses devido a falta do drive de cd-rom (na realidade já não lê nada… rsrsrs). Esperei um bom tempo afim de que uma manutenção fosse realizada (substituição, na realidade era isso) e não consegui achar o bendito drive com preço acessível.

Pensei comigo o que iria fazer, quer fosse um servidor PXE para instalar alguma coisa, quer fosse pegar um drive emprestado (gaveta externa de cd-rom ou cd-rom externo), e nada disso me veio a cabeça.

Pensei em algo mais simples e cheguei a conclusão que instalar o Ubuntu via USB seria a coisa mais simples e amigável do mundo (foi, sem contar a altíssima velocidade, em ver um Celeron 1.5 com 1gb de ram instalado em 12 minutos é de surpreender qualquer peixão).

Após instalar meu bombástico S.O. acabei percebendo que a “aposentadoria” não fez muito bem para o Tux, o smart relatou problemas (coisa que NUNCA iria imaginar, principalmente homem que só vai ao médico quando já está morrendo com dores).

Ao terminar meu upgrade de versão para o Karmic Koala eu startei o S.O. com euforia e ao me deparar com o desktop recebi a notícia de que o disco não estava indo muito bem, por fim, compreendi que apesar da notícia ruim, meu Ubuntu foi mais que um amigo em me avisar o que poderia ocorrer “na calada da noite”!

Segue screenshot:

Este é um sistema amigo, rsrsrs, avisa tudo (mesmo que possa causar uma dorzinha no coração).

Abraços galera!

Upgrade muito rápida no Ubuntu indo em busca do Karmic :D

Saturday, January 23rd, 2010

Bom, muitas pessoas já sabem que sou um adimirador do Ubuntu, principalmente pela sua facilidade de uso (estou postando por ele). Uma coisa muito interessante foi a velocidade que consegui com minha internet no momento de acessar os repositórios da Cannonical (não foi usando apt-get via console, mas a gestão de pacotes foi muito semelhante). Perceba na foto abaixo que meus 4 mega de link funcionaram com muito louvor:

up ubuntu

up ubuntu

Na menos que 458kbps! (chegando a 478kbps).

Obs: Estava na 8.04 e fui subindo, agora estou na Karmic e meu próximo post vai falar um pouco sobre a simplicidade do desktop e praticidade do “negócio”.

Abraços galera!

Converter imagem NRG para ISO (imagem nero para ISO) no UBUNTU

Tuesday, November 17th, 2009

Ultra simples :)

Faça isto aqui:

sudo apt-get install nrg2iso

Após instalar use a sintaxe (na linha de comando – cli):

nrg2iso /caminho/do/meu/arquivo.nrg /destino/do/meu/arquivo.iso

Pronto :P