summaryrefslogtreecommitdiff
path: root/doc/installation/centos.rst
blob: e484226bec641300bd53fb65d9ab72d1ad3adfcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
.. _install_centos:

Install on Centos
-----------------

For compile with modules **vlan_mon** and **ipoe** on centos need install vanilla linux kernel or :ref:`elrepo_kernel_inst` . If that not needed, just set **-DBUILD_IPOE_DRIVER=FALSE** and **-DBUILD_VLAN_MON_DRIVER=FALSE** on cmake.

**Preparation**

Before compile and build package need satisfy some dependencies

* **rpm-build** - open-source system that manages the build process
* **cmake** - open-source system that manages the build process
* **gcc** - GNU Compiler Collection (GCC) is a compiler system
* **git** - version-control system for tracking changes, (need for downloading source code) 
* **pcre2-devel** - source code of pcre2 lib, accel-ppp need it for use reg expression
* **openssl-devel** - source code of lib ssl, accel-ppp need it for use regular expression
* **lua-devel** - this need for create custom username (IPoE) from packet. Script write on lua language 

.. code-block:: sh

  yum -y install rpm-build make cmake gcc git pcre2-devel openssl-devel lua-devel

After install dependencies, download accel-ppp source code with git client, tree master . Master tree contain actual patches last release. 

.. code-block:: sh

  git clone https://github.com/accel-ppp/accel-ppp.git /opt/accel-ppp-code

Create directory for build source code and go to this directory. 

.. code-block:: sh

  mkdir /opt/accel-ppp-code/build
  cd /opt/accel-ppp-code/build/

For building code need we can set next params:

* **-DBUILD_IPOE_DRIVER=TRUE** include IPoE module.This module need if you want use accel-ppp as shared interface.
* **-DBUILD_VLAN_MON_DRIVER=TRUE** include vlan monitoring module. If you want create vlan automatically on analyse IP headers with regular expression set on accel-ppp config file. (Available for IPoE and PPPoE)
* **-DKDIR=/usr/src/kernels/`uname -r`** sets path to Linux kernel source code. Need only for build IPOE, VLAN-MON.
* **-DCMAKE_INSTALL_PREFIX=/usr** path for install executable code. If you build DEB package, not recommended change this.
* **-DCPACK_TYPE=Centos7** this arguments for building RPM package. If used centos other version, set it.

.. code-block:: sh

  cmake -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/kernels/`uname -r` -DLUA=TRUE -DCPACK_TYPE=Centos7 ..

.. admonition:: Notice:

   ended symbols **..** sets path to accel-ppp source code, not delete this! Or you can replace it full path to accel-ppp-code like /opt/accel-ppp-code/
   
Compile:

.. code-block:: sh

  make 

Create RPM package:

.. code-block:: sh

  cpack -G RPM

Install package:

.. code-block:: sh

  rpm -ivh accel-ppp.rpm

If accel-ppp was build with modules **ipoe** and **vlan_mon**, need next:

.. code-block:: sh

  cp ./drivers/ipoe/driver/ipoe.ko /lib/modules/`uname -r`/kernel/net
  cp ./drivers/vlan_mon/driver/vlan_mon.ko /lib/modules/`uname -r`/kernel/net
  depmod -a

If you have success packet install, rename config file to accel-ppp.conf

.. code-block:: sh

  mv /etc/accel-ppp.conf.dist /etc/accel-ppp.conf
  
Edit accel-ppp.conf for you schemas and run accel-ppp

**Run as systemd unit:**

.. code-block:: sh

  systemctl start accel-ppp

or run manual (not recommended)

.. code-block:: sh

  accel-pppd -d -c /etc/accel-ppp.conf -p /var/run/accel-ppp.pid

.. toctree::
    :maxdepth: 2
    :caption: Contents:
    :includehidden:

    elrepo_kernel_inst.rst