{"id":3013,"date":"2022-08-07T16:43:08","date_gmt":"2022-08-07T12:13:08","guid":{"rendered":"https:\/\/linux.krd\/?p=3013"},"modified":"2022-08-07T23:56:08","modified_gmt":"2022-08-07T19:26:08","slug":"%d8%af%d8%a7%d9%85%db%95%d8%b2%d8%b1%d8%a7%d9%86%d8%af%d9%86%db%8c-%da%95%d8%a7%da%98%db%95%db%8c%db%8e%da%a9-%d8%a8%db%86-%d8%a8%db%95%da%95%db%8e%d9%88%db%95%d8%a8%d8%b1%d8%af%d9%86%db%8c-%da%a9","status":"publish","type":"post","link":"https:\/\/linux.krd\/?p=3013","title":{"rendered":"\u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc \u0695\u0627\u0698\u06d5\u06cc\u06ce\u06a9 \u0628\u06c6 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u0631\u062f\u0646\u06cc \u06a9\u062a\u06ce\u0628\u06d5 \u062f\u06cc\u062c\u06cc\u062a\u0627\u06b5\u06cc\u06d5\u06a9\u0627\u0646"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/main_screen.png\" alt=\"\" width=\"1273\" height=\"968\" class=\"aligncenter size-full wp-image-3024\" srcset=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/main_screen.png 1273w, https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/main_screen-395x300.png 395w, https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/main_screen-768x584.png 768w\" sizes=\"auto, (max-width: 1273px) 100vw, 1273px\" \/><\/p>\n<p>\u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631(Calibre) \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u06ce\u06a9\u06cc \u06a9\u062a\u06ce\u0628\u06cc \u0626\u06d5\u0644\u06cc\u06a9\u062a\u0631\u06c6\u0646\u06cc \u0628\u06d5\u062e\u06c6\u0695\u0627\u06cc\u06cc\u06d5 \u0648 \u0633\u06d5\u0631\u0686\u0627\u0648\u06d5 \u06a9\u0631\u0627\u0648\u06d5\u06cc\u06d5. \u0648\u06d5\u06a9 \u0628\u06d5\u0631\u0646\u0627\u0645\u06d5\u06cc\u06d5\u06a9\u06cc \u0695\u0648\u0648\u0645\u06ce\u0632\u06cc \u0686\u06d5\u0646\u062f \u0633\u06d5\u06a9\u06c6\u06cc\u06cc (cross-platform) \u06a9\u0627\u0631\u062f\u06d5\u06a9\u0627\u062a \u0644\u06d5\u06af\u06d5\u06b5 \u0632\u06cc\u0627\u062f\u06a9\u0631\u0627\u0648\u06d5\u06cc\u06ce\u06a9\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631. \u0632\u06cc\u0627\u062f\u06a9\u0631\u0627\u0648\u06d5\u06cc \u062f\u06ce\u0633\u06a9\u062a\u06c6\u067e \u062f\u06d5\u062a\u0648\u0627\u0646\u06ce\u062a \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc \u06a9\u062a\u06ce\u0628\u06d5 \u0626\u06d5\u0644\u06cc\u06a9\u062a\u0631\u06c6\u0646\u06cc\u06cc\u06d5\u06a9\u0627\u0646\u062a \u0644\u06d5\u0633\u06d5\u0631 \u06cc\u06d5\u06a9 \u0626\u0627\u0645\u06ce\u0631 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u0628\u0627\u062a. \u0648\u06d5 \u0632\u06cc\u0627\u062f\u06a9\u0631\u0627\u0648\u06d5\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06ce\u06a9\u062a \u067e\u06ce\u062f\u06d5\u062f\u0627\u062a \u06a9\u06d5 \u0626\u06d5\u0645 \u062a\u0627\u06cc\u0628\u06d5\u062a\u0645\u06d5\u0646\u062f\u06cc\u06cc\u0627\u0646\u06d5\u06cc \u0647\u06d5\u06cc\u06d5:<\/p>\n<ul>\n<li>\u0644\u06d5 \u0647\u06d5\u0631 \u0634\u0648\u06ce\u0646\u06ce\u06a9\u06cc \u062c\u06cc\u0647\u0627\u0646\u06d5\u0648\u06d5 \u062f\u06d5\u0633\u062a\u062a \u0628\u06af\u0627\u062a \u0628\u06d5 \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646\u062a.<\/li>\n<li>\u0628\u06d5 \u0626\u0627\u0633\u0627\u0646\u06cc \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646\u062a \u0628\u06af\u0648\u0627\u0632\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u0626\u0627\u0645\u06ce\u0631\u06d5 \u0645\u06c6\u0628\u0627\u06cc\u0644\u06d5\u06a9\u0627\u0646.<\/li>\n<li>\u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646 \u0644\u06d5\u06af\u06d5\u06b5 \u0647\u0627\u0648\u0695\u06ce \u0648 \u062e\u06ce\u0632\u0627\u0646\u06d5\u06a9\u0627\u0646\u062a\u0627\u0646 \u0647\u0627\u0648\u0628\u06d5\u0633 \u0648 \u0628\u06b5\u0627\u0648 \u0628\u06a9\u06d5\u0646\u06d5\u0648\u06d5.<\/li>\n<li>\u0695\u0627\u0633\u062a\u06d5\u0648\u062e\u06c6 \u0644\u06d5 \u0648\u06ce\u0628 \u06a9\u062a\u06ce\u0628\u06cc \u0626\u06d5\u0644\u06cc\u06a9\u062a\u0631\u06c6\u0646\u06cc \u0628\u062e\u0648\u06ce\u0646\u06d5\u0631\u06d5\u0648\u06d5.<\/li>\n<\/ul>\n<p>\u0644\u06d5\u0645 \u0641\u06ce\u0631\u06a9\u0627\u0631\u06cc\u06d5\u062f\u0627 \u0641\u06ce\u0631\u062f\u06d5\u0628\u06cc\u062a \u06a9\u06d5 \u0695\u0627\u0698\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0644\u06d5\u0633\u06d5\u0631 \u0626\u0627\u0645\u06ce\u0631\u06ce\u06a9\u06cc \u0626\u0648\u0628\u0648\u0646\u062a\u0648 \u0662\u0662.\u0660\u0664 \u062f\u0627\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06cc\u062a.<\/p>\n<h3>\u067e\u06ce\u0634\u0645\u06d5\u0631\u062c\u06d5\u06a9\u0627\u0646<\/h3>\n<ul>\n<li>\u0695\u0627\u0698\u06d5\u06cc\u06d5\u06a9 \u06a9\u06d5 \u0626\u0648\u0628\u0648\u0646\u062a\u0648 \u0662\u0662.\u0660\u0664 \u0628\u06d5\u06a9\u0627\u0631\u062f\u06d5\u0647\u06ce\u0646\u06ce\u062a.<\/li>\n<li>\u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06ce\u06a9\u06cc \u0626\u0627\u0633\u0627\u06cc\u06cc \u0648 \u062e\u0627\u0648\u06d5\u0646 \u0626\u06cc\u0645\u062a\u06cc\u0627\u0632\u0627\u062a\u06cc sudo.<\/li>\n<li>\u062f\u06cc\u0648\u0627\u0631\u06cc \u0626\u0627\u06af\u0631\u06cc\u0646\u06cc Uncomplicated(UFW) \u0686\u0627\u0644\u0627\u06a9 \u06a9\u0631\u0627\u0648\u06d5 \u0648 \u06a9\u0627\u0631\u062f\u06d5\u06a9\u0627\u062a.<\/li>\n<li>\u0646\u0627\u0648\u06ce\u06a9\u06cc \u062f\u06c6\u0645\u06d5\u06cc\u0646 \u06a9\u06d5 \u0626\u0627\u0645\u0627\u0698\u06d5\u06cc \u0628\u06d5 \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06d5\u06a9\u06d5 \u0628\u06a9\u0627\u062a. \u0628\u06c6 \u0641\u06ce\u0631\u06a9\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5\u0645\u0627\u0646 \u062f\u06c6\u0645\u06d5\u06cc\u0646\u06cc calibre.example.com \u0628\u06d5\u06a9\u0627\u0631\u062f\u06d5\u0647\u06ce\u0646\u06cc\u0646.<\/li>\n<li>\u0647\u06d5\u0645\u0648\u0648 \u0634\u062a\u06ce\u06a9 \u0646\u0648\u06ce \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06d5 \u0641\u06d5\u0631\u0645\u0627\u0646\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5<\/li>\n<\/ul>\n<pre>$ sudo apt update && sudo apt upgrade<\/pre>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u06cc\u06d5\u06a9\u06d5\u0645- \u0695\u06ce\u06a9\u062e\u0633\u062a\u0646\u06cc \u062f\u06cc\u0648\u0627\u0631\u06cc \u0626\u0627\u06af\u0631\u06d5\u06a9\u06d5\u062a(Firewall)<\/h3>\n<p>\u06cc\u06d5\u06a9\u06d5\u0645 \u0647\u06d5\u0646\u06af\u0627\u0648 \u067e\u06ce\u0634 \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc \u0647\u06d5\u0631 \u06af\u0648\u0631\u0632\u06d5\u06cc\u06d5\u06a9 \u0628\u0631\u06cc\u062a\u06cc\u06cc\u06d5 \u0644\u06d5 \u0695\u06ce\u06a9\u062e\u0633\u062a\u0646\u06cc \u062f\u06cc\u0648\u0627\u0631\u06cc \u0626\u0627\u06af\u0631\u06d5\u06a9\u06d5 \u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u0695\u06ce\u06af\u06d5 \u0628\u06d5 \u067e\u06d5\u06cc\u0648\u06d5\u0646\u062f\u06cc\u06cc\u06d5\u06a9\u0627\u0646\u06cc HTTP \u0648 HTTPS \u0628\u062f\u0627\u062a.<br \/>\n\u062f\u06c6\u062e\u06cc \u062f\u06cc\u0648\u0627\u0631\u06cc \u0626\u0627\u06af\u0631\u06d5\u06a9\u06d5 \u0628\u067e\u0634\u06a9\u0646\u06d5 \u0628\u06d5\u0645 \u0641\u06d5\u0631\u0645\u0627\u0646\u06d5<\/p>\n<pre>$ sudo ufw status<\/pre>\n<p> \u062f\u06d5\u0628\u06ce \u0626\u06d5\u0645 \u062f\u06d5\u0631\u06d5\u0646\u062c\u0627\u0645\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u0644\u06d5 \u0641\u06d5\u0631\u0645\u0627\u0646\u06d5\u06a9\u06d5\u06cc \u0633\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u0628\u06cc\u0646\u06cc<\/p>\n<pre>\r\nStatus: active\r\n\r\nTo                         Action      From\r\n--                         ------      ----\r\nOpenSSH                    ALLOW       Anywhere\r\nOpenSSH (v6)               ALLOW       Anywhere (v6)\r\n<\/pre>\n<p>\u0695\u06ce\u06af\u06d5 \u0628\u06d5 \u062f\u06d5\u0631\u06af\u0627\u06a9\u0627\u0646\u06cc HTTP \u0648 HTTPs \u0628\u062f\u06d5 \u0628\u06d5\u0645 \u0641\u06d5\u0631\u0645\u0627\u0646\u06d5\u061b<\/p>\n<pre>\r\n$ sudo ufw allow http\r\n$ sudo ufw allow https\r\n<\/pre>\n<p>\u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u062f\u06c6\u062e\u06d5\u06a9\u06d5 \u0628\u067e\u0634\u06a9\u0646\u06d5 \u0628\u06c6 \u062f\u06b5\u0646\u06cc\u0627\u0628\u0648\u0648\u0646.<\/p>\n<pre>\r\n$ sudo ufw status\r\nStatus: active\r\n\r\nTo                         Action      From\r\n--                         ------      ----\r\nOpenSSH                    ALLOW       Anywhere\r\n80\/tcp                     ALLOW       Anywhere\r\n443\/tcp                    ALLOW       Anywhere\r\nOpenSSH (v6)               ALLOW       Anywhere (v6)\r\n80\/tcp (v6)                ALLOW       Anywhere (v6)\r\n443\/tcp (v6)               ALLOW       Anywhere (v6)\r\n<\/pre>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u062f\u0648\u0648\u06d5\u0645 &#8211; \u062f\u0627\u0628\u06d5\u0632\u0627\u0646\u062f\u0646 \u0648 \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc \u0695\u0627\u0698\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631<\/h3>\n<p>\u067e\u0627\u06a9\u06d5\u062a\u06d5\u06a9\u0627\u0646\u06cc \u067e\u06ce\u062f\u0627\u0648\u06ce\u0633\u062a\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631  \u0644\u06d5 \u0626\u0648\u0628\u0648\u0646\u062a\u0648 \u0662\u0662.\u0660\u0664 \u0628\u0648\u0648\u0646\u06cc \u0647\u06d5\u06cc\u06d5\u060c \u0628\u06d5\u06b5\u0627\u0645 \u0628\u0627\u0634\u062a\u0631\u06d5 \u0695\u0627\u0633\u062a\u06d5\u0648\u062e\u06c6 \u062f\u0627\u06cc\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06cc\u062a \u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u0646\u0648\u06ce\u062a\u0631\u06cc\u0646 \u0648\u06d5\u0634\u0627\u0646\u06cc \u0628\u06d5\u062f\u06d5\u0633\u062a \u0628\u0647\u06ce\u0646\u06cc\u062a.<br \/>\n\u06cc\u06d5\u06a9\u06d5\u0645 \u0647\u06d5\u0646\u06af\u0627\u0648 \u0628\u0631\u06cc\u062a\u06cc\u06cc\u06d5 \u0644\u06d5 \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc \u0647\u06d5\u0646\u062f\u06ce\u06a9 \u0648\u0627\u0628\u06d5\u0633\u062a\u06d5\u06cc\u06cc.<\/p>\n<pre>$ sudo apt install libopengl0 libxkbcommon-x11-0 libegl1 libfontconfig libgl1-mesa-glx<\/pre>\n<p>\u062f\u0627\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5\u0631\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06cc \u06a9\u0627\u0644\u06cc\u0628\u0631\u06d5:<\/p>\n<pre>$ wget https:\/\/download.calibre-ebook.com\/linux-installer.sh<\/pre>\n<p>\u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u062f\u0627\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5\u0631 \u0626\u0627\u0633\u062a\u06cc \u062c\u06ce\u0628\u06d5\u062c\u06ce\u06a9\u0631\u0627\u0648\u06cc \u067e\u06ce\u0628\u062f\u06d5:<\/p>\n<pre>$ chmod +x .\/linux-installer.sh<\/pre>\n<p>\u062f\u0627\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5\u0631\u06d5\u06a9\u06d5 \u062c\u06ce\u0628\u06d5\u062c\u06ce \u0628\u06a9\u06d5:<\/p>\n<pre>$ sudo .\/linux-installer.sh<\/pre>\n<p>\u0647\u06d5\u0646\u062f\u06ce\u06a9 \u0626\u0627\u06af\u0627\u062f\u0627\u0631\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u062a \u067e\u06ce\u062f\u06d5\u06af\u0627\u062a \u0686\u0648\u0646\u06a9\u06d5 \u062f\u0627\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5\u0631 \u0686\u0627\u0648\u06d5\u0695\u0648\u0627\u0646\u06cc \u0695\u0648\u0648\u0645\u06ce\u0632\u06cc \u062f\u06d5\u06a9\u0627\u062a \u0646\u06d5\u06a9 \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631. \u0628\u0627\u0634 \u0648\u0627\u06cc\u06d5 \u06a9\u06d5 \u0626\u0627\u06af\u0627\u062f\u0627\u0631\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u06a9\u0627\u0646 \u067e\u0634\u062a\u06af\u0648\u06ce \u0628\u062e\u06d5\u06cc\u062a.<\/p>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u0633\u06ce\u06cc\u06d5\u0645 &#8211; \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u062f\u0631\u0648\u0633\u062a \u0648 \u06cc\u06d5\u06a9\u06d5\u0645 \u06a9\u062a\u06ce\u0628\u062a \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5<\/h3>\n<p>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u062f\u0627\u0647\u0627\u062a\u0648\u0648 \u0628\u0631\u06cc\u062a\u06cc\u06cc\u06d5 \u0644\u06d5 \u062f\u0627\u0646\u0627\u0646\u06cc \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0648 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u0647\u06d5\u0646\u062f\u06ce\u06a9 \u06a9\u062a\u06ce\u0628. \u0628\u06c6 \u0641\u06ce\u0631\u06a9\u0627\u0631\u06cc\u06d5\u06a9\u06d5\u0645\u0627\u0646 \u06a9\u062a\u06ce\u0628\u06cc <a href=\"https:\/\/www.gutenberg.org\/ebooks\/1661\" rel=\"noopener\" target=\"_blank\">\u0633\u06d5\u0631\u06af\u06d5\u0631\u0645\u06cc\u06d5\u06a9\u0627\u0646\u06cc \u0634\u06ce\u0631\u0644\u06c6\u06a9 \u0647\u06c6\u06b5\u0645\u0632 \u0644\u06d5 \u0646\u0648\u0648\u0633\u06cc\u0646\u06cc \u0626\u0627\u0631\u0633\u06d5\u0631 \u06a9\u06c6\u0646\u0627\u0646 \u062f\u06c6\u06cc\u0644<\/a> \u0644\u06d5 \u067e\u0631\u06c6\u0698\u06d5\u06cc \u06af\u0648\u062a\u0646\u0628\u06ce\u0631\u06af \u062f\u0627\u062f\u06d5\u0628\u06d5\u0632\u06ce\u0646\u06cc\u0646.<\/p>\n<pre>$ wget http:\/\/www.gutenberg.org\/ebooks\/1661.kindle.noimages -O adventuresofsherlockholmes.mobi<\/pre>\n<p>\u0647\u06d5\u0645\u06cc\u0634\u06d5 \u0648\u06d5\u0634\u0627\u0646\u06cc \u06a9\u06cc\u0646\u062f\u06b5\u06cc \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u06d5 \u0644\u06d5 \u0645\u0627\u06b5\u067e\u06d5\u0631\u06d5\u06a9\u06d5 \u0648\u06d5\u0631\u0628\u06af\u0631\u06d5. \u0644\u06ce\u0631\u06d5\u062f\u0627\u060c \u0626\u06ce\u0645\u06d5 \u0646\u0627\u0648\u06cc \u0648\u06d5\u0634\u0627\u0646\u06cc \u06a9\u06cc\u0646\u062f\u06b5 \u062f\u06d5\u06af\u06c6\u0695\u06cc\u0646 \u0628\u06c6 &#8220;filename.mobi&#8221; \u0686\u0648\u0646\u06a9\u06d5 \u0641\u06c6\u0631\u0645\u0627\u062a\u06d5\u06a9\u06d5\u06cc \u0645\u06c6\u0628\u06cc(mobi.) \u0628\u06d5 \u0634\u06ce\u0648\u06d5\u06cc\u06d5\u06a9\u06cc \u0633\u0631\u0648\u0634\u062a\u06cc \u0644\u06d5 \u06a9\u06cc\u0646\u062f\u06b5\u062f\u0627 \u067e\u0634\u062a\u06af\u06cc\u0631\u06cc \u062f\u06d5\u06a9\u0631\u06ce\u062a \u0647\u06d5\u0631 \u0628\u06c6\u06cc\u06d5 \u0644\u06d5 \u0633\u0627\u06cc\u062a\u06d5\u06a9\u06d5\u062f\u0627 \u0646\u0627\u0648\u06cc \u0644\u06ce\u0646\u0631\u0627\u0648\u06d5. \u0647\u06d5\u0631\u0648\u06d5\u0647\u0627 \u0628\u0698\u0627\u0631\u062f\u06d5\u06cc \u0641\u06c6\u0631\u0645\u0627\u062a\u06a9\u0631\u062f\u0646\u06cc \u0628\u0627\u0634\u062a\u0631 \u0644\u06d5 \u0648\u06d5\u0634\u0627\u0646\u06cc Epub\u060c \u067e\u06ce\u0634\u06a9\u06d5\u0634 \u062f\u06d5\u06a9\u0627\u062a.\u062f\u0627\u06cc\u0631\u06ce\u06a9\u062a\u06c6\u0631\u06ce\u06a9 \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u062f\u0631\u0648\u0633\u062a \u0628\u06a9\u06d5.<\/p>\n<pre>$ mkdir calibre-library<\/pre>\n<p>\u0626\u06d5\u0648 \u06a9\u062a\u06ce\u0628\u06d5\u06cc \u06a9\u06d5 \u062a\u0627\u0632\u06d5 \u062f\u0627\u0628\u06d5\u0632\u0627\u0646\u062f\u0648\u0648\u062a\u06d5 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5 \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5 \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc \u0641\u0631\u0645\u0627\u0646\u06cc &#8220;calibredb.&#8221; \u0626\u06ce\u0645\u06d5 \u0634\u0648\u06ce\u0646\u06cc \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5\u0645\u0627\u0646 \u0644\u06d5 \u062e\u0648\u062f\u06cc \u0641\u06d5\u0631\u0645\u0627\u0646\u06d5\u06a9\u06d5\u062f\u0627 \u062f\u06cc\u0627\u0631\u06cc \u06a9\u0631\u062f.<\/p>\n<pre>$ calibredb add adventuresofsherlockholmes.mobi --with-library calibre-library\/\r\nAdded book ids: 1<\/pre>\n<p>\u062f\u06d5\u062a\u0648\u0627\u0646\u06cc\u062a \u0628\u06d5 \u06cc\u06d5\u06a9\u062c\u0627\u0631 \u0686\u06d5\u0646\u062f \u06a9\u062a\u06ce\u0628\u06ce\u06a9 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5\u06cc\u062a \u0628\u06d5\u0645 \u0634\u06ce\u0648\u06d5\u06cc\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5.<\/p>\n<pre>$ calibredb add *.mobi --with-library calibre-library\/<\/pre>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u0686\u0648\u0627\u0631\u06d5\u0645 &#8211; \u062f\u06d5\u0633\u062a\u067e\u06ce\u06a9\u0631\u062f\u0646\u06cc Caliber Server<\/h3>\n<p>\u0626\u06ce\u0633\u062a\u0627 \u06a9\u06d5 \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646\u0645\u0627\u0646 \u0626\u0627\u0645\u0627\u062f\u06d5 \u06a9\u0631\u062f\u0648\u0648\u06d5\u060c \u06a9\u0627\u062a\u06cc \u0626\u06d5\u0648\u06d5 \u0647\u0627\u062a\u0648\u0648\u06d5 \u0695\u0627\u0698\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u062f\u06d5\u0633\u062a \u067e\u06ce \u0628\u06a9\u06d5\u06cc\u0646.<\/p>\n<pre>$ calibre-server calibre-library<\/pre>\n<p>\u0641\u06d5\u0631\u0645\u0627\u0646\u06cc &#8220;calibre-server&#8221; \u0634\u0648\u06ce\u0646\u06cc \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5 \u0648\u06d5\u06a9 \u0626\u0627\u0631\u06af\u0648\u0645\u06ce\u0646\u062a\u06d5\u06a9\u06d5\u06cc \u0648\u06d5\u0631\u062f\u06d5\u06af\u0631\u06ce\u062a. \u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 \u062f\u06d5\u0631\u0686\u0648\u0648\u0646\u06ce\u06a9\u06cc \u0647\u0627\u0648\u0634\u06ce\u0648\u06d5 \u0628\u0628\u06cc\u0646\u06cc\u062a.<\/p>\n<pre>calibre server listening on 0.0.0.0:8080\r\nOPDS feeds advertised via BonJour at: your_server_ip port: 8080<\/pre>\n<p>\u0626\u06d5\u0645\u06d5\u0634 \u0633\u06ce\u0631\u06a4\u06d5\u0631\u06cc &#8220;Caliber&#8221; \u0644\u06d5 \u062f\u06d5\u0631\u0648\u0627\u0632\u06d5\u06cc 8080 \u0626\u0627\u0634\u06a9\u0631\u0627 \u062f\u06d5\u06a9\u0627\u062a\u060c \u0628\u06c6 \u0628\u06cc\u0646\u06cc\u0646\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631 \u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 \u0633\u06d5\u0631\u06d5\u062a\u0627 \u062f\u06d5\u0631\u0648\u0627\u0632\u06d5\u06a9\u06d5 \u0628\u06a9\u06d5\u06cc\u062a\u06d5\u0648\u06d5. \u0628\u06c6 \u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u06cc \u062f\u06d5\u0631\u0648\u0627\u0632\u06d5\u06cc 8080 \u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u062c\u06ce\u0628\u06d5\u062c\u06ce \u0628\u06a9\u06d5.<\/p>\n<pre>$ sudo ufw allow 8080<\/pre>\n<p>\u0644\u06d5 \u0648\u06ce\u0628\u06af\u06d5\u0695\u06d5\u06a9\u06d5\u062a\u062f\u0627 URL http:\/\/<yourserverIP>:8080 \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0648 \u0626\u06d5\u0645 \u0648\u06ce\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5\u062a \u062f\u06d5\u0633\u062a \u062f\u06d5\u06a9\u06d5\u0648\u06ce\u062a. \u0695\u0648\u0648\u0645\u06ce\u0632\u06cc\u06d5\u06a9\u06d5\u062a \u0648\u06d5\u06a9 \u062a\u0627\u0631\u06cc\u06a9 \u06cc\u0627\u0646 \u0695\u0648\u0648\u0646\u0627\u06a9 \u062f\u06d5\u0631\u062f\u06d5\u06a9\u06d5\u0648\u06ce\u062a \u0628\u06d5\u067e\u06ce\u06cc \u0647\u06d5\u06b5\u0628\u0698\u0627\u0631\u062f\u0646\u06cc \u062f\u06c6\u062e\u06cc \u0633\u06cc\u0633\u062a\u06d5\u0645\u06cc \u06a9\u0627\u0631\u067e\u06ce\u06a9\u0631\u062f\u0646\u06d5\u06a9\u06d5\u062a.<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-e3c31c713f.jpg\" alt=\"\" width=\"596\" height=\"641\" class=\"aligncenter size-full wp-image-3014\" srcset=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-e3c31c713f.jpg 596w, https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-e3c31c713f-279x300.jpg 279w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><\/p>\n<p>\u06a9\u0631\u062a\u06d5\u06cc\u06ce\u06a9 \u0644\u06d5\u0633\u06d5\u0631 \u0628\u06d5\u0633\u062a\u06d5\u0631\u06cc \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u0631\u06d5 \u0628\u06a9\u06d5 \u0628\u06c6 \u0628\u06cc\u0646\u06cc\u0646\u06cc \u0626\u06d5\u0648 \u06a9\u062a\u06ce\u0628\u06d5\u06cc \u06a9\u06d5 \u0644\u06d5 \u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u067e\u06ce\u0634\u0648\u0648\u062f\u0627 \u0632\u06cc\u0627\u062f\u062a \u06a9\u0631\u062f\u0648\u0648\u06d5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-a2f31c6665.jpg\" alt=\"\" width=\"596\" height=\"641\" class=\"aligncenter size-full wp-image-3015\" srcset=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-a2f31c6665.jpg 596w, https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-a2f31c6665-279x300.jpg 279w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><\/p>\n<p>\u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06d5\u06a9\u06d5 \u062f\u0627\u0628\u062e\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646 \u0644\u06d5\u0633\u06d5\u0631 \u06a9\u0644\u06cc\u0644\u06d5\u06a9\u0627\u0646\u06cc Ctrl + C<kbd><\/kbd> \u0644\u06d5 \u062a\u06ce\u0631\u0645\u06cc\u0646\u0627\u06b5\u06d5\u06a9\u06d5\u062a\u062f\u0627.<br \/>\n\u062f\u06d5\u062a\u0648\u0627\u0646\u06cc\u062a \u062f\u06d5\u0631\u0648\u0627\u0632\u06d5\u06cc\u06d5\u06a9\u06cc \u062c\u06cc\u0627\u0648\u0627\u0632 \u0628\u06d5\u06a9\u0627\u0631\u0628\u0647\u06ce\u0646\u06cc\u062a \u0628\u06c6 \u062f\u06d5\u0631\u062e\u0633\u062a\u0646\u06cc \u0695\u0627\u0698\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631. \u0628\u06c6 \u0626\u06d5\u0648 \u0645\u06d5\u0628\u06d5\u0633\u062a\u06d5\u0634 \u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0628\u0647\u06ce\u0646\u06d5. \u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 \u062f\u06b5\u0646\u06cc\u0627 \u0628\u06cc\u062a \u0644\u06d5\u0648\u06d5\u06cc \u06a9\u06d5 \u062f\u06d5\u0631\u0648\u0627\u0632\u06d5\u06a9\u06d5 \u0644\u06d5 \u062f\u06cc\u0648\u0627\u0631\u06cc \u0626\u0627\u06af\u0631\u06d5\u06a9\u06d5\u062f\u0627 \u06a9\u0631\u0627\u0648\u06d5 \u062f\u06d5\u0628\u06ce\u062a.<\/p>\n<pre>$ calibre-server calibre-library --port 7654<\/pre>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u067e\u06ce\u0646\u062c\u06d5\u0645 &#8211; \u0641\u0627\u06cc\u0644\u06ce\u06a9\u06cc \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc systemd \u062f\u0631\u0648\u0633\u062a \u0628\u06a9\u06d5<\/h3>\n<p>\u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u067e\u0631\u06c6\u0633\u06d5\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0628\u06d5\u0631\u062f\u06d5\u0648\u0627\u0645 \u0628\u06ce\u062a \u0648 \u0644\u06d5 \u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u0647\u06d5\u06b5\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u06a9\u0627\u0646 \u0695\u0632\u06af\u0627\u0631\u06cc \u0628\u06ce\u062a\u060c \u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 \u0641\u0627\u06cc\u0644\u06ce\u06a9\u06cc \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc systemd \u0628\u06c6 \u0647\u06d5\u0645\u0627\u0646 \u0634\u062a \u062f\u0631\u0648\u0633\u062a \u0628\u06a9\u06d5\u06cc\u062a.<br \/>\n\u0641\u0627\u06cc\u0644\u06ce\u06a9 \u062f\u0631\u0648\u0633\u062a \u0628\u06a9\u06d5 \u0628\u06d5 \u0646\u0627\u0648\u06cc calibre-server.service \u0644\u06d5 \u062f\u0627\u06cc\u0631\u06ce\u06a9\u062a\u06c6\u0631\u06cc \/etc\/sytemd\/system\/ \u0648 \u0628\u06cc\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u0631\u062f\u0646.<\/p>\n<pre>$ sudo nano \/etc\/systemd\/system\/calibre-server.service<\/pre>\n<p>\u0626\u06d5\u0645 \u06a9\u06c6\u062f\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5\u06cc \u062a\u06ce\u062f\u0627 \u0649\u0646\u0648\u0648\u0633\u06d5.<\/p>\n<pre>[Unit]\r\nDescription=Calibre Server\r\nAfter=network.target\r\n\r\n[Service]\r\nType=simple\r\nUser=<username>\r\nGroup=<username>\r\nExecStart=\/opt\/calibre\/calibre-server \/home\/<username>\/calibre-library --enable-local-write\r\n\r\n[Install]\r\nWantedBy=multi-user.target\r\n<\/pre>\n<p>\u0646\u06cc\u0634\u0627\u0646\u06d5\u06cc enable-local-write&#8211; \u062f\u06d5\u0633\u062a\u0695\u0627\u06af\u06d5\u06cc\u0634\u062a\u0646 \u0628\u06d5 \u0646\u0648\u0648\u0633\u06cc\u0646 \u0628\u06d5 \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631 \u062f\u06d5\u062f\u0627\u062a \u0628\u06c6 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u06a9\u062a\u06ce\u0628\u06cc \u0646\u0648\u06ce \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5. \u0626\u06d5\u0645\u06d5\u0634 \u0644\u06d5\u0628\u06d5\u0631 \u0626\u06d5\u0648\u06d5\u06cc\u06d5 \u06a9\u06d5 \u0646\u0627\u062a\u0648\u0627\u0646\u06cc\u062a \u06a9\u062a\u06ce\u0628 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5\u06cc\u062a \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc \u0641\u0631\u0645\u0627\u0646\u06cc calibredb \u0644\u06d5\u06a9\u0627\u062a\u06ce\u06a9\u062f\u0627 \u0633\u06ce\u0631\u06a4\u06d5\u0631\u06d5\u06a9\u06d5 \u06a9\u0627\u0631\u062f\u06d5\u06a9\u0627\u062a.<br \/>\n\u0644\u06d5 \u06a9\u06c6\u062f\u06cc \u0633\u06d5\u0631\u06d5\u0648\u06d5\u062f\u0627 <username> \u0628\u06d5 \u0646\u0627\u0648\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06cc \u0633\u06cc\u0633\u062a\u06d5\u0645\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u06d5\u06a9\u06d5\u062a \u0628\u06af\u06c6\u0695\u06d5. \u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u067e\u0627\u0634\u06d5\u06a9\u06d5\u0648\u062a \u0628\u06a9\u06d5 \u0648 \u062f\u0627\u06cc\u0628\u062e\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646 \u0644\u06d5\u0633\u06d5\u0631 Ctrl+W \u0648 \u062f\u0627\u062e\u06b5\u06a9\u0631\u062f\u0646\u06cc  <kbd>Y<\/kbd>\u06a9\u0627\u062a\u06ce\u06a9 \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a.<br \/>\n\u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u062f\u0627\u06cc\u0645\u06c6\u0646\u06cc \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5 \u0628\u0627\u0631\u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u0686\u0627\u0644\u0627\u06a9\u06a9\u0631\u062f\u0646\u06cc \u067e\u06d5\u0695\u06af\u06d5\u06cc \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5.<\/p>\n<pre>$ sudo systemctl daemon-reload<\/pre>\n<p>\u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631  \u0628\u06d5\u0645 \u0641\u06d5\u0631\u0645\u0627\u0646\u0627\u0646\u06d5 \u0686\u0627\u0644\u0627\u06a9 \u0628\u06a9\u06d5 \u0648 \u062f\u06d5\u0633\u062a\u06cc \u067e\u06ce \u0628\u06a9\u06d5.<\/p>\n<pre>$ sudo systemctl enable calibre-server\r\n$ sudo systemctl start calibre-server<\/pre>\n<p>\u062f\u06c6\u062e\u06cc \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5 \u0628\u067e\u0634\u06a9\u0646\u06d5.<\/p>\n<pre>\r\n$ sudo systemctl status calibre-server\r\n? calibre-server.service - Calibre Server\r\n     Loaded: loaded (\/etc\/systemd\/system\/calibre-server.service; enabled; vendor preset: enabled)\r\n     Active: active (running) since Mon 2022-07-25 07:23:42 UTC; 15s ago\r\n   Main PID: 1877 (BonJour)\r\n      Tasks: 13 (limit: 2241)\r\n     Memory: 53.3M\r\n        CPU: 762ms\r\n     CGroup: \/system.slice\/calibre-server.service\r\n             ??1877 \/opt\/calibre\/bin\/calibre-server \/home\/<username>\/calibre-library --enable-local-write\r\n\r\nJul 25 07:23:42 calibre systemd[1]: Started Calibre Server.\r\nJul 25 07:23:42 calibre calibre-server[1877]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '\/tmp\/runtime-<username>'\r\nJul 25 07:23:42 calibre calibre-server[1877]: calibre server listening on 0.0.0.0:8080\r\nJul 25 07:23:43 calibre calibre-server[1877]: OPDS feeds advertised via BonJour at: 69.28.84.201 port: 8080\r\n<\/pre>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u0634\u06d5\u0634\u06d5\u0645- \u0695\u0647\u200c\u0633\u0647\u200c\u0646\u06ce\u062a\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631 \u0686\u0627\u0644\u0627\u06a9 \u0628\u06a9\u06d5<\/h3>\n<p>\u062f\u06d5\u062a\u0648\u0627\u0646\u06cc\u062a \u0695\u06d5\u0633\u06d5\u0646\u0627\u06cc\u06d5\u062a\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5\u06cc\u062a \u0628\u06c6 \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0628\u06c6 \u067e\u0627\u0631\u0627\u0633\u062a\u0646\u06cc \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5\u062a \u0644\u06d5 \u0628\u06d5\u0631\u062f\u06d5\u0633\u062a\u0628\u0648\u0648\u0646\u06cc \u06a9\u06d5\u0633. \u0633\u06d5\u0631\u06d5\u062a\u0627 \u0633\u06ce\u0631\u06a4\u06d5\u0631\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0628\u0648\u06d5\u0633\u062a\u06ce\u0646\u06d5.<\/p>\n<pre>$ sudo systemctl stop calibre-server<\/pre>\n<p>\u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0628\u0646\u06a9\u06d5\u062f\u0631\u0627\u0648\u06d5\u06cc\u06d5\u06a9\u06cc SQLite \u0628\u06d5\u06a9\u0627\u0631\u062f\u06d5\u0647\u06ce\u0646\u06ce\u062a \u0628\u06c6 \u0647\u06d5\u06b5\u06af\u0631\u062a\u0646\u06cc \u0646\u0627\u0633\u0646\u0627\u0645\u06d5\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631. \u0633\u06a9\u0631\u06cc\u067e\u062a\u06cc \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u0631\u062f\u0646\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u062f\u06d5\u0633\u062a\u067e\u06ce\u0628\u06a9\u06d5 \u0628\u06c6 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06ce\u06a9.<\/p>\n<pre>$ sudo calibre-server --manage-users<\/pre>\n<p>\u0686\u0648\u0627\u0631 \u0628\u0698\u0627\u0631\u062f\u06d5\u062a \u067e\u06ce\u062f\u06d5\u062f\u0631\u06ce\u062a \u0648 \u062f\u0627\u0648\u0627\u06cc \u0647\u06d5\u06b5\u0628\u0698\u0627\u0631\u062f\u0646\u06cc \u062e\u06c6\u062a\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a. \u0628\u06c6 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06ce\u06a9\u06cc \u0646\u0648\u06ce 1 \u0644\u06cc\u0628\u062f\u06d5\u060c \u0648 \u0646\u0627\u0648\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631 \u0648 \u0648\u0634\u06d5\u06cc \u0646\u0647\u06ce\u0646\u06cc \u062f\u0627\u0628\u06cc\u0646 \u0628\u06a9\u06d5 \u0628\u06c6 \u062a\u06d5\u0648\u0627\u0648\u06a9\u0631\u062f\u0646\u06cc \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06ce\u06a9\u06cc \u0646\u0648\u06ce.<\/p>\n<pre>\r\n1) Add a new user\r\n2) Edit an existing user\r\n3) Remove a user\r\n4) Cancel\r\n\r\nWhat do you want to do? [1-4]: (Press 1)\r\nEnter the username: howtoforge\r\nEnter the new password for howtoforge:\r\nRe-enter the new password for howtoforge, to verify:\r\nUser howtoforge added successfully!\r\n<\/pre>\n<p>\u062f\u0648\u0627\u062a\u0631 \u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc \u067e\u06d5\u0695\u06d5\u06af\u06d5\u06cc \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5 \u0628\u06a9\u06d5\u06cc\u062a \u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u0628\u0632\u0627\u0646\u06cc\u062a \u0695\u06d5\u0633\u06d5\u0646\u0627\u06cc\u06d5\u062a\u06cc \u0647\u06d5\u06cc\u06d5. \u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u0631\u062f\u0646.<\/p>\n<pre>\r\n$ sudo nano \/etc\/systemd\/system\/calibre-server.service\r\n<\/pre>\n<p>\u0646\u06cc\u0634\u0627\u0646\u06d5\u06cc enable-auth&#8211; \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5 \u0644\u06d5 \u06a9\u06c6\u062a\u0627\u06cc\u06cc \u062f\u06ce\u0695\u06d5\u06a9\u06d5\u062f\u0627 \u06a9\u06d5 \u0628\u06d5 ExecStart \u062f\u06d5\u0633\u062a \u067e\u06ce\u062f\u06d5\u06a9\u0627\u062a \u0628\u06c6 \u0686\u0627\u0644\u0627\u06a9\u06a9\u0631\u062f\u0646\u06cc \u0695\u06d5\u0633\u06d5\u0646\u0627\u06cc\u06d5\u062a\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631.<\/p>\n<pre>\r\n...\r\nExecStart=\/opt\/calibre\/calibre-server \"\/home\/<username>\/calibre-library\" --userdb \"\/home\/<username>\/.config\/calibre\/server-users.sqlite\" --enable-local-write --enable-auth\r\n...\r\n<\/pre>\n<p>\u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u067e\u0627\u0634\u06d5\u06a9\u06d5\u0648\u062a \u0628\u06a9\u06d5 \u0648 \u062f\u0627\u06cc\u0628\u062e\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646 \u0644\u06d5\u0633\u06d5\u0631  <kbd>Ctrl+W<\/kbd>\u0648 \u062f\u0627\u062e\u06b5\u06a9\u0631\u062f\u0646\u06cc  <kbd>Y<\/kbd>\u06a9\u0627\u062a\u06ce\u06a9 \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a.<br \/>\n\u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u0628\u0646\u0648\u0627\u0695\u06d5\u06cc (daemon )\u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5 \u0628\u0627\u0631\u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0648 \u062e\u0632\u0645\u06d5\u062a\u06af\u0648\u0632\u0627\u0631\u06cc\u06cc\u06d5\u06a9\u06d5 \u062f\u06d5\u0633\u062a\u067e\u06ce\u0628\u06a9\u06d5.<\/p>\n<pre>\r\n$ sudo systemctl daemon-reload\r\n$ sudo systemctl start calibre-server\r\n<\/pre>\n<p>\u0626\u06d5\u06af\u06d5\u0631 URL\u06cc \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5 \u0628\u06a9\u06d5\u06cc\u062a\u06d5\u0648\u06d5\u060c \u067e\u06ce\u0634 \u0626\u06d5\u0648\u06d5\u06cc \u0695\u06ce\u06af\u06d5\u062a \u067e\u06ce\u0628\u062f\u06d5\u06cc\u062a \u0628\u0686\u06cc\u062a\u06d5 \u0646\u0627\u0648 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5\u0648\u06d5\u060c \u062f\u0627\u0648\u0627\u06cc \u0646\u0627\u0648\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631 \u0648 \u0648\u0634\u06d5\u06cc \u0646\u0647\u06ce\u0646\u06cc\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a. \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06a9\u0627\u0646\u062a \u062f\u0627\u0628\u0646\u06ce \u0648 \u062f\u0648\u06af\u0645\u06d5\u06cc<strong> \u0686\u0648\u0648\u0646\u06d5\u0698\u0648\u0648\u0631\u06d5\u0648\u06d5<\/strong> \u0628\u06a9\u06d5 \u0628\u06c6 \u0686\u0648\u0648\u0646\u06d5 \u0646\u0627\u0648 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-c1b210c918.jpg\" alt=\"\" width=\"596\" height=\"641\" class=\"aligncenter size-full wp-image-3020\" srcset=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-c1b210c918.jpg 596w, https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-c1b210c918-279x300.jpg 279w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><\/p>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u062d\u06d5\u0648\u062a\u06d5\u0645 &#8211; \u0628\u06d5 \u0634\u06ce\u0648\u06d5\u06cc\u06d5\u06a9\u06cc \u062e\u06c6\u06a9\u0627\u0631\u0627\u0646\u06d5 \u06a9\u062a\u06ce\u0628 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5<\/h3>\n<p>\u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0695\u06ce\u06af\u06d5\u062a \u067e\u06ce\u062f\u06d5\u062f\u0627\u062a \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646 \u0628\u06d5 \u0634\u06ce\u0648\u06d5\u06cc\u06d5\u06a9\u06cc \u062e\u06c6\u06a9\u0627\u0631\u0627\u0646\u06d5 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5\u06cc\u062a \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5 \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc &#8220;Cron job&#8221;. \u0626\u06d5\u0648 \u06a9\u0627\u0631\u06d5 \u062f\u06d5\u06a9\u0627\u062a \u0628\u06d5 \u0633\u06d5\u06cc\u0631\u06a9\u0631\u062f\u0646\u06cc \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u0627\u06cc\u06d5\u062a\u06cc\u06cc\u06d5\u06a9 \u0628\u06d5 \u0645\u0627\u0648\u06d5\u06cc\u06d5\u06a9\u06cc \u0695\u06ce\u06a9\u0648\u067e\u06ce\u06a9 \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u06cc \u0646\u0648\u06ce \u0648 \u062f\u0648\u0627\u062a\u0631 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5. \u0626\u06d5\u0645\u06d5 \u062e\u06ce\u0631\u0627\u062a\u0631\u06cc\u0646 \u0695\u06ce\u06af\u0627\u06cc\u06d5 \u0628\u06c6 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u06a9\u062a\u06ce\u0628 \u06a9\u06d5 \u062f\u06d5\u062a\u0648\u0627\u0646\u06cc\u062a \u062a\u06d5\u0646\u0647\u0627 \u0628\u0627\u0631\u06cc \u0628\u06a9\u06d5\u06cc\u062a \u0628\u06c6 \u0646\u0627\u0648 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u0627\u06cc\u06d5\u062a\u06cc\u06cc\u06d5\u06a9\u06d5 \u0648 \u0628\u06d5\u0645 \u0632\u0648\u0648\u0627\u0646\u06d5 \u0644\u06d5 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5\u062f\u0627 \u062f\u06d5\u0631\u062f\u06d5\u06a9\u06d5\u0648\u0646 \u0628\u06d5\u0628\u06ce \u0647\u06cc\u0686 \u062f\u06d5\u0633\u062a\u06ce\u0648\u06d5\u0631\u062f\u0627\u0646\u06ce\u06a9\u06cc \u062f\u06d5\u0633\u062a\u06cc.<\/p>\n<p>\u06cc\u06d5\u06a9\u06d5\u0645 \u0647\u06d5\u0646\u06af\u0627\u0648 \u0628\u0631\u06cc\u062a\u06cc\u06cc\u06d5 \u0644\u06d5 \u062f\u0631\u0648\u0633\u062a\u06a9\u0631\u062f\u0646\u06cc \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u0627\u06cc\u06d5\u062a\u06cc \u06a9\u0627\u062a\u0698\u0645\u06ce\u0631.<\/p>\n<pre>\r\n$ mkdir ~\/calibre-watch\r\n$ cd ~\/calibre-watch\r\n<\/pre>\n<p>\u06a9\u062a\u06ce\u0628\u06cc \u062c\u06d5\u0646\u06af \u0648 \u0626\u0627\u0634\u062a\u06cc (War and Peace) \u0644\u06d5 \u0646\u0648\u0648\u0633\u06cc\u0646\u06cc \u0644\u06cc\u06c6 \u062a\u06c6\u0644\u0633\u062a\u06c6\u06cc(Leo Tolstoy) \u062f\u0627\u0628\u06d5\u0632\u06ce\u0646\u06d5 \u0628\u06c6 \u0626\u06d5\u0645 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u0627\u06cc\u06d5\u062a\u06cc\u06cc\u06d5 \u0644\u06d5 \u067e\u0631\u06c6\u0698\u06d5\u06cc \u06af\u0648\u062a\u06ce\u0646\u0628\u06ce\u0631\u06af\u06d5\u0648\u06d5.<\/p>\n<pre>\r\n$ wget https:\/\/www.gutenberg.org\/ebooks\/2600.kindle.images -O warandpeace.mobi\r\n<\/pre>\n<p>\u0626\u06d5\u06af\u06d5\u0631 \u062a\u06ce\u0628\u06cc\u0646\u06cc\u062a \u06a9\u0631\u062f \u0626\u06d5\u0645\u062c\u0627\u0631\u06d5 \u0648\u0634\u0627\u0646\u06ce\u06a9 \u062f\u0627\u062f\u06d5\u0628\u06d5\u0632\u06ce\u0646\u06cc\u0646 \u06a9\u06d5 \u0648\u06ce\u0646\u06d5\u06cc \u062a\u06ce\u062f\u0627\u06cc\u06d5. \u0644\u06d5 \u06a9\u062a\u06ce\u0628\u06ce\u06a9\u06d5\u0648\u06d5 \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u06ce\u06a9\u06cc \u062a\u0631 \u0644\u06d5\u0633\u06d5\u0631 \u067e\u0631\u06c6\u0698\u06d5\u06cc \u06af\u0648\u062a\u06ce\u0646\u0628\u06ce\u0631\u06af \u062f\u06d5\u06af\u06c6\u0695\u06ce\u062a. \u0647\u06d5\u0646\u062f\u06ce\u06a9\u06cc\u0627\u0646 \u0648\u06d5\u0634\u0627\u0646\u06cc \u0648\u06ce\u0646\u06d5\u06cc\u0627\u0646 \u0628\u06d5\u0631\u062f\u06d5\u0633\u062a\u06d5 \u0644\u06d5 \u06a9\u0627\u062a\u06ce\u06a9\u062f\u0627 \u0647\u06d5\u0646\u062f\u06ce\u06a9\u06cc\u0627\u0646 \u0628\u06d5\u0631\u062f\u06d5\u0633\u062a \u0646\u06cc\u0646. \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0628\u06d5 \u0647\u06d5\u0631 \u062f\u0648\u0648 \u0641\u06c6\u0631\u0645\u0627\u062a\u06d5\u06a9\u06d5 \u0628\u06d5 \u062c\u0648\u0627\u0646\u06cc \u06a9\u0627\u0631\u062f\u06d5\u06a9\u0627\u062a.<br \/>\n\u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u06d5\u0631\u06cc Crontab \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5.<\/p>\n<pre>\r\n$ crontab -e\r\n<\/pre>\n<p>\u0626\u06d5\u06af\u06d5\u0631 \u0626\u06d5\u0645\u06d5 \u06cc\u06d5\u06a9\u06d5\u0645 \u062c\u0627\u0631\u06d5 \u06a9\u06d5 Crontab \u0628\u06d5\u06a9\u0627\u0631\u062f\u06d5\u0647\u06ce\u0646\u06cc\u062a\u060c \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u06d5\u0631\u06ce\u06a9 \u0647\u06d5\u06b5\u0628\u0698\u06ce\u0631\u06cc\u062a.<\/p>\n<pre>\r\nno crontab for <username> - using an empty one\r\n\r\nSelect an editor.  To change later, run 'select-editor'.\r\n  1. \/bin\/nano        <---- easiest\r\n  2. \/usr\/bin\/vim.basic\r\n  3. \/usr\/bin\/vim.tiny\r\n  4. \/bin\/ed\r\n\r\nChoose 1-4 [1]:\r\n<\/pre>\n<p>\u0698\u0645\u0627\u0631\u06d5\u06cc \u0661 \u062f\u0627\u0628\u0646\u06ce \u0628\u06c6 \u0647\u06d5\u06b5\u0628\u0698\u0627\u0631\u062f\u0646\u06cc \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u06d5\u0631\u06cc \u0646\u0627\u0646\u06c6 \u0686\u0648\u0646\u06a9\u06d5 \u0626\u0627\u0633\u0627\u0646\u062a\u0631\u06cc\u0646\u06d5 \u0628\u06c6 \u06a9\u0627\u0631\u067e\u06ce\u06a9\u0631\u062f\u0646.<br \/>\n\u0644\u06d5 \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5\u06cc \u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5\u062f\u0627 \u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5.<\/p>\n<pre>\r\n*\/5 * * * * calibredb add \/home\/<username>\/calibre-watch\/ -r --with-library http:\/\/localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r \/home\/<username>\/calibre-watch\/*\r\n<\/pre>\n<p>\u0626\u06d5\u0645 \u0633\u06a9\u0631\u06cc\u067e\u062a\u06d5 \u0647\u06d5\u0645\u0648\u0648 \u0641\u0627\u06cc\u0644\u06d5\u06a9\u0627\u0646\u06cc \u0646\u0627\u0648 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u0627\u06cc\u06d5\u062a\u06cc \/home\/<username>\/calibre-watch \u0632\u06cc\u0627\u062f \u062f\u06d5\u06a9\u0627\u062a \u0628\u06c6 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc calibre \u0648 \u0647\u06d5\u0645\u0648\u0648 \u0641\u0627\u06cc\u0644\u06d5 \u0626\u06d5\u0633\u06b5\u06cc\u06d5\u06a9\u0627\u0646 \u062f\u06d5\u0633\u0695\u06ce\u062a\u06d5\u0648\u06d5 \u0644\u06d5\u0628\u06d5\u0631\u0626\u06d5\u0648\u06d5\u06cc \u067e\u06ce\u0648\u06cc\u0633\u062a\u06cc\u0627\u0646 \u0646\u06d5\u0645\u0627\u0648\u06d5. \u0626\u06d5\u0648 \u06a9\u0627\u0631\u06d5\u06cc \u0633\u06d5\u0631\u06d5\u0648\u06d5 \u0647\u06d5\u0631 \u0665 \u062e\u0648\u0644\u06d5\u06a9 \u062c\u0627\u0631\u06ce\u06a9 \u0628\u06d5\u0631\u062f\u06d5\u0648\u0627\u0645 \u062f\u06d5\u0628\u06ce\u062a. <username> \u0628\u06af\u06c6\u0695\u06d5 \u0628\u06d5 \u0646\u0627\u0648\u06cc \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u06d5\u0631\u06cc \u0633\u06cc\u0633\u062a\u06d5\u0645\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633\u06d5\u06a9\u06d5\u062a \u0648 \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06a9\u0627\u0646\u06cc Caliber \u0644\u06d5 \u0634\u0648\u06ce\u0646\u06d5 \u06af\u0648\u0646\u062c\u0627\u0648\u06d5\u06a9\u0627\u0646\u062f\u0627 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5.<br \/>\n\u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u067e\u0627\u0634\u06d5\u06a9\u06d5\u0648\u062a \u0628\u06a9\u06d5 \u0648 \u062f\u0627\u06cc\u0628\u062e\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646 \u0644\u06d5\u0633\u06d5\u0631  <kbd>Ctrl+W<\/kbd>\u0648 \u062f\u0627\u062e\u06b5\u06a9\u0631\u062f\u0646\u06cc  <kbd>Y<\/kbd>\u06a9\u0627\u062a\u06ce\u06a9 \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a. \u0686\u06d5\u0646\u062f \u062e\u0648\u0644\u06d5\u06a9\u06ce\u06a9 \u0686\u0627\u0648\u06d5\u0695\u06ce \u0628\u06a9\u06d5 \u0648 \u0633\u0627\u06cc\u062a\u06cc \u0695\u0627\u0698\u06d5\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u0628\u0627\u0631 \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u0628\u0628\u06cc\u0646\u06cc\u062a \u0626\u06d5\u0648 \u06a9\u062a\u06ce\u0628\u06d5\u06cc \u06a9\u06d5 \u062a\u0627\u0632\u06d5 \u0632\u06cc\u0627\u062f\u062a \u06a9\u0631\u062f\u0648\u0648\u06d5 \u0644\u06d5 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5\u062f\u0627 \u062f\u06d5\u0631\u062f\u06d5\u06a9\u06d5\u0648\u06ce\u062a.<\/p>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u0647\u06d5\u0634\u062a\u06d5\u0645 - \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc Nginx<\/h3>\n<p>\u0626\u0648\u0628\u0648\u0646\u062a\u0648 \u0662\u0662.\u0660\u0664 \u0644\u06d5\u06af\u06d5\u06b5 \u0648\u06d5\u0634\u0627\u0646\u06cc \u06a9\u06c6\u0646\u062a\u0631\u06cc Nginx \u0626\u0627\u0645\u0627\u062f\u06d5\u06cc\u06d5. \u0628\u06c6 \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc \u0646\u0648\u06ce\u062a\u0631\u06cc\u0646 \u0648\u06d5\u0634\u0627\u0646\u06cc\u060c \u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 \u06a9\u06c6\u06af\u0627\u06cc \u0641\u06d5\u0631\u0645\u06cc Nginx \u062f\u0627\u0628\u06d5\u0632\u06ce\u0646\u06cc\u062a.<br \/>\n\u06a9\u0644\u06cc\u0644\u06cc \u0648\u0627\u0698\u06c6\u06a9\u0631\u062f\u0646\u06cc Nginx \u0647\u0627\u0648\u0631\u062f\u06d5 \u0628\u06a9\u06d5.<\/p>\n<pre>\r\n$ curl https:\/\/nginx.org\/keys\/nginx_signing.key | gpg --dearmor \\\r\n| sudo tee \/usr\/share\/keyrings\/nginx-archive-keyring.gpg >\/dev\/null\r\n<\/pre>\n<p>\u06a9\u06c6\u06af\u0627\u06a9\u06d5 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5 \u0628\u06c6 \u0648\u06d5\u0634\u0627\u0646\u06cc \u062c\u06ce\u06af\u06cc\u0631\u06cc Nginx.<\/p>\n<pre>\r\n$ echo \"deb [signed-by=\/usr\/share\/keyrings\/nginx-archive-keyring.gpg arch=amd64] \\\r\nhttp:\/\/nginx.org\/packages\/ubuntu `lsb_release -cs` nginx\" \\\r\n| sudo tee \/etc\/apt\/sources.list.d\/nginx.list\r\n<\/pre>\n<p>\u0646\u0648\u06ce\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u06cc \u06a9\u06c6\u06af\u0627\u06a9\u0627\u0646\u06cc \u0633\u06cc\u0633\u062a\u06d5\u0645.<\/p>\n<pre>\r\n$ sudo apt update\r\n<\/pre>\n<p>Nginx \u062f\u0627\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5.<\/p>\n<pre>\r\n$ sudo apt install nginx\r\n<\/pre>\n<p>\u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06d5\u06a9\u06d5 \u067e\u0634\u062a\u0695\u0627\u0633\u062a \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5.<\/p>\n<pre>\r\n$ nginx -v\r\nnginx version: nginx\/1.22.0\r\n<\/pre>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u0646\u06c6\u06cc\u06d5\u0645 - \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc SSL<\/h3>\n<p>\u0644\u06d5 \u0626\u06ce\u0633\u062a\u0627\u062f\u0627\u060c \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 \u0644\u06d5\u0633\u06d5\u0631 \u062f\u06d5\u0631\u06af\u0627\u06cc HTTP \u0644\u06d5 \u0695\u06ce\u06af\u06d5\u06cc \u0646\u0627\u0648\u0646\u06cc\u0634\u0627\u0646\u06cc IP \u06d5\u0648\u06d5 \u0626\u0627\u0634\u06a9\u0631\u0627 \u062f\u06d5\u0628\u06ce\u062a. \u0628\u06c6 \u0628\u0627\u0634\u062a\u0631 \u067e\u0627\u0631\u0627\u0633\u062a\u0646\u06cc\u060c \u062a\u06c6 \u062f\u06d5\u0633\u062a\u0695\u0627\u06af\u06d5\u06cc\u0634\u062a\u0646 \u0644\u06d5 \u0695\u06ce\u06af\u06d5\u06cc \u062f\u06c6\u0645\u06d5\u06cc\u0646\u06ce\u06a9\u06cc \u062a\u0627\u06cc\u0628\u06d5\u062a\u06d5\u0648\u06d5 \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06cc SSL \u0686\u0627\u0644\u0627\u06a9 \u062f\u06d5\u06a9\u06d5\u06cc\u062a.<br \/>\n\u067e\u06ce\u0648\u06cc\u0633\u062a\u06d5 Certbot \u062f\u0627\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06cc\u0646 \u0628\u06c6 \u062f\u0631\u0648\u0633\u062a\u06a9\u0631\u062f\u0646\u06cc \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06cc SSL \u0628\u06c6 Caliber. \u062f\u06d5\u062a\u0648\u0627\u0646\u06cc\u062a \u06cc\u0627\u0646 Certbot \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc \u06a9\u06c6\u06af\u0627\u06cc \u0626\u0648\u0628\u0648\u0646\u062a\u0648 \u062f\u0627\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06cc\u062a \u06cc\u0627\u0646 \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc \u0626\u0627\u0645\u0631\u0627\u0632\u06cc Snapd \u0646\u0648\u06ce\u062a\u0631\u06cc\u0646 \u0648\u06d5\u0634\u0627\u0646\u06cc \u0628\u06af\u0631\u06cc\u062a. \u0626\u06ce\u0645\u06d5 \u0648\u06d5\u0634\u0627\u0646\u06cc \u0633\u0646\u0627\u067e \u0628\u06d5\u06a9\u0627\u0631\u062f\u06d5\u0647\u06ce\u0646\u06cc\u0646.<br \/>\n\u0626\u0648\u0628\u0648\u0646\u062a\u0648 \u0662\u0662.\u0660\u0664 \u0628\u06d5 \u0634\u06ce\u0648\u06d5\u06cc \u062f\u06cc\u0641\u06c6\u06b5\u062a \u0633\u0646\u0627\u067e\u062f \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0648\u06d5. \u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u0627\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u062c\u06ce\u0628\u06d5\u062c\u06ce \u0628\u06a9\u06d5 \u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u062f\u06b5\u0646\u06cc\u0627 \u0628\u06cc\u062a \u0644\u06d5\u0648\u06d5\u06cc \u06a9\u06d5 \u0648\u06d5\u0634\u0627\u0646\u06cc \u0633\u0646\u0627\u067e\u06d5\u06a9\u06d5\u062a(Snapd ) \u0646\u0648\u06ce \u062f\u06d5\u0628\u06ce\u062a\u06d5\u0648\u06d5.<\/p>\n<pre>\r\n$ sudo snap install core\r\n<\/pre>\n<p>Certbot \u062f\u0627\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5.<\/p>\n<pre>\r\n$ sudo snap install --classic certbot\r\n<\/pre>\n<p>\u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0628\u0647\u06ce\u0646\u06d5 \u0628\u06c6 \u062f\u06b5\u0646\u06cc\u0627\u0628\u0648\u0648\u0646 \u0644\u06d5\u0648\u06d5\u06cc \u06a9\u06d5 \u062f\u06d5\u062a\u0648\u0627\u0646\u0631\u06ce\u062a \u0641\u06d5\u0631\u0645\u0627\u0646\u06cc Certbot \u062c\u06ce\u0628\u06d5\u062c\u06ce \u0628\u06a9\u0631\u06ce\u062a \u0628\u06d5 \u062f\u0631\u0648\u0633\u062a\u06a9\u0631\u062f\u0646\u06cc \u0628\u06d5\u0633\u062a\u06d5\u0631\u06ce\u06a9\u06cc \u0647\u06ce\u0645\u0627\u062f\u0627\u0631 \u0628\u06c6 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u0627\u06cc\u06d5\u062a\u06cc usr\/bin\/.<\/p>\n<pre>\r\n$ sudo ln -s \/snap\/bin\/certbot \/usr\/bin\/certbot\r\n<\/pre>\n<p>\u0628\u06c6 \u062f\u0631\u0648\u0633\u062a\u06a9\u0631\u062f\u0646\u06cc \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06cc SSL \u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u062c\u06ce\u0628\u06d5\u062c\u06ce \u0628\u06a9\u06d5.<\/p>\n<pre>\r\n$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m name@example.com -d calibre.example.com\r\n<\/pre>\n<p>\u0626\u06d5\u0645 \u0641\u0631\u0645\u0627\u0646\u06d5\u06cc \u0633\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06cc\u06d5\u06a9 \u062f\u0627\u062f\u06d5\u0628\u06d5\u0632\u06ce\u0646\u06ce\u062a \u0628\u06c6 \u0646\u0627\u0648\u06d5\u0695\u06c6\u06a9\u06cc etc\/letsencrypt\/live\/calibre.example.com\/ \u0644\u06d5\u0633\u06d5\u0631 \u0633\u06ce\u0631\u06a4\u06d5\u0631\u06d5\u06a9\u06d5\u062a.<br \/>\n\u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06cc \u06af\u0631\u0648\u067e\u06cc <strong>Diffie-Hellman <\/strong>\u062f\u0631\u0648\u0633\u062a \u0628\u06a9\u06d5.<\/p>\n<pre>\r\n$ sudo openssl dhparam -dsaparam -out \/etc\/ssl\/certs\/dhparam.pem 4096\r\n<\/pre>\n<p>\u067e\u06d5\u0695\u06af\u06d5\u06cc etc\/letsencrypt\/renewal\/calibre.example.com.conf\/ \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u0631\u062f\u0646.<\/p>\n<pre>\r\n$ sudo nano \/etc\/letsencrypt\/renewal\/calibre.example.com.conf\r\n<\/pre>\n<p>\u0644\u06d5 \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u0626\u06d5\u0645 \u06a9\u06c6\u062f\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5 \u0644\u06ce\u0628\u062f\u06d5.<\/p>\n<pre>\r\npre_hook = systemctl stop nginx\r\npost_hook = systemctl start nginx\r\n<\/pre>\n<p>\u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u067e\u0627\u0634\u06d5\u06a9\u06d5\u0648\u062a \u0628\u06a9\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646  \u0644\u06d5\u0633\u06d5\u0631  <kbd>Ctrl+W<\/kbd>\u0648 \u062f\u0627\u062e\u06b5\u06a9\u0631\u062f\u0646\u06cc  <kbd>Y<\/kbd>\u06a9\u0627\u062a\u06ce\u06a9 \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a.<br \/>\n\u0626\u06ce\u0645\u06d5 \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06cc SSL\u0645\u0627\u0646 \u062f\u0631\u0648\u0633\u062a \u06a9\u0631\u062f\u0648\u0648\u06d5 \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc \u0628\u0698\u0627\u0631\u062f\u06d5\u06cc \u0633\u06d5\u0631\u0628\u06d5\u062e\u06c6\u06cc Certbot. \u0695\u0627\u0698\u06d5 \u0648\u06cc\u0628\u06d5\u06a9\u06d5 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u062f\u06d5\u0628\u0627\u062a \u0628\u06c6 \u062f\u0631\u0648\u0633\u062a\u06a9\u0631\u062f\u0646\u06cc \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06a9\u06d5 \u06a9\u06d5 \u0648\u0627\u062a\u06d5 Nginx \u062f\u06d5\u0628\u06ce\u062a \u0644\u06d5 \u06a9\u0627\u062a\u06cc \u0646\u0648\u06ce\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u062f\u0627 \u0628\u06a9\u0648\u0698\u06ce\u062a\u06d5\u0648\u06d5. \u0641\u06d5\u0631\u0645\u0627\u0646\u06d5\u06a9\u0627\u0646\u06cc pre_hook \u0648 post_hook \u067e\u06ce\u0634 \u0648 \u062f\u0648\u0627\u06cc \u0646\u0648\u06ce\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5 \u06a9\u0627\u0631\u062f\u06d5\u06a9\u06d5\u0646 \u0628\u06c6 \u06a9\u0648\u0698\u0627\u0646\u06d5\u0648\u06d5\u06cc \u0626\u06c6\u062a\u06c6\u0645\u0627\u062a\u06cc\u06a9\u06cc \u0648 \u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u062f\u06d5\u0633\u062a\u067e\u06ce\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06cc Nginx \u0628\u06d5\u0645 \u0634\u06ce\u0648\u06d5\u06cc\u06d5 \u067e\u06ce\u0648\u06cc\u0633\u062a \u0628\u06d5 \u062f\u06d5\u0633\u062a\u06ce\u0648\u06d5\u0631\u062f\u0627\u0646\u06cc \u062f\u06d5\u0633\u062a\u06cc \u0646\u0627\u06a9\u0627\u062a.<br \/>\n\u0628\u06c6 \u0626\u06d5\u0648\u06d5\u06cc \u0628\u0632\u0627\u0646\u06cc\u062a \u06a9\u06d5 \u0626\u0627\u06cc\u0627 \u0646\u0648\u06ce\u06a9\u0631\u062f\u0646\u06d5\u0648\u06d5\u06cc SSL \u0628\u06d5 \u0628\u0627\u0634\u06cc \u06a9\u0627\u0631\u062f\u06d5\u06a9\u0627\u062a \u06cc\u0627\u0646 \u0646\u0627\u060c \u062c\u06ce\u0628\u06d5\u062c\u06ce\u06a9\u0631\u062f\u0646\u06cc \u0648\u0634\u06a9\u06cc \u067e\u0631\u06c6\u0633\u06d5\u06a9\u06d5 \u0626\u06d5\u0646\u062c\u0627\u0645 \u0628\u062f\u06d5.<\/p>\n<pre>\r\n$ sudo certbot renew --dry-run\r\n<\/pre>\n<p>\u0626\u06d5\u06af\u06d5\u0631 \u0647\u06cc\u0686 \u0647\u06d5\u06b5\u06d5\u06cc\u06d5\u06a9 \u0646\u06d5\u0628\u06cc\u0646\u06cc\u060c \u0647\u06d5\u0645\u0648\u0648\u062a\u0627\u0646 \u0695\u06ce\u06a9\u06a9\u06d5\u0648\u062a\u0648\u0648\u0646. \u0628\u0695\u0648\u0627\u0646\u0627\u0645\u06d5\u06a9\u06d5\u062a \u0628\u06d5 \u0634\u06ce\u0648\u06d5\u06cc\u06d5\u06a9\u06cc \u0626\u06c6\u062a\u06c6\u0645\u0627\u062a\u06cc\u06a9\u06cc \u0646\u0648\u06ce \u062f\u06d5\u0628\u06ce\u062a\u06d5\u0648\u06d5.<\/p>\n<h3>\u0647\u06d5\u0646\u06af\u0627\u0648\u06cc \u062f\u06d5\u06cc\u06d5\u0645- \u0695\u06ce\u06a9\u062e\u0633\u062a\u0646\u06cc Nginx<\/h3>\n<p>\u067e\u06d5\u0695\u06af\u06d5\u06cc etc\/nginx\/nginx.conf\/ \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u0631\u062f\u0646.<\/p>\n<pre>\r\n$ sudo nano \/etc\/nginx\/nginx.conf\r\n<\/pre>\n<p>\u0626\u06d5\u0645 \u062f\u06ce\u0695\u06d5 \u0632\u06cc\u0627\u062f \u0628\u06a9\u06d5 \u067e\u06ce\u0634 \u0626\u06d5\u0648\u06d5\u06cc \u062f\u06ce\u0695\u06d5\u06a9\u06d5 ;etc\/nginx\/conf.d\/*.conf\/ \u0644\u06d5\u062e\u06c6 \u0628\u06af\u0631\u06ce\u062a.<\/p>\n<pre>\r\nserver_names_hash_bucket_size  64;\r\n<\/pre>\n<p>\u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u067e\u0627\u0634\u06d5\u06a9\u06d5\u0648\u062a \u0628\u06a9\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646  \u0644\u06d5\u0633\u06d5\u0631  <kbd>Ctrl+W<\/kbd>\u0648 \u062f\u0627\u062e\u06b5\u06a9\u0631\u062f\u0646\u06cc  <kbd>Y<\/kbd>\u06a9\u0627\u062a\u06ce\u06a9 \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a.<br \/>\n\u0641\u0627\u06cc\u0644\u06d5 etc\/nginx\/conf.d\/calibre.conf\/ \u062f\u0631\u0648\u0633\u062a \u0628\u06a9\u06d5 \u0648 \u0628\u06cc\u06a9\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u062f\u06d5\u0633\u062a\u06a9\u0627\u0631\u06cc\u06a9\u0631\u062f\u0646.<\/p>\n<pre>\r\n$ sudo nano \/etc\/nginx\/conf.d\/calibre.conf\r\n<\/pre>\n<p>\u0626\u06d5\u0645 \u06a9\u06c6\u062f\u06d5\u06cc \u062e\u0648\u0627\u0631\u06d5\u0648\u06d5\u06cc \u062a\u06ce\u062f\u0627 \u0628\u0646\u0648\u0648\u0633\u06d5. calibre.example.com \u0628\u06d5 \u0646\u0627\u0648\u06cc \u062f\u06c6\u0645\u06d5\u06cc\u0646\u06d5\u06a9\u06d5\u062a \u0628\u06af\u06c6\u0695\u06d5. \u0628\u06d5\u0647\u0627\u06cc \u06af\u06c6\u0695\u0627\u0648\u06d5\u06cc client_max_body_size\u0645\u0627\u0646 \u062f\u0627\u0646\u0627\u0648\u06d5 \u0628\u06c6 50MB. \u062f\u06d5\u062a\u0648\u0627\u0646\u0646 \u0628\u06d5\u067e\u06ce\u06cc \u067e\u06ce\u062f\u0627\u0648\u06cc\u0633\u062a\u06cc\u06d5\u06a9\u0627\u0646\u062a\u0627\u0646 \u0628\u06cc\u06af\u06c6\u0695\u0646.<\/p>\n<pre>\r\nserver {\r\n\r\n    listen 443 ssl http2;\r\n    listen [::]:443 ssl http2;\r\n\r\n    http2_push_preload on; # Enable HTTP\/2 Server Push\r\n    \r\n    # Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to\r\n    # prevent replay attacks.\r\n    #\r\n    # @see: https:\/\/nginx.org\/en\/docs\/http\/ngx_http_ssl_module.html#ssl_early_data\r\n    ssl_early_data on;\r\n\r\n    server_name calibre.example.com;\r\n\r\n    client_max_body_size 50M;\r\n\r\n    access_log  \/var\/log\/nginx\/calibre.access.log;\r\n    error_log   \/var\/log\/nginx\/calibre.error.log;\r\n\r\n    ssl_certificate      \/etc\/letsencrypt\/live\/calibre.example.com\/fullchain.pem;\r\n    ssl_certificate_key  \/etc\/letsencrypt\/live\/calibre.example.com\/privkey.pem;\r\n    ssl_trusted_certificate \/etc\/letsencrypt\/live\/calibre.example.com\/chain.pem;\r\n    \r\n    ssl_session_timeout  5m;\r\n    ssl_session_cache shared:MozSSL:10m;\r\n    ssl_session_tickets off;\r\n    \r\n    ssl_protocols TLSv1.2 TLSv1.3;\r\n    ssl_prefer_server_ciphers on;\r\n    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;\r\n    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;\r\n    ssl_stapling on;\r\n    ssl_stapling_verify on;\r\n    ssl_dhparam \/etc\/ssl\/certs\/dhparam.pem;\r\n\r\n    location \/ {\r\n        proxy_pass http:\/\/127.0.0.1:8080;\r\n        proxy_set_header Host $http_host;\r\n        proxy_set_header X-Real-IP $remote_addr;\r\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\r\n        proxy_set_header X-Forwarded-Proto $scheme;        \r\n    }\r\n}\r\n# enforce HTTPS\r\nserver {\r\n    listen 80;\r\n    listen [::]:80;\r\n    server_name  calibre.example.com;\r\n    return 301   https:\/\/$host$request_uri;\r\n}\r\n<\/pre>\n<p>\u0641\u0627\u06cc\u0644\u06d5\u06a9\u06d5 \u067e\u0627\u0634\u06d5\u06a9\u06d5\u0648\u062a \u0628\u06a9\u06d5 \u0628\u06d5 \u0641\u0634\u0627\u0631\u062f\u0627\u0646 \u0644\u06d5\u0633\u06d5\u0631  <kbd>Ctrl+W<\/kbd>\u0648 \u062f\u0627\u062e\u06b5\u06a9\u0631\u062f\u0646\u06cc  <kbd>Y<\/kbd>\u06a9\u0627\u062a\u06ce\u06a9 \u062f\u0627\u0648\u0627\u062a \u0644\u06ce\u062f\u06d5\u06a9\u0631\u06ce\u062a.<br \/>\n\u0695\u06ce\u06a9\u062e\u0633\u062a\u0646\u06cc Nginx \u06cc \u062e\u06c6\u062a \u067e\u0634\u062a\u0695\u0627\u0633\u062a \u0628\u06a9\u06d5\u0631\u06d5\u0648\u06d5.<\/p>\n<pre>\r\n$ sudo nginx -t\r\n<\/pre>\n<p>\u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06cc Nginx \u062f\u0648\u0648\u0628\u0627\u0631\u06d5 \u062f\u0627\u0628\u0645\u06d5\u0632\u0631\u06ce\u0646\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u0686\u0627\u0644\u0627\u06a9\u06a9\u0631\u062f\u0646\u06cc \u067e\u06d5\u0695\u06af\u06d5\u06a9\u0627\u0646\u06cc \u0695\u06ce\u06a9\u062e\u0633\u062a\u0646.<\/p>\n<pre>\r\n$ sudo systemctl restart nginx\r\n<\/pre>\n<p>\u0628\u06c6 \u0686\u0648\u0648\u0646\u06d5 \u0646\u0627\u0648 Calibre \u0633\u06d5\u0631\u062f\u0627\u0646\u06cc https:\/\/calibre.example.com \u0628\u06a9\u06d5 \u0644\u06d5 \u0648\u06ce\u0628\u06af\u06d5\u0695\u06d5\u06a9\u06d5\u062a\u062f\u0627. \u062f\u06d5\u062a\u0648\u0627\u0646\u0646 \u0628\u0632\u0627\u0646\u0646 \u0626\u06d5\u0648 \u06a9\u062a\u06ce\u0628\u06d5\u06cc \u0644\u06d5 \u0695\u06ce\u06af\u06d5\u06cc \u06a9\u0631\u06c6\u0646\u06d5\u0648\u06d5 (Cron )\u0632\u06cc\u0627\u062f \u06a9\u0631\u0627\u0648\u06d5 \u0644\u06d5 \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06a9\u06d5\u0634\u062f\u0627 \u0628\u06d5\u0631\u062f\u06d5\u0633\u062a\u06d5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-8f591b8dcb.jpg\" alt=\"\" width=\"596\" height=\"641\" class=\"aligncenter size-full wp-image-3022\" srcset=\"https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-8f591b8dcb.jpg 596w, https:\/\/linux.krd\/wp-content\/uploads\/2022\/08\/ezgif-1-8f591b8dcb-279x300.jpg 279w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><\/p>\n<p><strong>\u0626\u06d5\u0646\u062c\u0627\u0645<\/strong><br \/>\n\u0628\u06d5\u0645 \u0634\u06ce\u0648\u06d5\u06cc\u06d5 \u0641\u06ce\u0631\u06a9\u0627\u0631\u06cc\u0645\u0627\u0646 \u0644\u06d5\u0633\u06d5\u0631 \u062f\u0627\u0645\u06d5\u0632\u0631\u0627\u0646\u062f\u0646\u06cc Calibre Server \u0644\u06d5\u0633\u06d5\u0631 \u0626\u0627\u0645\u06ce\u0631\u06cc Ubuntu 22.04 \u0628\u06d5 \u0628\u06d5\u06a9\u0627\u0631\u0647\u06ce\u0646\u0627\u0646\u06cc Nginx \u06a9\u06c6\u062a\u0627\u06cc\u06cc \u062f\u06ce\u062a. \u0647\u06d5\u0631\u0648\u06d5\u0647\u0627 \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631\u0645\u0627\u0646 \u0695\u06ce\u06a9\u062e\u0633\u062a \u0628\u06c6 \u0686\u0627\u0644\u0627\u06a9\u06a9\u0631\u062f\u0646\u06cc \u0695\u06d5\u0633\u06d5\u0646\u0627\u06cc\u06d5\u062a\u06cc \u0628\u0646\u06d5\u0695\u06d5\u062a\u06cc \u0648 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u067e\u0634\u062a\u06af\u06cc\u0631\u06cc \u0628\u06c6 \u0632\u06cc\u0627\u062f\u06a9\u0631\u062f\u0646\u06cc \u06a9\u062a\u06ce\u0628\u06cc \u0646\u0648\u06ce \u0628\u06d5 \u0634\u06ce\u0648\u06d5\u06cc\u06d5\u06a9\u06cc \u0626\u06c6\u062a\u06c6\u0645\u0627\u062a\u06cc\u06a9\u06cc. Caliber Server \u0628\u06d5 \u06a9\u06c6\u0645\u06d5\u06b5\u06ce\u06a9 \u0626\u0627\u0645\u0631\u0627\u0632\u06cc \u0647\u06ce\u06b5\u06cc \u0641\u06d5\u0631\u0645\u0627\u0646\u06d5\u0648\u06d5 \u062f\u06d5\u0646\u06ce\u0631\u062f\u0631\u06ce\u062a. \u0628\u06c6 \u0632\u0627\u0646\u06cc\u0627\u0631\u06cc \u0632\u06cc\u0627\u062a\u0631 \u0644\u06d5\u0633\u06d5\u0631\u06cc\u0627\u0646 \u062f\u06d5\u062a\u0648\u0627\u0646\u0646 \u0633\u06d5\u0631\u062f\u0627\u0646\u06cc<a href=\"https:\/\/manual.calibre-ebook.com\/generated\/en\/cli-index.html\" rel=\"noopener\" target=\"_blank\"> \u0628\u06d5\u06b5\u06af\u06d5\u0646\u0627\u0645\u06d5\u06a9\u0627\u0646\u06cc \u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631 <\/a>\u0628\u06a9\u06d5\u0646. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u06a9\u0627\u0644\u06cc\u0628\u06d5\u0631(Calibre) \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u06d5\u0631\u06ce\u06a9\u06cc \u06a9\u062a\u06ce\u0628\u06cc \u0626\u06d5\u0644\u06cc\u06a9\u062a\u0631\u06c6\u0646\u06cc \u0628\u06d5\u062e\u06c6\u0695\u0627\u06cc\u06cc\u06d5 \u0648 \u0633\u06d5\u0631\u0686\u0627\u0648\u06d5 \u06a9\u0631\u0627\u0648\u06d5\u06cc\u06d5. \u0648\u06d5\u06a9 \u0628\u06d5\u0631\u0646\u0627\u0645\u06d5\u06cc\u06d5\u06a9\u06cc \u0695\u0648\u0648\u0645\u06ce\u0632\u06cc \u0686\u06d5\u0646\u062f \u0633\u06d5\u06a9\u06c6\u06cc\u06cc (cross-platform) \u06a9\u0627\u0631\u062f\u06d5\u06a9\u0627\u062a \u0644\u06d5\u06af\u06d5\u06b5 \u0632\u06cc\u0627\u062f\u06a9\u0631\u0627\u0648\u06d5\u06cc\u06ce\u06a9\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631. \u0632\u06cc\u0627\u062f\u06a9\u0631\u0627\u0648\u06d5\u06cc \u062f\u06ce\u0633\u06a9\u062a\u06c6\u067e \u062f\u06d5\u062a\u0648\u0627\u0646\u06ce\u062a \u06a9\u062a\u06ce\u0628\u062e\u0627\u0646\u06d5\u06cc \u06a9\u062a\u06ce\u0628\u06d5 \u0626\u06d5\u0644\u06cc\u06a9\u062a\u0631\u06c6\u0646\u06cc\u06cc\u06d5\u06a9\u0627\u0646\u062a \u0644\u06d5\u0633\u06d5\u0631 \u06cc\u06d5\u06a9 \u0626\u0627\u0645\u06ce\u0631 \u0628\u06d5\u0695\u06ce\u0648\u06d5\u0628\u0628\u0627\u062a. \u0648\u06d5 \u0632\u06cc\u0627\u062f\u06a9\u0631\u0627\u0648\u06d5\u06cc \u0695\u0627\u0698\u06d5\u06a9\u0627\u0631\u06ce\u06a9\u062a \u067e\u06ce\u062f\u06d5\u062f\u0627\u062a \u06a9\u06d5 \u0626\u06d5\u0645 \u062a\u0627\u06cc\u0628\u06d5\u062a\u0645\u06d5\u0646\u062f\u06cc\u06cc\u0627\u0646\u06d5\u06cc \u0647\u06d5\u06cc\u06d5: \u0644\u06d5 \u0647\u06d5\u0631 \u0634\u0648\u06ce\u0646\u06ce\u06a9\u06cc \u062c\u06cc\u0647\u0627\u0646\u06d5\u0648\u06d5 \u062f\u06d5\u0633\u062a\u062a \u0628\u06af\u0627\u062a \u0628\u06d5 \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646\u062a. \u0628\u06d5 \u0626\u0627\u0633\u0627\u0646\u06cc \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646\u062a \u0628\u06af\u0648\u0627\u0632\u06d5\u0631\u06d5\u0648\u06d5 \u0628\u06c6 \u0626\u0627\u0645\u06ce\u0631\u06d5 \u0645\u06c6\u0628\u0627\u06cc\u0644\u06d5\u06a9\u0627\u0646. \u06a9\u062a\u06ce\u0628\u06d5\u06a9\u0627\u0646 \u0644\u06d5\u06af\u06d5\u06b5 \u0647\u0627\u0648\u0695\u06ce \u0648<\/p>\n","protected":false},"author":1,"featured_media":3016,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[91,328,329],"class_list":["post-3013","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-serverlinux","tag-91","tag-328","tag-329"],"_links":{"self":[{"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/posts\/3013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linux.krd\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3013"}],"version-history":[{"count":8,"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/posts\/3013\/revisions"}],"predecessor-version":[{"id":3028,"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/posts\/3013\/revisions\/3028"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux.krd\/index.php?rest_route=\/wp\/v2\/media\/3016"}],"wp:attachment":[{"href":"https:\/\/linux.krd\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux.krd\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3013"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux.krd\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}