Adicionando diretórios ao apache2

0

O que eu fiz

Estou criando um repositório apt usando o guia descrito aqui:

link

No entanto, estou tendo problemas com o Apache2.

No servidor, eu crio o conteúdo assim:

# mkdir -p /var/www/repos/apt/debian
# touch /var/www/repos/apt/debain/apt.gpg.key

Eu configuro o apache para hospedar o conteúdo com /etc/apache2/conf.d/repo :

<Directory /var/www/repos/ >
    # We want the user to be able to browse the directory manually
    Options Indexes FollowSymLinks Multiviews
    Order allow,deny
    Allow from all
</Directory>

Então, para aplicar eu corro:

# apache2ctl configtest
Tested OK
# systemctl restart apache2.service

O problema

Do cliente que tentei:

$ wget http://10.20.32.62/apt.gpg.key    # I expected this to work
404
$ wget http://10.20.32.62/repos/apt/debian/apt.gpg.key    # This is a work-around that I also expected to work as a backup
404
$ wget -m http://10.20.32.62
‘10.20.32.62/index.html’ saved [10701/10701]
‘10.20.32.62/icons/openlogo-75.png’ saved [5754/5754]

Não consigo obter os arquivos que coloquei no meu servidor.

O que eu tentei

Minha primeira dica foi que eu precisava mkdir -p /etc/apache2/conf.d . Eu percebi que esta pasta não estava sendo lida pela configuração, então eu tentei adicionar Include conf.d/ ao final de /etc/apache2/apache2.conf , já que não estava lá.

Mais uma apache2ctl configtest e systemctl restart apache2.service , mas sem sorte.

Em seguida, tentei criar um /etc/apache2/sites-enabled/repos.conf da versão padrão e tentei wget http://10.20.32.62:8081 . Mas eu ainda tenho um 404. Esse arquivo é assim:

<VirtualHost *:8081>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/repos
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Minha solução alternativa

Minha solução atual é editar /etc/apache2/sites-enabled/000-default.conf , alterando o DocumentRoot para /var/www/repos . Neste caso, acho que posso apenas remover /etc/apache2/conf.d , pois não parece fazer nada.

Então, o cliente precisa

wget -O - http://10.20.32.62/apt/debian/apt.gpg.key | sudo apt-key add -
echo "deb http://10.20.32.62/apt/debian stretch main" > /etc/apt/sources.list.d/10.20.32.62.list

Por que não gosto do meu trabalho

Eu sinto que simplesmente alterar DocumentRoot não é realmente como isso deveria ser feito. E estou um pouco surpreso por precisar anexar /apt/<distro> às minhas URLs para obter a coisa certa. Caso contrário, eu poderia ter colocado meu apt-server em /var/www/html Alguém sabe o propósito de configurar um site fora de /var/www/html e uma maneira razoável de configurá-lo?

    
por Stewart 23.02.2018 / 11:46

0 respostas