nyuuzyou/wikis huggingface dataset:
Native Harddisk Install 1.6

=Alpine HD install=
NOTE: This document covers 1.6 release. From version 1.7.3 there is an albootstrap script that will install the basic packages (except grub) into a subdir. The script is available here: http://dev.alpinelinux.org/alpine/v1.7/albootstrap
Alpine is more geared toward live-cd or usb-key usage, but it is possible to install it to a harddisk.
This is how it is done. The Alpine version is 1.6.1
== Installation ==
Create partitions with fdisk. 
 fdisk /dev/hda
You should have 2 partitions: /dev/hda1 as "Linux" (type 83) and /dev/hda2 as "linux swap" (type 82). 
Install needed programs for the setup 
 apk_add e2fsprogs rsync grub
Create filesystem and swap 
 mkfs.ext3 /dev/hda1
 mkswap /dev/hda2
Turn on swap already now 
 swapon /dev/hda2
Mount file-system 
 mount -t ext3 /dev/hda1 /mnt
Install base packages on harddisk 
 ROOT=/mnt apk_add uclibc busybox apk-tools alpine-baselayout alpine-conf grub
If you want pcmcia support, then also add the pcmciautils package 
 ROOT=/mnt apk_add pcmciautils
Install busybox links 
 mkdir /mnt/proc
 mount --bind /proc /mnt/proc
 chroot /mnt /bin/busybox --install -s
 umount /mnt/proc
For convenience, copy the apk repository. 
 rsync -ruav /media/cdrom/apks /mnt
Create the apk.conf: 
 mkdir /mnt/etc/apk
 echo "APK_PATH=file://apks" > /mnt/etc/apk/apk.conf
Copy the hd/ext3 initramfs image, kernel and kernel modules. 
 rsync -ruav /media/cdrom/kernel/generic/hd-ext3.gz /media/cdrom/kernel/generic/bzImage /mnt
 rsync -ruav /lib/modules/* /mnt/lib/modules/
Configure grub 
 grub-install --root-directory=/mnt /dev/hda1
 vi /mnt/boot/grub/menu.lst
It should contain something like: 
 default 0
 timeout 0
 title Alpine Linux
 root (hd0,0)
 kernel /bzImage root_dev=hda1:ext3 alpine_dev=../:ext3
 initrd /hd-ext3.gz
Install grub on MBR: 
 grub
 root (hd0,0)
 setup (hd0)
 quit
Append the swap to fstab: 
 echo -e "/dev/hda2 none swap sw 0 0" >> /mnt/etc/fstab
Unmount, remove cdrom and reboot. (If you can't eject, just remove it manually as the machine reboots) 
 umount /mnt
 eject 
 reboot
After reboot, log in as "root" and run: 
 setup-alpine
Category:Installation
Native Harddisk Install 1.9

= Native Harddisk Install on Alpine 1.9.x =
== Installation ==
Run setup-alpine to configure the keyboard, hostname and networking.
Create partitions with fdisk. 
 fdisk /dev/sda
You should have 2 partitions: /dev/sda1 as "Linux" (type 83) and /dev/sda2 as "linux swap" (type 82). The /dev/sda1 should be bootable.
Install needed programs for the setup 
 apk_add e2fsprogs syslinux mkinitfs
Create filesystem and swap 
 mkfs.ext3 /dev/sda1
 mkswap /dev/sda2
Mount file-system 
 mount -t ext3 /dev/sda1 /mnt
Clone the current running config created by setup-alpine (hostname, networking root password)
 lbu package - | tar -C /mnt -zx
Install base packages on harddisk
 apk add --root=/mnt --initdb apk-tools alpine-baselayout alpine-conf linux-grsec linux-grsec-mod acct mkinitfs
Generate new initramfs image:
 chroot /mnt /sbin/mkinitfs
Create the repositories list. In this example we use the cdrom as repository:
 mkdir -p /mnt/etc/apk
 echo "/media/cdrom/packages/core" >> /mnt/etc/apk/repositories
 echo "/media/cdrom/packages/extra" >> /mnt/etc/apk/repositories
Append the / and swap to fstab:
 echo -e "/dev/sda1 / ext3 defaults 1 1" >> /mnt/etc/fstab
 echo -e "/dev/sda2 none swap sw 0 0" >> /mnt/etc/fstab
Configure the boot loader, extlinux. We use sthe provided syslinux as base.
 cp /media/cdrom/syslinux.cf /mnt/boot/extlinux.conf
 vi /mnt/boot/extlinux.conf
It should contain something like: 
 timeout 20
 prompt 1
 default grsec
 label grsec
 kernel /boot/grsec
 append initrd=/boot/grsec.gz root=/dev/sda1 modules=ext3 quiet
Install the bootloader:
 extlinux -i /mnt/boot
Fix the MBR so its bootable (note that its sda and not sda1)
 dd if=/usr/share/syslinux/mbr.bin of=/dev/sda
Unmount, remove cdrom and reboot. (If you can't eject, just remove it manually as the machine reboots) 
 umount /mnt
 umount /.modloop
 eject 
 reboot
After reboot, you should be able to log in as roto with the password you created in setup-alpine.
Category:Installation
Netboot Alpine Linux using iPXE

== Copy the files needed by iPXE to a web server ==
* For this guide we will provide the files at http://ipxe-boot.example.com/ from the directory /var/www/ixpe-boot.example.com/ on the web server, which is writable by your non-root admin user. We also assume the web server follows symlinks within /var/www/ipxe-boot.example.com (but not outside that directory tree).
* Copy the netboot tarball (for example the 3.16.0 stable release of Alpine's netboot image for x86_64) to your non-root admin user on your web server.
* Extract the netboot tarball to your webserver directory. For example:
 
* This will create a directory structure such as:
boot/
boot/initramfs-lts
boot/config-virt
boot/dtbs-virt/
boot/System.map-lts
boot/vmlinuz-virt
boot/System.map-virt
boot/config-lts
boot/initramfs-virt
boot/modloop-lts
boot/modloop-virt
boot/dtbs-lts/
boot/vmlinuz-lts
== Create an iPXE boot script ==
For example, create a script called with contents:
== Boot using the iPXE boot script ==
=== Using QEMU (for testing) ===
Assuming you have the binary qemu-system-x86_64 on your system:
=== Using Libvirt ===
* Copy the script to your webserver at (substituting for your actual directory, of course).
* Create a new NAT network with XML such:
<network>
 <name>ipxeboot</name>
 <forward mode="nat">
 <nat>
 <port start="1024" end="65535"/>
 </nat>
 </forward>
 <bridge name="virbr1" stp="on" delay="0"/>
 <mac address="52:54:00:a4:10:b3"/>
 <domain name="ipxeboot"/>
 <ip address="192.168.129.1" netmask="255.255.255.0">
 <dhcp>
 <range start="192.168.129.128" end="192.168.129.254"/>
 <bootp file="http://ipxe-boot.example.com/boot.ipxe"/>
 </dhcp>
 </ip>
</network>
* Use virt-install such as:
=== On Vultr.com ===
NOTE: Other cloud providers have similar features, but I haven't used them.
iPXE Boot Feature - Vultr.com
== See Also ==
* Alpine linux netboot server
* Netboot - Archwiki
Netns

netns (network namespaces) are another instance of the network stack with its own network devices (links), ip setup and firewall rules. Besides of using netns for building containers they can be used to get a stricter isolation than using VRFs.
== Prerequisites ==
The packages and patches described in this article are available in Alpine edge and ≥3.19.
== netns management ==
=== iproute2 ===
Netns can be ad-hoc managed using the ip netns commands.
=== ifstate ===
IfState, a declarative network configuration tool, is full netns aware since IfState 1.9.0. The following config example creates a wireguard tunnel and a vlan sub-interface. The wireguard link wg0 and the vlan sub-interface are moved into the vpn netns.
== netns-based Service Isolation ==
Services can be run isolated in a netns (and VRF inside the netns) when running at least OpenRC 0.49.0-r1. You can set the $netns variable for the service in in most cases.
The netns must already be created before a service can be started inside of it!
== netns-compatible initd scripts ==
Not all initd scripts might be netns compatible. Some network stack related packages have been patched to be netns aware:
* ipset
* iptables
* nftables
Category:Networking
NetworkManager

NetworkManager is the standard Linux network configuration tool suite. For the list of all NetworkManager subpackages refer 
== Installation ==
Networkmanager needs to have udev to be setup properly. Otherwise your network devices can be listed as (strictly-)unmanaged. 
For Networkmanager to manage devices, your user needs to be in the plugdev group: 
Install the basic Network Management daemon of NetworkManager suite:
There are multiple user interfaces available in NetworkManager suite. Choose the appropriate subpackage:
* TUI: , a curses-based interface (run nmtui)
* Command line: (run nmcli)
* GUI: for Plasma integration and applet
* GUI: for a GTK system tray applet
== Networkmanager service ==
Ensure that network interfaces are configured and tested.
Start NetworkManager:
Set the service to autostart on boot:
== Wired networks ==
If wired networks do not appear or you get an error message like "Could not activate connection: Connection 'Ethernet connection 1' is not available on device eth0 because device is strictly unmanaged", add the following to :
== Wireless networks ==
Install package if you want NetworkManager to connect and manage wifi:
NetworkManager supports both wireless daemons i.e iwd and wpa_supplicant. Using both may lead to conflicts.
=== wpa_supplicant backend ===
wpa supplicant is the default in Alpine Linux and can be configured to start on system boot.
Now open in a text editor and change it to something like this: 
Now you need to stop conflicting services:
Now restart NetworkManager:
Now connect to a network using one of the interfaces configured. If that connects and stays connected with no issues enable the networkmanager service and disable the networking and wpa_supplicant boot services:
=== iwd backend ===
NetworkManager supports wireless networks with iwd as backend, however, consider existing issues before using it. 
Using both wireless daemons i.e wpa_supplicant and iwd simultaneously lead to conflicts. Once iwd has been configured, ensure that wpa_supplicant and related services are stopped before continuing. Start the iwd service and restart NetworkManager:
To use iwd as backend edit NetworkManager's configuration because it still defaults to wpa_supplicant. Edit the file and ensure that [device] section appears as follows: 
== VPN support ==
NetworkManager has support for Wireguard and support for other VPN's are provided by plugins in the following subpackage:
* for OpenVPN
== Plasma support ==
== Troubleshooting ==
=== nm-applet not authorized to control networking ===
You can enable all users to edit connections without adding polkit.
First, make the conf.d directory for networkmanager:
Then, add following content to so that 
Finally, restart networkmanager: 
== See also ==
* Networking - Main page
* wpa_supplicant - Default wifi daemon
* iwd - An alternate wifi daemon
Category:Networking
Nftables

The package provides user-space tools to control the Linux nftables subsystem.
A service that loads the rules from can be enabled with:
 rc-update add nftables boot
 rc-service nftables start
The default rules shipped will block all incoming connections.
= Packaged Rules =
Many packages with server software are accompanied by an -nftables package which include the typical default rules to expose the server.
For example, openssh-nftables will open the default port used by openssh (i.e.: TCP port 22).
To enable these rules, they must be symlinked in nftable's configuration directory. E.g.:
ln -s /usr/share/nftables.avail/sshd.nft /etc/nftables.d/sshd.nft
= See also =
* nftables - ArchWiki
* nftables project homepage
* Uncomplicated Firewall: Firewall program with higher level abstractions.
Category:NetworkingCategory:Security
NgIRCd

ngIRCd is a free open source server for Internet Relay Chat (IRC). It has been written from scratch and is consequently, unlike most other IRC daemons, not based on the originator, the daemon of the IRCNet.
== Installing ngIRCd ==
== Configuring ngIRCd ==
The ngircd.conf is a sample configuration file for the ngIRCd IRC daemon, which must be customized to the local preferences and needs. 
You will find a lot of configuration lines to uncomment and configure. At least you have to set the IRC Channels you want to use, that is under [Channel].
e.g.: 
 [Channel]
 # Name of the channel
 Name = #Support
 # Topic for this channel
 Topic = Support Channel - Please ask :)
 # Initial channel modes
 Modes = p
 # initial channel password (mode k)
 ;Key = Secret
 # Key file, syntax for each line: "<user>:<nick>:<key>".
 # Default: none.
 ;KeyFile = /etc/ngircd/#chan.key
 # maximum users per channel (mode l)
 ;MaxUsers = 23
Note: You can add all the channels you want!!
== Start irc server and add to boot ==
Now, connect to your IRC Server ip number, with your choice of IRC Client.
Category:Server
Nginx as reverse proxy with acme (letsencrypt)

== Introduction ==
This setup will allow you to have multiple servers/containers accessible via a single IP address with the added benefit of a centralized generation of letsencrypt certificates and secure https (according to ssllabs ssltest). Be aware that you first need to setup a regular HTTP server in order to be able to generate your HTTPS certificates and keys. After you have generated them, you can then add your HTTPS host based configuration.
See the NGINX page for general information about Nginx, starting/stopping the service etc.
== Installation ==
For this howto, we need three tools: NGINX, and (to generate Diffie–Hellman Parameters).
== Setup ==
=== NGINX HTTP ===
==== Global configuration ====
First step is to refactor our global nginx.conf. Its target at a low traffic http server, to increase performance make changes at top level.
==== SSL configuration ====
Configure a file with all SSL-parameters that we can include in the virtual hosts configs later on.
The security settings are inspired by the Mozilla SSL Configuration Generator. Please also read https://hstspreload.org for details about HSTS.
==== Per site configuration files (conf.d) ====
Since Alpine v3.5, we ship NGINX with a default.conf within the directory.
To add support for another website, you can add files with the .conf extension to this directory:
==== Common configuration includes ====
If you need to setup multiple proxy setups, you can include duplicated data such as shown below:
=== acme-client ===
To allow NGINX to support https, we need to add certificates and support for ACME (Automatic Certificate Management Environment) responses.
==== ACME responses ====
And add this to your proxy configuration:
==== Automatic generation of certificates ====
Create the following file:
Make it executable:
 chmod +x /etc/periodic/weekly/acme-client
This script will run weekly to verify whether one of your certificates is outdated and renew them when needed.
If you have several domains, you can add them to the hosts= variable with a space between each domain. This will create a separate certificate and key for each:
hosts="alpinelinux.org example.com foo.org bar.io"
==== Initial generation of keys and certificates ====
To create your initial certificates and keys, you have to run this manually the first time:
 
Watch the output and see if all goes well. When it's finished, you should have files in:
 /etc/ssl/acme/alpinelinux.nl/fullchain.pem
 /etc/ssl/acme/private/alpinelinux.org/privkey.pem
=== NGINX HTTPS ===
==== Per site HTTPS configuration ====
Add the following below the previous HTTP configuration:
=== Redirect HTTP to HTTPS ===
==== Shared configuration ====
Create the following file:
==== Update host configuration ====
=== Complete host example with IPv6 support ===
Category:Authentication
Category:Networking
Category:Web Server
Odoo

= Introduction =
Odoo is an all-in-one business software including CRM, website/e-commerce, billing, accounting, manufacturing, warehouse - and project management, and inventory.
= Preparing Alpine =
After installation and the usual repo update/upgrade add user for odoo (does not have to be named odoo)
= Installing dependencies =
Clone Odoo git repository
Install python dependencies
= Postgres installation =
Create, configure and start database
Create new database user (Odoo will not run under default postgres user)
= Running Odoo =
This will serve Odoo on localhost:8069 and connect to odoo DB using Unix socket
= Also see =
Odoo Odoo's installation instructions
Category:Server
Oneye

oneye is a takeover of the legacy series 1 from the eyeos project. This new project is powered by the community around the web desktop eyeos 1.
In addition new technologies get combined and a totally new designed framework will be released as oneye 0.9. You can log into this cloud using a desktop, or a mobile phone.
= Install lighttpd, PHP, and sqlite =
== Configure lighttpd == 
Uncomment include "mod_fastcgi.conf"
= Installing and configuring oneye =
Install oneye
* Make the webapps folder
* Change directory and retrieve the file
* Unpack 
* Rename Folder 
* Unpack the config files 
* Change Persmissions
* Make symlinks to oneye
== Starting the web server ==
 
Start http service and add to boot
== Config your eyeos ==
Browse to: http://WEBSERVER_IP_ADDRESS/oneye/installer
 Please fill out the following form to install oneye:
 
 Root Password
 
 Retype Password
 
 System Name
 
 Allow users to create accounts (yes/no)
When you finish, press the "Install oenye!" button, and thats all. :)
You have eyeOS cloud computing system working. 
After creating your account, to log from:
* Desktop: http://WEBSERVER_IP_ADDRESS/oneye/
* Iphone: http://WEBSERVER_IP_ADDRESS/oneye/iphone/
* Mobile: http://WEBSERVER_IP_ADDRESS/oneye/mobile/
== eyeSync==
You can use this application to synchronize two or more folders between a remote server and your local desktop, as a Dropbox alternative.
In order to run eyeSync, you need to install the .NET Framework first, (only on Windows) or Mono.
Windows users are recommended to take the simplest install package. 
 Windows side
* Download the application
* Configure eyeSync
After install, you have to set:
 Server URL: http://WEBSERVER_IP_ADDRESS/oneye/
 User / Password: 
Now you can create jobs to synchronize from Remote to Local / Local to Remote, manual or automatic/scheduled.
Category:Desktop
Category:Server
Category:PHP
Open-vm-tools

When installing Alpine Linux on an ESXi or VSphere system you definitely want to enable the hypervisor tools. The good news is that Alpine has this package ready to go! Open-VM-Tools provides the VMWare hypervisor info from Alpine and other Linux.
=== Changes ===
Since alpine 3.12 the open-vm-tools version 11 was split into packages:
* 
** 
** 
** 
** 
guestinfo is required for IP Discovery to work. 
deploypkg provides support for Guest OS Customization
=== Installation ===
Enable the community repository by editing and uncommenting the community repository, and then run apk update.
=== Start once ===
=== Add to boot ===
=== Verify in ESXi/VSphere its working ===
Look for: VMware Tools (Running, version:xxxx)
Working Tools.png|Working ESXi Tools
OpenVCP

OpenVCP is a Open-Source VServer Control Panel published under the GNU General Public Licence (GPL). OpenVCP is developed for use with Linux in combination with Linux-Vserver ( http://www.linux-vserver.org ). It provides a web-based interface to manage a whole farm of VServer hosts, build guests, control the guests, account traffic and much more.
== Install openvcp daemon ==
Download 
Unpack and delete tar file
Configure Compile & install the daemon
Create directories 
Edit the config file
Change "IP" to your own ip and "Ifaces" to the interface you want to measure traffic on
Copy some images to your image directory usually "/vservers/images" (e.g.: http://www.openvcp.org/wiki/Downloads. ( These Images are just folders that contain a Linux system ) 
Start the daemon 
== Install openvcp web access with Lighttpd ==
Install extra packages
== Configuring MySql ==
 /usr/bin/mysql_install_db --user=mysql
 rc-service mysql start && rc-update add mysql default
 /usr/bin/mysqladmin -u root password 'password'
Create the openvcp database
Note: you can import the database from command line or from the openvcp web page later.
 mysql -u root -p
 CREATE DATABASE openvcp;
 GRANT ALL PRIVILEGES ON openvcp.* TO "root";
 FLUSH PRIVILEGES;
 EXIT
== Installing openvcp web access ==
Make webapps folder
 mkdir /usr/share/webapps/ -p
Download 
 cd /usr/share/webapps/
 wget http://files.openvcp.org/openvcp-web-0.5rc3.tar.gz
Unpack and delete tar file
 tar zxvf openvcp-web-0.5rc3.tar.gz
 rm openvcp-web-0.5rc3.tar.gz
Change Folder Persmissions
 chmod -R 777 /usr/share/webapps/openvcp/core/cache
Make symlinks to openvcp
 ln -s /usr/share/webapps/openvcp/ /var/www/localhost/htdocs/openvcp
== Configuring openvcp web access ==
Browse to: http://WEBSERVER_IP_ADDRESS/openvcp/ and Install openvcp completing the information as appropriate from the web browser.
Openvcp Installation steps:
Welcome to the setup of OpenVCP 
MySQL
* host: 			localhost
* dn:				openvcp
* user: 			root
* Password:			password
* prefix:			openvcp_
Other
* location:			/openvcp
relative to webroot
* default locale:	en_US
* admin email:		yourname@email.com
After set all click on "setup" to finish the installation. 
Congratulations, you installed openvcp!
You have openvcp web access system working, to access go to http://WEBSERVER_IP_ADDRESS/openvcp/ user: Admin password: test
Category:Server
Category:Virtualization
OpenVSwitch

Category:Networking
This document describes how to configure an OpenVSwitch in Alpine Linux.
== Installing OVS ==
apk add openvswitch
rc-update add ovs-modules
rc-update add ovsdb-server
rc-update add ovs-vswitchd
rc-service ovs-modules start
rc-service ovsdb-server start
rc-service ovs-vswitchd start
== Using ovs-vsctl ==
Open VSwitches are manually managed with the ovs-vsctl command.
To manually create a switch named "lan":
To add interface eth0 to the switch "lan":
Note: You need to set the link status to up on the added interfaces.
To see what OVS are defined:
To see what interfaces are linked to the lan OVS:
To enable spanning tree (if needed):
LACP Timer setting 'fast' mode:
== Using OVS appctl ==
ovs-appctl lacp/show bond0
== Configuration file ==
configured in /etc/network/interfaces
auto eth0 lan
iface eth0 inet manual
 up ifconfig eth0 0.0.0.0 up
 down ifconfig eth0 down
iface lan inet dhcp
== OVS and qemu ==
=== Helper scripts ===
ovs-ifup-
#!/bin/sh
switch=$(echo $0|/usr/bin/cut -d- -f3)
[ -z ${switch} ] && echo "Please define some symlink with suffix to use." && exit 1
[ $# -lt 1 ] && echo "Too few params. Must be 1 and is $#." && exit 2
/sbin/ifconfig $1 0.0.0.0 up
ovs-vsctl add-port ${switch} $1
logger "qemu: $1 added to ${switch} at startup of VM"
ovs-ifdown-
#!/bin/sh
switch=$(echo $0|/usr/bin/cut -d- -f3)
[ -z ${switch} ] && echo "Please define some symlink with suffix to use." && exit 1
[ $# -lt 1 ] && echo "Too few params. Must be 1 and is $#." && exit 2
/sbin/ifconfig $1 0.0.0.0 down
ovs-vsctl del-port ${switch} $1
logger "qemu: $1 removed from ${switch} at shutdown of VM"
== OVS and LXC ==
=== Helper scripts ===
lxc-ovs-ifdown- 
#!/bin/sh
switch=$(echo $0|/usr/bin/cut -d- -f4)
[ -z ${switch} ] && echo "Please define some symlink with suffix to use." && return 1
[ $# -lt 5 ] && echo "Too few params. Must be 5 and is $#." && exit 2
nic=$5
/usr/bin/ovs-vsctl del-port ${switch} ${nic}
/usr/bin/logger "lxc: ${nic} removed from ${switch} at shutdown of VM."
== Caveats ==
Ensure you have OVS package files available at the next reboot! That can be a problem when running from RAM with no cache...
Openbox

Openbox is a minimalistic, highly configurable, next generation window manager with extensive standards support. 
== Installation ==
Install X11 and set it up using the setup-xorg-base script.
Install the basic packages for a minimal installation:
 is needed so you have a way to access the terminal in X. There are alternatives but this is the classic.
 is needed because without any fonts, you will not be able to see any text in Openbox.
=== Configure user ===
To make Xorg work as normal user you need to add user to these groups: video, input.
=== acpid ===
If you installed your Alpine Linux as a VirtualBox or VMWare guest, you might find it handy to be able execute an ACPI shutdown.
=== Set Openbox as the default WM ===
=== Copy the config files to your home folder ===
 
=== Edit Openbox settings ===
You can now edit the Openbox settings for your user by editing the files located in ~/.config/openbox
The Openbox configuration details can be studied on the Openbox wiki.
== Start X ==
== Troubleshooting ==
== See also ==
* Openbox - Archwiki
Category:Desktop
category: Window Managers