app.o: In function `ev_default_loop':
server.d:(.text.ev_default_loop+0x1d): undefined reference to `ev_default_loop_init'
collect2: ld returned 1 exit status

I think you included the source/deimos files, but only the source/vibe ones should be compiled.

Of course it would also be possible to compile the vibe files as a static library to avoid the huge command line, but because of the big number of operating systems, architectures and compiler versions shipping a precompiled library would be quite problematic.

Another alternative is to use rdmd instead of plain dmd. In that case this is sufficient:

rdmd --compile-only -ofapp -I/opt/vibe/source -Isource source/app.d -L-levent_pthreads -L-levent -L-lssl -L-lcrypto