Warning: This page has not been updated in over over a year and may be outdated or deprecated.
legacy:installation:fedora
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
legacy:installation:fedora [2015/12/08 19:01] – ↷ Links adapted because of a move operation demiankatz | legacy:installation:fedora [2018/12/19 17:12] (current) – demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== VuFind 1.4 on Fedora ====== | ====== VuFind 1.4 on Fedora ====== | ||
- | //This documentation will help you install VuFind 1.4. Documentation for the previous major release, VuFind 1.3, can be found [[http:// | ||
- | //Instructions for VuFind 2.x can be found [[vufind2: | + | // This outdated page has been deleted |
- | + | ||
- | These instructions assume that you are starting with a clean installation of Fedora 11 or newer. | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====== Getting Started ====== | + | |
- | + | ||
- | Install Fedora. | + | |
- | + | ||
- | * These instructions were originally written with Fedora 11 in mind. They have also been successfully tested with Fedora 12, 14, 16 and 18. | + | |
- | * Fedora 15 seems to have some SELinux changes that may cause problems, but the instructions will still work if you are willing to disable SELinux protection -- if a better solution is found, feel free to add more notes here. Fedora 16 seems to solve the problem, so if possible, just use the newer version of the OS. | + | |
- | * You can obtain a free copy of the software and find installation instructions at [[http:// | + | |
- | + | ||
- | //Once Fedora is installed, you can script nearly the entire process of VuFind installation. Skip to [[fedora# | + | |
- | + | ||
- | ====== A Note on SELinux ====== | + | |
- | + | ||
- | One of the key features that distinguishes Fedora from some other Linux distributions is its use of the SELinux security module. | + | |
- | + | ||
- | Also note that SELinux can block a lot of things -- if security is misconfigured, | + | |
- | + | ||
- | ====== Detailed Installation Instructions ====== | + | |
- | + | ||
- | Following these steps will give you a running instance of VuFind. | + | |
- | + | ||
- | The commands below assume that you have root access to the system. | + | |
- | + | ||
- | <code bash> | + | |
- | su | + | |
- | </ | + | |
- | + | ||
- | You will be prompted for the system' | + | |
- | + | ||
- | Root access can be dangerous, so be sure to exit out of the root account as soon as you are done with the necessary work! | + | |
- | + | ||
- | ===== 1. Update the system ===== | + | |
- | + | ||
- | The first step is to make sure you have the latest patches installed. | + | |
- | + | ||
- | <code bash> | + | |
- | yum update | + | |
- | </ | + | |
- | + | ||
- | ===== 2. Install Apache HTTP Server ===== | + | |
- | Now install the Apache web server. | + | |
- | + | ||
- | The basic Fedora install should come with Apache, but you can use this line to double-check and find out which version you have: | + | |
- | + | ||
- | <code bash> | + | |
- | yum install httpd | + | |
- | </ | + | |
- | + | ||
- | VuFind requires that the mod_rewrite module be enabled (this is used to form the URLs for accessing VuFind) -- like Apache itself, this should already be done for you by default in Fedora, so you shouldn' | + | |
- | + | ||
- | < | + | |
- | LoadModule rewrite_module modules/ | + | |
- | </ | + | |
- | + | ||
- | If the server had to be reconfigured or is not already running, you can make sure it's running and up to date like this: | + | |
- | + | ||
- | <code bash> | + | |
- | apachectl restart | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ===== 3. Install MySQL ===== | + | |
- | + | ||
- | VuFind uses the MySQL database for storing user comments, tags and other information. | + | |
- | + | ||
- | <code bash> | + | |
- | yum install mysql-server | + | |
- | </ | + | |
- | + | ||
- | Once MySQL is installed, you should start it up: | + | |
- | + | ||
- | <code bash> | + | |
- | service mysqld start | + | |
- | </ | + | |
- | + | ||
- | For security reasons, it's also a good idea to set a root password for the database; this command will guide you through the process: | + | |
- | + | ||
- | <code bash> | + | |
- | / | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===== 4. Install PHP ===== | + | |
- | + | ||
- | Most of VuFind is written using the PHP language. | + | |
- | + | ||
- | <code bash> | + | |
- | yum install php php-devel php-pear php-ldap php-mysql php-xsl php-pspell php-gd php-mbstring | + | |
- | </ | + | |
- | + | ||
- | Note that the php-ldap library is only needed if you will be using LDAP authentication, | + | |
- | + | ||
- | If you are a Voyager library, you will also need to install the PHP OCI Driver for Oracle – see [[:installing_the_php_oci_driver_for_oracle|this page]] | + | |
- | + | ||
- | If you will be accessing a Sybase database (e.g. for the Horizon LMS), also install php-mssql. | + | |
- | <code bash> | + | |
- | yum install php-mssql | + | |
- | </ | + | |
- | + | ||
- | ===== 5. Install the Java JDK ===== | + | |
- | Next install JDK (the Java Development Kit) on the server – VuFind' | + | |
- | + | ||
- | <code bash> | + | |
- | yum install java-*-openjdk-devel | + | |
- | </ | + | |
- | + | ||
- | //Note: You can run the Jetty server with the JRE, but in order to ensure that your server | + | |
- | can run with the "-server" | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===== 6. Download VuFind ===== | + | |
- | All the prerequisites are in place, so now for the fun part – downloading and installing VuFind itself! | + | |
- | + | ||
- | <code bash> | + | |
- | yum install subversion | + | |
- | svn export --force https:// | + | |
- | </ | + | |
- | + | ||
- | Appropriate security permissions need to be set up so Apache can access the VuFind code. The chcon line sets file permissions so Apache is allowed to load the files. | + | |
- | <code bash> | + | |
- | cd / | + | |
- | chcon -R unconfined_u: | + | |
- | setsebool -P httpd_can_network_relay=1 | + | |
- | setsebool -P httpd_can_sendmail=1 | + | |
- | </ | + | |
- | + | ||
- | It is also necessary to make a few directories writeable so VuFind can generate cache files: | + | |
- | + | ||
- | <code bash> | + | |
- | chmod 777 / | + | |
- | chmod 777 / | + | |
- | chmod 777 / | + | |
- | chcon -R unconfined_u: | + | |
- | chcon -R unconfined_u: | + | |
- | chcon -R unconfined_u: | + | |
- | </ | + | |
- | + | ||
- | You may also need to change the owner of the compile, cache and covers directories to match the user and group used by apache (See / | + | |
- | + | ||
- | <code bash> | + | |
- | chown apache: | + | |
- | chown apache: | + | |
- | chown apache: | + | |
- | </ | + | |
- | + | ||
- | ===== 7. Link VuFind to Apache ===== | + | |
- | + | ||
- | Apache needs to have some extra VuFind settings loaded. | + | |
- | <code bash> | + | |
- | chcon system_u: | + | |
- | ln -s / | + | |
- | </ | + | |
- | + | ||
- | Apache needs to be restarted so the changes can take effect: | + | |
- | + | ||
- | <code bash> | + | |
- | apachectl restart | + | |
- | </ | + | |
- | + | ||
- | ==== Alternate Approach ==== | + | |
- | If Apache will not restart successfully, | + | |
- | + | ||
- | <code bash> | + | |
- | rm / | + | |
- | cp / | + | |
- | apachectl restart | + | |
- | </ | + | |
- | + | ||
- | If you take this approach, remember that you will have to edit the copy in / | + | |
- | + | ||
- | ==== Allowing Access to Files ==== | + | |
- | + | ||
- | In some versions of Fedora (18+), you may get an HTTP 403 Forbidden error when trying to access VuFind unless you add this line: | + | |
- | + | ||
- | < | + | |
- | Require all granted | + | |
- | </ | + | |
- | + | ||
- | in the httpd-vufind.conf file below | + | |
- | + | ||
- | < | + | |
- | AllowOverride All | + | |
- | </ | + | |
- | + | ||
- | in the | + | |
- | + | ||
- | < | + | |
- | < | + | |
- | </ | + | |
- | + | ||
- | section. | + | |
- | + | ||
- | ===== 8. Install WGET ===== | + | |
- | + | ||
- | The VuFind install process needs the wget command to download components; make sure it is available: | + | |
- | + | ||
- | <code bash> | + | |
- | yum install wget | + | |
- | </code> | + | |
- | + | ||
- | ===== 9. Install VuFind ===== | + | |
- | + | ||
- | The groundwork is set, so you can now run VuFind' | + | |
- | + | ||
- | <code bash> | + | |
- | cd /usr/ | + | |
- | / | + | |
- | </ | + | |
- | + | ||
- | Scripts for running and updating VuFind need to be made executable so they can run from the command line: | + | |
- | <code bash> | + | |
- | chmod +x / | + | |
- | chmod +x / | + | |
- | </ | + | |
- | + | ||
- | Smarty (the template engine installed by the install script) needs to be given permissions that will allow PHP to access it: | + | |
- | <code bash> | + | |
- | chcon -R unconfined_u: | + | |
- | </ | + | |
- | + | ||
- | ===== 10. Final Configuration ===== | + | |
- | + | ||
- | Everything is set up - proceed to [[fedora# | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ====== A (Mostly) Scripted Default Installation ====== | + | |
- | You can use this script to (mostly) install everything to get VuFind running on Fedora. Just save this script as fedora_setup.sh, | + | |
- | + | ||
- | <code bash> | + | |
- | su | + | |
- | sh fedora_setup.sh | + | |
- | </ | + | |
- | + | ||
- | You will be prompted along the way for confirmation of various package installs (just answer yes or edit the script to force agreement) as well as a few security settings (fill these in as you see fit). | + | |
- | + | ||
- | If you are a Voyager library, you will also need to install the PHP OCI Driver for Oracle – see [[: | + | |
- | + | ||
- | After running the script, proceed to [[fedora# | + | |
- | + | ||
- | <code bash> | + | |
- | # | + | |
- | + | ||
- | # Script for installing VuFind 1.4 on Fedora | + | |
- | # This does not include the OCI8 libraries | + | |
- | + | ||
- | # Set some variables | + | |
- | VUFIND_SVN=" | + | |
- | VUFIND_HOME="/ | + | |
- | + | ||
- | # Update the system and install software | + | |
- | yum update | + | |
- | yum install httpd mysql-server php php-devel php-pear php-ldap php-mysql php-xsl php-pspell java-1.6.0-openjdk-devel | + | |
- | + | ||
- | # Start MySQL and set up security | + | |
- | service mysqld start | + | |
- | / | + | |
- | + | ||
- | # download VuFind using Subversion | + | |
- | yum install subversion | + | |
- | svn export --force $VUFIND_SVN $VUFIND_HOME | + | |
- | + | ||
- | # Fail if we couldn' | + | |
- | if [ ! -f $VUFIND_HOME/ | + | |
- | then | + | |
- | echo FATAL ERROR -- could not load VuFind from $VUFIND_SVN | + | |
- | exit | + | |
- | fi | + | |
- | + | ||
- | # Set permissions so apache can access appropriate directories and services. | + | |
- | cd $VUFIND_HOME/ | + | |
- | chcon -R unconfined_u: | + | |
- | setsebool -P httpd_can_network_relay=1 | + | |
- | setsebool -P httpd_can_sendmail=1 | + | |
- | + | ||
- | # set up Apache for VuFind and reload configuration | + | |
- | chcon system_u: | + | |
- | ln -s $VUFIND_HOME/ | + | |
- | apachectl restart | + | |
- | + | ||
- | # Finalize the installation | + | |
- | cd $VUFIND_HOME | + | |
- | yum install wget | + | |
- | $VUFIND_HOME/ | + | |
- | chmod +x $VUFIND_HOME/ | + | |
- | chmod +x $VUFIND_HOME/ | + | |
- | chmod 777 $VUFIND_HOME/ | + | |
- | chmod 777 $VUFIND_HOME/ | + | |
- | chmod 777 $VUFIND_HOME/ | + | |
- | chcon -R unconfined_u: | + | |
- | chcon -R unconfined_u: | + | |
- | chcon -R unconfined_u: | + | |
- | chcon -R unconfined_u: | + | |
- | </ | + | |
- | + | ||
- | ====== Configuring and Starting VuFind ====== | + | |
- | + | ||
- | Regardless of the method you used to set up VuFind, you will need to follow these steps to configure final details and get the code running. | + | |
- | + | ||
- | + | ||
- | + | ||
- | ===== 1. Set Up Environment Variables ===== | + | |
- | Some environment variables need to be set so that VuFind-related scripts can find Java and VuFind itself. | + | |
- | + | ||
- | <code bash> | + | |
- | echo export JAVA_HOME=\"/ | + | |
- | echo export VUFIND_HOME=\"/ | + | |
- | </ | + | |
- | + | ||
- | // | + | |
- | + | ||
- | <code bash> | + | |
- | ln -s / | + | |
- | </ | + | |
- | + | ||
- | After editing / | + | |
- | + | ||
- | <code bash> | + | |
- | source / | + | |
- | </ | + | |
- | + | ||
- | ===== 2. Configure VuFind ===== | + | |
- | + | ||
- | The software is installed, but you still need to configure it with things like your site's base URL and keys for various third-party services. | + | |
- | + | ||
- | You can use any text editor; if you are new to this, you might find Nano relatively easy (it's not beautiful, but at least the command reference is visible on the screen!): | + | |
- | + | ||
- | <code bash> | + | |
- | nano / | + | |
- | </ | + | |
- | + | ||
- | If you used a non-standard install directory (something other than / | + | |
- | + | ||
- | ===== 3. Start VuFind ===== | + | |
- | + | ||
- | To start VuFind: | + | |
- | + | ||
- | <code bash> | + | |
- | cd / | + | |
- | ./vufind.sh start | + | |
- | </ | + | |
- | + | ||
- | For more information on managing the operation of the VuFind server, including how to make it start automatically, | + | |
- | + | ||
- | ===== 4. Import Records ===== | + | |
- | + | ||
- | VuFind won't do much good without any data – see the [[: | + | |
- | + | ||
- | ===== 5. Secure Your System ===== | + | |
- | + | ||
- | Congratulations -- you now have a running copy of VuFind. | + | |
- | + | ||
- | ===== 6. Modify SELinux ===== | + | |
- | + | ||
- | If you have difficulties connecting to various network resources (such as LDAP, TNS or Jetty) you may need to update your SELinux settings. | + | |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
legacy/installation/fedora.1449601299.txt.gz · Last modified: 2015/12/08 19:01 by demiankatz