Страница 1 из 1

Настройка Squid и SAMS в среде FreeBSD

Добавлено: 31 май 2010, 11:58
Raven
Специально по просьбе zaka

Ставим 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 install clean
Добавляем следующие опции в /usr/local/etc/squid/squid.conf
Ниже фрагмент файла squid.conf с добавленными или измененными параметрами.
Первые пять строк включают аутентификацию. Проверьте правильность путей к файлам.
  • Опция http_port 8080 меняет порт, на котором работает 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 8080

  forwarded_for off

  acl squidusers proxy_auth REQUIRED

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

Код: Выделить всё

/usr/local/bin/htpasswd /usr/local/etc/squid/ncsa.sams testuser
Вводим пароль для testuser Добавим в /ets/rc.conf строку

Код: Выделить всё

  squid_enable=”YES”
Создадим кеш прокси сервера командой

Код: Выделить всё

  squid –z
Запустим squid командой

Код: Выделить всё

  /usr/local/etc/rc.d/squid start
Посмотрим процессы

Код: Выделить всё

  ps axw | grep squid

  5925 ?? Is 0:00,00 /usr/local/sbin/squid -D
  5927 ?? S 0:01,05 (squid) -D (squid)
  5928 ?? Is 0:00,01 (ncsa_auth) /usr/local/etc/squid/ncsa.sams (ncsa_auth)
  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)
Установка MySQL5

Код: Выделить всё

  cd /usr/ports/databases/mysql50-server
  make install clean
Добавим в /etc/rc.conf строку

Код: Выделить всё

  mysql_enable=”YES”
Запустим mysql командой

Код: Выделить всё

  /usr/local/etc/rc.d/mysql-server start
Посмотрим запустился ли mysql, командой

Код: Выделить всё

  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'
Подключаемся локально

Код: Выделить всё

 mysql -u root -p
Добавим пользователя monty (полные права на все базы со всех хостов сети)

Код: Выделить всё

 use mysql
  GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
  GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
Ставим PHP5

Код: Выделить всё

  cd /usr/ports/lang/php5
  make config
Выбираем опции

Код: Выделить всё

 X CLI
  X CGI
  X APACHE
  X SUHOSIN
  X FASTCGI
  X PATHINFO

Код: Выделить всё

 make install clean
Чтобы активировать модули apache даем команду

Код: Выделить всё

  apachectl graceful
Правим файл /usr/local/etc/apache22/httpd.conf

В группе загрузки модулей дописываем загрузчик модуля php.

Код: Выделить всё

  LoadModule php5_module libexec/apache2/libphp5.so
и в конце файла добавляем:

Код: Выделить всё

  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
Еще проверим httpd.conf, в списке модулей должны быть строки.

В корень вебсервера кладем файл /usr/local/www/data/index.php содержащий

Код: Выделить всё

  <?
    phpinfo();
  ?>
Перезапускаем вебсервер командой apachectl restart

Проверяем работоспособность php http://127.0.0.1/index.php

Ставим PHP5_EXTENSIONS из портов (/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 install clean

Настройка Squid и SAMS в среде FreeBSD

Добавлено: 31 май 2010, 12:46
Raven
Чтобы активировать модули apache даем команду

Код: Выделить всё

  apachectl graceful
В файл /usr/local/etc/apache/httpd.conf добавить директиву ExecCGI
Это разрешит загрузку файлов на сервер через web интерфейс
Ниже фрагмент 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

Код: Выделить всё

safe_mode = On
safe_mode_exec_dir = "/usr/local/share/sams/bin" 
Ставим SAMS
В связи с проблемой 2010г. предпочтителнее скачать самсу с официального сайта, релизом не ниже 1.0.5 (далее мы будем использовать на свой страх и риск бета-версию 2.0). Итак, качаем по ссылке

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

Код: Выделить всё

AddDefaultCharset Off 
В файле php.ini (в директории /etc и директории http сервера) раскомментируйте вызов библиотеки поддержки mysql:

Код: Выделить всё

extensions=mysql.so
Реконфигурированием прокси-сервера squid занимается демон samsdaemon.
Реконфигурирование прокси-сервера squid происходит путем изменения файла squid.conf и подачей сигнала squid на реконфигурацию.

При внесении изменений в squid.conf samsdaemon привязывается к тэгам начала разделов, например
# TAG: acl
Наличие этих тэгов необходимо!!!
Кроме того, sams добавляет только те настройки, которые необходимы для работы пользователей, зарегистрированных в SAMS.
acl типа acl all src 0.0.0.0/0.0.0.0 и прочие не вносятся и не удаляются.
Если вы создали какие-то свои настройки для sams в squid.conf, чтобы они не уничтожались при реконфигурировании, поставьте после ваших правил знак комментария # (решетка). samsdaemon не удаляет строки где есть знак #.

Продолжение будет!

Re: Настройка Squid и SAMS в среде FreeBSD

Добавлено: 28 дек 2010, 17:28
zaka
Я распечатал и зашил в моих man'x
низкий поклон *HALLO*

Re: Настройка Squid и SAMS в среде FreeBSD

Добавлено: 28 дек 2010, 17:57
Raven
Да, но я не успел дописать - все времени нет. Статья там большая

Re: Настройка Squid и SAMS в среде FreeBSD

Добавлено: 29 дек 2010, 13:23
zaka
Raven писал(а):Да, но я не успел дописать - все времени нет. Статья там большая
да я понял жду продолжении *DANCE* и потихоньку фрюху начинаем копать %)

Re: Настройка Squid и SAMS в среде FreeBSD

Добавлено: 14 апр 2011, 13:11
Moriarti
ждем продолжения *BRAVO*

Re: Настройка Squid и SAMS в среде FreeBSD

Добавлено: 14 апр 2011, 15:05
zaka
Moriarti писал(а):ждем продолжения *BRAVO*
да да ждемс