### Webmin setup prompts Source: https://wiki.alpinelinux.org/wiki/Webmin?__goaway_challenge=cookie&__goaway_id=ab70e66b814adc09809f236fbe9274c7 Example responses to the Webmin setup script prompts. Use 'enter' for defaults, set log directory to /var/log/webmin, choose Gentoo (84) as OS, ES4.0 as version, set admin credentials, disable SSL, and start Webmin at boot. ```text Config file directory [/etc/webmin]: enter Log file directory [/var/webmin]: /var/log/webmin Full path to perl: enter Operating system: 84 // 84 must be Gentoo Version: ES4.0 Web server port (default 10000): enter (or other port number) Login name (default admin): admin Login password: admin-password Password again: admin-password Use SSL (y/n): n Start Webmin at boot time (y/n): y ``` -------------------------------- ### Install and start Lighttpd Source: https://wiki.alpinelinux.org/wiki/Lighttpd?__goaway_challenge=cookie&__goaway_id=770cb85e8e016ef5d28ee014d183fac8 Install Lighttpd, add it to the default runlevel, and start the service. Run these commands as root. ```shell apk add lighttpd rc-update add lighttpd default rc-service lighttpd restart ``` -------------------------------- ### Install and start polkit Source: https://wiki.alpinelinux.org/wiki/Michael's_cwm_desktop_(minimal)?__goaway_challenge=cookie&__goaway_id=dcd20daf096fa35611569a669b76c1fc Install polkit (or polkit-elogind), add it to runlevel, and start the service. ```shell # apk add polkit ``` ```shell # rc-update add polkit ``` ```shell # rc-service polkit start ``` -------------------------------- ### Install and start bluez-alsa Source: https://wiki.alpinelinux.org/wiki/Raspberry_Pi_Bluetooth_Speaker?__goaway_challenge=cookie&__goaway_id=bc10eb9729bdd76be16d4c5a87a9928e Install bluez-alsa and bluez-alsa-utils, add bluealsa to startup, start the service, and run bluealsa-aplay in the background. ```bash apk add bluez-alsa bluez-alsa-utils rc-update add bluealsa rc-service start bluealsa bluealsa-aplay & ``` -------------------------------- ### Install and start MySQL Source: https://wiki.alpinelinux.org/wiki/Cvechecker?__goaway_challenge=cookie&__goaway_id=687596f81cfb69f6df6c6e85885c740a Commands to install MySQL, start the service, and set the root password. ```shell apk add mysql mysql-client rc-service mysql setup rc-service mysql start && rc-update add mysql default /usr/bin/mysqladmin -u root password 'new-password' ``` -------------------------------- ### Install and start haveged Source: https://wiki.alpinelinux.org/wiki/Entropy_and_randomness?__goaway_challenge=cookie&__goaway_id=6a906bc6ae91ee49532bed8ce0ca216a Installs haveged, starts the service, and enables it to start at boot. ```bash apk -U add haveged && rc-service haveged start && rc-update add haveged ``` -------------------------------- ### Start QEMU with disk and ISO for installation Source: https://wiki.alpinelinux.org/wiki/Ppc64le?__goaway_challenge=cookie&__goaway_id=fab76435fbabc31ae40ace455ba2c19a Starts QEMU attaching the created disk and using the Alpine ISO as CD-ROM. Includes -enable-kvm. ```bash doas qemu-system-ppc64 -hda alpine_disk.img -device spapr-vlan,netdev=net0,mac=4C:45:42:45:79:F7 -netdev bridge,br=br0,id=net0 -enable-kvm -m 8G -smp 16,sockets=16,cores=1,threads=1 -nodefaults -nographic -serial stdio -cdrom alpine-standard-3.24.2-ppc64le.iso ``` -------------------------------- ### Install MySQL and initialize databases Source: https://wiki.alpinelinux.org/wiki/FreePBX_V3?__goaway_challenge=cookie&__goaway_id=b187ff66bd903c5abb6553ca6a782d23 Installs MySQL server and client, initializes the database, and starts the service. ```shell apk add mysql mysql-client ``` ```shell /usr/bin/mysql_install_db --user=mysql ``` ```shell rc-service mariadb start && rc-update add mariadb default ``` -------------------------------- ### Setup and start PostgreSQL Source: https://wiki.alpinelinux.org/wiki/Request_Tracker?__goaway_challenge=cookie&__goaway_id=c3a4bc857a6c0e85f2c0b80ff1f8fc91 Initializes the PostgreSQL data directory and starts the PostgreSQL service. ```shell /etc/init.d/postgresql setup ``` ```shell /etc/init.d/postgresql start ``` -------------------------------- ### Install and configure PostgreSQL Source: https://wiki.alpinelinux.org/wiki/ISP_Mail_Server_2.x_HowTo?__goaway_challenge=cookie&__goaway_id=cfcc63911225274bf8149286f8acf52a Adds and configures PostgreSQL packages, sets up the service, and enables it to start at boot. This is the initial setup for the mail server database. ```shell apk add acf-postgresql postgresql-client rc-service postgresql setup rc-service postgresql start rc-update add postgresql ``` -------------------------------- ### Run FreePBX installer Source: https://wiki.alpinelinux.org/wiki/FreePBX Starts the FreePBX installer. You can accept the defaults. ```shell ./install_amp ``` -------------------------------- ### Install sample init file for river-classic Source: https://wiki.alpinelinux.org/wiki/River?__goaway_challenge=cookie&__goaway_id=56ba975d1afd7379c9f9186f32b9a197 Copies the sample init file to ~/.config/river with the install command. Run before starting river-classic for the first time. ```bash install -Dm0755 /usr/share/doc/river/examples/init -t ~/.config/river ``` -------------------------------- ### Install and start darkhttpd Source: https://wiki.alpinelinux.org/wiki/How_to_setup_a_Alpine_Linux_mirror?__goaway_challenge=cookie&__goaway_id=60f5ad06fd061174cf11a5a64e17f1d2 Installs, starts, and enables darkhttpd at boot as an alternative to lighttpd. ```shell apk add darkhttpd && rc-service darkhttpd start && rc-update add darkhttpd ``` -------------------------------- ### Run Alpine setup from CD or USB Source: https://wiki.alpinelinux.org/wiki/Alpine_Release_Testing_Checklist?__goaway_challenge=cookie&__goaway_id=055165b5007d05909aa9684ffcfe6e70 Boot from the installation media, log in as root, and run the setup script. This is the first step in the installation process. ```shell /sbin/setup-alpine ``` -------------------------------- ### Install and start Avahi daemon Source: https://wiki.alpinelinux.org/wiki/MDNS?__goaway_challenge=cookie&__goaway_id=38e0df33ca6524bb4f5bbf4f193cd642 Installs the avahi package, enables the avahi-daemon service at boot, and starts it immediately. Requires doas privileges. ```shell $ doas apk add avahi $ doas rc-update add avahi-daemon $ doas rc-service avahi-daemon start ``` -------------------------------- ### Install ipset and add to startup Source: https://wiki.alpinelinux.org/wiki/Linux_Router_with_VPN_on_a_Raspberry_Pi?__goaway_challenge=cookie&__goaway_id=a8f49ef4611bdcf65d1da1045e2e656e Install ipset using apk and add it to the default runlevel so it starts on boot. ```shell apk add ipset ``` ```shell rc-update add ipset default ``` -------------------------------- ### Install MariaDB and client Source: https://wiki.alpinelinux.org/wiki/Gitea?__goaway_challenge=cookie&__goaway_id=a364e3b837e6fe647072c7f0222c782e Install MariaDB and the mariadb-client package for database setup. ```shell apk add mariadb mariadb-client ``` -------------------------------- ### setup-interfaces available interfaces prompt Source: https://wiki.alpinelinux.org/wiki/Configure_Networking?__goaway_challenge=cookie&__goaway_id=884fcb90f77cb46f9f053c096180fb10 Example output from setup-interfaces showing available interfaces and the prompt to choose which one to initialize. Choose eth0 for Ethernet or wlan0 for wireless. ```text Available interfaces are: eth0 wlan0. Enter '?' for help on bridges, bonding and vlans. Which one do you want to initialize? (or '?' or 'done') [eth0] ``` -------------------------------- ### Scripted OpenLDAP installation on Alpine Source: https://wiki.alpinelinux.org/wiki/Configure_OpenLDAP?__goaway_challenge=cookie&__goaway_id=428680b707370728ff1a6eb5b2373e2d Automates the steps from the quickstart guide. Adjust the DOMAIN variable to your domain. Installs packages, configures slapd.d, imports configuration, and starts the service. ```bash export DOMAIN="dc=home" echo "Installing packages..." apk add openldap openldap-back-mdb openldap-clients echo "Configuring for v2.3+ style slapd.d config directory..." install -m 755 -o ldap -g ldap -d /etc/openldap/slapd.d sed -i~ \ -e 's/^cfgfile=/#cfgfile=/' \ -e 's/^#cfgdir=.*/cfgdir="\/etc\/openldap\/slapd.d"/' \ /etc/conf.d/slapd rm /etc/openldap/slapd.conf echo "Customizing for domain: ${DOMAIN}..." sed -i~ \ -e 's/\.la$/.so/' \ -e "s/dc=my-domain,dc=com/${DOMAIN}/" /etc/openldap/slapd.ldif echo "Importing configuration..." slapadd -n 0 -F /etc/openldap/slapd.d -l /etc/openldap/slapd.ldif chown -R ldap:ldap /etc/openldap/slapd.d/* echo "Configuring slapd service..." install -m 755 -o ldap -g ldap -d /var/lib/openldap/run service slapd start rc-update add slapd ``` -------------------------------- ### Install and configure PostgreSQL Source: https://wiki.alpinelinux.org/wiki/ISP_Mail_Server_3.x_HowTo?__goaway_challenge=cookie&__goaway_id=f4ae993b1898a7edb4b93b89b6ec1bd9 Adds PostgreSQL packages, sets up the service, starts it, and enables it at boot. This is the first step before creating the postfix database. ```shell apk add postgresql postgresql-client rc-service postgresql setup rc-service postgresql start rc-update add postgresql ``` -------------------------------- ### Quick/easy way: download and run create-alpine-sdk.sh Source: https://wiki.alpinelinux.org/wiki/Setting_up_the_build_environment_1.7?__goaway_challenge=cookie&__goaway_id=06416f8726b19fe8d210317e4490419b Alternative to manual setup: download the script, make it executable, and run it with sudo. It downloads, unpacks, and compiles everything, placing the result in /opt/alpine/alpine-sdk. ```bash 1) There is the hard way - do it yourself - if you want that go on with step-by-step 2) The quick/easy way: download a script that will do it for you: http://dev.alpinelinux.org/~abrodman/create-alpine-sdk.sh 1) download the script 2) chmod +x create-alpine-sdk.sh 3) sudo ./create-alpine-sdk.sh -> it will download, unpack and compile everything for you -> location: /opt/alpine/alpine-sdk ``` -------------------------------- ### Commands to stop modloop, update, and setup disk Source: https://wiki.alpinelinux.org/wiki/Replacing_non-Alpine_Linux_with_Alpine_remotely?__goaway_challenge=cookie&__goaway_id=377a1c95199fdce2c3ddb4e58bfc385e Run these commands to stop the modloop service, update the package index, and start the hard disk setup. The setup-disk command will guide you through the installation. ```bash rc-service modloop stop apk update setup-disk ``` -------------------------------- ### Secure MariaDB Installation Source: https://wiki.alpinelinux.org/wiki/MariaDB?__goaway_challenge=cookie&__goaway_id=c0e0a5ff621d034f5a4ad358803fa1c3 Runs the interactive script to secure the MariaDB installation, guiding through root password setup, removing anonymous users, and other security options. ```bash mariadb-secure-installation ``` -------------------------------- ### MariaDB setup commands for Gitea Source: https://wiki.alpinelinux.org/wiki/Talk:Gitea?__goaway_challenge=cookie&__goaway_id=2b666717a77bbade3c8aa22754b82d95 Commands to install and initialize MariaDB, start the service, secure the installation, and create the Gitea database and user. Run as root; the SQL statements are executed in the mysql client. ```bash apk add mariadb mariadb-client mysql_install_db --user=mysql --datadir=/var/lib/mysql service mariadb start rc-update add mariadb mysql_secure_installation mysql -u root -p CREATE DATABASE gitea; GRANT ALL ON gitea.* TO 'giteadbuser'@'localhost' IDENTIFIED BY 'giteadbpasswd'; FLUSH PRIVILEGES; EXIT ``` -------------------------------- ### Example /etc/resolv.conf Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts?__goaway_challenge=cookie&__goaway_id=dcb9fddbb78bc80eaf264fee3d568867 Example contents of /etc/resolv.conf after running setup-dns with the given options. ```text search example.org nameserver 192.168.0.1 ``` -------------------------------- ### Enter the new vserver Source: https://wiki.alpinelinux.org/wiki/User:Ncopa/buildmsg?__goaway_challenge=cookie&__goaway_id=d16efd9b1b5c8a00cc2456bfb1d19d98 Enters the build-2-6 vserver to begin setup. ```bash vserver build-2-6 enter ``` -------------------------------- ### Start the DomU with xl create Source: https://wiki.alpinelinux.org/wiki/Create_Alpine_Linux_PV_DomU?__goaway_challenge=cookie&__goaway_id=3896c7f810290e84b980d09d288ed513 Use this command to start the DomU and attach to its console for the installation process. You will log in as root with no password. ```bash xl create -f /etc/xen/a1.cfg -c ``` -------------------------------- ### Setup hostname, network, and repos Source: https://wiki.alpinelinux.org/wiki/Bootstrapping_Alpine_Linux?__goaway_challenge=cookie&__goaway_id=57513420189faee6cfce4e8f73481ed0 Run the setup scripts to configure hostname, network interfaces, and APK repositories. ```shell setup-hostname ``` ```shell setup-interfaces ``` ```shell setup-apkrepos -f ``` -------------------------------- ### setup-bootable usage example Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts?__goaway_challenge=cookie&__goaway_id=dcb9fddbb78bc80eaf264fee3d568867 Command to prepare a target partition /dev/sdXY for booting, using verbose mode and specifying source and destination. The source is the installation media device, and the destination is the target partition. ```shell # setup-bootable -v /media/ /dev/sdXY ``` -------------------------------- ### setup-desktop prompt output Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts?__goaway_challenge=cookie&__goaway_id=dcb9fddbb78bc80eaf264fee3d568867 Example prompt shown when running setup-desktop, asking for the desktop environment choice. The default is 'none'. ```text Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none') [none] ``` -------------------------------- ### Create ext4 filesystem and install system Source: https://wiki.alpinelinux.org/wiki/Raspberry_Pi_4_-_Persistent_system_acting_as_a_NAS_and_Time_Machine?__goaway_challenge=cookie&__goaway_id=9b1d326d09cede82a738816b5c02b3de Format the new partition, mount it, and run setup-disk to install the system. ```bash apk add e2fsprogs mkfs.ext4 /dev/mmcblk0p2 mount /dev/mmcblk0p2 /mnt setup-disk -m sys /mnt mount -o remount,rw /media/mmcblk0p1 ``` -------------------------------- ### Run setup-desktop script Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts?__goaway_challenge=cookie&__goaway_id=dcb9fddbb78bc80eaf264fee3d568867 Invoke the setup-desktop script to install a desktop environment. You will be prompted to select from 'gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt', or 'none'. The script installs the chosen desktop, Firefox (unless BROWSER variable is set), and adds startup services. Reboot to boot into the graphical login screen, except for sway. ```bash # setup-desktop ``` -------------------------------- ### Setup Xorg and video drivers Source: https://wiki.alpinelinux.org/wiki/Setting_up_a_laptop?__goaway_challenge=cookie&__goaway_id=aecb0a0d4ca3f2c4f4f82afb62fb0028 Runs setup-xorg-base, searches for available xf86-video drivers, installs the amdgpu driver, and installs the mesa driver. ```shell sudo setup-xorg-base sudo apk search xf86-video | sort # pick your xf86 video driver sudo apk add xf86-video-amdgpu # install the mesa driver sudo apk add mesa-dri-gallium ``` -------------------------------- ### Install bridge package for LACP setup Source: https://wiki.alpinelinux.org/wiki/Bonding?__goaway_challenge=cookie&__goaway_id=cbf13475170a4b9d3e6f062e746995a3 Install the bridge package when setting up a LACP setup with a bridge interface. ```shell apk add bridge ``` -------------------------------- ### Initialize and start MariaDB Source: https://wiki.alpinelinux.org/wiki/Gitea?__goaway_challenge=cookie&__goaway_id=a364e3b837e6fe647072c7f0222c782e Initialize the MariaDB data directory, start the service, enable it at boot, and run the secure installation script. ```shell mysql_install_db --user=mysql --datadir=/var/lib/mysql service mariadb start rc-update add mariadb mysql_secure_installation ``` -------------------------------- ### Set up network interfaces Source: https://wiki.alpinelinux.org/wiki/Xen_Dom0_on_USB_or_SD?__goaway_challenge=cookie&__goaway_id=c00ab300d04edf1367f000586ee89999 Run setup-interfaces and then ifup eth0 to bring up the network. You may need to replace eth0 with your actual interface name. ```shell # setup-interfaces # ifup eth0 ``` -------------------------------- ### GDBus error output for Firefox portal failure Source: https://wiki.alpinelinux.org/wiki/Flatpak?__goaway_challenge=cookie&__goaway_id=d19c1e11564178aeb8de69fdb9f3b447 Example error output when a Flatpak application fails to interface with the portal, causing issues like being unable to open file directories. Ensure portals are installed and started. ```text (firefox:12345): Gtk-WARNING **: 12:00:00.000: Unable to load an interface for org.freedesktop.portal.FileChooser: **GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:** The name **org.freedesktop.portal.Desktop** was not provided by any .service files ``` -------------------------------- ### Start i3 with startx Source: https://wiki.alpinelinux.org/wiki/I3wm?__goaway_challenge=cookie&__goaway_id=9a86c23ea79d3d0f4863000d69a48526 Starts the i3 window manager manually using startx. Requires Xorg to be installed and configured. ```shell # startx /usr/bin/i3 ``` -------------------------------- ### Setup chroot and mount filesystems Source: https://wiki.alpinelinux.org/wiki/User:Halscode/Atomic_Alpine?__goaway_challenge=cookie&__goaway_id=1037beccba234f12abc8f7162d6e2e4b Sets up a basic chroot environment by binding /dev, mounting proc and sysfs, generating fstab, copying resolv.conf, and entering the chroot. Includes a tip to use tab for snapshot path completion. ```shell # export SNP="/mnt/snapshots/20210411212549sdBXyLxg/@" # # tip: use tab to fill in the correct snapshot; this one is just an example # mount -o bind /dev $SNP/dev # mount -t proc none $SNP/proc # mount -t sysfs sys $SNP/sys # sed "s#CURRENT_SNAPSHOTS_PATH#/snapshots/20210411212549sdBXyLxg#g" /mnt/fstab > "$SNP/etc/fstab" # cp -L /etc/resolv.conf "$SNP/etc/" # so DNS still works # chroot "$SNP" /bin/sh # mount -a ``` -------------------------------- ### Start PHP-FPM7 Source: https://wiki.alpinelinux.org/wiki/Nginx_with_PHP?__goaway_challenge=cookie&__goaway_id=07258a5d854c6ae0d2cd8c01e6c72c81 Starts the PHP-FPM7 service, which is not running after installation. ```bash rc-service php-fpm7 start ``` -------------------------------- ### Run setup-alpine with interactive answers Source: https://wiki.alpinelinux.org/wiki/Michael's_base_installation_procedure?__goaway_challenge=cookie&__goaway_id=339df73cc69d2425e905317e591d4e8b Boot from Ventoy, log in as root, and run setup-alpine. The subsequent lines are the answers to the interactive prompts, including keyboard layout, hostname, network configuration, and user creation. The exact prompts are not shown, but the sequence is as documented. ```text root # setup-alpine us us alpine ENTER (eth0) ENTER (dhcp) ENTER (wlan0) 1 passwd.. ENTER (dhcp) n new password new password ..time zone.. ..no proxy.. ..default.. (chrony) 1 user real name user passwd passwd default, none, default, openssh, ..here I deviate slightly: ? cryptsys y ..enter file system password many times.. reboot. ``` -------------------------------- ### Start PHP-FPM82 Source: https://wiki.alpinelinux.org/wiki/Nginx_with_PHP?__goaway_challenge=cookie&__goaway_id=07258a5d854c6ae0d2cd8c01e6c72c81 Start the PHP-FPM service for PHP8.2 after installation. ```bash rc-service php-fpm82 start ``` -------------------------------- ### Install and start audit for profile creation Source: https://wiki.alpinelinux.org/wiki/AppArmor?__goaway_challenge=cookie&__goaway_id=a1217e073943394287f435c36ec5d3e2 Install the audit package and start the auditd service, then add it to the boot sequence. This is required before generating custom profiles. ```shell # apk add audit ``` ```shell # rc-service auditd start ``` ```shell # rc-update add auditd ``` -------------------------------- ### Example /etc/resolv.conf content Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts Sample content for /etc/resolv.conf after running setup-dns with the example options. ```text search example.org nameserver 192.168.0.1 ``` -------------------------------- ### Start ALSA service with rc-service Source: https://wiki.alpinelinux.org/wiki/ALSA?__goaway_challenge=cookie&__goaway_id=a24aa58f4a5065f37417d5243e741ee0 Starts the ALSA service using OpenRC. The service is not started on install. ```shell # rc-service alsa start ``` -------------------------------- ### Create user and configure startup files Source: https://wiki.alpinelinux.org/wiki/User:Innsill/firefox-starter_(x86-64_)?__goaway_challenge=cookie&__goaway_id=a19531876f6138675fdb2b889c132bca Create a user 'ff', switch to it, and edit .profile and .xinitrc to start X and Firefox. ```bash adduser ff ``` ```bash su ff - ``` ```bash $vi .profile ``` ```bash startx ``` ```bash $vi .xinitrc ``` ```bash exec firefox ``` ```bash $exit ``` -------------------------------- ### Setup and start PostgreSQL service Source: https://wiki.alpinelinux.org/wiki/Freeswitch_Voicemail_On_Alpine_Linux?__goaway_challenge=cookie&__goaway_id=156256a97384d19942d9e83582bfaeae Add PostgreSQL to the default runlevel, run the setup command, and start the service. These commands prepare PostgreSQL for use as the voicemail database. ```bash rc-update add postgresql rc-service postgresql setup rc-service postgresql start ``` -------------------------------- ### Example autostart file contents Source: https://wiki.alpinelinux.org/wiki/Hikari?__goaway_challenge=cookie&__goaway_id=00d88bcc2a202d30c7bf298426ea385a Example commands to place in the autostart file. Each line runs a command in the background using an ampersand, similar to .xinitrc. No shebang line is needed. ```shell /usr/bin/qterminal & /usr/bin/libreoffice & /usr/bin/rofi -combi-modi run,drun,filebrowser -show combi -sort & ``` -------------------------------- ### setup-bootable usage: command-line arguments Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts Shows the usage syntax for setup-bootable: source and optional dest. The source can be a directory, ISO, or URL; dest defaults to /media/usb. Options include -k, -u, -f, -s, and -v. ```bash setup-bootable source \[dest\] ``` -------------------------------- ### Install PulseAudio utilities Source: https://wiki.alpinelinux.org/wiki/PulseAudio?__goaway_challenge=cookie&__goaway_id=14f1ad698831aa28addc2275d3939ecd Install pulseaudio-utils to get pactl for volume control. ```shell apk add pulseaudio-utils ``` -------------------------------- ### Generate a starter answerfile with setup-alpine -c Source: https://wiki.alpinelinux.org/wiki/Using_an_answerfile_with_setup-alpine?__goaway_challenge=cookie&__goaway_id=dd8c646cd447b3b8eb67c1215361c0c8 Run this command to create an initial answerfile at the specified path. The generated file contains commented example configuration variables that you should edit to your needs. ```shell setup-alpine -c PATH_TO_FILENAME ``` -------------------------------- ### Prepare MariaDB directories and setup Source: https://wiki.alpinelinux.org/wiki/Moodle?__goaway_challenge=cookie&__goaway_id=f88ed54e82b2b92e70598bb461965ef8 Creates necessary directories, sets ownership, and runs the MariaDB setup script. ```shell # mkdir -p /var/lib/mysql # chown mysql:mysql /var/lib/mysql # /etc/init.d/mariadb setup ``` -------------------------------- ### Install and start Apache2 on Alpine Linux Source: https://wiki.alpinelinux.org/wiki/Moodle?__goaway_challenge=cookie&__goaway_id=f88ed54e82b2b92e70598bb461965ef8 Installs Apache2, starts the service, and enables auto-start on boot. The configuration file is located at /etc/apache2/httpd.conf, web root at /var/www/localhost/htdocs, and logs at /var/log/apache2. ```shell # apk add apache2 # rc-service apache2 start # Start the service # rc-update add apache2 # Enable auto-start on boot ``` -------------------------------- ### Start PostgreSQL and Lighttpd services Source: https://wiki.alpinelinux.org/wiki/2600hz?__goaway_challenge=cookie&__goaway_id=d0d063a8b893e02284c7f14296c160b4 Sets up PostgreSQL, starts it and adds to boot, then starts Lighttpd and adds to boot. ```shell rc-service postgresql setup rc-service postgresql start && rc-update add postgresql default rc-service lighttpd start && rc-update add lighttpd default ``` -------------------------------- ### Install and enable polkit-elogind Source: https://wiki.alpinelinux.org/wiki/Polkit?__goaway_challenge=cookie&__goaway_id=e1bd80ee5164d1ee5ace620e708e6e77 Commands to install polkit-elogind and start the polkit service with OpenRC. ```shell # apk add polkit-elogind # rc-update add polkit # rc-service polkit start ``` -------------------------------- ### List setup-* scripts with find Source: https://wiki.alpinelinux.org/wiki/Alpine_Linux:Glossary?__goaway_challenge=cookie&__goaway_id=d2f426acc7e6efac2dfb809f3ae4745d Command to list all setup-* scripts in /usr/sbin, sorted. Useful for discovering available configuration scripts. ```shell find /usr/sbin -name "setup*" -print | sort ``` -------------------------------- ### Install required packages with apk_add Source: https://wiki.alpinelinux.org/wiki/Native_Harddisk_Install_1.9?__goaway_challenge=cookie&__goaway_id=9ca954d6350fd609713f8b4d6f4b9c4c Installs e2fsprogs, syslinux, and mkinitfs needed for the setup. ```shell apk_add e2fsprogs syslinux mkinitfs ``` -------------------------------- ### Return to user and start X Source: https://wiki.alpinelinux.org/wiki/Michael's_cwm_desktop_(minimal)?__goaway_challenge=cookie&__goaway_id=dcd20daf096fa35611569a669b76c1fc Exit root and launch the X server with startx. ```shell # return ``` ```shell $ startx ``` -------------------------------- ### Install openresolv and unbound Source: https://wiki.alpinelinux.org/wiki/MDNS?__goaway_challenge=cookie&__goaway_id=38e0df33ca6524bb4f5bbf4f193cd642 Install the required packages for the unbound DNS resolver setup. ```shell $ doas apk add openresolv unbound ``` -------------------------------- ### Install MySQL client and server Source: https://wiki.alpinelinux.org/wiki/FreePBX Installs MySQL client and server packages. Note: Follow the MariaDB installation guide to prevent errors. ```shell apk add mysql mysql-client ``` -------------------------------- ### Install and enable iptables firewall Source: https://wiki.alpinelinux.org/wiki/Securing_Alpine_Linux?__goaway_challenge=cookie&__goaway_id=9bd2818aeec3618161e0096479f8fd9e Install iptables, start the service, and add it to the default runlevel. ```shell doas apk add iptables doas rc-service iptables start doas rc-update add iptables ``` -------------------------------- ### Example extlinux.conf content Source: https://wiki.alpinelinux.org/wiki/Native_Harddisk_Install_1.9?__goaway_challenge=cookie&__goaway_id=9ca954d6350fd609713f8b4d6f4b9c4c Shows the expected content of /mnt/boot/extlinux.conf, including timeout, prompt, default label, and kernel append line. ```text timeout 20 prompt 1 default grsec label grsec kernel /boot/grsec append initrd=/boot/grsec.gz root=/dev/sda1 modules=ext3 quiet ``` -------------------------------- ### Install LVM and filesystem tools Source: https://wiki.alpinelinux.org/wiki/Installing_on_GPT_LVM?__goaway_challenge=cookie&__goaway_id=f8681d3684f8547b15aa0c7b7eb4caef Installs lvm2, e2fsprogs, and syslinux for LVM setup and bootloader. ```shell apk add lvm2 e2fsprogs syslinux ``` -------------------------------- ### Boot Alpine VM from disk image Source: https://wiki.alpinelinux.org/wiki/Install_Alpine_in_QEMU?__goaway_challenge=cookie&__goaway_id=7c2ab61982c980ffa6919b6f4c7e9784 After installation, start QEMU from the disk image without the CDROM, using -boot c and the alpine.qcow2 drive. ```shell qemu-system-x86_64 -m 512 -nic user -drive file=alpine.qcow2 ``` -------------------------------- ### Start the build Source: https://wiki.alpinelinux.org/wiki/Porting_GHC_to_Alpine?__goaway_challenge=cookie&__goaway_id=857faffad5a0938a86ef63f4155b95d0 Run make to start the build process, logging output to build.log. ```shell make 2>&1 | tee -a build.log ``` -------------------------------- ### Install general font packages Source: https://wiki.alpinelinux.org/wiki/Fonts?__goaway_challenge=cookie&__goaway_id=32a5796c7e6332480540a898be6c90f6 Installs a set of fonts covering most languages for typical setups. ```shell # apk add font-terminus font-inconsolata font-dejavu font-noto font-noto-cjk font-awesome font-noto-extra ``` -------------------------------- ### Install Asterisk and fax packages Source: https://wiki.alpinelinux.org/wiki/FaxServer_using_Asterisk?__goaway_challenge=cookie&__goaway_id=c43ff9550ba7d94045b0f39084ef0479 Install the required packages for a basic fax server setup. ```shell apk add asterisk asterisk-fax ``` -------------------------------- ### Initial igmpproxy.conf example Source: https://wiki.alpinelinux.org/wiki/IGMPproxy?__goaway_challenge=cookie&__goaway_id=4735ede1794547b245fc0c3ee5945282 A complete example of /etc/igmpproxy.conf before adding multicast source networks. It includes quickleave, upstream, downstream, and disabled loopback. ```config quickleave phyint eth0 upstream ratelimit 0 threshold 1 phyint eth1 downstream ratelimit 0 threshold 1 phyint lo disabled ``` -------------------------------- ### Install DRBD packages with apk Source: https://wiki.alpinelinux.org/wiki/Disk_Replication_with_DRBD?__goaway_challenge=cookie&__goaway_id=b51a7c21c1d29ae60f42d13e69960979 Installs the drbd-utils and lsblk packages needed for DRBD setup. ```shell apk add drbd-utils lsblk ``` -------------------------------- ### Install OSD packages and prepare directories Source: https://wiki.alpinelinux.org/wiki/CEPH?__goaway_challenge=cookie&__goaway_id=15990f8317892654d52a46e76678a19a Sets up udev, installs OSD packages, and creates required directories for OSD bootstrap and configuration. ```bash setup-devd udev #alpine eudev drop-in replacement for udev apk add ceph$VERSION-osd ceph$VERSION-osd-daemon ceph$VERSION-osd-tools eudev ceph$VERSION-openrc mkdir -p /var/lib/ceph/bootstrap-osd /etc/ceph ``` -------------------------------- ### Run setup-acf to install ACF Source: https://wiki.alpinelinux.org/wiki/ACF?__goaway_challenge=cookie&__goaway_id=421a0feac05e9b4486b5b854007f954d Run this command in the terminal to install and configure ACF. It installs mini-httpd, creates a certificate, starts mini-httpd in HTTPS mode, and installs basic acf-packages. ```bash setup-acf ``` -------------------------------- ### setup-disk and chroot commands Source: https://wiki.alpinelinux.org/wiki/User:Innsill/dwm-starter_(x86-64)?__goaway_challenge=cookie&__goaway_id=868556298f497a7c227f8314ce5cdb5e Runs setup-disk with GRUB bootloader, then binds /dev, /proc, /sys into the chroot and installs GRUB to /dev/sda. ```shell BOOTLOADER=grub **`setup-disk /mnt`** `mount /dev/ /mnt/dev/ --bind` `mount -t proc none /mnt/proc` `mount -o bind /sys /mnt/sys` chroot /mnt grub-install /dev/sda ``` -------------------------------- ### Alpine Linux installer extlinux.conf example Source: https://wiki.alpinelinux.org/wiki/DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs?__goaway_challenge=cookie&__goaway_id=578ec5cf411219a9ba581752c4f0424e Example extlinux.conf generated by the Alpine Linux installer. It uses LABEL grsec, sets it as default, and specifies kernel, initrd, device tree directory, and append parameters. ```plaintext LABEL grsec MENU DEFAULT MENU LABEL Linux grsec LINUX /boot/vmlinuz-grsec INITRD /boot/initramfs-grsec DEVICETREEDIR /boot/dtbs APPEND BOOT_IMAGE=/boot/vmlinuz-grsec modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-grsec console=${console} ``` -------------------------------- ### Example answerfile contents for setup-alpine Source: https://wiki.alpinelinux.org/wiki/Using_an_answerfile_with_setup-alpine?__goaway_challenge=cookie&__goaway_id=dd8c646cd447b3b8eb67c1215361c0c8 Starter answerfile generated by setup-alpine -c. Comment out variables you do not want to set and ensure uncommented variables have valid values. The file includes options for keymap, hostname, device manager, network interfaces, DNS, timezone, proxy, repositories, user creation, SSH keys, SSH daemon, NTP, disk setup, and storage labels. ```shell # Example answer file for setup-alpine script # If you don't want to use a certain option, then comment it out # Use US layout with US variant # KEYMAPOPTS="us us" KEYMAPOPTS=none # Set hostname to 'alpine' HOSTNAMEOPTS=alpine # Set device manager to mdev DEVDOPTS=mdev # Contents of /etc/network/interfaces INTERFACESOPTS="auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp hostname alpine-test " # Search domain of example.com, Google public nameserver # DNSOPTS="-d example.com 8.8.8.8" # Set timezone to UTC #TIMEZONEOPTS="UTC" TIMEZONEOPTS=none # set http/ftp proxy #PROXYOPTS="http://webproxy:8080" PROXYOPTS=none # Add first mirror (CDN) - Option -1 # Enable the community repo - Option -c APKREPOSOPTS="-1 -c" # Create admin user USEROPTS="-a -u -g audio,input,video,netdev juser" #USERSSHKEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOIiHcbg/7ytfLFHUNLRgEAubFz/13SwXBOM/05GNZe4 juser@example.com" #USERSSHKEY="https://example.com/juser.keys" # Install Openssh SSHDOPTS=openssh #ROOTSSHKEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOIiHcbg/7ytfLFHUNLRgEAubFz/13SwXBOM/05GNZe4 juser@example.com" #ROOTSSHKEY="https://example.com/juser.keys" # Use openntpd # NTPOPTS="openntpd" NTPOPTS=none # Use /dev/sda as a sys disk # DISKOPTS="-m sys /dev/sda" DISKOPTS=none # Setup storage with label APKOVL for config storage #LBUOPTS="LABEL=APKOVL" LBUOPTS=none #APKCACHEOPTS="/media/LABEL=APKOVL/cache" APKCACHEOPTS=none ``` -------------------------------- ### setup-proxy example proxy URL Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts#setup-alpine Example of a proxy URL format accepted by setup-proxy. ```bash http://10.0.0.1:8080 ``` -------------------------------- ### Install Zabbix packages Source: https://wiki.alpinelinux.org/wiki/Zabbix?__goaway_challenge=cookie&__goaway_id=2c8e2a3b505e1c071d69348a1c88ced5 Installs Zabbix server, PostgreSQL support, web interface, and setup tools. ```shell apk add zabbix zabbix-pgsql zabbix-webif zabbix-setup ``` -------------------------------- ### Complete /boot/extlinux.conf example Source: https://wiki.alpinelinux.org/wiki/Enable_Serial_Console_on_Boot?__goaway_challenge=cookie&__goaway_id=dcc566635df659dc39e9646f866a8a60 Complete example of /boot/extlinux.conf written by update-extlinux. Includes SERIAL 0 9600 and console=ttyS0,9600 in APPEND. Adjust tty speed to 115200 for Xen/qemu. Timeout is in deciseconds (100 = 10 seconds). ```plaintext DEFAULT menu.c32 PROMPT 0 MENU TITLE Alpine/Linux Boot Menu MENU AUTOBOOT Alpine will be booted automatically in # seconds. SERIAL 0 9600 TIMEOUT 100 LABEL grsec MENU DEFAULT MENU LABEL Linux 3.10.33-0-grsec LINUX vmlinuz-3.10.33-0-grsec INITRD initramfs-3.10.33-0-grsec APPEND root=UUID=re-mov-ed-uu-id modules=sd-mod,usb-storage,ext4 console=ttyS0,9600 MENU SEPARATOR ``` -------------------------------- ### Remove installer and set config permissions Source: https://wiki.alpinelinux.org/wiki/OsTicket?__goaway_challenge=cookie&__goaway_id=1c8958e9ee08bac7166e31632fb89c31 Remove the setup directory and set ost-config.php to 644 after installation. ```shell # rm /usr/share/webapps/osticket/upload/include/setup/ chmod 644 /usr/share/webapps/osticket/upload/include/ost-config.php ``` -------------------------------- ### Show configure options Source: https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package?__goaway_challenge=cookie&__goaway_id=5a6ed402fc731450ff547612fc14d5ac Run ./configure --help to see available configure options and set the correct installation location. ```bash ./configure --help ``` -------------------------------- ### Setup disk for HDD installation Source: https://wiki.alpinelinux.org/wiki/Alpine_Release_Testing_Checklist?__goaway_challenge=cookie&__goaway_id=055165b5007d05909aa9684ffcfe6e70 After running setup-alpine, run setup-disk to configure the hard disk for installation. ```shell setup-disk ``` -------------------------------- ### Run setup-disk Source: https://wiki.alpinelinux.org/wiki/Replacing_non-Alpine_Linux_with_Alpine_remotely?__goaway_challenge=cookie&__goaway_id=377a1c95199fdce2c3ddb4e58bfc385e Formats the disk and installs Alpine Linux. This is the final step after moving files back. ```bash setup-disk ``` -------------------------------- ### Set up apk repositories Source: https://wiki.alpinelinux.org/wiki/Xen_Dom0_on_USB_or_SD?__goaway_challenge=cookie&__goaway_id=c00ab300d04edf1367f000586ee89999 Run setup-apkrepos and then apk update. You may need to edit /etc/apk/repositories to point the first line to /media/usb/apks. ```shell # setup-apkrepos [...] # apk update ``` -------------------------------- ### Content of /etc/lxc/bridgenat.conf Source: https://wiki.alpinelinux.org/wiki/LXC_Alpinelinux_Simple?__goaway_challenge=cookie&__goaway_id=9292b19912cb7224bc7e5e3735907373 Example LXC network configuration for a veth bridge setup. Not needed for manual setup. ```plaintext lxc.net.0.type = veth lxc.net.0.flags = up lxc.net.0.link = br0 lxc.net.0.name = eth1 lxc.net.0.ipv4.address = 192.168.10.2/24 192.168.10.255 lxc.net.0.ipv4.gateway = 192.168.10.1 lxc.net.0.veth.pair = veth-if-10 ``` -------------------------------- ### Install additional conf file Source: https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package?__goaway_challenge=cookie&__goaway_id=5a6ed402fc731450ff547612fc14d5ac Example command to install an additional configuration file into the package directory. ```shell install -Dm644 doc/$pkgname.conf "$pkgdir"/etc/$pkgname.conf ``` -------------------------------- ### Mount and copy files with setup-bootable Source: https://wiki.alpinelinux.org/wiki/Upgrading_Alpine?__goaway_challenge=cookie&__goaway_id=628f50d8a88fbe6db9fac52dbba0a492 Use setup-bootable to mount and copy files as needed for the upgrade. Replace and with actual values. ```bash setup-bootable -u alpine-extended--.iso /media/$LBU\_MEDIA ``` -------------------------------- ### Install pciutils with apk Source: https://wiki.alpinelinux.org/wiki/Graphics_driver?__goaway_challenge=cookie&__goaway_id=6284eafc618fab07adf93d22b3d183a3 Install the pciutils package to get the lspci command for identifying graphics cards. ```shell # apk add pciutils ``` -------------------------------- ### Install Caddy OpenRC scripts Source: https://wiki.alpinelinux.org/wiki/Caddy?__goaway_challenge=cookie&__goaway_id=f35fbd8ad83308bbb2e7bd9743e9341b Install the caddy-openrc package to get OpenRC service scripts for Caddy. ```shell apk update apk add caddy-openrc ``` -------------------------------- ### Buildlab usage and examples Source: https://wiki.alpinelinux.org/wiki/Buildlab?__goaway_challenge=cookie&__goaway_id=baf061b3ed9ab44bebd30e96c9590f77 Shows the Buildlab help output and three example commands: creating a build root with -C, building a package with -b, and updating a build root with -u. Note that -p is mandatory, and -m, -v, -a are mandatory when using -C. ```text buildlab 2.13.0 Common options: -q Quiet operation -p Path to buildroot Creating build roots (buildlab -C): -m APK repository mirror -v APK distribution version -a APK repository architecture -k Enable APK caching Updating build roots (buildlab -u): No special options. Building packages (buildlab -b): -b APKBUILD file Examples: sudo ./buildlab -C -p /home/nenolod/buildroot -m dl-3.alpinelinux.org -v edge -a x86_64 sudo ./buildlab -b /home/nenolod/aports/main/gnome-panel/APKBUILD -p /home/nenolod/buildroot sudo ./buildlab -u -p /home/nenolod/buildroot ``` -------------------------------- ### Install Exim, Dovecot, and Mailx Source: https://wiki.alpinelinux.org/wiki/Small-Time_Email_with_Exim_and_Dovecot?__goaway_challenge=cookie&__goaway_id=45b66545057dabb13777bec30fd02880 Install the required packages for the email server setup. Mailx is used for testing. ```shell apk add exim dovecot mailx ``` -------------------------------- ### Run setup-interfaces script Source: https://wiki.alpinelinux.org/wiki/Configure_Networking?__goaway_challenge=cookie&__goaway_id=884fcb90f77cb46f9f053c096180fb10 Starts the interactive setup-interfaces script to configure network interfaces. The script lists available interfaces and prompts for initialization. ```shell # setup-interfaces ``` -------------------------------- ### setup-proxy command with options Source: https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts?__goaway_challenge=cookie&__goaway_id=0fee5574a84aab9fd526a39a7466e0ad Run setup-proxy with quiet mode and proxy URL. ```bash setup-proxy -hq [PROXYURL] ``` -------------------------------- ### Mount filesystems and prepare target directories Source: https://wiki.alpinelinux.org/wiki/Installing_Alpine_Linux_on_OrangePi_RV2?__goaway_challenge=cookie&__goaway_id=7e0aa8a2d0a9751bedc7be49b7bd662d Mount the root and boot partitions, create necessary directories (boot/extlinux, etc/apk, dev, proc, sys), bind mount dev/proc/sys, and configure the apk repositories file. ```shell # Mount the target root slice mount /dev/sdb2 /mnt # Create mount point for boot slice [ ! -d /mnt/boot ] && mkdir -vp /mnt/boot # Mount boot slice mount /dev/sdb1 /mnt/boot # Create directory for extlinux config [ ! -d /mnt/boot/extlinux ] && mkdir -vp /mnt/boot/extlinux # Create directory for apk config [ ! -d /mnt/etc/apk ] && mkdir -vp /mnt/etc/apk # Create mount point for devfs [ ! -d /mnt/dev ] && mkdir -vp /mnt/dev # Create mount point for procfs [ ! -d /mnt/proc ] && mkdir -vp /mnt/proc # Create mount point for sysfs [ ! -d /mnt/sys ] && mkdir -vp /mnt/sys # Use bind mounts for dev proc and sys within the target device mount -o bind /dev /mnt/dev && mount -o bind /proc /mnt/proc && mount -o bind /sys /mnt/sys # Configure apk package manager cat < /mnt/etc/apk/repositories #/media/vda1/apks http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing EOF ``` -------------------------------- ### Install and start targetcli and dbus services Source: https://wiki.alpinelinux.org/wiki/High_performance_SCST_iSCSI_Target_on_Linux_software_Raid?__goaway_challenge=cookie&__goaway_id=b1b9afdc890dd3fb78bd336881f985ec Install targetcli and enable/start the dbus and targetcli services on Alpine Linux. ```shell # apk add targetcli # rc-update add dbus # rc-update add targetcli # service dbus start # service targetcli start ``` -------------------------------- ### Install GRUB with grub-install Source: https://wiki.alpinelinux.org/wiki/Dualbooting?__goaway_challenge=cookie&__goaway_id=4c693a358444f82aeb9579ad54f91e88 Install GRUB using grub-install with the root-directory option. This is part of the Windows dual-boot setup. ```bash # grub-install –root-directory=/mnt ``` -------------------------------- ### Install alpine-conf package Source: https://wiki.alpinelinux.org/wiki/Custom_network_interface_names?__goaway_challenge=cookie&__goaway_id=4337679362c266b7471616bea17be6fd Install the alpine-conf package which provides the setup-devd script for easy device manager setup. ```shell # apk add alpine-conf ``` -------------------------------- ### Start and enable virtualbox-guest-additions service Source: https://wiki.alpinelinux.org/wiki/VirtualBox_guest_additions?__goaway_challenge=cookie&__goaway_id=a121a1f84cf0cb4dea3c1f03c9a2d1c3 Use these commands to start and enable the virtualbox-guest-additions service at boot. Run them as root. ```shell # rc-service virtualbox-guest-additions start # rc-update add virtualbox-guest-additions boot ``` -------------------------------- ### Run setup-desktop script Source: https://wiki.alpinelinux.org/wiki/XFCE_Setup?__goaway_challenge=cookie&__goaway_id=934c96e7d1102a2a8e74f2a3507123e2 Run the setup-desktop script to interactively choose a desktop environment. The script installs the chosen desktop, Firefox (unless BROWSER variable is modified), and necessary services. For Xfce, it also enables lightdm as display manager. ```shell # setup-desktop ``` -------------------------------- ### Start staticroute service manually Source: https://wiki.alpinelinux.org/wiki/How_to_configure_static_routes?__goaway_challenge=cookie&__goaway_id=4106235ee264e990917578f285660005 Use this command to manually start the staticroute service, for example to test your configuration. ```shell rc-service staticroute start ``` -------------------------------- ### setup-wayland-base usage syntax Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts#setup-alpine Shows the usage syntax for setup-wayland-base, which accepts optional package names to install. ```text usage: setup-wayland-base [-h] [PKG..] ``` -------------------------------- ### Install mosquitto package Source: https://wiki.alpinelinux.org/wiki/User:Fab/msg.alpinelinux.org?__goaway_challenge=cookie&__goaway_id=159da027c94f53faa54a9b1e5e9a898e Install the mosquitto package using apk to get tools for consuming MQTT messages. ```shell sudo apk add mosquitto ``` -------------------------------- ### Install mkinitfs-doc and run man mkinitfs-bootparam Source: https://wiki.alpinelinux.org/wiki/Diskless_Mode?__goaway_challenge=cookie&__goaway_id=73ccc2be03ab2eebdceaedef4c9e50c3 Install the documentation sub-package mkinitfs-doc and run the command 'man mkinitfs-bootparam' to access kernel command line options for diskless mode. ```shell man mkinitfs-bootparam ``` -------------------------------- ### Install Flatpak apps Source: https://wiki.alpinelinux.org/wiki/Flatpak?__goaway_challenge=cookie&__goaway_id=d19c1e11564178aeb8de69fdb9f3b447 Install a package with 'flatpak --user install '. The command will ask about permissions and required runtimes. The example shows the output for installing com.github.Eloston.UngoogledChromium, including a prompt to proceed. ```bash $ flatpak --user install ``` ```bash ~**$** flatpak --user install com.github.Eloston.UngoogledChromium Looking for matches… com.github.Eloston.UngoogledChromium permissions: ipc network cups pulseaudio wayland x11 devices file access [1] dbus access [2] bus ownership [3] system dbus access [4] [1] /run/.heim_org.h5l.kcm-socket, home, xdg-run/pipewire-0 [2] org.freedesktop.FileManager1, org.freedesktop.Notifications, org.freedesktop.secrets, org.gnome.SessionManager [3] org.mpris.MediaPlayer2.chromium.* [4] org.freedesktop.Avahi, org.freedesktop.UPower ID Branch Op Remote Download 1. com.github.Eloston.UngoogledChromium.Codecs stable i flathub < 1.1 MB 2. com.github.Eloston.UngoogledChromium.Locale stable i flathub < 112.8 kB 3. com.github.Eloston.UngoogledChromium stable i flathub < 119.0 MB Proceed with these changes to the system installation? [Y/n]: ``` -------------------------------- ### setup-xorg-base usage syntax Source: https://wiki.alpinelinux.org/wiki/Alpine_configuration_management_scripts?__goaway_challenge=cookie&__goaway_id=dcb9fddbb78bc80eaf264fee3d568867 Shows the command-line syntax for setup-xorg-base, which accepts additional packages to install as arguments. This script is standalone and must be run manually. ```bash setup-xorg-base [additional package(s) to install] ``` -------------------------------- ### Install Kamailio packages and enable service Source: https://wiki.alpinelinux.org/wiki/Small_Office_Services?__goaway_challenge=cookie&__goaway_id=44034db692c8ee8f0df1c994f8d05db7 Install Kamailio with presence, PCRE, and PostgreSQL modules, then start and enable the service. ```shell apk add kamailio kamailio-presence kamailio-pcre kamailio-postgres rc-service kamailio start rc-update add kamailio ``` -------------------------------- ### Install NRPE and add to default runlevel Source: https://wiki.alpinelinux.org/wiki/Setting_up_NRPE_daemon?__goaway_challenge=cookie&__goaway_id=dc6a363a812897e2668c9b86d766d063 Install the nrpe package and enable the daemon to start at boot using rc-update. ```shell apk add [nrpe](https://pkgs.alpinelinux.org/packages?name=nrpe&branch=edge&repo=&arch=x86_64&maintainer=) && rc-update add nrpe default ``` -------------------------------- ### Run setup-xen-dom0 and setup-alpine scripts Source: https://wiki.alpinelinux.org/wiki/Xen_LiveCD?__goaway_challenge=cookie&__goaway_id=4b22b85268edf3e58da603cbcea91e28 After booting the Xen LiveCD and logging in as root, execute these scripts in order to set up the Xen dom0 environment and configure Alpine. During setup-alpine, ensure at least one network bridge is configured to allow adding virtual network interfaces for guests. ```bash # setup-xen-dom0 ``` ```bash # setup-alpine ``` -------------------------------- ### Alpine setup-alpine interactive steps Source: https://wiki.alpinelinux.org/wiki/Raspberry_Pi_3_-_Browser_Client?__goaway_challenge=cookie&__goaway_id=7338682739491426fcf3352d6f31a8ca Interactive steps and commands to complete the Alpine installation after boot. Includes setup-alpine, adding dropbear to boot, committing changes with lbu, and installing packages. ```text Insert the SD card into the Raspberry Pi and turn it on Log in to Alpine as root. (There is no password). Type setup-alpine, hit enter. keymap (anything) hostname (anything) network config (anything, but you will need internet) password for root (anything) timezone (anything) proxy (none, ideally) NTP client (busybox should be the lightest) APK mirror (choose the default, Find and use the fastest mirror) Create a user (can skip for now) ssh server (dropbear is the lightest) Disk & Install No disks available. try boot media? [n] Choose where to store configs [mmcblk0p1] Enter apk cache directory [/media/mmcblk0p1/cache] (there will be a warning). That ends the setup-alpine scripts. Then: rc-update add dropbear boot lbu commit (always commit changes if you want them to carry over). reboot login as root again apk add nano (or htop or any other program, note that it will bring in dropbear again) setup-apkcache [/media/mmcblk0p1/cache] (no warning this time) lbu commit reboot now ssh should be available for root (note that if you use openssh you must enable root login via /etc/ssh/sshd_config) ``` -------------------------------- ### Install nginx and remove default config Source: https://wiki.alpinelinux.org/wiki/Nextcloud?__goaway_challenge=cookie&__goaway_id=9b15741f4274d752cfaf677b18963dc9 Install nginx and delete the default site configuration to prepare for custom setup. ```shell apk add nginx ``` ```shell rm /etc/nginx/http.d/default.conf ``` -------------------------------- ### acmetool quickstart Source: https://wiki.alpinelinux.org/wiki/Talk:Nginx_as_reverse_proxy_with_acme_(letsencrypt)?__goaway_challenge=cookie&__goaway_id=810575ac926b77254f49608f1b50e8c8 Initializes acmetool for setting up ACME client. Run this before requesting certificates. ```shell acmetool quickstart ``` -------------------------------- ### Start lightdm display manager Source: https://wiki.alpinelinux.org/wiki/XFCE_Setup?__goaway_challenge=cookie&__goaway_id=934c96e7d1102a2a8e74f2a3507123e2 Starts the lightdm display manager to log in graphically. Requires the lightdm-gtk-greeter package installed. ```shell # rc-service lightdm start ``` -------------------------------- ### Set up APK repositories Source: https://wiki.alpinelinux.org/wiki/Alpine_Linux_in_a_chroot?__goaway_challenge=cookie&__goaway_id=efd4e40695dce1279d7623a4638b6d84 Creates the /etc/apk directory and writes the main repository URL to the repositories file. Replace ${branch} with the latest stable branch name (e.g., v3.3). ```bash mkdir -p ${chroot_dir}/etc/apk echo "${mirror}/${branch}/main" > ${chroot_dir}/etc/apk/repositories ``` -------------------------------- ### Original method: LUKS setup with fdisk Source: https://wiki.alpinelinux.org/wiki/Setting_up_a_laptop?__goaway_challenge=cookie&__goaway_id=aecb0a0d4ca3f2c4f4f82afb62fb0028 Step-by-step commands to create and format a LUKS device with fdisk, open it, format the decrypted drive, mount it, and set up swap. This method implies --type luks and generates metadata. For plausible deniability, pass --header to all luks commands. ```bash cfdisk ``` ```bash cryptsetup --cipher aes-cbc-essiv:sha256 --key-size 256 luksFormat /dev/sda1 /mnt/usb/$(ls) ``` ```bash cryptsetup --key-file /mnt/usb/$(ls) luksOpen /dev/sda1 root ``` ```bash mkfs.ext4 /dev/mapper/root ``` ```bash mkdir -p /mnt/root ``` ```bash mount /dev/mapper/root /mnt/root ``` ```bash cryptsetup -c blowfish -h sha256 -d /dev/urandom --key-file /mnt/usb/59022506d9f4a714 create swap /dev/sda2 ``` ```bash mkswap /dev/mapper/swap && swapon /dev/mapper/swap ```