Como eu crio páginas da web no meu diretório pessoal e faço com que o servidor web as sirva no meu navegador?

9

Instalei recentemente o navegador Apache no meu Debian Squeeze (usando o comando tasksel e selecionando [ ] Web server ). Agora eu entendi para começar via sudo /etc/init.d/apache2 start e, em seguida, vou para o meu navegador e digite http://localhost e a página " Funciona! " aparece indicando que instalei e iniciei o servidor web com sucesso.

Agora eu sei que o arquivo HTML da página " Funciona! " está em /var/www e sou levado a acreditar que, se eu criar novas páginas, preciso colocá-las em este diretório. Criar páginas seria fácil, mas, ao fazer isso, preciso emitir o comando sudo toda vez que eu criar / editar um arquivo no diretório /var/www .

Gostaria de saber como posso criar um diretório na minha página inicial, por exemplo. ~/html/test/index.html e ter essa página exibida quando eu inserir o endereço http://localhost/html/test no endereço do meu navegador?

    
por Eric 02.02.2012 / 19:40

4 respostas

6

Como Ulrich disse, você pode fazer isso ativando o módulo userdir .

No Debian, isso pode ser feito usando o utilitário a2enmod , que ativa ou desativa os módulos do Apache. Veja man a2enmod .

Nesse caso, você só precisa executar

sudo a2enmod userdir

e, em seguida, reinicie o servidor Apache para que a alteração entre em vigor. Note que o módulo userdir está no Apache básico, então você não precisa instalar nada extra. Para referência, a configuração userdir está em /etc/apache2/mods-available/userdir.conf .

Tudo que o a2enmod está fazendo aqui é criar um link simbólico do diretório /etc/apache2/mods-enabled para os arquivos /etc/apache2/mods-available/{userdir.conf/userdir.load} . Você também pode fazer isso manualmente. Ou seja,

faheem@orwell:/etc/apache2/mods-enabled$ ls -la userdir.*
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.load -> ../mods-available/userdir.load

Em seguida, coloque o material da Web que deseja disponibilizar em ~/public_html e, em seguida, ele deve ser acessível em http://servername/~username .

    
por 05.02.2012 / 22:44
6

Provavelmente você está procurando mod_userdir : "Este módulo permite que diretórios específicos do usuário ser acessado usando a sintaxe link . "

Não tenha medo de mexer na configuração, apenas faça backups dos arquivos de configuração e certifique-se de que seu firewall bloqueia seu apache para o mundo externo.

    
por 02.02.2012 / 20:44
2

Pessoalmente eu usei links simbólicos , dependendo do projeto ter link dentro de /var/www/ ou /var/www sendo link para uma das pastas no diretório home da mina (por exemplo :%código%). Dessa forma eu posso me livrar do caractere "~". Às vezes também é útil para mim, quando eu quero mostrar algo para algum outro espectador (via algo como: ~/projects/www ), e não é tão familiar com o teclado, então ele simplesmente não conseguia encontrar o símbolo "~" do keyboard (- meio que gosto de procurar a chave com o rótulo "any") .

Faheem e Ulrich provavelmente cederão a você a melhor e mais comum recomendação de resposta de qualquer maneira (pelo menos, quando a segurança estiver em causa).

    
por 16.06.2014 / 20:31
0

Agora você pode fazer isso alterando a raiz da Web, mas não quer, e aqui está o motivo:

Se um invasor encontrar uma vulnerabilidade no Apache ou em seu código, ele poderá obter acesso à raiz da Web. Que é onde todas as suas coisas são ...

A raiz da Web é normalmente protegida, com controles para impedir que invasores invadam. Sua casa, possivelmente não tão bem protegida.

    
por 02.02.2012 / 19:45