How to allow incremental file sync for many users on Linux

Suppose you as a software developer has set up daily builds of your software for testing purposes. Every day you make a new build, users have to re-download the updated build to evaluate it. In this case you may want to enable differential downloads, so that users can download only difference between two builds, thereby […]
Continue reading…

 

What are good web server benchmarking tools for Linux

As far as web server performance is concerned, there are many different factors at play, e.g., front-end application design, network latency/bandwidth, web server configuration, server-side in-memory cache, raw hardware capability, server load of shared hosting, etc. To compare and optimize web server performance under such a wide array of factors, we often perform load test […]
Continue reading…

 

How to block network traffic by country on Linux

As a system admin who maintains production Linux servers, there are circumstances where you need to selectively block or allow network traffic based on geographic locations. For example, you are experiencing denial-of-service attacks mostly originating from IP addresses registered with a particular country. In other cases, you want to block SSH logins from unknown foreign […]
Continue reading…

 

How to send email notifications using Gmail SMTP server on Linux

Suppose you want to configure a Linux app to send out email messages from your server or desktop. The email messages can be part of email newsletters, status updates (e.g., Cachet), monitoring alerts (e.g., Monit), disk events (e.g., RAID mdadm), and so on. While you can set up your own outgoing mail server to deliver […]
Continue reading…

 

How to set up a system status page of your infrastructure

If you are a system administrator who is responsible for critical IT infrastructure or services of your organization, you will understand the importance of effective communication in your day-to-day tasks. Suppose your production storage server is on fire. You want your entire team on the same page in order to resolve the issue as fast […]
Continue reading…

 

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 migrate MySQL to MariaDB on Linux

Since the Oracle’s acquisition of MySQL, a lot of MySQL developers and users moved away from MySQL due to Oracle’s more closed-door stance on MySQL development and maintenance. The community-driven outcome of such movement is a fork of MySQL, called MariaDB. Led by original MySQL developers, the development of MariaDB follows the open-source philosophy and […]
Continue reading…

 

How to combine two graphs on Cacti

Cacti is a fantastic open source network monitoring system that is widely used to graph network elements like bandwidth, storage, processor and memory utilization. Using its web based interface, you can create and organize graphs easily. However, some advanced features like merging graphs, creating aggregate graphs using multiple sources, migration of Cacti to another server […]
Continue reading…

 

How to replicate a MySQL database on Linux

Database replication is a technique where a given database is copied to one or more locations, so that the reliability, fault-tolerance or accessibility of the database can be improved. Replication can be snapshot-based (where entire data is simply copied over to another location), merge-based (where two or more databases are merged into one), or transaction-based […]
Continue reading…

 

What are good open-source log monitoring tools on Linux

In an operating system, logs are all about keeping track of events, be it critical system errors, resource usage warnings, transaction history, application status, or user activities. These logs, which are stored as (text or binary) files in the system, are useful for system auditing, debugging and maintenance. However, with so many different system entities […]
Continue reading…