How to configure virtual hosts in Apache HTTP server

Virtual hosting refers to the technique that allows a physical server to host more than one website domain (e.g., site1.com, site2.com). Virtual hosting is prevalent in shared web hosting environments, where typically hundreds or more of websites or blogs are packed on a single dedicated server to amortize server maintenance cost. You are not a […]
Continue reading…

 

How to analyze and view Apache web server logs interactively on Linux

Whether you are in the web hosting business, or run a few web sites on a VPS yourself, chances are you want to display visitor statistics such as top visitors, requested files (dynamic or static), used bandwidth, client browsers, and referring sites, and so forth. GoAccess is a command-line log analyzer and interactive viewer for […]
Continue reading…

 

How to configure fail2ban to protect Apache HTTP server

An Apache HTTP server in production environments can be under attack in various different ways. Attackers may attempt to gain access to unauthorized or forbidden directories by using brute-force attacks or executing evil scripts. Some malicious bots may scan your websites for any security vulnerability, or collect email addresses or web forms to send spams […]
Continue reading…

 

How to install LAMP stack on Ubuntu server

LAMP stack is a popular open source software platform for powering database-driven web applications on Linux. LAMP itself is an acronym for Linux, Apache web server, MariaDB database, and PHP dynamic server-side programming language. This tutorial will present a step by step procedure on installing LAMP stack on Ubuntu server, and also guide you to […]
Continue reading…

 

How to install LAMP stack (Apache, MariaDB/MySQL and PHP) on CentOS

LAMP stack is a popular server-side software stack which is used to build and run dynamic web sites and web applications on Linux platforms. The LAMP stack is composed of Apache (as an HTTP server), MariaDB or MySQL (as a database backend), and PHP, Perl or Python (as a server-side programming language), and hence the […]
Continue reading…

 

How to run SQL queries against Apache log files on Linux

One of the distinguishing features of Linux is that, under normal circumstances, you should be able to know what is happening and has happened on your system by analyzing one or more system logs. Indeed, system logs are the first resource a system administrator tends to look to while troubleshooting system or application issues. In […]
Continue reading…

 

How to create and use Python CGI scripts

Have you ever wanted to create a webpage or process user input from a web-based form using Python? These tasks can be accomplished through the use of Python CGI (Common Gateway Interface) scripts with an Apache web server. CGI scripts are called by a web server when a user requests a particular URL or interacts […]
Continue reading…

 

How to harden Apache web server with mod_security and mod_evasive on CentOS

Web server security is a vast subject, and different people have different preferences and opinions as to what the best tools and techniques are to harden a particular web server. With Apache web server, a great majority of experts -if not all- agree that mod_security and mod_evasive are two very important modules that can protect […]
Continue reading…

 

How to secure a LAMP server on CentOS or RHEL

LAMP is a software stack composed of Linux (an operating system as a base layer), Apache (a web server that “sits on top” of the OS), MySQL (or MariaDB, as a relational database management system), and finally PHP (a server-side scripting language that is used to process and display information stored in the database). In […]
Continue reading…

 

How to configure a Tomcat cluster on Ubuntu

Apache Tomcat is the most popular open-source Java web server. If your web site is expecting more traffic as your business grows, a single instance of Tomcat will probably not scale with the growing traffic. In that case, you might be thinking to run Tomcat in a “clustered” environment, where web server workload is distributed […]
Continue reading…