Enabling remote connections to a MySQL server involves a few steps:
1. Configure MySQL Server
By default, MySQL server is configured to listen to the loopback IP address 127.0.0.1, which means it only accepts connections from the local machine. To allow remote connections, you need to modify the MySQL configuration file (my.cnf or my.ini or 50-server.cnf), typically located in /etc/mysql/ or /usr/local/mysql/etc/ or /etc/mysql/mariadb.conf.d.
Look for the following line in the configuration file:
bind-address = 127.0.0.1
And change it to:
bind-address = 0.0.0.0
This allows the MySQL server to listen on all available network interfaces.
2. Grant remote access to MySQL user
By default, MySQL server creates a user root with full administrative privileges, but it only allows access from the local machine. To enable remote access for this user, you need to grant it permission to connect from a remote IP address.
Log in to the MySQL server as root user and execute the following command:
GRANT ALL ON . TO 'root'@'%' IDENTIFIED BY 'yourpassword';
This grants the user root access to all databases and tables from any IP address (%). Replace ‘yourpassword‘ with a secure password of your choice.
3. Restart MySQL server
After modifying the configuration file and granting remote access to the user, you need to restart the MySQL server to apply the changes.
On Ubuntu or Debian, use the following command:
sudo service mysql restart
On CentOS or Fedora, use:
sudo systemctl restart mysqld
4. Open MySQL port on firewall
If you have a firewall running on the MySQL server, you need to open the port that MySQL server is listening on (usually port 3306) to allow incoming connections.
On Ubuntu or Debian, use the following command to open the port:
PHP has a lot of functions which can be used to crack your server if not used properly. You can set list of functions in php.ini using disable_functions directive. This directive allows you to disable certain functions for security reasons. It takes on a comma-delimited list of function names.
Open a terminal application or login to your server over the ssh session using ssh command. Open php.ini file using a text editor such as vim command or nano command:
sudo nano /etc/php/8.0/fpm/php.ini
Find disable_functions and set new list as follows:
First update package list and upgrade your operating system:
sudo apt update && sudo apt upgrade
To install Wireguard use command:
sudo apt install wireguard
Now check if Wireguard installed correct:
sudo modprobe wireguard
If this command dose not show anything, Wireguard installed correct. If You get error like this: modprobe: FATAL: Module wireguard not found in directory /lib/modules/4.19.0-12-686, install this package:
The smartmontools package is generally available in the default repositories of all the major Linux distributions. It contains two utilities useful to check the status of storage with S.M.A.R.T support (Self Monitoring Analysis and Reporting Technology): smartcl and smartd.
The former is the utility we use directly to check S.M.A.R.T attributes, run tests, or perform other actions; the latter is the daemon which can be used to schedule operations in the background.
Tu install smartmontools use command:
sudo apt install smartmontools
Checking if SMART is enabled
Let’s become familiar with the smartctl utility. The first thing we want to check is if S.M.A.R.T support is active on the device. To perform this operation we can run the smartctl utility with the -i option (short for –info):
sudo smartctl -i /dev/sda
If SMART support is disabled we need to enable it:
sudo smartctl -s on /dev/sda
Getting S.M.A.R.T information with smartctl
To get information about hard drive /dev/sda use command:
sudo smartctl -a /dev/sda
Very important parameters to check are, among the others, “Reallocated_Sector_Ct” and “Current_Pending_Sector”. In both cases if the RAW_VALUE is something other than 0, we should be very careful and start to backup data on the hard drive. The Reallocated_Sector_Ct is the count of sectors on the block device which cannot be used correctly.
When such a sector is found it is remapped to one of the available spare sectors of the storage device, and data contained in it is relocated. The Current_Pending_Sector attribute, instead, is the count of bad sectors that are still waiting to be remapped. If you want to know more about the S.M.A.R.T attributes and their meaning, you can begin to take a look at the Wikipedia S.M.A.R.T page.