There are many ways. One of which is factoring by grouping. This can be done simply by getting common terms from each term, and applying the distributive law and whatnot. Here's a sample:
a + b + c + ab + bc + ab + abc + 1
(a + ab) + (b + 1) + (c + bc) + (ac + abc)
a(1 + b) + 1(1 + b) + c(1 + b) + ac(1 + b)
(a + c + ac + 1)(1 + b)
[(a + 1) + (c + ac)](1 + b)
[1(a + 1) + c(1 + a)](1 + b)
[(1 + c)(a + 1)](1 + b)
⇔(a + 1)(b + 1)(c + 1)