Установка прав и владельцев на сервере
Перед установкой системы управления необходимо произвести настройку прав доступа ко всем файлам и директориям системы управления, а также установить владельца, под которым работает Apache.
Установка корректных владельцев
Изменить владельцев файла можно командой chown
, выполнять ее необходимо через SSH в корневой директории системы.
Вначале узнаем под каким пользователем работает Apache:
# ps aux | grep httpd
root 11380 0.0 6.5 338680 17048 ? Ss 20:16 0:00 /usr/sbin/httpd
apache 11382 0.0 1.4 220496 3708 ? S 20:16 0:00 /usr/sbin/httpd
apache 11383 0.0 6.1 439176 16052 ? S 20:16 0:00 /usr/sbin/httpd
apache 11386 0.0 6.1 439420 16024 ? S 20:16 0:00 /usr/sbin/httpd
apache 11391 0.0 7.4 442532 19552 ? S 20:16 0:00 /usr/sbin/httpd
apache 11392 0.0 6.9 441492 18212 ? S 20:16 0:00 /usr/sbin/httpd
apache 12517 0.0 4.0 339084 10680 ? S 21:53 0:00 /usr/sbin/httpd
root 13252 0.0 0.3 103252 884 pts/0 S+ 22:22 0:00 grep httpd
Установим владельцев на все файлы и директории в корневой директории системы управления:
# chown -R apache:apache *
вместо apache:apache необходимо указать требуемого владельца и группу.
Установка прав доступа к файлам и директориям
Необходимые права доступа Вы можете узнать у хостинг-провайдера, чаще всего это права 755 для директорий и 644 для файлов.
Внимание! Некоторые хостинг-провайдеры требует указания прав 777 на директории для возможности записи в эти директории из-под пользователя, под которым работает Apache, однако установка правильных владельцев позволит установить более низкие права.
Установка прав для директорий можно командой chmod
в корневой директории системы управления:
# find . -type d | while read folder ; do chmod 755 "$folder" ; done
и файлов:
# find . -type f | while read file ; do chmod 644 "$file" ; done
Проверим:
# ls -l
drwxr-xr-x 29 apache apache 4096 Май 3 2012 admin
drwxr-xr-x 6 apache apache 4096 Май 26 22:05 bootstrap
-rw-r--r-- 1 apache apache 2474 Сен 3 2012 bootstrap.php
-rw-r--r-- 1 apache apache 779 Сен 7 2011 captcha.php
drwxr-xr-x 2 apache apache 4096 Сен 28 2011 cron
drwxr-xr-x 19 apache apache 4096 Май 26 22:05 hostcmsfiles
drwxr-xr-x 4 apache apache 4096 Май 26 22:05 images
-rw-r--r-- 1 apache apache 6753 Янв 26 16:25 index.php
drwxr-xr-x 34 apache apache 4096 Май 3 2012 modules
-rw-r--r-- 1 apache apache 1442 Фев 27 2013 sitemap.php
drwxr-xr-x 16 apache apache 4096 Май 26 22:05 templates
drwxr-xr-x 16 apache apache 4096 Май 26 22:05 upload
Установка правил SELinux на собственных серверах/VPS
SELinux (Security Enhanced Linux) — это система принудительного контроля доступа, реализованная на уровне ядра. Без должной настройки, Apache не будет иметь прав доступа на запись и установить HostCMS не удастся, несмотря на установленные права и владельцев. Вы можете либо настроить полномочия Apache на доступ, либо изменить режим, в котором выполняется SELinux.
Проверим текущий режим SELinux (Current mode: enforcing):
sestatus
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 31
Используйте Permissive или 0 для установки SELinux в разрешительный режим.
setenforce Permissive
Проверим текущий режим SELinux (Current mode: permissive):
sestatus
SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 31
Отключить вы можете в /etc/selinux/config опцией
SELINUX=disabled
Установка прав с использованием TotalCommander
Для установки прав через TotalCommander выделите на сервере нужные директории и файлы, выберите пункт меню «Файлы»(«Files») → «Изменить атрибуты …»(«Change Attributes …»). Обратите внимание, права устанавливаются для директорий и файлов только текущего уровня вложенности.
В открывшемся окне можно установить флажки или указать числовое значение прав доступа:
Далее нажмите «OK».
Комментарии
-
А работа с FTP ?
А как будет работать пользователь FTP допустим ? С такими настройками сдется что никак.
Без темы
FTP пользователь и Apache имеют разных владельцев, соответственно на виртуальных хостингах возникает точно такая же ситуация. Оставьте для FTP-пользователей директорию, в которую они будут размещать нужные файлы, например, images.
Без темы
А не проще через ACL решить проблему на VDS ? Более красивое решение.
Без темы
Либо mpm-itk и стартовать virtualhost от заданного пользователя, либо пользователя FTP засунуть в группу, к примеру apache, и права изменить, дав запись для группы (что не есть гуд)