FreeBSD 8.1+SQUID SAMS c авторизацией по NCSA.
Оглавление
Введение
1. Создание нового пользователя
2. Установка MC
3. Устанавливаем bash.
4. Настройка доступа по SSH
5. Собираем новое ядро, с поддержкой файрвола.
6. Установка Веб сервера Apache 1.3
7. Установка прокси сервер SQUID
8. Установка СУБД Mysql 5.1
9. Установка PHP 5
10. Ставим PHP5 EXTENSIONS
11. Установка SAMS-1.0.5
12. Настройка Веб Интерфейса SAMS
13. Настройка очистки счетчиков трафика пользователей SAMS
14. Установка Rejik
15. Настройка freemem и freeswap
16. Установка SARG для подсчета http трафика.
17. Установка ProFTP для просмотра отчетов sarg через FTP сервер
18. Установка trafd для подсчета общей суммы трафика
19. Сделать клон диска, чтобы не ставить заново.
20. APCUPSD - автовыключение сервера от UPS
Введение
В данной инструкции будет рассмотрен процесс установки связки SQUID SAMS c авторизацией по NCSA, и описаны все проблемы и их решения, которые возникли в процессе установки.
Установлена следующая ОС:
Перед тем как начать установку обновите порты ОБЯЗАТЕЛЬНО!!!
# portsnap fetch extract
# portsnap fetch update
Как настроить сеть, для того чтобы обновить порты написано далее.
1. Создание нового пользователя
Вводим команду:
# adduser
Username – имя пользователя, я выбрал rolf.
Full name – полное имя, можно оставить пустым
Uid – оставляем по умолчанию – enter
Login group – группа в которую входит пользователь, оставляем по умолчанию – enter
Login group is rolf. Invite rolf into other groups? []: - wheel – в какую еще группу добавить пользователя, добавляем в группу wheel, чтобы он мог пользоваться правами root, после ввода его пароль (su).
Login class [default]: - по умолчанию – enter
Shell (sh csh tcsh bash nologin) [sh]: bash – выбираем ранее установленный шел, т.е. bash
Home directory [/home/rolf]: - домашнюю директорию оставляем по умолчанию - enter
Use password-based authentication? [yes]: enter
Use an empty password? (yes/no) [no]: enter
Use a random password? (yes/no) [no]: enter
Enter password: - вводим пароль пользователя
Enter password again: повторяем пароль…
Lock out the account after creation? [no]: enter
Username : rolf
Password : *****
Full Name : folf
Uid : 10078
Class :
Groups : rolf wheel
Home : /home/rolf
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no): проверяем все ли верно, если норма то вводим yes.
adduser: INFO: Successfully added (rolf) to the user database.
Add another user? (yes/no): no – спрашивает будем ли вводить нового пользователя, отвечаем no.
Goodbye!
Нажимаем Alt+F2 переходим на другую консоль и вводим имя и пароль созданного пользователя.
Должен выполниться вход в систему.
Теперь зайдем с правами root. Вводим su, запросит пароль, вводим пароль root.
Можем работать в система под root.
2. Установка MC
MC можно установить из портов и из исходников. Рассмотрим оба варианта:
- Из исходников.
Пишем на диск исходники MC. Берем например здесь:
http://www.midnight-commander.org/downloads
Ставим диск и монтируем его – mount /cdrom
Создаем в корне папку distr – mkdir /distr
Заходим на диск – cd /cdrom
Копируем cp mc-XXXX /distr
Идем в distr – cd /distr
Распаковываем в tar –zxvf MC-XXXX
Вводим sysinstall
Sysinstall – Configure – Packages – All – glib – Install – поставили пакет glib 1.2 (находится на 2 диске дистрибутива FreeBSD)
Теперь идем в папку /distr/MC-XXX
./configure
Make
Make install
Reboot
- Из портов.
Сначала нужно проверить есть ли интернет, пробуем пинговать mail.ru.
Не пингует, т.к. у меня не прописан шлюз, прописываем его в r.conf
ee /etc/rc.conf
Пробуем еще раз.
Все норма, но если не будет пинговаться то нужно проверить наличие в файле /etc/resolv.conf DNS сервера.
ee /etc/resolv.conf
Теперь нужно обновить порты. Вводим:
portsnap fetch extract
portsnap fetch update
у меня скачал 56 метров обновлений.
cd /usr/ports/misc/mc
make install clean
оставляем все запрашиваемые параметры по умолчанию, жмем ок.
После установки перезагружаемся.
Вводим mc
3. Устанавливаем bash.
Вводим sysinstall
Ждем пока не появится следующий список
Выбираем All
Устанавливаем bash-3.2.51
После установки bash выходим из Sysinstall.
Примечание: Если появилась необходисмость сменить шелл уже установленному пользователю то можно это сделать с помощью команды: chsh
Затем приводим файл к следующему виду:
R - режим замены
Esc – выход из режима
:wq – запись и выход.
Теперь переключаемся на другой терминал, входим под пользователем, шел которого меняли и вводим
echo $SHELL
Появится что-то вроде
Шел изменен.
4. Настройка доступа по SSH.
Далее я буду настраивать тестовый локальный сервер, который будет ходить в интернет через основной шлюз – 192.168.30.1.
Вводим ee /etc/rc.conf
Настраиваем сетевые карты, строки начинаются ifconfig…
Вводим ifconfig
Обе сетевухи подключены и настроены.
Т.к. доступ по SSH мы включили при установке, о чем свидетельствует строка
sshd_enable=”YES” в /etc/rc.conf, то пробуем подключиться к нашему серверу с локальной машины.
Для этого на локальной машине устанавливаем putty
Скачать можно например здесь
http://soft.softodrom.ru/ap/PuTTY-p5035
Ставим, запускаем, появляется окно.
Вводим IP нашего сервера и сохраняем – save, чтобы не вводить каждый раз. Затем - Open
Соглашаемся – Да
Вводим имя пользователя и пароль
login as:
Using keyboard-interactive authentication.
Password:
Входим в систему.
Получаем права root
su
Password:
Все теперь мы имеем полный доступ к нашему серверу.
5. Собираем новое ядро, с поддержкой файрвола.
Копируем файл /usr/src/sys/i386/conf/GENERIC -> /usr/src/sys/i386/conf/KERN240810
cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/KERN240810
Для поддержки IPFW нужно добавить следующие строки
- ident KERN240810
- maxusers 256
- options IPFIREWALL # встраиваем поддержку файрволла в ядро
- options IPFIREWALL_FORWARD
- options IPFIREWALL_VERBOSE # вывод информации об отброшенных пакетах
- options IPFIREWALL_VERBOSE_LIMIT=100 # ограничение
- options IPDIVERT
Остальное оставляем без изменения. Но можно и закомментировать честь ненужных для вашего ПК строк.
Делаем следующее
Конфигурируем
config KERN_140709
Если всё прошло успешно, без ошибок, то компилируем
переходим в каталог
cd /usr/src/sys/i386/compile/KERN_140709
и выполняем:
make depend
make
make install
Перезагружаемся. Доступ по SSH к серверу пропал. Заходим локально под рутом, вводим
ipfw list
Вводим
Ipfw add allow ip from any to any
Теперь доступ по SSH проявился.
Добавляем в /etc/rc.conf следующие строки:
#автозапуск файервола - firewall_enable="YES"
firewall_enable="YES"
# файл с правилами для файервола - /etc/rc.firewall
firewall_script="/etc/rc.firewall"
# firewall_type="MY" . закрытый тип файервола (если "OPEN", то - открытый)
firewall_type="MY"
firewall_logging="YES"
Правим /etc/rc.firewall
#!/bin/sh -
ipfw="/sbin/ipfw -q"
# Для начала разрешим все на данном сервере.
${ipfw} add 10 allow ip from any to any
Настраиваем FIREWALL в соответствии со своими нуждами.
6. Установка Веб сервера Apache 1.3
Сначала пытался установить Aoache 2.2, но с ним возникли проблемы, поэтому опять вернлуся к 1.3
Устанавливаем веб сервер Apache, для того что бы можно было управлять прокси сервером, просмотривать статистику и многое другое через веб интерфейс SAMS, написанный на php
cd /usr/ports/www/apache13
/usr/ports/www/apache13/> make install clean
/usr/ports/www/apache13/> rehash
Добавим строку в /etc/rc.conf для автозапуска apache при перезагрузке сервера
echo 'apache_enable="YES"' >> /etc/rc.conf
Запускаем сам apache.
/usr/local/etc/rc.d/apache start
Starting apache.
Смотрим запустился ли веб сервер apache
ps axw | 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://192.168.30.11/
Если при запуске Apache пишет сообщение об ошибке
apache2: Could not reliably determine the server's fully qualified domain name...
Тогда в файле /usr/local/etc/apache22/httpd.conf необходимо раскоментировать и изменить параметр
ServerName localhost
7. Установка прокси сервер SQUID
Устанавливаем сердце нашей связки прокси сервер Squid, нужен он для пропуска пользователей в интернет, так же кеширования http, https, ftp трафика
cd /usr/ports/www/squid
/usr/ports/www/squid/> make config
и устанавливаем
/usr/ports/www/squid/> make install clean
/usr/ports/www/squid/> rehash
Немного о параметрах:
http_port 3128 — порт, на котором будет работает squid
forwarded_for off — отключает ip адрес клиента
Добавляем следующие строки в /usr/local/etc/squid/squid.conf
ee /usr/local/etc/squid/squid.conf
auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/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
Все строки обязательно пишем в секциях, где им и нужно быть. А то много у кого проблемы были за за того что пишут все подряд внизу. Добавляйте все параметры поиском их в конфиге они там есть только закомментированы
Создаем пользователя для проверки работы squid
/usr/local/bin/htpasswd -c /usr/local/etc/squid/ncsa.sams Golf
password: Golf
либо
/usr/local/sbin/htpasswd -c /usr/local/etc/squid/ncsa.sams Golf
Создадим (SWAP) для прокси сервера Squid
rehash
squid -z
2008/10/02 20:57:19| Creating Swap Directories
Далее добавляем в /etc/rc.conf строку для автоматического запуска squid после перезагрузки
echo 'squid_enable="YES"' >> /etc/rc.conf
Запускаем сам squid
/usr/local/etc/rc.d/squid start
Starting squid.
Смотрим в процесс
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)
Для ротации логов добавляем в /etc/crontab:
1 1 1 2,4,6,8,10,12 * root /usr/local/sbin/squid -k rotate
8. Установка СУБД MySQL 5.1
Собственно устанавливаем Субд Mysql, где у нас будут храниться логи хождения пользователей по интернет страничкам.
cd /usr/ports/databases/mysql51-server
/usr/ports/databases/mysql51-server/> make install clean
rehash
Добавляем в /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/
Далее меняем пароль администратора - (root) СУБД Mysql
Вводим команду
hostname
Proxy.local – это полное имя нашего сервера
/usr/local/bin/mysqladmin -u root password 'Vita'
/usr/local/bin/mysqladmin -u root -h Proxy.local password 'Vita'
9. Установка PHP 5
Для нормальной работы необходимо ставить PHP 5.2 с версией 5.3 SAMS работает некорректно!!!
cd /usr/ports/lang/php52
/usr/ports/lang/php5/> make config
Устанавливаем:
/usr/ports/lang/php52/> make install clean
/usr/ports/lang/php52/> rehash
Чтобы активировать модули apache даем команду
apachectl graceful
Далее создаем тестовую страничку (для тестирования, работает ли php), вот с таким содержанием
ee /usr/local/www/data/index.php
<?
phpinfo();
?>
Перезапускаем веб сервер командой
/usr/local/etc/rc.d/apache restart
Проверяем работоспособность php заходим с любого интернет браузера http://192.168.30.11/index.php
Примечание: (мне не потребовалось, но все же)
Если у вас не появилась страница с информацией делаем следующее, а именно добавляем поддержку php
ee /usr/local/etc/apache/httpd.conf
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
10. Ставим PHP5 EXTENSIONS
PHP5 extensions тоже ставим версии 5.2 иначе SAMS будет работать некорректно
cd /usr/ports/lang/php52-extensions
/usr/ports/lang/php5-extensions/> make config
Options for php5-extensions 1.2 |
| +----------------------------------------------------------------+ |
| | [ ] BCMATH bc style precision math functions | |
| | [ ] BZ2 bzip2 library support | |
| | [ ] CALENDAR calendar conversion support | |
| | [X] CTYPE ctype functions | |
| | [X] CURL CURL support | |
| | [ ] DBA dba support | |
| | [ ] DBASE dBase library support | |
| | [ ] DOM DOM support | |
| | [ ] EXIF EXIF support | |
| | [ ] FILEINFO fileinfo support | |
| | [ ] FILTER input filter support | |
| | [ ] FRIBIDI FriBidi support | |
| | [ ] FTP FTP support | |
| | [X] GD GD library support | |
| | [X] GETTEXT gettext library support | |
| | [ ] GMP GNU MP support | |
| | [X] HASH HASH Message Digest Framework | |
| | [X] ICONV iconv support | |
| | [ ] IMAP IMAP support | |
| | [ ] INTERBASE Interbase 6 database support (Firebird) | |
| | [ ] JSON JavaScript Object Serialization support | |
| | [ ] LDAP OpenLDAP support | |
| | [ ] MBSTRING multibyte string support | |
| | [ ] MCRYPT Encryption support | |
| | [ ] MHASH Crypto-hashing support | |
| | [ ] MING ming shockwave flash support | |
| | [ ] MSSQL MS-SQL database support | |
| | [X] MYSQL MySQL database support | |
| | [ ] MYSQLI MySQLi database support | |
| | [ ] NCURSES ncurses support (CLI only) | |
| | [ ] ODBC unixODBC support | |
| | [ ] OPENSSL OpenSSL support | |
| | [ ] PCNTL pcntl support (CLI only) | |
| | [X] PCRE Perl Compatible Regular Expression support | |
| | [X] PDF PDFlib support (implies GD) | |
| | [X] PDO PHP Data Objects Interface (PDO) | |
| | [X] PDO_SQLITE PDO sqlite driver | |
| | [ ] PGSQL PostgreSQL database support | |
| | [X] POSIX POSIX-like functions | |
| | [ ] PSPELL pspell support | |
| | [ ] READLINE readline support (CLI only) | |
| | [ ] RECODE recode support | |
| | [X] SESSION session support | |
| | [ ] SHMOP shmop support | |
| | [X] SIMPLEXML simplexml support | |
| | [ ] SNMP SNMP support | |
| | [ ] SOAP SOAP support | |
| | [ ] SOCKETS sockets support | |
| | [ ] SPL Standard PHP Library | |
| | [X] SQLITE sqlite support | |
| | [ ] SYBASE_CT Sybase database support | |
| | [ ] SYSVMSG System V message support | |
| | [ ] SYSVSEM System V semaphore support | |
| | [ ] SYSVSHM System V shared memory support | |
| | [ ] TIDY TIDY support | |
| | [X] TOKENIZER tokenizer support | |
| | [ ] WDDX WDDX support (implies XML) | |
| | [ ] XML XML support | |
| | [X] XMLREADER XMLReader support | |
| | [ ] XMLRPC XMLRPC-EPI support | |
| | [X] XMLWRITER XMLWriter support | |
| | [ ] XSL XSL support (Implies DOM) | |
| | [ ] YAZ YAZ support (ANSI/NISO Z39.50) | |
| | [ ] ZIP ZIP support | |
| | [X] ZLIB ZLIB support | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
/usr/ports/lang/php5-extensions/> make install clean
/usr/ports/lang/php5-extensions/> rehash
Чтобы активировать модули 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.ini
//> cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
И добавляем в конец файла в php.ini 2 строки.
//> ee /usr/local/etc/php.ini
safe_mode = On
safe_mode_exec_dir = "/usr/local/share/sams/bin"
Перезагрузим Apache
/usr/local/etc/rc.d/apache restart
11. Установка SAMS-1.0.5
cd /usr/ports/www/sams
/usr/ports/www/sams/> make config
/usr/ports/www/sams/> make install clean
/usr/ports/www/sams/> rehash
cp /usr/local/etc/sams.conf.sample /usr/local/etc/sams.conf
Правим конфиг самса до такого состояния
ee /usr/local/etc/sams.conf
[client]
SQUID_DB=squidlog
SAMS_DB=squidctrl
MYSQLHOSTNAME=localhost
MYSQLUSER=root – ЛОГИН АДМИНИСТРАТОРА MySQL который вводили ранее!!!!!
MYSQLPASSWORD=gfhjkm123 - ПАРОЛЬ АДМИНИСТРАТОРА MySQL который вводили ранее!!!!!
MYSQLVERSION=5.1
SQUIDCACHEFILE=access.log
SQUIDROOTDIR=/usr/local/etc/squid
SQUIDLOGDIR=/var/squid/logs
SQUIDCACHEDIR=/var/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/rejik
SHUTDOWNCOMMAND=/sbin/shutdown -h now
CACHENUM=0
При копировании данных с сайта лисяры пути
Теперь добавляем линк в конфиг Apache, для того что бы можно было попасть в веб интерфейс
ee /usr/local/etc/apache/httpd.conf Alias /sams "/usr/local/share/sams/"
<Directory "/usr/local/share/sams/">
AllowOverride AuthConfig
Options Indexes MultiViews
Order allow,deny
Allow from all
</Directory>
Ну и перезагрузим Apache для надежности =)
/usr/local/etc/rc.d/apache restart
Если в web-интерфейсе пишет ошибки ссылаясь на файлы php.ini
Notice: Undefined index: user in /usr/local/share/sams/lframe.php on line 60
Notice: Undefined index: user in /usr/local/share/sams/tray.php on line 139
В случае ошибок с датами в PHP необходимо выполнить следующие действия
Создаем Базы и пользователя самс в СУБД Mysql, для этого перейдите в любом интернет браузере по ссылке http://192.168.30.11i/sams/ и там вы увидите
Нужно нажать на кнопку Run SAMS database installation script тем самым мы запустим скрипт по созданию нужных баз и пользова теля в MySQL.
Sams MySQL user: Вводим пользователя под которым самс будет подключаться к БД (а именно которого мы указали в sams.conf)
Sams MySQL user password: Вводим пароль для пользователя sams, естественно так же который мы указали в sams.conf
Ну и нажимаем кнопку Create Database
Далее вы должны увидеть следующее:
Если видим подобное чудо, то все отлично!, нажимаем на кнопку Starting SAMS webinterface
Далее необходимо создать символическую ссылку!!!! (чтобы создавался файлик ncsa.sams, в который добавляются пользователи)
ln -s /usr/local/bin/htpasswd /usr/bin/htpasswd
Под FreeBSD при запуске сервера SAMS норовит стартовать раньше MySQL, в результате чего он не может открыть нужные таблицы. Устранить можно исправив в файле /usr/local/etc/rc.d/sams строчку:
# REQUIRE: LOGIN cleanvar
до
# REQUIRE: LOGIN cleanvar mysql
и тогда mysql_real_connect() error 0. no open database squidctrl, DELAY 3 sec не появится
Демон должен выглядеть так
ee /usr/local/etc/rc.d/sams
#!/bin/sh
# $FreeBSD: ports/www/sams/files/sams.sh.in,v 1.1 2006/12/29 20:18:35
# PROVIDE: sams
# REQUIRE: mysql
# REQUIRE: LOGIN cleanvar
# KEYWORD: shutdown
#....пропущено....
Добавляем в /etc/rc.conf строку sams_enable="YES" для того что бы SAMS запускался при старте системы
echo 'sams_enable="YES"' >> /etc/rc.conf
Запускаем SAMS
/usr/local/etc/rc.d/sams start
Starting sams.
12. Настройка Веб Интерфейса SAMS
В любом браузере переходим http://ip_tachki/sams/
Заходим в веб интерфейс, ПО УМОЛЧАНИЮ ПОЛЬЗОВАТЕЛЬ admin, ПАРОЛЬ qwerty (ВСЕГДА ТАК)
User authenticate ---> Access under the name of another superuser
- Настройки WEB интерфейса -> Нажимаем на Гаечный ключ
Язык: [Russian KOI8-R]
Разрешить доступ пользователей к своей статистике:
по трафику за день [X]
по посещенным URL [X]
Тема иконок: [bumper]
Показывать дерево пользователей [X]
Показывать пользователей как [Фамилия Имя]
Размер Килобайта, учитываемого вашим провайдером (byte) [1024]
Размер Мегабайта, учитываемого вашим провайдером (byte) [1048576]
Показывать графики в отчетах [X]
Создавать PDF отчеты: [Не создавать]
Сохранить изменения]
- SAMS -> Администрирование SAMS -> Настройка SAMS
Домен по умолчанию: [Оставляем_пустым]
Способ аутентификации пользователя: [NCSA]
Настройка samsdaemon:
Проверять наличие команды на реконфигурирование squid каждые [1 секунду]
Обрабатывать логи SQUID: [X]
Используя: [Запускать обработчик логов через N минут]
обрабатывать через: [1 минуту]
Автоматически очищать счетчики трафика пользователей: [X]
Путь к wbinfo: [/usr/local/bin]
файл перенаправления запроса: [http://ip_tachki/sams/icon/classic/blank.gif]
Путь к каталогу, где лежат файлы запрета запроса: [http://ip_tachki/sams/messages]
Редиректор: [Не использовать редиректор]
Включить ограничение скорости доступа пользователей (delaypool): [ ]
Сохранять данные о трафике в базе за последние: [Не сохранять]
[Сохранить изменения]
- SAMS -> Шаблоны пользователей -> Default
Cписки SAMS:
Перенаправление запроса
[X] Banners
[X] Counters
[ ] Доступ запрещен ко всем URL
Запрет доступа
[X] Chats
[X] Porno
[X] Localdomains
Объем трафика пользователя шаблона по умолчанию (Mb): [100] 0 - unlimited traffic
Скорость канала для всего шаблона (byte/s): [64000]
Скорость канала для отдельного пользователя (byte/s): [64000]
Способ авторизации пользователей: [NCSA]
Период лимита трафика: [Месяц]
период:[ ]дней
Дата следующего обнуления
счетчика трафика:
[ ]:[ ]:[ ]
Дни недели
Пон Вт Ср Чт Пт Сб Вск
[x][x][x][x][x][x][x]
Временной период
0 : 00 - 23 : 59
[Сохранить изменения]
- Пользователи -> Добавить пользователя
Регистрация нового пользователя
Пользователь: [test]
Домен: [Оставляем поле пустым]
Пароль для допуска пользователя
в интернет и просмотра статистики: [******]
IP адрес/маска: [ ]/[255.255.255.255]
Имя: [Тест]
Отчество: [Тестович]
Фамилия: [Тестов]
Группа: [Users]
Разрешенный
трафик (Мб): [100]
Пользователь активен: [X]
Шаблон: [Default]
[Добавить пользователя]
- SAMS -> Локальные домены
Список локальных доменов
Локальные домены
+-------------------+-+
| 127.0.0.1 | |
| 192.168.55.0/24 | |
| domain.local | |
| ip_tachki | |
| proxy.domain.local| |
| | |
| | |
| | |
| | |
+-------------------+-+
[Удалить URL] [__________________][Change]
[__________________][Добавить URL]
[Очистить список]
Список содержит домены, данные по доступу к которым пользователей НЕ ЗАНОСЯТСЯ в базу логов SQUID. Трафик пользователей по этим доменам не учитывается.
SAMS -> SQUID -> Реконфигурирование SQUID -> Реконфигурировать
13. Настройка очистки счетчиков трафика пользователей
SAMS ведет учет объема информации, полученной пользователями. По превышении объема информации, пользователь отключается от доступа к прокси-серверу
Очистка счетчиков пользователей может производиться через любой период времени (кратно суткам). Период очистки счетчиков установливается в свойствах шаблонов пользователей. Очистка производится демоном samsdaemon.
Также возможно производить очитску счетчиков ВСЕХ пользователей, вызывая утилиту sams с ключем -c из cron.
Пример настройки /etc/crontab на очистку счетчиков пользователей 00:00 1 числа каждого месяца:
0 0 1 * * /usr/local/sams/bin/sams -c
14. Установка Rejik
РЕЖИК нужен он для того что бы запрещать доступ на ненужные для работы сайты, файлы, так же нужен и для отключения пользователей, которые превысили свой лимит.
cd /usr/ports/www/rejik
/usr/ports/www/rejik/> make config
/usr/ports/www/rejik/> make
Для того что бы режик был регистронезависимым нужно раскомментировать строку:
#define CASE_INDEPENDENT
/usr/ports/www/rejik/> ee work/redirector/vars.h
Правим строку
// Uncoment next line for case independent
#define CASE_INDEPENDENT
Устанавливаем rejik:
/usr/ports/www/rejik/> make install
/usr/ports/www/rejik/> rehash
Далее копируем банлисты в рабочий каталог Режика.
cp -R /usr/ports/www/rejik/work/banlists /usr/local/rejik
Даем права на бан лист squid:squid, думаю не повредит так как надоели с граблями (прав) на него
chown -R squid:squid /usr/local/rejik/banlists
Правим эти строки примерно до такого состояния
Проверяем, правильно ли прописаны пути в redirector.conf, поменяв путь с ban на messages
ee /usr/local/rejik/redirector.conf
Пример такой
error_log /usr/local/rejik/redirector.err
change_log /usr/local/rejik/redirector.log
make-cache /usr/local/rejik/make-cache
#allow_urls /usr/local/rejik/banlists/allow_urls
<BANNER>
ban_dir /usr/local/rejik/banlists/banners
url http://127.0.0.1/messages/1x1.gif
#log off
<PORNO>
ban_dir /usr/local/rejik/banlists/porno
url http://127.0.0.1/messages/porno.html
<MP3>
ban_dir /usr/local/rejik/banlists/mp3
url http://127.0.0.1/messages/mp3.html
<JS>
ban_dir /usr/local/rejik/banlists/js
url http://127.0.0.1/messages/js.js
#log off
И создаем директорию где у нас будут храниться БАН страницы
mkdir /usr/local/www/data/messages
Качаем, распаковываем архив и кладем файлы в /usr/local/www/data/messages
messages - скачать
Даем права для того что бы у пользователей при срабатывания режика были права для просмотра странички запрета. Естественно увидев ее тем самым понял что нефиг ему там делать.
chown -R www:www /usr/local/www/data/messages/
Добавляем параметр в SQUID для редиректора Режик
ee /usr/local/etc/squid/squid.conf
Располодение в файле не менять!
# By default, a URL rewriter is not used.
# #Default:
# none
url_rewrite_program /usr/local/rejik/redirector /usr/local/rejik/redirector.conf
Веб интерфейсе включаем поддержку Режика:
SAMS -> Администрирование SAMS -> Настройка SAMS
Редиректор: [ Rejik ]
SAMS -> SQUID -> Реконфигурирование SQUID -> Реконфигурировать
15. Настройка freemem и freeswap
Исправление некоторых файлов Sams под FreeBSD, для того что бы отображалась загруженность сервера
Да и вот дописал что бы показывало в интерфейсе freemem и freeswap (Это не обязательно!)
Так как Sams в большем случае написан под Linux и некоторые запросы немного не для FreeBSD
Вот так вот отображалось до того как изменили
Топаем в порты
cd /usr/ports
/usr/ports/> make search name=freecolor
Port: freecolor-0.8.8
Path: /usr/ports/sysutils/freecolor
Info: Displays free memory as a bargraph
Maint: tdb@FreeBSD.org
B-deps: libstatgrab-0.16 pkg-config-0.23_1
R-deps: libstatgrab-0.16 pkg-config-0.23_1
WWW: http://www.rkeene.org/oss/freecolor/
cd /usr/ports/sysutils/freecolor
/usr/ports/sysutils/freecolor/> make install clean
Меняем запрос free на freecolor
ee /usr/local/share/sams/bin/freemem
Правим до такого состояния
#!/bin/sh
STR=`/usr/local/bin/freecolor -t -m -o | grep Mem:`
echo $STR
Меняем запрос free на top
ee /usr/local/share/sams/bin/freeswap
Правим до такого состояния
#!/bin/sh
STR=`/usr/local/bin/freecolor -t -m -o | grep Swap:`
echo $STR
После всего выглядет это вот так
16. Установка SARG для подсчета http трафика.
Для того чтобы собирать статистику по http трафику необходимо поставить SARG.
Сначала проверяем в /usr/local/etc/squid/squid.conf наличие строки
access_log /var/squid/logs/access.log squid
Которая отвечает за запись логов, которые использует sarg, если нет добавляем ее.
Устанавливаем SARG из портов.
Переходим в папку /usr/ports/www/sarg.
Оставляем по умолчанию все доп опции - Ок
Настройка
Редактируем файл /usr/local/etc/sarg/sarg.conf
Раскоментируем и исправим строку Language Russian_windows1251
Раскоментируем и исправим строку
access_log /var/squid/logs/access.log
Раскоментируем и исправим строку
output_dir /usr/local/www/apache22/data/sarg/squid-reports
Настрока sarg закончена.
Для того чтобы снять отчет с 15 по 16 июля 2009 года вводим следующую строку
sarg -d 15/07/2009-16/07/2009 -l /usr/local/squid/logs/access.log.
17. Установка ProFTP для просмотра отчетов sarg через FTP сервер
Установка ProFTP
cd /usr/ports/ftp/proftpd/
make install clean
Оставляем все по умолчанию.
установился proftp-1.3.2.
Правим /usr/local/etc/proftpd.conf
Теоретически ничего править не надо, но подробный конфиг приведу
# proftp 1.3.2
# Имя сервера
ServerName "ProFTPD Server"
#Как запускается демон
ServerType standalone
DefaultServer on
ScoreboardFile /var/run/proftpd/proftpd.scoreboard
#Стандартный FTP порт
Port 21
# Use IPv6 support by default.
#UseIPv6 on
# Маска для ограничения создания директорий и файлов
Umask 022
# Максимальное кол-во процессов
MaxInstances 30
# Ограничение на максимальную длину комманды
CommandBufferSize 512
# Пользователь и группа, под которой работает демон
User nobody
Group nogroup
# Директория по умолчанию - домашний каталог пользователя
DefaultRoot ~
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Разрешение на смену прав файлам и создание каталогов
<Limit SITE_CHMOD>
DenyAll
</Limit>
# Анонимные пользователи
# Если не надо, то удалите или закомментите всю директиву.
# Путь до каталога, обратите внимание, на него DefaultRoot не распространяется.
#<Anonymous ~ftp>
# User ftp
# Group ftp
# Назначение псевдонима anonymous для ftp
# UserAlias anonymous ftp
# Лимит максимума клиентов
# MaxClients 10
### We want 'welcome.msg' displayed at login, and '.message' displayed
### in each newly chdired directory.
# DisplayLogin welcome.msg
# DisplayFirstChdir .message
### Limit WRITE everywhere in the anonymous chroot
# <Limit WRITE>
# DenyAll
# </Limit>
#</Anonymous>
#Если пользователи жалуются на длительную авторизацию - вход по ftp,
#воспользуйтесь директивой UseReverseDNS off, дополнительно к ней можно
#использовать директиву IdentLookups off.
UseReverseDNS off
IdentLookups off
RequireValidShell off
#Times off
Добавляем в /etc/rc.conf
proftpd_enable=”YES”
Перезагружаемся reboot
Если выдает ошибку warning: unable to determine IP address of . Решение: в /etc/hosts добавить 127.0.0.1 ИМЯ СЕРВЕРА.
Вводим top – находим proftpd.
Создаем пользователей: одного только для просмотра другого для просмотра и редактирования.
Создаем первого пользователя:
Username: userftp
Full name:
Uid (Leave empty for default):
Login group [userftp]:
Login group is test. Invite test into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash nologin) [sh]: nologin
Home directory [/home/userftp]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : userftp
Password : *****
Full Name :
Uid : 1005
Class :
Groups : test
Home : /home/userftp
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (test) to the user database.
Add another user? (yes/no): yes
Username: test
Full name:
Uid (Leave empty for default):
Login group [test]:
Login group is test. Invite test into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash nologin) [sh]:nologin
Home directory [/home/test]: /home/userftp
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : test
Password : *****
Full Name :
Uid : 1005
Class :
Groups : test
Home : /home/userftp
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (test) to the user database.
Add another user? (yes/no): no
Теперь идем в /etc/passwd смотрим 2 последние строчки и изменяем их, должно получится что-то вроде
userftp:*:1003:1003:userftp:/home/userftp:/usr/sbin/nologin
test:*:1004:1004:User &:/home/userftp:/usr/sbin/nologin
После заведения второго пользователя в тот же каталог права доступа заменятся поэтому советую сразу проверить обоими пользователями.
Создаем в директории home/userftp папку upload и меняем на нее права
Права сгруппированы три по три, соответственно чтение/запись/выполнение для владельца/группы/всех остальных. Численное представление:
Значение Права доступа Список файлов каталога
0 Ничего не разрешено ---
1 Нельзя читать и писать, разрешено исполнять --x
2 Нельзя читать и исполнять, разрешено писать -w-
3 Нельзя читать, разрешено писать и исполнять -wx
4 Разрешено читать, нельзя писать и исполнять r--
5 Разрешено читать и исполнять, нельзя писать r-x
6 Разрешено читать и писать, нельзя исполнять rw-
7 Разрешено все rwx
Нам нужны права на изменение для владельца и группы, для остальных только чтание и исполнение следовательно пишем
Chmod 775 upload/
Смотрим права:
ls -l
total 18
-rw-r--r-- 1 userftp userftp 767 Jul 2 15:19 .cshrc
-rw-r--r-- 1 userftp userftp 248 Jul 2 15:19 .login
-rw-r--r-- 1 userftp userftp 158 Jul 2 15:19 .login_conf
-rw------- 1 userftp userftp 373 Jul 2 15:19 .mail_aliases
-rw-r--r-- 1 userftp userftp 331 Jul 2 15:19 .mailrc
-rw-r--r-- 1 userftp userftp 797 Jul 2 15:19 .profile
-rw------- 1 userftp userftp 276 Jul 2 15:19 .rhosts
-rw-r--r-- 1 userftp userftp 975 Jul 2 15:19 .shrc
drwxrwxr-x 2 root userftp 512 Jul 2 17:41 upload
Можно пробовать заходить под test и под userftp.
Для того чтобы нельзя было зайти через ssh используя логин и пароль этих пользователей проверяем:
chsh userftp
Выход Ctrl+Z.
Перезагружаемся и пробуем.
Если FTP не работает то нужно править правила nat. Изменяем /etc/rc.firewall
Пробуем, должно работать.
18. Установка trafd для подсчета общей суммы трафика
- Устанавливаем trafd из портов (необходим интернет)
- Переходим в папку /usr/ports/net-mgmt/trafd
- Make install clean
- Настраиваем trafd
Для запуска демона при загрузке ОС, в /etc/rc.conf прописываем:
/usr/local/bin/trafd -i xl0 // где xl0 это имя внешней сетевухи
Перезагружаемся и проверяем введа команды trafsave xl0 и trafdump xl0.
Теперь traflog -l -i /usr/local/var/trafd/trafd.xl0 должно вывести следующее
hluz# traflog -l -i /usr/local/var/trafd/trafd.xl0
traflog: WARNING: SIOCGIFADDR: /usr/local/var/trafd/trafd.xl0: Device not configured
# Started Dumped Data All Recs
001 Jul 23 14:29:20 Jul 23 14:29:58 60124 77604 2
002 Jul 23 17:17:25 Jul 23 17:33:52 58967 80463 3
Автоматизируем процесс.
Идем в /usr/locfl/bin и создаем фаил traf_save
#!/bin/sh
/usr/local/bin/trafsave xl0
/usr/local/bin/trafdump xl0
В /usr/locfl/bin и создаем еще фаил traf_save
#!/bin/sh
/usr/local/bin/traflog -n -b581 -e582 -s -i /usr/local/var/trafd/trafd.xl0 from all to 192.168.30.11 mask 255.255.255.255
Идем в /etc/crontab и добавляем строку
0 0,12 * * * root /usr/local/bin/traf_save
Т.е. каждые 12 часов будет делаться откат логов.
Для просмотра делаем следующее
Трафик хранится в файле: /usr/local/var/trafd/trafd.xl0 , из данного файла необходимо взять номера строк которыми начинается и заканчивается период на котором мы хотим увидеть трафик.
Файл смотрим командой
traflog -l -i /usr/local/var/trafd/trafd.xl0
[root@mail /usr/ports/net-mgmt/trafd]# traflog -l -i /usr/local/var/trafd/trafd.xl0
traflog: WARNING: SIOCGIFADDR: /usr/local/var/trafd/trafd.xl0: Device not configured
# Started Dumped Data All Recs
001 Oct 6 09:59:11 Oct 6 10:05:51 13080139 13842891 142
002 Oct 6 10:05:51 Oct 6 10:09:45 19149402 19921578 119
003 Oct 6 10:09:45 Oct 6 10:09:46 261789 271237 4
[root@mail /usr/ports/net-mgmt/trafd]#
то есть для периода с 6 октября по 6 октября, мы берем значения начало: 001, конец: 003.
Для установки границ периода вводим команду:
еe /usr/local/bin/traf_made
В файле ставим эти значения за ключами –b и –e (соответственно начало и конец периода)
/usr/local/bin/traflog -n -b001 -e003 -s -i /usr/local/var/trafd/trafd.xl0 from all to 217.23.26.238 mask 255.255.255.255
Для сохранения файла нажимаем “Ctrl+kx»
Далее вводим команду:
/usr/local/bin/traf_made | more
[root@mail /usr/ports/net-mgmt/trafd]# /usr/local/bin/traf_made | more
traflog: WARNING: SIOCGIFADDR: /usr/local/var/trafd/trafd.xl0: Device not configured
(/usr/local/var/trafd/trafd.xl0) mail.platonn.ru at Oct 6 09:59:11 - Oct 6 10:09:46
Summary: 6623721 data bytes, 7355505 all bytes, 134 records
From Port To Port Proto Data All
80.240.106.49 65302 217.23.26.238 65302 udp 2475368 2833880
213.148.27.182 65415 217.23.26.238 65415 udp 1291696 1360464
89.249.25.162 80 217.23.26.238 client tcp 735671 763627
81.19.70.1 80 217.23.26.238 client tcp 213750 220310
Нас интересует суммарный трафик, Summary: 6623721 размер указан в байтах.
19. Сделать клон диска, чтобы не ставить заново.
Сталкнулся с проблемой, оказалось винт который клонировать определен как slave будем исправлять
Ставим диск, идем в sysinstall – Configure – fdisk выбраем его согдаем слайс, делаем загрузочным
Выбираем тип загрузчика Standart
После этого идем в label но если не получится смонтировать то нужно перезгрузиться.
Останавливаем операционную систему (далее ОС) с помошью команды halt и выключаем компьютер.
Подключаем новый жёсткий диск, определяем его в BIOS и загружаем ОС.
Допустим, что новый. Создаем директории
/mnt/root, /mnt/var, /mnt/usr, /mnt/tmp
Запускаем от пользователя root программу /stand/sysinstall , в ней выбираем Configure -> Fdisk, ad2. Создаём FreeBSD slice на всём свободном пространстве диска. Нажимаем ’s’ (set bootable). Нажимаем ‘w’ (write changes). При выходе из fdisk задают вопрос, надо ли создать Master Boot Record? Выбираем Standard Install a standard MBR (no boot manager), и Yes.
Выходим из Fdisk и заходим в Label, выбираем ad2 нажимаем ‘a’ (auto-defaults for all), это создаст partition’ы для /, /var, /usr, /tmp, swap; или можно выбрать размер каждой partition вручную. Затем, чтобы /stand/sysinstall смог отформатировать и сразу смонтировать, надо командой ‘m’ для каждой partition указать одну из точек монтирования (mount points), нажать ‘w’ (write changes). После этого программа создаст файловые системы и примонтирует их к указанным точкам монтирования.
Если же вы будете создавать partition’ы вручную, то есть небольшая хитрость.
Первое после создания слайса нужно выйте из Sesinstall и затем снова зайти, иначе не будет монтироваться, постоянная проблема при клонировании
Второе в FreeBSD Disklabel Editor установим курсор на новый диск и создадим новую корневую файловую систему, указав ей в качестве точки монтирования /. Label отметит, что ad2s1a будет смонтирована на /. Обратите внимание: новая корневая файловая система должна быть именно с буквой a на конце. Для того, что бы Label правильно смонтировал эту файловую систему, встаньте на её описание и укажите в качестве точки монтирования /mnt/root.
/tmp монтировать обязательно!
Под пользователем root выполняем серию из команды pax (по одной на каждую файловую систему), например:
# cd /; pax -p eme -X -rw . /mnt/root
# cd /var; pax -p eme -X -rw . /mnt/var
# cd /usr; pax -p eme -X -rw . /mnt/usr
/tmp переносить не нужно
Тем самым файловые системы скопированы на новый диск.
Порядок монтирования не менять!!! А то может произойти рекурсия.
Командой df уточняем соответствуют ли буквы partition’ов новых файловых систем старым. Если нет, изменяем новый /etc/fstab, который находится в /mnt/root/etc/fstab.
Например, если старый жёсткий диск в данный момент primary master (ad0), а новый - secondary master (ad2), старая /usr находится на /dev/ad0s1f, а новая - /dev/ad2s1f, ничего менять не надо, так как когда мы переставим новый винчестер на место старого, эта система опять будет /dev/ad0s1f. Если же новая /usr стала, скажем, /dev/ad2s1g, в /mnt/root/etc/fstab следует изменить расположение ad0s1f на ad0s1g.
Если пришлось изменить /mnt/root/etc/fstab, следует убедиться в существовании всех устройств /dev/*, указанных в этом файле, иначе новая система не загрузится. Если таковые отсутствуют - создать, например:
# cd /dev; sh ./MAKEDEV ad0s1g
После этого устанавливаем новый жёсткий диск на место старого, и пытаемся загрузить ОС. Если ОС не загружается, скорее всего ошибка в /etc/fstab или в /dev нет нужных устройств.
20. APCUPSD - автовыключение сервера от UPS
Ставим из портов:
/usr/home/name/>cd /usr/ports/sysutils/apcupsd
/usr/ports/sysutils/apcupsd/>make && make install && make clean
В случае если при попытке установить из портов выдает ошибку
"Makefile", line 112: Could not find bsd.port.options.mk
Для устранения нужно скопировать bsd.port.options.mk из /usr/ports/Mk/ в /usr/share/mk
Правим /usr/local/etc/apcupsd/apcupsd.conf
Основные настройки задаются в файле /etc/apcupsd/apcupsd.conf, каждая строка которого определяет значение одного параметра. Основные параметры:
UPSNAME имя которое будет указываться в системном журнале
UPSTYPE тип-управляющего-соединения (dumb, apcsmart, net, usb, snmp, test)
UPSCABLE тип-кабеля (simple, smart, usb, ether, модель фирменного кабеля)
DEVICE имя-устройства (/dev/ttyS0, /dev/hiddev0, 192.168.0.1:3551)
LOCKFILE имя-каталога (/var/lock; в этом каталоге будут создаваться блокирующие файлы доступа к последовательным или USB портам)
NETSERVER on (включение NIS сервера - см. ниже)
NISIP 0.0.0.0 (IP адрес для входящих соединений; можно 127.0.0.1)
NISPORT 3551 (входной порт NIS сервера)
EVENTSFILE имя-файла (журнал событий для NIS сервера)
EVENTSFILEMAX максимальный-размер-в-КБ
NETTIME 60 (интервал опроса NIS-сервера клиентом)
ONBATTERYDELAY 6
BATTERYLEVEL 5 (минимальный уровень зарядки батареи в процентах, после которого начинается выключение)
MINUTES 3 (минимальное количество минут, оставшихся до исчерпания батареи, после которого начинается выключение; основывается на мнении UPS)
TIMEOUT 0 (если не 0, то выключение начинается после указанного числа секунд работы на батарее без учёта уровня зарядки)
ANNOY 60 (интервал между призывами к пользователям прекратить работу)
ANNOYDELAY 300 (задержка между переходом на работу от батареи и первым призывом завершать работу)
NOLOGON disable (не давать начинать новый сеанс работы при работе от батареи; disable - отключить ограничение; timeout - запрещать новый сеанс по истечении 90%, заданого в TIMEOUT; percent - запрещать новый сеанс по достижению 110% уровня зарядки, заданного BATTERYLEVEL; minutes - запрещать новый сеанс по достижению 110% минут, указанных в MINUTES; always - запрещать сразу)
NOLOGINDIR имя-каталога (в этом каталоге создаётся файл nologin - именно наличие этого файла в /etc запрещает новый сеанс в UNIX)
KILLDELAY 0
SCRIPTDIR /etc/apcupsd
PWRFAILDIR имя-каталога (в этом каталоге - /etc/apcupsd - создаётся файл powerfail, как признак сбоя питания, который используется в изменённом скрипте /etc/init.d/halt для выключения UPS после выключения системы)
STATTIME 60 (секунд между обновлением файла состояния или записями в syslog)
STATFILE имя-файла
DATATIME 60 (секунд между обновлением краткого файла данных, см. ниже)
LOGSTATS on (выводить подробное состояние через syslog)
FACILITY DAEMON (от имени какой службы выводить состояние в syslog)
Добавляем автозапуск демона
echo 'apcupsd_enable="YES" ' >> /etc/rc.conf
Настройка закончена..
Источники:
http://www.lissyara.su
http://sams.perm.ru
v1.
|