Документация по ОС FreeBSD Понедельник, 29.04.2024, 10:41
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Squid

Установка Прокси сервера SQUID с веб мордой SAMS [2008]
Вот решил поставить как-то прокси сервер squid естественно, но хотелось еще ко всему этому веб морду и прочитал про такое SAMS (Squid Account Manager Sams) http://sams.perm.ru/. В принципе все красиво и логи от squid он хранить умеет в mysql
Создавать группы, ставить ограничение по трафику, ну и что самое главное можно было потом из mysql тянуть логи в 1С. На 1С была сделана обработка для распознания рабочий личный сайты итд.
В общем красиво и много полезного.

Приступим....

Ставим сам прокси сервер SQUID
cd /usr/ports/www/squid
make config

Выбираем опции 
 X squid_delay_pools
 X squid_carp
 X squid_wccp
 X squid_ident
 X squid_kqueue
 X squid_largefile

и устанавливаем
make && make install && make clean

Добавляем следующие опции в /usr/local/etc/squid/squid.conf
Опция http_port 3128 меняет порт, на котором работает squid
Опция forwarded_for off отключает ip адрес клиента
Опциями acl squidusers proxy_auth REQUIRED и http_access allow squidusers мы разрешаем аутентифицированным пользователям доступ в интернет.

auth_param basic program /usr/local/libexec/squid/ncsa_auth 
 /usr/local/etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
http_port 3128
forwarded_for off
acl squidusers proxy_auth REQUIRED
http_access allow squidusers

Создаем пользователя для проверки работы squid

/usr/local/bin/htpasswd /usr/local/etc/squid/ncsa.sams vash_user

И вводим для него пароль

Далее добавляем в /etc/rc.conf строку для автоматического запуска squid после перезагрузки
echo ‘squid_enable=”YES”’ >> /etc/rc.conf

Создадим кеш для прокси сервера
squid –z
Запускаем сам squid
/usr/local/etc/rc.d/squid start

Смотрим в процесс
ps axw | grep squid

5927 ?? Is 0:00,00 /usr/local/sbin/squid -D
5928 ?? S 0:01,05 (squid) -D (squid)
5929 ?? Is 0:00,01 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
5930 ?? Is 0:00,01 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
5931 ?? Is 0:00,01 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
5932 ?? Is 0:00,01 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
5933 ?? Is 0:00,01 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)

Cтавим Базу Данных Mysql 5.1
cd /usr/ports/databases/mysql51-server
make && make install && make clean

Добавляем в /etc/rc.conf строку для запуска mysql
echo ‘mysql_enable=”YES”’ >> /etc/rc.conf

И запускаем сам сервер
/usr/local/etc/rc.d/mysql-server start

Проверяем должно быть что то типа этого
ps axw | grep mysql

6210 p0 RV 0:00,00 grep mysql (csh)
6188 p1- S 0:00,02 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-file=/var/db/mysql/my.cnf -- user=mysql --datadir=/var
6206 p1- S 0:00,94 /usr/local/libexec/mysqld --defaults-extra-file=/var/db/mysql/my.cnf --basedir=/usr/local --datadir=/var/

Далее меняем пароль администратора Базы Данных
/usr/local/bin/mysqladmin -u root password 'new_password'
/usr/local/bin/mysqladmin -u root -h hostname password 'new_password'

Ставим Веб сервер Apache 1.3

cd /usr/ports/www/apache13
make && make install && make clean

Добавим строку в /etc/rc.conf для автозапуска apache при перезагрузке сервера
echo ‘apache_enable=”YES”’ >> /etc/rc.conf

Запускаем сам apache
/usr/local/etc/rc.d/apache.sh start

Смотрим запустился ли веб сервер apache
ps ax | grep http

6283 ?? Ss 0:00,05 /usr/local/sbin/httpd
6284 ?? I 0:00,00 /usr/local/sbin/httpd
6285 ?? I 0:00,00 /usr/local/sbin/httpd
6286 ?? I 0:00,00 /usr/local/sbin/httpd
6287 ?? I 0:00,00 /usr/local/sbin/httpd
6288 ?? I 0:00,00 /usr/local/sbin/httpd
6380 p0 R+ 0:00,00 grep http

Проверяем открывается ли тестовая страница набрав в любом веб браузере http://ip_tachki/

Ставим PHP 5
cd /usr/ports/lang/php5
make config

Выбираем опции
 X CLI
 X CGI
 X APACHE
 X SUHOSIN
 X FASTCGI
 X PATHINFO

Устанавливаем.
make && make install && make clean

Чтобы активировать модули apache даем команду
apachectl graceful

Далее создаем тестовую страничку
ee /usr/local/www/data/index.php вот с таким содержанием

<?
 phpinfo();
?>

Перезапускаем веб сервер командой
/usr/local/etc/rc.d/apache.sh restart

Проверяем работоспособность php заходим с любого интернет браузера http://ip_tachki/index.php

Ставим PHP5_EXTENSIONS
cd /usr/ports/lang/php5-extensions
make config

Выбираем опции

 X CTYPE
 X CURL
 X GD
 X GETTEXT
 X HASH
 X ICONV
 X JSON
 X MYSQL
 X OVERLOAD
 X PCRE
 X PDF
 X PDO
 X PDO_SQLITE
 X POSIX
 X SESSION
 X SIMPLEXML
 X SPL
 X SQLITE
 X TOKENIZER
 X XMLREADER
 X XMLWRITER
 X ZLIB

make && make install && make clean

Чтобы активировать модули apache даем команду
apachectl graceful

В файл /usr/local/etc/apache/httpd.conf добавить директиву ExecCGI
Это разрешит загрузку файлов на сервер через web интерфейс
ee /usr/local/etc/apache/httpd.conf и добавляем следующее

 <Directory />
 Options FollowSymLinks ExecCGI
 AllowOverride None
 </Directory>

Настраиваем php
cp /usr/local/etc/php.ini-recommended /usr/local/etc/php.ini

Настриваем php для работы в режиме safe mode, изменим /usr/local/etc/php.ini включаем
режим safe mode. Для этого выставляем параметр safe_mode = On
Ниже фрагмент php.ini
Правим php.ini
ee /usr/local/etc/php.ini

safe_mode = On
safe_mode_exec_dir = "/usr/local/share/sams/bin"

Установка SAMS-1.1
Качаем с http://sams.perm.ru/ дистрибутив sams-1.1.tar.bz2
Кидаем в любую директорию например /usr/home/
Распаковываем
tar zxvf sams-1.1.tar.bz2

Переходим в каталог
cd sams-1.1

далее конфигурим
./configure

И устанавливаем обязательно gmake  
gmake install

переходим в директорию со скриптами создания базы и пользователя sams с паролем qwerty в Базе Данных Mysql
cd mysql
./create_sams_user

Вводим пароль Администратора mysql
Далее
./create_squid_db

Вводим пароль Администратора mysql
далее
Копируем демон запуска SAMS в каталог ко всем демонам
cp /usr/home/sams-1.1/etc/samsd.freebsd /usr/local/etc/rc.d/samsd

Добавим в samsd строку # REQUIRE: mysql
Это необходимо чтобы samsd стартовал после mysql
echo # REQUIRE: mysql >> /usr/local/etc/rc.d/samsd

Добавляем в /etc/rc.conf строку для SAMS
echo ‘samsd_enable=”YES”’ >> /etc/rc.conf

Далее создаем конфиг SAMS примерно вот с таким содержанием
ee /etc/sams.conf

 SQUID_DB=squidlog
 SAMS_DB=squidctrl
 MYSQLHOSTNAME=localhost
 MYSQLUSER=sams
 MYSQLPASSWORD=qwerty
 MYSQLVERSION=5.1
 SQUIDCACHEFILE=access.log
 SQUIDROOTDIR=/usr/local/etc/squid
 SQUIDLOGDIR=/usr/local/squid/logs
 SQUIDCACHEDIR=/usr/local/squid/cache
 SAMSPATH=/usr/local
 SQUIDPATH=/usr/local/sbin
 SQUIDGUARDLOGPATH=/var/log
 SQUIDGUARDDBPATH=/var/db/squidguard
 RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
 LDAPSERVER=servername_or_ipadress
 LDAPBASEDN=your.domain
 LDAPUSER=DomainAdministrator
 LDAPUSERPASSWD=passwd
 LDAPUSERSGROUP=Users
 REJIKPATH=/usr/local/rejik3
 SHUTDOWNCOMMAND=shutdown -h now
 CACHENUM=0

Далее необходимо создать символическую ссылку.(чтобы создавался файлик ncsa.sams)
ln -s /usr/local/bin/htpasswd /usr/bin/htpasswd

Перед тем как запустить скачайте исправленный файл и его в директории
/usr/local/www/data/src/
Вместо userbuttom_1_prop.php в нем касяк не стоит проверка на то если уже существующего пользователя редактируешь ну например трафик добавил и оставляешь поле пароль пустым то пароль бьеться,так что качаем исправленный Качаем userbuttom_1_prop.php

Запускаем SAMS
/usr/local/etc/rc.d/samsd start

Проверяем набераем в любом веб браузере http://ip_tachki/sams/
Создаем пользователя sams для доступа к mysql, автоматом создадутся необходимые базы.
User sams password qwerty 
Заходим в веб интерфейс, по умолчанию пользователь Admin, 
 пароль qwerty
Администрирование SAMS -> настройки SAMS
Способ аутентификации пользователя-> NCSA
Настройка samsdaemon
Проверять наличие команды на реконфигурирование squid каждые -> 
 1 секунд
Обрабатывать логи SQUID -> галочка
Запускать обработчик логов через N минут -> 1 минут
Редиректор -> встроенный squid
Создаем пользователей, назначаем им шаблон
Да и добавте адрес в браузере в строке Не спользовать прокси 
 для и введите ip_tachki
У меня это так 192.168.1.5 
Можно перевести еще все в SAMS на русский язык
В настройках Веб интерфейса

Далее убираем две строки из squid.conf
ee /usr/local/etc/squid/squid.conf

acl squidusers proxy_auth REQUIRED
http_access allow squidusers
и добавляем следующую для редиректора 
redirect_program /usr/local/etc/squid/redirector.sams

Реконфигурируем прокси
В веб интерфейсе
SQUID -> Реконфигурирование SQUID
Все можно выпить бутылочку шампанского :)
Можно еще включить фаерволл pf для того что бы закрыть порты

Чуть позже напишу как прикрутить редиректора РЕЖИК 3 http://www.rejik.ru/
Он нужен для резки баннеров ну и запрещать сайты который не для общего пользования итд



Источник: http://www.lissyara.su/?id=1718
Категория: Squid | Добавил: oleg (26.07.2008) | Автор: Cancer
Просмотров: 3960 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024