How to Install Plex Media Server on Fedora Linux

If you’re a Fedora Linux user interested in managing and streaming your multimedia content, Plex Media Server could be an ideal solution. This guide aims to walk you through how to install Plex Media Server on Fedora Linux, ensuring you can enjoy its wide range of features.

Key Features of Plex Media Server

  • Unified Media Library: Plex allows you to consolidate all your multimedia files, such as movies, TV shows, music, and photos, into one organized library. This makes it easier to manage and access your content from various devices.
  • Multi-Device Access: Plex is compatible with numerous devices, including smartphones, tablets, PCs, gaming consoles, and smart TVs. This ensures you can access your media library from almost anywhere.
  • Offline Viewing: With Plex, you can sync your media to mobile devices for offline access, a helpful feature without an internet connection.
  • User-Friendly Interface: Plex offers an intuitive, customizable interface that enhances browsing and viewing experience.
  • Automated Metadata: Plex enriches your media library by automatically adding relevant information like movie posters, plot summaries, and cast details.
  • Remote Streaming: You can stream your media library over the internet, allowing you to access your content from anywhere with a stable connection.
  • User Accounts and Safety: Plex lets you create multiple user accounts with personalized settings. It also offers parental control features, ensuring a safe viewing environment for all family members.

In summary, Plex Media Server offers a robust and versatile platform for managing and streaming multimedia content. It’s particularly beneficial for Fedora users, given its compatibility and range of features. Stay tuned for the upcoming guide detailing the steps to install Plex Media Server on Fedora Linux.

Install Plex Media Server on Fedora Linux

Step 1: Update the Fedora System Before Plex Installation on Fedora

Before beginning the installation process, it’s essential to update your Fedora system to ensure all existing packages are up to date. This helps prevent potential conflicts and ensures a smooth installation experience. To update your system, execute the following command:

sudo dnf upgrade --refresh

Step 2: Import Plex RPM Repository on Fedora

You’ll need to import the Plex RPM repository to install Plex Media Server directly from its official repositories. This method allows you to receive the latest version of Plex as soon as it’s released without waiting for third-party maintainers to update their packages. To import the Plex RPM repository, execute the following command:

sudo tee /etc/yum.repos.d/plex.repo<<EOF
[Plexrepo]
name=plexrepo
baseurl=https://downloads.plex.tv/repo/rpm/\$basearch/
enabled=1
gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.key
gpgcheck=1
EOF

This command creates a new repository configuration file in the /etc/yum.repos.d directory and adds the necessary information to access the official Plex RPM repository.

Step 3: Install Plex Media Server via DNF Command

With the repository in place, you can install Plex Media Server on your Fedora system. To do so, run the following dnf install command:

sudo dnf install plexmediaserver -y

This command fetches the Plex Media Server package from the repository and installs it on your system.

Step 4: Verify and Configure Plex Media Server on Fedora

Once the installation is complete, verifying that the Plex Media Server service has started correctly is crucial. To check the status of the Plex Media Server, use the following systemctl status command:

systemctl status plexmediaserver
Screenshot showing systemctl command to check the status of Plex Media Server on Fedora Linux.
Using systemctl to check the status of your Plex Media Server on Fedora Linux.

If the service is not running or inactive, you can start it with the following command:

sudo systemctl start plexmediaserver

To ensure that Plex Media Server starts automatically upon system boot, execute the following command:

sudo systemctl enable plexmediaserver

This command configures the Plex Media Server to start automatically when your Fedora system boots, ensuring your media library is always available.

Configure SSH for Plex Media Server on Fedora Linux

This section is optional and should be followed only if you intend to access your Plex Media Server remotely on a Fedora server, remember to allow your I.P if working remotely to not lock yourself out of your remote server with Plex on it, this will be covered in section 3.

Step 1: Install OpenSSH Server on Fedora (if required)

Before configuring an SSH tunnel, ensure the OpenSSH server is installed on your remote Fedora server. If you’re unfamiliar with SSH or unsure whether it’s installed, you can install it using the following command:

sudo dnf install openssh-server -y

After installing the OpenSSH server, start the SSH service and enable it to run at startup:

sudo systemctl enable sshd --now

Step 2: Set Up an SSH Tunnel for Initial Setup on Fedora

To allow remote connections during the initial setup, create an SSH tunnel from your local computer to the remote Fedora server. Replace {server-ip-address} with the actual IP address of your remote server (e.g., 192.168.50.1):

ssh {server-ip-address} -L 8888:localhost:32400

This command establishes an SSH tunnel between your local computer and the remote server, forwarding traffic from port 8888 on your local machine to port 32400 on the remote server.

See also
How to Install Snap and Snap-Store on Fedora Linux

Step 3: Access Plex Media Server via SSH Tunnel on Fedora

With the SSH tunnel in place, you can access the Plex Media Server through your web browser using the following URL:

http://localhost:8888/web

If the above URL doesn’t work, try the alternative URL:

localhost:32400/web/index.html#!/setup

These URLs redirect to http://localhost:32400/web on the remote server via the SSH tunnel, allowing you to complete the initial setup of your Plex Media Server.

Step 4: Access Plex Media Server Remotely

After the initial setup, you can access your Plex Media Server remotely using your remote server’s IP address. Replace {server-ip-address} with the actual IP address of your remote server:

https://{server-ip-address}:32400

Following these steps, you’ve successfully configured an SSH tunnel to access your Plex Media Server remotely during the initial setup process, which is continued below.

Configure FirewallD for Plex Media Server on Fedora Linux

Securing your Plex Media Server is crucial to protect it from attacks and ensure smooth operation. This section will guide you through configuring FirewallD to create allow rules for your Plex Media Server.

Step 1: Create a Dedicated Zone for Plex

Start by adding a new dedicated zone for Plex within the FirewallD policy. This will allow you to manage the firewall rules for Plex separately from the rest of your system:

sudo firewall-cmd --permanent --new-zone=plex

Step 2: Specify Allowed IP Addresses

Next, define the IP addresses permitted to access your Plex Media Server. Replace 1.2.3.4 with the actual IP address you want to add to the allow list:

sudo firewall-cmd --permanent --zone=plex --add-source=1.2.3.4

Repeat this command for each IP address you want to grant access to your server.

Step 3: Open the Plex Port

By default, Plex uses TCP port 32400 for communication. Open this port in the plex zone to allow incoming connections:

sudo firewall-cmd --permanent --zone=plex --add-port=32400/tcp

If you decide to change the default port in your Plex configuration file, update the firewall port rule accordingly.

Step 4: Reload the Firewall

After configuring the firewall rules, reload FirewallD to apply the new settings:

sudo firewall-cmd --reload

Configure Plex Media Server in WebUI on Fedora Linux

After successfully installing the Plex Media Server on your system, it’s time to configure and complete the setup through the WebUI. This process includes creating a new account or logging in with an existing one, setting up your server, and organizing your media library.

Step 1: Access the WebUI

Open your preferred internet browser and navigate to http://127.0.0.1:32400/web or http://localhost:32400/web to access the Plex WebUI.

Example:

Screenshot of the sign-in page for Plex Media Server on Fedora Linux.
First step in setting up Plex Media Server on Fedora Linux: Signing in.

Log in using an existing social media account or register a new account with your email if you’re new to Plex. Once logged in, you’ll begin the initial configuration setup.

If your browser seems to be unresponsive during the first time setup, hit the refresh button.

Step 2: Understand How Plex Works

The first configuration page provides an overview of Plex and its features.

Click GOT IT! to proceed to the next page.

Example:

Screenshot explaining how Plex Media Server works on Fedora Linux.
Understanding the functionality of Plex Media Server on Fedora Linux.

Firefox users may see a prompt to enable DRM. This is necessary for the proper functioning of the Plex WebUI. Chrome and Chromium-based browser users won’t see this prompt.

Step 3: Consider Plex Pass (Optional)

You may be prompted to upgrade to Plex Pass. This optional upgrade offers benefits like HDR options and access to beta builds. You can always upgrade later, so click the “X” in the top right-hand corner to skip this step if desired.

Example:

Screenshot showing the optional Plex Pass feature during setup on Fedora Linux.
Choosing whether to opt for the Plex Pass during your Fedora Linux setup.

Step 4: Server Setup

Configure your server name (you can choose any name) and decide whether to enable “Allow me to access my media outside my home.” By default, this option is enabled. If you don’t plan on accessing your media remotely, disable this feature.

Click NEXT to proceed.

Screenshot for naming your Plex Media Server and assigning access on Fedora Linux.
Step 4 in setting up Plex on Fedora Linux: Naming your server and assigning access.

Step 5: Set Up Your Media Library

The Media Library page allows you to pre-add your media directories if you have a media drive or folder ready.

Click ADD LIBRARY.

Screenshot showing an overview of setting up your Plex Media Server on Fedora Linux.
Overview of the media server setup process on Fedora Linux.

Select the type of media you want your folders to be organized into, such as TV shows, movies, or music.

Click NEXT to proceed to add folders.

Screenshot showing how to add a library and select the type of media on Fedora Linux.
Step 6: Adding a library and choosing the type of media you want to include.

Click BROWSE FOR MEDIA FOLDER and select the media directory.

Screenshot showing how to add a library and select folders where media is located on Fedora Linux.
Step 7: Select the folders where your media files are located.

Advanced options will appear once the folder is added. Here, you can further customize Plex to your liking.

Click ADD LIBRARY to continue back to the initial configuration setup.

Screenshot showing the advanced settings for adding a library on Fedora Linux.
Finalizing library settings with advanced options on Fedora Linux.

Step 6: Complete the Setup

Click NEXT to finish the initial setup, with or without adding a media library.

Screenshot indicating that the Plex Media Server setup is almost complete on Fedora Linux.
Step 9: After adding your media, your Plex Media Server setup is almost complete.

The next screen will confirm that your setup is complete. Click DONE to proceed to the Plex Dashboard.

Screenshot showing the final step to finish setting up Plex Media Server on Fedora Linux.
Final step: Completing the Plex Media Server setup on Fedora Linux.

You will be prompted to set up pins. Leave them as default or edit them to your preference. You can adjust these settings later, and then you will arrive at your Plex Dashboard.

Screenshot of the Plex Dash overview screen once Plex Media Server is installed on Fedora Linux.
Plex Dash overview showing your media library after installation on Fedora Linux.

Configure Media Files & Folders Permissions

During the initial setup of Plex Media Server, you may encounter issues with your media not appearing or problems adding content not detected by Plex. This can happen if Plex can’t find the content on your existing internal or external hard drives. The primary cause for this issue is that Plex creates a dedicated user account named plexuser, which requires read and execute permissions on your media directories.

See also
How to Install MySQL 8.0 on Fedora Linux

To resolve this issue, you can set the appropriate permissions on your media files and folders using chown or setfacl commands in Fedora. Both methods are effective, and we will walk you through examples of each.

Step 1: Configure Permissions Using setfacl

The setfacl command allows you to modify the access control list (ACL) of a file or directory. In this case, you will grant the plexuser read and execute permissions on your media folders.

Here’s an example of how to use setfacl to set permissions:

sudo setfacl -R -m u:plex:rx /media/yourfolder/
sudo setfacl -R -m u:plex:rx /media/yourfolder/tv
sudo setfacl -R -m u:plex:rx /media/yourfolder/movies
sudo setfacl -R -m u:plex:rx /media/yourfolder/tv
sudo setfacl -R -m u:plex:rx /media/yourfolder/movies

Step 2: Configure Permissions Using chown

The chown command allows you to change the owner and group of files or directories. You will use it to grant the plexuser ownership of your media folders.

Here’s an example of how to use chown to set permissions:

sudo chown -R plex:plex /media/yourfolder/

Replace /media/yourfolder/ with the path to your media directory.

If you have other folders within your hard drive that you don’t want Plex to access, you can set the permissions for individual folders instead:

sudo chown -R plex:plex /media/yourfolder/tv
sudo chown -R plex:plex /media/yourfolder/movies

Again, replace /media/yourfolder/ with the path to your media directory.

Set up Nginx as a Reverse Proxy for Plex Media Server on Fedora

Setting up a reverse proxy for your Plex Media Server allows you to access it from a remote computer or network. In this tutorial, we’ll use Nginx as the proxy server.

Step 1: Install Nginx on Fedora for Plex Media Server

First, install Nginx with the following command:

sudo dnf install nginx -y

If Nginx isn’t activated by default, start it using:

sudo systemctl start nginx

To enable Nginx to start on boot, run the following command:

sudo systemctl enable nginx

Now, check the status of Nginx to ensure it’s active and free of errors:

systemctl status nginx

Step 2: Create a Nginx Server Block for Plex Media Server on Fedora

Next, create a new server block with the following command:

sudo nano /etc/nginx/conf.d/plex.conf

You’ll need an active domain name for this process. Domain names can be purchased for a low cost; NameCheap offers affordable options, and Cloudflare is a good choice for a .com domain.

After creating your sub-domain, add the following content to the server block file:

server {
      listen 80;
      server_name plex.example.com;

      location / {
          proxy_pass http://127.0.0.1:32400;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

          #upgrade to WebSocket protocol when requested
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "Upgrade";
      }
}

Replace plex.example.com with your own sub-domain. Save the file by pressing CTRL+O, then exit with CTRL+X.

Step 3: Test the Nginx Configuration

Before proceeding, perform a dry run to ensure there are no errors in your Nginx configuration or server block:

sudo nginx -t

If everything is set up correctly, you should see the following output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Step 4: Reload Nginx

Reload Nginx for the changes to take effect:

sudo systemctl reload nginx

After you’ve set up your domain and DNS records to point to your server IP, you can now access your Plex Media Server at your chosen sub-domain, such as plex.example.com.

Step 5: Secure Nginx with Let’s Encrypt SSL Free Certificate on Fedora for Plex

You may want to run your Nginx on HTTPS for added security using an SSL certificate. One way to achieve this is by using Let’s Encrypt, a free, automated, and open certificate authority operated by the nonprofit Internet Security Research Group (ISRG).

Step 5.1: Install the Certbot Package

First, install the certbot package with the following command:

sudo dnf install python3-certbot-nginx -y

Step 5.2: Create the Certificate

Once the certbot package is installed, run the following command to create your certificate:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d plex.example.com

This command configures a secure configuration, including force HTTPS 301 redirects, a Strict-Transport-Security header, and OCSP Stapling. Be sure to replace the email address and domain name with your own information.

With these changes in place, your URL will now be https://plex.example.com instead of http://plex.example.com. If you use the old HTTP URL, it will automatically redirect to the HTTPS version.

Additional Plex Media Server Commands with Fedora Linux

This section will teach you additional commands for managing your Plex Media Server on Fedora Linux. We’ll cover how to update, remove, and manage the repository for your Plex Media Server.

See also
How to Install Discord on Fedora Linux

Step 1: Update Plex Media Server on Fedora Linux

Plex Media Server can be updated using the standard dnf update command, commonly used to upgrade packages on your Fedora system. To update Plex, run the following command:

sudo dnf update --refresh

Typically, your browser’s Plex Media Server GUI will notify you when updates are available. When you see this notification, run the above command to update your server.

Step 2: Remove Plex Media Server on Fedora Linux

If you decide that you no longer wish to use Plex and want to remove it from your Fedora system, you can do so by executing the following command:

sudo dnf remove plexmediaserver

If you’ve installed the Nginx reverse proxy, don’t forget to disable it and, if needed, delete the configuration file for your domain.

Step 3: Remove the Plex Repository

To remove the Plex repository from your Fedora system, run the following command:

sudo rm /etc/yum.repos.d/plex.repo

Closing Thoughts on Installing Plex Media Server on Fedora

In summary, installing and managing Plex Media Server on Fedora Linux is a straightforward process. We have covered essential steps such as installing Plex Media Server, configuring firewall settings, and setting up Nginx as a reverse proxy. Additionally, we have discussed securing Nginx with Let’s Encrypt SSL certificates and updating and removing Plex Media Server on Fedora Linux. Following this article’s guidance, you’ll be well-equipped to manage your Plex Media Server efficiently and effectively on a Fedora Linux system.

Leave a Comment


TOC Index
Your Mastodon Instance
Share to...