AdminManual/Installation

Installation

Requirements

There are a few dependencies to consider in order to use phpVideoPro:

  • a Web server supporting PHP (tested only with Apache)
  • PHP5 (recommended: PHP 5.2+ as loadable module for Apache - which again is the only tested variant) compiled with support for the database to use
  • optional:  IMDBPHP classes installed in the servers PHP include_path
  • a database which may be remote or local, supported are MySQL 3.28.32 and higher (recommended: v5) as well as PostgreSQL 7.1 or higher (starting with v0.9.5, SQLite is an additional option, but not fully tested yet)

Most (if not all) Linux distribution ship this along with their package manager (for IMDBPHP you will need the  IzzySoft Apt Repository IzzySoft Apt/YUM Repository configured), so it should be easy to install. On Windows it might be a bit more tricky. To test whether you meet these requirements, simply create a test PHP file containing a single line: <?php phpinfo();?>, put it into your document root, and call it with your browser. The resulting page will list your PHP configuration and tell you about available capabilities.

Installation

Recommended Installation Path

The best (and most recommended) way to install phpVideoPro is to use your Linux distributions package manager. There are *.deb and *.rpm packages available in the  IzzySoft APT repository, and you can even include this repository in your APT or YUM configuration (this is described on the webpages there). Doing so, all dependencies will be resolved automatically, and installation is done by a single command (apt-get install phpvideopro or yum install phpvideopro will perform all necessary steps).

If you can neither use *.deb nor *.rpm packages, you should download the TAR archives (IMDBPHP and phpVideoPro). Having these unpacked, change to the directories created and run make install after making sure that all dependencies are met.

All these mentioned methods have at least two advantages over the manual installation:

  • all files will automatically be put to the right places
  • everything can be easily cleanly uninstalled (apt-get remove phpvideopro, yum remove phpvideopro, make uninstall)

Using *.deb/*.rpm packages with the repository moreover will allow you easy updates.

Manual Installation

If you prefer to do a manual installation, you first need to make sure all requirements are met. Then:

  1. Unpack the TAR archive to the directory of your choice. This must either be inside your web servers document root, or linked there (and the web server configured to allow that - FollowSymLinks in the Apache options), or set up in your web servers configuration as an Alias
  2. Rename the inc/config.sample file to inc/config.inc and optionally edit it to reflect your structures - which can also be done by the configuration wizard (see below)
  3. Start the configuration wizard by pointing your browser to the setup/install/index.php file. This will initialize your configuration, and setup the database. At a later time, you may also want to use the wizard to restore a previously saved backup
  4. Change the Admin Password immediately after completing the wizard from its initial value (video) to something else, so nobody can access the application with admin privileges but without your consent
  5. Protect your installation so no unprivileged user will be able to run the wizard. This can be done by either
    • remove the setup/install directory
    • setup a protection by your web server (e.g. by using a special .htaccess file (there is already an example file placed inside the directory) or specifying corresponding options directly in your web servers configuration
    • change the permissions of this directory using the chmod command, e.g. chmod 0700 install if the web server is not its owner
  6. If you are concerned about disk space, you may want to remove language files for languages which you don't need (setup/lang_*.sql). This will free some hundred kilobyte at maximum. And you must not delete the English language file (setup/lang_en.sql), since this is the only one really required.
  7. Permissions for some directories need to be updated: When retrieving data from the IMDB sites, you probably want to use the images as well. To have this working out-of-the-box, the corresponding directory (moviepic/imdb) is made read/writable for all users - which may be a security risk. It must however be read/writable for the web server, so your options are:
    • leaving it as-is since it works (implying the security risk)
    • as root, change the ownership of this folder to the web servers user (e.g. chown www-data:www-data imdb) and then revoke the permissions from the group and others (e.g. chmod 0755 imdb or, for paranoia, chmod 0700 imdb)
    • change the owner group only (lite-version of the previous option) by e.g. chgrp www-data imdb and then set the permissions correspondingly (e.g. chmod 0775 imdb or chmod 0770 imdb)

Finally, you may want to install additional templates for the label printing - which may be done from inside the application and will be explained with the configuration (and not installation).

Updating

Depending on how you performed the installation, updating from a previous version of phpVideoPro can be done in different ways:

  • Using your package manager (apt-get update phpvideopro, yum update phpvideopro
  • using the Makefile (make install)
  • manually copying the files from the Tar archive

In any case, you afterwards need to run the update manager by pointing your browser to the setup/update/index.php page.

Configuration

Web Server

First, there may be some adjustments needed for the web server. If you run Apache, and its configuration permits you to specify options for the directory phpVideoPro was installed into (i.e. AllowOverride Options or AllowOverride All is set for this directory), this is done automatically by the shipped .htaccess file. Otherwise, you have to take care for this manually using one of the following options:

  1. changing your Apache configuration to permit the use of options by a .htaccess file
  2. changing your Apache configuration by copying the options from the .htaccess file to the appropriate section there
  3. apply the changes mentioned in the .htaccess file globally in your php.ini

If you decide for b) or c), you should remove the .htaccess file afterwards to prevent an Internal Server Error (500) when Apache finds it but doesn't allow the options to be applied. To help you with your decision:

  • b) and c) are slightly faster than a)
  • a) gives you more flexibility - a later update can modify the options when required (so you don't need to care about this in the future)
  • using b) or c), you have to remove the .htaccess file again when updating
  • c) would apply the changes for all your PHP applications, which might be wished or not

So in short, I recommend option a).

Application

Configuring the application itself is done via its web frontend. One point already mentioned is the configuration wizard for the initial installation (or a recovery), and the update wizard.

More settings can be adjusted via the Admin menu, in the Preferences section. Note that this will change the defaults which may be (partially) overridden by the users preferences - so if you only want to adjust something for yourself (and not for the guest and new users), you should use the dialog in the Edit menu instead. Details can be found in the applications online help for these pages.

Last modified by izzy, 02/24/09 13:34:35 (17 months ago)