<h1 id=“software_selections”>Software selections</h1>
<p> Jitsi Meet: free video conferencing - <a href="https://jitsi.org/" title="https://jitsi.org/" rel="ugc nofollow">https://jitsi.org/</a></p>
<h1 id=“linux-based_datastore”>Linux-based Datastore</h1>
<p> External disk mountable on startup: /etc/fstab </p>
<h3 id=“install_samba_on_debian_11”>Install Samba on Debian 11</h3>
<p> In Terminal: </p> <pre>sudo apt install samba smbclient cifs-utils</pre> <p> Next, edit configuration: </p> <pre>sudo nano /etc/samba/smb.conf</pre> <p> After every configuration, the service has to be restarted: </p> <pre>sudo service smbd restart</pre>
<h1 id=“flask_app_on_debian”>Flask app on Debian</h1>
<p> This guide lists the steps in order to setup the environment for the hosting of a Flask-based app. I'm assuming the IT professional is starting from scratch and a fresh, clean install of Debian is in place. </p> <p> 1) Install sudo </p> <p> Debian does not come with the sudo program so it has to be installed with apt install sudo. </p> <p> 2) Allow remote ssh: </p> <p> In order to allow root account login via ssh, edit the <strong>sshd_config</strong> file. As root, type: </p> <p> nano /etc/ssh/sshd_config </p> <p> Add the following line to the file (at the end of the file, for example): </p> <p> PermitRootLogin yes </p> <p> …and restart the service: </p> <p> service ssh restart </p> <p> Add newuser (or whatever plain user) to sudoers: </p> <p> as root, run: usermod -aG sudo newuser </p> <p> The -aG option tells the system to append the user to the specified group. (The -a option is only used with G.) </p>
Install PostgreSQL
PostgreSQL can be installed with:
apt install postgresql postgresql-contrib
PostgreSQL version: PostgreSQL 13.5
Change to user postgres:
su - postgres
psql postgres=# create user soto with encrypted password 'password'; create database flask_db; grant all privileges on database flaskdb to soto; createdb postgres GRANT ALL PRIVILEGES ON DATABASE postgres TO postgres; </pre> </div> <h2 id=“allow_remote_access_to_postgresql”>Allow remote access to PostgreSQL</h2>
<p> Exit and run as root: </p> <p> nano /etc/postgresql/13/main/postgresql.conf </p> <p> add: </p> <p> listen_addresses = '*' # what IP address(es) to listen on; </p> <p> Next, you also have to edit the pg_hba.conf file to control access at a finer grained level. The file path is, in my case: /etc/postgresql/13/main/pg_hba.conf </p>
<h2 id=“postgis”>PostGIS</h2>
<pre>sudo apt install postgis postgresql-13-postgis-3
sudo -i -u postgres </pre>
<h2 id=“troubleshooting”>Troubleshooting</h2>
<p> <a href="https://www.postgresql.r2schools.com/how-to-check-postgresql-is-running-or-not/" title="https://www.postgresql.r2schools.com/how-to-check-postgresql-is-running-or-not/" rel="ugc nofollow">https://www.postgresql.r2schools.com/how-to-check-postgresql-is-running-or-not/</a></p>
<h2 id=“sources”>Sources</h2>
<p> <a href="https://help.clouding.io/hc/en-us/articles/360021332399-How-to-Deploy-a-Python-App-on-Debian-10" title="https://help.clouding.io/hc/en-us/articles/360021332399-How-to-Deploy-a-Python-App-on-Debian-10" rel="ugc nofollow">https://help.clouding.io/hc/en-us/articles/360021332399-How-to-Deploy-a-Python-App-on-Debian-10</a></p> <p> “Externalize” PostgreSQL: </p> <p> <a href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html" title="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html" rel="ugc nofollow">https://www.postgresql.org/docs/current/auth-pg-hba-conf.html</a></p> <p> <a href="https://stackoverflow.com/questions/3278379/how-to-configure-postgresql-to-accept-all-incoming-connections" title="https://stackoverflow.com/questions/3278379/how-to-configure-postgresql-to-accept-all-incoming-connections" rel="ugc nofollow">https://stackoverflow.com/questions/3278379/how-to-configure-postgresql-to-accept-all-incoming-connections</a></p> <p> <a href="https://stackoverflow.com/questions/59101635/even-with-listen-addresses-in-postgres-remote-login-is-not-working" title="https://stackoverflow.com/questions/59101635/even-with-listen-addresses-in-postgres-remote-login-is-not-working" rel="ugc nofollow">https://stackoverflow.com/questions/59101635/even-with-listen-addresses-in-postgres-remote-login-is-not-working</a></p>
<h1 id=“install_geoserver_on_ubuntu_server”>Install GeoServer on Ubuntu Server</h1>
<h4 id=“install_java_11_runtime”>1) Install Java 11 runtime:</h4>
<p> sudo apt update </p> <p> sudo apt install default-jdk </p> <p> Verify Java has been installed by checking its version: </p> <p> java -version </p> <p> Java is now installed! </p>
<h4 id=“install_apache_tomcat”>2) Install Apache Tomcat</h4>
<p> sudo apt install tomcat9 tomcat9-admin </p> <p> Enable Tomcat to start at system boot: </p> <p> sudo systemctl enable tomcat9 </p> <p> Start the service with: </p> <p> sudo service tomcat9 start </p> <p> Confirm the service is running with: </p> <p> sudo service tomcat9 status </p> <p> If the service is running ok, a line saying <em>active</em> will be displayed. </p>
<h4 id=“install_geoserver”>3) Install GeoServer</h4>
<p> wget <a href="https://sourceforge.net/projects/geoserver/files/GeoServer/2.20.3/geoserver-2.20.3-war.zip" title="https://sourceforge.net/projects/geoserver/files/GeoServer/2.20.3/geoserver-2.20.3-war.zip" rel="ugc nofollow">https://sourceforge.net/projects/geoserver/files/GeoServer/2.20.3/geoserver-2.20.3-war.zip</a></p> <p> Stop Tomcat before unzipping the files: </p> <p> sudo service tomcat9 stop </p> <p> Move the downloaded file to the webapps directory: </p> <p> sudo mv geoserver-2.20.3-war.zip /var/lib/tomcat9/webapps </p> <p> Navigate to the webapps directory: </p> <p> cd /var/lib/tomcat9/webapps </p> <p> Unzip the file: </p> <p> sudo unzip geoserver-2.20.3-war.zip </p> <p> If unzip has not been installed, use: </p> <p> sudo apt install unzip </p> <p> After installing Tomcat, type: </p> <p> sudo nano /etc/tomcat9/tomcat-users.xml </p> <p> Add the following three lines to the xml file: </p> <p> <role rolename=“admin-gui”/> </p> <p> <role rolename=“manager-gui”/> </p> <p> <user username=“tomcat” password=“pass” roles=“admin-gui,manager-gui”/> </p> <p> Reboot (or simply restart tomcat service): </p> <p> sudo reboot </p> <p> Geoserver is accessible at: <a href="http://192.168.92.20:8080/geoserver" title="http://192.168.92.20:8080/geoserver" rel="ugc nofollow">http://192.168.92.20:8080/geoserver</a> (or whatever is your IP/domain) </p>
<p> </p> <h1 id=“linux_misc_posix”>Linux & misc. POSIX</h1>
<p> Get info on the distro: </p> <p> System information: uname </p> <p> Network hostname: uname -n, Kernel release: -r Machine hardware name: -m, All info: -a </p> <p> CPU info: lscpu (adaptable to show PCI info, etc.) </p> <p> Storage devices (aka “block devices”): lsblk, all: -a. </p> <p> What is my <abbr title="Operating System">OS</abbr>?: lsb_release -a </p> <p> 32-bit or 64-bit of operating system? getconf LONG_BIT </p> <p> <strong>D</strong>isk <strong>F</strong>ree: df -T shows available filesystem types, df -BG shows available space </p> <p> 32-bit or 64-bit of <strong>ext4</strong>? </p> <p> tune2fs -l /dev/mapper/data-data | grep 'Filesystem features' Example output of 64-bit: </p> <p> Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize </p>
<h1 id=“windows”>Windows</h1>
<p> Best practices when creating a USB install drive </p> <p> Download using Windows Media Creation Tool </p> <p> Use rufus </p> <p> Add ei.cfg </p> <p> Create a folder inside with extras </p>
<p> </p> <p> </p> <p> </p> <p> </p> <p> </p> </body> </html>