Попытка сделать портативный WiFi веб-сервер с поддержкой php на старом WRT54GS (v1.0) с DD-WRT. У меня есть 8 МБ вспышки там. Я знаю, это высокий заказ. Я попробовал комбинацию dd-wrt.v24-13064_VINT_openvpn_jffs_small.bin, optware и lighttpd. Не было достаточно места. Теперь я собираюсь попробовать dd-wrt.v24-13064_VINT_mini.bin, но я экономлю только 300 КБ, и я не думаю, что это будет иметь значение. Любые другие небольшие http-серверы с поддержкой php? Черт, я даже не дошел до того, что смог добавить php!

Может быть, способ рассчитать размер и зависимости пакетов от optware ПЕРЕД попыткой установки - это больше, чем я ищу.

Есть идеи?

1 ответ1

1

Это не связано с DD-WRT, но похоже:

Я использовал OpenWRT на устройстве с 8 МБ флэш-памяти и использовал включенный сервер Uhttpd в качестве веб-сервера.

Преимущества OpenWRT здесь в том, что его образ squashfs намного меньше, а его корень находится в JFFS2 и доступен для редактирования.

Конфигурационная часть тоже проста. Интересным файлом является /etc /config /uhttpd

# Server configuration
config uhttpd main

        # HTTP listen addresses, multiple allowed
        list listen_http        0.0.0.0:80
#       list listen_http        [::]:80

        # HTTPS listen addresses, multiple allowed
        list listen_https       0.0.0.0:443
#       list listen_https       [::]:443

        # Server document root
        option home             /www

        # Reject requests from RFC1918 IP addresses
        # directed to the servers public IP(s).
        # This is a DNS rebinding countermeasure.
        option rfc1918_filter 1

        # Certificate and private key for HTTPS.
        # If no listen_https addresses are given,
        # the key options are ignored.
        option cert             /etc/uhttpd.crt
        option key              /etc/uhttpd.key

        # CGI url prefix, will be searched in docroot.
        # Default is /cgi-bin
        option cgi_prefix       /cgi-bin

        # List of extension->interpreter mappings.
        # Files with an associated interpreter can
        # be called outside of the CGI prefix and do
        # not need to be executable.
#       list interpreter        ".php=/usr/bin/php-cgi"
#       list interpreter        ".cgi=/usr/bin/perl"

        # Lua url prefix and handler script.
        # Lua support is disabled if no prefix given.
#       option lua_prefix       /luci
#       option lua_handler      /usr/lib/lua/luci/sgi/uhttpd.lua

        # CGI/Lua timeout, if the called script does not
        # write data within the given amount of seconds,
        # the server will terminate the request with
        # 504 Gateway Timeout response.
        option script_timeout   60

        # Network timeout, if the current connection is
        # blocked for the specified amount of seconds,
        # the server will terminate the associated
        # request process.
        option network_timeout  30

        # Basic auth realm, defaults to local hostname
#       option realm    OpenWrt

        # Configuration file in busybox httpd format
#       option config   /etc/httpd.conf


# Server configuration
config uhttpd secondary

        # HTTP listen addresses, multiple allowed
#       list listen_http        0.0.0.0:80
        list listen_http        [::]:80

        # HTTPS listen addresses, multiple allowed
#       list listen_https       0.0.0.0:443
        list listen_https       [::]:443

        # Server document root
        option home             /mnt/www

        # Reject requests from RFC1918 IP addresses
        # directed to the servers public IP(s).
        # This is a DNS rebinding countermeasure.
        option rfc1918_filter 1

        # Certificate and private key for HTTPS.
        # If no listen_https addresses are given,
        # the key options are ignored.
        option cert             /etc/uhttpd.crt
        option key              /etc/uhttpd.key

        # CGI url prefix, will be searched in docroot.
        # Default is /cgi-bin
        option cgi_prefix       /cgi-bin

        # List of extension->interpreter mappings.
        # Files with an associated interpreter can
        # be called outside of the CGI prefix and do
        # not need to be executable.
#       list interpreter        ".php=/usr/bin/php-cgi"
#       list interpreter        ".cgi=/usr/bin/perl"

        # Lua url prefix and handler script.
        # Lua support is disabled if no prefix given.
#       option lua_prefix       /luci
#       option lua_handler      /usr/lib/lua/luci/sgi/uhttpd.lua

        # CGI/Lua timeout, if the called script does not
        # write data within the given amount of seconds,
        # the server will terminate the request with
        # 504 Gateway Timeout response.
        option script_timeout   60

        # Network timeout, if the current connection is
        # blocked for the specified amount of seconds,
        # the server will terminate the associated
        # request process.
        option network_timeout  30

        # Basic auth realm, defaults to local hostname
#       option realm    OpenWrt

        # Configuration file in busybox httpd format
#       option config   /etc/httpd.conf

# Certificate defaults for px5g key generator
config cert px5g

        # Validity time
        option days             730

        # RSA key size
        option bits             1024

        # Location
        option country          DE
        option state            Berlin
        option location         Berlin

        # Common name
        option commonname       OpenWrt

Я добавил новый сайт, используя вторичную часть config uhttpd. Просто скопируйте конфиг uhttpd main, отредактируйте его и вставьте обратно под новым именем. В моем случае другой сайт прослушивает только IPv6-соединения и имеет свой корень в /mnt /www.

На моем TP-LINK TL-WR1043ND установка по умолчанию (включая uhttpd) заняла чуть более 4 МБ, поэтому для сайта должно быть не менее 3,5 МБ свободного места.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .