>in that case where can I buy on or the parts to make one.That's advanced enterprise stuff that virtually no casual user does anymore, only practical these days if you're hosting a private website detached from the internet for say an office building, or doing some serious seedboxing. hardware, electricity costs, and necessary internet speeds is costly. Many ISPs will even take steps to make sure you can't host an online website in your own house! Instead, get a VPS through your domain provider's web interface. Even if you want to install a website just locally to practice webdev on, any old laptop or desktop will suffice
1.
Buy the domain name (URL) and hosting from a major provider (Dreamhost, GoDaddy, etc)-
costs usually less than $15.00/year for a domain, $25.00/month for hosting-
Gives your domain its own unique IP-
Website is hosted on a virtual private server, with its own operating system, credentials, etc-
Will usually come with Ubuntu or FreeBSD installed, with all necessary software to get going (See https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29)- use the domain provider's interface to attach your domain to your hosting plan
2.
Install the same version of the operating system you have on your VPS on to an offline (local) machine for testing purposes-
Do everything from the command line, you'll want to get used to that-
Doesn't need to be a fast PC at all, won't actually be hosting anything that the public can connect to-
It can be installed on to a virtual machine if you don't have an extra junker PC lying around- Install whatever LAMP software is on the VPS on to this local machine
- TEST EVERY INSTALL
3a.
Gain access to your VPS's terminal from the Local MachineThis gives you remote control of all functions on the VPS as if it were your Local Machine!- Find your SSH credentials provided by the hosting plan
- Set a password if not set already
- If making a new SSH user, make sure it has root/superuser privileges
- Download a Terminal Emulator on to your Local Machine
- Log in with the credentials via the Emulator
- Test connectivity by checking status of the VPS's LAMP software
3b.
Gain access to your FTP/SFTPThis is a relieving upgrade from SSH if you're not skilled with the terminalBasically shows your entire website as if it were folders on your Local Machine, complete with drag+drop!- Download a FTP/SFTP client
- Log in with the FTP Username/Password provided by your domain/hosting service
- Save these credentials as a profile
Additionally, big domain/hosting providers will have a WebFTP section that connects to your server via the web browser when logged in to your hosting panel4.
Connect to your website through your browserIf you installed and tested a webserver on your Local machine, you probably remember the Apache/NGINX "working" page- Create a simple index.html document by reading beginner tutorials (
https://www.w3schools.com/html/ )
- Upload this to the root of your server via the SFTP/FTP client
- Navigate to your website through your web browser
- If it works, it works! if it doesn't, it doesn't!
5.
Decide what kind of website you want.There are many pre-made website packages that are programmed to work with just the LAMP stack, such as Wordpress (good for blogs) and MediaWiki (your own wiki!), or even Vichan (Your own Wizchan!!!) with minor additional software requirements that can be installed via SSH in just a few commands, such as image and video processing software (Imagemagick, FFmpeg). Installation guides for such frontend software will usually list its dependencies.
Additionally, you can make your own website from scratch via HTML and CSS, and when you get good enough with those, you can write PHP or javascript that outputs HTML on to your website to make pages on the fly based on user input (like this reply box) and database changes. With a fleshed out frontend software such as Wordpress, you'll be able to make entries, new pages, upload and offload content, and do pretty much anything all through the web browser without needing to log in to any SSH/FTP. No matter your route, you'll need to know basic HTML to form the building blocks of webpages. While HTML is easy to build the page with, it can also be used to fine-tune the appearance of every element on the page. This is not recommended though, as a basic CSS is better for styling the page as it allows changes to be reflected across your site without needing to specify the same style parametres in every single HTML page
>Also what programming language should I learn to make one? javascript, html…You'll need to learn the basics of your operating system's terminal above all so you can communicate with your website. This should come naturally when you begin to toy around and install frontend website software
HTML > CSS > PHP , the essentials for Webdev. All high-level languages that are very human friendly. Also keep cheatsheets of commands specific to the software your website uses such as the image processors
Javascript for advanced extended functions
Actionscript is fun too but don't bother learning it