In addition to the other answers, if you want to build a signup page, you need to activate anonymous user access to it. You can also build a customized login page in the modeler with anonymous access. There is a learning path explaining this.
The short answer yes. You can build a custom login page with some additional logic ( action button ) that “ registers” the user for a new account. Look at some of the account creation logic in the account overview page should point you in the right direction.
Enable Production Option on Project Security
This will make a default login form whenever you access to the application. Then make a navigation to Account Overview Page for specific role such as administrator, so this user can able to create a new user for login.