Tutorials and Howtos: Difference between revisions

From Alpine Linux
m (formatting of intro)
(renamed link)
 
(327 intermediate revisions by 97 users not shown)
Line 1: Line 1:
[[Image:package_edutainment.svg|left|link=]]
[[Image:package_edutainment.svg|right|link=]]
{{TOC right}}'''Welcome to Tutorials and Howtos, a place of basic and advanced configuration tasks for your Alpine Linux.'''
{{TOC left}}


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.
'''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.
'''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.


We encourage people to send in both complete articles as well as requesting topics to be covered. If you think you have the skills and knowledge to write an Alpine Linux related article please do so on this Wiki. If you want to request a topic, please add your request in this page's [[Talk:Tutorials_and_Howtos|Discussion]].
'''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.


=System=
{{Note|
==Initial setup==
* Contributors are requested to refer to [[Help:Editing]] first and make use of resources like [[How to write a HOWTO]].
* [[Setting up a basic vserver]]
* Contributions must be complete articles.
* [[Alpine Linux package management#Local_Cache | How to enable APK caching]]
* 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 [[Talk:Tutorials_and_Howtos|Discussion]].}}
 
== Desktop ==
 
* {{:Daily driver guide}}
=== Power management ===
 
* [[Configure action when power-button is pressed]]
* [[Suspend on LID close]]
* [[Configure Wake-on-LAN]]
 
=== Networking ===
 
* [[Bluetooth]] - Instructions for installing and configuring Bluetooth
* [[Bonding]] - Bond (or aggregate) multiple ethernet interfaces
* [[Bridge]] - Configuring a network bridge
** [[Bridge wlan0 to eth0]]
* [[Configure Networking]]
* [[How to configure static routes]]
* Modem
** [[Using HSDPA modem]]
** [[Using serial modem]]
* [[mDNS]] - Howto implement multicast DNS resolution in Alpine.
* [[Multi ISP]] ''(Dual-ISP setup with load-balancing and automatic failover)''
* [[PXE boot]]
* Wi-Fi
** [[Wi-Fi|Connecting to a wireless access point]]
** [[How to setup a wireless access point]] ''(Setting up Secure Wireless AP w/ WPA encryption with bridge to wired network)''
* [[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]]
* [[Mimalloc]]
* [[Enable Serial Console on Boot]]
* [[Enable Serial Console on Boot]]
* [[Upgrading to Edge]]
* [[How to build the Alpine Linux kernel]]
==Storage==
* [[Nextcloud]] ''(Self hostable cloud suite - Dropbox Alternative)''
* [[Setting up Logical Volumes with LVM]]
* [[Setting up lm_sensors]]
* [[Setting up a software raid1 array]]
* [[Desktop environments and Window managers|List of supported Desktop environments and Window managers]]
* [[iSCSI Target and Initiator Configuration]]
 
* [[iSCSI Raid and Clustered File Systems]]
== Diskless ==
* [[High performance SCST iSCSI Target on Linux software Raid]]
 
==Networking==
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your box needs reboot)''
* [[Configure Networking]]
** [[Back Up a Flash Memory Installation]]
* [[Howto Configure a Network Bridge]]
** [[Manually editing a existing apkovl]]
* [[Howto Configure static routes]]
 
* [[Using serial modem]]
== Other Architectures ==
* [[Using HSDPA modem]]
 
* [[Setting up Satellite Internet Connection]]
=== ARM ===
* [[Connecting to a wireless accesspoint]]
 
* [[Alpine on ARM]]
 
==== Raspberry Pi ====
 
* [[Raspberry Pi|Raspberry Pi main page]]
* [[Raspberry Pi Bluetooth Speaker|Raspberry Pi - Bluetooth Speaker]]
* [[Linux Router with VPN on a Raspberry Pi|Raspberry Pi - Router with VPN]]
* [[Linux Router with VPN on a Raspberry Pi (IPv6)|Raspberry Pi - Router with VPN (IPv6)]]
* [[Classic install or sys mode on Raspberry Pi|Raspberry Pi - Sys mode install]]
* [[Raspberry Pi LVM on LUKS|Raspberry Pi - Sys mode install - LVM on LUKS]]
* [[RPI Video Receiver|Raspberry Pi - Video Receiver]] ''(network video decoder using Rasperry Pi and omxplayer)''
* [[Raspberry Pi 3 - Browser Client]] - kiosk or digital sign
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]
* [[Raspberry Pi 3 - Setting Up Bluetooth]]
* [[Raspberry Pi 4 - Persistent system acting as a NAS and Time Machine]]
* [[How to set up Alpine as a wireless router|Raspberry Pi Zero W - Wireless router]] ''(Setting up a firewalled, Wireless AP with wired network on a Pi Zero W)''
* [[RPI Video Receiver]]
 
=== IBM Z (IBM z Systems) ===
 
* [[s390x|s390x - Installation]]
 
=== PowerPC ===
 
* [[Ppc64le|Powerpc64le - Installation]]
 
== Services ==
 
{{Note| Services are arranged in alphabetical order.}}
 
=== 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)''
 
=== Database ===
 
* [[MySQL|MySQL]]
 
=== DNS ===
 
* [[DNSCrypt-Proxy]] ''Encrypt and authenticate DNS calls from your system''
* [[Setting up nsd DNS server]]
* [[Setting up unbound DNS server]]
* [[Small-Time DNS with BIND9]] ''(A simple configuration with ad blocking for your home network)''
* [[TinyDNS Format]]
 
=== File server ===
 
* [[Setting up an NFS server|nfs-server]]
* [[Setting up a Samba server|samba-server]] ''(standard file sharing)''
* [[Setting up a samba-ad-dc|samba-ad-dc]] ''(Active Directory compatible domain controller)''
 
=== Firewall and VPN ===
 
* Alpine Wall ''(a new firewall management framework)''
** [[Alpine Wall]]
** [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide]
** [[How-To Alpine Wall]]
* [[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]]
* [[Using Alpine on Windows domain with IPSEC isolation]]
==Desktop Environment==
* [[Configure a Wireguard interface (wg)|Wireguard]]
* [[XFCE Setup]]
* [[IGMPproxy]]
* [[Gnome Setup]]
 
==Misc==
=== HTTP and web services ===
* [[Manually editing a existing apkovl]]
 
* [[Changing passwords for ACF]]
* [[Apache]]
* [[Formatting HD/Floppy/Other]]
** [[Apache with php-fpm]]
* [[Back Up a Flash Memory Installation]]
** [[Setting Up Apache with PHP]]
** [[Apache authentication: NTLM Single Signon]]
* [[Darkhttpd]]
* [[Lighttpd]]
** [[Lighttpd Advanced security]]
** [[Setting Up Lighttpd With FastCGI]]
** [[Production Web server: Lighttpd|Production web server: Lighttpd‎‎]]
* [[Nginx]]
** [[Nginx as reverse proxy with acme (letsencrypt)]]
** [[Nginx with PHP]]
* Squid Proxy
** [[Obtaining user information via SNMP]] ''(Using squark-auth-snmp as a Squid authentication helper)'' <!-- Networking and Server, <== Using squark-auth-snmp -->
** [[Setting up Explicit Squid Proxy]]
** [[Setting up Transparent Squid Proxy]] ''(Covers Squid proxy and URL Filtering system)''
** [[SqStat]] ''(Script to look at active squid users connections)''
* [[Tomcat]]
** [[Production LAMP system: Lighttpd + PHP + MySQL‎‎]]


=Applications=
=== IRC ===
==Networking==
 
* [[Setting up a OpenVPN-server with Alpine]]
* [[NgIRCd]] ''(Server for Internet Relay Chat/IRC)''
* [[Setting up a ssh-server]]
 
* [[Generating SSL certs with ACF]]
=== Mail ===
* [[Setting up traffic monitoring using rrdtool (and snmp)]]
 
* [[Setting up unbound DNS server]]
* [[Hosting services on Alpine]] ''(Hosting mail, webservices and other services)''
* [[Setting up nsd DNS server]]
* [[Hosting Web/Email services on Alpine]]
* [[Setting up a git repository server with gitolite and cgit]]
* Exim/Dovecot
** [[Small-Time Email with Exim and Dovecot]] ''(A simple configuration for your home network.)
** [[Setting up dovecot with imap and tls]]
* [[relay email to gmail (msmtp, mailx, sendmail]]
* [[relay email (nullmailer)]]
* [[Roundcube]] ''(Webmail system)''
* [[Setting up postfix with virtual domains]]
* Server protection
** [[Setting up clamsmtp]]
 
=== 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)''
* [[Logcheck]] ''(log file monitoring tool)''
* [[Matomo]] ''(A real time web analytics software program)''
* [[Rasdaemon]] ''(Platform Reliability, Availability and Serviceability monitoring tool)''
* [[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 -->
* [[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
** [[Changing passwords for ACF|ACF - changing passwords]]
** [[Generating SSL certs with ACF]] <!-- Generating SSL certs with ACF 1.9 -->
** [[setup-acf| ACF - setup]] ''(Configures ACF (webconfiguration/webmin) so you can manage your box through https)''
* [[Setting up a SSH server]] ''(Using ssh is a good way to administer your box remotely)''
** [[HOWTO OpenSSH 2FA with password and Google Authenticator |OpenSSH 2FA]] ''(A simple two factor setup for OpenSSH)''
* [[OpenVCP]] ''(VServer Control Panel)''
* [[PhpMyAdmin]] ''(Web-based administration tool for MYSQL)''
* [[PhpPgAdmin]] ''(Web-based administration tool for PostgreSQL)''
* [[Webmin]] ''(A web-based interface for Linux system)''
 
=== Telephony ===


==VoIP==
* [[FreePBX|FreePBX on Alpine Linux]]
* [[Setting up Zaptel/Asterisk on Alpine]]
* [[Setting up Zaptel/Asterisk on Alpine]]
* [[Freepbx on Alpine Linux]]
* [[Kamailio]] ''(SIP Server, formerly OpenSER)''
==Web==
 
* [[Cherokee]]
=== Other Servers ===
* [[Setting Up Lighttpd With FastCGI]]
* [[Apache authentication: NTLM Single Signon]]
===Webapps===
* [[2600hz]] ''FreeSWITCH, Asterisk GUI web acces tool.''
* [[Awstats]] ''Free log file analyzer.''
* [[Setting up Cacti|Cacti]]
* [[Drupal]] ''Content Management System (CMS) written in PHP.''
* [[EyeOS]] ''Cloud Computing Desktop.''
* [[FreePBX_V3]] ''FreeSWITCH, Asterisk GUI web acces tool.''
* [[Glpi]] ''Information Resource-Manager.''
* [[MediaWiki]] ''Free web-based wiki software application''
* [[Setting Up Fprobe And Ntop|Ntop]] ''NetFlow collection and analysis using a remote fprobe instance''
* [[Pastebin]] ''Pastebin software application''
* [[Phpizabi]] ''Social Networking Platform.''
* [[PhpPgAdmin]] ''Web-based administration tool for PostgreSQL.''
* [[Phpmyadmin]] ''Web-based administration tool for MYSQL.''
* [[Piwik]] ''A real time web analytics software program.''
* [[Phpsysinfo]] ''A simple application that displays information about the host it's running on''
* [[Redmine]] ''Project management system ''
* [[Request-Tracker]] ''Ticket system''
* [[Roundcube]] ''Webmail system''
* [[Setting up Smokeping|Smokeping]] ''Network latency monitoring''
* [[Statusnet]] ''Microblogging Platform.''
* [[Sqstat]] ''Script to look active squid users connections.''
* [[Setting up trac wiki|Trac]] ''Enhanced wiki and issue tracking system for software development projects.''
* [[Webmin]] ''A web-based interface for Linux system.''
* [[WordPress]] ''Web software to create website or blog. ''
* [[Setting up Zabbix|Zabbix]]


==Mail==
* [[apcupsd]] ''(UPS Monitoring with apcupsd)''
* [[Hosting services on Alpine]] ''(This applies to hosting mail, webservices and other services)''
* [[Chrony and GPSD | Chrony, gpsd, and a garmin LVC 18 as a Stratum 1 NTP source ]]
** [[Setting up postfix with virtual domains]]
* [[Glpi]] ''(Manage inventory of technical resources)''
** [[Protecting your email server with Alpine]]
* [[How to setup a Alpine Linux mirror]]
** [[Hosting Web/Email services on Alpine]]
* [[nut-ups|NUT UPS]] ''(UPS Monitoring with Network UPS Tools)''
==Misc==
* [[Odoo]]
* [[Multiple Instances of Services]]
* [[Configure OpenLDAP | OpenLDAP]] ''(Installing and configuring the Alpine package for OpenLDAP)''
* [[Setting up a LLDAP server|lldap-server]] ''(Directory Server)''
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
* [[Freeradius Active Directory Integration]]
 
* [[Traffic monitoring]] ''(For Alpine Linux firewalls)''
 
* [[Setting up NRPE daemon]] ''(Performs remote Nagios checks)''
== Software development ==
* [[Setting up lm_sensors]]
 
* [[Screen on console]]
* [[Cgit]]
* [[Using espeak on Alpine Linux]]
* [[OsTicket]] ''(Ticket system)''
* [[IPTV How To]]
* [[Patchwork]] ''(Patch review management system)''
* [[Pllua]]
* [[Redmine]] ''(Project management system)''
* [[Error message on boot: Address space collision: host bridge window conflicts with Adaptor ROM]]
* [[Request Tracker]] ''(Ticket system)''
=Complete Solutions=
* [[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 ==
 
* [[Setting up disks manually|Manual partitioning]]
* [[Disk Replication with DRBD|DRBD: Disk Replication]]
* [[Filesystems]]
** [[Burning ISOs]]
* [[Setting up iSCSI|iSCSI Setup]]
** [[iSCSI Raid and Clustered File Systems]]
** [[Linux iSCSI Target (TCM)|iSCSI Target (TCM)/LinuxIO (LIO)]]
** [[Linux iSCSI Target (tgt)|User space iSCSI Target (tgt)]]
* [[Setting up Logical Volumes with LVM|LVM Setup]]
** [[Setting up LVM on GPT-labeled disks|LVM on GPT-labeled disks]]
** [[Installing on GPT LVM|LVM on GPT-labeled disks (updated)]]
** [[LVM on LUKS]]
* RAID
** [[Raid Administration]]
** [[Setting up a software RAID array]]
* ZFS
** [[Root on ZFS with native encryption]]
** [[Setting up ZFS on LUKS]]
** [[Setting up ZFS with native encryption]]
** [[ZFS scrub and trim]]
* [[CEPH|CEPH]]
 
== Virtualization ==
 
* [[Docker]]
* [[Installing Alpine in a virtual machine]]
** [[Install Alpine on VMware ESXi]]
* [[KVM]] ''(Setting up Alpine as a KVM hypervisor)''
* [[LXC]] ''(Setting up a Linux container in Alpine Linux)''
* [[QEMU]]
* Xen
** [[Xen Dom0]] ''(Setting up Alpine as a dom0 for Xen hypervisor)''
** [[Xen Dom0 on USB or SD]]
** [[Create Alpine Linux PV DomU|Xen DomU (paravirtualized)]]
** [[Xen LiveCD]]
** [[Xen PCI Passthrough]]
** [[K8s]] Building a K8s Kubernetes Cluster on Alpine Linux
 
== Tutorials ==
 
* [[TTY_Autologin|TTY Autologin]]
* [[Kexec|Faster rebooting with kexec]]
* [[Dynamic Multipoint VPN (DMVPN)]] combined with [[Small Office Services]]
* [[DIY Fully working Alpine Linux for Allwinner and Other ARM SOCs]]
* [[Fault Tolerant Routing with Alpine Linux]]
* [[High Availability High Performance Web Cache]] ''(uCarp + HAProxy for High Availability Services such as Squid web proxy)''
* [[Linux iSCSI Target (TCM)]]
* [[ISP Mail Server 3.x HowTo]] ''(Postfix+PostfixAdmin+DoveCot+Roundcube+ClamAV+Spamd - A full-service ISP mail server)''
* [[Grommunio Mail Server]] ''(Mariadb+Postfix+Rspamd+Grommunio - Full-service mail server as MS exchange replacement)''
* [[Replacing non-Alpine Linux with Alpine remotely]]
* [[Replacing non-Alpine Linux with Alpine remotely]]
* [[Fault Tolerant Routing with Alpine Linux]]
* [[Setting up A Network Monitoring and Inventory System]] ''(Nagios + OpenAudit and related components)'' <!-- draft -->
* [[ISP Mail Server HowTo]] ''(Postfix+PostfixAdmin+DoveCot+Roundcube+ClamAV+Spamd - A full-serivce ISP mail server)''
* [[Streaming Security Camera Video with VLC]]
** [[ISP Mail Server Upgrade 2.x]]
* [[Install Alpine on a btrfs filesystem with refind as boot manager]]
** [[ISP Mail Server 2.x HowTo]] ''(Beta, please test)''
* [[Compile software from source|How to Compile a software from source in Alpine Linux]]
* [[High Availability High Performance Web Cache]] ''uCarp + HAProxy for High Availability Services such as Squid web proxy''
= Drafts =
Currently unfinished docs.
* [[Install Alpine on coLinux]]
* [[Using Racoon for Remote Sites]]
* [[Setting up Transparent Squid Proxy]] ''(Covers Squid proxy and URL Filtering system)''
** [[Obtaining user information via SNMP]] ''(Using the Squark Squid authentication helper)''
* [[Setting up Streaming an Asterisk Channel]]
* [[Setting up A Network Monitoring and Inventory System]] ''((Nagios + OpenAudit and related components)''
* [[Intrusion Detection using Snort]] ''Installing and configuring Snort and related applications on Alpine 2.0.x''
* [[IP Accounting]] ''Installing and configuring pmacct for IP Accounting, Netflow/sFlow collector''
* [[Howto Setup a Wireless Access Point]] ''Setting up Secure Wireless AP w/ WPA encryption with bridge to wired network''
* [[Xen Dom0]] ''Setting up Alpine as a dom0 for Xen hypervisor''
* [[Disk Replication with DRBD]]
 
= Obsolete Docs =
Those are candidates for rewriting/removal.
* [[Bootstrapping Alpine on Soekris net4xxx]]
* [[Bootstrapping Alpine on PC Engines ALIX.3]]
* [[Installing XUbuntu using Alpine boot floppy]]

Latest revision as of 13:03, 14 February 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 it as a daily driver.

This guide assumes you have already installed a minimal Alpine Linux system in system disk mode with working internet.

Note: Before installing any desktop,

Once the above mandatory steps are completed, install any desktop of your choice either manually or using setup-desktop script.

Basics

Advanced

Power management

Networking

Security

Backup and data migration

Other topics

Diskless

Other Architectures

ARM

Raspberry Pi

IBM Z (IBM z Systems)

PowerPC

Services

Note: Services are arranged in alphabetical order.

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)

Database

DNS

File server

Firewall and VPN

HTTP and web services

IRC

  • NgIRCd (Server for Internet Relay Chat/IRC)

Mail

Monitoring

Remote Administration

Telephony

Other Servers


Software development

Storage

Virtualization

Tutorials