Consegui criar um Servidor de APT, não é dificil encontrar as informações, o dificil para mim foi unir o apache2 com o http-replicator:
* Como funciona:
Bem simples, quando executado comandos de apt-get será verificado se neste servidor tem o pacote requerido, caso não haja será feita a busca e ele irá guardar o pacote no cache e enviará uma cópia para o cliente. Havendo, será enviado uma cópia para o cliente sem que haja busca na internet. Testei com clientes ubuntu 9.04 e 8.10 e ele faz a divisão de cada versão sem nenhum problema.
Lá vai o passo-a-passo (testado com o ubuntu 9.04 server e Desktop) :
=> Instalando e configurando o http-replicator:
- Instalar o pacote do apache2:
sudo apt-get install apache2
- Instalar o http-replicator, use apenas um dos sites:
sudo wget'
http://web.archive.org/web/20070816213803/http://gertjan.freezope.org/replicator/http-replicator_3.0_i386.deb'
* Ou este:
sudo wget
http://gertjan.freezope.org/replicator/http-replicator_3.0_i386.deb *Depois:
sudo dpkg -i http-replicator_3.0_i386.deb
- Abrir o arquivo:
sudo vim /etc/init.d/http-replicator
Alterar a primeira linha onde existe <#! /bin/sh> por <#!/bin/bash>
- Criar pasta onde será guardado os pacotes e alterar proprietário (geralmente é definido o proxy)
sudo mkdir /var/cache/http-replicator
sudo chown -R proxy.root /var/cache/http-replicator
- Abrir o arquivo: sudo vim /etc/default/http-replicator. E alterar a linha onde tem:
DAEMON_OPTS="$GENERAL_OPTS --port 8080 --log /var/log/http-replicator.log --user proxy
por:
DAEMON_OPTS="$GENERAL_OPTS --port 8080 --log /var/log/http-replicator.log --user proxy –ip=192.168.0.*"
OBS=>--ip=192.168.0.* a faixa a ser usada.
Remover a linha:
exit 0 # REMOVE THIS LINE TO ACTIVATE THE PROXY SERVER
- Reiniciar o http-replicator:
sudo /etc/init.d/http-replicator restart
- Na maquina Cliente crie o arquivo apt.conf e adicionar a seguinte linha:
sudo touch /etc/apt/apt.conf
sudo vim /etc/apt/apt.conf
Adicionar a linha:
Acquire::http::Proxy "
http://192.168.0.1:8080";
OBS=> O endereço 192.168.0.1 é o do servidor que estamos criando e pode ser alterado .
=> Configurando o Apache2
- Após instalado o servidor web 'apache2' como descrito no sub-item 1.1, abra o seguinte arquivo:
sudo vim /etc/apache2/ports.conf
Observe a seguinte linha:
NameVirtualHost *:80
Altere a porta conforme definida na configuração do http-replicator
- Se a porta foi alterada para qualquer outra, é preciso habilitá-la com:
sudo iptables -A INPUT -p tcp -i ppp0 --dport 8080 -j ACCEPT
- Reinicie o Servidor apache com o comando:
/etc/init.d/apache2 restart
=> Configurando um domínio virtual.
Informação :
/etc/apache2/sites-available/ = Tem a Lista de sites disponíveis
/etc/apache2/sites-enable/ = Tem os sites habilitados (links simbólicos)
- Criando um modelo de configuração de site e habilitando o mesmo:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/<nome_desejado>
sudo a2ensite <nome_desejado_que_foi_criado_acima>
- Editando a configuração do site:
sudo vim /etc/apache2/sites-available/<nome_desejado_que_foi_criado_acima>
Observe as linhas:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/cache/http-replicator
ErrorLog /var/log/apache2/error.log
- Altere-as conforme as necessidades
<VirtualHost *:8080> = Se você alterou esta porta anteriormente, modifique-a.
ServerAdmin webmaster@localhost = seu e-mail (opcional)
DocumentRoot /var/cache/apache = altere-a para a pasta que foi criada: /var/cache/http-replicator
ErrorLog /var/log/apache2/error.log = Local onde fica salvo os log's de erro
- Reinicie o servidor web apache:
sudo /etc/init.d/apache2 restart
- Para redes que tem distribuição de IP automático (DHCP)
Definir no servidor DHCP um IP fixo, pois as máquinas clientes buscarão as atualizações no ip que foi informado no item 1.7
=> Para testar é só colocar na URL:
http://192.168.0.X:8080/