Mostrando postagens com marcador Instalação. Mostrar todas as postagens
Mostrando postagens com marcador Instalação. Mostrar todas as postagens

quarta-feira, 30 de junho de 2010

Instalando o Fuse Message Broker v5.3 no Ubuntu 10.04 LTS

Para instalar o fuse message broker v5.3 no Ubuntu 10.04 LTS inicialmente devemos efetuar o download do arquivo de instalação. Para isso executamos os seguintes comandos:

cd ~
mkdir installs
cd installs
mkdir fuse-message-broker
cd fuse-message-broker
wget http://repo.fusesource.com/maven2/com/iona/fuse/fuse-message-broker/5.3.1-02-00/fuse-message-broker-5.3.1-02-00-unix.bin


Após o término do download, vamos executar o instalador em modo console:

chmod +x fuse-message-broker-5.3-unix.bin
sudo sh fuse-message-broker-5.3-unix.bin -i console


Devemos executar o instalador com o comando sudo pois instalaremos o aplicativo na pasta /opt e é necessário ter permissão de escrita para instalar nesta pasta. O termo de licença será apresentado e devemos pressionar até que este seja finalizado. Quando este terminar, devemos aceitar os termos e então será oferecido o seguinte caminho de instalação /opt/progress/fuse-message-broker-5.3.1-02-00 (ou algo semelhante dependendo da sua versão). Eu gosto de mudar esta estrutura para facilitar meus scripts para /opt/fuse-message-broker-5.3.1.

O script começará a instalação e uma barra de progresso será exibida. Ao finalizar o instalador oferece a opção de salvar a configuração da instalação caso seja necessário executar uma instalação idêntica em outros servidores ou caso queira efetuar a mesma instalação novamente posteriormente. Digite Y caso queira salvar ou N caso não seja necessário.

Uma mensagem de sucesso será exibida contendo a pasta em que o software foi instalado. Pressione para retornar ao prompt. É válido ressaltar que a qualquer momento durante a instalação podemos inserir o comando de desistência:

quit

vamos colocar o usuário fuse-message-broker como owner da nossa pasta:

sudo chown fuse-message-broker /opt/fuse-message-broker-5.3.1 -R

Para configurar o software gerenciador de filas, devemos executar o seguinte comando:

cd /opt/fuse-message-broker-5.3.1/conf
sudo pico activemq.xml


Este arquivo contém algumas configurações para o servidor de filas. Todas as linhas são comentadas e aconselho a ler cada um dos comentários com paciência e pesquisar á respeito quando tiver alguma dúvida. O primeiro item que mudo na minha configuração é a seguinte:

<broker ... brokerName="localhost">

para:

<broker ... brokerName="myname-broker">

Vamos adicionar um usuário para executar inicializar o Fuse Message Broker com permissões limitadas e criar um diretório de logs para jogar a saída da inicialização do nosso broker:

sudo adduser --system fuse-message-broker
sudo -u fuse-message-broker mkdir /home/fuse-message-broker/logs


E vamos criar um script para inicialização da nossa instância como um serviço do ubuntu:

cd /etc/init.d/
sudo pico fuse-message-broker


E inserir o seguinte conteúdo dentro do arquivo:

#! /bin/sh

FUSEMESSAGEBROKER_HOME=/opt/fuse-message-broker-5.3.1

start(){
echo "Starting Fuse Message Broker 5.3.1
sudo -u fuse-message-broker sh ${FUSEMESSAGEBROKER_HOME}/bin/activemq > /home/fuse-message-broker/logs/out.log
}
stop(){
echo "Stopping Fuse Message Broker 5.3.1"
sudo -u fuse-message-broker sh ${FUSEMESSAGEBROKER_HOME}/bin/activemq-admin stop >> /home/fuse-message-broker/logs/out.log
sleep 60
}
restart(){
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: fuse-message-broker {start|stop|restart}"
exit 1
esac
exit 0


Para inicializar o nosso broker utilizamos o seguinte comando:

sudo service fuse-message-broker start

Para parar o mesmo utilizamos:

sudo service fuse-message-broker stop

Para acompanhar a saída da nossa instância (que não está sendo redirecionada para a saída padrão) devemos executar o seguinte comando:

tail -f /home/fuse-message-broker/logs/out.log

Futuramente configuraremos nosso fuse message broker para habilitar outros protocolos e otimizar seu desempenho, mas por enquanto tempo o broker rodando com as configurações padrões.

Referências:
http://fusesource.com/docs/broker/5.3/getting_started/index.html

Instalando JBoss 5.1 GA no Ubuntu Server 10.04

Neste artigo presumo que você já tenha instalado a JDK 6 e tenha o servidor ubuntu executando corretamente. Primeiramente é necessário baixar o instalador do JBoss 5.1 GA do site da jboss.org. Para efetuar o download, primeiramente criaremos uma pasta para armazenar o arquivo.

cd ~
mkdir installs
cd installs
mkdir jboss
cd jboss
wget http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA.zip.MD5/download


Quando baixamos o arquivo de instalação do JBoss, este vêm em formato .zip e será necessário descompactá-lo, para efetuarmos este procedimento precisamos da ferramenta unzip. Para instalar o unzip utilize o seguinte comando (ps. quando instalo o unzip já aproveito e instalo a ferramenta zip, para compactar arquivos):

sudo apt-get install unzip zip

Instalaremos o servidor de aplicação dentro da pasta /opt executando os seguintes comandos:

unzip jboss-5.1.0.GA.zip
sudo mv jboss-5.1.0.GA


Agora vamos criar um usuário para executar o servidor de aplicação:

sudo adduser --system jboss
sudo -u jboss mkdir /home/jboss/logs


E alterar o owner da nossa pasta jboss-5.1.0.GA para o usuário jboss (para que este tenha permissão de manipular os arquivos e executar os scripts existentes na pasta. A opção -R adiciona a permissão de forma recursiva para as subpastas e arquivos):

sudo chown jboss /opt/jboss-5.1.0.GA -R

E para facilitar nossa vida, vamos criar um script que permite inicializar o jboss como serviço no linux:

cd /etc/init.d/
sudo pico jboss


E insira o seguinte conteúdo no script em criação:

#! /bin/sh

JBOSS_HOME=/opt/jboss-5.1.0.GA

start(){
echo "Starting jboss.."
sudo -u jboss ${JBOSS_HOME}/bin/run.sh -b 0.0.0.0 > /home/jboss/logs/out.log &
}

stop(){
echo "Stopping jboss.."
sudo -u jboss ${JBOSS_HOME}/bin/shutdown.sh -S >> /home/jboss/logs/out.log &

#give time to shutdown jboss services.
sleep 60

#kill all java services started by user jboss
su -l jboss -c 'killall java'
}

restart(){
stop
start
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: jboss {start|stop|restart}"
exit 1
esac

exit 0


Confirme que o script possui permissão de execução:
ls -l

e caso não tenha execute o seguinte comando:

sudo chmod +x jboss

E então use o seguinte comando para inicializar o jboss:

sudo service jboss start

Para parar o serviço do jboss basta executar:

sudo service jboss stop

E caso decida inicializar o serviço do jboss ao inicializar o sistema opercional, basta executar o seguinte comando:

sudo update-rc.d /etc/init.d/jboss defaults

Caso queira acompanhar a inicialização, basta seguir os seguintes passos:

sudo service jboss start

Mudar de terminal

tail -f /home/jobss/out.log

Referência:

http://dhydrated.wordpress.com/2009/09/25/setup-jboss5-in-ubuntu/

terça-feira, 8 de junho de 2010

Hierarquia de Sistema de Arquivos para instalação e distribuição de Aplicativos Linux

Ontem estava discutindo com um amigo sobre qual seria a melhor estrutura de instalação para um software no sistema operacional linux, e então resolvi fazer uma pesquisa simples á respeito do assunto. Simplificando a explicação, vamos utilizar como exemplo um servidor de aplicações (i.e. Weblogic). Em um cenário ideal, colocaríamos o software em /usr, os arquivos de configuração em /etc, as aplicações do servidor em /srv e por fim os logs em /var/log.

Esta seria a estrutura ideal porém muitos aplicativos não permitem tal divisão. Como exemplo disso temos o JBoss Application Server, que até a versão 5.1 não permitia que os arquivos de configuração fossem colocados em /etc. Neste caso, muitas vezes o problema pode ser resolvido colocando o seu software em /usr/local ou /opt. Este procedimento não é a melhor opção, mas ainda assim é uma prática válida.

Existe um site destinado a explicar a hierarquia de sistema de arquivos para linux (http://proton.pathname.com/fhs/) e este descreve as melhores práticas para instalação de softwares em estrutura linux para desenvolvedores e administradores de servidores.

Referências:
http://chiralsoftware.com/linux-system-administration/jboss-server-deployment.seam

terça-feira, 18 de maio de 2010

Configurando o Samba para integração Windows/Linux no Ubuntu 10.04 LTS Server

Este procedimento foi executado em uma máquina virtual configurada sobre o Windows 7. O software de virtualização utilizado foi o VMWare Workstation. O Samba é um componente que permite a integração entre o Windows e o Linux (mais em http://www.samba.org/). No final da instalação do Ubuntu 10.04 LTS Server são oferecidos diversos serviços adicionais que podem ser instalados (ex. LAMP, DNS, etc) e um destes é o Samba.

Caso não tenha selecionado a sua inclusão durante a instalação do sistema operacional, é possível instalar o pacote através do aptitude (Gerenciador de pacotes do Ubuntu). Para instalar o samba e os componentes necessários devemos executar o seguinte comando:

sudo apt-get install samba

Para configurar o serviço, primeiramente necessitamos pará-lo, logo, Ubuntu 10.04 utilizamos o comando:

sudo service smbd stop

Enquanto que nas versões anteriores utilizávamos o comando:
sudo /etc/init.d/samba stop

Agora que já instalamos os pacotes necessários, precisamos começar a configuração do Samba. A configuração é feita no arquivo smb.conf, porém, devido a possibilidade de cometer algum erro, primeiramente efetuaremos um backup do arquivo existente (default):

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.template

Então efetuaremos um comando touch para alterar a data de criação/modificação do arquivo que será alterado (o comando touch cria um arquivo caso este não exista ou altera a data de criação/modificação caso o mesmo já exista):

sudo touch /etc/samba/smb.conf

O passo anterior não é obrigatório porém modifica as propriedades do arquivo que iremos alterar e facilita a distinção do mesmo. Agora efetuaremos as alterações necessárias para que a integração funcione:

sudo pico /etc/samba/smb.conf

Abaixo está a configuração que deve ser inserida no arquivo smb.conf:

[global]
; Configurações gerais do servidor
netbios name = NOMEDAMAQUINALINUX
server string =
workgroup = WORKGROUPDOWINDOWS
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast

; defina como yes caso sua máquina windows possua um IP fixo e no para máquinas
; com IP dinâmico.
wins support = yes

printing = CUPS
printcap name = CUPS

syslog = 1
syslog only = yes

; NOTE: Caso você necessite de acesso aos diretórios home do usuário descomente
; as linhas abaixo e configure de acordo com a sua necessidade
;[homes]
;valid users = %S
;create mode = 0600
;directory mode = 0755
;browseable = no
;read only = no
;veto files = /*.{*}/.*/mail/bin/

; NOTE: É necessário configurar caso você execute o samba em um controlador de
; domínio primário.
; Não cobrimos configuração de controlador de domínio primário aqui.
;[netlogon]
;path = /var/lib/samba/netlogon
;admin users = Administrator
;valid users = %U
;read only = no

; NOTE: É necessário configurar caso você execute o samba em um controlador de
; domínio primário.
; Não cobrimos configuração de controlador de domínio primário aqui.
;[Profiles]
;path = /var/lib/samba/profiles
;valid users = %U
;create mode = 0600
;directory mode = 0700
;writeable = yes
;browseable = no

; NOTE: Aqui configuramos um local para construir repositório de drivers de
; impressora para o windows. Não foi coberto aqui.
[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775

[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no

; Descomente as linhas abaixo caso precise compartilhar o CD/DVD-ROM
;[DVD-ROM Drive]
;path = /media/cdrom
;browseable = yes
;read only = yes
;guest ok = yes

[MyFiles]
path = /media/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = NOMEDEUSUARIOWINDOWS
force group = NOMEDEUSUARIOWINDOWS


Nas configurações demonstrada acima existem alguns valores que devem ser substituídos para a sua necessidade. Os valores são:

NOMEDAMAQUINALINUX = Nome da máquina windows envolvida na configuração. Pode ser obtido clicando com o botão direito sobre o ícone "Meu Computador", selecionando "Propriedades" e verificando o "Nome da Máquina".
WORKGROUPDOWINDOWS = para encontrar o valor a ser inserido no lugar deste texto devemos seguir o mesmo procedimento mencionado acima, porém desta vez verificando o item "Grupo de Trabalho".
NOMEDEUSUARIOWINDOWS = Nome do usuário utilizado para entrar no windows. Pode ser verificado navegando em "Painel de Controle", "Contas de Usuários" e então "Modificar Sua Foto". Na parte superior da janela será exibido seu nome de usuário.

Após finalizarmos a criação do arquivo acima precisamos criar o diretório a ser compartilhado e alterar suas permissões:

sudo mkdir /media/samba
sudo chmod 0777 /media/samba

Agora devemos inicializar o serviço novamente utilizando o seguinte comando no Ubuntu 10.04 LTS Server:

sudo service smbd start

Ou o seguinte comando em versões anteriores:

sudo /etc/init.d/samba start

Nosso serviço está em execução, porém é necessário inserir e habilitar um usuário para autenticação do windows no nosso servidor linux. Esse procedimento é executado da seguinte forma:

sudo useradd -s /bin/true NOMEDEUSUARIOWINDOWS
sudo smbpasswd -L -a NOMEDEUSUARIOWINDOWS
sudo smbpasswd -L -e NOMEDEUSUARIOWINDOWS


Finalizamos a configuração do Samba no nosso servidor e para efetuar um teste retornamos ao Windows e clicamos em "Iniciar", Selecionamos "Programas", "Acessórios" e então "Executar" ou pressionamos o atalho "Win + r". Na caixa que será aberta digitaremos o seguinte comando caso a configuração de wins tenha sido definida como "yes" (Máquinas com IP fixo):

\\NOMEDAMAQUINALINUX\MyFiles

ou o seguinte comando caso wins tenha sido definida como "no" (Máquinas com IP dinâmico):

\\IPDAMAQUINALINUX\MyFiles

Para pegar o ip da máquina linux basta acessar o servidor e digitar o seguinte comando em um terminal:

ifconfig

Agora sua máquina Windows consegue acessar um diretório do servidor Linux e esperamos que isso facilite sua transferência de arquivos entre um servidor de desenvolvimento ou uma máquina virtual. Lembramos que não é seguro liberar compartilhamento de pastas em servidores e este procedimento deve ser executado com parsimônia. Caso queira aumentar um pouco a segurança do compartilhamento é possível definir as interfaces de rede através das quais o compartilhamento pode ser acessado inserindo a seguinte linha no smb.conf:

[global]
...
interfaces = lo, eth0 ; apenas acesso local ou através da interface eth0
; que normalmente é a interface para RJ45.
bind interfaces = true;

Finalizamos assim a configuração do Samba no Ubuntu 10.04 LTS Server e estamos prontos para acessar a pasta e transferir arquivos entre nossa máquina Windows e Linux.

Referência:
http://ubuntuforums.org/showthread.php?t=202605

Instalando o MySQL 5.1 no Ubuntu 10.04 LTS Server

Ontem instalei o MySQL no Ubuntu 10.04 LTS Server e o procedimento foi bem simples. O passo a passo explicado abaixo foi realizado utilizando uma máquina virtual (VMWare) e esta tinha acesso a internet através de NAT.

Minha instalação do ubuntu estava limpa, então tive que editar a lista de recursos para que o apt me oferecesse todos os pacotes necessários. Para isso executei o comando:

sudo pico /etc/atp/sources.list

removi os comentários de repositórios indisponíveis (para isto basta remover o caracter # da linha a ser descomentada). Fechei o arquivo (ctrl + x) e mandei que salvasse na saída (ctrl + s).

Após atualizar o arquivo sources.list, executei o comando para que o apt verificasse os novos repositórios e disponibilizasse os softwares para instalação:

sudo apt-get update

Neste ponto o sistema operacional estava pronto para a instalação do MySQL, o qual foi executado com o seguinte comando:

sudo apt-get install mysql-server-5.1 libmysqlclient16-dev

Quando terminamos a instalação da base de dados o serviço é automaticamente inicializado. Para verificar se este foi inicializado com sucesso podemos verificar se existe alguma porta ouvindo requisições para o mysql através do comando:

netstat -tap

Caso este não tenha sido inicializado podemos fazê-lo através do comando:

sudo service mysql start

Por questões de segurança o MySQL permite conexões apenas do localhost (default bind address). Para aceitarmos conexões de endereços externos devemos abrir o arquivo my.cnf através do comando:

sudo pico /etc/mysql/my.cnf

e comentar a linha:

bind-address = 127.0.0.1

Para comentar a linha basta adicionar um # no começo:

# bind-address = 127.0.0.1

Após todas essas alterações reiniciei o serviço utilizando o comando

sudo service mysql restart

Para reforçar um pouco a segurança do servidor de base de dados efetuei alguns procedimentos básicos. Primeiramente conectei no Mysql através do seguinte comando:

mysql -u root -p

O prompt bash mudou para:

mysql>

indicando que estava dentro do aplicativo cliente, conectado ao MySQL. Então executei um comando para indicar que gostaria de utilizar a base de dados mysql:

use mysql;

Após executar este comando, executei um procedimento para remoção de possíveis contas de usuário guest (convidado) e atualizar os privilégios:

DELETE FROM user WHERE user='';
FLUSH PRIVILEGES;
EXIT;

Depois de executar estes procedimentos a configuração básica do servidor MySQL na minha máquina virtual estava disponível para uso. Futuramente colocarei instruções para reforçar a segurança da base de dados.