Raspberry Pi
How to set up a Web Server on the Raspberry Pi?
Raspberry Pi Web Server can provide you with plenty of advantages. From the economic point of view, you should know that the web hosting services are not free So that you have to pay every month/year. unlike the Raspberry Pi who just needs the connection. In addition by choosing the Raspberry Pi. You can have the possibility to modify the services such as Size of the disk, the hosting of Database, etc. This is not the case with the specialized hosts, which often sell the shared hosting with the low-configuration capacity. but to support more users, you should use the Raspberry Pi 3, the Raspberry Pi with 1GB of RAM rather than the Pi type B+ (512 MB of RAM).
Hosting the website on your own is not a hard thing, in fact, you can do it on your Raspberry Pi with nothing more than the Raspbian installation and some command line work. The Raspberry Pi gives a simple way to hosts a personal or professional website. This article explains you everything you need to know about getting it done. Here’s how to set up the web server on the Raspberry Pi.
Related: How to Boot Your Raspberry Pi from a USB Mass Storage Device?
How to set up a web server on the Raspberry Pi | Raspberry Pi Web Server
Just follow the given steps to set up the Raspberry Pi Web Server
To run the web server, we are using the LEMP stack: Linux, nginx, MySQL, and PHP. In short, LEMP uses Linux as the operating system on the device hosting the server, nginx as the server itself, MySQL as a database management system, and PHP for the dynamic processing.
In this case, the Linux distro is the Raspbian. Once the Raspbian is up and running on the Raspberry Pi, you can find that it is pretty easy to get everything else working!
Step 1: Install Raspian using the SD card, just as you would for any other Raspbian-based project. For the refresher on the OS installation, Check out this post on How to install Raspbian on Raspberry Pi.
Step 2: Install Nginx the “E” in the LEMP is “nginx,” Then we’ll update our packages and then install nginx. Open up the terminal and the following commands, one after the other:
sudo apt-get update
sudo apt-get install nginx
Say yes when prompted. Nginx is the server itself, and it’s very efficient.
Step 3: Install MySQL, a database management system, to store and manage data for your site. As with nginx, MySQL is installed with a couple of easy line in the terminal.
sudo apt-get install mysql-server
During the installation, It will ask you to set the root password, If you don’t want to set the password, you can leave the spot blank.
sudo mysql_secure_installation
In this stage, you have the option to change the root password.
Step 4: Install PHP, Now we are at the end of our acronym! PHP is responsible for the dynamic content of your website. Back to the terminal, with the following command.
sudo apt-get install php5-fpm php5-mysql
Now edit the file. These are PHP’s settings, and we’re going to make it more secure.
sudo nano /etc/php5/fpm/php.ini
Find the line which shows #cgi.fix_pathinfo=1 and change it to cgi.fix_pathinfo=0. You can locate it with the search function (Ctrl+W). Then exit with Ctrl+X and you can save with Y.
Now you can restart the PHP:
sudo systemctl restart php5-fpm
Step 5: Configure the nginx to use PHP, Let’s get these two to play nice together. Time to edit another file:
sudo nano /etc/nginx/sites-available/default
Once in here, you have to change a few things. Edit it so that it looks like this:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name [your public IP];
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Next to the server_name, where I have [your public IP], plug in your public IP address (you can find this on Google or another search engine).
Then we can test this and re-load nginx.
sudo nginx -t
sudo systemctl reload nginx
That’s all we have to do on the Pi’s end!
Step 6: Set up port forwarding, Now access the Router’s admin interface, here you have to put your router’s private IP address into your browser and then, usually, login – check the router for more information). Set up port forwarding like so:
Service Port: 80
Internal Port: 80
IP Address: [your Pi’s IP address]
Protocol: TCP
Common Service Port: HTTP
Now replace your Pi’s IP address with your Pi’s IP address, that you can find with the terminal command hostname -I. Use 80 for your ports and RCP for your protocol. Your options may look slightly different from this, But that might be pretty recognizable.
Related: Raspberry Pi SSH | Raspberry Pi Netflix
If you did everything right, then type your public IP address into the browser address bar shows you this page.
That’s all, Now you have the functioning Raspberry Pi web server. You can access your website by typing your public IP address into the web browser’s address bar from any internet-connected device. Then your site will have the nginx welcome page, for now, located at /var/www/html. You can remove that and create a file called index.php (sudo nano index.php) – or index.html, if you know that you are not going to use the PHP- and continue from there.
Thank you for reading this post.
-
IPTV1 week ago
How to Setup and Watch IPTV on VLC Media Player [2023]
-
Rufus4 years ago
Rufus for Linux | How to Create a Bootable USB for Linux Using Rufus
-
IPTV1 year ago
How to Stream IPTV on Chromecast [2022]
-
Kodi2 years ago
F4M Tester Kodi Addon – Step by Step Installation Guide (2022)
-
Kodi2 years ago
Uranus Kodi Addon – Install using Blamo Griffin Repository
-
Kodi1 year ago
Placenta Kodi Addon – Step by Step Installation Guide [2022]
-
Rufus11 months ago
Rufus for Mac: Best 4 Alternatives to Create a Bootable USB Drive
-
Kodi3 years ago
Gurzil Kodi Addon – How to Install Gurzil Addon in Kodi?