Page 26 of 29 FirstFirst ... 162425262728 ... LastLast
Results 376 to 390 of 428

Thread: Инсталяция и настройка lighttpd

  1. #376
    спасибо за ответ. В модулях отключать-то особо нечего... ну отключил php-scgi - нифига. Повторюсь, убивает напрочь такая лабудень, когда три строки

    while (!feof($fd) && !connection_status()) {
    echo fread($fd, 8192);
    }

    в итоге загибают систему... Бред...
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  2. #377
    Join Date
    Feb 2008
    Location
    Smolensk, Russia
    Posts
    2,314
    Blog Entries
    15
    Quote Originally Posted by skuwakin View Post
    в итоге загибают систему... Бред...
    Загибает систему, извините, бред в вашем коде. Вы набираете в память непомерный буфер командой echo и плевать хотели на то, считал его клиент или нет. Где flush()?!

    Я, в жизни на PHP не писавший, нашёл ответ за пять минут.
    Code:
    <?php
    
    $file = "/tmp/store/Video/Sherlok_TS.avi"; // file to be send to the client
    $speed = 8.5; // 8,5 kb/s download rate limit
    
    if(file_exists($file) && is_file($file)) {
    
        header("Cache-control: private");
        header("Content-Type: application/octet-stream"); 
        header("Content-Length: ".filesize($file));
        header("Content-Disposition: filename=$file" . "%20"); 
    
        flush();
    
        $fd = fopen($file, "r");
        while(!feof($fd)) {
             echo fread($fd, round($speed*1024));
            flush();
            sleep(1);
        }
        fclose ($fd);
    
    }
    
    ?>
    и успешно перекачал из роутера 1,5Гб-файл без всякого непомерного потребления RAM. Закоментируйте sleep() если вам не нужна регулировка скорости.

    Пожалуйста, продолжайте осваивать PHP на каком-нибудь профильном форуме, ваша проблема к роутеру не имеет никакого отношения.
    Entware Repository ◄ RT-N66U Router + ZyXEL V352L Phone + WD TV Live Player + WD My Book Live NAS

  3. #378
    угу, ставил и flush(). И имел тот же результат.
    и на cgi скрипте с вызовом curl АБСОЛЮТНО такая же картинка...

    p.s. Отличие вашего примера от моей ситуевины, вы раздаете локальный файл. а я его тяну с другого сервера.
    Last edited by skuwakin; 11-04-2012 at 11:31.
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  4. #379
    Join Date
    Feb 2008
    Location
    Smolensk, Russia
    Posts
    2,314
    Blog Entries
    15
    Quote Originally Posted by skuwakin View Post
    p.s. Отличие вашего примера от моей ситуевины, вы раздаете локальный файл. а я его тяну с другого сервера.
    А скорость тяни-толкая как-то балансируете?

    Представьте если "тянуться" удалённый файл будет быстрее, чем "отдаваться"? Куда будет помещён буфер?

    lighttpd, PHP и прочие компоненты выполняют ровно то, что вы указываете делать. Но виноват у вас почему-то роутер.
    Entware Repository ◄ RT-N66U Router + ZyXEL V352L Phone + WD TV Live Player + WD My Book Live NAS

  5. #380
    Quote Originally Posted by ryzhov_al View Post
    А скорость тяни-толкая как-то балансируете?

    Представьте если "тянуться" удалённый файл будет быстрее, чем "отдаваться"? Куда будет помещён буфер?
    хоррроший вопрос! И тоже сначала грешил на это,, причем пока так и найдя на этот вопрос ответа. Но потом пришла еще одна мысля... А что разве fread читает ассинхронно? Ну прочитало оно указанное число байт и по моему должно после окончания чтения должно ждать сдед. команды... Или я сииильно заблуждаюсь? Тогда сорри, и подскажите плиз как лучше спросить в поисковике.
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  6. #381
    Join Date
    Feb 2008
    Location
    Smolensk, Russia
    Posts
    2,314
    Blog Entries
    15
    Quote Originally Posted by skuwakin View Post
    Или я сииильно заблуждаюсь? Тогда сорри, и подскажите плиз как лучше спросить в поисковике.
    Давайте отвечу так: если в приведённом мной выше скрипте закоментировать sleep(), то непомерное потребление памяти возникнет и в случае отдачи локального файла.

    При отдаче же на скорости 100КБайт/c всё ровненько:
    Code:
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 6756K    writeable/private: 552K    shared: 4K
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 7148K    writeable/private: 944K    shared: 4K
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 7380K    writeable/private: 1176K    shared: 4K
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 7380K    writeable/private: 1176K    shared: 4K
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 7380K    writeable/private: 1176K    shared: 4K
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 7380K    writeable/private: 1176K    shared: 4K
    $ pmap -d `pidof lighttpd` | grep mapped
    mapped: 7380K    writeable/private: 1176K    shared: 4K
    Пожалуйста, попробуйте дальше разобраться сами. Формулировать запросы к поисковику за вас я не готов.
    Entware Repository ◄ RT-N66U Router + ZyXEL V352L Phone + WD TV Live Player + WD My Book Live NAS

  7. #382
    Спасибо! Очень наглядно. Хотя и неясно, как же тогда fread читает, синхронно иль ассинхронно....

    Продолжаем бодание с lighttpd... По моему все же тут что-то не то... Хоть убейте, не понимаю...
    Ни один из вариантов решения этой простой задачи у меня не обошёлся без поедания в итоге памяти lighttpd.
    Вариант со sleep вообще не прокатывает, vlc отказывается открывать этот вариант.
    Посему прошу помочь в решении чисто линуксовой задачи. Как теперь ставить свежий lighttpd или nginx.
    первый ругается на отсутствие библ. libpcre.so.0, а второй на отсут. библ. libpcre.so.1

    заранее спасибо.
    Last edited by Omega; 14-04-2012 at 12:30. Reason: fixed
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  8. #383
    Join Date
    Mar 2011
    Location
    Moscow
    Posts
    191
    Quote Originally Posted by skuwakin View Post
    Вариант со sleep вообще не прокатывает, vlc отказывается открывать этот вариант.
    А что это вообще за задача? Может быть, она давно решена всякими dlna/upnp?

    Quote Originally Posted by skuwakin View Post
    Как теперь ставить свежий lighttpd или nginx. первый ругается на отсутствие библ. libpcre.so.0, а второй на отсут. библ. libpcre.so.1
    Обновить pcre.
    Last edited by don-pedro; 12-04-2012 at 11:10. Reason: опечатки

  9. #384
    спасибо за ответ. Да вы ест-но правы, при помощи xupnpd она бы решилась за максимум минут пять... с перекурами... но... ок-ся не все так просто... Есть вот такой классный сайтик http://film.arjlover.net/film/ и по dlna из xupnpd все чудненько пашет. Но мне хочется все юзать из одного места, а именно из классного виджета nstreamplayer_lmod. Дак вот прямые ссылки не хотят телеком открываться из-за редиректа, но самое странное, и через xupnpd телек тоже с ними как-то странно работает... То открывает, то нет... Может в телеке выставлен какой-то странный mtu - не знаю, пока не смотрел. А через приведенную выше примочку все пашет на ура, если бы не мутная история с lighttpd (ну или еще с кем). Счас поставил какой-то старенький nginx, собранный кем-то из обитателей сайта. Бум пробовать через него, да и вообще.nginx интересен сам посебе из-за его доп фичей.
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  10. #385
    Join Date
    Mar 2011
    Location
    Moscow
    Posts
    191
    Quote Originally Posted by skuwakin View Post
    Счас поставил какой-то старенький nginx, собранный кем-то из обитателей сайта. Бум пробовать через него, да и вообще.nginx интересен сам посебе из-за его доп фичей.
    Почему старенький незвестно откуда, а не новенький из репозитария? :)
    Ради интереса, что этот старенький по nginx -V отвечает?

  11. #386
    Quote Originally Posted by don-pedro View Post
    Почему старенький незвестно откуда, а не новенький из репозитария?
    Ради интереса, что этот старенький по nginx -V отвечает?
    я к сожалению не знаю как обновить pcre, поэтому пока решил пойти по более простому (как мне кажется) пути.
    вот ответ на команду:

    nginx version: nginx/0.7.32
    built by gcc 4.1.1
    configure arguments: --prefix=/opt/share/nginx --sbin-path=/opt/sbin/nginx --conf-path=/opt/etc/nginx/nginx.conf --error-log-path=/opt/var/nginx/log/error.log --pid-path=/opt/var/nginx/run/nginx.pid --lock-path=/opt/var/nginx/run/nginx.lock --http-log-path=/opt/var/nginx/log/access.log --http-client-body-temp-path=/opt/var/nginx/tmp/client_body_temp --http-proxy-temp-path=/opt/var/nginx/tmp/proxy_temp --http-fastcgi-temp-path=/opt/var/nginx/tmp/fastcgi_temp --with-cc=/opt/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc --with-cpp=/opt/optware/oleg/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin/mipsel-linux-uclibc-gcc -E --with-cc-opt=-O2 -pipe -I/opt/optware/oleg/staging/opt/include --with-ld-opt= -L/opt/optware/oleg/staging/opt/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link,/opt/optware/oleg/staging/opt/lib -ldl --with-md5=/opt/optware/oleg/staging/opt/lib --with-sha1=/opt/optware/oleg/staging/opt/lib --with-poll_module --with-http_stub_status_module --add-module=/opt/nginx-fancyindex-0.1_beta5 --with-http_ssl_module
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  12. #387
    Join Date
    Mar 2011
    Location
    Moscow
    Posts
    191
    Quote Originally Posted by skuwakin View Post
    я к сожалению не знаю как обновить pcre
    Code:
    ipkg update
    ipkg upgrade pcre

  13. #388
    Спасибо. Буду пробовать. обновил pcre... и поимел нехорошую проблему... многие команды перестали работать, ругаться стали на загрузку библиотеки. Пришлось восстанавливаться из backup-a...

    Хоррошая штука линукс, когда его знаешь на зубок или когда он просто работает...

    В общем победил я свою задачку... Для тех, кто может быть когда-нибудь будет решать похожую, напишу как мне это удалось.

    1. с lighttpd моей версии ничего не вышло, жрет память.
    2. nginx не последней версии неожиданно разрывал коннект (может и не он, в логах тишина).
    3. нахально поставил последнюю версию nginx - ИДЕАЛЬНАЯ работа.
    4. изменения кода php на описанные выше проблемы не влияли.

    вот только пока не пойму как в настройках nginx правильно прописать все примочки типа rdtool , pkinfo и пр.
    Ведь они все в отдельных каталогах относительно главного. Наверное надо на каждый каталог прописывать в nginx.conf отдельную секцию location.

    другие фичи nginx (https, proxy и пр,) пока не пробовал.
    Last edited by Omega; 14-04-2012 at 12:25. Reason: fixed
    RT-N66U Tomato Firmware 1.28.0000 MIPSR2-109 K26 USB AIO-64K
    WL-500W: 1.9.2.7-d-r2624 + huawei 353 - дачный интернет

  14. #389
    Join Date
    Apr 2008
    Location
    город самоваров и пряников
    Posts
    1,473
    После перехода с Optware на Entware перестали отображаться картинки на страничках, открываемых через lighttpd.
    Вот список установленных пакетов:
    Code:
    [admin@WL-001FC652FD2B root]$ opkg list_installed
    bash - 4.2-2
    cgilib - 0.7-1
    coreutils - 8.8-1
    coreutils-mv - 8.8-1
    dlengine - 2.0-19
    fcgi - 2.4.0-1
    fcgixx - 2.4.0-1
    glib2 - 2.26.1-2
    ldconfig - 0.9.32-1
    libart - 2.3.21-1
    libbz2 - 1.0.6-1
    libc - 0.9.32-1
    libcurl - 7.23.1-1
    libdb47 - 4.7.25.NC-6
    libevent2 - 2.0.16-1
    libfreetype - 2.3.12-1
    libgcc - 4.5.3-1
    libgd - 2.0.35-1
    libgdbm - 1.9.1-2
    libiconv-full - 1.11.1-1
    libintl-full - 0.18.1.1-1
    libjpeg - 6b-1
    libminiupnpc - 1.6-1
    libncurses - 5.7-5
    libopenssl - 1.0.1-1
    libpcre - 8.11-2
    libpng - 1.2.46-2
    libpthread - 0.9.32-1
    librrd - 1.2.30-2
    librrd1 - 1.0.50-2
    librt - 0.9.32-1
    libslang2 - 2.2.3-1
    libsqlite3 - 3070900-1
    libstdcpp - 4.5.3-1
    libuuid - 1.42-1
    libxml2 - 2.7.8-1
    lighttpd - 1.4.30-2
    lighttpd-mod-access - 1.4.30-2
    lighttpd-mod-accesslog - 1.4.30-2
    lighttpd-mod-alias - 1.4.30-2
    lighttpd-mod-auth - 1.4.30-2
    lighttpd-mod-cgi - 1.4.30-2
    lighttpd-mod-cml - 1.4.30-2
    lighttpd-mod-compress - 1.4.30-2
    lighttpd-mod-evasive - 1.4.30-2
    lighttpd-mod-evhost - 1.4.30-2
    lighttpd-mod-expire - 1.4.30-2
    lighttpd-mod-fastcgi - 1.4.30-2
    lighttpd-mod-flv-streaming - 1.4.30-2
    lighttpd-mod-magnet - 1.4.30-2
    lighttpd-mod-proxy - 1.4.30-2
    lighttpd-mod-redirect - 1.4.30-2
    lighttpd-mod-rewrite - 1.4.30-2
    lighttpd-mod-rrdtool - 1.4.30-2
    lighttpd-mod-scgi - 1.4.30-2
    lighttpd-mod-secdownload - 1.4.30-2
    lighttpd-mod-setenv - 1.4.30-2
    lighttpd-mod-simple-vhost - 1.4.30-2
    lighttpd-mod-ssi - 1.4.30-2
    lighttpd-mod-status - 1.4.30-2
    lighttpd-mod-trigger-b4-dl - 1.4.30-2
    lighttpd-mod-userdir - 1.4.30-2
    lighttpd-mod-usertrack - 1.4.30-2
    lighttpd-mod-webdav - 1.4.30-2
    mc - 4.8.2-1
    perl - 5.10.0-7
    perl-compress-bzip2 - 2.09-3
    perl-dbi - 1.604-1
    perl-html-parser - 3.56-1
    perl-html-tagset - 3.20-1
    perl-html-tree - 3.23-2
    perl-lockfile-simple - 0.206-1
    perl-uri - 1.36-1
    perl-www - 5.812-1
    perl-www-curl - 4.00-1
    perl-www-mechanize - 1.58-1
    perlbase-abbrev - 5.10.0-7
    perlbase-anydbm-file - 5.10.0-7
    perlbase-archive - 5.10.0-7
    perlbase-assert - 5.10.0-7
    perlbase-attribute - 5.10.0-7
    perlbase-attributes - 5.10.0-7
    perlbase-attrs - 5.10.0-7
    perlbase-autoloader - 5.10.0-7
    perlbase-autosplit - 5.10.0-7
    perlbase-autouse - 5.10.0-7
    perlbase-b - 5.10.0-7
    perlbase-base - 5.10.0-7
    perlbase-benchmark - 5.10.0-7
    perlbase-bigfloat - 5.10.0-7
    perlbase-bigint - 5.10.0-7
    perlbase-bignum - 5.10.0-7
    perlbase-bigrat - 5.10.0-7
    perlbase-blib - 5.10.0-7
    perlbase-bytes - 5.10.0-7
    perlbase-cacheout - 5.10.0-7
    perlbase-cgi - 5.10.0-7
    perlbase-charnames - 5.10.0-7
    perlbase-class - 5.10.0-7
    perlbase-complete - 5.10.0-7
    perlbase-compress - 5.10.0-7
    perlbase-config - 5.10.0-7
    perlbase-cpan - 5.10.0-7
    perlbase-cpanplus - 5.10.0-7
    perlbase-ctime - 5.10.0-7
    perlbase-cwd - 5.10.0-7
    perlbase-data - 5.10.0-7
    perlbase-db - 5.10.0-7
    perlbase-db-file - 5.10.0-7
    perlbase-dbm-filter - 5.10.0-7
    perlbase-devel - 5.10.0-7
    perlbase-diagnostics - 5.10.0-7
    perlbase-digest - 5.10.0-7
    perlbase-dirhandle - 5.10.0-7
    perlbase-dotsh - 5.10.0-7
    perlbase-dumpvalue - 5.10.0-7
    perlbase-dumpvar - 5.10.0-7
    perlbase-dynaloader - 5.10.0-7
    perlbase-encode - 5.10.0-7
    perlbase-encoding - 5.10.0-7
    perlbase-english - 5.10.0-7
    perlbase-env - 5.10.0-7
    perlbase-errno - 5.10.0-7
    perlbase-essential - 5.10.0-7
    perlbase-exceptions - 5.10.0-7
    perlbase-extutils - 5.10.0-7
    perlbase-fastcwd - 5.10.0-7
    perlbase-fatal - 5.10.0-7
    perlbase-fcntl - 5.10.0-7
    perlbase-feature - 5.10.0-7
    perlbase-fields - 5.10.0-7
    perlbase-file - 5.10.0-7
    perlbase-filecache - 5.10.0-7
    perlbase-filehandle - 5.10.0-7
    perlbase-filetest - 5.10.0-7
    perlbase-filter - 5.10.0-7
    perlbase-find - 5.10.0-7
    perlbase-findbin - 5.10.0-7
    perlbase-finddepth - 5.10.0-7
    perlbase-flush - 5.10.0-7
    perlbase-gdbm-file - 5.10.0-7
    perlbase-getcwd - 5.10.0-7
    perlbase-getopt - 5.10.0-7
    perlbase-getoptpl - 5.10.0-7
    perlbase-hash - 5.10.0-7
    perlbase-hostname - 5.10.0-7
    perlbase-i18n - 5.10.0-7
    perlbase-if - 5.10.0-7
    perlbase-importenv - 5.10.0-7
    perlbase-integer - 5.10.0-7
    perlbase-io - 5.10.0-7
    perlbase-ipc - 5.10.0-7
    perlbase-less - 5.10.0-7
    perlbase-list - 5.10.0-7
    perlbase-locale - 5.10.0-7
    perlbase-log - 5.10.0-7
    perlbase-look - 5.10.0-7
    perlbase-math - 5.10.0-7
    perlbase-memoize - 5.10.0-7
    perlbase-mime - 5.10.0-7
    perlbase-module - 5.10.0-7
    perlbase-mro - 5.10.0-7
    perlbase-net - 5.10.0-7
    perlbase-next - 5.10.0-7
    perlbase-o - 5.10.0-7
    perlbase-object - 5.10.0-7
    perlbase-opcode - 5.10.0-7
    perlbase-open - 5.10.0-7
    perlbase-ops - 5.10.0-7
    perlbase-package - 5.10.0-7
    perlbase-params - 5.10.0-7
    perlbase-perl5db - 5.10.0-7
    perlbase-perlio - 5.10.0-7
    perlbase-pod - 5.10.0-7
    perlbase-posix - 5.10.0-7
    perlbase-pwd - 5.10.0-7
    perlbase-re - 5.10.0-7
    perlbase-safe - 5.10.0-7
    perlbase-scalar - 5.10.0-7
    perlbase-sdbm-file - 5.10.0-7
    perlbase-search - 5.10.0-7
    perlbase-selectsaver - 5.10.0-7
    perlbase-selfloader - 5.10.0-7
    perlbase-shell - 5.10.0-7
    perlbase-shellwords - 5.10.0-7
    perlbase-sigtrap - 5.10.0-7
    perlbase-socket - 5.10.0-7
    perlbase-sort - 5.10.0-7
    perlbase-stat - 5.10.0-7
    perlbase-storable - 5.10.0-7
    perlbase-switch - 5.10.0-7
    perlbase-symbol - 5.10.0-7
    perlbase-sys - 5.10.0-7
    perlbase-syslog - 5.10.0-7
    perlbase-tainted - 5.10.0-7
    perlbase-term - 5.10.0-7
    perlbase-termcap - 5.10.0-7
    perlbase-test - 5.10.0-7
    perlbase-text - 5.10.0-7
    perlbase-thread - 5.10.0-7
    perlbase-threads - 5.10.0-7
    perlbase-tie - 5.10.0-7
    perlbase-time - 5.10.0-7
    perlbase-timelocal - 5.10.0-7
    perlbase-unicode - 5.10.0-7
    perlbase-unicore - 5.10.0-7
    perlbase-universal - 5.10.0-7
    perlbase-user - 5.10.0-7
    perlbase-utf8 - 5.10.0-7
    perlbase-validate - 5.10.0-7
    perlbase-version - 5.10.0-7
    perlbase-xsloader - 5.10.0-7
    php5 - 5.3.10-1
    php5-cgi - 5.3.10-1
    php5-cli - 5.3.10-1
    php5-fastcgi - 5.3.10-1
    php5-mod-gd - 5.3.10-1
    rrdcgi - 1.2.30-2
    terminfo - 5.7-5
    transmission-cli - 2.50-2
    transmission-daemon - 2.50-2
    transmission-remote - 2.50-2
    transmission-web - 2.50-2
    uclibc-opt - 0.9.32-1
    vnstat - 1.11-3
    vnstati - 1.11-3
    wget - 1.13.4-1
    zlib - 1.2.5-1
    [admin@WL-001FC652FD2B root]$
    А это конфиг lighttpd:
    lighttpd.conf.txt

    Что надо сделать, чтобы картинки отображались?
    Ламер, деградировавший до чайника.

    1. WL-500gP(v1)|RAM 128M|Entware 3.0.6.5212|Доработаны цепи питания|Заменены светодиоды
    Samsung G2 Portable HX-MU050DC|Скрипт поднятия wan после падения|transmission|dlengine|vnstat
    2. DIR-320|RAM 64M|Flash 8M|Entware 1.9.2.7-rtn-r4772M|Принт-сервер для HP 1000-1022, P1005-P1505

  15. #390
    Join Date
    Mar 2011
    Location
    Moscow
    Posts
    191
    Quote Originally Posted by MrGalaxy View Post
    Что надо сделать, чтобы картинки отображались?
    Показать логи lighttpd?

Page 26 of 29 FirstFirst ... 162425262728 ... LastLast

Similar Threads

  1. Настройка работы IPTV в сети провайдера
    By Anth0ny in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 133
    Last Post: 07-11-2013, 08:10
  2. Не вижу половины сайтов (mtu & dns)
    By CHERT in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 347
    Last Post: 24-10-2012, 09:05
  3. Problem mit installtion von Lighttpd
    By Grabber66 in forum German Discussion - Deutsch (DE)
    Replies: 11
    Last Post: 03-02-2011, 19:28
  4. Replies: 111
    Last Post: 08-11-2009, 12:00

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •