Get a list of all virtual hosts which are defined in all apache configuration files

Have you ever looked in the apache config files to see where a website's virtual host is defined? The apache2ctl script has a useful option that could come in good here. When you execute the command, it should look like this: apache2ctl -S You'll obtain a list of all virtual hosts and default servers in ... Read more

Reduce CPU and Disk load of backup scripts with nice and ionice

Reduce CPU and Disk Load on Linux

Running a nightly backup script on a server system, such as a web hosting server, can result in a heavy load and longer latency for other processes, for example, HTML or .php pages load slowly during the backup because the backup script requires too many I/O or CPU resources. On Linux systems, two shell utilities ... Read more

How to enable port 587 (submission) in postfix

Postfix Port 587

Some internet access providers have port 25 disabled in their routers to prevent spam. If you run your own email server in a data center, you might have to enable the submission port (587) in postfix to be able to send emails from your local email client to your own mail server. Enable Submission Port ... Read more

Manage the Postfix mail queue with postsuper, postqueue and mailq commands

Manage Postfix Mail Queue

Postfix provides several shell programs to manage the mail queue. These are: postsuper postqueue mailq In this tutorial, I will show you how to use these commands to manage the Postfix mail queue. Here are examples for common tasks: List all messages that are in the mail queue postqueue -p The output looks like this: ... Read more

Optimize MySQL Performance with Mysqltuner

MySQL Optimization

This short tutorial describes the steps to optimize the performance of a MySQL database with the mysqltuner script. This tool can be used for MySQL and MariaDB. Install mysqltuner The mysqltuner High-Performance MySQL Tuning Script is available as a package on Debian 10 and Ubuntu 20.04, install it with at: sudo apt install mysqltuner For ... Read more

How to block access to a server by IP address on Linux

Block access using route command

Sometimes you might want to block connects to your server by IP address. E.g. when someone tries to attack your system. This can be done in several different ways, e.g. with iptables (firewall) rules or by setting up a reject route. Reject access with Linux route command Using iptables sometimes causes conflicts with installed firewalls ... Read more

[Solved] MySQL: Too many connections error

This guide shows you how to solve the error message "Connect to MySQL server 127.0.0.1: Too many connections". The error can appear in any log file of a service that connects to the MySQL server. This may e.g. be the /var/log/mail.log file if your email system uses a MySQL database. The error means that the ... Read more

How to reset the MySQL root password

mySQL root password reset

The following steps describe the procedure to reset the MySQL root password on Linux. The same procedure works for MariaDB too. 1) Stop the MySQL server service mysql stop 2) Start the MySQL server manually without permission tables which allows us to login as root user without password: mysqld_safe --skip-grant-tables & 3) Login into MySQL ... Read more

How to redirect an HTTP connection to HTTPS in Apache webserver

HTTP to HTTPS

HTTP connections can be redirected to HTTPS using the apache mod_rewrite module. Mod_rewrite should be available in every apache installation. Apache HTTP to HTTPS Redirect Create a file with the name .htaccess in the website root directory which contains the following lines: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} If you use ISPConfig 3, ... Read more

Redirect a subdomain in Apache and keep the URL in the address bar

Apache Redirect

This tutorial shows you how to use redirect rules in the Apache web server. If you want to redirect a subdomain like sub.domain.tld into a subdirectory of the website and keep the original URL in the browser location bar, you may use the following apache directive. RewriteEngine on RewriteCond %{HTTP_HOST} ^sub.domain.tld [NC] RewriteRule ^/(.*)$ /sub/$1 ... Read more