# - - # # - Static IP for uServer - # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:ONbIILJkgkVep54NtGFSaxiRbbfKvdnuTWQrVlJSkrc. Please contact your system administrator. Add correct host key in /Users/is_derayo/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/is_derayo/.ssh/known_hosts:27 ECDSA host key for 192.168.1.200 has changed and you have requested strict checking. Host key verification failed. ╭── # is_derayo@Djalmars-iMac ~ : ╰─▷ $ ssh-keygen -R 192.168.1.200 # # File location: /etc/netplan/ # Name: /etc/netplan/01-netcfg.yaml # # sudo vim /etc/netplan/01-netcfg.yaml # sudo netplan --debug generate # sudo netplan apply # # This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: enp63s0: dhcp4: yes # dhcp6: no # # Static IP: 192.168.1.50 # addresses: [192.168.1.50/24] gateway4: 192.168.1.1 # nameservers: # addresses: [8.8.8.8,8.8.4.4] # # - - # # - uServer 21.10 Impish-Indri - # cat 00-installer-config.yaml # This is the network config written by 'subiquity' network: ethernets: enp1s0: #dhcp4: true dhcp4: no addresses: [192.168.122.250/24] gateway4: 192.168.122.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] version: 2 # - - # # - Upgrade uServer 19.10 to 20.04 - # sudo apt install update-manager-core -y; sudo do-release-upgrade # - - # # - Some extra programs to be installed in uServer - # sudo apt install htop atop inxi unzip zip -y; # - - # # - Show history in terminal - # inxi -SCMm -t c -P -x sudo inxi -SCMm -t c -P -x ╭── # root@uServerHome / : ╰─▷ $ inxi -SCMm -t c -P -x System: Host: uServerHome Kernel: 4.15.0-58-generic x86_64 bits: 64 gcc: 7.4.0 Console: tty 0 Distro: Ubuntu 18.04.3 LTS Machine: Device: desktop Mobo: Acer model: Aspire TC-605 serial: DBSRPCN00144802712EE02 UEFI: American Megatrends v: P11-B1 date: 08/07/2014 CPU: Quad core Intel Core i5-4460 (-MCP-) arch: Haswell rev.3 cache: 6144 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 25540 clock speeds: max: 3200 MHz 1: 1072 MHz 2: 916 MHz 3: 995 MHz 4: 1568 MHz Memory: Used/Total: 842.9/7410.2MB Array-1 capacity: 16 GB devices: 2 EC: None Device-1: DIMM1 size: 8 GB speed: 1600 MT/s type: DDR3 part: HMT41GU6BFR8A-PB Device-2: DIMM2 size: No Module Installed type: N/A Device-3: N/A size: N/A type: N/A Partition: ID-1: / size: 49G used: 14G (30%) fs: ext4 dev: /dev/sda2 Processes: CPU: % used - Memory: MB / % used - Used/Total: 842.1/7410.2MB - top 5 active 1: cpu: 0.3% command: Plex pid: 3684 mem: 51.72MB (0.6%) 2: cpu: 0.2% command: Plex pid: 1465 mem: 74.92MB (1.0%) 3: cpu: 0.1% command: node pid: 4338 mem: 75.61MB (1.0%) 4: cpu: 0.1% command: containerd pid: 1275 mem: 38.01MB (0.5%) 5: cpu: 0.0% daemon: ~kworker/u8:3~ pid: 8358 mem: 0.00MB (0.0%) # - - # # - Show IP addres, network cards - # sudo lshw -C network; # network cards & more ip addr show; inxi -n; inxi -Fxs; route; route -n; routel; ip route; ip route show; netstat -rn; # - - # # - Show wireless configuration - # iwconfig uname -a lspci lspci -nnk lsusb # - - # # - Install svftpd to modify files, folders, etc - # sudo apt install vsftpd -y; # - Modify vsftpd.conf file - # sudo vim /etc/vsftpd.conf # - Look for this line and UNCOMMENT to be able to write - # write_enable=YES local_enable=YES # - Look for "pam_service_name=vsftpd" - # #pam_service_name=vsftpd pam_service_name=ftp # - Allowed ftp users - # sudo vim /etc/ftpusers; Add is_derayo to the file # - - # # - Restart vsftpd service - # sudo service vsftpd restart; # - - # # - Enable ssh root access on Ubuntu - # # - Create password for root - # sudo passwd root; # - Edit sshd_config file - # sudo vim /etc/ssh/sshd_config; # - Look for PermitRootLogin - # PermitRootLogin without-password # - Add the following line - # PermitRootLogin yes # - Look for this line and remove comment - # PasswordAuthentication yes # - Restart ssh - # sudo service ssh restart; sudo mkdir /home/Data sudo mkdir /home/Data1 sudo mkdir /home/Data2 sudo mkdir /home/Data3 sudo mkdir /home/AllDisks-Data # - - # # - Add Disk Storage to Oracle Virtual Box - # http://www.vitalsofttech.com/add-disk-storage-to-oracle-virtualbox-with-linux/ # - - # # - sudo blkid; will not show the additional disks (Not formatted disks) - # sudo blkid; /dev/sda1: LABEL="uServer1710" UUID="79e5d714-2b95-44e5-9009-89aa8bbcf9ed" TYPE="ext4" PARTUUID="9feb409d-01" /dev/sda2: UUID="e7d70144-2e4f-4635-880a-0fb14d93e2c1" TYPE="swap" PARTUUID="9feb409d-02" # - - # # - Show all the disks, even the not formatted - # sudo fdisk -l; Disk /dev/sda: 16 GiB, 17179869184 bytes, 33554432 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x9feb409d Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 25782271 25780224 12.3G 83 Linux /dev/sda2 25782272 33552383 7770112 3.7G 82 Linux swap / Solaris Disk /dev/sdb: 50 GiB, 53684428288 bytes, 104852399 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sdc: 50 GiB, 53684428288 bytes, 104852399 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes ╭── # is_derayo@uServer ~ : ╰─▷ $ sudo lsblk; sudo lsblk; NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 149.1G 0 disk ├─sda1 8:1 0 256M 0 part ├─sda2 8:2 0 20G 0 part / ├─sda3 8:3 0 2G 0 part [SWAP] └─sda4 8:4 0 126.8G 0 part sr0 11:0 1 1024M 0 rom ╭── # is_derayo@uServer ~ : ╰─▷ $ sudo lsblk -f; sudo lsblk -f; NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat EFI BOOT 9D06-A805 ├─sda2 ext4 uServer 11819579-7774-4688-a1e0-10c92dbb6790 / ├─sda3 swap f7684f38-95e5-418b-bdf4-b20c90776e6a [SWAP] └─sda4 ext4 Data 196dd81b-ea59-41f7-8fe1-025dcf082eb6 sr0 lsblk; lsblk -a; lsblk -m; lsblk -b /dev/sda; lsblk -b /dev/sdd; lsblk -nl; lsblk --noheadings --list; lsblk --inverse; sudo lsblk -fm; sudo lsblk -s; sudo lsblk -S; # - - # # - Format Additional Partitions - # sudo mkfs.ext4 /dev/sdb sudo mkfs.ext4 /dev/sdc # - - # # - sudo blkid; will show the formatted partitions - # sudo blkid; /dev/sda1: LABEL="uServer1710" UUID="79e5d714-2b95-44e5-9009-89aa8bbcf9ed" TYPE="ext4" PARTUUID="9feb409d-01" /dev/sda2: UUID="e7d70144-2e4f-4635-880a-0fb14d93e2c1" TYPE="swap" PARTUUID="9feb409d-02" /dev/sdb: UUID="f2de2d05-6f4f-478a-b657-22bb5895dcc1" TYPE="ext4" /dev/sdc: UUID="f89b09c0-2e55-43c6-aef8-54388856cc0e" TYPE="ext4" # - - # # - Now you can mount the partitions on fstab file as usual - # # - - # # - Install the disk controler file system mhddfs - # sudo apt-get install mhddfs -y; mkdir -p /home/is_derayo/WebServer mkdir -p /home/is_derayo/Documents mkdir -p /home/is_derayo/DNS_Update mkdir -p /home/is_derayo/udemy mkdir -p /home/is_derayo/SoftwareDevelopment # - - # # - Work on /etc/fstab file - # sudo vim /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # # / was on /dev/sda2 during installation UUID=4fc57b15-7429-4482-a2ef-ff668d14a3e3 / ext4 errors=remount-ro 0 1 /swapfile none swap sw 0 0 # - - # # - /home/Data1 /dev/sda3 after installation - # # - /home/Data2 /dev/sdb1 after installation - # # - /home/Data3 /dev/sdc1 after installation - # # - - # UUID=464feee9-9a90-4117-a0a8-0560c7bfbf3e /home/Data1 ext4 defaults 0 2 UUID=5507dbd5-c4d4-421c-8734-390232627e92 /home/Data2 ext4 defaults 0 2 UUID=5831ad46-8e73-4af9-8a5f-adb90030e514 /home/Data3 ext4 defaults 0 2 #mhddfs#/home/Data1,/home/Data2,/home/Data3 /home/AllDisks-Data fuse default_permissions,allow_other,mlimit=1G 0 0 /home/Data3/WebServer/www /home/is_derayo/WebServer none defaults,bind 0 0 /home/Data2/Documents /home/is_derayo/Documents none defaults,bind 0 0 # - Microsoft-Office - # /home/Data3/Images/Programs/Microsoft.Img/Microsoft-Office.Img /home/Data3/WebServer/www/Programs/Microsoft.Img/Microsoft-Office.Img none defaults,bind 0 0 sudo shutdown now; sudo reboot now; # - - # # - Change ownershipt of data disks - # sudo chown is_derayo:is_derayo /home/Data sudo chown is_derayo:is_derayo /home/Data1 sudo chown is_derayo:is_derayo /home/Data2 sudo chown is_derayo:is_derayo /home/Data3 # - - # # - Authorize all rights on Data1,Data2 - drwxrwxrwx - # chmod 777 /home/Data chmod 777 /home/Data1 chmod 777 /home/Data2 chmod 777 /home/Data3 # - - # # - Navigate to AllDisks-Data partition - # cd /home/Data/ cd /home/AllDisks-Data/ # - - # # - Configuring webserver - # # - Create www in /home/AllDisks-Data - # mkdir -p /home/AllDisks-Data/Documents/Downloads mkdir -p /home/AllDisks-Data/WebServer/www mkdir -p /home/AllDisks-Data/WebServer/www/Test1 mkdir -p /home/AllDisks-Data/WebServer/www/Test2 mkdir -p /home/Data/Documents/Downloads; mkdir -p /home/Data/WebServer/www; mkdir -p /home/Data/WebServer/www/Test1; mkdir -p /home/Data/WebServer/www/Test2; mkdir -p /home/Data2/Documents/Downloads; mkdir -p /home/Data1/WebServer/www; mkdir -p /home/Data1/WebServer/www/Test1; mkdir -p /home/Data1/WebServer/www/Test2; # - - # # - Apache is not installed on Ubuntu Server 18.04 - # # - Install apache on uServer 18.04 - # sudo apt-get update && sudo apt install apache2 -y; # - - # # - Modify apache2 configuration file 000-default.conf - # sudo vim /etc/apache2/sites-available/000-default.conf or cd /etc/apache2/sites-available sudo vim 000-default.conf modify line: DocumentRoot /var/www/html DocumentRoot /home/Data/WebServer/www DocumentRoot /home/Data1/WebServer/www DocumentRoot /home/Data3/WebServer/www DocumentRoot /home/AllDisks-Data/WebServer/www # - - # # - Restart apache service - # sudo service apache2 restart; # - Authorize apache - # sudo vim /etc/apache2/apache2.conf # - Look for - # ?Directory # - Look for this format - # Options Indexes FollowSymLinks AllowOverride None Require all granted # - Replace it with - # Options Indexes FollowSymLinks AllowOverride None Require all granted Options Indexes FollowSymLinks AllowOverride None Require all granted # # Options Indexes FollowSymLinks # AllowOverride None # Require all granted # Options Indexes FollowSymLinks AllowOverride None Require all granted # - Restart apache service - # sudo service apache2 restart; # - WebServer at this point is ready for navigate - # Open firefox 192.168.1.100 # - - # # - Make a soft link to my user to edit webpages into the server - # mkdir /home/is_derayo/WebServer ln -s /home/Data/WebServer/www/ /home/is_derayo/WebServer ln -s /home/Data1/WebServer/www/ /home/is_derayo/WebServer ln -s /home/Data3/WebServer/www/ /home/is_derayo/WebServer ln -s /home/AllDisks-Data/WebServer/www/ /home/is_derayo/WebServer # - Restart server - # sudo shutdown now; # - - # # - List soft links - # ls -l # - - # # - Remove soft links - # rm /home/is_derayo/WebServer # - - # # - Install Webmin in Ubuntu Server - # cd /home/Data/Documents/Downloads/ cd /home/Data1/Documents/Downloads/ cd /home/AllDisks-Data/Documents/Downloads/ sudo apt-get update; sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python -y; # - Get Webmin program - # wget http://prdownloads.sourceforge.net/webadmin/webmin_1.982_all.deb # - Get Webmin program - # sudo dpkg --install webmin_1.982_all.deb # - - # # - Reboot server & make a backup of VBox installed - # sudo shutdown now; # - - # # - Very Important - # # - This seccion is NO necessary if webmin was installed - # # - Edit soruces.list file - # sudo vim /etc/apt/sources.list # - Add to the end of the file - # deb http://download.webmin.com/download/repository sarge contrib sudo su cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc sudo apt-get update; sudo apt-get install webmin; sudo apt-get -f install; # - - # # - Reboot server & make a backup of VBox installed - # sudo reboot now; sudo shutdown now; # - - # # - Go to webmin - # https://192.168.1.101:10000 # - - # # - Install mysql server & phpmyadmin - # sudo apt install phpmyadmin -y; # - - # # - Access mysql first time - # sudo mysql; # - - # # - If prior fails, purge & reinstall - # sudo apt --purge remove mysql-server mysql-common mysql-client -y; sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y; sudo apt install mysql-server mysql-client -y; # - - # # - Access mysql first time - # sudo mysql; sudo mysql_secure_installation; VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? n Change the password for root? n Remove anonymous users? y Disallow root login remotely? n Remove test database and access to it? y Reload privilege tables now? y sudo mysql; mysql -u root -pAdministrator2; Go to :MySQL users # - - # # - Don't use this procedure - # SHOW VARIABLES LIKE 'validate_password%'; SET GLOBAL validate_password.length = 6; SET GLOBAL validate_password.number_count = 0; SET GLOBAL validate_password.policy=LOW; uninstall plugin validate_password; UNINSTALL COMPONENT 'file://component_validate_password'; # - - # # - Install MySQL if failed on phpMyAdmin - # sudo apt update; sudo apt install mysql-server; # - - # # - The first time you have to login from terminal - # ssh is_derayo@192.168.1.200 :MySQL users # - - # # - In uServer - # # - Access MySQL as root - # # - Open mysql - # sudo mysql; # - Open mysql database - # use mysql; SELECT host, user, plugin, authentication_string FROM user ORDER BY user; #ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Administrator2'; #ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Administrator2'; SELECT host, user, plugin, authentication_string FROM user ORDER BY user; CREATE USER 'root'@'%' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; SELECT host, user, plugin, authentication_string FROM user ORDER BY user; ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Administrator2'; ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'Administrator2'; CREATE USER 'is_derayo'@'localhost' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'localhost' WITH GRANT OPTION; CREATE USER 'is_derayo'@'%' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'%' WITH GRANT OPTION; SELECT host, user, plugin, authentication_string FROM user ORDER BY user; ALTER USER 'is_derayo'@'%' IDENTIFIED WITH mysql_native_password BY 'Administrator2'; ALTER USER 'is_derayo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Administrator2'; SELECT host, user, plugin, authentication_string FROM user ORDER BY user; # - Should look like this - # +-----------+------------------+-----------------------+-------------------------------------------+ | host | user | plugin | authentication_string | +-----------+------------------+-----------------------+-------------------------------------------+ | localhost | debian-sys-maint | mysql_native_password | *1E1345A22F7796152B6002A6091767CBE6A17C2C | | localhost | is_derayo | mysql_native_password | *B6FE87543EDAD7218E230DC81B86025E7FA1BB26 | | % | is_derayo | mysql_native_password | *B6FE87543EDAD7218E230DC81B86025E7FA1BB26 | | localhost | mysql.session | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | localhost | mysql.sys | mysql_native_password | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | | localhost | phpmyadmin | mysql_native_password | *B6FE87543EDAD7218E230DC81B86025E7FA1BB26 | | localhost | root | mysql_native_password | *B6FE87543EDAD7218E230DC81B86025E7FA1BB26 | | % | root | mysql_native_password | *B6FE87543EDAD7218E230DC81B86025E7FA1BB26 | +-----------+------------------+-----------------------+-------------------------------------------+ FLUSH PRIVILEGES; exit Go to :MySQL IP Address # - - # # - Skeep this - # # - Login into mysql - # mysql -u root -pAdministrator2 # - Then apply next commands in MySQL - # CREATE USER 'is_derayo'@'localhost' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'localhost' WITH GRANT OPTION; CREATE USER 'is_derayo'@'%' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'%' WITH GRANT OPTION; CREATE USER 'root'@'localhost' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Administrator2'; CREATE USER 'root'@'%' IDENTIFIED BY 'Administrator2'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; USE mysql; SELECT host, user, plugin, authentication_string FROM user order by user; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'localhost' IDENTIFIED BY 'Administrator2' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'%' IDENTIFIED BY 'Administrator2' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'Administrator2' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Administrator2' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'is_derayo'@'localhost' IDENTIFIED BY "Administrator2" WITH GRANT OPTION; GRANT ALL ON *.* TO 'root'@'172.17.0.9' IDENTIFIED BY 'mypassword'; FLUSH PRIVILEGES; exit :MySQL IP Address # - Static IP-Address for MySQL server - # sudo vim /etc/mysql/my.cnf sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf bind-address = 192.168.1.100 default_authentication_plugin=mysql_native_password sudo service mysql restart; # - - # # - Create directories to share - # # - Create directory & asign owner and group - # -p: will also create all directories leading up to the given directory that do not exist already. mkdir -p /home/AllDisks-Data/Documents/ToShare-FullAccess; mkdir -p /home/AllDisks-Data/Documents/ToShare-JustRead; mkdir -p /home/Data/Documents/ToShare-FullAccess; mkdir -p /home/Data/Documents/ToShare-JustRead; mkdir -p /home/Data2/Documents/ToShare-FullAccess; mkdir -p /home/Data2/Documents/ToShare-JustRead; # - - # # - Change ownership to common user - # sudo chown -R is_derayo:users /home/AllDisks-Data/Documents/ToShare-FullAccess; sudo chown -R is_derayo:users /home/AllDisks-Data/Documents/ToShare-JustRead; sudo chown -R is_derayo:users /home/Data/Documents/ToShare-FullAccess; sudo chown -R is_derayo:users /home/Data/Documents/ToShare-JustRead; sudo chown -R is_derayo:users /home/Data2/Documents/ToShare-FullAccess; sudo chown -R is_derayo:users /home/Data2/Documents/ToShare-JustRead; ll # - Should look like this - # drwxrwxrwx 3 is_derayo users 4.0K Sep 10 10:37 ToShare-FullAccess drwxrwxrwx 2 is_derayo users 4.0K Sep 10 00:31 ToShare-JustRead # - Change permissions of the folder to be readable & writable for everybody - # # - 777="Full access to directory" - # chmod 777 /home/AllDisks-Data/Documents/ToShare-FullAccess; chmod 777 /home/AllDisks-Data/Documents/ToShare-JustRead; chmod 777 /home/Data/Documents/ToShare-FullAccess; chmod 777 /home/Data/Documents/ToShare-JustRead; chmod 777 /home/Data2/Documents/ToShare-FullAccess; chmod 777 /home/Data2/Documents/ToShare-JustRead; # - - # # - Just for uServer 18.04 / 20.04 - # # - Install samba server - # #sudo apt install tasksel -y; #sudo tasksel install samba-server; # - - # # - Install samba following the website instructions - # # - - # # - Move MySQL Database to Data disk - # # - - # # - A1 - PostgreSQL - Install & Quick Commands - Very Important - # # - A2 - Move PostgreSQL Database to New Location- # # - A4 - Install phpPgAdmin on Ubuntu 16.04 - # # - - # # - Install & configure NextCloud - # # - - # # - Install & configure PlexMediaServer - # # - - # # - Install & configure docker - # # - - # # - - #