Configuração do servidor
(→Serviços Web) |
|||
Linha 23: | Linha 23: | ||
Para iniciar o servidor Glassfish, veja a próxima seção. | Para iniciar o servidor Glassfish, veja a próxima seção. | ||
− | |||
= Servidor de Aplicações (Glassfish) = | = Servidor de Aplicações (Glassfish) = |
Edição de 14h50min de 19 de março de 2012
Tabela de conteúdo |
Serviços Web
Para disponibilizar as aplicações web, o servidor utiliza os SGBDs postgres e mysql e os servidores web Apache e Glassfish. Esse serviços são iniciados automaticamente. Caso haja uma falha e eles não sejam iniciados, é possível iniciá-los através de um script.
Conecte-se ao servidor por ssh:
ssh git@200.18.67.61 -p4731
E execute o seguinte comando:
./start_webservices.sh
É possível também iniciar os serviços apache httpd, mysql e postgres individualmente:
sudo service httpd start
sudo service mysqld start
sudo service postgresql-9.1 start
Para iniciar o servidor Glassfish, veja a próxima seção.
Servidor de Aplicações (Glassfish)
Iniciar e parar o servidor
Inicie sempre o servidor utilizando o usuário git (e não o root).
Conecte-se ao servidor por ssh:
ssh git@200.18.67.61 -p4731
Os seguintes comandos estão disponíveis para iniciar, parar e reiniciar o servidor, respectivamente:
/var/glassfish/glassfish/bin/asadmin start-domain
/var/glassfish/glassfish/bin/asadmin stop-domain
/var/glassfish/glassfish/bin/asadmin restart-domain
Rodar os comandos sem sudo, pois eles devem ser executados pelo usuário git. Caso o servidor seja iniciado por outro usuário, a interface com o UnBBayes não funcionará, pois ela utiliza swing e exige que o servidor não seja Headless.
Log do servidor
O log do servidor está em /var/glassfish/glassfish/domains/domain1/logs/server.log
. Caso seja excluído o arquivo, um novo será criado.
Tenha em mente que o horário configurado no servidor pode não ser exatamente o da sua máquina. Para verificar a data e hora, pode-se utilizar o comando date
.
Interface de administração
Essa interface está disponível na porta 4848. No entanto, essa porta está bloqueada para acesso através de outras máquinas. Para contornar o problema você pode fazer X Forwarding, que permite executar programas que tenham janelas.
Se utiliza sistemas baseados em unix (linux, bsd, osx), utilizar a opção -X para habilitar a interface gráfica:
ssh git@200.18.67.61 -p4731 -X
Depois, basta usar o firefox para abrir a interface administrativa:
firefox http://200.18.6761.4848
Se não funcionar, tente o seguinte comando antes de executar o firefox:
export DISPLAY=localhost:10.0
No windows também é possível usar X forwarding para abrir programas que tenham janelas. Veja o artigo X Forwarding with Putty on Windows.
Caso prefira administrar por linha de comando, pode utilizar o asadmin que está em /var/glassfish/glassfish/bin/asadmin
. Veja aqui o Manual do asadmin.
Servidor de Banco de dados (Postgres)
Administrar o banco de dados
Pode-se utilizar a ferramenta pgadmin para administrar o banco. Como a porta do banco de dados está bloqueada para fazer acesso externo, deve-se utilizar X Forwarding. Para detalhes, veja artigo acima Interface de administração.
Ao conectar-se ao servidor tilizar a opção -X para habilitar a interface gráfica:
ssh git@200.18.67.61 -p4731 -X
Depois, abrir o pgadmin com o comando:
pgadmin3 &
O & comercial é opcional e serve para liberar o terminal enquanto o programa está sendo executado, a fim de que outros comandos possam ser utilizados.
Também é possível administrar o banco utilizando interface de linha de comando.
psql --user simdecs
Entre com a senha (tatuira) e a interface do psql estará livre para a entrada de comandos. Para utilizar a interface de linha de comandos, dê uma olhada no Manual.
Iniciar e parar o sistema de gerenciamento de banco de dados
Para iniciar, parar e reiniciar o SGBD, pode-se utilizar os seguintes comandos:
sudo service postgresql-9.1 start
sudo service postgresql-9.1 stop
sudo service postgresql-9.1 restart
Repositório de Código (Git)
Criar um novo projeto
Caso precise de um novo projeto, conecte-se ao servidor por ssh:
ssh git@200.18.67.61 -p4731
Digite o seguinte comando:
sudo ./create_git_project nomedoprojeto.git
Entre com a senha do usuário git e será exibida uma mensagem informando que o repositório foi criado.
Você pode visualizar o projeto no gitweb.
Caso queira editar a descrição do projeto, deve editar o arquivo "description" dentro do diretório /home/git/nomedoprojeto.git
.
Excluir um projeto
Também existe um script para excluir um projeto. Antes de usar o comando abaixo verifique bem o nome do projeto e tenha certeza de que quer excluí-lo pois não é possível recuperar os arquivos.
Conecte-se ao servidor por ssh:
ssh git@200.18.67.61 -p4731
Digite o seguinte comando:
sudo ./delete_git_project nomedoprojeto.git
Entre com a senha e o projeto será excluído. Não será apresentada nenhuma mensagem de confirmação.
Servidor Web (Apache)
Aplicações Web
Diversas aplicações são servidas pelo apache httpd. Dentre elas:
- Wiki: Mesmo sistema em que é feita a wikipedi.a Media wiki Website
- Gitweb: Exibição de projetos Git na web. Git Website
- Hudson: Integração contínua. Hudson Website
- Mantis: Bug tracking. Mantis Website
- SIAP dev: SIAP para testes (não oficial).
Essas aplicações estão no diretório /var/www/html
.
Integração com o Glassfish
Para poder acessar externamente as aplicações Java servidas pelo Glassfish, este foi integrado ao Apache httpd através do tomcat mod_jk. Para mais detalhes sobre a configuração, veja Setting up Glassfish behind Apache.
Após a compilação do mod_jk este foi colocado no diretório de modulos do apache e configurações foram adicionadas. Para adicionar mais um projeto, deve-se editar a seguinte parte do arquivo /etc/httpd/conf/httpd.conf
:
<VirtualHost 200.18.67.61:80>
ServerName lince.ufcspa.edu.br
JkMount /simdecs* worker1
JkMount /simdecs2* worker1
</VirtualHost>
Para adicionar mais um projeto, deve-se incluir mais uma linha com JkMount. Por exemplo, JkMount /MeuProjeto* worker1
.
Gerenciamento de Partições
Para ver as partições existentes no sistema, pode-se usar df -h
. A resposta será similar a:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 4.0G 981M 2.8G 26% /
tmpfs 3.9G 12K 3.9G 1% /dev/shm
/dev/sda3 194M 81M 104M 44% /boot
/dev/mapper/VolGroup00-LogVol05 4.0G 1.1G 2.7G 30% /home
/dev/mapper/VolGroup00-LogVol03 3.0G 84M 2.8G 3% /tmp
/dev/mapper/VolGroup00-LogVol02 6.0G 4.5G 1.2G 80% /usr
/dev/mapper/VolGroup00-LogVol04 30G 5.7G 23G 21% /var
As partições que iniciam por /dev/mapper usam LVM (Logical Volume Manager). É possível redimensioná-las através dos comandos lvextend e resize2f
. Antes disso, é interessante saber o espaço disponível em disco. Para isso, use o comando pvdisplay
, que apresentará saída similar a
--- Physical volume ---
PV Name /dev/sda5
VG Name VolGroup00
PV Size 925.61 GiB / not usable 13.00 MiB
Allocatable yes
PE Size 32.00 MiB
Total PE 29619
Free PE 27801
Allocated PE 1818
PV UUID ME97yJ-H7Hn-G525-ROi4-v4kA-dq1F-FuWSt2
Como exemplo, vamos redimensionar a última partição da lista acima para 100GB:
lvextend -L 100G VolGroup00/LogVol04
resize2fs /dev/VolGroup00/LogVol04