administração do servidor para servidor em rack de 1U colocado na intranet: como implantar o aplicativo da Web e atualizar o servidor sem conexão com a Internet? [fechadas]

2

Um departamento de vendas da MNC contratou meus serviços como consultor de software para criar um aplicativo da Web.

Este aplicativo da Web gera arquivos do Excel com base em seus processos de negócios internos.

Este aplicativo da web está pronto e eu disse a eles que preciso implantar isso em um servidor.

O departamento de TI é baseado em outro país e passamos 6 meses obtendo a permissão para um servidor. Depois de muita papelada e burocracia, ainda não vemos sinal de um servidor em lugar algum.

Nossa solução é que o departamento de vendas comprará um servidor 1U nas minhas recomendações. O departamento de vendas também garantiu um lugar em um laboratório no mesmo andar de seus escritórios. O cabeçote de laboratório nos permite colocar um servidor de rack de 1U dentro.

No entanto, temos dois problemas que não estou na melhor posição para responder. Então, estou procurando o conselho de especialistas em administração de servidores aqui.

1) o laboratório só permite que as máquinas sejam conectadas à sua intranet interna. Minha aplicação web, que pode ser acessada através do navegador da web, requer uma URL. Eu estava pensando em obter um endereço IP estático, para que o departamento de vendas possa acessar via http://some-static-ip/webapp

Isso significa que precisamos que o departamento de TI nos ajude. Após os últimos 6 meses de burocracia, o departamento de vendas está preocupado em pedir um endereço IP interno estático.

Existe uma solução alternativa que podemos fazer para evitar pedir ao departamento de TI ajuda?

UPDATE

Eu vou aceitar o conselho do @MichaelHampton e vou acima do departamento de TI sobre o endereço IP estático. Meu foco agora está na segunda questão.

2) Digamos que conseguimos implantar meu aplicativo da web nesse servidor que é colocado na intranet.

Precisamos atualizar regularmente o aplicativo da web e o sistema operacional. (Provavelmente vamos usar a versão do servidor do Ubuntu 12.04)

Não haverá conexão com a Internet para este servidor, pois o laboratório em que ele está conectado está conectado somente à rede interna.

Meu código é colocado no github, já estou preparado para descer todas as vezes por mês para atualizar a base de código para o aplicativo da web usando um pen drive.

No entanto, não sei o que posso fazer para atualizar o sistema operacional sem acesso à Internet.

Existe uma solução de hardware / software que posso considerar para superar isso? Acredito que posso convencer o departamento de vendas a pagar por essa solução se fizer sentido.

Por exemplo, eu compro algum tipo de dongle de banda larga móvel que posso conectar ao servidor?

Sempre que vou ao laboratório, preciso desconectar o servidor da rede interna, conectar o dongle ao servidor para que o servidor agora tenha acesso à Internet através do dongle. Eu posso atualizar o sistema operacional do servidor e a base de código facilmente.

Depois que eu terminar, retirarei o dongle e depois conectarei o servidor à rede interna.

UPDATE

Eu gostaria de dar sugestões para a 2ª pergunta para o departamento de TI ou para a gerência acima do departamento de TI.

UPDATE1

Finalmente, encontramos uma forma de a equipe de TI permitir a atualização do servidor abrindo uma conexão por meio do proxy.

Obrigado.

    
por Kim Stacks 08.06.2013 / 07:12

1 resposta

8

Em resposta à sua primeira pergunta, como Michael Hampton sugeriu, você precisa obter um IP estático por meio do grupo de TI. Por conveniência, você deve conversar com eles sobre como obter um registro DNS também, se possível. Um nome de host memorável para o servidor ou aplicativo tornará as coisas mais fáceis para os usuários do aplicativo.

Em resposta à sua segunda pergunta. Para o SO, você pode usar o apt-offline ( documentação está aqui ). Você não precisa conectar um dongle 3G ao servidor ou desconectar nada, você só precisa de uma chave USB. Eu seria cauteloso ao conectar conexões 3G a sistemas em um ambiente de laboratório, pois você pode estar violando controles de segurança em vigor para o ambiente de laboratório.

Primeiro passo, Você precisará ir ao site do cliente e gerar um arquivo de assinatura, que dará ao apt-offline uma linha de base para trabalhar catalogando as versões do pacote instalado na máquina. Salve esse arquivo de assinatura em uma chave USB e leve-o com você.

Por exemplo, para gerar um arquivo de assinatura e salvá-lo em uma chave USB montada em /media/USB , você executaria apt-offline set /media/USB/updates.sig . Você pode substituir updates.sig por qualquer nome de arquivo que facilite a identificação do servidor representado pelo arquivo de assinatura.

Segundo passo, Depois de ter o arquivo de assinatura, você pode executar o apt-offline em uma máquina que tenha uma conexão com a Internet, fornecendo o arquivo de assinatura, e fará o download de todas as atualizações necessárias. apt-offline produzirá um arquivo zip, que você pode copiar para a sua chave USB.

Para fazer o download dos pacotes necessários para atualizar o servidor, com base em um arquivo de assinatura em uma chave USB montada em /media/USB named updates.sig, usando cinco threads de download (para acelerar), em um arquivo zip no mesmo USB nomes de chaves updates.zip, você executaria apt-offline get -t 5 --bundle /media/USB/updates.zip /media/USB/updates.sig .

Passo final, Você pode levar a chave USB contendo o arquivo updates.zip para o tamanho do cliente, e no servidor ubuntu, executar apt-offline install /media/USB/updates.zip para instalar todas as atualizações da chave USB montada em / media / USB , do arquivo updates.zip. Depois de concluído, não se esqueça de seguir novamente o primeiro passo para gerar um novo arquivo de assinatura. Isso salvará você de uma visita ao site do cliente para gerar um novo arquivo de assinatura.

Para atualizar seu aplicativo, a maneira mais fácil (sem saber se você tem um repositório git no servidor no laboratório do cliente) seria exportar o código mais recente para um arquivo morto, do repositório git, usando git archive . Isso é discutido com mais profundidade aqui .

Por exemplo, o primeiro passo seria arquivar uma cópia localmente verificada do código em um arquivo tar compactado do Bzip2, você executaria git archive master | bzip2 > /media/USB/latest-code.tar.bz2 do diretório do repositório. Isso salvaria o código para o latest-code.tar.bz2 em uma chave USB montada em / media / USB.

O segundo passo seria, no servidor da rede do cliente, fazer um backup do código antigo, caso você precise fazer o backup de sua atualização. Você pode fazer um backup do código, supondo que ele esteja armazenado em / var / www / application, executando tar cpjfv /media/USB/code-backup.tar.bz2 /var/www/application . Isso criará um arquivo compactado tar do Bzip2, preservará as permissões e o salvará em um arquivo chamado code-backup.tar.bz2 na chave USB montada em / media / USB.

Finalmente, você pode extrair o arquivo contendo o novo código da chave USB usando tar jxfv /media/USB/latest-code.tar.bz2 . Isso extrairia o conteúdo do arquivo latest-code.tar.bz2 de uma chave USB montada em /media/USB no diretório atual. Usando o exemplo da etapa anterior, você usaria cd /var/www/application primeiro para alterar o diretório para a pasta em que o aplicativo é hospedado primeiro.

Espero que ajude!

    
por 08.06.2013 / 09:09