Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:manual:install_debian:ru [2017/07/06 12:23]
anton
abills:docs:manual:install_debian:ru [2018/06/22 15:52] (текущий)
asmodeus
Строка 2: Строка 2:
  
 **Версия для которой писалась документация** \\ **Версия для которой писалась документация** \\
-  ​Debian 8.6.0 \\+ 
 +  ​Debian 8.6.0
    
 При установке,​ параметры:​ При установке,​ параметры:​
Строка 35: Строка 36:
 Обновляем пакеты и систему:​ Обновляем пакеты и систему:​
   # apt-get update -yq && apt-get upgrade -yq   # apt-get update -yq && apt-get upgrade -yq
 +  # apt-get install libperl-dev ​ gcc make
   ​   ​
 ====MySQL==== ====MySQL====
Строка 40: Строка 42:
 **Debian 8.xx** **Debian 8.xx**
   # apt-get install -yq mariadb-server libmysqlclient-dev   # apt-get install -yq mariadb-server libmysqlclient-dev
 +**Debian 9.xx**
 +  # apt-get install -yq mariadb-server libmariadbclient-dev libmariadbclient-dev-compat
  
 Создаём пользователя и базу. Создаём пользователя и базу.
-  # mysql --default-character-set=utf8 -u root -p+  # mysql --default-character-set=utf8 -u root
  
 В консоли mysql делаем :   \\ В консоли mysql делаем :   \\
Строка 56: Строка 60:
   # cd /​usr/​abills/​db/​   # cd /​usr/​abills/​db/​
   # mysql --default-character-set=utf8 -D abills < abills.sql -p   # mysql --default-character-set=utf8 -D abills < abills.sql -p
 +  ​
 +**Если возникает Invalid default value for '​registration'​**
 +Выполняем
 +  # sed -i -e "1 s/^/SET SQL_MODE='​NO_ENGINE_SUBSTITUTION,​NO_AUTO_VALUE_ON_ZERO';/;"​ /​usr/​abills/​db/​abills.sql
 +  # mysql --default-character-set=utf8 -u root -p -D abills < /​usr/​abills/​db/​abills.sql
 ====Web Server==== ====Web Server====
 ===Apache=== ===Apache===
 Установка Apache Установка Apache
-  # apt-get install apache2+  # apt-get install ​-yq apache2
  ​Создаём сертификаты. ​  ​Создаём сертификаты. ​
   # /​usr/​abills/​misc/​certs_create.sh apache   # /​usr/​abills/​misc/​certs_create.sh apache
  
 Копируем готовый конфиг Apache в папку внешних конфигураций apache\\ Копируем готовый конфиг Apache в папку внешних конфигураций apache\\
-**Apache 2.2**\\ 
-<​code>​ 
-# cp /​usr/​abills/​misc/​apache/​abills_httpd.conf /​etc/​apache2/​Includes/​ 
-</​code>​ 
- 
 **Apache 2.4** **Apache 2.4**
 <​code>​ <​code>​
Строка 91: Строка 95:
 Для работы системы нужны модули.\\ Для работы системы нужны модули.\\
  
-| **DBI** ​       |apt-get install libdbi-perl+  ​cd /​usr/​abills/​misc/​ && ​perl perldeps.pl ​apt-get -batch
-| **DBD-mysql** |# apt-get ​install libdbd-mysql-perl| +
-| **Digest-MD5** | для Chap авторизации \\  # apt-get install libdigest-md5-file-perl| +
-| **Digest-SHA1**| для MS-ChapV2 авторизации \\  # apt-get install libdigest-sha-perl| +
-| **libnet** ​    | Нужен только при авторизации из UNIX passwd \\  # apt-get install libnet1| +
-| **Time-HiRes** | Нужен только для тестирования скорости выполнения авторизации,​ аккаунтинга,​ и страниц веб-интерфейса |+
  
-====Radius====+Улучшаем себе жизнь в будущем:​ 
 +  # apt-get install -yq cpanminus 
 +   
 +Если какие-то модули не установились,​ можно запустить 
 +  # cpanm <​ИмяМодуля>​ 
 +   
 +Например у меня не установился ''​Digest::​SHA1'',​ запускаю:​ 
 +  # cpanm Digest::​SHA1 
 + 
 +====FreeRadius==== 
 + 
 +===Установка=== 
 +На все предупреждения **./​configure** кроме ''​rlm_perl''​ и ''​rlm_sql_mysql''​ можно не обрщать внимания. \\ 
 +На удаленном сервере установите **libmysqlclient** и **libmysqlclient-dev**
  
-===Инсталяция:​=== 
 <​code>​ <​code>​
-  # apt-get install libperl-dev ​ gcc make +apt-get install ​-yq libperl-dev ​ gcc make libtalloc-dev 
-  # ​wget ftp://​ftp.freeradius.org/​pub/​freeradius/​freeradius-server-2.2.9.tar.gz +wget ftp://​ftp.freeradius.org/​pub/​freeradius/​freeradius-server-2.2.10.tar.gz 
-  # ​tar zxvf freeradius-server-2.2.9.tar.gz +tar zxvf freeradius-server-2.2.10.tar.gz 
-  # ​cd freeradius-server-2.2.9 +cd freeradius-server-2.2.10 
-  # ​./configure --prefix=/​usr/​local/​freeradius --with-rlm-perl-lib-dir=/​usr/​lib/​ --with-openssl=no +./configure --prefix=/​usr/​local/​freeradius --with-rlm-perl-lib-dir=/​usr/​lib/ ​--with-dhcp=yes ​--with-openssl=no ​> 1 
-  # ​make +make 
-  # ​make install+make install
 </​code>​ </​code>​
  
Строка 114: Строка 125:
    
 <​code>​ <​code>​
-  ​cp /​usr/​abills/​misc/​freeradius/​v2/​radiusd.conf /​usr/​local/​freeradius/​etc/​raddb/​radiusd.conf +cp /​usr/​abills/​misc/​freeradius/​v2/​radiusd.conf /​usr/​local/​freeradius/​etc/​raddb/​radiusd.conf 
-  rm /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/​* +rm -f /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/​* 
-  cp /​usr/​abills/​misc/​freeradius/​v2/​users_perl /​usr/​local/​freeradius/​etc/​raddb/​users +cp /​usr/​abills/​misc/​freeradius/​v2/​users_perl /​usr/​local/​freeradius/​etc/​raddb/​users 
-  cp /​usr/​abills/​misc/​freeradius/​v2/​default_rlm_perl /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/​abills_default +cp /​usr/​abills/​misc/​freeradius/​v2/​default_rlm_perl /​usr/​local/​freeradius/​etc/​raddb/​sites-enabled/​abills_default 
-  cp /​usr/​abills/​misc/​freeradius/​v2/​perl /​usr/​local/​freeradius/​etc/​raddb/​modules/​+cp /​usr/​abills/​misc/​freeradius/​v2/​perl /​usr/​local/​freeradius/​etc/​raddb/​modules/​
   ​   ​
-  ​ln -s /​usr/​local/​freeradius/​sbin/​radiusd /​usr/​sbin/​radiusd+ln -s /​usr/​local/​freeradius/​sbin/​radiusd /​usr/​sbin/​radiusd
 </​code>​ </​code>​
  
 Файл для автозапуска ,- создаем и вставляем в него следующий текст Файл для автозапуска ,- создаем и вставляем в него следующий текст
-  nano /​etc/​init.d/​freeradius+  nano /​etc/​init.d/​radiusd
   ​   ​
   ​   ​
Строка 132: Строка 143:
  
 ### BEGIN INIT INFO ### BEGIN INIT INFO
-# Provides: ​         ​freeradius+# Provides: ​         ​radiusd
 # Required-Start: ​   $remote_fs $network $syslog # Required-Start: ​   $remote_fs $network $syslog
 # Should-Start: ​     $time mysql slapd postgresql samba krb5-kdc # Should-Start: ​     $time mysql slapd postgresql samba krb5-kdc
Строка 146: Строка 157:
 . /​lib/​lsb/​init-functions . /​lib/​lsb/​init-functions
  
-PROG="freeradius"+PROG="radiusd"
 PROGRAM="/​usr/​sbin/​radiusd"​ PROGRAM="/​usr/​sbin/​radiusd"​
-PIDFILE="/​var/​run/​radiusd/​radiusd.pid"​+PIDFILE="​/​usr/​local/​freeradius/​var/​run/​radiusd/​radiusd.pid"​
 DESCR="​FreeRADIUS daemon"​ DESCR="​FreeRADIUS daemon"​
  
Строка 190: Строка 201:
 esac esac
  
-exit 0</​code>​ +exit 0 
- +</​code>​
-  chmod +x /​etc/​init.d/​freeradius +
-   +
-  update-rc.d freeradius defaults+
  
 +  # chmod +x /​etc/​init.d/​radiusd
 +  # update-rc.d radiusd defaults
 +  # update-rc.d radiusd enable
  
-Меняем в конфиге радиуса:​+Меняем в конфиге радиуса ​**/​usr/​local/​freeradius/​etc/​raddb/​radiusd.conf**:
 <​code>​ <​code>​
-#nano /​usr/​local/​freeradius/​etc/​raddb/​radiusd.conf+# nano /​usr/​local/​freeradius/​etc/​raddb/​radiusd.conf
  
   prefix = /​usr/​local/​freeradius   prefix = /​usr/​local/​freeradius
 +  ​
 +  libdir = /​usr/​local/​freeradius/​lib
   ​   ​
   user = freerad   user = freerad
Строка 207: Строка 220:
 </​code>​ </​code>​
  
-В файле ''/​usr/​local/​freeradius/​etc/​raddb/​clients.conf''​ удалить всё и вписать:   +Благодаря модулю ''​sql'',​ можно хранить сервера доступа в базе данных (всё равно необходим перезапуск радиуса после добавления/​изменения серверов,​ но не надо править **clients.conf**). \\ 
-   +Очищаем список серверов доступа из **/​usr/​local/​freeradius/​etc/​raddb/​clients.conf** (чтоб не было ​дупликатов из-за записей в базе) 
-  ​client 127.0.0.1 +  # echo ''​ > /​usr/​local/​freeradius/​etc/​raddb/​clients.conf 
-   secret ​secretpass +  ​# cp /​usr/​abills/​misc/​freeradius/​v2/​sql.conf /​usr/​local/​freeradius/​etc/​raddb/​ 
-   shortname ​shorrname + 
-  ​+Заполняем нужные нам параметры соединения с БД 
-  +  ​# nano /​usr/​local/​freeradius/​etc/​raddb/​sql.conf 
 +<​code>​ 
 +sql 
 +        ​database ​"​mysql"​ 
 +        ​driver ​"​rlm_sql_${database}" 
 +        ​server = "​localhost"​ 
 +        #port = 3306 
 +        login = "​abills"​ 
 +        password = "​sqlpassword"​ 
 +        radius_db = "​abills"​ 
 +         
 +# В самом конце файла 
 +        '​%secretkey%'​ меняем на '​test12345678901234567890'​ 
 +</​code>​
  
-Создание ​user и group если freeradius ранее не был установлен то без этого не стартует+Создаём user и group. (если freeradius ранее не был установлен то без этого не стартует)
   # groupadd freerad   # groupadd freerad
   # useradd -g freerad -s /bash/bash freerad   # useradd -g freerad -s /bash/bash freerad
   # chown -R freerad:​freerad /​usr/​local/​freeradius/​etc/​raddb   # chown -R freerad:​freerad /​usr/​local/​freeradius/​etc/​raddb
- 
  
 Запуск radius в режиме отладки ​ Запуск radius в режиме отладки ​
 <​code>​ <​code>​
-  #  /usr/​local/​freeradius/​sbin/​radiusd -X+  #  /​usr/​sbin/​radiusd -X
 </​code>​ </​code>​
 или или
 <​code>​ <​code>​
-  # service ​radiusd -X+  # radiusd -X
 </​code>​ </​code>​
 На всякий случай оставлю здесь: [[abills:​docs:​faq:​ru#​kazhetsja_nastroil_no_nikto_ne_mozhet_podkljuchitsja| Кажется настроил,​ но никто не может подключиться]] На всякий случай оставлю здесь: [[abills:​docs:​faq:​ru#​kazhetsja_nastroil_no_nikto_ne_mozhet_podkljuchitsja| Кажется настроил,​ но никто не может подключиться]]
 +
 +Если ошибок нет, запускаем
 +  # service radiusd start
 ====ABillS - Настройка==== ====ABillS - Настройка====
 Вносим в **/​etc/​crontab** периодические процессы \\ Вносим в **/​etc/​crontab** периодические процессы \\
Строка 248: Строка 276:
 # chown -Rf www-data /​usr/​abills/​Abills/​templates # chown -Rf www-data /​usr/​abills/​Abills/​templates
 # chown -Rf www-data /​usr/​abills/​backup # chown -Rf www-data /​usr/​abills/​backup
 +# chmod 755 /​usr/​abills/​cgi-bin/​admin/​index.cgi
 +# chmod 755 /​usr/​abills/​cgi-bin/​index.cgi
 </​code>​ </​code>​