Настройка NGINX
server {
listen 80; # порт, прослушивающий nginx
server_name server.local; # доменное имя, относящиеся к текущему виртуальному хосту
root /var/www/site; # каталог в котором лежит проект, путь к точке входа
index index.php;
# add_header Access-Control-Allow-Origin *;
# Отдавать статику
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
log_not_found off;
}
location ~* \.php$ {
try_files $uri = 404;
auth_basic "Restricted Content"; # Настройка авторизации htpasswd
auth_basic_user_file /var/www/.htpasswd; # указываем место нахождения файла с паролями
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # подключаем сокет php-fpm
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht { #запрещаем чтение файлов htaccess и htpasswd
deny all;
}
location /files { # В директории files
autoindex on; # разрешаем просматривать файлы
charset UTF-8; # Устанавливаем кодировку что бы файлы не читались кракозябрами
}
}
Что бы формировать файл htpasswd и добавлять в него пользователей надо поставить утилиты apache
sudo apt-get install apache2-utils -y
sudo htpasswd -c /var/www/.htpasswd newuser
# создаем файл и одновременно добавляем в него пользователя