11.12.2024

Common Site Issues Troubleshooting on a Linux Server

Even if your web-server is working fine now, you should be ready to solve typical problems if something happens. We will describe some issues and ways to solve it below. Common checklist:

Does your domain’s DNS-records correct?

To be accessible worldwide, your site must have properly configured DNS-records. To check it, just run this command on your local computer. As a “correct” result you should see your server’s “external” IP. Otherwise, please refer to domain registrar or DNS-hosting services support.

nslookup <YOUR_DOMAIN_NAME>

Is your server working and accessible “from the web”?

To ensure this, just go to your hosting provider client area and check that your server is turned on and its operation system is booted properly. Usually hosting services are providing direct access to the server console via IPMI or VNC. You should connect to the server console and check server OS is booted properly. If you see login prompt like this – operation system is OK and you can check connectivity.

To ensure that server is accessible “outside” just run this command command on your local computer’s terminal. If your server is replies – it’s OK, if not – you should request your hosting provider support or troubleshoot the network by yourself before follow the next checks.

ping <YOUR_SERVER_IP>

Are web-services running on the server?

Next step is web-services checking. To determine which service is used exactly you should connect to the server via SSH as privileged user and run this command:

systemctl list-unit-files | grep -E 'http|apache|nginx'

If you see web-services is enabled and in running status everything is OK. Otherwise you should fix this first. Use follow commands:

systemctl list-unit-files | grep -E 'http|apache|nginx' # determine which service is used as the web-server
systemctl enable <SERVICE> # enable it
systemctl start <SERVICE> # start the service
systemctl status <SERVICE> # check the status finally

Is your service listening web-port?

To provide site availability network port 80 should be listened and not blocked by system firewall. To check web-port just run on the server command

netstat -utpln | grep 80

. You should see that port 80 and service which is listening it.

Is your website configuration files correct?

To work properly, your webserver must have configuration section which “linked” to your website. Minimal necessary directives are domain name, website files location and index file

Also, to check configuration you can run <code>service httpd configtest command</code>

Finally, open your website in browser. If previous checks are passed you will see your website start page.

Well done!