{"id":1014,"date":"2020-08-25T15:04:16","date_gmt":"2020-08-25T07:04:16","guid":{"rendered":"https:\/\/summersnow2001.wordpress.com\/?p=1014"},"modified":"2020-08-25T15:04:16","modified_gmt":"2020-08-25T07:04:16","slug":"building-yukidrive-on-germany-permanent-free-vps-euserv","status":"publish","type":"post","link":"https:\/\/summersnow.eu.org\/?p=1014","title":{"rendered":"Building YukiDrive on Germany Permanent Free VPS EUserv"},"content":{"rendered":"\n<p>The previous blog post introduced the application and configuration method on Germany permanent free VPS EUserv. Today, I will explain how to build YukiDrive for this VPS, which is a file browsing program that supports Onedrive &amp; SharePoint.<\/p>\n\n\n\n<p>\u4e0a\u4e00\u7bc7\u535a\u6587\u4ecb\u7ecd\u4e86EUserv\u5fb7\u56fd\u6c38\u4e45\u514d\u8d39VPS\u7684\u7533\u8bf7\u53ca\u914d\u7f6e\u65b9\u6cd5\uff0c\u4eca\u5929\u5c31\u9488\u5bf9\u8be5VPS\u8bf4\u660e\u5982\u4f55\u642d\u5efaYukiDrive\uff0c\u4e00\u9879\u652f\u6301Onedrive &amp; SharePoint\u7684\u6587\u4ef6\u6d4f\u89c8\u7a0b\u5e8f\u3002<\/p>\n\n\n\n<p>Originally, I planned to install WordPress again after configuring the VPS, but I felt that there was already a blog space. There was no need to repeat the construction. After carefully reading the \u201c<a href=\"https:\/\/www.daniao.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Big Bird Blog<\/a>\u201d blog posts on \u201cPagoda Panel\u201d, considering that E5 still needs to be renewed, let\u2019s call the API to build programs. Of course, the most used programs are those related to OneDrive. After referring to the blog post \u201c<a href=\"https:\/\/www.daniao.org\/9118.html\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u5b9d\u5854\u9762\u677f\u5b89\u88c5YukiDrive \u2013 \u652f\u6301Onedrive &amp; SharePoint\u6587\u4ef6\u6d4f\u89c8\u7a0b\u5e8f<\/a>\u201d carefully, I started trying to build it.<\/p>\n\n\n\n<p>\u539f\u672c\u5728\u914d\u7f6e\u597d\u8be5VPS\u540e\u6253\u7b97\u518d\u5b89\u88c5WordPress\uff0c\u4f46\u53c8\u89c9\u5f97\u5df2\u7ecf\u6709\u4e86\u4e00\u4e2a\u535a\u5ba2\u7a7a\u95f4\uff0c\u5c31\u4e0d\u5fc5\u518d\u91cd\u590d\u5efa\u8bbe\u3002\u4ed4\u7ec6\u9605\u8bfb\u201c<a href=\"https:\/\/www.daniao.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u5927\u9e1f\u535a\u5ba2<\/a>\u201d\u5173\u4e8e\u201c\u5b9d\u5854\u9762\u677f\u201d\u7684\u535a\u6587\u540e\uff0c\u8003\u8651\u5230E5\u8fd8\u9700\u8981\u7eed\u8ba2\uff0c\u5c31\u518d\u8c03\u7528API\u642d\u5efa\u7a0b\u5e8f\u5427\uff0c\u5f53\u7136\u4f7f\u7528\u6700\u591a\u7684\u8fd8\u662f\u4e0eOneDrive\u6709\u5173\u7684\u7a0b\u5e8f\u3002\u4ed4\u7ec6\u53c2\u8003\u535a\u6587\u201c<a href=\"https:\/\/www.daniao.org\/9118.html\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u5b9d\u5854\u9762\u677f\u5b89\u88c5YukiDrive \u2013 \u652f\u6301Onedrive &amp; SharePoint\u6587\u4ef6\u6d4f\u89c8\u7a0b\u5e8f<\/a>\u201d\u540e\u5f00\u59cb\u5c1d\u8bd5\u642d\u5efa\u3002<\/p>\n\n\n\n<p>The detailed construction steps will not be repeated here. I will focus on several problems that occurred during the construction process and the solutions that I found out.<\/p>\n\n\n\n<p>\u8be6\u7ec6\u7684\u642d\u5efa\u6b65\u9aa4\u8fd9\u91cc\u4e0d\u518d\u91cd\u590d\uff0c\u91cd\u70b9\u8bf4\u660e\u642d\u5efa\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u7684\u51e0\u4e2a\u95ee\u9898\u53ca\u81ea\u5df1\u6478\u7d22\u51fa\u6765\u7684\u89e3\u51b3\u65b9\u6848\u3002<\/p>\n\n\n\n<p>The first question: In the fourth step \u201cNew Site\u201d, how to set the website to pure static? In fact, setting the \u201cPHP version\u201d to \u201cPure static\u201d is only needed. How to apply for a certificate to open https? In fact, applying for a Let\u2019s Encrypt certificate and enabling \u201cForce HTTPS\u201d are only needed in SSL.<\/p>\n\n\n\n<p>\u7b2c\u4e00\u4e2a\u95ee\u9898\uff1a\u7b2c\u56db\u6b65\u201c\u65b0\u5efa\u7ad9\u70b9\u201d\u65f6\uff0c\u5982\u4f55\u5c06\u7f51\u7ad9\u8bbe\u7f6e\u4e3a\u7eaf\u9759\u6001\uff0c\u5176\u5b9e\u53ea\u9700\u8981\u5c06\u201cPHP\u7248\u672c\u201d\u8bbe\u7f6e\u4e3a\u201c\u7eaf\u9759\u6001\u201d\u5373\u53ef\uff1b\u5982\u4f55\u7533\u8bf7\u8bc1\u4e66\u5f00\u542fhttps\uff0c\u5176\u5b9e\u53ea\u9700\u8981\u5728SSL\u4e2d\u7533\u8bf7Let\u2019s Encrypt\u8bc1\u4e66\u5e76\u5f00\u542f\u201c\u5f3a\u5236HTTPS\u201d\u5373\u53ef\u3002<\/p>\n\n\n\n<p>The second question: After unzipping in the fourth step, pay attention to modify the folder name to \u201cYukiDrive\u201d.<\/p>\n\n\n\n<p>\u7b2c\u4e8c\u4e2a\u95ee\u9898\uff1a\u7b2c\u56db\u6b65\u89e3\u538b\u540e\uff0c\u6ce8\u610f\u4fee\u6539\u6587\u4ef6\u5939\u540d\u79f0\u4e3a\u201cYukiDrive\u201d\u3002<\/p>\n\n\n\n<p>The third question: In the fourth step of \u201cstarting the program\u201d, you need to use Linux cd command to jump to the program directory in the SSH connection state before you can enter .\/YukiDrive to start execution.<\/p>\n\n\n\n<p>\u7b2c\u4e09\u4e2a\u95ee\u9898\uff1a\u7b2c\u56db\u6b65\u201c\u542f\u52a8\u7a0b\u5e8f\u201d\u7684\u8fc7\u7a0b\uff0c\u9700\u8981\u5728SSH\u8fde\u63a5\u72b6\u6001\u4e0b\u4f7f\u7528Linux\u7684cd\u547d\u4ee4\u8df3\u8f6c\u5230\u7a0b\u5e8f\u76ee\u5f55\u540e\u624d\u53ef\u4ee5\u8f93\u5165.\/YukiDrive\u5f00\u59cb\u6267\u884c\u3002<\/p>\n\n\n\n<p>The fourth question: In the fifth step, when \u201c500 error occurs when jumping to the callback address after authentication\u201d, I directly executed the command and it had no effect. It could be in the \u201cFile\u201d manager of the panel under the directory of \/etc\/pki\/tls\/, and found the cert.pem file and copied it to the \/usr\/local\/openssl\/ directory.<\/p>\n\n\n\n<p>\u7b2c\u56db\u4e2a\u95ee\u9898\uff1a\u7b2c\u4e94\u6b65\u201c\u8ba4\u8bc1\u540e\u8df3\u8f6c\u56de\u8c03\u5730\u5740\u51fa\u73b0500\u9519\u8bef\u201d\u65f6\uff0c\u6211\u76f4\u63a5\u6267\u884c\u547d\u4ee4\u5e76\u6ca1\u6709\u6548\u679c\uff0c\u53ef\u4ee5\u5728\u9762\u677f\u7684\u201c\u6587\u4ef6\u201d\u7ba1\u7406\u5668\u4e2d\uff0c\u5728\u76ee\u5f55\/etc\/pki\/tls\/\u4e0b\u627e\u5230cert.pem\u6587\u4ef6\uff0c\u590d\u5236\u5230\/usr\/local\/openssl\/\u76ee\u5f55\u4e0b\u5373\u53ef\u3002<\/p>\n\n\n\n<p>The fifth question: After clicking \u201cAuthentication\u201d in the process of step 5 \u201cBinding Account\u201d, an authentication error of \u201cAADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: xxxx-xxxx\u201d appeared. After careful investigation, it was found that the settings on both sides of the redirect URI were inconsistent. One was \u201cyour domain name\u201d and the other was \u201clocalhost:1273\u201d. My approach was to temporarily modify the redirect URI of the registered application to https:\/\/localhost:1273\/api\/admin\/bind\/new. Then I clicked \u201cAuthentication\u201d and changed the beginning of the address in the browser bar to my domain name.<\/p>\n\n\n\n<p>\u7b2c\u4e94\u4e2a\u95ee\u9898\uff1a\u7b2c\u4e94\u6b65\u201c\u7ed1\u5b9a\u8d26\u6237\u201d\u8fc7\u7a0b\u4e2d\u70b9\u51fb\u201c\u8ba4\u8bc1\u201d\u540e\uff0c\u51fa\u73b0\u201cAADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: xxxx-xxxx\u201d\u7684\u8ba4\u8bc1\u9519\u8bef\uff0c\u7ecf\u8fc7\u4ed4\u7ec6\u8c03\u67e5\u53d1\u73b0\u91cd\u5b9a\u5411URI\u7684\u4e24\u8fb9\u8bbe\u7f6e\u4e0d\u4e00\u81f4\uff0c\u4e00\u8fb9\u662f\u201c\u4f60\u7684\u57df\u540d\u201d\uff0c\u4e00\u8fb9\u662f\u201clocalhost:1273\u201d\uff0c\u6211\u7684\u505a\u6cd5\u662f\u5c06\u6ce8\u518c\u5e94\u7528\u7a0b\u5e8f\u7684\u91cd\u5b9a\u5411URI\u4e34\u65f6\u4fee\u6539\u4e3ahttps:\/\/localhost:1273\/api\/admin\/bind\/new\uff0c\u70b9\u51fb\u201c\u8ba4\u8bc1\u201d\u540e\u5c06\u6d4f\u89c8\u5668\u680f\u7684\u5730\u5740\u5f00\u5934\u4fee\u6539\u4e3a\u4f60\u7684\u57df\u540d\u5373\u53ef\u3002<\/p>\n\n\n\n<p>My Yuki Drive address is <a href=\"https:\/\/www.summersnow2001.tk\/#\/onedrive\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.summersnow2001.tk\/#\/onedrive<\/a>. Welcome to visit it!<\/p>\n\n\n\n<p>\u6211\u7684Yuki Drive\u5730\u5740\u662f\uff1a<a href=\"https:\/\/www.summersnow2001.tk\/#\/onedrive\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.summersnow2001.tk\/#\/onedrive<\/a>\uff0c\u6b22\u8fce\u8bbf\u95ee\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The previous blog post introduced the application and c &#8230;.&nbsp;&nbsp;<a class=\" special\" href=\"https:\/\/summersnow.eu.org\/?p=1014\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[41,90],"class_list":["post-1014","post","type-post","status-publish","format-standard","hentry","category-internet","tag-free-vps","tag-yukidrive"],"views":475,"_links":{"self":[{"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1014"}],"version-history":[{"count":0,"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/1014\/revisions"}],"wp:attachment":[{"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/summersnow.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}