About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
installation:ubuntu

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
installation:ubuntu [2020/01/30 15:55] – [Database Issues] demiankatzinstallation:ubuntu [2021/03/08 19:05] – [Database Issues] demiankatz
Line 5: Line 5:
 ====== Version Requirements ====== ====== Version Requirements ======
  
-These instructions were most recently tested on Ubuntu 19.04 and Debian 10.1 but should also work with other recent versions with little or no modification. If you are using an older Ubuntu distribution, make sure it meets the [[installation:requirements|requirements]] (such as minimum PHP version) of the VuFind release you are installing.+These instructions were most recently tested on Ubuntu 20.10 and Debian 10.1 but should also work with other recent versions with  little or no modification. If you are using an older Ubuntu distribution, make sure it meets the [[installation:requirements|requirements]] (such as minimum PHP version) of the VuFind release you are installing.
 ====== Getting Started ====== ====== Getting Started ======
  
Line 39: Line 39:
  
 <code bash> <code bash>
-wget https://github.com/vufind-org/vufind/releases/download/v6.0.1/vufind_6.0.1.deb+wget https://github.com/vufind-org/vufind/releases/download/v7.1/vufind_7.1.deb
 </code> </code>
  
-===== 2. Install the package =====+===== 2. Install preferred dependencies (optional) ===== 
 + 
 +By default, if your system does not already have Java or a MySQL-compatible database installed, VuFind's .deb package will automatically install these for you. VuFind picks your distribution's default Java JDK (usually JDK 11 as of this writing) and will choose MySQL over MariaDB (if both options are available in the distribution). If you have different preferences, you can install alternative compatible packages before installing the VuFind package, and it should take advantage of them instead of installing unwanted versions. 
 + 
 +==== Example 1: Installing an Older JDK ==== 
 + 
 +:!: This option is not supported before VuFind 7.1, which increased the flexibility of Java handling in the .deb package. 
 + 
 +If you want to run VuFind with JDK 8, you can simply run: //sudo apt-get install openjdk-8-jdk// 
 + 
 +==== Example 2: Using MariaDB instead of MySQL ==== 
 + 
 +If you prefer MariaDB to MySQL, simply run this command before installing VuFind: //sudo apt-get install mariadb-server// 
 + 
 +===== 3. Install the package =====
  
 <code bash> <code bash>
-sudo dpkg -i vufind_6.0.1.deb+sudo dpkg -i vufind_7.1.deb
 </code> </code>
  
Line 59: Line 73:
  
   * **Case 1 - MySQL, Ubuntu 17 or earlier:** If you need to install MySQL, you may be prompted for a root password during installation.  For better security, it is a good idea to set this; if you do, be sure you remember it so you can configure VuFind to access the database later.   * **Case 1 - MySQL, Ubuntu 17 or earlier:** If you need to install MySQL, you may be prompted for a root password during installation.  For better security, it is a good idea to set this; if you do, be sure you remember it so you can configure VuFind to access the database later.
-  * **Case 2 - MySQL, Ubuntu 18+:** If you wish to connect to the root account through the web-based installer in order to set up VuFind's database, you will need to disable the root account's "auth_socket" plugin, which prevents regular logins. You can do this by logging in with "sudo mysql -uroot" and then running <nowiki>"UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root'; FLUSH PRIVILEGES;"</nowiki> Next you should run "sudo /usr/bin/mysql_secure_installation" to set a root password.+  * **Case 2 - MySQL, Ubuntu 18+:** If you wish to connect to the root account through the web-based installer in order to set up VuFind's database, you will need to disable the root account's "auth_socket" plugin, which prevents regular logins. You can do this by logging in with "sudo mysql -uroot" and then running <nowiki>"UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='root'; FLUSH PRIVILEGES;"</nowiki> Next you should quit the MySQL tool and run "sudo /usr/bin/mysql_secure_installation" at the command line to set a root password.
   * **Case 3 - MySQL, Ubuntu 19.10+:** Follow the instructions above under "Ubuntu 18+," but also edit /etc/mysql/mysql.conf.d/mysqld.cnf, add the line "default_authentication_plugin= mysql_native_password" and run "sudo service mysql restart" before attempting to set up VuFind. This will ensure that new accounts are created using a PHP-compatible authentication method.   * **Case 3 - MySQL, Ubuntu 19.10+:** Follow the instructions above under "Ubuntu 18+," but also edit /etc/mysql/mysql.conf.d/mysqld.cnf, add the line "default_authentication_plugin= mysql_native_password" and run "sudo service mysql restart" before attempting to set up VuFind. This will ensure that new accounts are created using a PHP-compatible authentication method.
-  * **Case 4 - MariaDB:** If you are using a distribution that includes MariaDB instead of MySQL, you will not be prompted to set a root password during installation. Instead, you should run "sudo /usr/bin/mysql_secure_installation" to properly set up security. If this command is missing, try installing the mariadb-client and mariadb-server packages with apt-get. If you wish to connect to the root account through the web-based installer in order to set up VuFind's database, you may also need to disable the root account's "unix_socket" plugin, which prevents regular logins. You can do this by logging in with "sudo mysql -uroot -p" and then running <nowiki>"UPDATE mysql.user SET plugin='' WHERE User='root'; FLUSH PRIVILEGES;"</nowiki>+  * **Case 4 - MariaDB 10.3 and earlier:** If you are using a distribution that includes MariaDB instead of MySQL, you will not be prompted to set a root password during installation. Instead, you should run "sudo /usr/bin/mysql_secure_installation" to properly set up security. If this command is missing, try installing the mariadb-client and mariadb-server packages with apt-get. If you wish to connect to the root account through the web-based installer in order to set up VuFind's database, you may also need to disable the root account's "unix_socket" plugin, which prevents regular logins. You can do this by logging in with "sudo mysql -uroot -p" and then running <nowiki>"UPDATE mysql.user SET plugin='' WHERE User='root'; FLUSH PRIVILEGES;"</nowiki> 
 +  * **Case 5 - MariaDB 10.4 and later:** MariaDB 10.4 significantly changes how authentication is handled; see [[https://mariadb.com/kb/en/authentication-from-mariadb-104/|Authentication from MariaDB 10.4]] in the application's documentation for more details. Notes on successfully configuring MariaDB 10.4 and VuFind will be added here as time permits. 
 +  * **When all else fails:** If you cannot successfully connect to the database with VuFind's installer using the root account, you can still set up the database manually through the command line. When filling out the "Auto Configure" database form, omit the "MySQL Root User" and "MySQL Root Password" fields at the bottom, and instead of clicking the regular "Submit" form, click the "Skip" button below it. This will show you all of the SQL commands that need to be run to set up VuFind's database. Using the MySQL command line client ("mysql -u root -p"), run the first four (CREATE DATABASE/CREATE USER/GRANT/FLUSH) commands that are displayed. This will set up your new VuFind database. Now, you need to run a "USE" command to select that database (e.g. "USE vufind;" if you're using the default database name of "vufind"). Finally, copy and paste the remainder of the SQL (consisting of many CREATE TABLE statements). This will populate your new VuFind database. You may also need to edit the [Database] section of config.ini to adjust the database connection string to use the credentials created for your new database.
  
 ==== ILS-Specific Issues ==== ==== ILS-Specific Issues ====
Line 149: Line 165:
 <code> <code>
 cd /tmp cd /tmp
-wget https://github.com/vufind-org/vufind/releases/download/v6.0.1/vufind-6.0.1.tar.gz +wget https://github.com/vufind-org/vufind/releases/download/v7.1/vufind-7.1.tar.gz 
-tar -xzvf vufind-6.0.1.tar.gz +tar -xzvf vufind-7.1.tar.gz 
-sudo mv vufind-6.0.1 /usr/local/vufind+sudo mv vufind-7.1 /usr/local/vufind
 </code> </code>
  
installation/ubuntu.txt · Last modified: 2024/02/12 12:55 by demiankatz