Задать вопрос
  • Как растянуть картинку во всю высоту блока?

    Tolly
    @Tolly Автор вопроса
    Все понял, нашел ответ в Интернете, еще раз спасибо.
  • Как растянуть картинку во всю высоту блока?

    Tolly
    @Tolly Автор вопроса
    Да так работает, а можете пояснить команду
    .swiper-slide {
    	height: auto!important;
    }

    Теория не нужна, я просто не понимаю, почему в данном случае вопрос решается именно так, вроде же никто не перебивает высоту?!
  • Как из URL получить название файла?

    Tolly
    @Tolly Автор вопроса
    Извините, не правильно написал $b, мне надо:
    $b=123, т.е. имя файла без _multi.jpg
  • Как добавить свою форму в меню wordpress?

    Tolly
    @Tolly Автор вопроса
    Почитал/посмотрел, но ничего интересного по walker не нашел, кроме как удаление/добавление классов, id и атрибутов.

    Можете написать пример того, как я могу добавить кастомный пункт в меню через walker?
  • Какой путь прописать для upload_tmp_dir?

    Tolly
    @Tolly Автор вопроса
    Вашу логику понял, для одного пользователя:
    chmod root:nginx -R 750 /var/www/
    find /var/www/ -type d -name tmp -o -name uploads -o -name sessions -exec chmod root:nginx -R 770 {} \;
  • Какой путь прописать для upload_tmp_dir?

    Tolly
    @Tolly Автор вопроса
    1. Про параметр:
    php_value[open_basedir] = /var/www/example.com/:/tmp/:/var/www/mysite.com/

    я имел ввиду, что если нужно одному пользователю дать права на пару сайтов, то это можно сделать их перечислением, и понятно что пользователь получит доступ в обе папки. Ну окей, я понял, что рекомендуется это делать через php.ini

    2. По фразе "тем самым пользователь www-data - или другой, но не nginx, который не имеет прав доступа к этой папке",
    я имел ввиду, что запуск php-fpm идет от пользователя www-data, так как он не имеет никаких прав. Вместо него можно создать и прописать любого пользователя, кроме nginx. Например можно прописать пользователя tolly или vasya, но не nginx.

    php-fpm же получает доступ только для чтения, так как входить в группу

    к примеру для папки /var/www/mysite/ - владелец - пользователь nginx (полный доступ) и группа mysite (только чтение), а остальным все запрещено

    Я верно думаю?

    PS. Ну и думаю, что можно прописать 770 для например временных файлов, сессий, uploads и так далее?
  • Какой путь прописать для upload_tmp_dir?

    Tolly
    @Tolly Автор вопроса
    А в пуле можно прописывать несколько хостов? Типа:

    [HOST=example.com]
    open_basedir /var/www/example.com/:/tmp/
    upload_tmp_dir /var/www/example.com/temp/
    sys_temp_dir /var/www/example.com/temp/
    session.save_path /var/www/example.com/sessions/

    [HOST=mysite.com]
    open_basedir /var/www/mysite.com/:/tmp/
    upload_tmp_dir /var/www/mysite.com/temp/
    sys_temp_dir /var/www/mysite.com/temp/
    session.save_path /var/www/mysite.com/sessions/

    или это делается, просто путем перечисления все возможных путей, типа:
    php_value[open_basedir] = /var/www/example.com/:/tmp/:/var/www/mysite.com/ ?

    Немного запутался в пользователях и группах, к примеру
    ; Имя пула
    [mysite]
    
    ; Пользователь и группа
    user = www-data
    group = mysite
    
    ; Прием FastCGI-запросов
    listen = /var/run/mysite.sock
    
    ; Пользователь и группа, который будет владельцем unix сокета
    listen.owner = nginx
    listen.group = nginx
    
    ; Права на чтение и запись
    listen.mode = 0660


    Вот что я понял:
    1) [mysite] - это имя пула mysite по аналогии с доменом
    2) user = www-data - это некто, не важно кто, но не nginx
    3) group = mysite - группа созданная для домена
    4) listen = /var/run/mysite.sock - имя сокета от имени домена
    5) listen.owner = nginx и listen.group = nginx - запуск самого php-fpm
    верно?

    Имея 2 домена: example и mysite, задаем права:
    chmod nginx:mysite -R 750 /var/www/mysite/
    chmod nginx:example -R 750 /var/www/example/

    тем самым пользователь www-data - или другой, но не nginx, который не имеет прав доступа к этой папке

    Все правильно понял?
  • Какой путь прописать для upload_tmp_dir?

    Tolly
    @Tolly Автор вопроса
    Виктор Таран, "затем что есть проекты в которых это очевидно важно, а так же есть ресурсы следить за всем вместе", еще раз повторю, что оно работать не будет не на одном проекте, так как так делать нельзя!
    К сожалению не вспомню урлы, где читал этот бред.
  • Какой путь прописать для upload_tmp_dir?

    Tolly
    @Tolly Автор вопроса
    В Nginx попробовал изменить путь, для каждого сайта прописал (домен заменен на фейковый):
    location ~ \.php$ {
            try_files $uri =444;
            fastcgi_pass backend7;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
     
            fastcgi_param PHP_VALUE open_basedir="/var/www/mysite.ru/:/tmp/";
            fastcgi_param PHP_VALUE upload_tmp_dir="/var/www/mysite.ru/tmp/";
            fastcgi_param PHP_VALUE sys_temp_dir="/var/www/mysite.ru/tmp/";
            fastcgi_param PHP_VALUE session.save_path="/var/www/mysite.ru/sessions/";
    
            include fastcgi_params;
    }


    Но почему-то настройка применилась только для session.save_path, а для остальных осталась дефолтной. Проверял phpinfo(), сейчас - "no value", т.к. не прописана в php.ini.

    Как изменить пул в php-fpm, добавив новых пользователей?
    Сейчас /etc/php7/pool/pool.conf имеет вид:
    ; Имя пула
    [php7]
    
    ; Пользователь и группа
    user = nginx
    group = nginx
    
    ; Прием FastCGI-запросов
    listen = /var/run/php7-fpm.sock
    
    ; Пользователь и группа от чьего имени запущен сервер
    listen.owner = nginx
    listen.group = nginx
    
    ; Права на чтение и запись
    listen.mode = 0660


    В php-fpm.conf прописана строка:
    include=/etc/php7/pool/*.conf

    Будет ли достаточно создать новый файл /etc/php7/pool/vasya.conf
    и прописать:
    [vasya]
    user = vasya
    listen = /var/run/php7-fpm.vasya.sock


    А потом для того, чтобы работать от этого юзера, достаточно прописать строку в конфиг домена, типа:
    fastcgi_pass unix:/var/run/php7-fpm.vasya.sock;

    так?
  • Можно ли организовать учёт трафика ютуб для групп пользователей средстами Mikrotik?

    Ну.. вот у меня есть скрипт, который блокирует рекламу (некоторые сайты), можете его доделать, указать только домены youtube и правило блокировки заменить, на правило пропуска, т.е. трафик идти будет, но он будет считаться в байтах и в пакетах.
    Экзотику по поводу, сколько раз заходили на сайт, реализуйте сами, там надо через proxy настраивать, на борту он есть, но я не пользовался.

    /ip firewall layer7-protocol
    add name=Block_URL regexp="^.+(apps.skype.com|ads.viber.com|googleads.g.doubleclick.net|googleapis.l.google.com|\
    |an.yandex.ru|ads.youtube.com).*\$"\
    comment="Blocklist URL baners"
    
    /ip firewall mangle 
    add action=mark-connection protocol=udp dst-port=53 \
    chain=prerouting connection-mark=no-mark layer7-protocol=Block_URL new-connection-mark=Block_URL passthrough=yes 
    
    add action=mark-packet \
    chain=prerouting connection-mark=Block_URL new-packet-mark=Block_URL passthrough=no
    
    /ip firewall filter 
    add action=drop chain=forward packet-mark=Block_URL comment="Block URL baners"
    add action=drop chain=input packet-mark=Block_URL comment="Block URL baners"


    PS. Правила файрвола должны быть в самом верху! Перезагрузите компьютеры и роутер, чтобы сбросить dns везде, а то не заработает.
  • Какой путь прописать для upload_tmp_dir?

    Tolly
    @Tolly Автор вопроса
    Ввести пару команд для обновления (системы, ядра, пхп), как бы не проблематично, скрипт все делает легко и быстро.
    По вопросу понял, закрываю его.

    PS. Зачем же пишут эти статьи по безопасности?
  • Как сделать, завершение bash скрипта, если другая программа уже запущена?

    Tolly
    @Tolly Автор вопроса
    а смысл переписывать мой вопрос? у меня точно такой же скрипт

    кроме того, мне не помогает выйти даже exit
  • Яндекс (pdd.yandex.ru) перешел на API2?

    Tolly
    @Tolly Автор вопроса
    там априори нельзя менять ip-адрес, функционала у яндекса нет
    хотя может уже сделали, я уже давно не пользуюсь pdd, взял у провайдера статический ip..
  • Как сделать, завершение bash скрипта, если другая программа уже запущена?

    Tolly
    @Tolly Автор вопроса
    Методов определения, что программа запущена великое множество, и что?
    pgrep -c optimize.sh делает тоже самое, в чем смысл вашего поста?

    Вы отвечаете на вопрос, который я не задавал! Я спрашиваю как остановить скрипт, а не как его не запускать.
  • Как сделать, завершение bash скрипта, если другая программа уже запущена?

    Tolly
    @Tolly Автор вопроса
    planc, там я увидел ответ как не запускать процесс, но я не увидел как выйти из скрипта.
    По сути там написано, тоже самое, что и у меня, только вместо pgrep -c, используется pgrep -x

    Вот к примеру, переписал скрипт так:
    if ! `pgrep -x "optimize.sh"` > /dev/null; then
    echo "Скрипт не работает, поэтому запускаем его" >> /var/www/oo.log
    echo `pgrep -x "optimize.sh"` >> /var/www/oo.log
    /var/www/optimize.sh
    else
    echo "Passed.." >> /var/www/oo.log
    fi

    В итоге лог такой:
    Скрипт не работает, поэтому запускаем его
    Скрипт не работает, поэтому запускаем его
    Скрипт не работает, поэтому запускаем его
    ..

    Хотя второй скрипт работает по несколько минут, и я во втором терминале, запускаю команду
    pgrep -с "optimize.sh"
    и получаю количество процессов, при
    pgrep -x "optimize.sh"
    получаю PID процесса, или что он там выводит

    Почему же я не разу не получил в логе: Passed..?
    Уже варианты кончились, почему так.
  • Как написать регулярное выражение?

    Tolly
    @Tolly Автор вопроса
    xoo, вот еще не работает так:
    string=aaa_bbb_ccc_1_480x300.jpg
    получаю: string=aaa_bbb_ccc, а должно aaa_bbb_ccc_1
  • Как написать регулярное выражение?

    Tolly
    @Tolly Автор вопроса
    А при string="3_480x300.jpg" или при pict3_480x300.jpg
    Вы получаете 3 и pict3?