Fedora Caching Proxy

I already have a mirror of [Fedora Core](http://download.fedora.redhat.com/pub/fedora/linux/core/) current release and updates to make updates and installing packages faster. I have been doing more development recently which means installing Extras and Rawhide package. I wanted to have a mirror of those but didn’t want to have a complete mirror and do the large rsync updates every day. Instead, I setup a reverse proxy with a large cache.

Enable proxy module:

a2enmod proxy

Edit /etc/apache2/mods-enabled/proxy.conf:

ProxyPass /pub/fedora/extras http://download.fedora.redhat.com/pub/fedora/linux/extras
ProxyPassReverse /pub/fedora/extras http://download.fedora.redhat.com/pub/fedora/linux/\extras

ProxyPass /pub/fedora/development http://download.fedora.redhat.com/pub/fedora/linux/co\re/development
ProxyPassReverse /pub/fedora/development http://download.fedora.redhat.com/pub/fedora/l\inux/core/development

CacheEnable disk /pub/fedora/extras
CacheRoot /var/cache/apache2/proxy
CacheSize 100000
CacheMaxFileSize 1000000000
CacheGcInterval 4
CacheMaxExpire 24
CacheLastModifiedFactor 0.1
CacheDefaultExpire 1

Restart Apache.

/etc/init.d/apache2 restart

Now, [http://kraken.dyndns.org/pub/fedora/extras/](http://kraken.dyndns.org/pub/fedora/extras/) is a proxy mirror. It is limited to machines on my local network. It isn’t perfect since the files are stored in the cache directory. And it uses the master download site instead of a list of mirrors. The ideal would be a cache that used the files in a normal directory hierarchy. And could rotate between a list of mirrors.