Linux Setup

From National Gallery Research Wiki
Revision as of 08:33, 18 May 2020 by Jpadfield (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Ubuntu Setup

When setting up new workstations with the Ubuntu Linux system the following pieces of software, plus their dependencies are installed. In addition to installing the listed packages some additional work needs to be done at this time to ensure ODBC/FreeTDS can talk to SQL Server 2005.

Linux Multi-Media

Linux Setup Old

Linux Symantec BackupExec

Linux Working with Multiple Names and Services

Linux Additional Notes

Reinstalling Grub

National Gallery Digital Documentation

Ubuntu 20.04

  • wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  • sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
  • sudo apt-get update
  • sudo apt-get install bison flex automake make libfftw3-dev libxml2-dev libpango1.0-dev libfreetype6-dev g++ libatk1.0-dev intltool imagemagick libmagick++-dev indent gpp openexr libopenexr-dev libgtk-3-dev libgsl-dev openssh-server python-dev swig libimage-exiftool-perl libtiff-tools libtool samba cifs-utils libdatetime-perl subversion libmatio-dev libgoffice-0.10-dev pngtools gimp liborc-0.4-dev libcfitsio-dev synaptic gobject-introspection geany geany-plugin-spellcheck geany-plugin-extrasel geany-plugin-addons apache2 php mysql-server php-mysql php-gd php-intl php-ldap libapache2-mod-fcgid libapache2-mod-php php-bcmath php-cli php-cgi php-sybase php-curl php-zip ruby ruby-dev subversion google-chrome-stable libopenslide-dev openslide-tools gnome-tweak-tool unity-tweak-tool gnome-color-manager gnumeric libmysqlclient-dev ruby-mysql2 lib32z1 lib32ncurses6 libwebp-dev git curl sshfs php-apcu gparted python-gobject-2-dev libgirepository1.0-dev libgvc6-plugins-gtk php-gd php-imagick chrome-gnome-shell python3-gpg phpmyadmin google-chrome-stable

Ubuntu 19.10

  • sudo apt-get install bison flex automake make libfftw3-dev libxml2-dev libpango1.0-dev libfreetype6-dev g++ libatk1.0-dev intltool imagemagick libmagick++-dev indent gpp openexr libopenexr-dev libgtk-3-dev libgsl-dev openssh-server python-dev swig libimage-exiftool-perl libtiff-tools libtool samba cifs-utils libdatetime-perl subversion libmatio-dev libgoffice-0.10-dev pngtools gimp liborc-0.4-dev libcfitsio-dev synaptic gobject-introspection geany geany-plugin-spellcheck geany-plugin-extrasel geany-plugin-addons apache2 php mysql-server php-mysql php-gd php-intl php-ldap libapache2-mod-fcgid libapache2-mod-php php-bcmath php-cli php-cgi php-sybase php-curl php-zip ruby ruby-dev subversion google-chrome-stable libopenslide-dev openslide-tools gnome-tweak-tool unity-tweak-tool gnome-color-manager gnumeric libmysqlclient-dev ruby-mysql2 lib32z1 lib32ncurses6 libwebp-dev git curl sshfs php-apcu gparted python-gobject-2-dev libgirepository1.0-dev libgvc6-plugins-gtk php-gd php-imagick chrome-gnome-shell python3-gpg
  • phpmyadmin removed, needs to be installed separatly if needed.

Ubuntu 19.04

  • sudo apt-get install bison flex automake make libfftw3-dev libxml2-dev libpango1.0-dev libfreetype6-dev g++ libatk1.0-dev intltool imagemagick libmagick++-dev indent gpp openexr libopenexr-dev libgtk-3-dev libgsl-dev openssh-server python-dev swig libimage-exiftool-perl libtiff-tools libtool samba cifs-utils libdatetime-perl subversion libmatio-dev libgoffice-0.10-dev pngtools gimp liborc-0.4-dev libcfitsio-dev synaptic gobject-introspection geany geany-plugin-spellcheck geany-plugin-extrasel geany-plugin-addons apache2 php mysql-server php-mysql php-gd php-intl php-ldap phpmyadmin libapache2-mod-fcgid libapache2-mod-php php-bcmath php-cli php-cgi php-sybase php-curl php-zip ruby ruby-dev subversion google-chrome-stable libopenslide-dev openslide-tools gnome-tweak-tool unity-tweak-tool gnome-color-manager gnumeric libmysqlclient-dev ruby-mysql2 lib32z1 lib32ncurses6 libwebp-dev git curl sshfs php-apcu gparted python-gobject-2-dev libgirepository1.0-dev libgvc6-plugins-gtk php-gd php-imagick php-gmagick

Ubuntu 18.04

  • sudo apt-get install bison flex automake1.11 make libfftw3-dev libxml2-dev libpango1.0-dev libfreetype6-dev g++ libatk1.0-dev intltool imagemagick libmagick++-dev indent gpp openexr libopenexr-dev libgtk-3-dev libgsl-dev openssh-server python-dev swig libimage-exiftool-perl libtiff-tools libtool samba cifs-utils libdatetime-perl subversion libmatio-dev openjdk-8-jdk libgoffice-0.10-dev pngtools gimp liborc-0.4-dev libcfitsio-dev synaptic gobject-introspection geany geany-plugin-spellcheck geany-plugin-extrasel geany-plugin-addons apache2 php7.2 mysql-server php7.2-mysql php7.2-gd php7.2-intl php7.2-ldap phpmyadmin libapache2-mod-fcgid libapache2-mod-php php-bcmath mysql-workbench php7.2-cli php7.2-cgi php7.2-sybase php7.2-curl php7.2-zip ruby ruby2.5-dev subversion google-chrome-stable libopenslide-dev openslide-tools gnome-tweak-tool unity-tweak-tool gnome-color-manager gnumeric libmysqlclient-dev ruby-mysql2 lib32z1 lib32ncurses5 libwebp-dev git curl sshfs php-apcu gparted python-gobject-2-dev libgirepository1.0-dev libgtk2.0-dev libgvc6-plugins-gtk

Ubuntu 16.04

  • wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - && sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && sudo apt-get update
  • sudo apt-get install bison flex automake1.11 make libfftw3-dev libxml2-dev libpango1.0-dev libfreetype6-dev g++ libatk1.0-dev intltool imagemagick libmagick++-dev indent gpp openexr libopenexr-dev libgtk-3-dev libgsl-dev openssh-server python-dev swig libimage-exiftool-perl libtiff-tools libtool samba cifs-utils libdatetime-perl subversion libmatio-dev openjdk-8-jdk libgoffice-0.10-dev pngtools gimp liborc-0.4-dev libcfitsio3-dev synaptic gobject-introspection geany geany-plugin-spellcheck geany-plugin-extrasel geany-plugin-addons apache2 php7.0 mysql-server php7.0-mysql php7.0-gd php7.0-intl php7.0-ldap phpmyadmin libapache2-mod-fastcgi libapache2-mod-php php-bcmath mysql-workbench php7.0-cli php7.0-cgi php7.0-sybase php7.0-curl php7.0-zip ruby ruby2.3-dev subversion google-chrome-stable libopenslide-dev openslide-tools gnome-tweak-tool unity-tweak-tool gnome-color-manager gnumeric libmysqlclient-dev ruby-mysql lib32z1 lib32ncurses5 libwebp-dev git curl sshfs php-apcu gparted python-gobject-dev libgirepository1.0-dev
  • Correct the Google Chrome apt-get issue: http://www.omgubuntu.co.uk/2016/03/fix-failed-to-fetch-google-chrome-apt-error-ubuntu

Ubuntu 14.04

  • wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - && sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && sudo apt-get update
  • sudo apt-get install bison flex automake1.10 make libfftw3-dev libxml2-dev libpango1.0-dev libfreetype6-dev g++ libatk1.0-dev intltool imagemagick libmagick++-dev indent gpp openexr libopenexr-dev libgtk-3-dev libgsl0-dev openssh-server python-dev liboil0.3-dev swig libimage-exiftool-perl libtiff-tools libtool samba cifs-utils libdatetime-perl subversion libmatio-dev openjdk-7-jdk libgoffice-0.10-dev pngtools gimp liborc-0.4-dev libcfitsio3-dev synaptic gobject-introspection geany geany-plugin-spellcheck geany-plugin-extrasel geany-plugin-addons apache2 php5 mysql-server php5-mysql php5-gd php5-intl php5-ldap phpmyadmin libapache2-mod-fastcgi mysql-workbench php5-cli php5-sybase php5-curl ruby ruby1.9.1-dev subversion google-chrome-stable libopenslide-dev openslide-tools gnome-tweak-tool unity-tweak-tool gnome-color-manager gnumeric libmysqlclient-dev ruby-mysql lib32z1 lib32ncurses5 lib32bz2-1.0 gnome-session-fallback libwebp-dev git curl sshfs php-apc gparted python-gobject-dev libgirepository1.0-dev

HP Server Agents

  • add the following to: /etc/apt/sources.list.d
# HPE Management Component Pack 
deb http://downloads.linux.hpe.com/SDR/repo/mcp trusty/current non-free

More information at: https://downloads.linux.hpe.com/SDR/project/mcp/

  • sudo apt-get install hp-health hponcfg hp-ams hp-snmp-agents hpsmh hp-smh-templates hpssacli hpssaducli hpssa

Skype

  • sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
  • sudo apt-get update
  • sudo apt-get install skype && sudo apt-get -f install

Vips

For basic install just get it from the debian repository:

  • sudo apt-get install nip2 libvips-tools libvips-dev libvips-doc python-vipscc

To build from the source code:

  • Download and build the latest source code for vips and nip2 from the Vips website.

Preparations

Ensure something simliar to the following is in your .basrc file:

export VIPSHOME=/usr/local/vips
export MANPATH=$MANPATH:$VIPSHOME/man
export PATH=$VIPSHOME/bin:"${PATH}"
export LD_LIBRARY_PATH=/usr/local/lib:$VIPSHOME/lib
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib32/pkgconfig:/usr/share/pkgconfig:$VIPSHOME/lib/pkgconfig:

  • sudo mkdir /usr/local/vips-X.XX
  • sudo ln -s /usr/local/vips-X.XX /usr/local/vips

cd into vips source code dir

  • ./configure --prefix=/usr/local/vips-X.XX
  • make
  • sudo make install

cd into nip2 source code dir

  • ./configure --prefix=/usr/local/vips-X.XX
  • make
  • sudo make install

Optional Extras

Nvidia

  • Not been checked for 12.04

To install the latest Nvidia drivers:

sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current

VPN

  • sudo apt-get install pptpd pptp-linux network-manager-pptp bcrelay

ODBC/TDS

sudo apt-get install unixodbc unixodbc-dev unixodbc-bin libodbc1 odbcinst1debian2 tdsodbc php5-odbc freetds-bin freetds-common freetds-dev libct4 libsybdb5

Configuration

Add server details to the /etc/freetds/freetds.conf file, for example:

[name]
host = name.full.server.address.com
port = 1433
tds version = 8.0  
client charset = CP1252   

Add server details to the /etc/odbc.ini file, for example:

[name]
Description = 
Driver = TDS
Servername = name
Database = dbname
UID = USERNAME
PWD = PASSWORD
Port= 1433

Set system details to the /etc/odbcinst.ini file, for example:

[ODBC]
Trace           = No
TraceFile       = /tmp/sql.log
ForceTrace      = No
Pooling         = No

[TDS]
Description	= Freetds.org
Driver		= /usr/lib/odbc/libtdsodbc.so
Setup		= /usr/lib/odbc/libtdsS.so
FileUsage	= 1
dontdlclose	= 1
UsageCount	= 1

Tomcat

Several of these systems require additional programs from apt-get in addition to specific file downloads. At this time the process semms to work fine with the packages install in the general section above, the main required package will have been: openjdk-7-jdk.

  • The Tomcat binaries can be downloaded directly from their website. I downloaded the newest core binary, which at the time of writing was apache-tomcat-7.0.27.tar.gz.
  • Unpack the software directory from the downloaded file and move it to a good location, such as /usr/local/. I also set up a version free symbolic link to the downloaded folder, though I am not sure it will be needed.
tar xzvf apache-tomcat-7.0.27.tar.gz
sudo mv apache-tomcat-7.0.27 /usr/local/. 
sudo ln -s /usr/local/apache-tomcat-7.0.27 /usr/local/apache-tomcat
  • The Tomcat service can then started up:
/usr/local/apache-tomcat/bin/startup.sh
  • Or shut down using:
/usr/local/apache-tomcat/bin/shutdown.sh
  • After startup, the default web applications included with Tomcat will be available by visiting http://localhost:8080/.
  • To make use of the Application Manager you will need to add user details to the /usr/local/apache-tomcat/conf/tomcat-users.xml file. For example adding lines similar to:
 <role rolename="manager-gui"/>
 <role rolename="manager-script"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
 <user username="AdminUsername" password="XXXXXXXXXXX" 
   roles="manager-gui,manager-script,manager-jmx,manager-status"/>

For further information about configuration and setup see the documentation section of the Tomcat website.

Redirecting Tomcat services

  • Not been checked for 12.04
  • Install apache module:
sudo apt-get install libapache2-mod-jk
  • Update/etc/libapache2-mod-jk workers.properties to add lines similar to:
workers.tomcat_home=/usr/local/apache-tomcat

workers.java_home=/usr/lib/jvm/java-6-openjdk

worker.list=worker1, worker2

worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker2.port=8009
worker.worker2.host=localhost
worker.worker2.type=ajp13
  • Update /etc/apache2/mods-enabled/jk.load to:
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel error
  • Restart apache2.
  • Restart tomcat.

Auto Startup

  • Not been checked for 12.04

Create a new text file:

sudo gedit /etc/init.d/tomcat

Copy and paste the following code into the new file and save it.

#!/bin/sh

case "$1" in
'start')
	/usr/local/apache-tomcat/bin/startup.sh
	;;
'stop')
	/usr/local/apache-tomcat/bin/shutdown.sh
	;;
*)
	echo "Usage: $0 { start | stop }"
	;;
esac
exit 0

The Tomcat server will now automatically start/shutdown up on Boot/Shutdown. It can also be manually started and shutdown using the following commands:

sudo /etc/init.d/tomcat start
sudo /etc/init.d/tomcat stop

MediaWiki

Tex support requires:

sudo apt-get install ocaml dvipng cjk-latex texlive-math-extra

Perlwikipedia:

sudo apt-get install libwww-mechanize-perl libxml-simple-perl

  • Then download the build the package from here.

Other