Tutorials and Howtos: Difference between revisions

From Alpine Linux
(Post-Install: one section, link cleanup | Create Remote Administration)
No edit summary
 
(131 intermediate revisions by 34 users not shown)
Line 1: Line 1:
{{Todo|This material needs to be re-organized .. as '''Howtos are smaller articles''' and '''tutorials are more detailed document''' both need to be reordered as independent sections }}
[[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.
'''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.


'''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]].
{{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 [[Talk:Tutorials_and_Howtos|Discussion]].}}


== Desktop ==


{{Clear}}
* {{:Daily driver guide}}


== Howtos ==
=== Networking ===


{{Warning|Work in Progress: reorganizing as asked in oldid 16474}}
* [[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)''
* Use [https://github.com/ifupdown-ng/ifupdown-ng/blob/main/doc/interfaces-vxlan.scd vxlan], if using  [[Ifupdown-ng]] instead of [[VLAN]]
* [[Setting up a Home Router]]


== Tutorials ==
=== Backup and data migration ===


{{Warning|Work in Progress: reorganizing as asked in oldid 16474}}
* [[Migrating data]]
* [[Rsnapshot]] - setting up periodic backups


== Applications ==
=== Other topics ===


* [[Ansible]] ''(Configuration management)''
* [[Gaming on Alpine]]
* [[Remote Desktop Server]]
* [[Default applications|How to change default application]]
* [[CPU frequency scaling]]
* [[Mimalloc]]
* [[Enable Serial Console on Boot]]
* [[How to build the Alpine Linux kernel]]
* [[Nextcloud]] ''(Self hostable cloud suite - Dropbox Alternative)''
* [[Setting up lm_sensors]]
* [[Fingerprint Authentication with swaylock]]
* [[Desktop environments and Window managers|List of supported Desktop environments and Window managers]]


=== Servers: deploy in production ===
== Diskless ==


* [[Alpine production deploy]]
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your box needs reboot)''
** [[Production Web server: Lighttpd|Production web server: Lighttpd‎‎]]
** [[Back Up a Flash Memory Installation]]
** [[Production DataBases : mysql|Production database: MySql]]
** [[Manually editing a existing apkovl]]
** [[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


=== Telephony ===
== Other Architectures ==
* [[Setting up Zaptel/Asterisk on Alpine]]
** [[Setting up Streaming an Asterisk Channel]]
* [[Freepbx on Alpine Linux]]
* [[FreePBX_V3]] ''(FreeSWITCH, Asterisk GUI web acces tool)''
* [[2600hz]] ''(FreeSWITCH, Asterisk GUI web access tool)''
* [[Kamailio]] ''(SIP Server, formerly OpenSER)''


=== Mail ===
=== APU (PCEngines) ===
* [[Small-Time Email with Exim and Dovecot]] ''(A simple configuration for your home network.)
* [[Hosting services on Alpine]] ''(Hosting mail, webservices and other services)''
** [[Hosting Web/Email services on Alpine]]
* [[ISP Mail Server HowTo]] <!-- solution, Mail -->
** [[ISP Mail Server Upgrade 2.x]]
** [[ISP Mail Server 2.x HowTo]] ''(Beta, please test)''
** [[ISP Mail Server 3.x HowTo]]
* [[Roundcube]] ''(Webmail system)''
* [[Setting up postfix with virtual domains]]
* [[Protecting your email server with Alpine]]
* [[Setting up clamsmtp]]
* [[Setting up dovecot with imap and ssl]]
* [[relay email to gmail (msmtp, mailx, sendmail]]


=== HTTP ===
* [[Alpine Install: from a disc to PC Engines APU|Alpine on PC Engines APU]]
* [[Lighttpd]]
* [https://github.com/huubsch/Installation-of-Alpine-Linux-on-PC-Engines-APU3/tree/main?tab=readme-ov-file Installation of Alpine Linux on PCEngines APU, legacy BIOS]
** [[Lighttpd Https access]]
** [[Setting Up Lighttpd with PHP]]
** [[Setting Up Lighttpd With FastCGI]]
* [[Cherokee]]
* [[Nginx]]
** [[Nginx_with_PHP#Nginx_with_PHP|Nginx with PHP]]
** [[Nginx as reverse proxy with acme (letsencrypt)]]
* [[Apache]]
** [[Apache with php-fpm]]
** [[Setting Up Apache with PHP]]
** [[Apache authentication: NTLM Single Signon]]


* [[High Availability High Performance Web Cache]] ''(uCarp + HAProxy for High Availability Services such as Squid web proxy)'' <!-- solution, Server -->
=== ARM ===


* [[Setting up Transparent Squid Proxy]] ''(Covers Squid proxy and URL Filtering system)''
* [[Alpine on ARM]]
** [[SqStat]] ''(Script to look at active squid users connections)''
** [[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]]


* [[Drupal]] ''(Content Management System (CMS) written in PHP)''
==== Raspberry Pi ====
* [[WordPress]] ''(Web software to create website or blog)''
* [[MediaWiki]] ''(Free web-based wiki software application)''
* [[DokuWiki]]
* [[Darkhttpd]]
* [[Tomcat]]
* [[Kopano]] ''(Microsoft Outlook compatible Groupware)''


=== Other Servers ===
* [[Raspberry Pi|Raspberry Pi main page]]
* [[Setting up a ssh-server]] ''(Using ssh is a good way to administer your box remotely)''
* [[Raspberry Pi Bluetooth Speaker|Raspberry Pi - Bluetooth Speaker]]
** [[HOWTO OpenSSH 2FA with password and Google Authenticator]] ''(A simple two factor setup for OpenSSH)''
* [[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]]
* [[Raspberry_Pi_Zero_W_-_Installation|Raspberry Pi Zero W - Installation]]
* [[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]]


* [[Configure OpenLDAP]] ''(Installing and configuring the Alpine package for OpenLDAP)''
=== IBM Z (IBM z Systems) ===
* [[Setting up a nfs-server]]
* [[Setting up a samba-server]] ''(standard file sharing)''
* [[Setting up a samba-ad-dc]] ''(Active Directory compatible domain controller)''
* [[Phpizabi]] ''(Social Networking Platform)''
* [[Statusnet]] ''(Microblogging Platform)''
* [[Pastebin]] ''(Pastebin software application)''
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]


* [[Patchwork]] ''(Patch review management system)''
* [[s390x|s390x - Installation]]
* [[Redmine]] ''(Project management system)''
* [[Request-Tracker]] ''(Ticket system)''
* [[OsTicket]] ''(Ticket system)''
* [[Setting up trac wiki|Trac]] ''(Enhanced wiki and issue tracking system for software development projects)''


=== PowerPC ===


* [[Cgit]]
* [[Ppc64le|Powerpc64le - Installation]]
* [[Roundcube]] ''(Webmail system)''
* [[Glpi]] ''(Manage inventory of technical resources)''


* [[How to setup a Alpine Linux mirror]]
== Security ==
* [[Cups]]
* [[NgIRCd]] ''(Server for Internet Relay Chat/IRC)''
* [[How To Setup Your Own IRC Network]] ''(Using {{Pkg|charybdis}} and {{Pkg|atheme-iris}})''
* [[OpenVCP]] ''(VServer Control Panel)''
* [[Mahara]] ''(E-portfolio and social networking system)''
* [[Chrony and GPSD | Using chrony, gpsd, and a garmin LVC 18 as a Stratum 1 NTP source ]]
* [[Sending SMS using gnokii]]
* [[IPTV How To|Internet Protocol television (IPTV)]]
* [[UniFi_Controller]]
* [[DNSCrypt-Proxy]] ''Encrypt and authenticate DNS calls from your system''
* [[Odoo]]


=== Monitoring ===
* [[#Desktop security|Desktop security]] lists steps for securing Alpine Linux desktops
* Setting up [[collectd]]
* [[Setting up a laptop]] page has detailed guidelines to configure a secured laptop
* [[Traffic monitoring]] <!-- Networking and Monitoring -->
* [[Securing Alpine Linux|Secure Alpine Linux]] using Security Technical Implementation Guides (STIGs)
* [[Setting up traffic monitoring using rrdtool (and snmp)]] <!-- Monitoring -->
* [[Sshguard|SSHGuard]] - Protects hosts against brute-force attacks:  monitoring logs, attack detection, blocking using firewall.
* [[Setting up monitoring using rrdtool (and rrdcollect)]]
* [[Cacti: traffic analysis and monitoring network]] ''(Front-end for rrdtool networking monitor)''
* [[LTTng]] ''(Kernel and userspace tracing)''
* [[Zabbix|Zabbix - the professional complete manager]] ''(Monitor and track the status of network services and hardware)''
* [[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 Smokeping|Smokeping]] ''(Network latency monitoring)'' <!-- Networking and Monitoring -->
** [[Setting up MRTG and Smokeping to Monitor Bandwidth Usage and Network Latency]]
* [[Setting Up Fprobe And Ntop|Ntop]] ''(NetFlow collection and analysis using a remote fprobe instance)'' <!-- Networking and Monitoring -->
* [[Cvechecker]] ''(Compare installed packages for Common Vulnerabilities Exposure)'' <!-- Monitoring and Security -->


* [[IP Accounting]] <!-- Networking and Monitoring -->
== Services ==
* [[Obtaining user information via SNMP]] ''(Using squark-auth-snmp as a Squid authentication helper)'' <!-- Networking and Server, <== Using squark-auth-snmp -->
* [[SqStat]] ''(Script to look at active squid users connections)''


* [[Piwik]] ''(A real time web analytics software program)''
{{Note| Services are arranged in alphabetical order.}}
* [[Awstats]] ''(Free log file analyzer)''
* [[Intrusion Detection using Snort]]
** [[Intrusion Detection using Snort, Sguil, Barnyard and more]]
* [[Dglog]] ''(Log analyzer for the web content filter DansGuardian)''


* [[Webmin]] ''(A web-based interface for Linux system)''
=== Content management systems ===
* [[PhpPgAdmin]] ''(Web-based administration tool for PostgreSQL)''
* [[PhpMyAdmin]] ''(Web-based administration tool for MYSQL)''
* [[PhpSysInfo]] ''(A simple application that displays information about the host it's running on)''
* [[Linfo]]


* [[Setting up lm_sensors]]
* [[DokuWiki]] ''(Simple and easy to use wiki, no database required)''
* [[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)''
* [[Moodle]] ''(Online Learning Management system)''


* [[ZoneMinder video camera security and surveillance]]
=== Database ===


== Backup and data migration ==
* [[MariaDB]] or [[MySQL|MySQL]]
* [[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


== Complete Solutions ==
=== DNS ===
* [[DIY Fully working Alpine Linux for Allwinner and Other ARM SOCs]]
* [https://codeberg.org/AVG7/alpine-sway-x86_64 DIY Live-USB-Stick with Sway]
* [[Replacing non-Alpine Linux with Alpine remotely]]
* [[High performance SCST iSCSI Target on Linux software Raid]]
* [[Fault Tolerant Routing with Alpine Linux]]
* [[Experiences with OpenVPN-client on ALIX.2D3]]


* [[ISP Mail Server HowTo]] ''(Postfix+PostfixAdmin+DoveCot+Roundcube+ClamAV+Spamd - A full-serivce ISP mail server)''
* [[DNSCrypt-Proxy]] ''Encrypt and authenticate DNS calls from your system''
** [[ISP Mail Server Upgrade 2.x]]
* [[Setting up nsd DNS server]]
** [[ISP Mail Server 2.x HowTo]] ''(Beta, please test)''
* [[Small-Time DNS with BIND9]] ''(A simple configuration with ad blocking for your home network)''
* [[High Availability High Performance Web Cache]] ''(uCarp + HAProxy for High Availability Services such as Squid web proxy)''
* Unbound
* [[Setting up A Network Monitoring and Inventory System]] ''(Nagios + OpenAudit and related components)'' <!-- draft -->
** [[Setting up unbound DNS server]]
* [[Streaming Security Camera Video with VLC]]
** [[Using Unbound as an Ad-blocker]] ''(Setup ad blocking for your network)''
* [[Dynamic Multipoint VPN (DMVPN)]] combined with [[Small_Office_Services]]
* [[TinyDNS Format]]


== Desktop ==
=== File server ===


* [[Alpine and UEFI]]
* [[Setting up an NFS server|nfs-server]]
* [[Default applications]]
* [[Setting up a Samba server|samba-server]] ''(standard file sharing)''
* Desktop cloud
* [[Setting up a samba-ad-dc|samba-ad-dc]] ''(Active Directory compatible domain controller)''
** [[EyeOS]] ''(Cloud Computing Desktop)''
** [[Nextcloud]] ''(Self hostable cloud suite - Dropbox Alternative)''
** [[Oneye]] ''(Cloud Computing Desktop - Dropbox Alternative)''
** [[OwnCloud]] ''(Installing OwnCloud)''
** [[Seafile: setting up your own private cloud]]
* [[Desktop environments and Window managers]] (overall information only)
** Desktop Environments
*** [[Gnome]]
*** [[KDE]]
*** [[LXQt]]
*** [[MATE]]
*** [[Xfce]]
** [https://en.wikipedia.org/wiki/Stacking_window_manager Stacking (floating) window managers]
*** X11
**** [[Openbox]]
*** Wayland
**** [[LabWC]]
** [https://en.wikipedia.org/wiki/Tiling_window_manager Tiling (dynamic) window managers]
*** X11
**** [[AwesomeWM]]
**** [[dwm]]
*** Wayland
**** [[River]]
**** [[Sway]]
* [[Printer Setup]]
* [[Remote Desktop Server]]
* [[Sound Setup]]
** [[PipeWire]]
* [[Suspend on LID close]]
* [[Alpine setup scripts#setup-xorg-base|Xorg Setup]]


<!--
=== Firewall ===
This does not attempt to be complete. Is it useful to have these listed here? I find them more accessible if grouped with their topics; also, an up-to-date list of all Draft or Obsolete pages can be found at [[Project:Wiki maintenance]].


== Drafts ==
* [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide]
Currently unfinished/works-in-progress.
** [[Zero-To-Awall]] -''AWall for dummies''
* [[Using Racoon for Remote Sites]]
** [[How-To Alpine Wall]] - ''AWall for Shorewall users''
* [[Setting up Streaming an Asterisk Channel]]
** [[Alpine Wall]] - ''AWall - Firewall management framework - Design Document''
* [[Setting up A Network Monitoring and Inventory System]] ''(Nagios + OpenAudit and related components)''
* [[Iptables]]
* [[Intrusion Detection using Snort]] ''(Installing and configuring Snort and related applications on Alpine 2.0.x)''
* [[nftables]]
* [[IP Accounting]] ''(Installing and configuring pmacct for IP Accounting, Netflow/sFlow collector)''
* [[Uncomplicated Firewall|Uncomplicated Firewall or UFW]]


-->
=== HTTP and web services ===


== Networking ==
* [[Althttpd]]
* [[Apache]]
** [[Apache with php-fpm]]
** [[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‎‎|Production LAMP system: Lighttpd + PHP + MariaDB/MySQL‎‎]]


* [[Configure Networking]]
=== IRC ===
* [[Connecting to a wireless access point]]
* [[Bonding]]
* [[Vlan]]
* [[Bridge]]
* [[Bridge wlan0 to eth0]]
* [[OpenVSwitch]]
* [[How to configure static routes]]
* [[Configure a Wireguard interface (wg)]]


* [[Alpine Wall]] - [[How-To Alpine Wall]] - [[Alpine Wall User's Guide]] ''(a new firewall management framework)''
* [[NgIRCd]] ''(Server for Internet Relay Chat/IRC)''


* [[PXE boot]]
=== Mail ===


* [[Using serial modem]]
* [[Hosting services on Alpine]] ''(Hosting mail, webservices and other services)''
* [[Using HSDPA modem]]
* [[Hosting Web/Email services on Alpine]]
* [[Setting up Satellite Internet Connection]]
* Exim/Dovecot
* [[Using Alpine on Windows domain with IPSEC isolation]]
** [[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]]


* [[Setting up a SSH server]] ''(Using SSH is the preferred way to administer your box remotely)'' <!-- Server and Networking -->
=== Monitoring ===
** [[HOWTO OpenSSH 2FA with password and Google Authenticator]] ''(A simple two factor setup for OpenSSH)''
* [[How to setup a wireless access point]] ''(Setting up Secure Wireless AP w/ WPA encryption with bridge to wired network)''
* [[How to set up Alpine as a wireless router]] ''(Setting up a firewalled, Wireless AP with wired network on a Pi Zero W)''
* [[Setting up a OpenVPN server with Alpine]] ''(Allowing single users or devices to remotely connect to your network)''
<!-- [[Using Racoon for Remote Sites]] is a different VPN tunnelling method, but that article is just a stub -->
* [[Experiences with OpenVPN-client on ALIX.2D3]]  <!-- solution -->


* [[Generating SSL certs with ACF]] <!-- Generating SSL certs with ACF 1.9 -->
* [[Awstats]] ''(Free log file analyzer)''
* [[Setting up unbound DNS server]]
* [[Cacti: traffic analysis and monitoring network]] ''(Front-end for rrdtool networking monitor)''
* [[Setting up nsd DNS server]]
* [[Cvechecker]] ''(Compare installed packages for Common Vulnerabilities Exposure)'' <!-- Monitoring and Security -->
* [[TinyDNS Format]]
* [[Linfo]]
* [[Fault Tolerant Routing with Alpine Linux]] <!-- solution -->
* [[Obtaining user information via SNMP]] ''(Using squark-auth-snmp as a Squid authentication helper)'' <!-- Networking and Server, <== Using squark-auth-snmp -->
* [[Freeradius Active Directory Integration]]
* [[PhpSysInfo]] ''(A simple application that displays information about the host it's running on)''
* [[Multi_ISP]] ''(Dual-ISP setup with load-balancing and automatic failover)''
* [[Logcheck]] ''(log file monitoring tool)''
* [[GNUnet]]
* [[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]]


== Misc ==
=== Remote Administration ===
* [[Create a bootable SDHC from a Mac]]
* [[:Category:Shell]]
* [[:Category:Programming]]
* [[Running glibc programs]]
* [[:Category:Drivers]]
* [[:Category:Multimedia]]
* [[Kernel Modesetting]]
* [[CPU frequency scaling]]


== Newbie corner ==
* 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)''


* [[Alpine newbie]] (overall information)
=== Telephony ===
* [[Alpine newbie developer]] (Developers: compilers, IDEs and tools)
** [[Alpine newbie developer: full stack web]]
** [[Alpine newbie developer: gitea|Alpine newbie developer: Git management web frontend gitea]]
* [[How to get regular stuff working]] ''some notes on need-to-know topics''


== Other Architectures ==
* [[FreePBX|FreePBX on Alpine Linux]]
* [[Setting up Zaptel/Asterisk on Alpine]]
* [[Kamailio]] ''(SIP Server, formerly OpenSER)''


=== ARM ===
=== VPN ===
* [[Freeradius Active Directory Integration]]
* [[GNUnet]]
* [[IGMPproxy]]
* [[Setting up a OpenVPN server|OpenVPN server]] ''(Allowing single users or devices to remotely connect to your network)''
* [[OpenVSwitch]]
* [[Tor]]
* [[Using Alpine on Windows domain with IPSEC isolation]]
* [[Configure a Wireguard interface (wg)|Wireguard]]
* [[Vpnc]]


* [[Alpine on ARM]]
=== Other Servers ===


==== Raspberry Pi ====
* [[apcupsd]] ''(UPS Monitoring with apcupsd)''
* [[Raspberry Pi Bluetooth Speaker|Raspberry Pi - Bluetooth Speaker]]
* [[Chrony and GPSD | Chrony, gpsd, and a garmin LVC 18 as a Stratum 1 NTP source ]]
* [[Raspberry Pi|Raspberry Pi - Installation]]
* [[Glpi]] ''(Manage inventory of technical resources)''
* [[Linux Router with VPN on a Raspberry Pi|Raspberry Pi - Router with VPN]]
* [[How to setup a Alpine Linux mirror]]
* [[Linux Router with VPN on a Raspberry Pi (IPv6)|Raspberry Pi - Router with VPN (IPv6)]]
* [[nut-ups|NUT UPS]] ''(UPS Monitoring with Network UPS Tools)''
* [[Classic install or sys mode on Raspberry Pi|Raspberry Pi - Sys mode install]]
* [[Odoo]]
* [[RPI Video Receiver|Raspberry Pi - Video Receiver]] ''(network video decoder using Rasperry Pi and omxplayer)''
* [[Configure OpenLDAP | OpenLDAP]] ''(Installing and configuring the Alpine package for OpenLDAP)''
* [[Raspberry Pi 3 - Browser Client]] - kiosk or digital sign
* [[Setting up a LLDAP server|lldap-server]] ''(Directory Server)''
* [[Raspberry Pi 3 - Configuring it as wireless access point -AP Mode]]
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
* [[Raspberry Pi 3 - Setting Up Bluetooth]]
* [[Raspberry Pi 4 - Persistent system acting as a NAS and Time Machine]]


=== IBM Z (IBM z Systems) ===


* [[s390x|s390x - Installation]]
== Software development ==


=== PowerPC ===
* [[Cgit]]
 
* [[OsTicket]] ''(Ticket system)''
* [[Ppc64le|Powerpc64le - Installation]]
* [[Patchwork]] ''(Patch review management system)''
 
* [[Redmine]] ''(Project management system) [Deprecated]''
== Post-Install ==
* [[Request Tracker]] ''(Ticket system)''
* [[Repositories#Enabling_the_community_repository|Enable Community repository]] ''(Providing additional packages)''
* [[Setting up trac wiki|Trac]] ''(Enhanced wiki and issue tracking system for software development projects)''
* [[Enable Serial Console on Boot]]
* [[Ansible]] ''(Configuration management)''
* [[Alpine Linux Init System|Init System (OpenRC)]] ''(Configure a service to automatically boot at next reboot)''
** [[Multiple Instances of Services|Init System - Multiple Instances of Services]]
** [[Writing Init Scripts|Init System - Writing Init Scripts]]
* [[Installing Oracle Java|Oracle Java (installation)]]
* [[Installing Oracle Java|Oracle Java (installation)]]
* [[Alpine Linux package management|Package Management (apk)]] ''(How to add/remove packages on your Alpine)''
** [[Comparison with other distros|Package Management - Comparison with other distros]]
* [[Setting up a new user]]
* [[Upgrading Alpine]]
== Remote Administration ==
* ACF
** [[Changing passwords for ACF|ACF - changing passwords]]
** [[setup-acf| ACF - setup]] ''(Configures ACF (webconfiguration/webmin) so you can manage your box through https)''
* [[Setting up a ssh-server|ssh-server setup]] ''(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)''


== Storage ==
== Storage ==


* [[Setting up disks manually|Disk setup (manual)]]
* [[Setting up disks manually|Manual partitioning]]
* [[Disk Replication with DRBD|DRBD: Disk Replication]]
* [[Disk Replication with DRBD|DRBD: Disk Replication]]
* [[Filesystems]]
* [[Filesystems]]
Line 345: Line 276:
** [[iSCSI Raid and Clustered File Systems]]
** [[iSCSI Raid and Clustered File Systems]]
** [[Linux iSCSI Target (TCM)|iSCSI Target (TCM)/LinuxIO (LIO)]]
** [[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 Logical Volumes with LVM|LVM Setup]]
** [[Setting up LVM on GPT-labeled disks|LVM on GPT-labeled disks]]
** [[Setting up LVM on GPT-labeled disks|LVM on GPT-labeled disks]]
Line 352: Line 284:
** [[Raid Administration]]
** [[Raid Administration]]
** [[Setting up a software RAID array]]
** [[Setting up a software RAID array]]
* ZFS
* [[ZFS]]
** [[Root on ZFS with native encryption]]
** [[Root on ZFS with native encryption]]
** [[Setting up ZFS on LUKS]]
** [[Setting up ZFS on LUKS]]
* [[CEPH|CEPH]]


== Virtualization==
== Virtualization ==


* [[Xen Dom0]] ''(Setting up Alpine as a dom0 for Xen hypervisor)''
* [[Docker]]
* [[Xen Dom0 on USB or SD]]
* [[Installing Alpine in a virtual machine]]
* [[Create Alpine Linux PV DomU]]
** [[Install Alpine on VMware ESXi]]
* [[Xen PCI Passthrough]]
* [[Xen LiveCD]]
* [[QEMU]]
* [[KVM]] ''(Setting up Alpine as a KVM hypervisor)''
* [[KVM]] ''(Setting up Alpine as a KVM hypervisor)''
* [[LXC]] ''(Setting up a Linux container in Alpine Linux)''
* [[LXC]] ''(Setting up a Linux container in Alpine Linux)''
* [[Docker]]
* [[QEMU]]
* [[Install Alpine on VirtualBox]]
* Xen
* [[Install Alpine on VMWare]]
** [[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
* [[Runc]]
 
== [[Simple_Walkthrough]] ==
* [[About-virtualization-simple]]
* [[LXC_Alpinelinux_Simple]]
* [[Qemu-simple]]
 
== 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]]
* [[Setting up A Network Monitoring and Inventory System]] ''(Nagios + OpenAudit and related components)'' <!-- draft -->
* [[Streaming Security Camera Video with VLC]]
* [[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]]
* [https://ww2.coastal.edu/mmurphy2/oer/alpine/ Alpine Linux tutorials - Dr Murphy, Computing Science Associate Professor]
* [[Michael's base installation procedure|Michael's base installation procedure]]
* [[Michael's cwm  desktop (minimal)|Michael's cwm desktop (minimal)]]
* [[Michael's sway desktop (minimal)|Michael's Sway desktop (minimal)]]
* [[Sway_customization_guide|Sway customization guide]] ''(Tutorial re Sway config file basics)''
* [[Using Distrobox For VR Gaming|Using Distrobox For VR Gaming]]

Latest revision as of 14:26, 13 January 2026

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.

Tip: Help improve Alpine Linux wiki!
  • If the instructions on a section/page are correct, add/update the Verified template.
  • If something isn't correct, or is incomplete, add the Accuracy template to the relevant section/page.

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.

Networking

Backup and data migration

Other topics

Diskless

Other Architectures

APU (PCEngines)

ARM

Raspberry Pi

IBM Z (IBM z Systems)

PowerPC

Security

  • Desktop security lists steps for securing Alpine Linux desktops
  • Setting up a laptop page has detailed guidelines to configure a secured laptop
  • Secure Alpine Linux using Security Technical Implementation Guides (STIGs)
  • SSHGuard - Protects hosts against brute-force attacks: monitoring logs, attack detection, blocking using firewall.

Services

Note: Services are arranged in alphabetical order.

Content management systems

  • DokuWiki (Simple and easy to use wiki, no database required)
  • 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)
  • Moodle (Online Learning Management system)

Database

DNS

File server

Firewall

HTTP and web services

IRC

  • NgIRCd (Server for Internet Relay Chat/IRC)

Mail

Monitoring

Remote Administration

Telephony

VPN

Other Servers


Software development

Storage

Virtualization

Simple_Walkthrough

Tutorials