Tutorials and Howtos: Difference between revisions

From Alpine Linux
(→‎Obsolete Docs: remove links to 2 obsolete docs)
(→‎Desktop: link to wayland compositors)
 
(312 intermediate revisions by 89 users not shown)
Line 1: Line 1:
[[Image:package_edutainment.svg|left|link=]]
{{Todo|This material has been re-organized..., but grouping should be checked: '''Howtos are smaller articles''' and '''tutorials are more detailed document'''}}
{{TOC right}}'''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 examples. The output in one step is the starting point for the following step.<br/>
Howtos are smaller articles explaining how to perform a particular task with Alpine Linux. 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 [[Talk:Tutorials_and_Howtos|Discussion]].


== Installation ==
[[Image:package_edutainment.svg|right|link=]]
{{TOC left}}
'''Welcome to Tutorials and Howtos, a place of basic and advanced configuration tasks for your Alpine Linux.'''


* [[Setting up a basic vserver]]
'''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.
* [[Setting up Logical Volumes with LVM]]
 
* [[Replacing non-Alpine Linux with Alpine remotely]]
'''Howtos are smaller articles''' explaining how to perform a particular task with Alpine Linux, that expects a minimal knowledge from reader to perform actions.
* [[XFCE Setup]]
 
* [[Gnome Setup]]
'''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]].
* [[Enable Serial Console on Boot]]
 
* [[Alpine Linux package management#Local_Cache | How to enable APK caching]]
 
* [[Installing Alpine on a virtual machine| Installation of Alpine Linux in a virtual machine]]
{{Clear}}
* [[Setting up Alpine in a chroot]]
 
* [[Upgrading to Edge]]
= Howtos =
* [[Setting up a software raid1 array]]
 
* [[Manually editing a existing apkovl]]
== 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 ===
 
* 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]]
* [[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 ==
 
* [[Alpine and UEFI]]
* [[Default applications]]
* Desktop cloud
** [[Nextcloud]] ''(Self hostable cloud suite - Dropbox Alternative)''
* [[Desktop environments and Window managers]] (overall information only)
* [[Printer Setup]]
* [[Remote Desktop Server]]
* Sound Systems
** [[ALSA]]
** [[PipeWire]]
** [[PulseAudio]]
* [[Configure action when power-button is pressed]]
* [[Suspend on LID close]]
* [[Alpine setup scripts#setup-xorg-base|Xorg Setup]]
* Wayland compositors:
** [[Sway]]
** [[River]]
** [[LabWC]]


== Networking ==
== 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]]
* [[Configure Networking]]
* [[Howto Configure a Network Bridge]]
* [[How to configure static routes]]
* [[Howto Configure static routes]]
* Modem
* [[Using serial modem]]
** [[Using HSDPA modem]]
* [[Using HSDPA modem]]
** [[Using serial modem]]
* [[Using Alpine on Windows domain with IPSEC isolation]]
* [[mDNS]] - Howto implement multicast DNS resolution in Alpine.
* [[Setting up Satellite Internet Connection]]
* [[Multi ISP]] ''(Dual-ISP setup with load-balancing and automatic failover)''
* [[Connecting to a wireless accesspoint]]
* [[PXE boot]]
* [[Fault Tolerant Routing with Alpine Linux]]
* 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]]
 
== Other Architectures ==
 
=== ARM ===
 
* [[Alpine on ARM]]
 
==== Raspberry Pi ====
 
* [[Raspberry Pi Bluetooth Speaker|Raspberry Pi - Bluetooth Speaker]]
* [[Raspberry Pi|Raspberry Pi - Installation]]
* [[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]]
* [[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)''
 
=== IBM Z (IBM z Systems) ===
 
* [[s390x|s390x - Installation]]
 
=== PowerPC ===
 
* [[Ppc64le|Powerpc64le - Installation]]
 
== Post-Install ==
 
* [[CPU frequency scaling]]
* [[Repositories#Enabling_the_community_repository|Enable Community repository]] ''(Providing additional packages)''
* [[Enable Serial Console on Boot]]
* [[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)]]
* [[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]]
 
== 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)''
 
== Server ==
 
* [[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 with php-fpm]]
** [[Setting Up Apache with PHP]]
** [[Apache authentication: NTLM Single Signon]]
* [[Darkhttpd]]
* [[Lighttpd]]
** [[Lighttpd Advanced security]]
** [[Setting Up Lighttpd With FastCGI]]
* [[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]]
 
==== Hostable Content ====
 
* [[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 ===
 
* 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]]
* [[Roundcube]] ''(Webmail system)''
* [[Setting up postfix with virtual domains]]
* Server protection
** [[Setting up clamsmtp]]


== iSCSI ==
=== Other Servers ===
* [[iSCSI Target and Initiator Configuration]]
* [[iSCSI Raid and Clustered File Systems]]
* [[High performance SCST iSCSI Target on Linux software Raid]]


== Network Services ==
* [[Chrony and GPSD | Chrony, gpsd, and a garmin LVC 18 as a Stratum 1 NTP source ]]
* [[Setting Up Lighttpd With FastCGI]]
* [[Glpi]] ''(Manage inventory of technical resources)''
* [[Setting up a OpenVPN-server with Alpine]]
* [[How to setup a Alpine Linux mirror]]
* [[Setting up Zaptel/Asterisk on Alpine]]
* [[Setting up an NFS server|nfs-server]]
* [[Odoo]]
* [[Configure OpenLDAP | OpenLDAP]] ''(Installing and configuring the Alpine package for OpenLDAP)''
* [[Setting up a samba-ad-dc|samba-ad-dc]] ''(Active Directory compatible domain controller)''
* [[Setting up a Samba server|samba-server]] ''(standard file sharing)''
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
* [[Setting up Transmission (bittorrent) with Clutch WebUI]]
* [[Hosting services on Alpine]] ''(This applies to hosting mail, webservices and other services)''
** [[Setting up postfix with virtual domains]]
** [[Protecting your email server with Alpine]]
** [[Hosting Web/Email services on Alpine]]
* [[Setting up a ssh-server]]
* [[Multiple Instances of Services]]
* [[ISP Mail Server HowTo]] ''(Postfix+PostfixAdmin+DoveCot+Roundcube+ClamAV+Spamd - A full-serivce ISP mail server)''
** [[ISP Mail Server Upgrade 2.x]]
** [[ISP Mail Server 2.x HowTo]] ''(Beta, please test)''
* [[Freepbx on Alpine Linux]]
* [[Apache authentication: NTLM Single Signon]]
* [[Generating SSL certs with ACF]]
* [[Changing passwords for ACF]]
* [[Freeradius Active Directory Integration]]
* [[High Availability High Performance Web Cache]] ''uCarp + HAProxy for High Availability Services such as Squid web proxy''


== Web Applications ==
=== Software development ===
* [[2600hz]] ''FreeSWITCH, Asterisk GUI web acces tool.''
 
* [[Awstats]] ''Free log file analyzer.''
* [[Cgit]]
* [[Drupal]] ''Content Management System (CMS) written in PHP.''
* [[OsTicket]] ''(Ticket system)''
* [[EyeOS]] ''Cloud Computing Desktop.''
* [[Patchwork]] ''(Patch review management system)''
* [[FreePBX_V3]] ''FreeSWITCH, Asterisk GUI web acces tool.''
* [[Redmine]] ''(Project management system)''
* [[Glpi]] ''Information Resource-Manager.''
* [[Request Tracker]] ''(Ticket system)''
* [[MediaWiki]] ''Free web-based wiki software application''
* [[Setting up trac wiki|Trac]] ''(Enhanced wiki and issue tracking system for software development projects)''
* [[Pastebin]] ''Pastebin software application''
 
* [[Phpizabi]] ''Social Networking Platform.''
== Storage ==
* [[PhpPgAdmin]] ''Web-based administration tool for PostgreSQL.''
 
* [[Phpmyadmin]] ''Web-based administration tool for MYSQL.''
* [[Setting up disks manually|Disk setup (manual)]]
* [[Redmine]] ''Project management system ''
* [[Filesystems]]
* [[Request-Tracker]] ''Ticket system''
** [[Burning ISOs]]
* [[Roundcube]] ''Webmail system''
* [[Setting up iSCSI|iSCSI Setup]]
* [[Statusnet]] ''Microblogging Platform.''
** [[iSCSI Raid and Clustered File Systems]]
* [[Sqstat]] ''Script to look active squid users connections.''
** [[Linux iSCSI Target (TCM)|iSCSI Target (TCM)/LinuxIO (LIO)]]
* [[Webmin]] ''A web-based interface for Linux system.''
** [[Linux iSCSI Target (tgt)|User space iSCSI Target (tgt)]]
* [[WordPress]] ''Web software to create website or blog. ''
* [[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]]
 
== 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]]
 
= Tutorials =
 
== Miscellaneous ==
 
* [[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)''
* [[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]]


== Monitoring ==
== Newbie corner ==
* [[Traffic monitoring]] ''(For Alpine Linux firewalls)''
* [[Setting up traffic monitoring using rrdtool (and snmp)]]
* [[Setting up Smokeping]] ''(Smokeping network latency monitoring)''
* [[Setting up Cacti]]
* [[Setting up NRPE daemon]] ''(Performs remote Nagios checks)''
* [[Setting up Zabbix]]
* [[Setting Up Fprobe And Ntop]] ''NetFlow collection and analysis''


== Misc ==
* [[How to get regular stuff working]] ''some notes on need-to-know topics''
* [[Setting up lm_sensors]]
* [[Formatting HD/Floppy/Other]]
* [[Screen on console]]
* [[Using espeak on Alpine Linux]]
* [[IPTV How To]]
* [[Pllua]]
* [[Error message on boot: Address space collision: host bridge window conflicts with Adaptor ROM]]


== Drafts ==
== Servers ==
Those are not finished yet.
* [[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''


== Obsolete Docs ==
* [[Alpine production deploy]]
Those are candidates for rewriting/removal.
** [[Production Web server: Lighttpd|Production web server: Lighttpd‎‎]]
* [[Bootstrapping Alpine on Soekris net4xxx]]
** [[MySQL|Production database: MySQL]]
* [[Bootstrapping Alpine on PC Engines ALIX.3]]
** [[Production LAMP system: Lighttpd + PHP + MySQL‎‎]]
* [[Installing XUbuntu using Alpine boot floppy]]
* Alpine production monitoring
* [[Setting up trac wiki]]
** [[Cacti: traffic analysis and monitoring network]]
** [[Zabbix|Zabbix - the professional complete manager]]
* Kubernetes
** [[K8s]] Building a K8s Cluster on Alpine Linux

Latest revision as of 10:21, 3 March 2024

Todo: This material has been re-organized..., but grouping should be checked: Howtos are smaller articles and tutorials are more detailed document


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.

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



Howtos

Applications

Miscellaneous

Monitoring

Networking

Telephony

Backup and data migration

Desktop

Networking

Other Architectures

ARM

Raspberry Pi

IBM Z (IBM z Systems)

PowerPC

Post-Install

Remote Administration

Server

DNS

HTTP

Hostable Content

  • 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

Miscellaneous

Newbie corner

Servers