To set up
Linux hosting server you should install
1) Apache2:
Apache is a web server program that comes preinstalled and configured in most of the system in port 80. It is an open source software.
2) PHP scripting language
3) MySQL database: MySQL is the database management system that allows the users to store and retrieve data in tabular form.
PHP is a scripting language that helps in interacting with MySQL database.
To setup
Linux server, you need to get a static IP address or you can also manage with the changing IPs allotting a URL or domain. Use a email client to create a secure tunnel to your local host. So, when anyone visits the URL the request is forwarded to your localhost and if the IP changes, the client (for example ngrok) update it immediately to ensure website is always available. You must go to the client (ngrok) website that you are using and download it on your computer. Create a tunnel by running command (./ngrok http 80) or the number that you have changed it to. Copy the URL from terminal and paste it into a browser from anywhere and you can view your website.