Desativando o SELinux apenas para o Apache
Hoje fiz a instalação de um CentOS 5.3 em um modesto Pentium III 900MHz com 256Mb. Fiz a instalação em modo texto, sem ambiente gráfico. Após a instalação fui colocar a aplicação web para rodar nela e eis que o SELinux estava lá atrabalhando minha vida. A aplicação precisa ter acesso a um diretório de um daemon do sistema para leitura de arquivos e não estava tendo permissão (utiliza o usuário do apache). Chequei as permissões e estavam todas ok. Aos poucos fui descobrindo o motivo: SELinux ativado bloqueando o acesso a determinados diretórios.
Alguns minutos de pesquisa e eis que encontrei a solução para o meu problema: Desativar o SELinux apenas para o HTTP.
root@hylafax ~# echo “httpd_disable_trans=1″ >> /etc/selinux/targeted/booleans
root@hylafax ~# setsebool httpd_disable_trans 1
root@hylafax ~# service httpd restart
Prontinho! SELinux funcionando e sem influenciar a minha aplicação web. Espero que esta dica seja útil para vocês. Abraços.
Corrigindo a placa RaLink RT2561/RT61 (Wireless DLink) no Linux
Esta semana resolvi testar três distribuições linux no meu desktop: Ubuntu 9.04, openSuSE 11.1 e CentOS 5.3, todos 32bits. Lembrando que antes de testa-las, eu tinha o Slackware 12.2 instalado e devidamente configurado, todo o hardware foi detectado no boot, não havendo necessidade alguma de corrigir problemas de hardware, apenas tive que configurar manualmente a minha NVidia.
Meu desktop é um singelo AMD Athlon XP 2000+ com 768Mb, 100% off-board. O Ubuntu cumpriu o prometido: 23s do boot ao login. O openSuSE já tinha um boot mais lento (muito mais lento que o do Ubuntu) e também na sua inicialização padrão (do openSuSE) carregou muita coisa desnecessária deixando a máquina lenta. O CentOS, também funcinou tudo redondo, boot ficou rápido, mas não tanto quanto o do Ubuntu.
Mas todas 3 pecaram em um único ponto: Minha placa de Rede Wireless PCI. No Slackware ela funcionava redondamente, sem a necessidade de configurações extras, nos Linux “PnP” tive uma supresa. A placa é uma DLink com chipset RaLink RT2561/RT61. Nas três distribuições a mesma falha, dizia que o driver havia sido compilado com uma versão antiga do firmware. Decidi então ir em busca da solução e acredito que será a mesma para qualquer outra distribuição Linux que acuse o problema.
Pesquisando pela saída do “lspci” encontrei um link para http://www.ralinktech.com/ralink/Home/Support/Linux.html onde contém os drivers para Linux. Baixei o arquivo 2009_0123_RT61_Linux_STA_v1.1.2.3.tar.bz2.
Vamos decompactar e compilar:
[ root@centos Downloads ]# tar xvjf 2009_0123_RT61_Linux_STA_v1.1.2.3.tar.bz2 -C /usr/src/.
[ root@centos Downloads ]# cd /usr/src/2009_0123_RT61_Linux_STA_v1.1.2.3/Module
[ root@centos Module ]# cp -f Makefile.6 Makefile
[ root@centos Module ]# make all
[ root@centos Module ]# make install
[ root@centos Module ]# mkdir -p /etc/Wireless/RT61STA
[ root@centos Module ]# cp *.bin /etc/Wireless/RT61STA/
[ root@centos Module ]# dos2unix rt61sta.dat
[ root@centos Module ]# cp rt61sta.dat /etc/Wireless/RT61STA/
[ root@centos Module ]# rmmod rt61pci
[ root@centos Module ]# modprobe rt61
Pronto! Foi criada uma interface de rede, nomeada de ra0. Portanto wlan0 não funciona mais.
Vamos testar agora:
[ root@centos Module ]# cd ~
[ root@centos root ]# iwlist ra0 scan
Aqui deverão aparecer informações sobre sua rede wireless. Agora é só utilizar a placa de rede, sem dor de cabeça.
Instalando o VirtualBox no Slackware Linux
Depois de ensinar a instalar o VirtualBox no Ubuntu Linux, agora vou ensinar a instalar no Slackware Linux. A instalação no Slackware é mais “genérica” tendo o seu processo tão simples quanto em outras distribuições.
Vamos direto ao assunto. Acesse http://www.virtualbox.org/wiki/Linux_Downloads e baixe a versão “All distribuitions” para o seu hardware. No meu caso baixei a versão 32bits (i386), que é a arquitetura do meu notebook.
Logado como root, vamos seguir a instalação. Primeiramente entre no diretório onde você salvou o arquivo e torne-o executável:
root@slackware ~/downloads# chmod +x VirtualBox-2.2.2-46594-Linux_x86.run
Agora vamos executar o instalador:
root@slackware ~/downloads# ./VirtualBox-2.2.2-46594-Linux_x86.run
Protinho! Ao final é só executar: /opt/VirtualBox/VirtualBox
Agora é só criar suas máquinas virtuais.
Obs: Utilizo meu Slackware com KDE 4.2.1, logo já tenho o Qt 4 instalado. Caso não tenha, instale o pacote.
Instalando o Java da SUN em seu Linux
Hoje vou ensinar um procedimento simples, mas bastante útil para os que assim como eu preferem instalar o Java que fica disponível no site http://java.sun.com/. A versão instalada será a JDK 1.6.0_13.
1) Após efetuar o download, entre no diretório onde salvou o arquivo e o torne executável:
root@slackware ~# chmod +x jdk-6u13-linux-i586.bin
Agora vamos executá-lo:
root@slackware ~# ./jdk-6u13-linux-i586.bin
Será exibida a licença do Java, pressione a tecla “q” e em seguida digite “yes” (se você quiser aceitar a licença claro
). Nesse ponto o java será descompactado. Ao final será solicitado que você tecle “Enter”.
Vamos criar um diretório em /usr para armazenar o nosso Java:
root@slackware ~# mkdir /usr/java
Agora vamos mover o java para lá:
root@slackware ~# mv jdk1.6.0_13 /usr/java/.
2) Criando as variáveis ambientes do Java:
Agora vamos criar o “profile” do java inserindo nele o conteúdo a seguir:
root@slackware ~# vi /etc/profile.d/java.sh
#!/bin/bash
#
# Configuracoes do Ambiente Java no Linux
#
# Autor: Wagner Santos
# wagner@dotlinux.net
JAVA_HOME=”/usr/java/jdk1.6.0_13″
JRE_HOME=”$JAVA_HOME/jre”
CLASSPATH=”$JAVA_HOME:$JAVA_HOME/lib:$JRE_HOME/lib:.”
MANPATH=”$MANPATH:$JAVA_HOME/man”
JAVA_DOC=”$JAVA_HOME/docs”
PATH=”$JAVA_HOME/bin:$JRE_HOME/bin:$PATH”
export JAVA_HOME JRE_HOME CLASSPATH MANPATH JAVA_DOC PATH
Salve o arquivo e o dê a permissão de executável:
root@slackware ~# chmod +x /etc/profile.d/java.sh
Prontinho! Agora efetue um logout e um novo login no sistema, que já estará pronto para a utilização do Java!
Ativando o suporte a USB no VirtualBox
Em tempos de Virtualização, nada melhor do que poder ter vários sistemas operacionais funcionando ao mesmo tempo em nossas máquinas. Hoje precisei acessar o Bluetooth e um Pendrive dentro de uma máquina virtual (vm). Porém para minha surpresa o VirtualBox mostrava o dispositivo porém aparentava não ter permissão para acessa-lo. E lá fui eu perguntar ao oráculo como fazer funcionar dispositivos USB na VM. Encontrei esta dica do Rafael Silva, no Viva O Linux (VOL).
Básicamente basta executarmos o seguinte comando:
root@slackware: ~# mount -o remount,devmode=666 /proc/bus/usb
Protinho! Só ir no menu “Dispositivos” do VirtualBox e depois ir em “Dispositivos USB” e marcar o dispositivo que você conectou.
Recomendo colocar esse comando em seu rc.local para sempre que inicializar o sistema, o suporte ficar ativo.
Ativando o suporte a HDs Externos Firewire no Linux
Recentemente comprei para um cliente um HD externo Firewire de 1Tb para backup dos dados contidos em alguns servidores. Em nosso planejamento, este HD ficará conectado a um servidor Linux, que roda CentOS 5.2 x86_64.
Para minha surpresa, ao conectar o HD ao servidor, ele não foi “montado” automáticamente. Então foi necessário subir manualmente. Para ativar o suporte, é necessário inicializar o módulo “firewire-ohci“.
( root@servidor /root )# modprobe firewire-ohci
No meu caso foi criado o dispositivo /dev/sdb1. E aí foi só formatar no formato ext3 e efetuar a montagem do HD no Linux.
PS: No caso do CentOS o módulo vem na “blacklist” por padrão (não me perguntem o porque). Então faz-se necessário editar o “/etc/modprobe.d/blacklist-firewire” e comentar a linha “blacklist firewire-ohci”.
Gerenciamento do Clock dos processadores AMD Sempron M no Linux
Tenho um notebook HP Pavilion ZE2410BR, o processador é um AMD Sempron M 3000+. Ele possuí três níveis de clock: 800MHz, 1600MHz e 1800MHz. Por padrão, o Slackware Linux não vem com suporte ao gerenciamento para alternar o clock do processador conforme seja necessário, deixando então sempre em 1800MHz. Para um notebook isso é ruim quando se está utilizando a bateria, pois o consumo de energia pode ser maior do que o necessário.
Pesquisando, encontrei então o “Powernowd“. Este utilitário segundo a descrição do pacote no Debian, serve para qualquer processador que suporte o “cpufreq” que vem nos núcleos 2.6 do Linux, e não depende de APM ou ACPI.
Ainda segundo a descrição do Debian:
“O nome é um tanto enganador, pois funcionará com qualquer processador com suporte a CPUfreq, não somente com os AMD. Entretanto, ele funciona melhor em CPUs que suportam mais de dois níveis de velocidade, como aqueles com PowerNow! da AMD ou séries Pentium M da Intel. Este daemon é menos complicado que o cpufreqd ou cpudyn, ao custo de depender absolutamente dos núcleos 2.6 com o regulador de espaço (“governor”) de usuário e suporte a sysfs habilitado.”
Agora vamos ao que interessa:
Efetue o download do Powernowd, descompacte e acesse o diretório:
root@slackware: ~# tar xvzf powernowd-1.00.tar.gz -C /usr/src
root@slackware: ~# cd /usr/src/powernowd-1.00
root@slackware: ~# make
root@slackware: ~# make install
Prontinho. Está compilado e instaldo no “/usr/sbin/powernowd”.
Agora vamos ao Kernel. Para que o daemon trabalhe, ele precisa que o módulo do kernel referente ao seu provessador de tecnologia “Mobile – M”, esteja inicializado. No caso do meu AMD Sempron M 3000+, é o módulo “powernow-k8″. Pesquise e ache o módulo correto para o seu processador.
Então vamos lá:
root@slackware: ~# modprobe powernow-k8
root@slackware: ~# /usr/sbin/powernowd -q -m 1
As opções do Powernowd são:
-q = modo quieto
-m = como será o gerenciamento do processador: 0 = Sine, 1 = Agressive, 2 = Passive, 3 = Leaps.
Sugiro que adicione os comandos em seu /etc/rc.d/rc.local para que o gerenciamento seja inicializado automáticamente.
Instalando o BrOffice.org 3 no Slackware 12.2
Continuando a série que já venho fazendo sobre Slackware, vou ensina-los hoje a instalar o pacote BrOffice.org (ou OpenOffice.org se preferir) no Slackware Linux, acredito que essa dica também seja de grande valia para instalar em outras distribuições. Aqui presumo que o pacote “RPM” tenha sido instalado em seu Slackware. É necessário efetuar login com o usuário root.
Parte 1: Download do Pacote
Acesse http://www.broffice.org/download e faça o download da versão RPM do pacote (aqui já aparece ela por padrão quando acesso).
Parte 2: Descompactando e Instalando
Para descompactar:
root@slackware ~:# tar xvzf BrOo_3.0.1_LinuxIntel_install_pt-BR.tar.gz
Agora é chegada a hora de instalar os RPMs no Slackware:
root@slackware ~:# cd OOO300_m15_native_packed-1_pt-BR.9379/RPMS
root@slackware ~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS:# rpm -ihv –nodeps *.rpm
root@slackware ~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS:# cd desktop-integration
root@slackware ~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS/desktop-integration:# rpm -ihv –nodeps broffice.org3.0-freedesktop-menus-3.0-9376.noarch.rpm
root@slackware ~/OOO300_m15_native_packed-1_pt-BR.9379/RPMS/desktop-integration:# installpkg broffice.org3.0-slackware-menus-3.0-noarch-9376.tgz
Prontinho! Agora é só acessar o menu do seu gerenciador de janelas de verificar na opçao “Escritório” o BrOffice. Ou se preferir, execute o comando: “soffice”.
Espero ter ajudado com esta dica. Um abraço e até a próxima.
Wireless Broadcom no Linux Slackware 12.2
Acredito que esta dica sirva não apenas para o Slackware, mas como para qualquer outro Linux que não configure esta placa de rede automáticamente. Para tal, faz-se necessário que você efetue login no sistema com o usuário “root”.
Parte 1: Compilando o b43-fwcutter
Este utilitário será usado para extrair os firmwares da placa de rede broadcom para que a mesma funcione corretamente no Linux.
Faça o download dele em: http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
Agora vamos descompactar e compilar
root@slackware: ~# tar xvjf b43-fwcutter-011.tar.bz2 -C /usr/src/
root@slackware: ~# cd /usr/src/b43-fwcutter-011
root@slackware: /usr/src/b43-fwcutter-011# make
root@slackware: /usr/src/b43-fwcutter-011# cd ~
Parte 2: Extraindo os Firmwares da placa de rede
Efetue o download do driver em: http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
Agora vamos “Extrair e Instalar” os firmwares.
root@slackware: ~# tar xvjf broadcom-wl-4.150.10.5.tar.bz2 -C /usr/src/
root@slackware: ~# export FIRMWARE_INSTALL_DIR=”/lib/firmware”
root@slackware: ~# cd /usr/src/broadcom-wl-4.150.10.5/driver
root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# ../../b43-fwcutter-011/b43-fwcutter -w “$FIRMWARE_INSTALL_DIR” wl_apsta_mimo.o
Várias linhas serão exibidas neste passo. Agora vamos ativar o módulo da placa de rede:
root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# rmmod b43
root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# modprobe b43
Protinho. Neste ponto sua Wireless já deverá estar funcionando. Para efetuar um teste execute o comando abaixo:
root@slackware: /usr/src/broadcom-wl-4.150.10.5/driver# iwlist wlan0 scan
Deverão ser exibidas informações de sua rede Wireless.
Parte 3: Alguns problemas que eventualmente poderão ocorrer
1) Em outras versões do Slackware com kernel 2.6.24 ou mais antigas, talvez os firmwares precisem da versão mais antiga, então faça o download destes firmwares: http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2, o processo é o mesmo para a extração do firmware.
2) Em versões mais antigas do kernel, o driver da Broadcom era o “bcm43xx”, logo pode ser que o Kernel insista em inicializar ele no lugar do “b43″. Logo recomendo que remova este módulo ou então coloque-o numa blacklist ou ainda se preferir no seu rc.local, coloque os comandos:
rmmod bcm43xx
modprobe b43
Espero ter ajudado. Até a próxima.
Bibliografia:
Gravador de CD ou DVD no Slackware?
Como bom usuário de Slackware, lá vai uma boa dica. Como configurar seu gravador de CD/DVD no Slackware”. É um processo bastante simples…
Primeiramente, vamos ativar o gravador no Kernel. Efetue login no sistema como root e digite o seguinte comando:
root@slackware ~/# modprobe sg
O módulo SG é o responsável por informar ao kernel se o dispositivo de cd/dvd é um gravador, logo esta dica pode servir para outras distribuições Linux também.
Feito isso, agora vamos colocar o seu usuário no grupo nomeado “cdrom”. Para tal execute o seguinte comando:
root@slackware ~/# gpasswd -a “usuario” cdrom
Lembre-se que “usuário” seria o usuário a ser colocado no grupo, como por exemplo “xwindow” (pode ser sem aspas, claro!).
Protinho, agora abra o k3b ou qualquer outro programa de sua preferência e pode “queimar” seu CD ou DVD tranquilamente.
PS: Sugiro que você adicione o comando “modprobe sg” no seu /etc/rc.d/rc.local, assim toda vez que o sistema inicializar o módulo já inicializará junto, ou ainda edite o /etc/rc.d/rc.modules e descomente a linha referente ao módulo “sg”.