diff --git a/Installation-CentOS-7.md b/Installation-CentOS-7.md new file mode 100644 index 0000000..5062d2a --- /dev/null +++ b/Installation-CentOS-7.md @@ -0,0 +1,123 @@ +The following instructions are for installing Sonarr on CentOS 7. + +Please note these were the steps taken by an experienced user. + +1. Install some repos and packages + +``` +yum install epel-release yum-utils -y +rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" +yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ +yum install wget mediainfo libzen libmediainfo curl gettext mono-core mono-devel sqlite.x86_64 -y +``` + +2. If you have issues or you started from a very base (minimal) install, you may also need + +``` +yum -y install wget git par2cmdline p7zip unrar unzip tar gcc python-feedparser python-configobj python-cheetah python-dbus python-devel libxslt-devel yum-utils +``` + +3. Add a user for Sonarr to use + +``` +useradd sonarr -s /sbin/nologin +``` + +4. Download, extract and move Sonarr + +``` +wget http://update.sonarr.tv/v2/master/mono/NzbDrone.master.tar.gz +tar -xvf ~/NzbDrone.master.tar.gz -C /opt/ +rm -f NzbDrone.master.tar.gz +mkdir /opt/sonarr +mkdir /opt/sonarr/bin +mv /opt/NzbDrone/* /opt/sonarr/bin +rm -rf /opt/NzbDrone +``` + +5. Change ownership of the install directory + +``` +chown -R sonarr:sonarr /opt/sonarr +``` + +6. Create your systemd unit file + +``` +tee /etc/systemd/system/sonarr.service << EOF +[Unit] +Description=Sonarr Daemon +After=syslog.target network.target +[Service] +User=sonarr +Group=sonarr +Type=simple +ExecStart=/usr/bin/mono /opt/sonarr/bin/NzbDrone.exe -nobrowser -data /opt/sonarr +TimeoutStopSec=20 +[Install] +WantedBy=multi-user.target +EOF +``` + +7. Reload the systemd unit files + +``` +systemctl daemon-reload +``` + +8. Create a firewall rule for Sonarr + +``` +tee /etc/firewalld/services/sonarr.xml << EOF + + sonarr + Sonarr Download Service + + +EOF +``` + +9. Add firewall exceptions if the firewall is enabled + +``` +firewall-cmd --reload +firewall-cmd --permanent --add-service sonarr +firewall-cmd --reload +``` + +10. Enable Sonarr to run on startup, and start! + +``` +systemctl enable sonarr.service +systemctl start sonarr.service +``` + +## Troubleshooting: + +### Symptom: + +The service has loaded and when browsing to the site it is blank. + +Run the following to test for missing mono links. + +``` +systemctl stop sonarr +systemctl start sonarr +journalctl -xe | grep libMonoPosixHelper.so +``` + +If you see a line similar to + +``` +_System.Net.WebException: /usr/lib/libMonoPosixHelper.so ---> System.DllNotFoundException: /usr/lib/libMonoPosixHelper_ +``` + +The resolution below will fix that. + +### Resolution: + +Run the following command + +``` +ln -s /usr/lib64/libMonoPosixHelper.so /usr/lib/libMonoPosixHelper.so +``` \ No newline at end of file diff --git a/Installation/Installation-CentOS-7.mediawiki b/Installation/Installation-CentOS-7.mediawiki deleted file mode 100644 index d23f752..0000000 --- a/Installation/Installation-CentOS-7.mediawiki +++ /dev/null @@ -1,94 +0,0 @@ -The following instructions are for installing Sonarr on CentOS 7. - -Please note these were the steps taken by an experienced user. - -*Install some repos and packages - - yum install epel-release yum-utils -y - rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" - yum-config-manager --add-repo http://download.mono-project.com/repo/centos/ - yum install wget mediainfo libzen libmediainfo curl gettext mono-core mono-devel sqlite.x86_64 -y - -* If you have issues or you started from a very base (minimal) install, you may also need - - yum -y install wget git par2cmdline p7zip unrar unzip tar gcc python-feedparser python-configobj python-cheetah python-dbus python-devel libxslt-devel yum-utils - -*Add a user for sonarr to use - - useradd sonarr -s /sbin/nologin - -*Download, extract and move sonarr - - wget http://update.sonarr.tv/v2/master/mono/NzbDrone.master.tar.gz - tar -xvf ~/NzbDrone.master.tar.gz -C /opt/ - rm -f NzbDrone.master.tar.gz - mkdir /opt/sonarr - mkdir /opt/sonarr/bin - mv /opt/NzbDrone/* /opt/sonarr/bin - rm -rf /opt/NzbDrone - -*Change ownership of the install directory - - chown -R sonarr:sonarr /opt/sonarr - -*Create your systemd unit file - - tee /etc/systemd/system/sonarr.service << EOF - [Unit] - Description=Sonarr Daemon - After=syslog.target network.target - [Service] - User=sonarr - Group=sonarr - Type=simple - ExecStart=/usr/bin/mono /opt/sonarr/bin/NzbDrone.exe -nobrowser -data /opt/sonarr - TimeoutStopSec=20 - [Install] - WantedBy=multi-user.target - EOF - -*Reload the systemd unit files - - systemctl daemon-reload - -*Add firewall exceptions if the firewall is enabled - - tee /etc/firewalld/services/sonarr.xml << EOF - - sonarr - Sonarr Download Service - - - EOF - - firewall-cmd --reload - firewall-cmd --permanent --add-service sonarr - firewall-cmd --reload - -*Enable sonarr to run on startup, and start! - - systemctl enable sonarr.service - systemctl start sonarr.service - -*Troubleshooting: - -# Symptom: -The service has loaded and when browsing to the site it is blank. - -Run the following to test for missing mono links. - - systemctl stop sonarr - systemctl start sonarr - journalctl -xe | grep libMonoPosixHelper.so - -If you see a line similar to - - _System.Net.WebException: /usr/lib/libMonoPosixHelper.so ---> System.DllNotFoundException: /usr/lib/libMonoPosixHelper_ - -The resolution below will fix that. - -# Resolution: - -Run the following command - - ln -s /usr/lib64/libMonoPosixHelper.so /usr/lib/libMonoPosixHelper.so \ No newline at end of file