Mostrando postagens com marcador Linux. Mostrar todas as postagens
Mostrando postagens com marcador Linux. Mostrar todas as postagens

segunda-feira, 23 de agosto de 2010

SWAT - Gerenciamento web do Samba

O Swat é uma ferramenta web para configuração e gerenciamento do Samba. Pra que ficar alterando o Samba via linha de comando se podemos fazê-lo diretamente através de uma interface web...


Instalação pelo apt-get:
apt-get install swat

Depois acrescente a linha no /etc/inet.d:

swat            stream  tcp     nowait.400      root    /usr/sbin/tcpd  /usr/sbin/swat
Reinicie o inetd:
/etc/init.d/inetd restart 

E pronto.. para acesar o swat acessa pela porta 901:
http://localhost:901
Ao acessar, será solicitado um login/senha de um usuário válido do Linux.

Quando o Linux não levanta a interface de rede

Certa vez tive um problema quando tentei instalar uma terceira placa de rede e não deu certo. Até então havia utilizado no máximo duas placas de rede, mapeadas em eth0 e eth1 e nunca uma terceira placa. Com duas o Linux mapeou certinho, podendo levantá-las ou baixá-las com ifconfig, mas com 3 placas, apesar de conhecer a terceira, não foi possível utilizar sua interface (eth2, eth3, …) com ifconfig.
Através do comando
lspci, observei que as três placas foram reconhecidas normalmente, sendo 2 onboard (placa ASUS) e uma offboard (3COM), como mostra a saída do comando abaixo:

$ lspci | grep Ethernet

02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit Ethernet Controller (rev 12)
05:00.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 30)
05:02.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 14)
Pesquisando na internet, descobri que as informações persistentes sobre rede (as placas) são guardadas no arquivo /etc/udev/rules.d/70-persistent-net.rules. Talvez mude em uma versão posterior ou em outra distribuição, mas é fácil descobrir qual o arquivo:

$ cd /etc/udev/rules.d
$ ls *net.rules*

O comando mostra o arquivo utilizado.
Nesse arquivo estão mapeadas todas as placas de rede reconhecidas pelo Linux, inclusive firewire. Conteúdo do arquivo:

$ cat 0-persistent-net.rules
# PCI device 0x11ab:0x4364 (sky2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:8c:a4:04:72", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x11ab:0x4320 (skge)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:8c:a4:03:dc", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# Firewire device  (nodemgr)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:8c:00:01:e1:cc:91", ATTR{type}=="24", KERNEL=="eth*", NAME="eth2"

# PCI device 0x10b7:0x9055 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:04:22:62:16", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
No arquivo acima estão, em ordem:


1 –> a primeira placa de rede onboard, mapeado como eth0;

2 –> a segunda placa de rede onboard, mapeado como eth1;

3 –> uma placa firewire onboard, mapeado como eth2;

4 –> a terceira placa de rede offboard, mapeado como eth1.



Esse arquivo é atualizado automaticamente pelo Linux quando uma nova placa de rede é inserida no micro. O erro que ocorreu foi que a partir da terceira, ele sempre atribui a interface eth1!!
Para corrigir isso, basta atribuir manualmente a interface correta, que nesse caso eu coloquei
eth3:
# PCI device 0x11ab:0x4364 (sky2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:8c:a4:04:72", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x11ab:0x4320 (skge)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:24:8c:a4:03:dc", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# Firewire device  (nodemgr)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:8c:00:01:e1:cc:91", ATTR{type}=="24", KERNEL=="eth*", NAME="eth2"

# PCI device 0x10b7:0x9055 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:04:22:62:16", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
Isso também pode ser utilizado para trocar a interface de rede entre as placas, mudando de eth0 para eth1, ou vice-versa, entre as placas de rede instaladas.
Foi preciso reiniciar a máquina para que as alterações tenham efeito. 

segunda-feira, 12 de abril de 2010

Instalando o Oracle 11g no Debian 5.04


Linux versão 2.6.26-2-686
Oracle 11g Release 2

Pré-requisitos de hardware
Última instalação realizada em 06/04/2010. Configuração de hardware:
Processador Intel Dual Core 3.0 GHz, 6MB L2, 1333 MHz FSB;
Placa-mãe ASUS
HD SATA 160GB (2HDs)
8GB RAM
4GB SWAP


Oracle instalado na partição /ora , com sistema de arquivos XFS.

É interessante reservar uma partição somente para o diretório onde o Oracle será instalado e nessa partição, utilizar um sistema de arquivo mais adequado para banco de dados, como o XFS ou JFS.

Nesta instalação de testes, o banco foi instalado em /ora, o qual será explicado mais abaixo; porém nada impede que seja instalado em outro diretório, ou em /usr/local, onde é mais usado. Dependerá unicamente das permissões de acesso para o usuário oracle que será criado mais abaixo.
Instalando dependências
O primeiro passo consiste em instalar os pacotes usados pelo Oracle 11g. Dependendo a versão atual do Debian ou do intervalo entre uma instalação e outra, alguns pocotes podem ter versões atualizadas. Fique atento a essas mudanças de versões.

$ sudo apt-get install  alien cpp-4.3 debhelper g++-4.3 gawk gcc-4.3 gcc-4.3-base gettext \ 
html2text intltool-debian ksh lesstif2 libaio-dev libaio1 libbeecrypt6 libdb4.2 libelf-dev \
libelf1 libltdl3 libltdl3-dev libodbcinstq1c2 libqt4-core libqt4-gui librpm4.4 libsqlite3-0 \
libstdc++6 libstdc++5 libstdc++6-4.3-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics \
lsb-qt4 odbcinst1debian1 pax po-debconf rpm sysstat unixodbc unixodbc-dev elfutils \ 
libebl-dev libefl1 pdksh

O pacote libmotif não foi encontrado em nenhum repositório, por isso foi instalado separadamente:
$ sudo dpkg -i libmotif3_2.2.3-1_i386.deb
 

Configurando ambiente Linux

Criando usuário e grupo Oracle
$ sudo groupadd oinstall
$ sudo groupadd dba
$ sudo groupadd nobody
$ sudo useradd -d /home/oracle -s /bin/bash -G dba -g oinstall -m oracle
$ sudo useradd -g nobody nobody
$ sudo passwd oracle
Para verificar:
$ id oracle

Criando diretórios

Durante a instalação do Debian, uma partição foi destinada especialmente para o Oracle, no diretório /ora:

$ sudo mkdir -p /ora/app/oracle
$ sudo mkdir -p /ora/oradata
$ sudo chown -R oracle.oinstall /ora
$ sudo chmod -R 775 /ora 

Criando links

O make usado no Oracle foi desenvolvido para RHEL, ficando em caminhos diferentes dos encontrados no Debian. Sendo assim, precisamos de links simbólicos para “fazer a passagem”…:

$ sudo ln -s /usr/bin/awk /bin/awk
$ sudo ln -s /usr/bin/rpm /bin/rpm
$ sudo ln -s /usr/bin/basename /bin/basename
$ sudo ln -s /etc /etc/rc.d

Parâmetros do Kernel

Edite o arquivo /etc/sysctl.conf e insira no final deste arquivo as alterações abaixo:
 
#Parâmetros ORACLE 11g
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
 
Edite o arquivo /etc/security/limits.conf e insera as configurações abaixo:

#Parâmetros ORACLE 10g
*        soft    nproc   2047
*        hard    nproc   16384
*        soft    nofile  1024
*        hard    nofile  65536

Adicione a linha abaixo em /etc/pam.d/login:
 
session    required     /lib/security/pam_limits.so

Adicione a linha abaixo em /etc/pam.d/su:
 
session    required     /lib/security/pam_limits.so

Adicione em /etc/profile:
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
    else
          ulimit -u 16384 -n 65536
    fi
fi
 

Variáveis de ambiente

Essas variáveis de ambiente serão criadas para o usuário oracle. Logado como oracle, faça as alterações abaixo:
Adicione ou descomente em ~/.bash_profile:

umask 022 

E adicione também em ~/.bash_profile:

ORACLE_BASE=/ora/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=sagu
 
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID

Exporte as variáveis de ambiente:

$ ORACLE_BASE=/ora/app/oracle; export ORACLE_BASE
$ ORACLE_HOME=$ORACLE_BASE/product/11.2.0; export ORACLE_HOME
$ ORACLE_SID=sagu; export ORACLE_SID

Adicione em ~/.bashrc:

ORACLE_BASE=/ora/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=sagu
TNS_ADMIN=$ORACLE_HOME/network/admin
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
 
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export TNS_ADMIN
export LD_LIBRARY_PATH  
export PATH
unset USERNAME
 
Se preferir, adicione também o trecho abaixo no arquivo /etc/profile:

#para o oracle 11g
if [ $USER = "oracle" ]; then
   ORACLE_BASE=/ora/app/oracle
   ORACLE_HOME=$ORACLE_BASE/product/11.2.0
   ORACLE_SID=sagu
   TNS_ADMIN=$ORACLE_HOME/network/admin
   LD_LIBRARY_PATH=$ORACLE_HOME/lib
   PATH=$PATH:$ORACLE_HOME/bin
 
   export ORACLE_BASE
   export ORACLE_HOME
   export ORACLE_SID
   export TNS_ADMIN
   export LD_LIBRARY_PATH
   export PATH
   unset USERNAME
fi
 

Iniciando a instalação

Será preciso logar como usuário oracle, porém, haverá grandes chances do terminal X (xterm) não funcionar, por não estar configurado. Mesmo configurando a variável de ambiente DISPLAY, ainda sim, nessa instalação não foi possível. A solução simples foi fechar a sessão atual o logar no Gnome como usuário oracle.

Já logado como usuário oracle e com uma tela de terminal aberta, siga os passos abaixo:


$ cd /ora
Descompacte o arquivo do banco de dados:

$ unzip ~/linux_11gR2_database_1of2.zip
$ unzip ~/linux_11gR2_database_2of2.zip
 
Antes de iniciar a tela de instalação do banco de dados, é melhor reiniciar a máquina para que as variáveis e arquivos de configuração modificados possam ser lidos novamente.

Entre no diretório do instalador e execute-o:

$ cd /ora/database
$ ./runInstaller -ignoreSysPrereqs 
 
A partir de agora será mostrada a tela de instalação do Oracle. Prossiga com uma nova instalação do banco de dados.
No decorrer da instalação serão feitos testes de variáveis, bibliotecas, distribuição Linux e outros. Alguns erros serão mostrados, mas continue assim mesmo.

Etapas da instalação

A seguir estão os valores definidos nas telas durante o processo de instalação:
TELA DESCRIÇÃO Opção/Ação selecionada
1 CONFIGURAR ATUALIZAÇÃO DE SEGURANÇA * desabilite a opção “Prefiro receber atualização…”
= informe um email
2 OPÇÃO DE INSTALAÇÃO –> Criar e configurar um banco de dados
3 CLASSE DO SISTEMA –> Classe de Servidor
4 OPÇÕES DE GRADE –> Instalação do banco de dados de instância única
5 TIPO DE INSTALAÇÃO –> Instalação avançada
6 IDIOMAS DO PRODUTO –> seleção padrão (pré-definida): Inglês e Português do Brasil
7 EDIÇÃO DO BANCO DE DADOS –> Enterprise Edition ou Standard Edition
8 LOCAL DE INSTALAÇÃO – Aqui o Oracle vai consultar as variáveis de ambiente e preencher as opções automaticamente
= Oracle Base: /ora/app/oracle
= Localização do Software: /ora/app/oracle/product/11.2
9 CRIAR INVENTÁRIO = opção padrão: /ora/app/oraInventory
10 TIPO DE CONFIGURAÇÃO –> Finalidade Geral / Processamento de Transações
11 IDENTIFICADORES DO BANDO DE DADOS = Nome do bando de dados global: dharma.incol.com.br
= Oracle Service Identifier (SID): sagu
12 OPÇÕES DE CONFIGURAÇÃO –> Memória: escolha opção “Ativar Gerenciamento Automático da Memória”
–> Conjunto de caracteres: “Utilizar o default” (WE8MSWIN1252
–> Segurança: opção “Asserção de todas as novas definições de segurança”
–> Exemplos de Esquema: não
13 OPÇÕES DE GERENCIAMENTO –> opções padrões
14 ARMAZENAMENTO DO BANCO DE DADOS –> Sistema de Arquivos
= Localização: /ora/app/oracle/oradata
15 BACKUP E RECUPERAÇÃO –> Não ativar backups automatizados
16 SENHAS DE ESQUEMAS = defina as senhas (sys7i$R0)
17 GRUPOS DO SISTEMA OPERACIONAL = OSDBA: dba
= OSOPER: oinstall
18 VERIFICAÇÃO DE PRÉ-REQUISITOS – O Oracle fará uma checagem no sistema fazendo verificação dos requisitos para instalação.
As pendências serão listadas, como por exemplo, pacotes não encontrados ou parâmetros do kernel inválidos, os quais
podem ser corrigidos antes de iniciar a instalação. Tente corrigir todos os erros possíveis antes de continuar.
Importante ressaltar que o Oracle procura por pacotes em versões específicas, o que significa que o pacote pode
existir em uma versão mais nova não sendo encontrado pelo Oracle e colocado como erro. O melhor a fazer é se certificar
que todos os pacotes estejam instalados, mesmo que em versões mais novas. Depois clique na opção Ignorar Tudo e
continue.
19 RESUMO –> Finalizar
OBS.: certifique-se que todos os pacotes exigidos estejam instalados, mesmo que em versões mais novas. A primeira instalação acusou falha em não encontrar alguns pacotes, porém versões mais novas estavam instaladas no sistema, o que garantiu uma instalação com sucesso.

Acesso ao banco de dados

O Oracle 11g oferece acesso web para consulta e gerenciamento do banco de dados. Os endereços abaixo foram fornecidos no final da instalação:


Url do iSQL*Plus
http://localhost:5560/isqlplus
http://localhost:5561/isqlplus 
Url do iSQL*Plus DBA
http://localhost:5560/isqlplus/dba                            
Url do Database Controle do Enterprise Manager 11g
http://localhost:1158/em 

Start no Banco de Dados 

 

O jeito mais fácil

O servidor foi reiniciado para testar se o banco será ativado corretamente após um boot. Como ele não faz o start automático, é preciso fazê-lo explicitamente.

Segue a maneira mais simples de startar o banco de dados. Logado como usuário oracle execute os passos abaixo:

Ativando o listener
$ /ora/app/oracle/product/11.2/bin/tnslsnr & 
ou
$ /ora/app/oracle/product/11.2/bin/lsnrctl start

Entre no sqlplus
$ sqlplus sys/sys7i$R0 as sysdba
No sqlplus levante o banco de dados
startup
 

Start de outros serviços Oracle

    Para utilizar o isqlplus (ferramenta web)
$ /ora/app/oracle/product/11.2.0/bin/isqlplusctl start
Para utilizar Enterprise Manager (ferramente web)
$ /ora/app/oracle/product/11.2.0/bin/emctl start dbconsole
 

Observações

Caso o listener do Oracle não funcione corretamente ou o IP do servidor precise ser trocado, verifique os arquivos listener.ora e tnsnames.ora, trocando o nome da máquina no parâmetro HOST pelo ip correto da máquina. 

sexta-feira, 13 de novembro de 2009

Ubuntu One - Serviço de compartilhamento e sincronização de arquivos

O Ubuntu One é um serviço on-line de armazenamento e sincronização de arquivos criado pela Canonical. Para rodá-lo, o usuário precisa ter o Ubuntu em sua máquina (9.04 ou versões futuras), mas é possível acessar (de maneira limitada) o conteúdo armazenado através de qualquer navegador, independente de sistema operacional.

O Ubuntu oferece, pelo menos inicialmente, dois planos: um gratuito com 2 GB para armazenamento de arquivos, e outro com 50 GB, mas que custa 10 dólares por mês. No momento, para ter acesso ao serviço, é necessário solicitar um convite nesta página, que também avisa que o usuário terá que criar uma conta no Launchpad, caso ainda não tenha uma.

Uma vez que o usuário tenha recebido e confirmado o seu convite, deverá instalar o cliente do Ubuntu One em sua página. A instalação é fácil, pois requer apenas alguns cliques e é descrita com detalhes no site do Ubuntu. Com o programa já instalado, o conteúdo do usuário no Ubuntu One fica disponível como se fosse um diretório local, isto é, armazenada em seu próprio computador.

Por padrão, é criado o diretório Ubuntu One. Todo o conteúdo armazenado ali é automaticamente armazenado no diretório virtual da Canonical. O mesmo processo de instalação pode ser feito em outra máquina, usando a mesma conta, assim todo o conteúdo desse diretório firacá compartilhado e sincronizado para os dois ou mais micros. É show de bola!

Existem outras opções para o mesmo serviço: DropBox, Live Mesh , e Sky Drive. Todos são bons. Particularmente gostei bastante do DropBox, que oferece também 2GB de armazenamento. o SkyDrive é o mais generoso, oferecendo 25GB de armazenamento!!

terça-feira, 20 de outubro de 2009

FreeNX - Acesso remoto via SSH com interface gráfica

Muito boa essa ferramenta. Permite fazer conexão ssh de um servidor usando a interface gráfica, tal qual o VNC ou RDP do windows. Logicamente que para isso é necessário ter a ferramente client instalada no cliente e o server instalado no servidor.
 

Instalação no Servidor

Baixe os pacotes em nomachine.

Na última instalação a versão disponível era a 3.2.0-13. Pegue os pacotes DEB e faça o download do client, server e node. Instale esses pacotes:


  $ sudo dpkg -i xclient_3.2.0-9_i386.deb                 
  $ sudo dpkg -i xnode_3.2.0-10_i386.deb                
  $ sudo dpkg -i nxserver_3.2.0-13_i386.deb           

Após a instalação será criado menu NX Client for Linux dentro da pasta Internet.

A pasta de instalação do FreeNX fica em /usr/NX.

Configuração


Há uma extensao configuração para o FreeNX, dá até mesmo para criar usuários dentro do FreeNX e usar somente estes ou usar os usuários do sistema. Vamos usar os usuários do sistema mesmo. Para isso as seguintes alterações devem ser feitas no arquivo de configuração do servidor :

  vi /usr/NX/etc/server.cfg                                   

SSHPort = 2200                                    
EnableUserDB = "0"                              
EnablePasswordDB = "0"                       
SSHDAuthPort = "2200"                         


Depois reinicie o daemon...


  invoke-rc.d nxserver restart

Instalando no cliente


Proceda com os mesmos passos na instalação do servidor, mas não é necessária instalação do pacote server, apenas client e node.

Acessando o servidor


Acesse a ferramente pelo menu, escolhendo a opção NX Client for Linux. Coloque um nome para a conexão, endereço IP e protocolo (2200) que será utilizado. Pronto!


Referências e links