nyuuzyou/wikis huggingface dataset:
OsTicket

osTicket is a widely-used open source support ticket system. It seamlessly integrates inquiries created via email, phone and web-based forms into a simple easy-to-use multi-user web interface. Manage, organize and archive all your support requests and responses in one place while providing your customers with accountability and responsiveness they deserve.
osTicket is an attractive alternative to higher-cost and complex customer support systems; simple, lightweight, reliable, open source, web-based and easy to setup and use. The best part is, it’s completely free.
= Install lighttpd, PHP, and MySql =
= Configure lighttpd =
Uncomment line:
include "mod_fastcgi.conf"
= Start lighttpd service and add to needed runlevel =
= Installing and configuring osTicket =
Create a webapps folder
Get the source code
= Prepare the config file =
= Edit the php.ini =
Set:
short_open_tag = On
Restart lighttpd
= Config and start MariaDB =
/usr/bin/mysql_install_db --user=mysql
rc-service mariadb start && rc-update add mariadb default
/usr/bin/mysqladmin -u root password 'password'
= Create the osTicket database =
CREATE DATABASE osticket;
GRANT ALL PRIVILEGES ON osticket.* TO 'osticket'@'localhost' IDENTIFIED BY 'osticket password';
FLUSH PRIVILEGES;
EXIT
= Config osTicket =
Browse to http://WEBSERVER_IP_ADDRESS/ and set:
All fields are required.
osTicket web path and title
Url to osTicket installation on your server and the title.
HelpDesk URL:
HelpDesk Title:
System email
Default system email (e.g support@yourdomain.com) You can change or add more emails later.
Default Email:
Admin user
Min of six characters for the password. You can change or add more users later.
Username:
Password:
Password (again):
Email:
Database
MySQL (version 4.4+) is the only database supported at the moment.
MySQL Table Prefix: ost_
MySQL Hostname: localhost
MySQL Database: osticket
MySQL Username: root
MySQL Password: password
and click Install
After the Congratulations osTicket basic installation completed!. click Admin Panel -> Login
After config all in the diferentes tabs, goto Settings tab and check Online on Helpdesk Status
You have osTicket working!
* To add a ticket: http://WEBSERVER_IP_ADDRESS/
* To administrate: http://WEBSERVER_IP_ADDRESS/scp/login.php
= Final steps =
Remove the installer
= Adding language support =
You can add a new language by just downloading the phar file to 
Here is an example
Category:PHP
Category:SQL
PAM

To use PAM, the package itself must be installed as well as something for logging into the system that supports PAM. The login bundled with busybox does not support PAM. Instead, one of the following may be used:
* greetd plus any greeter
* login(1) provided by 
* login(1) provided by 
== ulimit ==
ulimit permissions can be changed via /etc/security/limits.conf. These will only apply if a PAM-compatible tool is used for logging in (as indicated above).
== See Also ==
* PAM on the Gentoo Wiki
* PAM on the ArchLinux Wiki
Category:Kernel
Category:Authentication
PHP Shell

PHP Shell is an interface to execute shell-commands or browse the filesystem on your remote web server.
= Install lighttpd, PHP, and MySql =
= Installing and configuring PHP Shell =
Create the a folder named webapps
Download the source code
Unpack the archive, rename the created folder, and remove it afterwards
Change the folder permissions
Make a symlinks to the phpshell folder
= Configuration of PHP Shell =
Browse to http://WEBSERVER_IP_ADDRESS/phpshell/pwhash.php and generate a hashed password for your username. 
 fabian = "sha1:1c53656:0ffc35a857573c3b45eb0a6d9fdfc29d59b94306"
Add this to the 
Now you should be able to login at http://WEBSERVER_IP_ADDRESS/phpshell/phpshell.php
Category:PHP
PPP

== Installation ==
PPP (Point-to-Point Protocol) allows multiple transports, eg. PPPoE is PPP over Ethernet.
=== PPPoE ===
== Configure PPP ==
=== PPP peer file ===
Such file is usually located as /etc/ppp/peers/<isp>. See pppd(8) for all possible options.
==== PPPoE ====
This example peer file is based on Debian's peers-pppoe extra file. See that pppoe.so plugin as eth0 as device defined.
user "myusername@realm"
plugin pppoe.so eth0
noipdefault
usepeerdns
defaultroute
persist
noauth
Note that if you have a version of ppp older than 2.4.9, the pppoe.so plugin is named rp-pppoe.so.
=== Authentication ===
CHAP authentication is most used one but there are other ones, see pppd(8).
==== /etc/ppp/chap-secrets ====
# Secrets for authentication using CHAP
# client	server	secret			IP addresses
"myusername@realm"	 *	"<your password>"
== Kernel modules ==
=== PPPoE ===
pppoe must be present in /etc/modules when using PPPoE.
== ifupdown-ng intergration ==
To use /etc/network/interfaces with a ppp defintion automatically, ifupdown-ng-ppp package must be installed.
Example for PPP configuration in /etc/network/interfaces, see interfaces-ppp(5) for more info.
auto eth0
iface eth0 up
auto ppp0
iface ppp0
	ppp-provider isp
== Tips ==
=== pppoeconf ===
Debian created pppoeconf tool which helps configuring PPPoE. First some utils have to be installed.
 
Category:Networking
Package Maintainers

* You can be maintainer without having commit access. Committers can do commits and maintainers can send patches to committers. Any committers can apply patches from maintainers. (This is similar to what FreeBSD does)
* The maintainer is responsible for the package and is expected to:
** fix bugs in their package
** keep it updated. This includes following upstream announcement list, RSS feeds etc., and providing updates to Alpine Linux in a timely fashion.
*** it seems easier for maintainers to add their packages Anitya for automated release monitoring
* Committers and others should confirm with the maintainer before making any changes to the package.
Category:Development Category:Package Manager
Package policies

The Alpine Linux Package Policies describe some of the policies when creating packages.
== Package Names ==
* All package names should be lowercase.
* Development files are placed in subpackages with -dev suffix (e.g. uclibc-dev)
* Documentation files (incl. man pages) are placed in subpackages with -doc suffix (e.g. expat-doc)
* Lua modules (not applications) are prefixed with lua-. (e.g. lua-posix)
* Perl modules (not applications) are prefixed with perl-. (e.g. perl-xml-parser)
* Python 2 modules (not applications) are prefixed with py2-. (e.g. py2-libxml2) (Python3 is used exclusively in current alpine versions)
* Python 3 modules (not applications) are prefixed with py3-. (e.g. py3-libxml2)
* Kernels and third party modules should be suffixed with the kernel flavor. (e.g., -grsec, -vserver).
# Don't use - sign in kernel flavor name.
# Specify KERNEL_FLAVOR_DEFAULT as your kernel flavor if you want boot your kernel by default.
== Package versions ==
* Package versions are similar to gentoo or other distributions, e.g. 10.2.33, 4.5_alpha, 20200712-r0:
# See Semantic Versioning
# Alpha, release candidates (_rc2), etc are prefixed with underscore _ not a hyphen.
# Subsequent package versions are -r0, -r1, and so on; the number is from $pkgver.
# Subsequent package fixes are _p0, _p1.
# Test your proposed version with apk, for example apk version --check 3.2.1-rcN. The result is nothing if it is valid.
== Licensing ==
* The license identifier used is the short-identifier SPDX.
* The license of the program should be based on the licenses approved by the Free Software Foundation or OSI.
* If you are unsure about the license, please ask in our IRC channel.
Category:Development
Packer installation

== Basic understanding ==
Alpine Linux installer is just a bunch of shell scripts, see setup-alpine.in in alpine-conf repository. Understanding this is key to success.
== packer example boot_command ==
This is a part of 'boot_command' from QEMU builder:
 "boot_command": [
 "root<enter><wait>",
 "ifconfig eth0 up && udhcpc -i eth0<enter><wait5>",
 "wget http://{{ .HTTPIP }}:{{ .HTTPPort }}/answers<enter><wait>",
 "setup-alpine -f answers<enter><wait5>",
 "{{user `ssh_password`}}<enter><wait>",
 "{{user `ssh_password`}}<enter><wait5>",
 "<wait>y<enter><wait10>",
 "rc-service sshd stop<enter>",
 "mount /dev/sda3 /mnt<enter>",
 "echo 'PermitRootLogin yes' >> /mnt/etc/ssh/sshd_config<enter>",
 "umount /mnt<enter>",
 "reboot<enter>"
 ],
What it does is to mimic a human typing in "console" (VNC). Before running Alpine Linux installer (ie. 'setup-alpine') it does:
* logins in as 'root' (installation media doesn't require password)
* configures first network interfaces via DHCP
* gets 'answers' file from 'packer' built-in HTTP server to be able to start automated installation
* runs Alpine Linux 'setup-alpine' installer script with 'answers' file
* as 'setup-alpine' script asks to configure root password, it just does that
* after that, you can run whatever commands you want, but keep in mind that it is still installer media; you can 'reboot' into installed system and run 'provisioners'
The 'answer' file can be something like this:
 KEYMAPOPTS="us us"
 HOSTNAMEOPTS="-n alpine"
 INTERFACESOPTS="auto lo
 iface lo inet loopback
 
 auto eth0
 iface eth0 inet dhcp
 "
 DNSOPTS="-n 8.8.8.8"
 TIMEZONEOPTS="-z UTC"
 PROXYOPTS="none"
 APKREPOSOPTS="-1"
 SSHDOPTS="-c openssh"
 NTPOPTS="-c openntpd"
 DISKOPTS="-L -m sys /dev/vda"
== packer example provisioners ==
 "provisioners": [
 {
 "type": "shell",
 "scripts": [
 "{{ template_dir }}/../scripts/00_alpinelinux_base.sh",
 "{{ template_dir }}/../scripts/99_alpinelinux_base.sh"
 ]
 }
 ],
Category:Installation
Pantalaimon

Pantalaimon is a Matrix proxy that handles end-to-end encryption support.
== Installation ==
It can be installed with the package, and the panctl command line tool is in the package.
== Quickstart ==
There are two ways pantalaimon can be used: the first is to allow a bot access to an encrypted room, and the second is allowing a human to use access an encrypted room with a client that doesn't support end to end encryption yet. This wiki page currently only cover the second use case.
First, create a config file for pantalaimon at :
 [MyMatrixServer]
 Homeserver = https://matrix.myserver.xyz
 ListenAddress = localhost
 ListenPort = 8009
This is the minimal configuration file, but man 5 pantalaimon will allow you to explore the various options.
Then launch pantalaimon as your user. You can then control it through dbus using panctl.
You should then log in using your regular Matrix client using http://localhost:8009 as your server.
== Related links ==
* the upstream readme
* the initial MR
Pastebin

A quick'n dirty doc about how to install a private pastebin service.
There are a lot of pastebin services (https://web.archive.org/web/20111205120332/https://en.wikipedia.org/wiki/Comparison_of_pastebins). We're going to use the oldest pastebin service, without DB support but only file.
Requirements:
* An up-and-running Web server (here are quoted apache, but is also possible to add nginx and lighttpd configuration) with modules:
* PHP
* vhosts
* mod_rewrite (for Apache and lighttpd, or NginxHttpRewriteModule for nginx)
== Download Pastebin setup file ==
== Web Server Configuration to host pastebin ==
Apache
Unzip the downloaded file in the web server vhosts dir:
Rename vhosts dir:
* Edit /etc/apache/httpd.conf and add the following:
 <VirtualHost *:80>
 ServerName pastebin.my.domain
 DocumentRoot /var/www/vhosts/pastebin/public_html
 ErrorLog /var/log/apache2/pastebin-error.log
 CustomLog /var/log/apache2/pastebin-access.log common
 php_value include_path .:/var/www/vhosts/pastebin/lib
 php_value register_globals off
 DirectoryIndex pastebin.php
 RewriteEngine on
 RewriteLog /var/log/apache2/pastebin-rewrite.log
 RewriteRule /([a-z0-9]+)$ /pastebin.php?show=$1 [L]
 </VirtualHost>
lighttpd
* Edit lighttpd.conf:
 $HTTP["host"] =~ "(^|\.)paste.bin\.com$" {
 server.document-root = "/var/www/vhosts/pastebin/public_html"
 accesslog.filename = "/var/log/lighttpd/pastebin/access.log"
 fastcgi.server = (
 ".php" => (
 "localhost" => (
 "bin-path" => "/usr/bin/php-cgi",
 "socket" => "/tmp/php-pastebin.socket",
 "min-procs" => 1,
 "max-procs" => 2,
 "bin-copy-environment" => (
 "PATH", "SHELL", "USER"
 )
 )
 )
 )
 compress.cache-dir = "/var/www/cache/pastebin/"
 url.rewrite-once = (
 "^/(pastebin.css)" => "$0",
 "^/(pastebin.js)" => "$0",
 "^/diff/(.*)" => "/pastebin.php?diff=$1",
 "^/(.*)" => "/pastebin.php?show=$1"
 )
 }
Nginx
* Edit nginx.conf (this is the significative part).
 rewrite ^/([a-z0-9]+)$/pastebin.php?show=$1 last;
== Configure pastebin ==
The configuration file is outside the directory "public_html", but is in "/lib/config" dir.
Copy default.conf.php into file that match your fqdn where pastebin service is hosted (e.g. pastebin.mydomain.com) with .conf.php extension.
In this case, will be: pastebin.mydomain.com.conf.php
* Edit pastebin.mydomain.com.conf.php and modify the following part:
 $CONF['dbsystem']='file';
 $CONF['base_domain_elements']=2;
The others directive are not mandatory, but should be modified according with your needs.
The first directive mean that the backend must be a file instead of mysql (that is by default).
The second specify which part of the filename pastebin.mydomain.com.conf.php is the domain name. 
In this case the number is 2: mydomain and com.
Now, you have to create the directory that will contain the posts file. 
According with db.file.class.php the directory must be $_SERVER['DOCUMENT_ROOT'].'/../posts/ and must be writable by the user which runs webserver daemon.
Now, restart the web server. Pastebin service should be reachable on pastebin.mydomain.com
Category:Server
Category:PHP
Patchwork

Patchwork is a widely used patch review system.
This How-To aims to give a basis to setup Patchwork with PostgreSQL as backend.
There are some aspects which can be improved that this how-to is not covering.
* Create an apk for patchwork with init script
* Describe how to setup Patchwork for one project
* Describe how to setup Patchwork with MariaDB
== Initial package installation and setup PostgreSQL==
Create a regular account called "pwuser":
As root:
Last two users are hardcoded in one of the next sql script. That's why you need to create it.
== Patchwork Installation and Configuration ==
Login with "pwuser" and clone the patchwork's git repository:
Create a local_settings.py starting from settings.py:
Customize local_settings.py according with your need.
SECRET_KEY can be generated with the following python script:
import string, random
chars = string.letters + string.digits + string.punctuation
print repr("".join([random.choice(chars) for i in range(0,50)]))
Now, populate PostgreSQL with patchwork database.
As "pwuser":
At the end, the script will ask for patchwork's administrator username,email, and password.
Run another script for setting up the user's permissions:
Now you can run the server:
Point your browser to http://$PATCHWORKS_SERVER_ADDRESS:8000
Login with the username and password you set before.
Enjoy.
Category:Mail
Category:Server
Category:Programming
PhpMyAdmin

phpMyAdmin is a free software tool written in PHP intended to handle the administration of MySQL over the World Wide Web. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement. 
== Install lighttpd, PHP and MySql ==
Install extra packages:
== Configuring MySql ==
== Installing phpMyAdmin ==
Create a directory named 
Download the source code
Unpack the archive and remove the archive
Rename the folder
 
Change the folder permissions
Create a symlink to the phpmyadmin folder
== Log on your phpMyAdmin ==
Browse to: https://WEBSERVER_IP_ADDRESS/phpmyadmin and logon to phpMyAdmin using your MySQL user and password.
Category:PHP
Category:SQL
PhpPgAdmin

phpPgAdmin is a web-based administration tool for PostgreSQL.
== Install lighttpd, PHP, and postgresql ==
Install extra packages
== Configuring postgresql ==
Starting http service and adding to boot.
== Installing phpPgAdmin ==
Create a directory named 
Download the latest release of phpPgAdmin.
Unpack and delete the tar file
Change the folder name
Copy the sample config file name
Change the folder permissions
Create a symlink to the folder
== Log on your phpPgAdmin ==
Browse to: http://WEBSERVER_IP_ADDRESS/phppgadmin and logon to phpPgAdmin using postgresql user and password.
Category:PHP
Category:SQL
PhpSysInfo

phpSysInfo is a simple application that displays information about the host it's running on.
The following stuff is shown
* Uptime
* CPU
* Memory
* SCSI, IDE, PCI
* Ethernet
* Floppy
* Video Information
== Install lighttpd and PHP ==
== Installation of pypSysInfo ==
Create a directory named 
Now get the current release of phpSysInfo.
Unpack the archive in the current location
A is needed to run phpSysInfo. The fastest way is to make a copy of the template file.
Create a symlink that point to the webserver directory.
Change the permission of the directory.
Restart lighttpd
Now the page is up and running
http://IP-ADDRESS/phpsysinfo
Category:Monitoring Category:PHP
Phpizabi

PHPizabi is (was?) a social networking platform. 
== Install lighttpd, PHP and MySql ==
Install extra packages:
== Configuring MySql ==
Create the phpizabi database
== Installing and configuring phpizabi ==
Create a directory named 
Download the latest source code archive 
Unpack the archive and delete it afterwards
Change folder 
Change the folder persmissions
Create a symlink to the folder
== Configuring phpizabi ==
Browse to: http://WEBSERVER_IP_ADDRESS/phpizabi and Install phpizabi completing the information as appropriate from the web browser.
phpizabi Installation steps:
Welcome!
Review License Agreement
* Please review the license agreement before you install the software.
::I have read and I agree to the PHPizabi end user license agreement
* System Integrity Check 
* Database Information
* Set up database
Please fill in the form below 
* Database Information
* Please fill in the form below
::MySQL Database Information
::Tables prefix: 	dontchange
::Database Username: 	root
::Database Password: 	password
::Hostname: 	localhost
::Database name: 	phpizabi
:::Attempt to create the database if it doesn't exist
* Database Structure Creation
This step will create your database structure. Please stand by while in the creation process. 
Continue
* Admin Account Creation
:Please fill in the form below to create your administrative account
::Administrator information
::Username: 	
::Email Address: 	
::Password: 	
Submit, Continue, Finish.
Review the messages above before visiting your new site.
You have phpizabi social networking platform installed, to access go to http://WEBSERVER_IP_ADDRESS/phpizabi and enjoy!
Category:PHP
Category:SQL
Pllua

PL/Lua is an implementation of Lua as a loadable procedural language for PostgreSQL: with PL/Lua you can use PostgreSQL functions and triggers written in the Lua programming language.
= How to Install and Use PL/Lua =
# Install PL/Lua
 apk add pllua
# Install PL/Lua on your database.
 psql -U postgres -f /usr/share/postgresql/contrib/pllua.sql <DBNAME>
== Official Documentation ==
Official documentation is found at http://pllua.projects.postgresql.org/.
== Additional Functions ==
These functions may not be listed in other documentation, but were found by printing entries in _G in a PL/Lua trigger.
 _PLVERSION PL/Lua
 fromstring function:
 info function:
 log function:
 notice function:
 server table:
 setshared function:
 shared table:
 trigger table:
 warning function:
Category:Lua
Category:SQL
Podman

== Installation ==
Podman can be installed via package in the community repository.
=== Running as root ===
To run podman you'll need to enable the cgroups service, consider enabling cgroups v2.
You might need to restart your machine for this to work properly.
If you are running on top of Btrfs, consider setting storage driver to btrfs:
 driver = "btrfs"
If you're running inside a container, change the storage driver to vfs
=== Running in rootless mode ===
For rootless support (replace <USER> with your username):
Run an example container to verify everything works:
==== Shared mount ====
Containers on linux might require filesystems to be mounted with different propagation than the kernel default of 'private'. If you see a warning:
: WARN[0000] "/" is not a shared mount, this could cause issues or missing mounts with rootless containers 
you might want to fix this temporarily, for currently running system:
and try the command that caused the warning again. 
Alternatively, you could use following command:
which should print:
 PROPAGATION
 shared
For a permanent fix (after a OpenRC PR#526 is released - in newer version than 0.54.2-r1), edit :
 
Add shared option to the root partition:
 /dev/sda2 / ext4 rw,relatime,shared 0 1
and after a reboot test it out similarly as above.
=== Docker compose ===
Podman provides a drop-in replacement for docker compose. The package provides this.
Each time that docker compose is used, a warning will remind that this is using podman under the hood. This warning can be squelched permanently by running:
Category:Virtualization
Postgresql

PostgreSQL is a well known opensource database that scales well and is easy to use.
== PostgreSQL 16 ==
To install, configure, and use PostgreSQL 16, which is the latest release, please refer to the PostgreSQL 16 Alpine Wiki page. It will also create a system user called postgres.
== PostgreSQL 15 ==
To install PostgreSQL 15,
This will start the postgresql 15 server and perform some initial configuration. It will also create a system user called postgres.
To configure and use PostgreSQL, please refer to the PostgreSQL 16 Alpine Wiki page as the usage is the same.
== PostgreSQL 14 ==
To install PostgreSQL 14,
This will start the postgresql 14 server and perform some initial configuration. It will also create a system user called postgres.
To configure and use PostgreSQL, please refer to the PostgreSQL 16 Alpine Wiki page as the usage is the same.
== Switching between PostgreSQL versions ==
On Alpine Linux, you can use the command `pg_versions` to switch between PostgreSQL versions. This is very helpful when upgrading the version you are using.
== Upgrading PostgreSQL ==
Please follow along with this guide and substitute the version you are moving from and the version you are upgrading to.
Category:Database
Postgresql 16

PostgreSQL is a well known opensource database that scales well and is easy to use. In Alpine v3.20 we can install the latest version using the package postgresql16
== Installation ==
This will start the postgresql 16 server and perform some initial configuration.
== Configuration ==
Login as the postgres user and start psql to create a new user and database:
=== Network access ===
By default only local access is allowed to PostgreSQL. To allow other networked services to access the database we need to configure PostgreSQL to allow external connections.
Edit the file using nano or any other 
Find the line that starts with #listen_addresses = 'localhost' 
Uncomment it and change it to the following:
listen_addresses = '*'
If you want it to listen on a specific ip you can change * to 192.168.1.2/24.
Save the file and change the next config file.
Modify the file using nano or any other 
Look for the line: host all all 127.0.0.1/32 md5
And change it to: host all all 0.0.0.0/0 md5
This line allows connections from any IP address and requires a password for authentication (md5).
Restart the server to allow incoming connections from other hosts. 
Allow the port through the firewall. For UFW firewall type: 
This is a basic configuration. You can configure the PostgreSQL server to only allow certain networks or IP's to connect but thats beyond the scope of this documentation.
== Upgrading PostgreSQL ==
== Troubleshooting ==
== See also ==
* https://blog.devart.com/configure-postgresql-to-allow-remote-connection.html
Category:Database
Category:Server