There are many ways to achieve this.
2. As an administrator, you can enable the External course catalog (1) through the Account & settings. You can then send the catalog's url (2) to the users, advising them to sign up in order to take a course. In order to allow self-registration, this must again be enabled a direct sign up method.
3. Finally, you may want to enroll the users yourself as an admin. You can allocate courses to users directly. An automatic notification will then be sent to the end user for each course that is manually assigned to them (1).