It’s not easy to manage a web server by yourself First you need to have a computer, and it must be turned on 24 hours like a fridge since you don’t know when someone tries to connect to it And you have learn about and install a program called web server And then you need to set it up so that it can be connected to the outside through the Internet It’s not easy So, there are companies who do it for you Each computer connected to the Internet is called a “host” And a service that rents out host computers is called “hosting” And web hosting providers refer to companies who rent out web servers professionally So if you want to look for them, search “web hosting” in a search engine Then you can find many companies that rent out web servers for you There are lots of web hosting providers Among them, we are going to use a free and famous service, which is called “Github” GitHub is a vital service that is a household name among programmers Lots of open source softwares around the world are developed using this service We can learn more about what this service does later on, for now, let’s focus on one feature this service provides, which is providing a web server so that we can run a homepage for free! Let’s try it out First, you need to sign up As you see, there are “Sign in” and “Sign up” Click Sign up to register to the service First, finish signing up And once you are done, click sign in to log in to the service Then you will see this page It might look quite complicated since it has a lot of features What we are looking for is… “New repository” button You can find it over here, or find it up there by clicking the “+” button Find it in any way you prefer “Repository” means a location in which something is stored So we can store the source code we have written so far to this GitHub website You might be familiar with services such as Dropbox, Google Drive… iCloud…OneDrive… They store your files, right? That’s what this website basically does The only difference is it’s designed for programmers Alright, now I’m going to click “New repository” On this page titled “Create a new repository,” Specifiy your repository name You can use your project name I’m typing in web1 You can skip the next box Make sure “Public” is checked And check the box next to “Initialize this repository with a README” What this means is… You can just check it You don’t need to understand this for now but make sure it’s checked And then click “Create repository” Then you just requested to create a repository Ta-da! This is it And you can upload the source code you have been working on here Then what’re the benefits? Since your source code is now on the Internet, it is safe even if your computer is broken Let’s upload some files then First, look for this “Upload files” button You can use it to upload your files Click it It says you can drag and drop the files you want to upload here or choose your files I’m going to select “Choose your files” And where is the folder for our project? It’s “web1” for me So if you open the folder, there are files we have been working on You can select multiple files by clicking somewhere in the window and dragging Select the files… And click Open Then the upload starts Once the uploading completes, now we are going to store them Down here, you can write some text to explain what the content is about For example, as this is our first version, I’m typing in “first version” And if you click “Commit changes,” the files are stored now And if you have made a revision to your file, you can upload the updated files again Describe the changes made over here and then click “Commit changes” to store the files So we describe saving changes whenever there is an update as “managing versions” But this is not the main topic of this chapter You can just move on Anyway, now the uploading starts and it will complete soon Done now See? Our files are on the GitHub website And now you can give the address to your friends and they can view your files Let’s click one of these We can see the content of the files right from this window And if you made an edit, you can upload the file Good Next, what we are going to do is… We have uploaded HTML files And generously, GitHub also provides a computer with a web server for free so that we can use these files to run a website To do that, first we need to change some settings Go to “Settings” And scroll down… to find “GitHub Pages” Under “Source” If you click “None,” you will see a dropdown menu It’s okay if you don’t know what they mean for now Select “master branch” And Save And if you wait for a moment you can see this address displayed That means you can use this address for your website If I click it… Ta-da! Now we are seeing the web page we created So now, If you share the address you’ve got from GitHub to your friends and other people they can view your files Let’s click the links They work fine like this But, it’s possible they don’t work when you try to connect through the address If that happens, type in “index.html” directly at the end and it will probably work fine So, now we can make our website available to anyone in the world by using the GitHub service for free, without running a web server and server computer And you don’t need to pay anything no matter how many people visit your website What a great world! So, this is it for web hosting Before we wrap up, let’s sum up what we’ve done in this chapter with a diagram On your computer, there’s index.html And you want to make other people access the file But you can’t – why? There’s no web server installed on your computer Moreover, you haven’t set up your computer so that people can connect to it from outside In other words, you need to learn and install and set things up It’s so complicated So, as it’s difficult to do it by yourself, you looked for a company who could do it for you And we used “GitHub” as our example So if you upload your index.html to GitHub, The file is now on GitHub And if you change your GitHub settings to request, “I’m going to use the repository also as a web server,” GitHub enables the web server and give you an address And if anyone visits this address, they can take the index.html file So you can give the address to your visitor they will type in the address into the address bar and connect to the web server Then the web server reads the index.html file and sends it back to the visitor And the file is displayed on the visitor’s web browser so that they can view the file As I mentioned earlier, Each computer connected to the Internet is called a “host” And the service that provides computers connected to the Internet is called “hosting” service And if the purpose of the hosting service is the web service, then we call it “web hosting” specifically In addition, services designed for those who want to service HTML files only, like us, (you might not be able to understand this) it’s called “static web hosting” There are many free or low-cost “static web hosting” services available If you learn PHP, Python, Ruby on Rails, etc. in the future, you might need “dynamic web hosting” But this is beyond the level you can understand now Anyway, this is how web hosting works If you get a general sense of it, that’s sufficient That’s it for web hosting for now What we’ve just learned about web hosting is quite easy, but there are many hidden principles that explain how the Internet works since these web hosting services do most tasks for us So there are still other things you need to learn but we couldn’t cover in this course But in reality, when you run a web server, mostly you don’t get to run it by yourself since it requires much knowledge and knowhow As you have seen, in most cases, people usually use service providers with experts Lastly, you might want to use a web hosting service in the future, but it’s likely that GitHub Pages might not be a perfect fit for your business or you might want a different service So I’m going to share some search suggestions before we end this video You can of course search “web hosting” but there are many kinds of web hosting So you perhaps wants to limit your search results to those we’ve learned And there are lots of free services or partially paid services where it’s free until you reach a certain usage For this type of service, you can add “static” to get more accurate results And you can also add “free” if you are looking for free services Currently, there are a few services I’d like to recommend Some of them are free, while you can use some others without even signing up And some of them support certain features that let you combine them with other advanced services So these are the services I recommend However, since no one knows what they will be like in the future, what’s more important for you is developing the ability to find what you need through search That’s it!