User:Alvonruff/ISFDB On Ubuntu 20.04

From ISFDB
Jump to navigation Jump to search

Notes for Installing ISFDB on Ubuntu 20.04

SSH

  • Issue: sudo apt-get install openssh-server

Apache 2.4.41

  • Issue: uname -a, and note the name of your PC, which we will refer to henceforth as <<PCNAME>>.
  • Issue: sudo apt-get install apache2
  • Issue: sudo /etc/init.d/apache2 start
  • Point your browser to <<PCNAME>>.local - you should see the default apache page.
  • Issue: sudo systemctl enable apache2

Mysql 8.0.28-0ubuntu0.20.04.3

  • Download a backup file
  • Issue: sudo apt install mysql-server
  • Issue: sudo mysql
  • While in mysql, issue the command: create database isfdb;
  • While in mysql, issue the command: use isfdb;
  • While in mysql, issue the command: alter database isfdb character set latin1 collate latin1_swedish_ci;
  • While in mysql, issue the command: source <<backupfile>>;

Python 2.7.18

  • Issue: sudo apt install python2
  • Issue: sudo apt install curl
  • Issue: curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py
  • Issue: sudo python2 get-pip.py
  • Issue: pip2 --version
  • Issue: sudo apt-get install python2-dev
  • Issue: sudo apt-get install default-libmysqlclient-dev
  • Issue: sudo pip2 install mysqlclient

ISFDB Install

  • Previously, python2 was installed by default as python on Linux, with python3 optionally installed as python3. Now python2 is installed as python2 and python3 is installed as python3'. As such the current ISFDB makefiles are broken, as they invoke /usr/bin/python, which is not present. This needs to be fixed, but for now change python install.py to python2 install.py across the local.mk files.
  • Update common/localdefs.py, by using <<PCNAME>>.local for COOKIEHOST, HTMLHOST, and HTMLLOC, and update HTFAKE and WIKILOC.
  • Update INSTALLDIRS to use /usr/lib/cgi-bin, which is the new preferred cgi-bin location
  • cd to isfdb directory and issue: make
  • cd to /etc/apache2/mods-enabled and issue: sudo ln -s ../mods-available/cgi.load - this will enable the execution of cgi-bin by Apache.
  • if you reload the <<PCNAME>>.local in your browser, you should now see the ISFDB frontpage, with a down for maintenance message.

Link ISFDB to MySQL

  • Issue: sudo mysql
  • While in mysql, issue the command: create user 'isfdb1'@'localhost' identified by 'YourPassword';
  • In the ISFDB, update common/localdefs.py to reflect the new USERNAME and PASSWORD.
  • cd isfdb and issue make
  • Issue: sudo mysql -u root -e "SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';" - this will allow MySQL to use strange dates, like 2010-05-00, which indicates sometime in May. Note: This is not persistent across reboots, so instead add the following to /etc/my.cnf.d/mysql-server.cnf:
    • sql-mode="NO_ENGINE_SUBSTITUTION"
  • Reload the ISFDB page in your browser. You should now see a mostly good web page (minus international character issues).