This repository contains various projects and exercises related to System Engineering and DevOps concepts as part of the ALX curriculum. Each project focuses on different aspects of shell scripting, system administration, networking, web stack configuration, and API usage.
- 0x00-shell_basics
- 0x01-shell_permissions
- 0x02-shell_redirections
- 0x03-shell_variables_expansions
- 0x04-loops_conditions_and_parsing
- 0x05-processes_and_signals
- 0x06-regular_expressions
- 0x07-networking_basics
- 0x08-networking_basics_2
- 0x09-web_infrastructure_design
- 0x0A-configuration_management
- 0x0B-ssh
- 0x0C-web_server
- 0x0F-load_balancer
- 0x10-https_ssl
- 0x11-what_happens_when_you_type_google_com_in_your_browser_and_press_enter
- 0x12-web_stack_debugging_2
- 0x13-firewall
- 0x14-mysql
- 0x15-api
- 0x16-api_advanced
- 0x17-web_stack_debugging_3
- 0x18-webstack_monitoring
- 0x1A-application_server
Basic shell scripting tasks that cover navigation, listing files, manipulating directories, and more.
- Key files:
0-current_working_directory,1-listit,10-back,12-file_type,14-copy_html
Tasks related to managing file permissions, ownership, and user groups.
- Key files:
0-iam_betty,3-new_owner,8-James_Bond,12-directory_permissions
Covers standard input/output redirections and working with files using shell commands.
- Key files:
0-hello_world,9-duplicate_last_line,13-unique,17-hidethisword
Explores shell variables, expansions, and arithmetic operations.
- Key files:
0-alias,2-path,9-divide_and_rule,11-binary_to_decimal
Introduces loops, conditionals, and file parsing in shell scripting.
- Key files:
1-for_best_school,10-fizzbuzz,102-lets_parse_apache_logs
Deals with process management, signals, and understanding process IDs in Linux.
- Key files:
0-what-is-my-pid,4-to_infinity_and_beyond,7-highlander
Regular expression tasks using Ruby scripting to match patterns in text.
- Key files:
0-simply_match_school.rb,3-repetition_token_2.rb,6-phone_number.rb
Introduces networking fundamentals such as OSI model, MAC addresses, and TCP/UDP protocols.
- Key files:
0-OSI_model,3-UDP_and_TCP,5-is_the_host_on_the_network
Advanced networking topics including changing IP configurations.
- Key files:
0-change_your_home_IP
Focuses on designing web infrastructures including simple and distributed setups.
- Key files:
0-simple_web_stack,1-distributed_web_infrastructure
Puppet configuration management tasks that automate system setup and command execution.
- Key files:
0-create_a_file.pp,2-execute_a_command.pp
Tasks covering SSH key pair creation and configuration.
- Key files:
0-use_a_private_key,1-create_ssh_key_pair,100-puppet_ssh_config.pp
Setting up a basic web server using Nginx and managing web server configurations.
- Key files:
0-transfer_file,1-install_nginx_web_server,4-not_found_page_404
Load balancing tasks with custom HTTP headers and load balancer installation.
- Key files:
0-custom_http_response_header,1-install_load_balancer
Covers securing web traffic using SSL and configuring HTTPS.
- Key files:
0-world_wide_web,100-redirect_http_to_https
Explains what happens during a browser request, focusing on DNS lookup and HTTP request lifecycle.
- Key files:
0-blog_post,1-what_happen_when_diagram
Debugging tasks involving web stack components such as Nginx and servers.
- Key files:
0-iamsomeoneelse,1-run_nginx_as_nginx
Tasks related to configuring firewalls and setting up rules for incoming traffic.
- Key files:
0-block_all_incoming_traffic_but,100-port_forwarding
Setting up and managing MySQL databases including replication and backups.
- Key files:
4-mysql_configuration_primary,5-mysql_backup
Interacting with APIs by gathering data and exporting it to various formats.
- Key files:
0-gather_data_from_an_API.py,1-export_to_CSV.py,3-dictionary_of_list_of_dictionaries.py
Advanced API usage with recursion and more complex data gathering techniques.
- Key files:
0-subs.py,2-recurse.py
Further debugging of web stack issues with tools like strace.
- Key files:
0-strace_is_your_friend.pp
Tasks related to setting up and using web stack monitoring tools.
- Key files:
README.md,ddagent-install.log
Setting up and configuring application servers, including Nginx and MySQL.
- Key files:
2-app_server-nginx_config,mysql-apt-config_0.8.12-1_all.deb
This repository is provided as part of the ALX program and is for educational purposes.