Установка и настройка серверов Linux,создание сайтов, установка и настройка Asterisk PBX, Linux для начинающих и не только.
Получать статьи этого сайта на почту:

 

17
Jan 2012
sergldom
автор
72
комментариев
Рейтинг статьи:
5
Average: 4.3 (4 votes)

Установка и настройка интернет шлюза на Debian 5 (Lenny) и Debian 6 (Squeeze) используя squid, rejik, sams, sqstat, arno-firewall-iptables Часть 1

Я буду устанавливать на Debian Lenny, но отличия с Debian Squeeze нет.

<![CDATA[]]>SAMS<![CDATA[]]> — это система для управления доступа пользователей через прокси сервер к ресурсам интернет. Она идеально подходит для использования как в частных фирмах так и в госудаственных учереждениях. Всю работу по проксированию, перенаправлению запросов, кэшированию и авторизации берет на себя proxy-сервер Squid, а SAMS занимается учетом трафика и управлением пользователями.

<![CDATA[]]>Squid<![CDATA[]]> — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP, Gopher и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNU GPL).
 

Начинаем установку и настройку пакета наших программ.

Установка и настройка squid

Для начала добавим в source.list репозиторий с котрого будем устанавливать все программы:

Для Debian Lenny:

vi /etc/apt/sources.list
deb http://archive.debian.org/debian/ lenny main contrib non-free

Для Debian Squeeze:

vi /etc/apt/sources.list
deb http://mirror.yandex.ru/debian squeeze main contrib non-free

 

Обновляем репозиторий

aptitude update

Обновляем все доступные пакеты

aptitude dist-upgrade

Устанавливаем прокси сервер Squid

aptitude install squid

Установим файловый менеджер mc

aptitude install mc

Устанавливаем текстовый редактор vim

aptitude install vim

Устанавливаем веб сервер Apache2, MYSQL, PHP5, phpmyadmin

aptitude install apache2 mysql-server php5 phpmyadmin

 

После успешной установки squid, переходим к его настройке:

Копируем  конфигурационный файл в архив

cp /etc/squid/squid.conf /etc/squid/squid.conf_backup

Открываем удобным для Вас редактором конфигурационный файл squid.conf
vi – требует прочтения инструкции пользователя. Для того чтоб пройти экспресс курс запустить команду vimtutor и пройти основные команды для пользования программой.
mcedit - более легкий в работе для начинающего линуксоида
далее для простоты описания буду описывать работу с редактором MC

mcedit /etc/squid/squid.conf

нажимаем F7  появится окно поиска, вводим в него то, что необходимо найти нажимаем Enter
Если нашло не то что нужно, снова повторяем поиск, и так пока не найдем нужную строку. После того как Вы внесли необходимые изменения и хотим сохранить файл нажимаем F2 и соглашаемся с изменением. После сохранения для закрытия сохраненного файла нажимаем F10
Далее я буду писать что ищем и как должно выглядеть после изменения (первый как должно выглядеть, остальные по примеру):

было:

#  TAG: visible_hostname
#       If you want to present a special hostname in error messages, etc,
#       define this.  Otherwise, the return value of gethostname()
#       will be used. If you have multiple caches in a cluster and
#       get errors about IP-forwarding you must set them to have individual
#       names with this setting.
#
#Default:
# none

стало:

#  TAG: visible_hostname
#       If you want to present a special hostname in error messages, etc,
#       define this.  Otherwise, the return value of gethostname()
#       will be used. If you have multiple caches in a cluster and
#       get errors about IP-forwarding you must set them to have individual
#       names with this setting.
#
#Default:
visible_hostname inetservname

 

было:

http_port 3128

стало:

http_port 3128 transparent

Внимание!!! Если у Вас пользователи будут авторизироватся при помощи пароля, прозрачная авторизация работать не будет, необходимо в браузере пользователя прописывать IP:PORT Вашего прокси сервера.

было:

# icp_port 3130

стало:

icp_port 0

 

было:

# cache_mem 8 MB

стало:

cache_mem 256 MB

 

было:

# maximum_object_size_in_memory 8 KB

стало:

maximum_object_size_in_memory 512 KB

 

было:

# maximum_object_size 20480 KB

стало:

maximum_object_size 120480 KB

 

было:

# cache_dir ufs /var/spool/squid 100 16 256

стало:

cache_dir ufs /var/spool/squid 5000 32 256

 

было:

# cache_swap_low 90
# cache_swap_high 95

стало:

cache_swap_low 90
cache_swap_high 95

 

было:

# logfile_rotate 0

стало:

logfile_rotate 5

было:

acl SSL_ports port 443          # https
acl SSL_ports port 563          # snews
acl SSL_ports port 873          # rsync
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 631         # cups
acl Safe_ports port 873         # rsync
acl Safe_ports port 901         # SWAT

стало:

acl SSL_ports port 443          # https
#acl SSL_ports port 563          # snews
#acl SSL_ports port 873          # rsync
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
#acl Safe_ports port 70          # gopher
#acl Safe_ports port 210         # wais
#acl Safe_ports port 1025-65535  # unregistered ports
#acl Safe_ports port 280         # http-mgmt
#acl Safe_ports port 488         # gss-http
#acl Safe_ports port 591         # filemaker
#acl Safe_ports port 777         # multiling http
#acl Safe_ports port 631         # cups
#acl Safe_ports port 873         # rsync
#acl Safe_ports port 901         # SWAT

было:

#  TAG: url_rewrite_program
#       Specify the location of the executable for the URL rewriter.
#       Since they can perform almost any function there isn't one included.
...
#Default:
# none

стало:

#  TAG: url_rewrite_program
#       Specify the location of the executable for the URL rewriter.
#       Since they can perform almost any function there isn't one included.
...
#Default:
url_rewrite_program /usr/bin/samsredir

было:

#Default:
# url_rewrite_children 5

стало:

url_rewrite_children 5

было:

#auth_param basic program <uncomment and complete this line>
#auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours

стало:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

!!! Если Вы внутри сети используете внутренний днс сервер, можно указать прокси серверу Squid использовать его прописав:

Для того, чтобы использовать свой локальный DNS сервер изменяем:

было:

#  TAG: dns_nameservers
...
#Default:
# none

стало:

#  TAG: dns_nameservers
...
#Default:
dns_nameservers 192.168.1.1

Сохраняем изменения и переходим к установке SAMS.

 


Установка SAMS 1.5

Необходимо установить необходимые зависимости:

apt-get install apache2 php5  mysql-server mysql-client build-essential autoconf automake libtool g++ php5-gd libmysqlclient15-dev php-fpdf

На просьбу ввести пароль root mysql - вводим и повторяем, а также записываем на бумажку либо в блокнот, чтоб не забыть.

делаем бекап конфигов которые будем изменять:

cp /etc/squid/squid.conf /etc/squid/squid.conf_backup
cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_backup
cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini_backup

Настройка PHP
SAMS умеет работать с PHP в режиме safe_mode=On. Но это требует дополнительной настройки конфигурации. Для этого редактируем файл конфигурации php /etc/php5/apache2/php.ini.
1. включаем режим safe mode (это по желанию, например я не включаю). Для этого выставляем параметр safe_mode

safe_mode = On

!!!!  Внимание.  Если у Вас при импроте в rejik бан листов выдает в веб интерфейсе ошибку: can't open sams config file data/urlist.txt

safe_mode ставим в Off, то есть должно быть:

safe_mode = Off

2. SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Изменяем этот параметр:

safe_mode_exec_dir = "/usr/share/sams/bin"

3. Далее разрешаем исполнение системных скриптов из кода php. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:

disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"

4. Для того, чтобы можно было заливать в самс большие бан списки в PHP увеличиваем максимальный размер запроса и размер загружаемого файла.

Макс. размер запроса
стало:

; Maximum size of POST data that PHP will accept
post_max_size = 50M

Макс. размер файлов
стало:

; Maximum allowed size for uploaded files.
upload_max_filesize = 50M

4. Все. PHP готов к работе.

Необходимо перезапустить веб сервер, чтобы настройки перечитались с конфига php.ini:

/etc/init.d/apache2 restart

 

Устанавливаем SAMS:

 

Переходим в директорию куда будем качать установочные пакеты, создаем папку sams, переходим в неё и качаем установочные пакеты:

cd /usr/src/
mkdir sams
cd sams

Качаем пакеты sams для своей архитектуры:

Для amd64:

wget http://nixdev.net/release/sams/debian/lenny/sams_1.0.5_amd64.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-web_1.0.5_all.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-doc_1.0.5_all.deb

Для i386:

wget http://nixdev.net/release/sams/debian/lenny/sams_1.0.5_i386.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-web_1.0.5_all.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-doc_1.0.5_all.deb

Инсталлируем скачанные пакеты:

dpkg -i *.deb

Появится псевдографическое окно:

Настраивается пакет sams 

SAMS require additional manual configuration

Currently SAMS package not ready to work out of box. Starting of samsdaemon disabled in init.d script.

Please read /usr/share/doc/sams/README.Debain for description of additional configure step.

                                    <Ok>

Нажимаем Ok

Включаем самс в файле исправив в /etc/init.d/sams

было:

SAMS_ENABLE=false

стало:

SAMS_ENABLE=true

 

Правим конфигурационный файл по адресу /etc/sams.conf

исправляем:

MYSQLPASSWORD=yourpassword
REJIKPATH=/usr/local/rejik3

 

Далее проверяем запущен ли squid и если команда вывела номер значит запущен, и тогда останавливаем прокси сервер.

pidof squid
8534
/etc/init.d/squid stop
* Stopping Squid HTTP proxy squid                                    [ OK ]

Теперь пересоздадим кеш прокси сервера командой:

squid -z
2009/02/16 15:55:20| Creating Swap Directories

На этом этапе настройка squid закончена, теперь запускаем прокси сервер squid командой:

init.d/squid start

 

Подгатавливаем mysql базу для работы sams:

заходим под пользователем root и паролем, что мы заранее записали в блокнот на наш сервер по адресу:

http://ip_server/phpmyadmin

Далее нажимаем на кнопку  SQL и вставляем код в окно Выполнить SQL-запрос(ы) на сервере "localhost" обязательно изменить пароль  yourpassword на свой:

GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";

Необходимо нажать OK:

Обязательно нужно заполнить созданные для sams базы командами в консоли сервера:

mysql -u sams -pyourpassword < /usr/share/sams/mysql/sams_db.sql
mysql -u sams -pyourpassword < /usr/share/sams/mysql/squid_db.sql

скопировать - вставить и выполнить изменив пароль  yourpassword на свой:

 

!!! Внимание !!!

Если Вы настраиваете на Debian Squeeze, необходимо добавить репозиторий из Debian Lenny для того, чтобы установить необходимые зависимости.

Добавляем репозиторий, который уже вывели в архив в файл /etc/apt/sources.list командой:

echo "deb http://archive.debian.org/debian/ lenny main contrib non-free" >> /etc/apt/sources.list

Обновляем репозиторий командой:

aptitude update

Устанавливаем необходимую зависимость командой:

aptitude install libmysqlclient15off

 

Для того, чтобы зайти в панель управления SAMS, необходимо в браузере ввести адрес http://ip_server/sams  , где ip_server - IP адрес сервера на который мы выполняли установку.

Вход под администратором:
Логин: admin
Пароль: qwerty

Вход под аудитором:
Логин: auditor
Пароль: audit

Пароль настоятельно советую изменить сразу же, и записать его в блокнот.

 

Если устанавливаете SAMS на сервер уже работающий с какой-либо панелью управления хостингом, например ISPmanager, создаете для примера пользователя samsweb с доменом sams.site.loc и даете ему права на CGI, а также настраиваете домен работать через php CGI , и в папку домена просто монтируете содержимое папки sams командой:

mount --bind /usr/share/sams /var/www/samsweb/data/www/sams.site.loc/

Выполняйте эту команду и затем поместите её в файл   /etc/rc.local, тогда при загрузке сервера папка бедет монтироватся автоматически.

Так же необходимо дать права на содержимое папки для своего пользователя командой:

chown -R samsweb:samsweb /var/www/samsweb/data/www/sams.site.loc/

должно получится примерно так:

....
# bits.
#
# By default this script does nothing.

mount --bind /usr/share/sams /var/www/samsweb/data/www/sams.site.loc/
.....

Если при установке выдало такую ошибку:

Fatal error: Cannot redeclare GetHostName() in /var/www/samsweb/data/www/sams.site.loc/src/configtray.php on line 20

Необходимо внести в скрипты SAMS:
 

cd /usr/share/sams/
vi src/webconfigtray.php

было:

function GetHostName()
{
  if(!($value=getenv('SERVER_NAME')))
     {  $value="N.A."; }
  return($value);
}

стало:

//function GetHostName()
//{
//  if(!($value=getenv('SERVER_NAME')))
//     {  $value="N.A."; }
//  return($value);
//}

 

vi src/configtray.php

было:

function GetHostName()
{
  if(!($value=getenv('SERVER_NAME')))
     {  $value="N.A."; }
  return($value);
}

стало:

//function GetHostName()
//{
//  if(!($value=getenv('SERVER_NAME')))
//     {  $value="N.A."; }
//  return($value);
//}

После этого веб интерфейс откроется нормально.

 

Скриншоты по настройке SAMS через web интерфейс:

 

Настройка sams 1          Настройка sams 2

Настройка sams 3          Настройка sams 4

Настройка sams 5

ВНИМАНИЕ!!!

Для пользователей попадающих под ограничения, стандартное сообщение которое выводит sams выглядит так: 

Стандартный вывод блокирования sams пользователю

Для того, чтобы пользователю вывести свой файл написанный на HTML необходимо создать сам файл который будет выводится пользователю попавшему под ограничение командой:

touch /usr/share/sams/messages/file_denied.html

в файле

mcedit /usr/share/sams/messages/blocked.php

Необходимо изменить

было:

if($action=="rejikdenied"||$action=="sgdenied")
    {
       print("  <TR><TD><IMG SRC=\"$path$ICONSET/denied.gif\">");
       print("  <TD> ");
       print("<P><FONT COLOR=\"RED\"><B><H2>$blocked_php_3 <BR></FONT>");
       print("$url<BR> <FONT COLOR=\"RED\">$blocked_php_4</H2></B></FONT> ");

       exit(0);
    }

стало:

  if($action=="rejikdenied"||$action=="sgdenied")
    {
//       print("  <TR><TD><IMG SRC=\"$path$ICONSET/denied.gif\">");
//       print("  <TD> ");
//       print("<P><FONT COLOR=\"RED\"><B><H2>$blocked_php_3 <BR></FONT>");
//       print("$url<BR> <FONT COLOR=\"RED\">$blocked_php_4</H2></B></FONT> ");
       print(file_get_contents('file_denied.html'));
       exit(0);
    }

После этого пользователю попавшего под ограничение будет выводится подготовленный Вами HTML файл находящийся по пути  /usr/share/sams/messages/file_denied.html

 

Мой пример простого файла:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Site Blocked</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
</head>
<body bgcolor="#000000" text="#c8c8c8" link="#c8c8c8">
<table align="center" border="0" width="640">
<tr><td align="center">

<h1>Содержимое данного сайта заблокировано для просмотра в сети "Ваша фирма".</h1>
<h2  align="justify"><font color="red">Этот сайт внесен в список запрещенных адресов как мешающие полноценной работе.</font>
<br>Просим извинить за неудобства. Если этот сайт Вам настоятельно требуется для работы, будте добры сообщить администратору сервера об этом.
</h2>

<hr>
</table>
</body>
</html>

 

ВНИМАНИЕ!!!

В настройках sams в Способ аутентификации пользователя выбираете необходимый Вам способ IP либо NCSA и обязалельно ставите в Шаблоны пользователей - Default   такой же способ. Далее Вы создаете необходимые шаблоны и один из этих шаблонов Вы можете привязать любому пользователю.

Каждому шаблону можно привязать ограничения куда ходить можно, а куда нет, а также количество трафика доступное пользователю, скорость канала для всего шаблона и скорость канала для отдельного пользователя.

 

Продолжение инструкции находится по адресу:

Установка и настройка интернет шлюза на Debian 5 (Lenny) и Debian 6 (Squeeze) используя squid, rejik, sams, sqstat, arno-firewall-iptables Часть 2

В этой инструкции мы устанавливаем  программу редиректор Rejik и настраиваем её через веб интерфейс SAMS

Установка и настройка интернет шлюза на Debian 5 (Lenny) и Debian 6 (Squeeze) используя squid, rejik, sams, sqstat, arno-firewall-iptables Часть 3

А в этой инструкции мы устанавливаем и настраиваем программу онлайн статистики прокси сервера Sqstat

 

Рейтинг статьи: 

5
Average: 4.3 (4 votes)

Вам понравилась статья? Хотите получать уведомления о выходе новых статей с этого сайта на свой почтовый адрес? Подписывайтесь пожалуйста. Введите свой почтовый адрес и нажмите кнопку Хочу получать статьи!

<![CDATA[]]><![CDATA[]]>

 

*Адреса электронной почты не разглашаются и не предоставляются третьим лицам для коммерческого или некоммерческого использования.

 

 
 

 

72 комментария:
Vital
30/01/2012 - 19:00
Спасибо за инструкцию, но давайте продолжение. Где часть 2 ???
Константин
20/07/2012 - 18:27
1)  При том варианте авторизации что вы описали сквид рушиться 2) Сервер не может зайти не на один сайт так как не настроены ДНС
20/07/2012 - 22:03
Здравствуйте. 1. Если Вы настроили прокси сервер squid только по одной первой этой статье, то вполне возможно. Статья состоит из 4 частей, вам нужно обязательно пройти первые 2 части. 2. Да в данной инструкции я не настраивал локального DNS сервера(пропустил), а в настройке squid указал его использовать, обязательно добавлю настройку кеширующего ДНС сервера немного позже. Но это лечится коментарием DNS сервера для проксика: #dns_nameservers 192.168.1.1 Тогда squid будет использовать DNS сервера которые прописаны при настройке сети в файле vi /etc/resolv.conf, то-есть Вашего провайдера.
11/09/2012 - 12:03
как туда зайти? тоесть на что мне заменять "ip_server"? я не знаю какой у меня IP, как посмотреть?
11/09/2012 - 12:09
Для того, чтобы узнать IP адрес сервера Linux необходимо в консоли под пользователем root выполнить команду: ifconfig Либо под любым пользователем команду: /sbin/ifconfig Ответ примерно такой: eth0 Link encap:Ethernet HWaddr 00:XX:XX:XX:XX:XX inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: XXXX::XXX:XXXX:XXXX:XXXX/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:278106 errors:0 dropped:0 overruns:0 frame:0 TX packets:178410 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:45018931 (42.9 MiB) TX bytes:35554148 (33.9 MiB) Interrupt:16 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:16614 errors:0 dropped:0 overruns:0 frame:0 TX packets:16614 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1553144 (1.4 MiB) TX bytes:1553144 (1.4 MiB) Смотрим eth0, адрес сервера: 192.168.0.1
11/09/2012 - 12:22
Not Found The requested URL /phpmyadmin was not found on this server. Apache/2.2.16 (Debian) Server at 192.168.10.100 Port 80 прошу простить меня, но не помогло(( может поставить статический ip, и с ним зайти?
11/09/2012 - 12:25
У Вас установлен сам phpmyadmin? 192.168.0.1 - это и есть статический адрес сервера,  и если Вам Apache (веб сервер) ответил уже хорошо. Выполните команду установки phpmyadmin: aptitude install phpmyadmin
11/09/2012 - 12:30
спасибо)) не был установлен phpmyadmin)) на запрос о конфигурации с помощью dbconfig-comon что отвечать?
11/09/2012 - 12:33
На запрос о конфигурации с помощью dbconfig-comon я отвечаю НЕТ
11/09/2012 - 12:52
после установки phpmyadmin, вход попрежнему недоступен. на сей момент "истекает время ответа сервера" на статич 192.168.5.10 на динамический 192.168.10.100 Not Found The requested URL /phpmyadmin was not found on this server. Apache/2.2.16 (Debian) Server at 192.168.10.100 Port 80
11/09/2012 - 12:54
Ставите TeamViewer   говорите мне ID и pass   я посмотрю.
11/09/2012 - 12:55
моя задача контент фильтр с использ режика на комп-классы, может мне имеет смысл пропустить некоторые части статьи?
11/09/2012 - 12:57
Ставите с части 1 и 2
11/09/2012 - 13:54
mysql -u sams -pyourpassword < /usr/share/sams/mysql/sams_db.sql нет такого файла или каталога у меня нет каталога sams в share. может сначала нужно установить sams?
11/09/2012 - 13:58
Да конечно устанавливаем сам  SAMS
09/11/2012 - 14:23
Not Found The requested URL /sams was not found on this server. Apache/2.2.16 (Debian) Server at localhost Port 80 снова проблема со входом в sams под 192.168.10.100 таже басня я думаю может все таки поставить статический ip?  
09/11/2012 - 14:29
При чем тут динамический или статический адрес, если он в данный момент присвоен серверу, к нему можно обращатся. Но для серверов я предпочитаю всегда прописывать статический адрес. А по поводу ошибки, самс записывает конфиг подключения себя к апачу, но не перегружает сам веб сервер. Перегрузите веб сервер Apache2 командой: /etc/init.d/apache2 restart    
12/09/2012 - 17:25
спасибо. первую часть осилил
11/12/2012 - 15:56
Спасибо за  отличный цикл статей. Связка отличная.! Немного не понял только: ПРокси у нас прозрачный- значит  настраивать iptables ? Через прозрачный прокси не проходят https запросы, те на сайт в   https:\\site.ru  пользователи не зайдут? Если этот так можно ли как нибудь справиться с этой бедой.
11/12/2012 - 16:01
Прозрачный прокси не работает с https  тут или пускать по нату сам https или же прописывать вручную прокси сервер
Maxim
30/01/2013 - 10:41
Добрый день. Большое спасибо за инструкцию, однако не получается поставить sams, пишет вот что:   Выбор ранее не выбранного пакета sams. (Чтение базы данных ... на данный момент установлено 33794 файла и каталога.) Распаковывается пакет sams (из файла sams_1.0.5_amd64.deb)... Выбор ранее не выбранного пакета sams-doc. Распаковывается пакет sams-doc (из файла sams-doc_1.0.5_all.deb)... Выбор ранее не выбранного пакета sams-web. Распаковывается пакет sams-web (из файла sams-web_1.0.5_all.deb)... dpkg: зависимости пакетов не позволяют настроить пакет sams:  sams зависит от libmysqlclient15off (>= 5.0.27-1), однако:   Пакет libmysqlclient15off не установлен. dpkg: не удалось обработать параметр sams (--install):  проблемы зависимостей -- оставляем не настроенным Настраивается пакет sams-doc (1.0.5) ... dpkg: зависимости пакетов не позволяют настроить пакет sams-web:  sams-web зависит от sams, однако:   Пакет sams пока не настроен. dpkg: не удалось обработать параметр sams-web (--install):  проблемы зависимостей -- оставляем не настроенным Обрабатываются триггеры для man-db ... При обработке следующих пакетов произошли ошибки:  sams  sams-web     Помогите пожалуйста разобраться.
30/01/2013 - 10:54
Внимательно читайте пожалуйста инструкцию: !!! Внимание !!! Если Вы настраиваете на Debian Squeeze, необходимо добавить репозиторий из Debian Lenny для того, чтобы установить необходимые зависимости. Добавляем репозиторий, который уже вывели в архив в файл /etc/apt/sources.list командой...
Гость
30/01/2013 - 12:48
Большое спасибо за оперативный ответ. Не увидел, к сожалению, данного пункта, потому что он находится ниже, чем описание установки SAMS.
Maxim
30/01/2013 - 13:01
К сожалению возникла другая проблема. Согласно инструкции открываю http://ip_server/phpmyadmin и вижу кучу ошибок вида: Warning: realpath() has been disabled for security reasons in /usr/share/phpmyadmin/libraries/Error.class.php on line 393 Подскажите пожалуйста что делать с этим.
Maxim
31/01/2013 - 13:44
Проблему выше решил, SAMS открывается, но почему то половина работает, а половина нет, попробую пояснить скриншотами. А такие вкладки как например SAMS administration или Web interface пустые когда пытаюсь их открыть, в чём может быть дело? 
Maxim
31/01/2013 - 14:16
Уже разобрался.
31/01/2013 - 14:31
Отлично, напишите пожалуйста в чем у Вас была проблемма, может у кого нибудь будет такая же. Готовлю большую инструкцию по настройке всего сервера, эта и другие инструкции будут переработаны.
Maxim
04/02/2013 - 07:21
Ошибки, которые у меня возникали связаны с моей невнимательностью, спасибо. А есть ли некая инструкция как теперь всё это добро подружить с Active Directory?
21/02/2013 - 04:46
sergldom, Автор не передумал обновить инструкцию по установке шлюза?
21/02/2013 - 08:16
Здравствуйте, конечно не передумал, занимаюсь как выпадает свободное время. Кстати автор и sergldom это одно и то же лицо :)
Андрей
22/02/2013 - 15:16
Все устанавливается нормально спасибо за работу правда у меня возникло два камня педкновения 1. в файле /etc/php5/apache2/php.ini нет параметра safe_mode = On, пробую в ручную писать. Бесполезно 2. не получается создать базу данных  пишет # mysql -u root -p root   </usr/share/sams/mysql/sams_db.sql     Enter password: ERROR 1049 (42000): Unknown database 'root' Заранее благодарен
22/02/2013 - 15:43
Здравствуйте. Параметр safe_mode = On можно просто прописать в файле /etc/php5/apache2/php.ini По второму вопросу, необходимо выполнить 2 команды: mysql -u sams -pyourpassword < /usr/share/sams/mysql/sams_db.sql mysql -u sams -pyourpassword < /usr/share/sams/mysql/squid_db.sql   Судя по Вашей ошибке, Вы выполняли так: mysql -u root -p root < /usr/share/sams/mysql/sams_db.sql пароль пользователя БД указывается без пробела, так как все до пробела, что идет после параметра -p  и есть пароль, а после пробела указывается база в которую Вы восстанавливаете структуру базы с файла. Из-за того, что у Вас указан пользователь root без пароля, и восстанавливать в несуществующую бд root у Вас и возникла такая ошибка.
Andrey
22/02/2013 - 16:39
здравствуйте при установке sams возникли проблемы 1 в файле /etc/php5/apache2/php.ini не могу выставить safe_mode = On 2. не могу создать базу данных sams Заренне благодарен Андрей
Андрей
23/02/2013 - 19:10
Спасибо за оперативность ответа режим safe_mode = On прописал , а вот с базой данных проблема ругается :   mysql -u sams -proot < /usr/share/sams/mysql/sams_db.sql ERROR 1064 (42000) at line 7: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 1 Попробовал создать путем импорта из этих вайлов где после каждой таблици TYPE=MyISAM  убирал. Сейчас проверить не могу что получится отпишу. С уважением Андрей - с праздником    
25/02/2013 - 12:48
Вы пожалуйста перед тем как менять, что либо в командах, пройдите инструкцию от и до слово в слово, когда получите рабочий сервер, тогда можете изменять названия создаваемых баз на новом сервере.
05/03/2013 - 05:45
Здравствуйте. Возникла вот такая рабла. Когда выхожу на web интерфейс SAMS появляется окно SAMS Installion, ввожу пароль  для sams@localhost и выдает вот что: SAMS installations DB squidctrl connected. Installation script stopped. Remove base squidctrl and start a script again Говорит что проверка SAMS установок DB squidctrl подключены. Установка сценария остановлена. Удалить базу squidctrl и запустить скрипт again. Далее ничего. Молчек. Подскажите пожалуйста!!!!  
05/03/2013 - 08:46
Здравствуйте. В моей инструкции база и пользователи создаются руками, Вы же пытаетесь поставить автоматом через инсталятор. Сделайте по инструкции и все у Вас будет работать.
05/03/2013 - 09:15
Access denied for user sams@localhost to MySQL Access denied for user 'sams'@'localhost' (using password: YES) Внизу браузера пишет вот такое. Типа доступ запрещен этому пользователю.
05/03/2013 - 09:17
Это Вы зашли Phpmyadmin под пользователем root ?
05/03/2013 - 09:18
Прошу прощения сразу, но где это в инструкции написано? Я делал все по шагам. Уточните пожалуйста.
05/03/2013 - 09:21
Нет это я перехожу по ссылке http://192.168.0.15/sams Мне предлагается запустить script установки Database, и внизу надписи что этому аккаунту запреты.
05/03/2013 - 09:23
Если делаете по инструкции, значит делайте по шагам: Подгатавливаем mysql базу для работы sams: заходим под пользователем root и паролем, что мы заранее записали в блокнот на наш сервер по адресу: http://ip_server/phpmyadmin Далее нажимаем на кнопку  SQL и вставляем код в окно Выполнить SQL-запрос(ы) на сервере "localhost" обязательно изменить пароль  yourpassword на свой:     GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword"; GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword"; Необходимо нажать OK: Обязательно нужно заполнить созданные для sams базы командами в консоли сервера: mysql -u sams -pyourpassword < /usr/share/sams/mysql/sams_db.sql mysql -u sams -pyourpassword < /usr/share/sams/mysql/squid_db.sql скопировать - вставить и выполнить изменив пароль  yourpassword на свой:    
05/03/2013 - 09:28
Спешу уточнить именно вот эти две операции я делаю в PHP или через Putty(к примеру)??? Почему спрашиваю. В php выдал ошибку. В место yourpassword писаль свой пароль пробелов после -p небыло. Обязательно нужно заполнить созданные для sams базы командами в консоли сервера: mysql -u sams -pyourpassword < /usr/share/sams/mysql/sams_db.sql mysql -u sams -pyourpassword < /usr/share/sams/mysql/squid_db.sql
05/03/2013 - 09:32
Что тут неясного я написал: заходим под пользователем root и паролем, что мы заранее записали в блокнот на наш сервер по адресу: http://ip_server/phpmyadmin Далее нажимаем на кнопку  SQL и вставляем код в окно Выполнить SQL-запрос(ы) на сервере "localhost" обязательно изменить пароль  yourpassword на свой:     GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword"; GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword"; Или вы издеваетесь?
05/03/2013 - 09:33
Все понял. В консоли сервака, т.е. ч/з Putty. Хорошо. Операции выполнились. Но почему так??? Они без ошибок выполнились.
05/03/2013 - 09:36
А почему должны быть ошибки? Сперва наперво Вы в phpmyadmin создали пользователя с правами на базы, далее под этим пользователем в консоли создаем базы с файлов.
05/03/2013 - 09:41
Я понимать понимаю, что это так. Но уже мозг сломал почему не могу в SAMS через web зайти, говорит эту хрень, что запрет пользователю sams@localhost. Может быть права выставить какие либо нужно?
05/03/2013 - 09:43
Вы создали пользователя, далее создали бд, затем прописали пароль от бд в файл sams.conf и после этого у Вас открывается установщик sams?
05/03/2013 - 09:48
Да да, вот такая фигня почему то. Но в php база есть вот список. information_schema (28) mysql (23) squidctrl (16) squidlog (3) Выберите базу данных Не хочет по ходу покдлючатся к sql.
05/03/2013 - 09:50
Я могу предложить проверить пошагово пройти инструкцию, думаю пропустили может что, или пароль не тот. Инструкция точно рабочая, уже много людей настроило по ней сервер.
05/03/2013 - 09:53
Так и я о том же. Комментарии читал и проблеммы небыло ни у кого с этим. Да, давайте проверим. Очень интересно в чем дело.
05/03/2013 - 10:10
Вроде открылся интерфейс, но все криво как то! НЕ как на скриншотах! Proxi не запущен был, я создавать пытался аккаунт.
05/03/2013 - 10:20
Вроде разобрался. Спасибо большое за терпение и помощь!!!)))
05/03/2013 - 10:21
Незачто :) Обращайтесь.
FreeOwl
05/03/2013 - 11:56
так напиши. у меня всё тоже самое, не открываются настройки веб интерфейса.  
12/03/2013 - 08:49
Спасибо за статью. Такой вопрос, если установить ограничение по времени, по идее должно выводиться сообщение с помощью шаблона: <code>   if($action=="timedenied")     {        print("  <P><FONT COLOR=\"RED\"><B><H3>$blocked_php_9");        print("  <BR>$blocked_php_10</H3></FONT> ");        print("  <P>$row[shour]:$row[smin] - $row[ehour]:$row[emin] ");     } </code> а выводится сообщение об ошибке:  <code> ERROR The requested URL could not be retrieved -------------------------------------------------------------------------------- The following error was encountered while trying to retrieve the URL: http://ya.ru/ Access Denied. Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect. Your cache administrator is webmaster. -------------------------------------------------------------------------------- </code>    
12/03/2013 - 09:01
Здравствуйте. Я не пробовал настраивать шаблон при ограничении времени. Дойдут руки, дополню статью.
Gektor-48
28/03/2013 - 19:46
Здравствуйте! Установил SAMS согласно 1 части инструкции. Дистрибутив Debian 6.0.7 64bit. Установка прошла без ошибок. Базы данных созданы. При переходе на http://ip-address/sams/ выводится кусок меню и пара картинок, пароль не запрашивается. Что я делаю не так? Заранее благодарю.
Сергей
29/08/2014 - 07:02
Добрый день. Спасибо огромное за статьи, посвященные настройке интернет шлюза. Но вот такой вопрос у меня. Все сделал по инструкции(Часть1). Все вроде бы работает, SAMS в веб интерфейс пускает. Но почему то, у меня как будто не работает сам Squid. При выполнении команды telnet localhost 3128 выходит следующее: Trying ::1... Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused И если указать в настройке браузера - использовать прокси(адрес сервера и порт). Выходит ошибка, невозможно подклюиться к прокси серверу... Подскажите, что может быть?
Сергей
29/08/2014 - 07:24
Вы не сделали вот этого по инструкции: Необходимо внести в скрипты SAMS:   cd /usr/share/sams/ vi src/webconfigtray.php   было:     function GetHostName() {   if(!($value=getenv('SERVER_NAME')))      {  $value="N.A."; }   return($value); }     стало:   //function GetHostName() //{ //  if(!($value=getenv('SERVER_NAME'))) //     {  $value="N.A."; } //  return($value); //}     vi src/configtray.php было:   function GetHostName() {   if(!($value=getenv('SERVER_NAME')))      {  $value="N.A."; }   return($value); }     стало:     //function GetHostName() //{ //  if(!($value=getenv('SERVER_NAME'))) //     {  $value="N.A."; } //  return($value); //}   После этого веб интерфейс откроется нормально.
29/08/2014 - 09:44
Подскажите на каком дистрибутиве вы настраиваете сервер? Не на каждом нужно коментировать, достаточно внести изменения, смотря какая версия пхп. Lenny - 5.2 Squeeze - 5.3 Wheezy - 5.4 Я просто делал обновленную инструкцию: Устанавливаем прокси сервер Squid c веб интерфейсом SAMS в Debian Wheezy Тут собирается php 5.2 и подключается через панель для sams, потому нет необходимости вносить изменения в конфиги.
29/08/2014 - 09:47
Видимо после реконфигурации падает squid удалив файл ncsa.sams из  /etc/squid/   Так? Что говорит прокси в логе.
Сергей
29/08/2014 - 10:04
Спасибо за быстрый ответ. Но уже разобрался что к чему. У меня был косяк в /etc/network/interfaces. Был указан gateway для внутренней подсети. Убрал его, и порт стал слушаться и кальмар начал запрашивать логин и пароль при выходе в инет. Спасибо!
29/08/2014 - 10:08
Не за что, главное работает :)
Сергей
16/10/2014 - 10:50
Почему SAMS выводит эту страницу блокировки, вместо своей? Не могу понять, помогите... ERROR The requested URL could not be retrieved The following error was encountered while trying to retrieve the URL: http://your.ip.address/sams/messages/blocked.php? Unable to determine IP address from host name your.ip.address The DNS server returned: Name Error: The domain name does not exist. This means that the cache was not able to resolve the hostname presented in the URL. Check if the address is correct. Your cache administrator is webmaster. Generated Thu, 16 Oct 2014 14:40:10 GMT by inetservname (squid/2.7.STABLE9)  
16/10/2014 - 11:26
Здравствуйте. Вы хоть читайте что оно пишет, или если не понимаете что пишет, тогда переводите гуглом. Оно же ругается, что не может определить IP по DNS, вполне возможно, что на сервере нет интернета, или в параметре dns_nameservers 192.168.1.1 указан днс сервер который неправильно работает. Если на сервере есть интернет, можете данный парамерт закоментировать для проверки.
Сергей
16/10/2014 - 11:40
Все в порядке с DNS. Проблема была в настройке SAMS. Я не указал свой внешний адрес в пункте "Путь к каталагу где лажат файлы запроса". Поправил, все заработало! Спасибо за быстрый ответ!
Сергей
24/10/2014 - 06:11
Добрый день. Настраивал на 2х серверах. На первом все работает. На втором шлюзе, почему то Sams не отображает статистику. А может Сквид ее не собирает. Этот сервак слабее  по характеристикам.  cache_dir ufs /var/spool/squid 5000 32 256 Пишу данный конфиг в сквид как в вашей инструкции, перезапускаю его. И все, Сквид перестает работать.Работает вот с этим конфигом: cache_dir ufs /var/spool/squid 5000 16 256 Это может с этим связано? В SAMS около 10 юзеров. Ни по одному не ведется статистка... Спасибо
Сергей
28/10/2014 - 10:02
Здравствуйте еще раз. Я вам вопрос задавал, по поводу статистки. То, что SAMS не видит логи Сквида. Извиняюсь, нашел ошибочку. Я  не настроил в самом SAMSе обработку логов SQUDа. Поставил галочку, и все заработало. Спасибо за отличные статьи!
28/10/2014 - 10:20
Здравствуйте. Рад, что Вы нашли проблему.
Гость
30/10/2014 - 06:31
Здравствуйте. Подскажите, почему может не выводится моя страница блокировки. Выводится стандартная страница самса. Делал все по инструкции, созал фалик  <code>/usr/share/sams/messages/file_denied.html.</code> Поправил blocked.php. Но все равно выходит стандартная...
30/10/2014 - 12:19
Данное решение только при работае с редиректором Rejik3, при работе встроенного редиректора sams выводит не измененную страницу блокировки.

Add new comment

Filtered HTML

  • Search Engines will index and follow ONLY links to allowed domains.

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Search Engines will index and follow ONLY links to allowed domains.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.