Define abstract environment in book

You are using \abstractname in the environment, but latex does not know it. This is the error you got. Hence defining it solves the issue. You have to define \abstractname by

\newcommand\abstractname{Abstract}

Your MWE becomes:

\documentclass[11pt, a4paper]{book}

\usepackage{lipsum}
\newcommand\abstractname{Abstract}  %%% here
\makeatletter
\if@titlepage
  \newenvironment{abstract}{%
      \titlepage
      \null\vfil
      \@beginparpenalty\@lowpenalty
      \begin{center}%
        \bfseries \abstractname
        \@endparpenalty\@M
      \end{center}}%
     {\par\vfil\null\endtitlepage}
\else
  \newenvironment{abstract}{%
      \if@twocolumn
        \section*{\abstractname}%
      \else
        \small
        \begin{center}%
          {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}}%
        \end{center}%
        \quotation
      \fi}
      {\if@twocolumn\else\endquotation\fi}
\fi
\makeatother

\begin{document}

\begin{titlepage}
\begin{abstract}
  \lipsum[1]
\end{abstract}
\end{titlepage}

\chapter{This and That}

\lipsum[2]

\end{document}

\newenvironment{abstract}[1]{%
\begin{center}\normalfont\textbf{Abstract}\end{center}
\begin{quotation} #1 \end{quotation}
}{%
\vspace{1cm}
}

works for me reasonably well. Simply call with \abstract{}.

screen shot of example output