diretório raiz - www ou public_html

1

É o diretório raiz onde todos os arquivos são mantidos (diretamente do acesso do FTP) sempre "www" ou "public_html" dependendo de qual sistema operacional? Ou é possível renomear esta pasta? E em caso afirmativo, o que seria exclusivo sobre essa pasta para poder identificá-la? ou seja, atualmente eu apenas escrevi isso;

my $root;
my $ftp = Net::FTP->new($DB_ftpserver, Debug => 0) 
                              or die "Cannot connect to some.host.name: $@";
$ftp->login($DB_ftpuser, $DB_ftppass) or die "Cannot login ", $ftp->message;
my @list = $ftp->dir;

if( scalar @list != 0 ) {
  foreach( @list ){
     if( $_ =~ m/www$/g ){
       $root = "www";
       last;
     }elsif( $_ =~ m/public_html$/g ){
       $root = "public_html";
       last;
     }
   }
 }

mas não funcionaria se tivesse um nome diferente.

Qualquer ajuda muito apreciada.

Robotnik
fonte
My Document Root é sempre ~ / domainname / para cada site. Você pode configurar isso como quiser.
Rich Bradshaw

Respostas:

2

Eu falarei em termos de Apache httpd, já que é um servidor web muito popular.

O diretório raiz em que todos os arquivos são mantidos é denominado genericamente DocumentRoot . Por favor, tenha em mente que os arquivos são mantidos em DocumentRoot para sendo servido pelo servidor web, não por ser mostrado quando você efetua login via FTP. O FTP é um protocolo totalmente diferente que não está relacionado a sites da Web e, nesse contexto, é apenas uma maneira de permitir que você, usuário, modifique / atualize arquivos em um servidor remoto.

o www / public_html diretório que você fala em sua pergunta provavelmente não é DocumentRoot . Esta é uma funcionalidade adicional do Apache, o mod_userdir módulo. Por favor consulte sua documentação .

Como dito nos docs, há uma UserDir configuração no arquivo de configuração do Apache, que permite personalizar o nome desses diretórios de usuários, de onde o servidor da Web servirá os sites que pertencem a diferentes usuários.

Como não há restrição sobre UserDir , você pode ter qualquer coisa lá, mesmo foobar . Você pode julgar pelo conteúdo desse diretório (arquivos HTML, imagens) que esse pode ser um diretório de usuários que contém um site que está sendo exposto pelo Apache. Mas eu diria que fazer isso automaticamente com um script parece pouco confiável para mim. Sem mencionar que por exemplo você pode ter um public_html diretório que não é um diretório do usuário, seu nome corresponde ao valor padrão do Apache UserDir configuração sendo apenas uma simples coincidência. Idealmente, a fim de julgar um diretório, se é um UserDir , você precisará acessar o arquivo de configuração do servidor da web. E normalmente você não tem isso. Os provedores de hospedagem na Web podem colocar, no máximo, logs específicos do usuário em seu diretório pessoal.

Para resumir: se você precisar realizar alguma ação com o diretório do usuário, ele deve vir para o seu script como dados de entrada: argumento da linha de comando, configuração de um arquivo de configuração, etc., mas não tente adivinhá-lo.

geek
fonte
0

Tudo depende da configuração padrão do servidor. Você pode configurar para outro local também.

No Windows, pode ser:

C: \ xampp \ htdocs \

ou

C: \ vhost \ public \ www \

ou em algum lugar diferente.

Pertence ao superusuário, não é?

mauris
fonte
0

O nome é configurável no Apache ( DocumentRoot - default, de acordo com a documentação do 2.2.x, é / usr / local / apache / htdocs). Minha máquina no escritório não usa nenhuma das opções que você menciona (de improviso, acho que usa o htdocs, mas já faz um tempo desde a última vez que lidei com ele).

OTOH, já que você mencionou o FTP, talvez esteja pensando em outra coisa; o diretório base ainda é configurável, no entanto.

Jonathan Leffler
fonte