Prior knowledge in HTML, optional knowledge in CSS and JS, an optional custom domain, and a hosting service.
If you don't already know HTML, some great tutorials are
CodeCademy's courses. This one by Programming With Mosh. This one by FreeCodeCamp.I really recommend watching one of the videos and then taking the CodeCademy course. Definitely take the course, though.
A good free one is InfinityFree.
InfinityFree comes with free subdomains that you can use to kickstart your fun time as a web developer.
Sign in/up to InfinityFree and create a new website account. Link an existing domain, or create a new subdomain with your new account.
Go to vscode.dev. It's a great text editor that I use to make my websites.
Create an index.html file. Optionally, create styles.css and script.js files.
Then, create whatever website you want.
Go to your device's file manager and run index.html to test your website.
Go to your InfinityFree account, and go to the file manager.
Find the "htdocs" folder, and upload all of your website's files into that folder.
You might need to wait up to 3 days for your website to work. If it's not working, it may not load, say that your site cannot be reached, or something else.
99% of website bugs are because you haven't waited. Be patient.