Introduction
At some point, everyone’s web server or site will have issues. As soon as you discover a problem, it’s important to know where to search and which components are most likely to be responsible.
This article will teach you how to fix these problems and get your website up and running again.
What are the most common issues?
While setting up a website, you’ll meet a wide range of issues that fall into predictable categories.
These will be discussed in further detail in the parts that follow, but first, here is a quick rundown of what you should bear in mind:
- Is your web server up and operational?
- Is your web server’s configuration file syntax correct?
- Ensure that the ports you’ve specified are accessible (i.e., not blocked by firewalls).
- Ensure that your DNS settings are accurate.
- Is the root of your document pointing to where your files are?
- Are the file and directory permissions and ownerships, correct?
- Are you limiting access using your configuration files?
- Is your database backend up and running?
- Can your site properly connect to the database?
When a website stops functioning properly, administrators often encounter these issues. Examining the log files of various components and consulting error pages shown in your browser typically helps narrow down the specific problem.
So that you can ensure your services are set appropriately, we’ll go through each situation below.
THE LOGS!
Check the logs of your web server and any associated components before attempting to hunt down an issue blindly. These are often located in a service-specific subfolder of /var/log.
For instance, if you have an Apache server running on an Ubuntu server, by default the logs will be kept in /var/log/apache2. Look through the files in the directory below to see what kind of error messages are being generated. Any troublesome database backend logs may also be found in the “/var/log” directory.
Whether the processes themselves provide you error messages when the services are launched is another item to look at. If you try to access a website and encounter problems, the error page may also include useful information (although not as specific as the lines in the log files).
Try using a search engine to look for pertinent data that might lead you in the proper way. To locate other instances of the same problem, you might often find it useful to immediately put a portion of your logs into a search engine. You may continue your troubleshooting using the procedures listed below.
Is your Web Server Installed?
A web server is probably the first thing you’ll need to make sure your sites work right. In some cases, your web pages may be served directly by a Docker container or another application, and you won’t need to install a dedicated web server. However, most deployments will still have at least one web server.
Most people will have managed to install a server before reaching this point, but in some cases, you may have uninstalled the server by accident while doing something else with the package.
If you want to install the Apache web server on an Ubuntu or Debian system, you can type:
sudo apt-get update
sudo apt-get install apache2
The Apache process on these systems is called apache2.
If you are using Ubuntu or Debian but want the Nginx web server, you can type:
sudo apt-get update
sudo apt-get install nginx
The Nginx process on these systems is called nginx.
If you are using RHEL, Rocky Linux, or Fedora and want to use the Apache, you can type:
sudo dnf install httpd
On these systems, httpd is the name of the Apache process.
You can type this if you are using RHEL, Rocky Linux, or Fedora and need to use Nginx. Again, if you are logged in as root, take out the “sudo”:
sudo dnf install nginx
On these particular machines, the Nginx process is referred to simply as nginx. On these RPM-based distributions, unlike Ubuntu, Nginx is not immediately launched after being installed. This contrasts with Ubuntu. Continue reading to find out how to get things going.