Linux Advanced: Difference between revisions

From Training Material
Jump to navigation Jump to search
mNo edit summary
 
(17 intermediate revisions by the same user not shown)
Line 5: Line 5:




;title: Migrating Drupal
;title: Linux Advanced
;author: Lukasz Sokolowski
;author: Lukasz Sokolowski


Line 14: Line 14:


== Overview ==
== Overview ==
* '''Day 1''' - ssh, samba, dns, apache
* '''Day 1''' - ''ssh, mysql, apache, samba''
* '''Day 2''' - squid, e-mail, dhcp
* '''Day 2''' - ''ftp, e-mail, dhcp''
* '''Day 3''' - ftp, mysql, firewall, kernel
* '''Day 3''' - ''dns, squid, firewall, kernel''


== DAY 1 ==
== DAY 1 ==
* ''Session 1:'' '''Introduction to SSH and SSH Access Security'''
* ''Session 0: Warm up (-,''
** '''Upgrade''' OS to 24.04
** Magic '''script''' (-'
* '''Session 1:''' ''Introduction to SSH and SSH Access Security''
** Overview of SSH protocol and its significance in secure remote access
** Overview of SSH protocol and its significance in secure remote access
* '''Session 9:''' ''Databases (MySQL)''
** Introduction to MySQL database management system
* '''Session 4:''' ''Web Servers (Apache)''
** Introduction to Apache HTTP Server and its role in serving web pages
* '''Session 2:''' ''Samba File Sharing''
* '''Session 2:''' ''Samba File Sharing''
** Introduction to Samba and its role in file and printer sharing
** Introduction to Samba and its role in file and printer sharing
* Session 3: DNS (Domain Name System)
 
** Understanding DNS and its role in translating domain names to IP addresses
=== Session 0: wormUb (& ===
* Session 4: Web Servers (Apache)
# Upgrading Ubuntu from '''cli'''
** Introduction to Apache HTTP Server and its role in serving web pages
#*  
# Create '''scripts generator'''
#* ''Exercises:'' 0, 2-5 from '''[[UNIX/Linux_Shell_Scripting#Exercises_2|HERE]]'''
<!-- ''do-release-upgrade --help'' -->


=== Session 1: Introduction to SSH and SSH Access Security ===
=== Session 1: Introduction to SSH and SSH Access Security ===
Overview of SSH protocol and its significance in secure remote access
Overview of SSH protocol and its significance in secure remote access
Securing SSH access using key-based authentication
* Securing SSH access using key-based authentication
* Implementing strong password policies and two-factor authentication
* Configuring SSH to allow access from specific IP addresses only


Implementing strong password policies and two-factor authentication
=== Session 9: Databases (MySQL) ===
Introduction to MySQL database management system
* Installing and configuring MySQL server
* Creating databases, tables, and user accounts
* Managing data, backups, and database security


Configuring SSH to allow access from specific IP addresses only
=== Session 4: Web Servers (Apache) ===
Introduction to Apache HTTP Server and its role in serving web pages
* Installing and configuring Apache on Linux
* Creating virtual hosts for hosting multiple websites
* Configuring SSL/TLS certificates for secure HTTPS communication


=== Session 2: Samba File Sharing ===
=== Session 2: Samba File Sharing ===
Introduction to Samba and its role in file and printer sharing
Introduction to Samba and its role in file and printer sharing
Configuring Samba server to share directories
* Configuring Samba server to share directories
 
* Setting up user authentication and permissions for Samba shares
Setting up user authentication and permissions for Samba shares
* Accessing Samba shares from Windows and Linux clients
 
Accessing Samba shares from Windows and Linux clients
 
=== Session 3: DNS (Domain Name System) ===
 
Understanding DNS and its role in translating domain names to IP addresses
Setting up a DNS server using BIND (Berkeley Internet Name Domain)
 
Configuring DNS zones, records, and name resolution
 
Troubleshooting common DNS issues
 
=== Session 4: Web Servers (Apache) ===
 
Introduction to Apache HTTP Server and its role in serving web pages
Installing and configuring Apache on Linux
 
Creating virtual hosts for hosting multiple websites
 
Configuring SSL/TLS certificates for secure HTTPS communication


== DAY 2 ==
== DAY 2 ==
* '''Session 8:''' ''FTP Server''
** Overview of FTP (File Transfer Protocol)
* '''Session 6:''' ''E-mail Servers (Sendmail, Postfix)''
** Overview of email protocols (SMTP, POP3, IMAP)
* '''Session 7:''' ''DHCP Server''
** Introduction to DHCP (Dynamic Host Configuration Protocol)


=== Session 5: Cache Servers (Squid) ===
=== Session 8: FTP Server ===
 
Overview of FTP (File Transfer Protocol)
Understanding the concept of caching and its benefits for web performance
* Installing and configuring an FTP server (e.g., vsftpd, proftpd)
Installing and configuring Squid as a caching proxy server
* Configuring user access, permissions, and secure FTP options
 
* Enabling FTPS (FTP over SSL/TLS) for encrypted file transfers
Configuring access controls, caching policies, and logging in Squid
 
Testing and monitoring Squid's caching effectiveness


=== Session 6: E-mail Servers (Sendmail, Postfix) ===
=== Session 6: E-mail Servers (Sendmail, Postfix) ===
Overview of email protocols (SMTP, POP3, IMAP)
Overview of email protocols (SMTP, POP3, IMAP)
Setting up and configuring Sendmail or Postfix as an email server
* Setting up and configuring Sendmail or Postfix as an email server
 
* Configuring email aliases, virtual domains, and user mailboxes
Configuring email aliases, virtual domains, and user mailboxes
* Implementing spam filtering and antivirus protection for email
 
Implementing spam filtering and antivirus protection for email


=== Session 7: DHCP Server ===
=== Session 7: DHCP Server ===
Introduction to DHCP (Dynamic Host Configuration Protocol)
Introduction to DHCP (Dynamic Host Configuration Protocol)
Installing and configuring ISC DHCP server
* Installing and configuring ISC DHCP server
 
* Assigning IP addresses, subnet masks, and other network parameters dynamically
Assigning IP addresses, subnet masks, and other network parameters dynamically
* Managing DHCP leases and troubleshooting common DHCP issues
 
Managing DHCP leases and troubleshooting common DHCP issues


== DAY 3 ==
== DAY 3 ==
* '''Session 3:''' ''DNS (Domain Name System)''
** Understanding DNS and its role in translating domain names to IP addresses
* '''Session 5:''' ''Cache Servers (Squid)''
** Understanding the concept of caching and its benefits for web performance
* '''Session 10:''' ''Firewall handling, Kernel tweaking''
** Advanced Firewall Setup, Kernel Configuration, and Compilation


=== Session 8: FTP Server ===
=== Session 3: DNS (Domain Name System) ===
Understanding DNS and its role in translating domain names to IP addresses
* Setting up a DNS server using BIND (Berkeley Internet Name Domain)
* Configuring DNS zones, records, and name resolution
* Troubleshooting common DNS issues


Overview of FTP (File Transfer Protocol)
=== Session 5: Cache Servers (Squid) ===
Installing and configuring an FTP server (e.g., vsftpd, proftpd)
[[File:Squi.png|480px]]
 
Configuring user access, permissions, and secure FTP options
 
Enabling FTPS (FTP over SSL/TLS) for encrypted file transfers


=== Session 9: Databases (MySQL) ===
Understanding the concept of '''caching''' and its benefits for '''web performance'''
* '''Installing''' and '''configuring''' Squid as a caching proxy server
* Configuring '''access''' controls, caching '''policies''', and '''logging''' in Squid
* '''Testing''' and '''monitoring''' Squid's caching '''effectiveness'''


Introduction to MySQL database management system
==== Squid Intro ====
Installing and configuring MySQL server
'''Caching proxy''' for the '''Web'''
* supports ''HTTP, HTTPS, FTP'', etc
* reduces '''bandwidth''' and improves '''response''' times
** caching and reusing '''frequently-requested''' web pages
* has extensive '''access controls'''
** great server '''accelerator'''
* runs on '''most OSs''', yup - SchWindows too (-;
** licensed under the '''GNU GPL'''


Creating databases, tables, and user accounts
==== Squid Intro Con't ====
* drastically '''increases''' content delivery
* can '''reduce''' our server '''load''' and improve delivery '''speeds''' to clients
* can also deliver content from around the world
** '''copying only''' the content being '''used''' (no inefficient copy-all)
* has '''advanced''' content '''routing''' configuration
** content '''clusters''' route and load balance requests via web servers


Managing data, backups, and database security
==== Insta, config ====
TODO


=== Session 10: Advanced Firewall Setup, Kernel Configuration, and Compilation ===
=== Session 10: Advanced Firewall Setup, Kernel Configuration, and Compilation ===
 
Firewall handling, Kernel tweaking and compiling
Advanced firewall setup using iptables  
* Advanced firewall setup using iptables  
Implementing network address translation (NAT) and port forwarding
* Implementing network address translation (NAT) and port forwarding
 
* Introduction to kernel configuration and compilation
Introduction to kernel configuration and compilation
* Customizing kernel options for improved performance and security
 
Customizing kernel options for improved performance and security

Latest revision as of 08:13, 26 October 2025

THIS IS A DRAFT

This text may not be complete.


title
Linux Advanced
author
Lukasz Sokolowski

Linux Advanced Course

Linux Advanced Training Materials

Overview

  • Day 1 - ssh, mysql, apache, samba
  • Day 2 - ftp, e-mail, dhcp
  • Day 3 - dns, squid, firewall, kernel

DAY 1

  • Session 0: Warm up (-,
    • Upgrade OS to 24.04
    • Magic script (-'
  • Session 1: Introduction to SSH and SSH Access Security
    • Overview of SSH protocol and its significance in secure remote access
  • Session 9: Databases (MySQL)
    • Introduction to MySQL database management system
  • Session 4: Web Servers (Apache)
    • Introduction to Apache HTTP Server and its role in serving web pages
  • Session 2: Samba File Sharing
    • Introduction to Samba and its role in file and printer sharing

Session 0: wormUb (&

  1. Upgrading Ubuntu from cli
  2. Create scripts generator
    • Exercises: 0, 2-5 from HERE

Session 1: Introduction to SSH and SSH Access Security

Overview of SSH protocol and its significance in secure remote access

  • Securing SSH access using key-based authentication
  • Implementing strong password policies and two-factor authentication
  • Configuring SSH to allow access from specific IP addresses only

Session 9: Databases (MySQL)

Introduction to MySQL database management system

  • Installing and configuring MySQL server
  • Creating databases, tables, and user accounts
  • Managing data, backups, and database security

Session 4: Web Servers (Apache)

Introduction to Apache HTTP Server and its role in serving web pages

  • Installing and configuring Apache on Linux
  • Creating virtual hosts for hosting multiple websites
  • Configuring SSL/TLS certificates for secure HTTPS communication

Session 2: Samba File Sharing

Introduction to Samba and its role in file and printer sharing

  • Configuring Samba server to share directories
  • Setting up user authentication and permissions for Samba shares
  • Accessing Samba shares from Windows and Linux clients

DAY 2

  • Session 8: FTP Server
    • Overview of FTP (File Transfer Protocol)
  • Session 6: E-mail Servers (Sendmail, Postfix)
    • Overview of email protocols (SMTP, POP3, IMAP)
  • Session 7: DHCP Server
    • Introduction to DHCP (Dynamic Host Configuration Protocol)

Session 8: FTP Server

Overview of FTP (File Transfer Protocol)

  • Installing and configuring an FTP server (e.g., vsftpd, proftpd)
  • Configuring user access, permissions, and secure FTP options
  • Enabling FTPS (FTP over SSL/TLS) for encrypted file transfers

Session 6: E-mail Servers (Sendmail, Postfix)

Overview of email protocols (SMTP, POP3, IMAP)

  • Setting up and configuring Sendmail or Postfix as an email server
  • Configuring email aliases, virtual domains, and user mailboxes
  • Implementing spam filtering and antivirus protection for email

Session 7: DHCP Server

Introduction to DHCP (Dynamic Host Configuration Protocol)

  • Installing and configuring ISC DHCP server
  • Assigning IP addresses, subnet masks, and other network parameters dynamically
  • Managing DHCP leases and troubleshooting common DHCP issues

DAY 3

  • Session 3: DNS (Domain Name System)
    • Understanding DNS and its role in translating domain names to IP addresses
  • Session 5: Cache Servers (Squid)
    • Understanding the concept of caching and its benefits for web performance
  • Session 10: Firewall handling, Kernel tweaking
    • Advanced Firewall Setup, Kernel Configuration, and Compilation

Session 3: DNS (Domain Name System)

Understanding DNS and its role in translating domain names to IP addresses

  • Setting up a DNS server using BIND (Berkeley Internet Name Domain)
  • Configuring DNS zones, records, and name resolution
  • Troubleshooting common DNS issues

Session 5: Cache Servers (Squid)

Understanding the concept of caching and its benefits for web performance

  • Installing and configuring Squid as a caching proxy server
  • Configuring access controls, caching policies, and logging in Squid
  • Testing and monitoring Squid's caching effectiveness

Squid Intro

Caching proxy for the Web

  • supports HTTP, HTTPS, FTP, etc
  • reduces bandwidth and improves response times
    • caching and reusing frequently-requested web pages
  • has extensive access controls
    • great server accelerator
  • runs on most OSs, yup - SchWindows too (-;
    • licensed under the GNU GPL

Squid Intro Con't

  • drastically increases content delivery
  • can reduce our server load and improve delivery speeds to clients
  • can also deliver content from around the world
    • copying only the content being used (no inefficient copy-all)
  • has advanced content routing configuration
    • content clusters route and load balance requests via web servers

Insta, config

TODO

Session 10: Advanced Firewall Setup, Kernel Configuration, and Compilation

Firewall handling, Kernel tweaking and compiling

  • Advanced firewall setup using iptables
  • Implementing network address translation (NAT) and port forwarding
  • Introduction to kernel configuration and compilation
  • Customizing kernel options for improved performance and security