Linux Advanced: Difference between revisions

From Training Material
Jump to navigation Jump to search
Created page with "{{Draft}} Category:private Category:linux ;title: Migrating Drupal ;author: Lukasz Sokolowski == Linux Advanced Course == Linux Advanced Training Materials {{Can I use your material}} == Overview == 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 SS..."
 
 
(21 intermediate revisions by the same user not shown)
Line 2: Line 2:


[[Category:private]]
[[Category:private]]
[[Category:linux]]
<!-- [[Category:linux]] -->




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


Line 14: Line 14:


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


Session 1: Introduction to SSH and SSH Access Security
== 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 (& ===
# Upgrading Ubuntu from '''cli'''
#*
# 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 ===
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
Session 2: Samba File Sharing
* 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
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
* Accessing Samba shares from Windows and Linux clients


Setting up user authentication and permissions for Samba shares
== 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)


Accessing Samba shares from Windows and Linux clients
=== Session 8: FTP Server ===
 
Overview of FTP (File Transfer Protocol)
Session 3: DNS (Domain Name System)
* Installing and configuring an FTP server (e.g., vsftpd, proftpd)
 
* Configuring user access, permissions, and secure FTP options
Understanding DNS and its role in translating domain names to IP addresses
* Enabling FTPS (FTP over SSL/TLS) for encrypted file transfers
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
 
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
 
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
* Managing DHCP leases and troubleshooting common DHCP issues


Assigning IP addresses, subnet masks, and other network parameters dynamically
== 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


Managing DHCP leases and troubleshooting common DHCP issues
=== Session 3: DNS (Domain Name System) ===
 
Understanding DNS and its role in translating domain names to IP addresses
Session 8: FTP Server
* Setting up a DNS server using BIND (Berkeley Internet Name Domain)
 
* Configuring DNS zones, records, and name resolution
Overview of FTP (File Transfer Protocol)
* Troubleshooting common DNS issues
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 9: Databases (MySQL)
 
Introduction to MySQL database management system
Installing and configuring MySQL server


Creating databases, tables, and user accounts
=== Session 5: Cache Servers (Squid) ===
[[File:Squi.png|480px]]


Managing data, backups, and database security
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'''


Session 10: Advanced Firewall Setup, Kernel Configuration, and Compilation
==== 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'''


Advanced firewall setup using iptables
==== Squid Intro Con't ====
Implementing network address translation (NAT) and port forwarding
* 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


Introduction to kernel configuration and compilation
==== Insta, config ====
TODO


Customizing kernel options for improved performance and security
=== 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

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