Integrating a Zigbee stack on a bbox
Yes this is feasible. A few points though:


  For the hardware part, I chose the cc2531 from Texas Instruments, I
  see that it comes configured as a coordinator which is what I want.


This is not correct, it comes programmed as a packet sniffer. You need a CC-Debugger to program it as a Coord, but the binaries are supplied in the Embedded ZStack SDK download from https://www.ti.com/licreg/docs/swlicexportcontrol.tsp?form_type=2&amp;prod_no=Z-Stack_Home_1.2.2a.exe&amp;ref_url=http://software-dl.ti.com/lprf/z_stack (you'll needa TI account), hen after it is installed the bin is here C:\Texas Instruments\Z-Stack Home 1.2.2a.44539\Projects\zstack\ZAP\ZNP-HexFiles\CC2531\CC2531ZNP-Pro-Secure_LinkKeyJoin.hex


  For the stack, I still hesitate between TI's stack and ZBOSS's stack, I think > I should try them both, for now I am using TI's.


The Stack is programmed into the CC2531, you can use the ZNP Host framework (https://git.ti.com/znp-host-framework) to write your code to send ZigBee commands through the CC3531, no need for the stack on Linux. However if you are doing lots of ZCL commands you could port the ZCL from the embedded ZStack to the Linux application. The framework allows you to send/receive raw commands so your application will need to format / parse ZCL packets, you will need to look at the ZCL Spec to format them correctly http://www.zigbee.org/download/standards-zigbee-cluster-library/ 


  I cannot find clear examples on how to use the servers, I looked into the source code of the examples supplied by Texas Instruments but I could not understand anything.


Take a look at:
http://www.ti.com/lit/ug/tidu757/tidu757.pdf
https://git.ti.com/znp-host-framework#more

The Doc talks about Tiva MCU and CC2531, but the framework has Linux examples and will work with ZNP running on CC2531 USB dongle as well.

Regards,
TC.