Why is electric potential positive?

If there is a positive charge $q$ at the origin of a coordinate system, the electric potential $\phi$ at a distance $r$ from $q$ is (by definition, if we take the point of zero potential at infinity):

$$\phi=-\int_{\infty}^r \vec{E}\cdot d\vec{r}$$

The dot product of $\vec{E}$ and $d\vec{r}$ is $-E\text{ }dr$ because they point in opposite directions, so $$\phi=\int_{\infty}^r E\text{ } dr$$ For a positive point charge $q$, we have that: $$\phi=\frac{q}{4\pi\epsilon_0}\int_{\infty}^r \frac{dr}{r^2}$$ And evaluating the integral we arrive at: $$\phi=-\frac{q}{4\pi\epsilon_0 r}$$

However, the result should be positive according to Halliday-Resnick (fifth edition, page 608). They have the same derivation essentially, except that after evaluating the integral for some reason they get a positive potential. What's up?

The integrand $\vec E \cdot d\vec r$ is $E\,dr$, not $-E\,dr$.
The evaluation of the dot product is sort of done for you when you specify the curve on which you are integrating (i.e., your limits of integration in this case). You've double-accounted for the relative directions of $\vec E$ and $d\vec r$.
I suspect the underlying confusion is that you are treating $d\vec r$ as a small displacement along your path of integration. This is not correct. As you can see in this WP page on spherical coordinates, $d \vec r$ has a definition which doesn't depend on your integration path or direction: $d\vec r = dr\,\hat r + r\, d\theta\, \hat \theta + r\, \sin\theta\, d\phi\, \hat\phi$. Notice the unit vector $\hat r$, which always always points outward, away from your origin.
Here's the too-much-detail way to evaluate your integrand: $$\vec E(r) \cdot d\vec r = kq/r^2\,\hat r \cdot \left(d\vec r = dr\,\hat r + r\, d\theta\, \hat \theta + r\, \sin\theta\, d\phi\, \hat\phi\right)= kq/r^2\, dr = E(r)\, dr$$