Como criar a pasta Protect no servidor ubuntu 16.04?

0

Em DirectAdmin panel , criei a pasta protect para a pasta Admin , mas preciso criar protect para a pasta no servidor Ubuntu 16.04 sem usar DirectAdmin panel .

Por exemplo, em DirectAdmin panel:

Caminho: / admin

Arquivo

: .htaccess

AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /home/user/domains/domain.com/.htpasswd/public_html/administrator/.htpasswd
AuthName "admin"
require valid-user

Caminho: /home/user/domains/domain.com/.htpasswd/public_html/administrator/.htpasswd :

admin:$apr1$Zbp5WV.h$wmBNMkeSuUd./eL9OFwxX.

Imagem:

......

Agora, como criar protect para a pasta no servidor Ubuntu 16.04?

    
por mySun 03.02.2017 / 13:08

1 resposta

2

Existem duas opções para fazer isso:

  1. Usando o comando htpasswd e

  2. Usando o arquivo .htaccess

Opção 1:

  1. Ao usar o comando htpasswd pela primeira vez, nós o usamos assim:

    sudo htpasswd -c /etc/apache2/.htpasswd sammy
    
    # you wil be asked for password for user sammy
    # content of .htpasswd would be
    # sammy:$apr1$lzxsIfXG$tmCvCfb49vpPFwKGVsuYz.
    # another_user:$apr1$p1E9MeAf$kiAhneUwr.MhAE2kKGYHK.
    
  2. para usuários adicionais, deixe de fora o argumento -c

    sudo htpasswd /etc/apache2/.htpasswd another_user
    
  3. Configure o apache para verificar este arquivo (.htpasswd):

    a. Abra o arquivo do host virtual para o domínio em questão:

    sudo nano /etc/apache2/sites-enabled/000-default.conf
    
    
    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    
            <Directory "/var/www/html/MyDomain/protect_folder">
                    AuthType Basic
                    AuthName "Restricted Content"
                    AuthUserFile /etc/apache2/.htpasswd
                    Require valid-user
            </Directory>
    </VirtualHost>
    

    b. Reinicie o apache:

      sudo service apache2 restart
    

Opção 2: usando .htaccess file

  1. Encontre o bloco para o diretório / var / www que contém a raiz do documento. Ative o processamento do .htaccess alterando a diretiva AllowOverride dentro desse bloco de "Nenhum" para "Todos"

    sudo nano /etc/apache2/apache2.conf
    
    <Directory /var/www/>
          Options Indexes FollowSymLinks
          AllowOverride All
          Require all granted
    </Directory>
    
      # save and close
    
  2. Adicione o arquivo .htaccess a protect folder :

    sudo nano /var/www/html/.htaccess
    
    # Add the following
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
    
  3. Reinicie o apache:

    sudo service apache2 restart
    

Nota:

  1. Vantagem de .htpasswd file :

    O Apache não relerá esses arquivos em todas as solicitações que envolvem o diretório,     o que ajuda no desempenho.

  2. Vantagem de .htaccess file :

    Se você não pode modificar o Virtual host file este é o    escolha certa

  3. Você não precisa usar /etc/apache2/sites-enabled/000-default.conf para usar qualquer host virtual que tenha criado

  4. Isso é para um VPS que você controla, pois a configuração de hospedagem compartilhada depende do host e geralmente é automatizada procure orientação de atendimento ao cliente em seu host compartilhado.

Fonte:

link

    
por George Udosen 03.02.2017 / 15:06