Uploaded June 2023 | Updated September 2026, 2 weeks ago
#OpenWRT #SSL #HTTPS
Full steps can be found at i12bretro.github.io/tutorials/0382.html
--------------------------------------------------------------------
Prerequisites
--------------------------------------------------------------------
- A XCA PKI database youtu.be/ezzj3x207lQ
--------------------------------------------------------------------
Create Your SSL Certificate
--------------------------------------------------------------------
01. Launch XCA
02. Open the PKI database if it is not already (File ≫ Open DataBase), enter password
03. Click on the Certificates tab, right click on your Intermediate CA certificate
04. Select New
05. On the Source tab, make sure Use this Certificate for signing is selected
06. Verify your Intermediate CA certificate is selected from the drop down
07. Click the Subject tab
08. Complete the Distinguished Name section
internalName: openwrt.i12bretro.local
countryName: US
stateOrProvinceName: Virginia
localityName: Northern
organizationName: i12bretro
organizationUnitName: i12bretro Certificate Authority
commonName: openwrt.i12bretro.local
09. Click the Generate a New Key button
10. Enter a name and set the key size to at least 2048
11. Click Create
12. Click on the Extensions tab
13. Select End Entity from the type list
14. Click Edit next to Subject Alternative Name
15. Add any DNS or IP addresses that the certificate will identify
16. Update the validity dates to fit your needs
17. Click the Key Usage tab
18. Under Key Usage select Digital Signature, Key Encipherment
19. Under Extended Key Usage select Web Server and Web Client Authentication
20. Click the Netscape tab
21. Select SSL Server
22. Click OK to create the certificate
--------------------------------------------------------------------
Exporting Required Files
--------------------------------------------------------------------
01. In XCA, click on the Certificates tab
02. Right click the SSL certificate ≫ Export ≫ File
03. Set the file name to uhttpd.crt verify the export format is PEM (*.crt)
04. Click OK
05. Click the Private Keys tab
06. Right click the private key generated for the SSL certificate ≫ Export ≫ File
07. Set the file name to uhttpd.key and verify the export format is PEM private (*.pem)
08. Click OK
--------------------------------------------------------------------
Installing Prerequisites
--------------------------------------------------------------------
01. Log into OpenWRT via SSH
02. Run the following commands to install prerequisites
# update opkg packages
opkg update
# install prerequisite packages
opkg install luci-lib-px5g px5g-standalone libustream-openssl
# install/update luci
opkg install luci
# restart uhttpd service
/etc/init.d/uhttpd restart
03. Download WinSCP winscp.net/eng/downloads.php
04. Extract WinSCP and run the executable
05. Connect to the OpenWRT IP address via WinSCP
06. Navigate to /etc
07. Rename uhttpd.crt and uhttpd.key to .old
08. Copy the created uhttpd.crt and uhttpd.key to /etc
09. Back in the terminal, run the following command to restart uhttpd
/etc/init.d/uhttpd restart
--------------------------------------------------------------------
Applying SSL Certificates in Open-WRT
--------------------------------------------------------------------
01. Open a web browser and navigate to https://OpenWRT_IP
02. Authenticate at the Open-WRT login
03. Select System ≫ System from the top navigation
04. Set the hostname to match the hostname of the SSL certificate
05. Click the Save & Apply button
Source: fabianlee.org/2016/09/19/openwrt-enabling-https-for-the-luci-web-admin-interface
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro
#OpenWRT #SSL #HTTPS
Full steps can be found at i12bretro.github.io/tutorials/0382.html
--------------------------------------------------------------------
Prerequisites
--------------------------------------------------------------------
- A XCA PKI database youtu.be/ezzj3x207lQ
--------------------------------------------------------------------
Create Your SSL Certificate
--------------------------------------------------------------------
01. Launch XCA
02. Open the PKI database if it is not already (File ≫ Open DataBase), enter password
03. Click on the Certificates tab, right click on your Intermediate CA certificate
04. Select New
05. On the Source tab, make sure Use this Certificate for signing is selected
06. Verify your Intermediate CA certificate is selected from the drop down
07. Click the Subject tab
08. Complete the Distinguished Name section
internalName: openwrt.i12bretro.local
countryName: US
stateOrProvinceName: Virginia
localityName: Northern
organizationName: i12bretro
organizationUnitName: i12bretro Certificate Authority
commonName: openwrt.i12bretro.local
09. Click the Generate a New Key button
10. Enter a name and set the key size to at least 2048
11. Click Create
12. Click on the Extensions tab
13. Select End Entity from the type list
14. Click Edit next to Subject Alternative Name
15. Add any DNS or IP addresses that the certificate will identify
16. Update the validity dates to fit your needs
17. Click the Key Usage tab
18. Under Key Usage select Digital Signature, Key Encipherment
19. Under Extended Key Usage select Web Server and Web Client Authentication
20. Click the Netscape tab
21. Select SSL Server
22. Click OK to create the certificate
--------------------------------------------------------------------
Exporting Required Files
--------------------------------------------------------------------
01. In XCA, click on the Certificates tab
02. Right click the SSL certificate ≫ Export ≫ File
03. Set the file name to uhttpd.crt verify the export format is PEM (*.crt)
04. Click OK
05. Click the Private Keys tab
06. Right click the private key generated for the SSL certificate ≫ Export ≫ File
07. Set the file name to uhttpd.key and verify the export format is PEM private (*.pem)
08. Click OK
--------------------------------------------------------------------
Installing Prerequisites
--------------------------------------------------------------------
01. Log into OpenWRT via SSH
02. Run the following commands to install prerequisites
# update opkg packages
opkg update
# install prerequisite packages
opkg install luci-lib-px5g px5g-standalone libustream-openssl
# install/update luci
opkg install luci
# restart uhttpd service
/etc/init.d/uhttpd restart
03. Download WinSCP winscp.net/eng/downloads.php
04. Extract WinSCP and run the executable
05. Connect to the OpenWRT IP address via WinSCP
06. Navigate to /etc
07. Rename uhttpd.crt and uhttpd.key to .old
08. Copy the created uhttpd.crt and uhttpd.key to /etc
09. Back in the terminal, run the following command to restart uhttpd
/etc/init.d/uhttpd restart
--------------------------------------------------------------------
Applying SSL Certificates in Open-WRT
--------------------------------------------------------------------
01. Open a web browser and navigate to https://OpenWRT_IP
02. Authenticate at the Open-WRT login
03. Select System ≫ System from the top navigation
04. Set the hostname to match the hostname of the SSL certificate
05. Click the Save & Apply button
Source: fabianlee.org/2016/09/19/openwrt-enabling-https-for-the-luci-web-admin-interface
### Connect with me and others ###
★ Discord: discord.com/invite/EzenvmSHW8
★ Reddit: reddit.com/r/i12bretro
★ Twitter: twitter.com/i12bretro

![Run miniPaint - Browser Based Image Editor - on Linux
#miniPaint #ImageEditor #Linux
Full steps can be found at https://i12bretro.github.io/tutorials/0895.html
What is miniPaint?
[miniPaint is an] online image editor lets you create, edit images using HTML5 technologies. No need to buy, download, install or have obsolete flash. No ads. Key features: layers, filters, HTML5, open source, Photoshop alternative.
miniPaint operates directly in the browser. You can create images, paste from the clipboard (ctrl+v) or upload from the computer (using menu or drag & drop). Nothing will be sent to any server. Everything stays in your browser. - https://github.com/viliusle/miniPaint
Installing NodeJS
01. Log into the Linux device
02. Run the following commands in a terminal window
# add nodejs software repository
curl -sL https://deb.nodesource.com/setup_20.x | sudo bash -
# install nodejs
sudo apt install nodejs -y
# test node is working
node -v
# test npm is working
npm -v
Running miniPaint
01. Continue with the following commands:
# install git
sudo apt install git -y
# cd back to home
cd ~
# clone minipaint github repo
git clone https://github.com/viliusle/miniPaint.git ./miniPaint
# cd into git clone
cd miniPaint
# install dependencies
npm install
# build minipaint
npm run build
# run minipaint
npm run server
02. Open a web browser and navigate to http://DNSorIP:8080
03. Welcome to miniPaint
Source: https://github.com/viliusle/miniPaint/wiki/Build-instructions
### Connect with me and others ###
★ Discord: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Run miniPaint - Browser Based Image Editor - on Linux](https://i.ytimg.com/vi/r6Etqtdn4E4/mqdefault.jpg)





![Install ownCloud on Windows with WSL2
#OwnCloud #Windows #WSL
Full steps can be found at https://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. - https://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 https://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 https://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: https://discord.com/invite/EzenvmSHW8
★ Reddit: https://reddit.com/r/i12bretro
★ Twitter: https://twitter.com/i12bretro Install ownCloud on Windows with WSL2](https://i.ytimg.com/vi/t30Kd4RNJ4Y/mqdefault.jpg)
![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)

