Скрипт для автоматической установки прав на папки для DLE. Лично я не люблю через фтп клиент лазить если есть консоль. И когда устанавливаешь движок, много времени уходит на выставление прав. Если хоть кому-то пригодится или облегчит установку. Значит я не зря потратил 5 минут на его создание) PS. скрипт для тех кто сидит в консоли. Думаю тут такие есть. Код: #!/bin/bash if [ -z "$1" ] then echo "Введите абсолютный путь к корневой папке DLE" exit fi SITE_PATH=$1 echo "Устанавливаем корректные права доступа для сайта с корневой категорией $SITE_PATH" find $SITE_PATH/ -type f -exec chmod 644 {} \; find $SITE_PATH/ -type d -exec chmod 777 {} \; find $SITE_PATH/backup -type d -exec chmod 777 {}\; find $SITE_PATH/engine/data/ -type d -exec chmod 777 {}\; find $SITE_PATH/engine/cache -type d -exec chmod 777 {}\; find $SITE_PATH/engine/cache/system -type d -exec chmod 777 {}\; find $SITE_PATH/uploads -type d -exec chmod 777 {}\; find $SITE_PATH/uploads/files/ -type d -exec chmod 777 {}\; find $SITE_PATH/uploads/fotos/ -type d -exec chmod 777 {}\; find $SITE_PATH/uploads/posts/ -type d -exec chmod 777 {}\; find $SITE_PATH/uploads/posts/thumbs -type d -exec chmod 777 {}\; find $SITE_PATH/uploads/thumbs -type d -exec chmod 777 {}\; find $SITE_PATH/templates -type d -exec chmod 777 {}\; find $SITE_PATH/templates/Default -type d -exec chmod 777 {}\; echo "Скрипт установки прав для DLE. Выполнен." вообщем берем этот код, вставляем в файлик даем права на выполнение и юзаем. пример для убунту: Код: nano chmod.sh вставляем код сохраняем. ctrl+x | Y(yes) и даем права на выполнение Код: chmod +x chmod.sh ну и выполняем Код: ./chmod.sh /var/www/mysitedir
иногда при распаковке архивов php скриптами не всегда права на файлы/папки проставляются верно, я использую этот код (не помню где его нашёл) PHP: <?phpfunction chmod_R($path, $perm) { $handle = opendir($path); while ( false !== ($file = readdir($handle)) ) { if ( ($file !== ".") && ($file !== "..") ) { if ( is_file($path."/".$file) ) { //если текущая позиция это файл то... chmod($path . "/" . $file, $perm['f']); } else { //если текущая позиция это папка то... chmod($path . "/" . $file, $perm['d']); chmod_R($path . "/" . $file, $perm); // рекурсивно проверяем папочку } } } closedir($handle);}$path = $_SERVER["QUERY_STRING"];if ( $path{0} != "/" ) { $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;}$perm=array();$perm['f']=0644; // эти права будут установлены для файлов$perm['d']=0755; // а эти для папокchmod_R($path, $perm);echo $path;?> ну а на все папки уже 777 вручную проставлю, т.к. это занимает по фтп секунд 15-20
Бля, вручную же проставить права, ну это же минута другая времени, так сразу видно, что права проставились. А если случайно глюканёт и права на запись проставятся там, где не надо? Или вовсе 777 проставится? Ну хз, чисто теоретически.