{"id":35065,"date":"2024-11-07T15:55:59","date_gmt":"2024-11-07T08:55:59","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/11\/07\/how-to-install-jellyfin-on-linux\/"},"modified":"2026-05-14T10:36:57","modified_gmt":"2026-05-14T09:36:57","slug":"how-to-install-jellyfin-on-linux","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/11\/07\/how-to-install-jellyfin-on-linux\/","title":{"rendered":"C\u00e1ch c\u00e0i \u0111\u1eb7t Jellyfin tr\u00ean Linux"},"content":{"rendered":"<p>Jellyfin l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng qu\u1ea3n l\u00fd th\u01b0 vi\u1ec7n ph\u01b0\u01a1ng ti\u1ec7n v\u00e0 ph\u00e1t tr\u1ef1c tuy\u1ebfn ngu\u1ed3n m\u1edf, t\u01b0\u01a1ng t\u1ef1 nh\u01b0&nbsp;<a href=\"https:\/\/www.plex.tv\/\" target=\"_blank\" rel=\"noreferrer noopener\">Plex<\/a>&nbsp;. T\u00e0i li\u1ec7u n\u00e0y h\u01b0\u1edbng d\u1eabn b\u1ea1n quy tr\u00ecnh c\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh&nbsp;<strong>Jellyfin<\/strong>&nbsp;tr\u00ean Linode ch\u1ea1y Ubuntu 18.04.<\/p>\n<p>Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n c\u1ea7n ho\u00e0n th\u00e0nh nh\u1eefng vi\u1ec7c sau:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#install-jellyfin\">C\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh Jellyfin tr\u00ean Linode<\/a><\/li>\n<li><a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#create-a-reverse-proxy-for-jellyfin\">T\u1ea1o Proxy ng\u01b0\u1ee3c cho Jellyfin<\/a><\/li>\n<\/ul>\n<h2 id=\"before-you-begin\">Tr\u01b0\u1edbc khi b\u1ea1n b\u1eaft \u0111\u1ea7u<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#before-you-begin\"><\/a><\/h2>\n<ol>\n<li>N\u1ebfu b\u1ea1n ch\u01b0a thi\u1ebft l\u1eadp Linode, h\u00e3y xem h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/platform\/get-started\/\">B\u1eaft \u0111\u1ea7u<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i v\u00e0 ho\u00e0n t\u1ea5t c\u00e1c b\u01b0\u1edbc \u0111\u1ec3 thi\u1ebft l\u1eadp t\u00ean m\u00e1y ch\u1ee7 v\u00e0 m\u00fai gi\u1edd cho Linode.<\/li>\n<li>Th\u1ef1c hi\u1ec7n theo h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/set-up-and-secure\/\">Thi\u1ebft l\u1eadp v\u00e0 b\u1ea3o m\u1eadt phi\u00ean b\u1ea3n m\u00e1y t\u00ednh<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i \u0111\u1ec3 t\u1ea1o t\u00e0i kho\u1ea3n ng\u01b0\u1eddi d\u00f9ng chu\u1ea9n c\u00f3&nbsp;<code>sudo<\/code>nhi\u1ec1u quy\u1ec1n.<\/li>\n<li>Ch\u1ea1y l\u1ec7nh sau \u0111\u1ec3 n\u00e2ng c\u1ea5p c\u00e1c g\u00f3i c\u1ee7a b\u1ea1n:<\/li>\n<\/ol>\n<pre class=\"wp-block-code\"><code>sudo apt-get update &amp;&amp; sudo apt-get upgrade\n<\/code><\/pre>\n<p>Ghi ch\u00fa: H\u01b0\u1edbng d\u1eabn n\u00e0y \u0111\u01b0\u1ee3c vi\u1ebft cho ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng ph\u1ea3i root. C\u00e1c l\u1ec7nh y\u00eau c\u1ea7u quy\u1ec1n n\u00e2ng cao \u0111\u01b0\u1ee3c th\u00eam ti\u1ec1n t\u1ed1&nbsp;<code>sudo<\/code>. N\u1ebfu b\u1ea1n kh\u00f4ng quen v\u1edbi&nbsp;<code>sudo<\/code>l\u1ec7nh n\u00e0y, h\u00e3y xem h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/linux-users-and-groups\/\">Ng\u01b0\u1eddi d\u00f9ng v\u00e0 Nh\u00f3m<\/a>&nbsp;.<\/p>\n<h2 id=\"install-jellyfin\">C\u00e0i \u0111\u1eb7t Jellyfin<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#install-jellyfin\"><\/a><\/h2>\n<p>1.C\u00e0i \u0111\u1eb7t v\u00e0 k\u00edch ho\u1ea1t giao th\u1ee9c HTTPS cho APT:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt install apt-transport-https\n<\/code><\/pre>\n<p>2.K\u00edch ho\u1ea1t kho l\u01b0u tr\u1eef Universe cho t\u1ea5t c\u1ea3&nbsp;<code>ffmpeg<\/code>c\u00e1c ph\u1ee5 thu\u1ed9c:<\/p>\n<pre class=\"wp-block-code\"><code>sudo add-apt-repository universe\n<\/code><\/pre>\n<p>3.Nh\u1eadp kh\u00f3a k\u00fd GPG t\u1eeb nh\u00f3m Jellyfin:<\/p>\n<pre class=\"wp-block-code\"><code>wget -O - https:\/\/repo.jellyfin.org\/ubuntu\/jellyfin_team.gpg.key | sudo apt-key add -<\/code><\/pre>\n<p>4.T\u1ea1o m\u1ed9t t\u1eadp tin m\u1edbi n\u1eb1m t\u1ea1i<code>\/etc\/apt\/sources.list.d\/jellyfin.list<\/code><\/p>\n<pre class=\"wp-block-code\"><code>sudo touch \/etc\/apt\/sources.list.d\/jellyfin.list\n<\/code><\/pre>\n<p>5.Th\u00eam kho l\u01b0u tr\u1eef Jellyfin&nbsp;<code>apt<\/code>v\u00e0o Linode c\u1ee7a b\u1ea1n.<\/p>\n<pre class=\"wp-block-code\"><code>echo \"deb &#91;arch=$( dpkg --print-architecture )] https:\/\/repo.jellyfin.org\/ubuntu $( lsb_release -c -s ) main\" | sudo tee \/etc\/apt\/sources.list.d\/jellyfin.list\n<\/code><\/pre>\n<p class=\"has-background\" style=\"background-color:#74f78c33\">Ghi ch\u00fa: C\u00e1c b\u1ea3n ph\u00e1t h\u00e0nh \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 hi\u1ec7n t\u1ea1i l\u00e0&nbsp;<code>Cxenial<\/code>,&nbsp;<code>bionic<\/code>,&nbsp;<code>cosmic<\/code>, v\u00e0&nbsp;<code>disco<\/code>. V\u00ec ch\u00fang t\u00f4i \u0111ang s\u1eed d\u1ee5ng Ubuntu 18.04,&nbsp;<code>lsb_release<\/code>n\u00ean tr\u1edf th\u00e0nh&nbsp;<code>bionic<\/code>.<\/p>\n<p>\u0110\u1ea7u ra v\u00e0 n\u1ed9i dung c\u1ee7a&nbsp;<code>\/etc\/apt\/sources.list.d\/jellyfin.list<\/code>, s\u1ebd tr\u00f4ng gi\u1ed1ng nh\u01b0 th\u1ebf n\u00e0y:<\/p>\n<pre class=\"wp-block-code\"><code>deb &#91;arch=amd64] https:\/\/repo.jellyfin.org\/ubuntu bionic main<\/code><\/pre>\n<p>6.Cu\u1ed1i c\u00f9ng, h\u00e3y c\u1eadp nh\u1eadt c\u00e1c g\u00f3i c\u1ee7a b\u1ea1n v\u00e0 c\u00e0i \u0111\u1eb7t Jellyfin<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt install jellyfin\n<\/code><\/pre>\n<h2 id=\"configure-jellyfin\">C\u1ea5u h\u00ecnh Jellyfin<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#configure-jellyfin\"><\/a><\/h2>\n<p>B\u00e2y gi\u1edd Jellyfin \u0111\u00e3 \u0111\u01b0\u1ee3c c\u00e0i \u0111\u1eb7t th\u00e0nh c\u00f4ng, c\u1ea7n ph\u1ea3i c\u1ea5u h\u00ecnh v\u00e0 tr\u1ecf n\u00f3 \u0111\u1ebfn ph\u01b0\u01a1ng ti\u1ec7n c\u1ee7a ch\u00fang ta.<\/p>\n<h3 id=\"initial-setup\">Thi\u1ebft l\u1eadp ban \u0111\u1ea7u<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#initial-setup\"><\/a><\/h3>\n<p>1.Thi\u1ebft l\u1eadp Jellyfin \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n th\u00f4ng qua giao di\u1ec7n web. Tr\u01b0\u1edbc khi b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp giao di\u1ec7n web, h\u00e3y ng\u1eaft k\u1ebft n\u1ed1i kh\u1ecfi SSH v\u00e0 t\u1ea1o \u0111\u01b0\u1eddng h\u1ea7m an to\u00e0n qua SSH t\u1eeb m\u00e1y ch\u1ee7 c\u1ee5c b\u1ed9 c\u1ee7a b\u1ea1n \u0111\u1ebfn Linode.<\/p>\n<pre class=\"wp-block-code\"><code>ssh user@192.0.2.1 -L 8888:localhost:8096\n<\/code><\/pre>\n<p class=\"has-background\" style=\"background-color:#74f78c33\">Ghi ch\u00fa: Thay th\u1ebf&nbsp;<code>user<\/code>b\u1eb1ng&nbsp;<code>sudo user<\/code>t\u00ean mi\u1ec1n Linode c\u1ee7a b\u1ea1n v\u00e0&nbsp;<code>192.0.2.1<\/code>b\u1eb1ng \u0111\u1ecba ch\u1ec9 IP c\u1ee7a Linode.<\/p>\n<p>2.M\u1edf tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n v\u00e0 \u0111i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn&nbsp;<code>http:\/\/localhost:8888\/<\/code>. B\u00e2y gi\u1edd b\u1ea1n s\u1ebd th\u1ea5y m\u00e0n h\u00ecnh c\u1ea5u h\u00ecnh Jellyfin l\u1ea7n \u0111\u1ea7u ti\u00ean. B\u1eaft \u0111\u1ea7u b\u1eb1ng c\u00e1ch ch\u1ecdn ng\u00f4n ng\u1eef \u01b0a th\u00edch c\u1ee7a b\u1ea1n t\u1eeb menu th\u1ea3 xu\u1ed1ng. Sau \u0111\u00f3 nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Ti\u1ebfp theo<\/strong>&nbsp;\u0111\u1ec3 ti\u1ebfp t\u1ee5c.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-language-set-up_hu9ec24f1a434f19b54279979510f465d9_36189_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Language Setup\"><\/p>\n<p>3.T\u1ea1o t\u00e0i kho\u1ea3n ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u c\u1ee7a b\u1ea1n. Sau \u0111\u00f3 nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Ti\u1ebfp theo<\/strong>&nbsp;\u0111\u1ec3 ti\u1ebfp t\u1ee5c.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-account-creation_hu2b022a0b125162f10c1112c94f0237f5_43884_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Account Creation\"><\/p>\n<p>4.B\u00e2y gi\u1edd b\u1ea1n t\u1ea1o c\u00e1c th\u01b0 m\u1ee5c \u0111\u1ec3 l\u01b0u tr\u1eef ph\u01b0\u01a1ng ti\u1ec7n truy\u1ec1n th\u00f4ng c\u1ee7a m\u00ecnh tr\u00ean Linode. V\u00ed d\u1ee5, n\u1ebfu b\u1ea1n mu\u1ed1n c\u00f3 nh\u1ea1c v\u00e0 phim tr\u00ean m\u00e1y ch\u1ee7 c\u1ee7a m\u00ecnh, b\u1ea1n s\u1ebd t\u1ea1o m\u1ed9t th\u01b0 m\u1ee5c \u0111\u1ec3 l\u01b0u tr\u1eef ch\u00fang b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng l\u1ec7nh sau trong terminal c\u1ee7a b\u1ea1n:<\/p>\n<pre class=\"wp-block-code\"><code>cd ~\/\n sudo mkdir -p jellyfin-media\/music &amp;&amp; sudo mkdir jellyfin-media\/movies<\/code><\/pre>\n<p>5.Quay l\u1ea1i tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n, b\u00e2y gi\u1edd t\u00e0i kho\u1ea3n c\u1ee7a b\u1ea1n \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o, ch\u00fang t\u00f4i c\u00f3 th\u1ec3 th\u00eam ph\u01b0\u01a1ng ti\u1ec7n c\u1ee7a b\u1ea1n. Nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Th\u00eam Th\u01b0 vi\u1ec7n ph\u01b0\u01a1ng ti\u1ec7n<\/strong>&nbsp;\u0111\u1ec3 b\u1eaft \u0111\u1ea7u qu\u00e1 tr\u00ecnh n\u00e0y.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-library-setup_hu1db4c0bd4ae952377b2ca2c0465d52ac_31753_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Library Setup\">Ghi ch\u00faM\u1ed7i lo\u1ea1i n\u1ed9i dung cung c\u1ea5p m\u1ed9t b\u1ed9 t\u00f9y ch\u1ecdn kh\u00e1c nhau \u0111\u1ec3 b\u1ea1n c\u1ea5u h\u00ecnh, ch\u1eb3ng h\u1ea1n nh\u01b0 n\u01a1i b\u1ea1n mu\u1ed1n l\u1ea5y si\u00eau d\u1eef li\u1ec7u, v.v.<\/p>\n<p>6.N\u1ed9i dung trong Jellyfin \u0111\u01b0\u1ee3c s\u1eafp x\u1ebfp th\u00e0nh Th\u01b0 vi\u1ec7n. Th\u01b0 vi\u1ec7n c\u00f3 th\u1ec3 c\u00f3 nhi\u1ec1u th\u01b0 m\u1ee5c \u0111\u1ec3 t\u1ed5ng h\u1ee3p ph\u01b0\u01a1ng ti\u1ec7n c\u1ee7a m\u00ecnh. B\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9 \u0111\u1ecbnh th\u01b0 m\u1ee5c b\u1eb1ng n\u00fat Th\u01b0 m\u1ee5c c\u1ed9ng&nbsp;<strong>(+)<\/strong>&nbsp;. Nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>(+)<\/strong>&nbsp;\u0111\u1ec3 th\u00eam th\u01b0 m\u1ee5c b\u1ea1n \u0111\u00e3 t\u1ea1o tr\u01b0\u1edbc \u0111\u00f3.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-library-folders_hu467829e8f19af1a29dbeef359e79db44_48508_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Choose the \u201cFolders\u201d button\"><\/p>\n<p>7.Trong tr\u01b0\u1eddng&nbsp;<strong>Th\u01b0 m\u1ee5c<\/strong>&nbsp;, nh\u1eadp \u0111\u01b0\u1eddng d\u1eabn \u0111\u1ea7y \u0111\u1ee7 \u0111\u1ebfn th\u01b0 m\u1ee5c c\u1ee7a b\u1ea1n (&nbsp;<code>\/home\/username\/jellyfin-media\/movies<\/code>) r\u1ed3i nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Ok<\/strong>&nbsp;.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-folder-library_hu370541e28305f8f44c8dbb292a2d90f7_50286_1564x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Path to Folder\"><\/p>\n<p>8.B\u1ea1n c\u00f3 th\u1ec3 th\u00eam bao nhi\u00eau th\u01b0 vi\u1ec7n t\u00f9y th\u00edch ngay b\u00e2y gi\u1edd ho\u1eb7c&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#add-and-organize-media\">sau n\u00e0y th\u00f4ng qua b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n.<\/a>&nbsp;Nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Ti\u1ebfp<\/strong>&nbsp;theo m\u00e0u xanh \u0111\u1ec3 chuy\u1ec3n sang c\u00e1c ph\u1ea7n ti\u1ebfp theo.<\/p>\n<p>9.Ch\u1ecdn Ng\u00f4n ng\u1eef si\u00eau d\u1eef li\u1ec7u b\u1ea1n mu\u1ed1n, sau \u0111\u00f3 nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Ti\u1ebfp theo<\/strong>&nbsp;.<\/p>\n<p>10.T\u1eaft \u00e1nh x\u1ea1 c\u1ed5ng b\u1eb1ng c\u00e1ch b\u1ecf ch\u1ecdn t\u00f9y ch\u1ecdn&nbsp;<em>B\u1eadt \u00e1nh x\u1ea1 c\u1ed5ng t\u1ef1 \u0111\u1ed9ng<\/em>&nbsp;v\u00ec t\u00ednh n\u0103ng n\u00e0y c\u00f3 th\u1ec3 g\u00e2y ra r\u1ee7i ro b\u1ea3o m\u1eadt trong m\u00f4i tr\u01b0\u1eddng \u0111\u00e1m m\u00e2y. \u00c1nh x\u1ea1 c\u1ed5ng th\u01b0\u1eddng \u0111\u01b0\u1ee3c b\u1eadt trong m\u00f4i tr\u01b0\u1eddng c\u1ee5c b\u1ed9 ph\u00eda sau b\u1ed9 \u0111\u1ecbnh tuy\u1ebfn gia \u0111\u00ecnh, n\u01a1i b\u1ea1n c\u00f3 th\u1ec3 mu\u1ed1n m\u00e1y ch\u1ee7 Jellyfin c\u1ee7a m\u00ecnh c\u00f3 th\u1ec3 k\u1ebft n\u1ed1i li\u1ec1n m\u1ea1ch v\u1edbi c\u00e1c thi\u1ebft b\u1ecb kh\u00e1c.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-disable-port-mapping_hu62789220c1f5c92ad1329e28263336e5_39107_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Library Dashboard\"><\/p>\n<p>11.Nh\u1ea5p v\u00e0o n\u00fat&nbsp;<strong>Ti\u1ebfp theo<\/strong>&nbsp;. Thi\u1ebft l\u1eadp c\u1ee7a b\u1ea1n hi\u1ec7n \u0111\u00e3 ho\u00e0n t\u1ea5t v\u00e0 b\u1ea1n \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u \u0111\u0103ng nh\u1eadp v\u1edbi t\u01b0 c\u00e1ch l\u00e0 ng\u01b0\u1eddi d\u00f9ng c\u00f3 m\u1eadt kh\u1ea9u b\u1ea1n \u0111\u00e3 thi\u1ebft l\u1eadp tr\u01b0\u1edbc \u0111\u00f3.<\/p>\n<h3 id=\"disable-unneeded-features-recommended\">T\u1eaft c\u00e1c t\u00ednh n\u0103ng kh\u00f4ng c\u1ea7n thi\u1ebft (khuy\u1ebfn ngh\u1ecb)<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#disable-unneeded-features-recommended\"><\/a><\/h3>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Digital_Living_Network_Alliance\" target=\"_blank\" rel=\"noreferrer noopener\">DLNA<\/a>&nbsp;l\u00e0 m\u1ed9t giao th\u1ee9c k\u1ebft h\u1ee3p c\u00e1c ti\u00eau chu\u1ea9n&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Universal_Plug_and_Play\" target=\"_blank\" rel=\"noreferrer noopener\">Universal Plug and Play<\/a>&nbsp;(hay UPnP) \u0111\u1ec3 chia s\u1ebb ph\u01b0\u01a1ng ti\u1ec7n k\u1ef9 thu\u1eadt s\u1ed1 gi\u1eefa c\u00e1c thi\u1ebft b\u1ecb. C\u1ed5ng&nbsp;<code>1900<\/code>c\u00f3 s\u1eb5n c\u00f4ng khai v\u00e0 b\u1ea5t k\u1ef3 thi\u1ebft b\u1ecb ho\u1eb7c \u1ee9ng d\u1ee5ng DLNA n\u00e0o c\u0169ng c\u00f3 th\u1ec3 c\u00f3 quy\u1ec1n truy c\u1eadp kh\u00f4ng h\u1ea1n ch\u1ebf ho\u00e0n to\u00e0n v\u00e0o n\u1ed9i dung c\u1ee7a b\u1ea1n. Do \u0111\u00f3, ch\u00fang t\u00f4i khuy\u00ean b\u1ea1n n\u00ean t\u1eaft DLNA n\u1ebfu b\u1ea1n kh\u00f4ng s\u1eed d\u1ee5ng.<\/p>\n<p>Nh\u1ea5p v\u00e0o menu \u201chamburger\u201d \u1edf g\u00f3c tr\u00ean b\u00ean tr\u00e1i c\u1ee7a Jellyfin v\u00e0 ch\u1ecdn&nbsp;<em>Dashboard<\/em>&nbsp;. Sau \u0111\u00f3, \u1edf ph\u00eda b\u00ean tr\u00e1i c\u1ee7a m\u00e0n h\u00ecnh, ch\u1ecdn&nbsp;<em>DLNA<\/em>&nbsp;, sau \u0111\u00f3 t\u1eaft v\u00e0 l\u01b0u c\u00e0i \u0111\u1eb7t DLNA c\u1ee7a b\u1ea1n.<\/p>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/DLNAremoval_hu5709887a93c6b8d66e3abb95dfa3eb8b_252422_1982x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Disable DLNA\" title=\"Disable DLNA\"\/><\/figure>\n<h3 id=\"add-and-organize-media\">Th\u00eam v\u00e0 s\u1eafp x\u1ebfp ph\u01b0\u01a1ng ti\u1ec7n truy\u1ec1n th\u00f4ng<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#add-and-organize-media\"><\/a><\/h3>\n<ul>\n<li>B\u1ea1n c\u00f3 th\u1ec3 th\u00eam bao nhi\u00eau th\u01b0 vi\u1ec7n t\u00f9y th\u00edch th\u00f4ng qua&nbsp;<em>B\u1ea3ng \u0111i\u1ec1u khi\u1ec3n<\/em>&nbsp;trong&nbsp;<em>m\u1ee5c Th\u01b0 vi\u1ec7n<\/em>&nbsp;b\u1ea5t k\u1ef3 l\u00fac n\u00e0o.<img decoding=\"async\" src=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/jellyfin-library-dashboard_hue70097bae5781f112b465ea7cbef7e75_36331_1388x0_resize_q71_bgfafafc_catmullrom_3.jpg\" alt=\"Library Dashboard\"><\/li>\n<li>B\u1ea1n c\u00f3 th\u1ec3 th\u00eam ph\u01b0\u01a1ng ti\u1ec7n v\u00e0o t\u1eebng th\u01b0 m\u1ee5c t\u1eeb b\u00ean trong Linode b\u1eb1ng nhi\u1ec1u&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/tools-reference\/file-transfer\/\">c\u00f4ng c\u1ee5 truy\u1ec1n t\u1ec7p<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/download-resources-from-the-command-line-with-wget\/\">ph\u01b0\u01a1ng ph\u00e1p t\u1ea3i xu\u1ed1ng<\/a>&nbsp;kh\u00e1c nhau .<\/li>\n<li>Sau khi c\u00e1c t\u1eadp tin trong th\u01b0 m\u1ee5c \u0111\u01b0\u1ee3c th\u00eam v\u00e0o m\u00e1y ch\u1ee7 Jellyfin, b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp ch\u00fang t\u1eeb&nbsp;<em>Menu Trang ch\u1ee7<\/em>&nbsp;b\u1eb1ng c\u00e1ch nh\u1ea5p v\u00e0o bi\u1ec3u t\u01b0\u1ee3ng Trang ch\u1ee7 \u1edf g\u00f3c tr\u00ean b\u00ean tr\u00e1i c\u1ee7a trang sau khi ch\u1ecdn menu hamburger.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" loading=\"lazy\" width=\"550\" height=\"436\" src=\"http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/homemenu.png\" alt=\"\" class=\"wp-image-2027\" srcset=\"http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/homemenu.png 550w, http:\/\/jupitek.maudemo.vip\/wp-content\/uploads\/2026\/05\/homemenu-300x238-1.png 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/figure>\n<h2 id=\"create-a-reverse-proxy-for-jellyfin\">T\u1ea1o Proxy ng\u01b0\u1ee3c cho Jellyfin<a href=\"https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/#create-a-reverse-proxy-for-jellyfin\"><\/a><\/h2>\n<p>Jellyfin ch\u1ee7 y\u1ebfu ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t giao di\u1ec7n web cho ph\u01b0\u01a1ng ti\u1ec7n c\u1ee7a b\u1ea1n. \u0110i\u1ec1u \u0111\u00f3 c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n th\u01b0\u1eddng mu\u1ed1n \u1ee7y quy\u1ec1n websocket Jellyfin m\u1eb7c \u0111\u1ecbnh cho c\u00e1c y\u00eau c\u1ea7u. Jellyfin h\u1ed7 tr\u1ee3 m\u1ed9t&nbsp;<a href=\"https:\/\/jellyfin.org\/docs\/general\/networking\/apache.html\" target=\"_blank\" rel=\"noreferrer noopener\">s\u1ed1 l\u01b0\u1ee3ng l\u1edbn c\u00e1c gi\u1ea3i ph\u00e1p ph\u1ea7n m\u1ec1m m\u00e1y ch\u1ee7<\/a>&nbsp;cho m\u1ee5c \u0111\u00edch n\u00e0y, m\u1eb7c d\u00f9 trong h\u01b0\u1edbng d\u1eabn n\u00e0y, v\u00ed d\u1ee5 l\u00e0&nbsp;<a href=\"http:\/\/httpd.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Apache<\/a>&nbsp;.<\/p>\n<p>1.C\u00e0i \u0111\u1eb7t Apache b\u1eb1ng l\u1ec7nh sau:<\/p>\n<pre class=\"wp-block-code\"><code>sudo apt install apache2\n<\/code><\/pre>\n<p>2.B\u1eadt c\u00e0i \u0111\u1eb7t proxy cho Apache b\u1eb1ng c\u00e1c l\u1ec7nh sau:<\/p>\n<pre class=\"wp-block-code\"><code>sudo a2enmod proxy\nsudo a2enmod proxy_http<\/code><\/pre>\n<p>3.M\u1edf m\u1ed9t t\u1ec7p m\u00e1y ch\u1ee7 \u1ea3o m\u1edbi cho c\u1ea5u h\u00ecnh c\u1ee7a b\u1ea1n. Thay th\u1ebf&nbsp;<code>example.com<\/code>trong v\u00ed d\u1ee5 n\u00e0y b\u1eb1ng t\u00ean mi\u1ec1n b\u1ea1n \u0111ang s\u1eed d\u1ee5ng:<\/p>\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/apache2\/sites-available\/jellyfin.example.com.conf\n<\/code><\/pre>\n<p class=\"has-background\" style=\"background-color:#74f78c33\">Ghi ch\u00fa: M\u1eb7c d\u00f9 nano \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong v\u00ed d\u1ee5 n\u00e0y, b\u1ea1n v\u1eabn c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng tr\u00ecnh so\u1ea1n th\u1ea3o v\u0103n b\u1ea3n m\u00e0 b\u1ea1n ch\u1ecdn.<\/p>\n<p>4.S\u1eed d\u1ee5ng c\u1ea5u h\u00ecnh m\u00e1y ch\u1ee7 \u1ea3o Apache sau \u0111\u1ec3 t\u1ea1o proxy ng\u01b0\u1ee3c c\u1ee7a b\u1ea1n. Thay th\u1ebf&nbsp;<code>jellyfin.example.com<\/code>b\u1eb1ng t\u00ean mi\u1ec1n\/t\u00ean mi\u1ec1n ph\u1ee5 c\u1ee7a b\u1ea1n.<\/p>\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80&gt;\n    ServerName jellyfin.example.com\n    ErrorLog \/var\/log\/apache2\/jellyfin-error.log\n    CustomLog \/var\/log\/apache2\/jellyfin-access.log combined\n\n    ProxyPreserveHost On\n\n    ProxyPass \"\/embywebsocket\" \"ws:\/\/127.0.0.1:8096\/embywebsocket\"\n        ProxyPassReverse \"\/embywebsocket\" \"ws:\/\/127.0.0.1:8096\/embywebsocket\"\n\n    ProxyPass \"\/\" \"http:\/\/127.0.0.1:8096\/\"\n        ProxyPassReverse \"\/\" \"http:\/\/127.0.0.1:8096\/\"\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>5.K\u00edch ho\u1ea1t trang web m\u1edbi c\u1ee7a b\u1ea1n:<\/p>\n<pre class=\"wp-block-code\"><code>sudo a2ensite jellyfin.example.com.conf\n<\/code><\/pre>\n<p>6.Kh\u1edfi \u0111\u1ed9ng l\u1ea1i Apache \u0111\u1ec3 k\u00edch ho\u1ea1t \u0111\u1ea7y \u0111\u1ee7 c\u00e1c c\u00e0i \u0111\u1eb7t c\u1ee7a b\u1ea1n:<\/p>\n<pre class=\"wp-block-code\"><code>sudo systemctl restart apache2\n<\/code><\/pre>\n<p>B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 mu\u1ed1n&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/secure-http-traffic-certbot\/\">thi\u1ebft l\u1eadp m\u00e3 h\u00f3a SSL cho m\u00e1y ch\u1ee7 \u1ea3o n\u00e0y<\/a>&nbsp;. \u0110\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin v\u1ec1 c\u1ea5u h\u00ecnh n\u00e0y, h\u00e3y xem&nbsp;<a href=\"https:\/\/jellyfin.org\/docs\/general\/networking\/index.html#running-jellyfin-behind-a-reverse-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">t\u00e0i li\u1ec7u proxy ng\u01b0\u1ee3c c\u1ee7a Jellyfin<\/a><\/p>\n<p>Ngu\u1ed3n: https:\/\/www.linode.com\/docs\/guides\/how-to-install-jellyfin\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jellyfin l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng qu\u1ea3n l\u00fd th\u01b0 vi\u1ec7n ph\u01b0\u01a1ng ti\u1ec7n v\u00e0 ph\u00e1t tr\u1ef1c tuy\u1ebfn ngu\u1ed3n m\u1edf, t\u01b0\u01a1ng t\u1ef1 nh\u01b0&nbsp;Plex&nbsp;. T\u00e0i li\u1ec7u n\u00e0y h\u01b0\u1edbng d\u1eabn b\u1ea1n quy tr\u00ecnh c\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh&nbsp;Jellyfin&nbsp;tr\u00ean Linode ch\u1ea1y Ubuntu 18.04. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n c\u1ea7n ho\u00e0n th\u00e0nh nh\u1eefng vi\u1ec7c sau: Tr\u01b0\u1edbc khi b\u1ea1n b\u1eaft \u0111\u1ea7u Ghi ch\u00fa:<\/p>\n","protected":false},"author":1,"featured_media":36342,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[118],"tags":[],"class_list":["post-35065","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-media-servers"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=35065"}],"version-history":[{"count":1,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35065\/revisions"}],"predecessor-version":[{"id":36343,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35065\/revisions\/36343"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/36342"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=35065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=35065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=35065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}