Я использую centos 7 с nginx 1.12 для локального размещения репозитория yum. Когда я пытаюсь просмотреть файлы через браузер, я вижу папки, но не файлы внутри них. Мне интересно, возможно, я не установил правильные разрешения или права собственности.
Это моя установка: Я синхронизировал все пакеты для дополнений, обновлений и т. Д. В путь
/var/www/html/repos/centos/7/os/x86_64
Разрешения выглядят так:
ls -l /var/www
drwxrwx--x. 3 root nginx 19 Aug 30 09:12 html
ls -l /var/www/html
drwxr-xr-x. 4 root nginx 32 Aug 30 09:12 repos
ls -l /var/www/html/repos
drwxr-xr-x. 3 root nginx 15 Aug 30 09:12 centos
ls -l /var/www/html/repos/centos
drwxr-xr-x. 3 root nginx 45 Aug 30 09:12 7
ls -l /var/www/html/repos/centos/7
drwxr-xr-x. 3 root nginx 20 Aug 30 09:12 os
drwxr-xr-x. 3 root nginx 20 Aug 30 09:12 updates
drwxr-xr-x. 3 root nginx 20 Aug 30 09:12 extras
ls -l /var/www/html/repos/centos/7/os
drwxr-xr-x. 8 alexl alexl 237 Aug 30 09:12 x86_64
Я пытаюсь получить доступ к папке пакетов через браузер и не вижу никаких файлов. Разрешения:
ls -l /var/www/html/repos/centos/7/os/x86_64 | grep Packages
drwxr-x-r-x. 2 alexl alexl 565248 Aug 1 18:02 Packages
Разрешения из файла внутри папки:
ls -l /var/www/html/repos/centos/7/os/x86_64/Packages | tail -1
-rw-r--r--. 1 alexl alexl 35380 Jul 4 2014 zziplib-utils-0.13.62-5.el7.x86_64.rpm
Это мой файл nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
}
Это конфигурация сайта:
server { # simple load balancing
listen 80;
server_name mysecretdomain.com;
root /var/www/html/repos;
location / {
autoindex on;
}
}
В дополнение к обычным разрешениям файловой системы в RHEL и CentOS по умолчанию включены обязательные элементы управления доступом SELinux. Скорее всего, ваши файлы неправильно помечены.
Поскольку вы используете расположение файловой системы по умолчанию для веб-содержимого, вы можете восстановить контексты безопасности SELinux по умолчанию с помощью restorecon
restorecon -R /var/www/html/repos
Подробная информация об устранении проблем с SELinux: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-troubleshooting