Uploaded May 2023 | Updated September 2026, 2 weeks ago
#OwnCloud #Windows #WSL
Full steps can be found at i12bretro.github.io/tutorials/0153.html
What is OwnCloud?
OwnCloud is a suite of client-server software for creating file hosting services and using them. OwnCloud is functionally very similar to the widely used Dropbox, with the primary functional difference being that OwnCloud is free and open-source, and thereby allowing anyone to install and operate it without charge on a private server. - en.wikipedia.org/wiki/OwnCloud
Installing WSL
01. Launch Powershell as administrator
02. Run the following command
# enable WSL feature
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# enable virtual machine platform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
03. Type Y to reboot the system
04. Launch Powershell as administrator and run the following additional commands to use WSL 2
# enable virtualization platform
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
# enable wsl2
wsl --set-default-version 2
# download the wsl kernel update
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile .\wsl_update_x64.msi
# reset progress preference
$ProgressPreference = 'Continue'
# install the downloaded file
.\wsl_update_x64.msi
05. Click the Start Button ≫ Search Microsoft Store ≫ Select Microsoft Store
06. Search for the Linux distribution to install (Debian, Ubuntu, etc), Debian in this example
07. Select the Linux distribution and click the Get button
08. After the Linux distribution downloads and installs, click Open or select the distribution from the Start menu to launch it
09. Input a username and password to be used in the Linux environment
Installing ownCloud
01. Continue with the following commands in WSL
# update software repositories
sudo apt update
# install software updates
sudo apt upgrade -y
# install prerequisite package(s)
sudo apt install wget -y
# install Apache HTTPD and MySQL
sudo apt install apache2 mariadb-server mariadb-client -y
# install PHP components
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-intl php7.4-json php7.4-gd php7.4-mbstring php7.4-mysql php7.4-xml php7.4-zip php7.4-curl -y
# start the mariadb service
sudo service mariadb start
# configure the MySQL database
sudo su
mysql_secure_installation
02. Press Enter to login as root
03. Type N and press Enter to not switch to socket authentication
04. Type Y and press Enter to set a root password, type the password twice to confirm
05. Type Y and press Enter to remove anonymous users
06. Type Y and press Enter to disallow root login remotely
07. Type Y and press Enter to remove the test database
08. Type Y and press Enter to reload privilege tables
09. Run the following command to login into MySQL:
mysql -u root -p
10. Authenticate with the root password set earlier
11. Run the following commands to create the ownCloud database and database user
CREATE DATABASE ownclouddb;
GRANT ALL ON ownclouddb.* to 'owncloud_rw'@'localhost' IDENTIFIED BY 'ownCl0ud!!';
FLUSH PRIVILEGES;
EXIT;
exit
12. Continue with the following commands to download and extract ownCloud in the Apache webroot
# download latest owncloud version
sudo wget -O /tmp/owncloud.tar.bz2 download.owncloud.com/server/stable/owncloud-latest.tar.bz2
# extract owncloud-latest.tar.bz2
sudo tar -xf /tmp/owncloud.tar.bz2 --directory /var/www
# set the owner of the new owncloud directory to www-data
sudo chown -R www-data:www-data /var/www/owncloud
# create a new owncloud.conf file to configure the site
sudo nano /etc/apache2/sites-available/owncloud.conf
13. Paste the following configuration into owncloud.conf
Alias /owncloud "/var/www/owncloud/"
≪Directory /var/www/owncloud/≫
Options +FollowSymlinks
AllowOverride All
≪IfModule mod_dav.c≫
Dav off
≪/IfModule≫
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
≪/Directory≫
14. Press CTRL+O, Enter, CTRL+X to write the changes to owncloud.conf
....Full steps can be found on GitHub [link at the top]
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro
#OwnCloud #Windows #WSL
Full steps can be found at i12bretro.github.io/tutorials/0153.html
What is OwnCloud?
OwnCloud is a suite of client-server software for creating file hosting services and using them. OwnCloud is functionally very similar to the widely used Dropbox, with the primary functional difference being that OwnCloud is free and open-source, and thereby allowing anyone to install and operate it without charge on a private server. - en.wikipedia.org/wiki/OwnCloud
Installing WSL
01. Launch Powershell as administrator
02. Run the following command
# enable WSL feature
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# enable virtual machine platform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
03. Type Y to reboot the system
04. Launch Powershell as administrator and run the following additional commands to use WSL 2
# enable virtualization platform
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
# enable wsl2
wsl --set-default-version 2
# download the wsl kernel update
$ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile .\wsl_update_x64.msi
# reset progress preference
$ProgressPreference = 'Continue'
# install the downloaded file
.\wsl_update_x64.msi
05. Click the Start Button ≫ Search Microsoft Store ≫ Select Microsoft Store
06. Search for the Linux distribution to install (Debian, Ubuntu, etc), Debian in this example
07. Select the Linux distribution and click the Get button
08. After the Linux distribution downloads and installs, click Open or select the distribution from the Start menu to launch it
09. Input a username and password to be used in the Linux environment
Installing ownCloud
01. Continue with the following commands in WSL
# update software repositories
sudo apt update
# install software updates
sudo apt upgrade -y
# install prerequisite package(s)
sudo apt install wget -y
# install Apache HTTPD and MySQL
sudo apt install apache2 mariadb-server mariadb-client -y
# install PHP components
sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-intl php7.4-json php7.4-gd php7.4-mbstring php7.4-mysql php7.4-xml php7.4-zip php7.4-curl -y
# start the mariadb service
sudo service mariadb start
# configure the MySQL database
sudo su
mysql_secure_installation
02. Press Enter to login as root
03. Type N and press Enter to not switch to socket authentication
04. Type Y and press Enter to set a root password, type the password twice to confirm
05. Type Y and press Enter to remove anonymous users
06. Type Y and press Enter to disallow root login remotely
07. Type Y and press Enter to remove the test database
08. Type Y and press Enter to reload privilege tables
09. Run the following command to login into MySQL:
mysql -u root -p
10. Authenticate with the root password set earlier
11. Run the following commands to create the ownCloud database and database user
CREATE DATABASE ownclouddb;
GRANT ALL ON ownclouddb.* to 'owncloud_rw'@'localhost' IDENTIFIED BY 'ownCl0ud!!';
FLUSH PRIVILEGES;
EXIT;
exit
12. Continue with the following commands to download and extract ownCloud in the Apache webroot
# download latest owncloud version
sudo wget -O /tmp/owncloud.tar.bz2 download.owncloud.com/server/stable/owncloud-latest.tar.bz2
# extract owncloud-latest.tar.bz2
sudo tar -xf /tmp/owncloud.tar.bz2 --directory /var/www
# set the owner of the new owncloud directory to www-data
sudo chown -R www-data:www-data /var/www/owncloud
# create a new owncloud.conf file to configure the site
sudo nano /etc/apache2/sites-available/owncloud.conf
13. Paste the following configuration into owncloud.conf
Alias /owncloud "/var/www/owncloud/"
≪Directory /var/www/owncloud/≫
Options +FollowSymlinks
AllowOverride All
≪IfModule mod_dav.c≫
Dav off
≪/IfModule≫
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
≪/Directory≫
14. Press CTRL+O, Enter, CTRL+X to write the changes to owncloud.conf
....Full steps can be found on GitHub [link at the top]
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro
![Run SolidInvoice - Open Source Invoicing Software - in Docker
#SolidInvoice #Invoicing #Docker
Full steps can be found at https://i12bretro.github.io/tutorials/0909.html
What is SolidInvoice?
SolidInvoice is a sophisticated open-source invoicing application designed to assist small businesses and freelancers in efficiently managing their daily billing operations. With its comprehensive range of features, this elegant online platform ensures that you receive timely payments. - https://github.com/SolidInvoice/SolidInvoice
Installing Docker
01. Log into the Linux based device
02. Run the following commands in the terminal
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=$(dpkg print-architecture)] https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release) $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running SolidInvoice
01. Now that Docker is installed, run the following commands to setup the SolidInvoice Docker container and run it
# create working directories
mkdir ~/docker/mariadb -p
# set owner of working directories
sudo chown $USER:$USER ~/docker -R
# run the mariadb docker container
docker run -d name mariadb -e MYSQL_ROOT_PASSWORD=r00tp@ss -e MYSQL_USER=solidinvoice_rw -e MYSQL_PASSWORD=SolidInv0ic3! -e MYSQL_DATABASE=solidinvoice -v ~/docker/mariadb:/var/lib/mysql restart=unless-stopped mariadb:latest
# run the solidinvoice docker container
docker run -d name solidinvoice link mariadb:solidinvoice -e DB_PASSWORD=SolidInv0ic3! -e DB_USER=solidinvoice_rw -p 8080:80 restart=unless-stopped solidinvoice/solidinvoice
02. Open a web browser and navigate to http://DNSorIP:8080
03. Click the Next button at the lower right corner of the System Requirements page
04. Complete the Database settings as follows:
Driver: Mysql
Host: mariadb
Port: 3306
User: solidinvoice_rw
Password: SolidInv0ic3!
Database Name: solidinvoice
05. Click Next
06. After the database schema is created successfully ≫ Click Next
07. Click the Log In Now button
08. Login with the admin credentials created earlier
09. Enter a Company Name and select the default currency ≫ Click Create
10. Welcome to SolidInvoice
Documentation: https://hub.docker.com/r/solidinvoice/solidinvoice/
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Run SolidInvoice - Open Source Invoicing Software - in Docker](https://i.ytimg.com/vi/u4gMb6zO36Q/mqdefault.jpg)



![Install Raspberry Pi OS on the Microsoft Surface RT Tablet
#SurfaceRT #RaspberryPiOS #Debian
*** Updated 06/29/2023
Full steps can be found at https://i12bretro.github.io/tutorials/0825.html
Disclaimer
This process will overwrite the current Windows 8 RT operating system on the Surface RT tablet. I have tested these steps on my own device (as shown in this video), but I am not responsible if you damage or brick your device. Verify this process will work on your device before starting and make sure to backup any data you do not want to lose before proceeding.
Things You Will Need
- A USB flash drive, at least 8 GB https://amzn.to/3wkR5ju | https://amzn.to/3qkrJ1p | https://amzn.to/3Nhu9b9
- A USB hub
- A USB keyboard
Disabling Secure Boot
NOTE: If you run into issues or errors disabling secure boot, see the troubleshooting steps https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb#troubleshooting
01. Insert the USB flash drive into a PC
02. Download the Surface RT jailbreak files https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb#download
03. Format the USB flash drive to FAT32
⚠ NOTE: This will delete all files on the drive. Make sure to backup any important files before continuing
a. Right Click Start ≫ File Explorer
b. Right Click the USB flash drive ≫ Format...
c. Select FAT32 from the File System dropdown
d. Name the drive EFI
e. Make sure Quick Format is checked
f. Click Start
10. Extract the downloaded Surface RT jailbreak .zip file to the root of the USB flash drive
11. Safely remove the USB flash drive
12. Power off the Surface RT tablet if it is not already
13. Using the USB hub, connect the USB keyboard and the prepared USB flash drive to the Surface RT tablet
14. Hold Vol- and press the power button, releasing the Vol- when Surface logo appears
15. Select Install Golden Keys ≫ Press Enter
16. Select Accept and Install ≫ Press Enter
17. After the Golden Keys install completes, the tablet will reboot
18. Power off the Surface RT tablet
19. Hold Vol- and press the power button, releasing the Vol- when Surface logo appears
20. Select Install Yahallo ≫ Press Enter
21. After the Yahallo install completes, the tablet will reboot
22. Power off the Surface RT tablet
Preparing Raspberry Pi OS
01. Insert the USB flash drive into a PC
02. Download Raspberry Pi OS https://downloads.raspberrypi.org/raspios_armhf/images/
03. Download Balena Etcher https://www.balena.io/etcher/
04. Download the latest Surface RT zImage, device tree (.dtb) and kernel modules https://files.open-rt.party/Linux-Kernel-Download/surface-rt/
05. Download the EFI boot files https://openrt.gitbook.io/open-surfacert/surface-rt/linux/booting/uefi-boot#premade-zip
06. Extract the downloaded EFI .zip archive
07. Run Balena Etcher
08. Write the Raspberry Pi OS image to USB flash drive
09. Once the write completes, open the readable partition on the USB flash drive
10. From the previous downloads, copy the EFI folder, startup.nsh, zImage and the device tree (.dtb) file to the readable partition on the USB flash drive
11. Open startup.nsh in a text editor
12. Replace the contents of the file with the following
fs0:
zImage dtb=tegra30-microsoft-surface-rt-efi.dtb root=/dev/sda2 rootwait console=tty0 cpuidle.off=1
# shutdown if something went wrong
reset -s
13. Save the changes to startup.nsh and close the editor
14. Safely remove the USB flash drive
15. Power off the Surface RT tablet if it is not already
16. Using the USB hub, connect the USB keyboard and the prepared USB flash drive to the Surface RT tablet
17. Hold Vol- and press the power button, releasing the Vol- when Surface logo appears
18. Raspberry Pi OS should boot from the USB flash drive
19. In Raspberry Pi OS, launch the file manager
20. Navigate to /boot ≫ Copy the sRT-modules- .tar.xz file to the current users home directory
21. Extract the sRT-modules- .tar.xz inside the users home directory
22. Copy the contents of the extracted folder to the corresponding location in the root Linux directory
23. Reboot the Surface RT tablet
24. At this point, you can continue running Raspberry Pi OS from the flash drive, or install it to the internal eMMC storage, replacing the stock Windows 8 RT operating system
Installing Raspberry Pi OS to eMMC Internal Storage
🚨 WARNING: Continuing beyond this point will format the storage on the Surface RT tablet and all files and the Windows 8 RT operating system will be lost
01. While running Raspberry Pi OS from the USB flash drive, click the Applications menu ≫ Accessories ≫ SD Card Copier
....Full steps can be found on GitHub [link at the top]
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Install Raspberry Pi OS on the Microsoft Surface RT Tablet](https://i.ytimg.com/vi/uSibzUNiasY/mqdefault.jpg)




![Install Zammad on Linux [Opensource Helpdesk Ticketing System]
#Zammad #Helpdesk #Linux
Full steps can be found at https://i12bretro.github.io/tutorials/0907.html
What is Zammad?
Zammad is a web based open source helpdesk/customer support system with many features to manage customer communication via several channels like telephone, facebook, twitter, chat and emails. - https://github.com/zammad/zammad
Installation
01. Log into the Linux device
02. Run the following commands in terminal
# update software repositories
sudo apt update
# install available software updates
sudo apt upgrade
# install prerequisite packages
sudo apt install curl wget apt-transport-https gnupg -y
# add elasticsearch gpg key
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
# add zammad gpg key
curl -fsSL https://dl.packager.io/srv/zammad/zammad/key | gpg dearmor | sudo tee /etc/apt/keyrings/zammad.gpg≫ /dev/null
# add elasticsearch apt repository
echo deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
# add zammad apt repository
echo deb [signed-by=/etc/apt/keyrings/zammad.gpg] https://dl.packager.io/srv/deb/zammad/zammad/stable/debian 12 main| sudo tee /etc/apt/sources.list.d/zammad.list
# update software repositories
sudo apt update
# list installed languages
locale | grep LANG=
# if not listed in the above output
# install en_US.UTF-8 and set as default locale
sudo apt install locales -y && sudo locale-gen en_US.UTF-8 && echo LANG=en_US.UTF-8 ≫ sudo /etc/default/locale
# install supporting packages
sudo apt install libimlib2 elasticsearch postgresql postgresql-common redis-server nginx nodejs -y
# start and enable services
sudo systemctl enable postgresql now && sudo systemctl enable redis-server now && sudo systemctl enable nginx now && sudo systemctl enable elasticsearch now
# update postgres max connections to 2000
sudo sed -i s/max_connections = 100/max_connections = 2000/ /etc/postgresql/*/main/postgresql.conf
# restart postgres service
sudo systemctl restart postgresql
# install ingest-attachment for elasticsearch
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment
# restart elasticsearch service
sudo systemctl restart elasticsearch
# install zammad
sudo apt install zammad -y
# configure elasticsearch url
sudo zammad run rails r Setting.set(es_url, http://localhost:9200)
# rebuild elasticsearch search index
sudo zammad run rake zammad:searchindex:rebuild
# update server name in nginx config
# replace ≪% SERVER DNS NAME %≫ before executing
sudo sed -i s/server_name localhost;/server_name ≪% SERVER DNS NAME %≫;/ /etc/nginx/sites-available/zammad.conf
# restart nginx service
sudo systemctl restart nginx
03. Open a web browser and navigate to http://DNSorIP
04. Click the Set up a new system button
05. Enter a login, first name, last name, email address, password and check full permissions ≫ Click Create
06. Complete the Organization details form ≫ Click Next
07. Click Skip on the Email Notification screen
08. Click Skip on the Connect Channels screen
09. Welcome to Zammad
Source: https://docs.zammad.org/en/latest/install/package.html
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Install Zammad on Linux [Opensource Helpdesk Ticketing System]](https://i.ytimg.com/vi/wVpvKu0T4Co/mqdefault.jpg)
![Run Mealie - Recipe Tracker and Meal Planner - in Docker
#Mealie #Docker #MeanPlanner
Full steps can be found at https://i12bretro.github.io/tutorials/0398.html
What is Mealie?
Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor. - https://github.com/hay-kot/mealie/
Installing Docker
01. Log into the Linux based device
02. Run the following commands in the terminal
# install prerequisites
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -y
# add docker gpg key
curl -fsSL https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release)/gpg | sudo apt-key add -
# add docker software repository
sudo add-apt-repository deb [arch=$(dpkg print-architecture)] https://download.docker.com/linux/$(awk -F= /^ID=/{ print $NF } /etc/os-release) $(lsb_release -cs) stable
# install docker
sudo apt install docker-ce docker-compose containerd.io -y
# enable and start docker service
sudo systemctl enable docker && sudo systemctl start docker
# add the current user to the docker group
sudo usermod -aG docker $USER
# reauthenticate for the new group membership to take effect
su - $USER
Running Mealie
01. Continue following commands in a terminal window
# create working directories
mkdir ~/docker/mealie -p
# set owner of docker directory
sudo chown $USER:$USER ~/docker -R
# run mealie container
docker run -d name=mealie -v ~/docker/mealie:/app/data/ -p 9925:80 restart=unless-stopped hkotel/mealie
02. Open a web browser and navigate to http://DNSorIP:9925
03. Login with the username changeme@email.com and password MyPassword
04. Click the admin username in the left navigation menu
05. Update the Username, Full Name and Email as needed ≫ Click Update
06. Click the Change Password button
07. Enter the Current Password (MyPassword), enter and confirm a new password ≫ Click Change Password
08. Log out and log back in using the updated username and password
09. Welcome to Mealie
Documentation: https://hay-kot.github.io/mealie/documentation/getting-started/install/
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Run Mealie - Recipe Tracker and Meal Planner - in Docker](https://i.ytimg.com/vi/wf7peKkCa88/mqdefault.jpg)