Change Hostname, Update, Upgrade, Install Zip Unzip and VIM
#apt-get update -y #apt-get upgrade -y #nano /etc/hostname
#apt-get install zip -y #apt-get install unzip -y #apt-get install vim -y
Enable vim cut paste
If needed “Add Swap Memory on Debian 10”
If needed “Increase SSH Connection Timeout in Linux”
#vim /etc/ssh/sshd_config ClientAliveInterval 1200 ClientAliveCountMax 3
#systemctl status sshd.service
Configure Iptables Firewall Rules
For Debian 11 go to Iptables Debian 11 Bullseye configuration
Configure UFW Firewall Rules
Setup and Configure Fail2ban
Install Apache2
#apt install apache2 -y
Replace “AllowOverride None” to “AllowOverride All”
#vim /etc/apache2/apache2.conf
Enable and load mod_rewrite Apache2
#/usr/sbin/a2enmod rewrite #/usr/sbin/a2enmod headers
#/usr/sbin/a2enmod expires
Install MariaDB
#apt install mariadb-server -y #mysql_secure_installation
Instal PHP
#apt install php libapache2-mod-php php-mysql php-gd -y
Note: If you plan to host a WordPress server, install additional PHP modules
#apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y
Check PHP Version to install Addons
#php -v
PHP 7.3.31-1~deb10u1 (cli) (built: Oct 24 2021 15:18:08) ( NTS )
Important to Install PHP GD Addons
#apt-get install php7.3-gd -y
Increase PHP Upload and Post Size by modified php.ini file
Find php.ini file by create phpinfo.php code below at /var/www/html
<?php phpinfo();?>
The find php.ini located by open the phpinfo.php at http://website/php.php
Open the php.ini file in the text editor. for example
#vim /etc/php/7.4/apache2/php.ini
Search for upload_max_filesize variable and specify with size below
upload_max_filesize = 128M
Search for post_max_size variable and specify with size below (Basically it same as upload_max_filesize variable value)
post_max_size = 128M
Once done, save the modified php.ini file and restart the server.
Install Postfix for email
#apt-get purge --auto-remove exim4 #apt-get install postfix libsasl2-modules ca-certificates mailutils -y
If needed configure Crontab job auto restart server on memory low
Install SSL Certificate
SSL test on Qualys SSL Labs Rating A Configuration
Activate HTTP/2 protocol on default-ssl.conf
Insert Protocols h2 h2c http/1.1 after on /etc/apache2/sites-available/default-ssl.conf
#vim /etc/apache2/sites-available/default-ssl.conf
Then follow the command below
#/usr/sbin/a2enmod ssl #/usr/sbin/a2enmod http2
#/usr/sbin/a2ensite default-ssl
#systemctl restart apache2
#service restart apache2