Let $R$ be any ring, $M$ an $R$-Module, not necessarily free. Let $\varphi : M \rightarrow M$ be linear and surjective. By surjectivity, there exists a function $\varphi^*$ such that $\varphi \varphi^* = M$ (in general, we need the axiom of choice for this, it seems). Can we always choose $\varphi^*$ to be linear? In any case, we have
$$ \varphi \varphi^*(\lambda a + b) = \lambda a + b = \lambda \varphi \varphi^*(a) + \varphi \varphi^*(b) = \varphi(\lambda \varphi^*(a) + \varphi^*(b))$$
for any $a, b \in M$, $\lambda \in R$, but since $\varphi$ is not necessarily injective, I don't see that this should guarantee linearity.
If you allow $\phi:M\to N$, where $N$ is another module, there are elementary examples among $\mathbb Z$ modules, e.g. $$ n\in\mathbb Z \mapsto \dot n\in\mathbb Z_2. $$ Based on this it is possible to construct examples with $M=N$ but perhaps you are already satisfied.