Вроде директории все которые можно себе представить на месте с доступом на пользователя asterisk
| Код: |
| ls -al /var/lib/asterisk/sounds/ drwxr-xr-x 2 asterisk asterisk 6 ноя 3 18:00 custom drwxr-xr-x 11 asterisk asterisk 466944 окт 27 13:37 en drwxr-xr-x 8 asterisk asterisk 73728 окт 27 12:07 ru ls -al /var/lib/asterisk/sounds/en | grep custom drwxr-xr-x 2 asterisk asterisk 6 окт 27 13:22 custom ls -al /var/lib/asterisk/sounds/ru | grep custom drwxr-xr-x 2 asterisk asterisk 6 ноя 3 18:11 custom |
Руками, смог под пользователем asterisk создать файлы в /tmp
| Код: |
| ls -al /tmp/ | grep ivrhello -rw-r--r-- 1 asterisk asterisk 0 ноя 3 15:51 ivrhello -rw-r--r-- 1 asterisk asterisk 0 ноя 3 15:51 ivrhello.wav |
Пути вроде верные смотрю
| Код: |
| $tmp = sys_get_temp_dir(); - $this->temp = !empty($tmp) && file_exists($tmp) ? $tmp : "/tmp"; $this->path = $this->FreePBX->Config->get("ASTVARLIBDIR")."/sounds"; |
Проверил что /tmp
| Код: |
| #cat 123.php # php 123.php /tmp |
/var/www/html/admin/modules/recordings/install.php
содержит
| Код: |
| $recordings_astsnd_path = isset($amp_conf['ASTVARLIBDIR'])?$amp_conf['ASTVARLIBDIR']:'/var/lib/asterisk'; $recordings_astsnd_path .= "/sounds/"; |
Путь в файлах FreePBX задан тоже верно
/var/www/html/admin/libraries/BMO/Freepbx_conf.class.php
| Код: |
| 'ASTVARLIBDIR' => array(CONF_TYPE_DIR, '/var/lib/asterisk'), |
При этом файлик уходит и появляется в браезере после перетаскивания его на закачку или через кнопку Browse, его можно даже послушать в браузере, при нажатии Submit появляется новый Record, но запись там красная, её нет и на винчестере ни где нет, в папке tmp я тоже не замечал, что бы появлялось что-то, но может просто не успеваю увидеть, файлик маленький 360 килобайт, в php.ini
| Код: |
| upload_max_filesize = 20M max_file_uploads = 20 |
Куда копать можно, подскажите плиз?
cat /var/www/html/admin/exixt.php
| Код: |
Выдавало, что нет файла и "not readable" при этом доступ на дерикторию 777, на файлы тоже, файлы от пользователя asterisk. При этом скрипт находил скажем любой файл в /etc/asterisk/, потом нашёл такое http://serverfault.com/questions/614781/ ... tmp-folder
| Цитата: |
| To deactivate this, simply copy the script inside /etc/systemd/system (to avoid overwriting of your changes after an update) and set PrivateTmp to false. |
Нашёл это
cat /etc/systemd/system/multi-user.target.wants/httpd.service
| Код: |
| [Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target [Service] Type=notify EnvironmentFile=/etc/sysconfig/httpd ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND ExecReload=/usr/sbin/httpd $OPTIONS -k graceful ExecStop=/bin/kill -WINCH ${MAINPID} # We want systemd to give httpd some time to finish gracefully, but still want # it to kill httpd after TimeoutStopSec if something went wrong during the # graceful stop. Normally, Systemd sends SIGTERM signal right after the # ExecStop, which would kill httpd. We are sending useless SIGCONT here to give # httpd time to finish. KillSignal=SIGCONT PrivateTmp=false [Install] WantedBy=multi-user.target |
Поменял c PrivateTmp=true на PrivateTmp=false , ребутнул машину и все проблемы с этим ушли.
_________________
платный суппорт по мере возможностей
При установке
| Код: |
| sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config |