Catalog / Software & Servers Cheatsheet
Software & Servers Cheatsheet
A comprehensive cheat sheet covering essential software and server concepts, commands, and configurations, designed to aid both beginners and experienced professionals.
Server Basics
Server Types
Web Server |
Hosts websites and web applications. Examples: Apache, Nginx. |
Database Server |
Stores and manages databases. Examples: MySQL, PostgreSQL, MongoDB. |
File Server |
Stores and manages files for network users. Examples: FTP, NFS, Samba. |
Mail Server |
Handles email sending and receiving. Examples: Sendmail, Postfix, Exim. |
Application Server |
Hosts and runs applications. Examples: Tomcat, JBoss, GlassFish. |
DNS Server |
Translates domain names to IP addresses. |
Operating Systems
Linux |
Popular open-source OS known for stability and flexibility. Common distributions: Ubuntu, CentOS, Debian. |
Windows Server |
Microsoft’s server OS, widely used in enterprise environments. |
macOS Server |
Apple’s server OS, suitable for smaller deployments. |
FreeBSD |
Another open-source OS known for security and performance. |
Basic Commands (Linux)
|
List files and directories. |
|
Change directory. |
|
Create directory. |
|
Remove file or directory. |
|
Copy file or directory. |
|
Move or rename file or directory. |
Web Servers
Apache
Apache is a widely used web server known for its flexibility and modularity. Key Configuration File: Common Modules: |
Commands:
|
Virtual Hosts: Configure multiple websites on a single server using virtual hosts. Define each virtual host in separate configuration files within the |
Nginx
Nginx (pronounced “engine-x”) is a high-performance web server known for its speed and efficiency. Key Configuration File: Configuration Directory: |
Commands:
|
Server Blocks: Similar to Apache’s Virtual Hosts, Nginx uses Server Blocks to configure multiple websites. Define each server block in separate files within the |
Common Configuration Directives
|
Specifies the port the server listens on. |
|
Specifies the domain name the server responds to. |
|
Specifies the document root directory. |
|
Specifies the index file to serve. |
Database Servers
MySQL/MariaDB
MySQL is a popular open-source relational database management system (RDBMS). MariaDB is a fork of MySQL. Key Configuration File: Default Port: 3306 |
Commands:
|
Common MySQL CLI Commands:
|
PostgreSQL
PostgreSQL is an advanced open-source relational database management system (RDBMS) known for its reliability and features. Key Configuration File: Default Port: 5432 |
Commands:
|
Common PostgreSQL CLI Commands:
|
MongoDB
MongoDB is a popular NoSQL document database. Key Configuration File: Default Port: 27017 |
Commands:
|
Common MongoDB Shell Commands:
|
Software Configuration & Troubleshooting
Configuration Management
Ansible: An open-source automation tool used for configuration management, application deployment, and task automation. Key Concepts: Playbooks, Inventory, Modules. |
Chef: A configuration management tool that uses Ruby-based DSL to define infrastructure as code. Key Concepts: Recipes, Cookbooks, Nodes. |
Puppet: An open-source configuration management tool that allows you to define the desired state of your infrastructure. Key Concepts: Manifests, Modules, Agents. |
Troubleshooting
Log Files |
Check log files for error messages and warnings. Common locations: |
Resource Monitoring |
Monitor CPU, memory, disk, and network usage. Tools: |
Network Troubleshooting |
Use tools like |
Process Management |
Use |
Security Best Practices
Keep Software Updated: Regularly update your operating system and software to patch security vulnerabilities. |
Use Strong Passwords: Enforce strong password policies and use multi-factor authentication (MFA). |
Firewall Configuration: Configure firewalls to restrict network access to essential services only. |