SQUID3 SAMS2 Ubuntu 14.04.3

SAMS Logo

   1. В предыдущей статье мы говорили о настройках сервера на Ubuntu 10.04 LTS. Много времени ушло с тех пор, необходимо обновить наши знания на текущей операционной системе Ubuntu 14.04 х64. Изначально хотел дополнить старую статью, но получилась громоздкая с большим количеством букв. Решено было опубликовать новую, на основе старой. Итак, приступим. Устанавливаем систему, и обновляем до последней версии. Настраиваем сеть:

nano /etc/network/interfaces

   Оговорюсь, интерфейс eth0 подключен к роутеру с Интернет. Интерфейс eth1 - смотрит в локальную сеть, откуда и будут клиенты подключаться и работать через прокси. И делаем приблизительно такие настройки (у кого другие, адаптируйте под себя):

auto lo
iface lo inet loopback
####Internet####
auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0
gateway 192.168.1.1
####Local####
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
####NAT####
post-up /etc/nat

Создаем скрипт для NAT:

nano /etc/nat

В него вставляем следующее:


#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j REJECT
iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128

   Установим на наш сервер прокси-сервер squid и необходимый набор дополнительных пакетов

apt-get install apache2 apache2-doc apache2-utils isc-dhcp-server mysql-server libmysqlclient15-dev libapache2-mod-php5 php5 php5-common php5-dev php5-mcrypt php5-imagick php5-mysql php5-gd squid3 libpcre3 libpcre3-dev

Идем редактировать конфиг. Открываем /etc/squid3/squid.conf, ищем нужные строки и корректируем следующим образом:


...
http_port 192.168.0.1:3128 intercept #добавляем в строку параметр intercept
...
acl localnet src 192.168.0.0/24 # RFC1918 possible internal network # раскомментировать эту строчку
...
http_access allow localnet # раскомментировать эту строчку
...
cache_dir ufs /var/spool/squid3 2048 16 256
...

По своему вкусу, включаем и изменяем параметры
maximum_object_size
cache_mem
maximum_object_size_in_memory
Включаем ведение логов:
access_log daemon:/var/log/squid3/access.log squid
и перезаписываем их каждые 30 дней:
logfile_rotate 30

   2. Настраиваем DHCP-сервер для клиентов прокси:
Сначала редактируем сетевой интерфейс, который будет раздавать dhcp-адреса:

sudo nano /etc/default/isc-dhcp-server

В нашем примере это eth1:

INTERFACES=eth1

Правим конфиг:

sudo nano /etc/dhcp/dhcpd.conf

Приводим в такой вид:

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.254;
option routers 192.168.0.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option domain-name "example.com"
}

Перезапускаем dhcp сервер

/etc/init.d/isc-dhcp-server restart

Перегружаем сервер прокси

reboot

   После перезагрузки, если Вы все сделали правильно, на клиентской стороне должны автоматом получить сетевой адрес (из 0-вой подсети) и появиться Интернет. В противном случае, возвращайтесь к началу и проверяйте, сделали где-то не правильно.

   3. Теперь, когда у Вас появился Интернет, приступим к следующему этапу - установки и настройки Sams. Для этого нам необходимо скачать набор нужных пакетов:


wget http://nixdev.net/release/sams/devel/packages/ubuntu/10.04/sams2-doc_2.0.0-b2_all.deb

wget http://nixdev.net/release/sams/devel/packages/ubuntu/10.04/sams2-web_2.0.0-b2_all.deb

wget http://nixdev.net/release/sams/devel/packages/ubuntu/10.04/sams2_2.0.0-b2_amd64.deb

Как говориться старое, но еще пригодное ;-).
И устанавливаем скачанное:

dpkg -i *.deb

У кого выскакивает зависимость libmysqlclient16

wget http://security.ubuntu.com/ubuntu/pool/main/m/mysql-dfsg-5.1/libmysqlclient16_5.1.41-3ubuntu12_amd64.deb

И повторяем пункт выше.
Если все получилось, идем далее, настало время настройки apache. Так как, версия апача обновлена до 2.4 в 14.04, выложу весь конфиг:

nano /etc/apache2/sites-available/000-default.conf

И сам конфиг

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/sams2/
<Directory /usr/share/sams2/>
Options Indexes FollowSymLinks MultiViews
Require all granted
AllowOverride All
</Directory>
</VirtualHost>

Затем правим конфиг SAMS2

nano /etc/sams2.conf

И правим:


;
; This is config file for sams2
; A line started with ; or # is a comment
;

; Database engine
; To use an engine it must be enabled during configuration
DB_ENGINE=MySQL
;DB_ENGINE=PostgreSQL
;DB_ENGINE=unixODBC

; Hostname where database is runing
; This parameter is not neccesary for unixODBC engine
DB_SERVER=localhost

; Database name
SAMS_DB=sams ;название вашей БД

;
ODBC=0
PDO=0
; Source as defined in odbc.ini
; This parameter is not neccesary for engine other than unixODBC
ODBCSOURCE=sams_mysql

; Username for database connection
DB_USER=sams ;пользователь БД
; Password for database connection
DB_PASSWORD=********** ;пароль пользователя БД
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/etc/squid3
SQUIDLOGDIR=/var/log/squid3
SQUIDCACHEDIR=/var/spool/squid3
WBINFOPATH=/usr/bin
SAMSPATH=/usr
SQUIDPATH=/usr/sbin
SQUIDGUARDLOGPATH=/var/log
SQUIDGUARDDBPATH=/etc/squid
RECODECOMMAND=iconv -f KOI8-R -t 866 %finp > %fout
SHUTDOWNCOMMAND=shutdown -h now
; Proxy id
; Identificator of proxy, starting from 1
CACHENUM=1

Теперь на компьютере в локальной сети прокси сервера открываем браузер и начинаем устанавливать базу данных и пользователя sams в БД MySQL через веб-интерфейс.
Редактируем /etc/init.d/sams и изменяем SAMS_ENABLE="false" на "true".

nano /etc/init.d/sams
SAMS_ENABLE=true

Странно, но такой факт имеет место, sams-демон не хотел запускаться в автоматическом режиме. Решился вопрос элементарно - делаем задержку запуска демона в конфиге под строкой #!/bin/sh -e

sleep 10

Перезапускаем Apache

/etc/init.d/apache2 restart

И заходим через браузер с компа потенциального клиента:
http://192.168.0.1
Далее выполняем действия в браузере по установки и настройке.
Не обращаем внимания на ругательство настроек PHP так как, safe_mode не поддерживается в новых версиях PHP5

Редактируем /etc/init.d/sams2 и изменяем SAMS_ENABLE="false" на "true".

SAMS_ENABLE=true

Ставим задердку запуска на 10 секунд, под строкой #!/bin/sh -e
пишем sleep 10
Запускаем SAMS

/etc/init.d/sams2 start

Доводим окончательные настройки через веб-интерфейс, и реконфигурируем сервер.
Оцените блог: 
Средняя: 2.3 (231 оценка)