Инструменты пользователя

Инструменты сайта


unix:lighthttpd-lightsquid

Настраиваем lighthttpd в связке с lightsquid

Делать будем в среде Ubuntu 16.04

Устанавливаем стандартным образом lighttpd и lightsquid.

Основные настройки будут для lighthttpd. В системе lightsquid «размазан» по каталогам:

Конфиг тут:

/etc/lightsquid/lightsquid.cfg

Исполняемые файлы скрипты CGI:

root@squid:~# ll /usr/lib/cgi-bin/lightsquid/
total 88
drwxr-xr-x 2 root root  4096 Feb  6 11:18 ./
drwxr-xr-x 3 root root  4096 Feb  5 11:24 ../
-rwxr-xr-x 1 root root  2281 Sep 13  2006 bigfiles.cgi*
lrwxrwxrwx 1 root root    35 Jun 19  2013 common.pl -> ../../../share/lightsquid/common.pl
-rwxr-xr-x 1 root root  4714 Jan 10  2007 day_detail.cgi*
-rwxr-xr-x 1 root root  1184 Aug  2  2006 get.cgi*
-rwxr-xr-x 1 root root 10797 Dec 15  2008 graph.cgi*
-rwxr-xr-x 1 root root  6684 Sep  5  2006 group_detail.cgi*
-rwxr-xr-x 1 root root  6989 Feb  6 11:25 index.cgi*
-rwxr-xr-x 1 root root  6989 Feb  6 11:06 index.cgi-orig*
lrwxrwxrwx 1 root root    30 Jun 19  2013 lightsquid.cfg -> /etc/lightsquid/lightsquid.cfg
-rwxr-xr-x 1 root root  3753 Aug  2  2006 month_detail.cgi*
-rwxr-xr-x 1 root root  4705 Aug  2  2006 topsites.cgi*
-rwxr-xr-x 1 root root  4011 Nov 21  2006 user_detail.cgi*
-rwxr-xr-x 1 root root  3106 Nov 21  2006 user_month.cgi*
-rwxr-xr-x 1 root root  4036 Sep 19  2008 user_time.cgi*
-rwxr-xr-x 1 root root  3546 Aug  2  2006 whousesite.cgi*

Шаблоны и вcпомогательные файлики тут:

root@squid:~# ll /usr/share/lightsquid/
total 60
drwxr-xr-x   6 root root  4096 Feb  5 11:24 ./
drwxr-xr-x 118 root root  4096 Feb  5 11:24 ../
-rwxr-xr-x   1 root root  6689 Jan 22  2009 check-setup.pl*
-rw-r--r--   1 root root  9247 Jul  3  2009 common.pl
drwxr-xr-x   2 root root  4096 Feb  5 11:24 ip2name/
drwxr-xr-x   2 root root  4096 Feb  5 11:24 lang/
-rwxr-xr-x   1 root root 15823 Jul  3  2009 lightparser.pl*
lrwxrwxrwx   1 root root    30 Jun 19  2013 lightsquid.cfg -> /etc/lightsquid/lightsquid.cfg
drwxr-xr-x   3 root root  4096 Feb  5 11:24 tools/
drwxr-xr-x   4 root root  4096 Feb  5 11:24 tpl/

Отчеты будут сохраняться тут:

/var/lib/lightsquid/report/

Как я уже писал выше, основные настройеи затронут конфиги lighthttpd.

Подключим конфиг, который включит нам CGI, сделав симлинк на нужный файлик.

root@squid:/etc/lighttpd# ll /etc/lighttpd/conf-enabled/
total 8
drwxr-xr-x 2 root root 4096 Feb  6 11:24 ./
drwxr-xr-x 4 root root 4096 Feb  6 11:27 ../
lrwxrwxrwx 1 root root   29 Feb  5 10:54 10-cgi.conf -> ../conf-available/10-cgi.conf

Сам конфиг для CGI приводим к такому виду:

# /usr/share/doc/lighttpd/cgi.txt

server.modules += ( "mod_cgi" )

###$HTTP["url"] =~ "^/cgi-bin/" {
###     cgi.assign = ( "" => "" )
###}

## Warning this represents a security risk, as it allow to execute any file
## with a .pl/.py even outside of /usr/lib/cgi-bin.
#
cgi.assign      = (
        ".pl"  => "/usr/bin/perl",
        ".cgi" => "/usr/bin/perl",
        ".py"  => "/usr/bin/python",
)

Я закомментировал параметр, который предписывает серверу запускать скрипты только из определенного каталога. В нашем случае это не так. Конфиг такого вида запускает CGI из любого каталога.

Основной конфиг приводим к такому виду:

server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
#       "mod_rewrite",
)

server.document-root        = "/var/www/html"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80

# Для lightsquid
alias.url+=("/ltsq/" => "/usr/lib/cgi-bin/lightsquid/")

index-file.names            = ( "index.php", "index.html", "index.lighttpd.html", "index.cgi" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".cgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
## Use ipv6 if available
#include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

В индексном файле в корне сервера просто поставил редирект на наш lightsquid.

unix/lighthttpd-lightsquid.txt · Последние изменения: Wed, 06 Feb 2019 14:56 — root