If you want to host a website without having to purchase a hosting plan, then considering to turn your android device into a web server should be a suitable solution for you. However, this should be in the case where you carry out coding and web development on your android device. PC users will be exposed to a wide variety of options.
Android smartphones have gained more users over the past years and developers keep on bringing most PC tools available for android users.
Everyone will want to have a website and considering to host directly from your android device can be a great start to get your website live and online.
Domain names make sense to websites and make it more easier for your web visitors to locate your website from a web browser. You can get a totally free domain name without hosting to accompany your website.
How to turn an Android device into a Web Server? You can use to methods to make this possible. You install an android web server application on your Android device to host your local website or you can use Termux to host your website from your Android device.
If you are interested to know how each method works, continue reading. In this guide, I will show you two effective methods to turn an android device into a web server without having to purchase a hosting plan.
CHECK ALSO: How to Hack a Modem to Get Free Internet
What is a Web Server?
A web server is software and hardware that responds to client requests via the World Wide Web using HTTP (Hypertext Transfer Protocol) and other protocols. A web server's primary responsibility is to show website content by storing, processing, and delivering webpages to users.
Can I Install a Web Server on Android?
Yes. There are many apps such as Tiny Web Server which is the best web server for Android. You can use the app to host your local website without purchasing a hosting plan.
How to Turn an Android Device Into a Web Server
We will proceed with two methods. The first method will involve the use of Tiny Web Server and the second method will involve the use of Termux and some basic commands to turn an android device into a web server.
How to Turn an Android Device Into a Web Server Using Tiny Web Server
Tiny Web Server is a well-known android local web server and is the best web server application for android.
We will use the app to host a local website. However, we assume you got some HTLM and CSS skills since you want host a website you might have coded from scratch.
Here is step by step guide to turn an android device into a web server using Tiny Web Server.
Step 1: Download and Install Tiny Web Server for Android
Download Tiny Web Server from here and install the app.
For Android, there are a variety of server software apps. Many of these, however, are out of date and only work with previous versions of Android (such as PAW Server).
For the purpose of this tutorial, we'll use Tiny Web Server which is the best web server application for android and support basically all android versions as from v4.0. To demonstrate how to use Android as a web server, we'll upload a simple index.html file and navigate to it from a PC on the same network.
The same concepts are used in similar apps. To serve a web page to a viewing browser, the same principles and processes are necessary.
Step 2: Configure Tiny Web Server
This app allows you to serve content from your smartphone in a very simple way. It does, however, allow you to access files from afar. If both devices are connected to the same network, you can explore the phone's storage from your PC's web browser.
Tiny Web Server has no configuration options and because of that, it is very simple to use. This implies you can't force it to open an index.html file by default. This is, however, a minor annoyance.
Start by creating an index.html file on your Android device. You can use ES File Explorer to create the file. However, if you have your website files, you can skip this step.
Launch Tiny Web Server after it has been installed. You'll have the option to change the server path on the main screen. Change the server path by navigating to the location of your index.html file. If you have a folder that contains your website files, just navigate to the folder and select it. See the images below for directions.
This can be very important and useful if you want to choose a directory to keep your web files in.
You can also choose a default charset (which is useful if your site isn't in English).
CHECK ALSO: 8 Best Split Tunneling Apps for Android
Step 3: Add your Index.html to Tiny Web Server
To make Tiny Web Server serve web pages, you must first create an index.html file and save it in the desired location as shown in the step above. This can be done on a desktop with a text editor like Notepad++ or on an Android device using an app such as ES File Explorer.
Copy the file to your Android device's selected directory (through USB or an Android file manager). Move the file to /storage/emulated/0 on Android.
If you're copying the file to your phone through USB, open the file manager and navigate to your phone's storage. The emulated subdirectory should be the default location. Connect your device carefully after copying the HTML file to this location.
Open Tiny Web Server and click Start server after copying the file to Android. Go to the default URL in your browser and add /index.html to the end.
You've successfully turned your Android device into a basic web server! Of course, the example provided is rather basic and lacking in style. Fortunately, CSS can be easily added using the HTML file's standard supplied instructions. Best of all, while hosting the site, you can continue to use your phone or tablet normally.
How to Turn an Android Device Into a Web Server Using Termux
Termux is a terminal emulator and Linux environment tool for Android that requires no rooting or setup. Termux is well known for running tools found in repo and of course, you'll have to setup Termux to host your website by installing a repo.
Here is a step by step guide to turn an Android device into a web server using Termux
Step 1: Download and Install Termux and Hacker's Keyboard
Termux is the main app here and you'll have to download Termux app in order to use it.
You can download Termux App from Here.
The Hacker's Keyboard let us easily use keys like Ctrl, Esc, Alt which are not currently available on the Android Standard Keyboard. This keyboard will help you better navigate within Termux windows.
You can download the Hacker's Keyboard from Here.
CHECK ALSO: 5 Best Social Security Number Generator
Step 2: Install Required Packages On Termux
On Termux, we now need to install some of the packages we need. Open the app and type the commands below.
$ pkg update && pkg upgrade
Our current system should be upgraded as a result of this. Following that, we'll need to install the following packages:
$ pkg install apache2 git neovim wget curl
CHECK ALSO: Code to Check If Phone is Hacked or Tapped
Step 3: Connect to Android Device Via SSH
Please keep in mind that this section is entirely optional. We'll install a few extra packages here just to help us out with the process:
$ pkg install openssh neofetch fish nmap
Let's start by enabling ssh so we can access our phone from our PC:
Next, use ifconfig to check your username and IP address:
You'll get something like this;
u0_a147 $ ifconfig wlan0 wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.105 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::ce9f:7aff:fe81:3115 prefixlen 64 scopeid 0x20<link> unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 3000 (UNSPEC) RX packets 227165 bytes 311846650 (297.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 82264 bytes 7912862 (7.5 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Now we must determine which port the SSH service is listening on. You may check it with the command:
$ nmap -sV 127.0.0.1
You'll get something like this;
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-12 14:44 IST Nmap scan report for localhost (127.0.0.1) Host is up (0.0075s latency). Not shown: 999 closed ports PORT STATE SERVICE VERSION 8022/tcp open ssh OpenSSH 8.4 (protocol 2.0) Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 4.87 seconds
Switch to your PC and connect to your device with the following command once you have the Port Number:
$ ssh -p <PORT> <USER>@<IP>
For instance, the complete command for me would be:
$ ssh -p 8022 [email protected]
After that, replace the default shell with:
$ chsh /data/data/com.termux/files/usr/bin/fish
You may now use the terminal on your PC to send commands to your device.
Step 4: Start the Web Server on Android
Finally, we can start our web server with the command;
The default port for the webpage is 8080. When we use our browser to visit the aforementioned port, you'll get a message saying "It works!" highlighted in bold on a web page.
In order to edit the contents on the web page, we'll need to change the index.html file using an html editor or ES File Explorer. If you have your own website folder, you can use its index.html file instead.
Since we are in Termux, we can use an editor known as Vi editor which is an editor found in Terminals such as Linux.
$ vi $PREFIX/share/apache2/default-site/htdocs/index.html
You can do this by typing the command:
Now, change the contents of the index.html page into your desired content. An example of the content to enter is seen below.
<html><body><h1>AiM Tutorials !</h1></body></html>
Once you done with the editing, refresh the page and see the changes.
At this stage, you may make your page appear and behave whatever you want. However, we can use ngrok to enable port forwarding to extend our functionality even further!
CHECK ALSO: How to Fix App Not Installed Error on Android
Step 5: Enable Port Forwarding With Ngrok
To begin, we must download the zipped file from Ngrok's official website using the command:
$ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm64.tgz
Now unzip the file with the following command:
$ tar -xvzf ngrok-stable-linux-arm64.tgz
To obtain an authorization token, you must first register on their website and go to the "Your Token" Tab and copy your auth token.
Type the following command to add your token in the default config file:
$ ./ngrok authtoken <token>
We should now be able to access more features and enjoy longer sessions. Finally, while our webserver is still running, enter the following command:
$ ./ngrok http 8080
We get a ngrok URL that takes us to our webserver's homepage
You can now use the Ngrok link anytime you want to access your webserver out of your local network.
- How to Connect a PS5 Controller to Android Phone.
- Complete List of All Android Secrete Codes.
- Get All Information Concerning your NetWork Using your Android Phone.
- Top 15 Best and most usefull Android Apps.
- Top 10 Best Android Emulators to Use on a Low end PC.
- How to Create Mobile Apps for Free Without Coding Skills.
- Track any Phone's Location Using a Mobile Number.
- Hack and Increase CryptoTab Browser on Android.
Final Thoughts on How to Turn an Android Device Into a Web Server
We have covered 2 methods to host a web server on android. The first involved the use of an app called Tiny Web Server which is basically easy to use and adaptable with android devices of at least android version 4.0. The second method made use of Termux and some commands. The second method might be a little complicated for some folks but it is rather the best way to go about this because your webserver will be hosted on a unique ngrok link that can be access from a web browser without being connected to your local network.
However, either of the two methods will work because the important thing here is to make your webserver live.
Which method did you use? Did you face any difficulties? Let us know in the comments section or in our Telegram Forum.