We study the computational complexity of computing allocations that are both fair and maximize the utilitarian social welfare, i.e., the sum of utilities reported by the agents. We focus on two tractable fairness concepts: envy-freeness up to one item (EF1) and proportionality up to one item (PROP1).In particular, we consider the following two computational problems: (1) Among the utilitarian-maximal allocations, decide whether there exists one that is also fair according to either EF1 or PROP1; (2) among the fair allocations, compute one that maximizes the utilitarian welfare. We show that both problem (1) and problem ( 2) are strongly NP-hard when the number of agents is variable, and remain NP-hard for a fixed number of agents greater than two. Focusing on the special case of two agents, we find that problem (1) is polynomial-time solvable, whereas problem (2) remains NPhard. Finally, for the case of fixed number of agents, we design pseudopolynomial-time algorithms for both problems.