Tutorials and Howtos: Difference between revisions

From Alpine Linux
(Updated the links and removed redundant links, transcluded Daily driver guide)
(Reorganized headings moved topics and removed redundant ones)
Line 1: Line 1:
{{Todo|This material has been re-organized..., but grouping should be checked: '''Howtos are smaller articles''' and '''tutorials are more detailed document'''}}
[[Image:package_edutainment.svg|right|link=]]
[[Image:package_edutainment.svg|right|link=]]
{{TOC left}}
{{TOC left}}
'''Welcome to Tutorials and Howtos, a place of basic and advanced configuration tasks for your Alpine Linux.'''
'''Welcome to Tutorials and Howtos, a place of basic and advanced configuration tasks for your Alpine Linux.'''


'''The tutorials are hands-on''' and the reader is expected to try and achieve the goals described in each step, possibly with the help of a good example. The output in one step is the starting point for the following step.
'''Howtos are smaller articles''' explaining how to perform a particular task with Alpine Linux, that expects a minimal knowledge from reader to perform actions. Howto's have been organized in the below page based on the topics.
 
'''Howtos are smaller articles''' explaining how to perform a particular task with Alpine Linux, that expects a minimal knowledge from reader to perform actions.
 
'''IMPORTANT:''' contributions on those pages must be complete articles as well as requesting topics to be covered, don't override already made contributions. If you want to request a topic, please add your request in this page's [[Talk:Tutorials_and_Howtos|Discussion]].
 
 
{{Clear}}
 
= Howtos =
 
== Applications ==
 
=== Miscellaneous ===
 
* [[Ansible]] ''(Configuration management)''
 
=== Monitoring ===
 
* [[Awstats]] ''(Free log file analyzer)''
* [[Cacti: traffic analysis and monitoring network]] ''(Front-end for rrdtool networking monitor)''
* [[Cvechecker]] ''(Compare installed packages for Common Vulnerabilities Exposure)'' <!-- Monitoring and Security -->
* [[Linfo]]
* [[Obtaining user information via SNMP]] ''(Using squark-auth-snmp as a Squid authentication helper)'' <!-- Networking and Server, <== Using squark-auth-snmp -->
* [[PhpSysInfo]] ''(A simple application that displays information about the host it's running on)''
* [[Matomo]] ''(A real time web analytics software program)''
* [[Setting up A Network Monitoring and Inventory System]] ''(Nagios + OpenAudit and related components)'' <!-- draft, solution, Networking and Monitoring and Server -->
** [[Setting up NRPE daemon]] ''(Performs remote Nagios checks)'' <!-- Networking and Monitoring -->
* [[Setting Up Fprobe And Ntop|Ntop]] ''(NetFlow collection and analysis using a remote fprobe instance; for alpine 3.10-3.12 only)'' <!-- Networking and Monitoring -->
* [[Setting up lm_sensors]]
* [[SqStat]] ''(Script to look at active squid users connections)''
* [[Traffic monitoring]] <!-- Networking and Monitoring -->
** [[Setting up monitoring using rrdtool (and rrdcollect)]]
** [[Setting up traffic monitoring using rrdtool (and snmp)]] <!-- Monitoring -->
* [[Zabbix|Zabbix - the professional complete manager]] ''(Monitor and track the status of network services and hardware)''
* [[ZoneMinder video camera security and surveillance]]


=== Networking ===
'''The [[#Tutorials|tutorials]] are hands-on''' and the reader is expected to try and achieve the goals described in each step, possibly with the help of a good example. The output in one step is the starting point for the following step.


* Alpine Wall ''(a new firewall management framework)''
{{Note|
** [[Alpine Wall]]
* Contributors are requested to refer to [[Help:Editing]] first and make use of resources like [[How to write a HOWTO]].
** [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide]
* Contributions must be complete articles.
** [[How-To Alpine Wall]]
* Don't override already made contributions, unless there is a mistake.
* [[Freeradius Active Directory Integration]]
* If you want to request a topic, please add your request in this page's [[Talk:Tutorials_and_Howtos|Discussion]].}}
* [[GNUnet]]
* [[Setting up a OpenVPN server|OpenVPN server]] ''(Allowing single users or devices to remotely connect to your network)''
* [[OpenVSwitch]]
* [[Using Alpine on Windows domain with IPSEC isolation]]
* [[Configure a Wireguard interface (wg)|Wireguard]]
 
=== Telephony ===
 
* [[FreePBX|FreePBX on Alpine Linux]]
* [[Setting up Zaptel/Asterisk on Alpine]]
* [[Kamailio]] ''(SIP Server, formerly OpenSER)''
 
== Backup and data migration ==
 
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your box needs reboot)''
** [[Back Up a Flash Memory Installation]]
** [[Manually editing a existing apkovl]]
* [[Migrating data]]
* [[Rsnapshot]] - setting up periodic backups


== Desktop ==
== Desktop ==


* {{:Daily driver guide}}
* {{:Daily driver guide}}
 
=== Power management ===
=== Other topics ===
 
* [[Gaming on Alpine]]
* [[Remote Desktop Server]]
* [[Default applications|How to change default application]]
* [[Desktop environments and Window managers|List of supported Desktop environments and Window managers]]
* Understand [[UEFI]] and enable [[UEFI Secure Boot]]
* Desktop cloud
** [[Nextcloud]] ''(Self hostable cloud suite - Dropbox Alternative)''
 
== Power management ==


* [[Configure action when power-button is pressed]]
* [[Configure action when power-button is pressed]]
Line 89: Line 23:
* [[Configure Wake-on-LAN]]
* [[Configure Wake-on-LAN]]


== Kernel ==
=== Networking ===
 
* [[How to build the Alpine Linux kernel]]
 
== Networking ==


* [[Bluetooth]] - Instructions for installing and configuring Bluetooth
* [[Bluetooth]] - Instructions for installing and configuring Bluetooth
Line 111: Line 41:
** [[How to setup a wireless access point]] ''(Setting up Secure Wireless AP w/ WPA encryption with bridge to wired network)''
** [[How to setup a wireless access point]] ''(Setting up Secure Wireless AP w/ WPA encryption with bridge to wired network)''
* [[VLAN]]
* [[VLAN]]
=== Security ===
* [[Securing Alpine Linux]] How to Secure Alpine Linux using Security Technical Implementation Guides (STIGs)
* Understand [[UEFI]] and enable [[UEFI Secure Boot]]
=== Backup and data migration ===
* [[Migrating data]]
* [[Rsnapshot]] - setting up periodic backups
=== Other topics ===
* [[Gaming on Alpine]]
* [[Remote Desktop Server]]
* [[Default applications|How to change default application]]
* [[CPU frequency scaling]]
* [[Enable Serial Console on Boot]]
* [[How to build the Alpine Linux kernel]]
* [[Nextcloud]] ''(Self hostable cloud suite - Dropbox Alternative)''
* [[Desktop environments and Window managers|List of supported Desktop environments and Window managers]]
== Diskless ==
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your box needs reboot)''
** [[Back Up a Flash Memory Installation]]
** [[Manually editing a existing apkovl]]


== Other Architectures ==
== Other Architectures ==
Line 142: Line 99:
* [[Ppc64le|Powerpc64le - Installation]]
* [[Ppc64le|Powerpc64le - Installation]]


== Post-Install ==
== Services ==  


* [[CPU frequency scaling]]
=== Firewall and VPN ===
* [[Repositories#Enabling_the_community_repository|Enable Community repository]] ''(Providing additional packages)''
 
* [[Enable Serial Console on Boot]]
* Alpine Wall ''(a new firewall management framework)''
* [[Alpine Linux Init System|Init System (OpenRC)]] ''(Configure a service to automatically boot at next reboot)''
** [[Alpine Wall]]
** [[Multiple Instances of Services|Init System - Multiple Instances of Services]]
** [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide]
** [[Writing Init Scripts|Init System - Writing Init Scripts]]
** [[How-To Alpine Wall]]
* [[Installing Oracle Java|Oracle Java (installation)]]
* [[Freeradius Active Directory Integration]]
* [[GNUnet]]
* [[Setting up a OpenVPN server|OpenVPN server]] ''(Allowing single users or devices to remotely connect to your network)''
* [[OpenVSwitch]]
* [[Using Alpine on Windows domain with IPSEC isolation]]
* [[Configure a Wireguard interface (wg)|Wireguard]]
* [[IGMPproxy]]
* [[IGMPproxy]]
* [[Alpine Package Keeper|Package Management (apk)]] ''(How to add/remove packages on your Alpine)''
** [[Comparison with other distros|Package Management - Comparison with other distros]]
* [[Running glibc programs]]
* [[Setting up a new user]]
* [[Upgrading Alpine]]


=== Telephony ===


== Remote Administration ==
* [[FreePBX|FreePBX on Alpine Linux]]
* [[Setting up Zaptel/Asterisk on Alpine]]
* [[Kamailio]] ''(SIP Server, formerly OpenSER)''
 
=== Monitoring ===
 
* [[Awstats]] ''(Free log file analyzer)''
* [[Cacti: traffic analysis and monitoring network]] ''(Front-end for rrdtool networking monitor)''
* [[Cvechecker]] ''(Compare installed packages for Common Vulnerabilities Exposure)'' <!-- Monitoring and Security -->
* [[Linfo]]
* [[Obtaining user information via SNMP]] ''(Using squark-auth-snmp as a Squid authentication helper)'' <!-- Networking and Server, <== Using squark-auth-snmp -->
* [[PhpSysInfo]] ''(A simple application that displays information about the host it's running on)''
* [[Matomo]] ''(A real time web analytics software program)''
* [[Setting up A Network Monitoring and Inventory System]] ''(Nagios + OpenAudit and related components)'' <!-- draft, solution, Networking and Monitoring and Server -->
** [[Setting up NRPE daemon]] ''(Performs remote Nagios checks)'' <!-- Networking and Monitoring -->
* [[Setting Up Fprobe And Ntop|Ntop]] ''(NetFlow collection and analysis using a remote fprobe instance; for alpine 3.10-3.12 only)'' <!-- Networking and Monitoring -->
* [[Setting up lm_sensors]]
* [[SqStat]] ''(Script to look at active squid users connections)''
* [[Traffic monitoring]] <!-- Networking and Monitoring -->
** [[Setting up monitoring using rrdtool (and rrdcollect)]]
** [[Setting up traffic monitoring using rrdtool (and snmp)]] <!-- Monitoring -->
* [[Zabbix|Zabbix - the professional complete manager]] ''(Monitor and track the status of network services and hardware)''
* [[ZoneMinder video camera security and surveillance]]
 
=== Remote Administration ===


* ACF
* ACF
Line 172: Line 154:
* [[Webmin]] ''(A web-based interface for Linux system)''
* [[Webmin]] ''(A web-based interface for Linux system)''


== Server ==
=== HTTP and web services ===
 
* [[Hosting services on Alpine]] ''(Hosting mail, webservices and other services)''
* [[Hosting Web/Email services on Alpine]]
 
=== DNS ===
 
* [[DNSCrypt-Proxy]] ''Encrypt and authenticate DNS calls from your system''
* [[Setting up nsd DNS server]]
* [[Setting up unbound DNS server]]
* [[TinyDNS Format]]
 
=== HTTP ===


* [[Apache]]
* [[Apache]]
Line 194: Line 164:
** [[Lighttpd Advanced security]]
** [[Lighttpd Advanced security]]
** [[Setting Up Lighttpd With FastCGI]]
** [[Setting Up Lighttpd With FastCGI]]
** [[Production Web server: Lighttpd|Production web server: Lighttpd‎‎]]
* [[Nginx]]
* [[Nginx]]
** [[Nginx as reverse proxy with acme (letsencrypt)]]
** [[Nginx as reverse proxy with acme (letsencrypt)]]
Line 203: Line 174:
** [[SqStat]] ''(Script to look at active squid users connections)''
** [[SqStat]] ''(Script to look at active squid users connections)''
* [[Tomcat]]
* [[Tomcat]]
** [[Production LAMP system: Lighttpd + PHP + MySQL‎‎]]


==== Hostable Content ====
=== DNS ===
 
* [[DNSCrypt-Proxy]] ''Encrypt and authenticate DNS calls from your system''
* [[Setting up nsd DNS server]]
* [[Setting up unbound DNS server]]
* [[TinyDNS Format]]
 
=== Content management systems ===


* [[DokuWiki]]
* [[DokuWiki]]
Line 220: Line 199:
=== Mail ===
=== Mail ===


* [[Hosting services on Alpine]] ''(Hosting mail, webservices and other services)''
* [[Hosting Web/Email services on Alpine]]
* Exim/Dovecot
* Exim/Dovecot
** [[Small-Time Email with Exim and Dovecot]] ''(A simple configuration for your home network.)
** [[Small-Time Email with Exim and Dovecot]] ''(A simple configuration for your home network.)
Line 243: Line 224:
* [[Setting up a Samba server|samba-server]] ''(standard file sharing)''
* [[Setting up a Samba server|samba-server]] ''(standard file sharing)''
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
** [[MySQL|Production database: MySQL]]


=== Software development ===
== Software development ==


* [[Cgit]]
* [[Cgit]]
Line 252: Line 234:
* [[Request Tracker]] ''(Ticket system)''
* [[Request Tracker]] ''(Ticket system)''
* [[Setting up trac wiki|Trac]] ''(Enhanced wiki and issue tracking system for software development projects)''
* [[Setting up trac wiki|Trac]] ''(Enhanced wiki and issue tracking system for software development projects)''
* [[Ansible]] ''(Configuration management)''
* [[Installing Oracle Java|Oracle Java (installation)]]


== Storage ==
== Storage ==
Line 291: Line 275:
** [[Xen LiveCD]]
** [[Xen LiveCD]]
** [[Xen PCI Passthrough]]
** [[Xen PCI Passthrough]]
** [[K8s]] Building a K8s Kubernetes Cluster on Alpine Linux


= Tutorials =
== Tutorials ==
 
== Miscellaneous ==


* [[TTY_Autologin|TTY Autologin]]
* [[TTY_Autologin|TTY Autologin]]
Line 310: Line 293:
* [[Install Alpine on a btrfs filesystem with refind as boot manager]]
* [[Install Alpine on a btrfs filesystem with refind as boot manager]]
* [[Compile software from source|How to Compile a software from source in Alpine Linux]]
* [[Compile software from source|How to Compile a software from source in Alpine Linux]]
== Newbie corner ==
* [[How to get regular stuff working]] ''some notes on need-to-know topics''
== Servers ==
* [[Alpine production deploy]]
** [[Production Web server: Lighttpd|Production web server: Lighttpd‎‎]]
** [[MySQL|Production database: MySQL]]
** [[Production LAMP system: Lighttpd + PHP + MySQL‎‎]]
* Alpine production monitoring
** [[Cacti: traffic analysis and monitoring network]]
** [[Zabbix|Zabbix - the professional complete manager]]
* Kubernetes
** [[K8s]] Building a K8s Cluster on Alpine Linux
== Security ==
* [[Securing Alpine Linux]] How to Secure Alpine Linux using Security Technical Implementation Guides (STIGs)

Revision as of 16:40, 13 January 2025

Welcome to Tutorials and Howtos, a place of basic and advanced configuration tasks for your Alpine Linux.

Howtos are smaller articles explaining how to perform a particular task with Alpine Linux, that expects a minimal knowledge from reader to perform actions. Howto's have been organized in the below page based on the topics.

The tutorials are hands-on and the reader is expected to try and achieve the goals described in each step, possibly with the help of a good example. The output in one step is the starting point for the following step.

Note:
  • Contributors are requested to refer to Help:Editing first and make use of resources like How to write a HOWTO.
  • Contributions must be complete articles.
  • Don't override already made contributions, unless there is a mistake.
  • If you want to request a topic, please add your request in this page's Discussion.

Desktop

Alpine Linux is a general purpose Linux distribution designed for power users. It is built to be small and resource efficient. If you feel the defaults are too lightweight for desktop use, it is easy to get most of the regular stuff working and use Alpine Linux as a daily driver by following this guide.

Help us improve this wiki page

If you find the instructions correct, please add/update the Verified template. If something isn't correct, or is incomplete, add the Accuracy template to the relevant section. You will have to figure out the correct solution, or ask for it in the community.

And then carefully edit the wiki page.

Just as those before who did it for you.

Prerequisites

Once the above prerequisites are met, install any desktop of choice from the list of supported Desktop environments and Window managers either manually or using setup-desktop script.

Tip: Except for the first three Prerequisites, all the others are automatically handled, if setup-desktop script is used.

Basics

Desktop security

Advanced

  • Learn basics of openrc, the alpine Linux init system or refer Open rc wiki.
  • If you want the rolling release version of Alpine Linux, enable the Edge repository.
  • Explore the testing repository, as it provides a lot more applications.

Power management

Networking

Security

Backup and data migration

Other topics

Diskless

Other Architectures

ARM

Raspberry Pi

IBM Z (IBM z Systems)

PowerPC

Services

Firewall and VPN

Telephony

Monitoring

Remote Administration

HTTP and web services

DNS

Content management systems

  • DokuWiki
  • Drupal (Content Management System (CMS) written in PHP)
  • Kopano (Microsoft Outlook compatible Groupware)
  • Mahara (E-portfolio and social networking system)
  • MediaWiki (Free web-based wiki software application)
  • Pastebin (Pastebin software application)
  • WordPress (Web software to create website or blog)

IRC

  • NgIRCd (Server for Internet Relay Chat/IRC)

Mail

Other Servers

Software development

Storage

Virtualization

Tutorials