Стоит Linux Debian, apache 2.2.9-10, PHP 5.2.6-1, прикрутил postfix, dovecot и roundcube0.4.
Если отправлять вложения через почтового клиента, они без проблем доставляются, через web-морду выдается сообщение,что невозможно загрузить файл. Файлы вложений создаются в директории roundcube/temp/, но они нулевой длины, по-моему созданы командой touch.Веб-сервер является владельцем папок roundcube/temp/ и roundcube/logs/
mail:/var/www/roundcube# ls -ln
итого 100
drwxr-xr-x 2 501 80 4096 Авг 24 15:38 bin
-rw-r--r-- 1 501 80 10821 Авг 7 15:44 CHANGELOG
drwxr-xr-x 2 501 80 4096 Авг 26 13:46 config
-rw-r--r-- 1 501 80 9990 Авг 7 15:44 index.php
-rw-r--r-- 1 501 80 8358 Май 18 16:32 INSTALL
-rw-r--r-- 1 501 80 17987 Окт 30 2008 LICENSE
drwxrwxr-- 2 33 33 4096 Авг 24 15:38 logs
drwxr-xr-x 24 501 80 4096 Авг 24 15:38 plugins
drwxr-xr-x 7 501 80 4096 Авг 24 15:38 program
-rw-r--r-- 1 501 80 2156 Авг 7 15:44 README
-rw-r--r-- 1 501 80 26 Мар 22 2008 robots.txt
drwxr-xr-x 3 501 80 4096 Авг 27 09:13 skins
drwxr-xr-x 2 501 80 4096 Авг 24 15:38 SQL
drwxrwxr-- 2 33 33 4096 Сен 1 09:16 temp
-rw-r--r-- 1 501 80 1052 Апр 15 13:28 UPGRADINGПривожу вывод секции upload php.ini:
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;; Whether to allow HTTP file uploads.
file_uploads = On; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =; Maximum allowed size for uploaded files.
upload_max_filesize = 10M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 50Вот вывод куска файла .htaccess:
php_value upload_max_filesize 8M
php_value post_max_size 10M
php_value memory_limit 128M
mail:/var/www/roundcube/temp# ls
rcmAttmnt8lRP3l rcmAttmntgfcSZV rcmAttmntWnhTXp rcmMsgzZseZ5
rcmAttmntamXuBn rcmAttmntIwnEXk rcmMsgkmQcE5
rcmAttmntdTH9MF rcmAttmntp26jTs rcmMsgXrU4eiКакие есть варианты решения?
>; Temporary directory for HTTP uploaded files (will use system default if
>not specified).
>;upload_tmp_dir =Нужно убедиться, что систем-дефолтный /тмп доступен вебсерверу на запись. А еще лучше - создать /тмп/хттпд/ и отдать ее 80:80
>>; Temporary directory for HTTP uploaded files (will use system default if
>>not specified).
>>;upload_tmp_dir =
>
>Нужно убедиться, что систем-дефолтный /тмп доступен вебсерверу на запись. А еще лучше
>- создать /тмп/хттпд/ и отдать ее 80:80drwxrwxrwt 6 0 0 4096 Сен 2 14:29 tmp
Не совсем понял зачем создавать /tmp/httpd/
>Не совсем понял зачем создавать /tmp/httpd/Хоть система и допускает весь тмп валить в один каталог, но вот вскрытие потом, если что, делать не очень удобно. А так всегда можно увидеть, сколько файлов зависло именно от хттпд.
>>Не совсем понял зачем создавать /tmp/httpd/
>
>Хоть система и допускает весь тмп валить в один каталог, но вот
>вскрытие потом, если что, делать не очень удобно. А так всегда
>можно увидеть, сколько файлов зависло именно от хттпд.Мне кажется проблема не с правами, есть php расширение FileInfo, оно является рекомендуемым, но не обязательным для roundcube, не вникал что оно делает, но поставить его не получилось.
Устанавливать пробовал отсюда http://skonev.blogspot.com/2009/01/fileinfo-mod-php5-ubuntu-...
# pecl install Fileinfo
No releases available for package "pecl.php.net/Fileinfo"
Cannot initialize 'channel://pecl.php.net/Fileinfo', invalid or missing package file
Package "channel://pecl.php.net/Fileinfo" is not valid
install failed
>Мне кажется проблема не с правами, есть php расширение FileInfo, оно является
>рекомендуемым, но не обязательным для roundcube, не вникал что оно
>делает, но поставить его не получилось.Мне кажется, в линуксе есть более простой способ установки софта.
Вот мой набор расширений пхп, которых достаточно для работы ркуба:
WITH_BZ2=true
WITH_CALENDAR=true
WITH_CURL=true
WITH_DOM=true
WITH_EXIF=true
WITH_FILEINFO=true
WITH_GD=true
WITH_ICONV=true
WITH_IMAP=true
WITH_JSON=true
WITH_MBSTRING=true
WITH_MCRYPT=true
WITH_MYSQL=true
WITH_OPENSSL=true
WITH_SESSION=true
WITH_SIMPLEXML=true
WITH_XML=true
WITH_XMLREADER=true
WITH_XMLRPC=true
WITH_XMLWRITER=true
WITH_XSL=true
WITH_ZIP=true
WITH_ZLIB=trueНекоторые опции нужны для других приложений. В частности, можно убрать поддержку зип, злиб, бз2, экзиф. Но вот в такой конфигурации все работает.
Попробую создать /tmp/apache2, убедили.
>[оверквотинг удален]
>WITH_XML=true
>WITH_XMLREADER=true
>WITH_XMLRPC=true
>WITH_XMLWRITER=true
>WITH_XSL=true
>WITH_ZIP=true
>WITH_ZLIB=true
>
>Некоторые опции нужны для других приложений. В частности, можно убрать поддержку зип,
>злиб, бз2, экзиф. Но вот в такой конфигурации все работает.расширение то подключено, я проглядел.
WITH_FILEINFO=true
как его установить?
>>; Temporary directory for HTTP uploaded files (will use system default if
>>not specified).
>>;upload_tmp_dir =
>
>Нужно убедиться, что систем-дефолтный /тмп доступен вебсерверу на запись. А еще лучше
>- создать /тмп/хттпд/ и отдать ее 80:80;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;; Whether to allow HTTP file uploads.
file_uploads = On; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = /tmp/apache2/; Maximum allowed size for uploaded files.
upload_max_filesize = 10M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 50
рестарт апача и та же ошибка. в /roundcube/logs пусто
>[оверквотинг удален]
>php_value post_max_size 10M
>php_value memory_limit 128M
>
>
>mail:/var/www/roundcube/temp# ls
>rcmAttmnt8lRP3l rcmAttmntgfcSZV rcmAttmntWnhTXp rcmMsgzZseZ5
>rcmAttmntamXuBn rcmAttmntIwnEXk rcmMsgkmQcE5
>rcmAttmntdTH9MF rcmAttmntp26jTs rcmMsgXrU4ei
>
> Какие есть варианты решения?Отвечу сам себе:
В php.ini был установлен safe_mode = On, а необходимо было его выключить, т.е. safe_mode = Off
Странно то, что при установке roundcube не ругнулся на это.
>Отвечу сам себе:
>В php.ini был установлен safe_mode = On, а необходимо было его выключить, т.е. safe_mode = >Off
>Странно то, что при установке roundcube не ругнулся на это.помогло