Difference between revisions of "Fedora"

From ZoneMinder Wiki
Jump to navigationJump to search
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The Fedora Project is a Red Hat sponsored, community-supported open source project. Its stated goal is to promote the rapid progress of free (as in freedom) and open source software and content, and its rapid innovation is possible using open processes and public forums.
=== Installation Instructions ===
'''
To install ZoneMinder on Fedora, please refer to the instructions shown on our readthedocs site.
[https://zoneminder.readthedocs.io/en/latest/installationguide/redhat.html Redhat - ZoneMinder Documentation]


The project is led by the Fedora Project Board, which is comprised of community leaders and Red Hat members, and this group steers the direction of the project and of Fedora Core, the Linux distribution it develops. Red Hat employees work with the code alongside community members, and many Fedora Project innovations make their way into new releases of Red Hat Enterprise Linux.
==== Archived Installation Instructions ====
 
What follows is a link to old installation instructions, which predate rpm installations from zmrepo or rpmfusion. These instructions are kept solely for reference.  
ZoneMinder is developed on the Fedora distribution and no special actions are usually required for installation.
[[Fedora/Archived]]
 
== Zmrepo - A ZoneMinder repository for RPM based distros ==
The ZoneMinder development team would like to introduce you to a new, easier way to install ZoneMinder on Fedora.  Zmrepo is meant to be a turn-key solution.  There is no compiling, no installing modules from CPAN, and no more complicated repository instructions. 
 
This repository brings together a ZoneMinder rpm built by the development team, with all features enabled. This is in comparison to past ZoneMinder rpm's found in the Fedora repositories, which do not have ffmpeg support built-in.  Zmrepo includes all dependencies that are not found in the default Fedora repositories.  A few Perl modules are built by us, but all the rest of the dependencies are mirrored from popular sites such as EPEL and RPMFusion.  There is no longer a need to add these additional repositories to your system.  Zmrepo takes care of that for you.
 
==== Purpose ====
The primary purpose for developing ZoneMinder rpms for Fedora is to get an idea of how well ZoneMinder works on the bleeding edge of software development.  We don't use Fedora in our production systems and consequently these rpms do not get the same share of testing that the ZoneMinder rpms for RHEL/CentOS do.  However, they do give us the unique opportunity to solve any problems caused by new software widgets (looking at you systemd) before they trickle down to RHEL/CentOS.
 
==== Who Should Use ====
Those that want to use the latest and greatest packages available should use this repository over the RHEL/CentOS repository. Keep in mind that this comes with the real possibility Fedora may throw in something new, which might cause a problem with ZoneMinder.
 
==== Supported Versions ====
Fedora distributions have a relatively short life cycle. A new version of Fedora is scheduled to be released every 6 months. It is the goal of the ZoneMinder development team to provide and support ZoneMinder rpms for the two most recent versions of Fedora. Today, those two versions are Fedora 21 and 20. Rpms built for older versions of Fedora may exist in zmrepo, but they will not be maintained and may be deleted at some point in the future.
 
==== Installation====
 
* Installation Instructions for i386 or x86_64 architectures on Fedora 20:
wget http://zmrepo.connortechnology.com/f/20/i386/zmrepo-20-3.fc20.noarch.rpm
sudo yum install --nogpgcheck zmrepo-20-3.fc20.noarch.rpm
sudo yum install zoneminder
less /usr/share/doc/zoneminder/README.Fedora
 
You must complete the steps documented in README.Fedora before ZoneMinder will function correctly.
 
* Installation Instructions for i386 or x86_64 architectures on Fedora 21:
wget http://zmrepo.connortechnology.com/f/21/i386/zmrepo-21-1.fc21.noarch.rpm
sudo yum install --nogpgcheck zmrepo-21-1.fc21.noarch.rpm
sudo yum install zoneminder
less /usr/share/doc/zoneminder/README.Fedora
 
You must complete the steps documented in README.Fedora before ZoneMinder will function correctly.
 
==Fedora 18 (alpha)==
*FIXED: ''if you get problems with Live Video not working'' due to a problem with the sockets.<br/>
**ERROR: socket_sendto permission errors.
*Make sure your cgi-bin ScriptAlias is correct as shown below. <br/>
*''ffmpeg libraries from Fedora rpms do not work'' with zm. You have to install from source (yuck).
 
This is how I got it installed...<br/><br/>
 
Do all the following as sudo (or root)<br/>
'''install packages'''<br/>
yum install mysql mysql-server zoneminder<br/>
 
''' disable selinux<br/>
vi /etc/selinux/config<br/>
*change the word 'enforcing' to 'disabled'<br/>
 
'''REBOOT'''
 
'''setup mysql:'''<br/>
systemctl start mysqld.service<br/>
mysql_secure_installation # enable root password<br/>
mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql<br/>
mysql -u root -p<br/>
grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';<br/>
use zm;<br/>
quit<br/>
 
'''setup apache web server:'''<br/>
vi /etc/httpd/conf.d/zoneminder.conf
* in the section - <Directory "/usr/share/zoneminder/www">
**remove the line "Deny from all # DELETE THIS LINE"
**remove the '-Indexes' on the Options line on Line 17 )I don't think the '-' is supposed to be there
**Comment out the Order and Allow lines and insert the new syntax 'Require all granted' as a new line
* I also got a ScriptAlias error for the cgi-bin/zm alias so I commented the cgi-bin scriptAlias in the /etc/httpd/conf/httpd.conf
 
  #F18    /etc/httpd/conf.d.zoneminder.conf
  Alias /zm "/usr/share/zoneminder/www"
  <Directory "/usr/share/zoneminder/www">
    Options FollowSymLinks
    AllowOverride All
    # NEW format
    Require all granted
    # The code unfortunately uses short tags in many places
    php_value short_open_tag 1
  #Deny from all # DELETE THIS LINE
  </Directory>
  ScriptAlias /cgi-bin "/usr/libexec/zoneminder/cgi-bin"
  <Directory "/usr/libexec/zoneminder/cgi-bin">
    Options +ExecCGI +MultiViews +SymLinksIfOwnerMatch
    AllowOverride All
    # NEW format
    Require all granted
    php_value short_open_tag 1
  </Directory>
<br/>
'''start httpd:'''<br/>
systemctl start httpd.service<br/>
 
'''start zoneminder:'''<br/>
systemctl start zoneminder.service<br/>
 
==Fedora 17==
'''install packages'''<br/>
yum install mysql mysql-server zoneminder<br/>
 
'''setup mysql:'''<br/>
systemctl start mysqld.service<br/>
mysql_secure_installation # enable root password<br/>
mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql<br/>
mysql -u root -p<br/>
grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';<br/>
use zm;<br/>
quit<br/>
 
'''setup apache web server:'''<br/>
vi /etc/httpd/conf.d/zoneminder.conf # remove the line "Deny from all # DELETE THIS LINE"<br/>
systemctl start httpd.service<br/>
 
'''start zoneminder:'''<br/>
systemctl start zoneminder.service<br/>
 
==Fedora 14==
'''install packages:'''<br/>
yum install mysql mysql-server zoneminder<br/>
 
'''setup mysql:'''<br/>
/etc/init.d/mysqld start<br/>
mysql_secure_installation # enable root password<br/>
mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql<br/>
mysql -u root -p<br/>
grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';<br/>
use zm;<br/>
quit<br/>
 
'''setup apache web server:'''<br/>
vi /etc/httpd/conf.d/zoneminder.conf # remove the line "Deny from all # DELETE THIS LINE"<br/>
/etc/init.d/httpd start<br/>
 
'''start zoneminder'''<br/>
/etc/init.d/zoneminder start<br/>
 
==Fedora 11, 12 and 13==
'''The Easy Way''' Adapted from a forum post by "hiredguntech" or just search the forum for "flowers for candy"
 
Step-by-step installation of ZM v1.24.2 on Fedora-12.
 
(1) load fc12 using the netinstall ISO (the CD wants to use dhcp and doesn't work well with an assigned fixed IP) - turn off 'office' and turn on 'server' and 'development'. Besure to include a large /var partition through custom partitioning and use localhost instead of what it suggests (domain.localhost ?). Also, if you're using a capture card install it (them) in the system before starting the netinstall CD. Save these steps as a .txt file so the code can be cut and paste into the terminal with ease.
 
[2] Remove evolution from task bar (right click... (not a requirement)).
 
[3] Set screensaver to NOT require password and set it to 20 minutes or more (menu-system::preferences::screensaver).
 
(4) Disable SELinux. (menu-system::Admin::SELinux Mgmnt; change system default enforcing mode to disabled).
 
[5] Enable sudo for yourself. From a terminal (menu-Application::System Tools::Terminal),
Code:
 
su
 
(enter root password)
 
echo ''''YourUserName''' ALL=(ALL) ALL' >> /etc/sudoers  (put YOUR user name from FC12 installation in place of '''YourUserName''')
 
(6) Set up the RPM Fusion Repository (in open terminal).
 
Code:
 
rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
 
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
 
exit
 
exit (closes terminal window)
 
(7) Install the pre-requisites, (menu-System::Administration::Add/Remove Software) type in the search field the following package names and select each of the closest match (there will be 'other' packages related or similar named - look for the right one, and check-it.)
 
mysql-server
 
mysql-devel
 
pcre-devel
 
ffmpeg
 
ffmpeg-devel
 
Hit the 'Apply' button, accept any added packages, type root password, and let this stuff load.
 
[8] Install any updates that are available, its the yellow icon up by the time. 
 
(9) Enable the services: web and db. (menu-System::Administration::Services) and find the following:
 
httpd
 
mysqld
 
for each of them hit the 'enable button' so you can start them later.
 
(10) Reboot. This allows all the services to start and settle in.
 
(11) Now add Zoneminder (menu-System::Administration::Add/Remove Software) Type Zoneminder in the search field select it and apply.
 
[13] '''Note:''' To edit as root: open a terminal (menu-Application::System Tools::Terminal), su to root, type 'gedit <path/filename>'. Now you have sufficient permissions to edit & save as root.
 
(14) Edit as root /etc/httpd/conf.d/zoneminder.conf to remove the 'Deny from All' line. It even says 'DELETE THIS LINE', so it should be easy to find. Save it.
 
(15) As root, [or with sudo] build the zm database (menu-Application::System Tools::Terminal). 
 
Code:
 
su
 
(enter root password)
 
mysql mysql < /usr/share/zoneminder/db/zm_create.sql
 
mysqladmin reload
 
mysql mysql
 
grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';
 
\q
 
exit
 
exit
 
 
(16) Enable zoneminder. (menu-System::Administration::Services) and find zoneminder. Enable it. You can start the service hear also, Or in a terminal:
 
Code:
 
service zoneminder start
 
[18] Last thing - edit the SECOND entry of short_open_tag down at line 229. Again as root (menu-Application::System Tools::Terminal), gedit /etc/php.ini
 
Change short_open_tag from 'off' to 'on'
 
[19] reboot. open browser, type 'localhost/zm'
 
[20] It may be necessary to change the ffmpeg path in options::images to get ffmpeg to make videos. Generally removing the /local from the existing path will fix this issue
 
 
'''Or (the original wiki walk through)'''
 
You should be able to just do "yum install zoneminder", create the zm database,  find the zm_create.sql file (rpm -ql zoneminder) and import it to mysql, then start zoneminder.  Plus allow web access. Edit  /etc/httpd/conf.d/zoneminder.conf and comment out (#) or delete this line :-
 
Deny from all # DELETE THIS LINE
 
Restart/reload apache
 
sudo service httpd restart
 
This didn't work for me due to 2 problems.  First was php.ini section short_open_tag = Off, set to on
 
short_open_tag = On
 
Restart/reload apache
 
sudo service httpd restart
 
The other problem was zm_create.sql had duplicate indexes reported using phpMyAdmin.  Removed all "INSERT INTO MonitorPresets" and "INSERT INTO MonitorPresets" in zm_create.sql and that imported cleanly. Alternatively just import from the command line mysql -u zmuser -p < zm_create.sql
 
http://www.zoneminder.com/forums/viewtopic.php?p=50242
 
 
'''Manual Install Version 1.24.2 with ffmpeg enabled'''
 
Version 1.23.3 has always compiled ok on Fedora 9/10/11 but I had problems with version 1.24.2.
 
Problems with compiling fixed by adding  #include <cstdio> to all .cpp files in src directory and removing ccache package (yum remove ccache)
 
http://www.zoneminder.com/forums/viewtopic.php?p=55152
 
http://www.zoneminder.com/forums/viewtopic.php?t=12515&sid=0da85eb2fc78917d7a78cf788603a320
 
If using ffmpeg and ffmpeg-devel packages you may see problem compiling with libavutil.a . I could not get ffmpeg to compile so downloaded the Fedora source package and compiled it manually.
 
yumdownloader --source ffmpeg
 
sudo rpm -Uvh ffmpeg-0.5-5.20091026svn.fc12.src.rpm
 
Needed the following packages
 
sudo yum install dirac-devel faad2-devel gsm-devel imlib2-devel lame-devel libdc1394-devel libtheora-devel libvdpau-devel openjpeg-devel \
schroedinger-devel speex-devel texi2html x264-devel xvidcore-devel yasm
 
See http://fozzolog.fozzilinymoo.org/tech/2009/11/recompiling-ffmpeg-for-fedora-12-to-add-faac-support.html  (don't need to add faac support, just follow procedure)
 
My rpmbuild failed so from the BUILD/ffmpeg-20091026
 
make
sudo make install
sudo make install-libs
 
and configured ZoneMinder to use  /usr/local for FFMPEG
 
./configure --with-webdir=/var/www/html/zm --with-cgidir=/var/www/cgi-bin --with-webuser=apache --with-webgroup=apache ZM_DB_HOST=localhost \
ZM_DB_NAME=zm ZM_DB_USER=zmuser ZM_DB_PASS=zmpass --with-extralibs="-L/usr -L/usr/lib/mysql" ZM_SSL_LIB=openssl --with-ffmpeg=/usr/local
 
==Fedora 8==
* Have packages for Apache and MySQL installed on the system.
* Install the zoneminder RPM package on the system
: Fedora Information for package zoneminder
: * http://koji.fedoraproject.org/koji/packageinfo?packageID=4691
* Configure zoneminder
* Make sure Apache and MySQL services are running
* Edit the zoneminder.conf apache configuration file to allow web connections
  vi /etc/httpd/conf.d/zoneminder.conf
* Build the MySQL database table for zoneminder
  mysql -p -u root mysql < /usr/share/zoneminder/db/zm_create.sql > mysqladmin -p -u root reload
 
The Fedora RPM creates /var/log/zoneminder, but the database scripts point logs to /tmp, rather than the new directory.
* Click '''Options''', '''Paths''' tab, and change
  ZM_PATH_LOGS = /var/log/zoneminder
* Click '''Options''', '''Debug''' tab, and change
  ZM_EXTRA_DEBUG_LOG = /var/log/zoneminder/zm_debug.log+
 
* Install ffmpeg on Fedora.
Due to licensing the ffmpeg package is absent from Fedora.  It can be added from [[Fedora_Linux_Distribution_Reference#Livna:_Get_Important_Packages_Missing_From_Fedora|Livna]].
  wget http://rpm.livna.org/livna-release-8.rpm
  rpm -ih livna-release-8.rpm
  yum install ffmpeg
  yum install ffmpeg-devel
Which provides the following: ffmpeg-libs-0.4.9-0.41.20071011.lvn8, ffmpeg-0.4.9-0.41.20071011.lvn8, ffmpeg-devel-0.4.9-0.41.20071011.lvn8
 
* Test ffmpeg
  ffmpeg -f image2 -i %03d-capture.jpg /tmp/movie.mpg
 
==Fedora 7==
* Builds From source - see [[Fedora Core 6 Step-by-Step]] '''AS WELL AS''' [http://www.zoneminder.com/forums/viewtopic.php?t=9414 Fedora 7 forum topic]
*RPMs are Available in the '''main Fedora 7 distribution''', and in the development 'rawhide' tree.
**Its as easy as running: yum install zoneminder
**Take a look at [http://www.zoneminder.com/forums/viewtopic.php?t=9674 The Announcement post in the forums]
 
==Fedora Core 6==
*Build from source [[Fedora Core 6 Step-by-Step]]
 
* RPMs are also available right now in '''Fedora Extras''' for Fedora Core 6. 
** [http://www.zoneminder.com/forums/viewtopic.php?t=9674 The Announcement post in the forums]
 
==Fedora Core 4==
* http://www.zoneminder.com/forums/viewtopic.php?t=5991<br>
Set web user and group correctly and set the log dir to a writeable location.
With FC4 there are three things that must be done to get ZM running,:
#is in the /etc/ld.so.conf.d/ dir created a file with 775 perm called zm.conf and add the line '/usr/local/lib' to it and type 'ldconfig' once it is added, also with a fresh install of FC4 make sure SE linux is disabled if you are not using it. Check your log path in options under the paths tab. This will tell you were the log are going to be put.
#Second make sure the path exists.
#Third create the log files if they do not exist and make sure that they have the correct permissions. '''If zm can not open and write the log files, it will not start. '''

Latest revision as of 15:47, 11 August 2017

Installation Instructions

To install ZoneMinder on Fedora, please refer to the instructions shown on our readthedocs site. Redhat - ZoneMinder Documentation

Archived Installation Instructions

What follows is a link to old installation instructions, which predate rpm installations from zmrepo or rpmfusion. These instructions are kept solely for reference. Fedora/Archived