Rep?sitorio de pacotes interno atrav?s do APache

  • Post author:
  • Post category:Sem categoria

Um dos maiores problemas para usu?rio e administradores de sistemas, ? quando possuimos diversas esta??es de trabalho para ger?nciar, configurar e atualizar e temos que baixar de reposit?rios de pacotes Apt-Get pela internet em todas as esta??es, gerando assim um alto tr?fego na rede, e diminuindo dependendo da quantidade de m?quinas e do link de internet, considerav?lmente a performance e a produtividade.

Com isso a melhor solu??o ? criar um reposit?rio de pacotes local,ao inv?s de baixarmos da internet todos os pacotes necess?rios para nossas instala??es em todas as esta??es de trabalho, baixamos em uma ?nica m?quina e depois copiamos para um reposit?rio de pacotes local, que ser?o baixados e instalados pela rede interna.

Neste artigo estaremos exemplificando como configurar um reposit?rio de pacotes para Apt-Get no Debian Gnu/Linux, e resolvendo assim o desperdicio tr?fego na internet.

Informa??es sobre o sistema

Debian Gnu/Linux R4 /i386-2.4.28
Servidor Web Apache 1.3.33

Pacotes necess?rios
dpkg
dpkg-dev
gzip
apache

Considera??es Iniciais
Para que possamos dar sequ?ncia neste artigo, devemos ter em mente que os pacotes mencionados acima est?o devidamente instalados e configurados em nossa m?quina que ser? o reposit?rio de pacotes, abaixo estarei passando um r?pido exemplo de insta??o e configura??o dos aplicativos acima.
Caso voc? j? possua os pacotes acima instalados e configurados, favor desconsiderar o exemplo de instala??o e configura??o abaixo:

1) Adicionando os mirrors necess?rios para baixar os pacotes atrav?s de um Mirror Externo de Apt-Get, para isso acrescente em seu arquivo /etc/apt/sources.list as linha abaixo:

deb http://security.debian.org stable/updates main
deb http://ftp.br.debian.org/debian/ stable main
deb-src http://ftp.br.debian.org/debian/ stable main
deb http://ftp.us.debian.org/debian stable main
deb-src http://ftp.us.debian.org/debian/ stable main

Obs: No ato do desenvolvimento deste artigo os Mirrors acima possuiam os pacotes necess?rios para est? instala??o, caso voc? tenha problemas para encontrar os pacotes mencionados usando os mirrors acima, verifique o site www.apt-get.org para procurar uma rela??o de Mirrors atualizada.

2) Atualizando o banco de pacotes do Apt e instalando os pacotes necess?rios:
#apt-get update ; apt-get install dpkg-dev apache gzip

3) A configura??o do servidor Apache ? um assunto muito amplo para exemplicar aqui e tamb?m foge do f?co principal deste artigo, por?m para que ele funcione b?sicamente para nosso exemplo devemos editar o arquivo /etc/apache/httpd.conf e seguir o exemplo b?sico de configura??o abaixo:

Procure pela linha ServerName geralmente localizado na linha 310 deste arquivo, caso ServerName esteja comentado, substitua pelo nome de seu servidor web
Ex:

ServerName ws1.fsbox.org

Depois procure pela linha DocumentRoot, e verifique para onde est? apontando o diret?rio de p?ginas p?blicas do Apache
Ex:

DocumentRoot /var/www

Salve e saia do arquivo;

5) Reinicie o servidor Apache para que as altera??es feitas possam entrar em vigor
#/etc/init.d/apache restart
ou
#/etc/init.d/apache stop ; /etc/init.d/apache start

Preparando os arquivos e diret?rios

Para nosso exemplo criei no meu diret?rio p?blico do Apache que est? localizado em /var/www/, um diret?rio chamado mirror-Debian e dentro dele uma pasta chamada debs no qual ficar?o armazenados os pacotes de extens?o .deb
#mkdir -p /var/www/mirror-Debian/debs

Agora devemos fazer backup de todos os arquivos .deb do diret?rio /var/cache/apt/archiver/ para o diret?rio /var/www/mirror-Debian/debs, para isso use o comando:

#cp -Rv /var/cache/apt/archives/*.deb /var/www/mirror-Debian/debs

Logo ap?s devemos criar um arquivo vazio para armazenar as informa??es destes pacotes
Ex:
#touch /var/www/mirror-Debian/arquivo
Obs: N?o ? obrigat?rio que o nome do arquivo seja arquivo, criei este nome para ficar mais f?cil a compreens?o.

Feito isso, devemos ent?o usar o aplicativo dpkg-scanpackages para gerar o conte?do do arquivo de classifica??o dos pacotes existentes dentro do diret?rio debs:
#cd /var/www/mirror-Debian ; dpkg-scanpackages debs arquivo | gzip > debs/Packages.gz

Finalizando
Para finalizar vamos mudar o usu?rio e grupo no qual pertence os diret?rios e sub-diret?rios do exemplo acima:
#chown -Rv www-data.www-data /var/www/mirror-Debian

Com o comando acima passamos todos os arquivos e diret?rios acima a pertencerem ao usu?rio padr?o do apache que ? www-data.

Depois basta, voc? adicionar no arquivo /etc/apt/sources.list de suas esta??es de trabalho locais o novo Mirror interno
Ex:
echo “deb http://192.168.0.1/mirror-Debian debs/” > /etc/apt/sources.list, ? claro que depois ser? necess?rio fazer o update da base de pacotes do Apt-Get com o comando
#apt-get update

Acredito que isso voc? ter? seu Mirror interno de Apt-Get, e resolver? assim seu problema de atualiza??o das esta??es de trabalho.

Qualquer problema ? s? entrar em contato.

At? mais.