{"id":1735,"date":"2022-12-02T16:14:23","date_gmt":"2022-12-02T08:14:23","guid":{"rendered":"https:\/\/yowlab.idv.tw\/wordpress\/?p=1735"},"modified":"2025-11-02T19:23:29","modified_gmt":"2025-11-02T11:23:29","slug":"centos-7%e4%b8%8b%ef%bc%8coxoffice-online-%e7%9a%84%e6%9b%b4%e6%96%b0v3-v4","status":"publish","type":"post","link":"https:\/\/yowlab.idv.tw\/wordpress\/?p=1735","title":{"rendered":"CentOS 7\u4e0b\uff0cOxOffice Online \u7684\u66f4\u65b0(v3&#8211;>v4)"},"content":{"rendered":"<p>\u66f4\u65b0 Nextclud \u81f3 25.0.1 \u5f8c\uff0c\u767c\u73fe OxOffice Online v3 \u4e5f\u820a\u4e86\uff0c\u65bc\u662f\u4fbf\u66f4\u65b0\u81f3 OxOffice Online v4 \u793e\u7fa4\u7248\u3002<\/p>\n<style type=\"text\/css\">\n    li.present01 {line-height:2em; background-color:#F5E5C9; padding:5px; border-radius:10px; font-weight:bold; margin:5px;}\n    li.present02 {line-height:1.5em; background-color:#ceffbc; padding:5px; border-radius:10px; font-weight:bold; margin:5px;}\n    li.present03 {line-height:1.5em; background-color:#b3dffa; padding:5px; border-radius:10px; font-weight:bold; margin:5px;}\n    ul.none {list-style-type:none;line-height:1.5em; padding:10px;}\n    ol.lower-alpha {list-style-type:lower-alpha;}\n    ol.lower-roman {list-style-type:lower-roman;}\n    ul.note {line-height:1.5em; padding:2px; font-weight:bold; font-size:0.9em;}\n    .highlight01 {font-weight:bold; line-height:1.5em; background-color:#e7f49c; padding:0px 2px; border:1px; border-radius:10px;}\n    .highlight02 {font-weight:bold; line-height:1.5em; background-color:#F2F26B; padding:1px 1px; border:1px;}\n    .highlight03 {font-weight:bold; line-height:1.5em; background-color:#F9BF72; padding:3px 10px; border:2px; border-radius:10px;}\n    .box01 {margin: 5px; border:1px #19130B solid; border-radius:5px; padding:10px;}\n    .box02 {margin: 5px; font-weight:bold; line-height:1.5em; padding:10px; border:1px #19130B solid; border-radius:5px; float: left;}\n    h3 {border:2px #000 solid; border-width:0px 0px 1px 0px; padding-width:0px 0px 3px 0px;}\n    .code {font-family: sans-serif;}\n<\/style>\n<ol>\n<li class=\"present01\">\u66f4\u65b0 oxool \u5957\u4ef6<\/li>\n<p>            cd \/etc\/yum.repos.d<br \/>\n            sudo wget http:\/\/www.oxoffice.com.tw\/rpm\/el\/oxool-community-v4-centos7.repo<br \/>\n            sudo dnf upgrade -y<br \/>\n            sudo dnf groupinstall &#8220;OxOOL Community Group&#8221; -y<\/p>\n<li class=\"present01\">\u8b93\u958b\u6a5f\u6642\u9810\u8a2d\u555f\u52d5 OxOOL \u4e26\u91cd\u65b0\u555f\u52d5<\/li>\n<p>            sudo systemctl enable oxoolwsd<br \/>\n            sudo reboot<\/p>\n<li class=\"present01\">\u4f7f\u7528 netstat \u78ba\u8a8d OxOOL \u6b63\u5e38\u555f\u52d5<\/li>\n<p>            sudo netstat -tlnp<\/p>\n<p>            \u770b\u5230\u6709\u985e\u4f3c\u4ee5\u4e0b\u7684\u8f38\u51fa\u5c31\u4ee3\u8868 OxOOL \u6b63\u5e38\u555f\u52d5<br \/>\n            <code class=\"box02\">tcp6     0    0    :::9980            :::*      LISTEN   644\/oxool      <\/code><\/p>\n<\/ol>\n<p>&nbsp;<\/p>\n<h4>\u63a5\u4e0b\u4f86\uff0c\u9032\u884c oxool \u7cfb\u7d71\u74b0\u5883\u8abf\u6821<\/h4>\n<ol>\n<li class=\"present01\">\u958b\u555f oxoolwsd.xml<\/li>\n<p>            sudo vim  \/etc\/oxool\/oxoolwsd.xml<\/p>\n<li class=\"present01\">\u52a0\u5165\u8207\u7de8\u4fee SSL \u8a2d\u5b9a\uff0c\u4f7f\u7528\u81ea\u5df1\u7db2\u7ad9\u7684\u6191\u8b49\u4fbf\u53ef<\/li>\n<ul>\n<li  class=\"present02\">&lt;cert_file_path desc=&#8221;Path to the cert file&#8221; relative=&#8221;false&#8221;&gt; \/etc\/letsencrypt\/live\/yowlab.idv.tw\/cert.pem &lt;\/cert_file_path&gt;<\/li>\n<li  class=\"present02\">&lt;key_file_path desc=&#8221;Path to the key file&#8221; relative=&#8221;false&#8221;&gt; \/etc\/letsencrypt\/live\/yowlab.idv.tw\/privkey.pem &lt;\/key_file_path&gt;<\/li>\n<li  class=\"present02\">&lt;ca_file_path desc=&#8221;Path to the ca file&#8221; relative=&#8221;false&#8221;&gt; \/etc\/letsencrypt\/live\/yowlab.idv.tw\/fullchain.pem &lt;\/ca_file_path&gt;<\/li>\n<\/ul>\n<p>         &nbsp;<\/p>\n<li class=\"present01\">\u8b93 Nextcloud \u53ef\u4ee5\u5b58\u53d6 OxOOL<\/li>\n<p>            \u627e\u5230 &lt;wopi desc=&#8221;Allow\/deny wopi storage. Mutually exclusive with webdav.&#8221; allow=&#8221;true&#8221;&gt; \u548c &lt;\/wopi&gt;\u5340\u6bb5\uff0c\u4e26\u52a0\u5165\u4ee5\u4e0b\u8a2d\u5b9a\uff1a<\/p>\n<ul>\n<li  class=\"present02\">&lt;host desc=&#8221;Regex pattern of hostname to allow or deny.&#8221; allow=&#8221;true&#8221;&gt;yowlab\\.idv\\.tw&lt;\/host&gt;<\/li>\n<\/ul>\n<p>         &nbsp;<\/p>\n<li class=\"present01\">\u8b93 oxool \u53ef\u900f\u904e SSL \u9023\u7dda<\/li>\n<p>            \u5927\u7d04\u662f\u5728 <span class=\"highlight01\"> \u7b2c 120 \u884c<\/span>\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u627e\u5230\u4ee5\u4e0b\u6709\u95dc SSL \u8a2d\u5b9a\uff0c\u9810\u8a2d\u503c\u662f<span class=\"highlight01\">false<\/span>, \u8981\u66f4\u6539\u6210<span class=\"highlight01\"> true <\/span>\uff0c\u624d\u80fd\u555f\u7528\u3002<\/p>\n<div class=\"box01\">\n              &lt;ssl desc=&#8221;SSL settings&#8221;&gt;<br \/>\n              &lt;enable type=&#8221;bool&#8221; desc=&#8221;Controls whether SSL encryption between browser and oxoolwsd is enabled (do not disable for production deployment). If default is false, must first be compiled with SSL support to enable.&#8221; default=&#8221;true&#8221;&gt; <span class=\"highlight01\">true<\/span> &lt;\/enable&gt;\n          <\/div>\n<p>&nbsp;<\/p>\n<li class=\"present01\">\u91cd\u555f oxoolwsd \u670d\u52d9<\/li>\n<p>             sudo systemctl restart oxoolwsd\n<\/ol>\n<p>\u76ee\u524d nextcloud \u7248\u672c\u662f 25.0.2.3\uff0cNetcloud Office \u7248\u672c\u662f 7.0.2\uff0coxool \u7248\u672c\u70ba oxool-4.0.1-1.community.el7.x86_64 \u3002<\/p>\n<p>\u800c\u73fe\u5728\u5be6\u969b\u72c0\u6cc1\u662f Android \u4e0a Nextcloud APP \u53ef\u4ee5\u7dda\u4e0a\u7de8\u8f2f\u6a94\u6848\uff0c\u81f3\u65bc\u5176\u4ed6\u8f09\u5177\u7121\u6cd5\u7dda\u4e0a\u7de8\u4fee\u6a94\u6848\uff0c\u9ede\u64ca\u8a72\u6a94\u6848\uff0c\u5247\u6703\u51fa\u73fe\u300c\u6a94\u6848\u4e0b\u8f09\u300d\u7684\u53cd\u61c9\u3002<br \/>\n<div style=\"width: 530px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1735-1\" width=\"530\" height=\"1178\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Record_2022-12-11-20-46-32.mp4?_=1\" \/><a href=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Record_2022-12-11-20-46-32.mp4\">https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Record_2022-12-11-20-46-32.mp4<\/a><\/video><\/div><\/p>\n<p>&nbsp;<\/p>\n<hr\/>\n<h3>20221212 <br \/>\u89e3\u6c7a\u300c\u7121\u6cd5\u7dda\u4e0a\u7de8\u4fee\u6a94\u6848\uff0c\u9ede\u64ca\u8a72\u6a94\u6848\uff0c\u51fa\u73fe \u6a94\u6848\u4e0b\u8f09\u300d \u7684\u554f\u984c<\/h3>\n<p>\u611f\u8b1d\u6668\u946b\u79d1\u6280  Kevin Lin \u7684\u5e6b\u5fd9\u8207\u6307\u9ede\uff0c\u89e3\u6c7a\u4e86\u4ee5\u4e0a\u6240\u63d0\u5176\u4ed6\u8f09\u5177\u7121\u6cd5\u7dda\u4e0a\u7de8\u4fee\u6a94\u6848\u7684\u554f\u984c\u3002<\/p>\n<p>\u5148\u8aaa\u6b64\u554f\u984c\u89e3\u6cd5\uff0c\u958b\u555f Netcloud Office (Richdocuments) \u5957\u4ef6\u4e2d <span class=\"highlight01\"> lib\/Service\/CapabilitiesService.php <\/span>\u7a0b\u5f0f\uff0c\u5927\u7d04\u5728 \u7b2c89\u884c \u5de6\u53f3\u7684\u51fd\u5f0f hasDrawSupport() \uff0c\u627e\u5230\u4e26\u66f4\u6539\uff1a<\/p>\n<p><code><\/p>\n<pre>\r\npublic function hasDrawSupport(): bool {\r\n        $productVersion = $this->getCapabilities()['productVersion'] ?? '0.0.0.0';\r\n        <del datetime=\"2022-12-12T01:13:57+00:00\">return version_compare($productVersion, '6.4.7', '>='); <\/del>  \r\n        return true;\r\n}\r\n<\/pre>\n<p><\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_090343-1024x167.png\" alt=\"\" width=\"530\" height=\"86\" class=\"alignnone size-large wp-image-1769\" srcset=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_090343-1024x167.png 1024w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_090343-350x57.png 350w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_090343-768x126.png 768w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_090343.png 1285w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<p>\u554f\u984c\u7c21\u8ff0\uff0c\u9019\u4e00\u7248\u7684 Netcloud Office \u6703\u6aa2\u6e2c\u7248\u865f\uff0c\u800c Oxool \u7248\u672c\u76ee\u524d\u5728 4.0.1\uff0c\u56e0\u6b64\u88ab Netcloud Office \u5224\u5225\u4e0d\u652f\u63f4\u7de8\u8f2f Draw \u6a94\u6848\uff0c\u4e3b\u8981\u662f\u5b83\u8981\u548c\u642d\u914d\u7684 CollaboraOnline \u7528\u7684\uff0c\u6240\u4ee5\u8981\u6539\u70ba\u914d\u5408 OxOOL \uff0c\u56e0\u6b64\u5148\u4e00\u5f8b\u6539\u6210 return true; \u3002<\/p>\n<p>\u66f4\u6539\u4e4b\u5f8c\uff0c\u4fbf\u80fd\u9806\u5229\u7dda\u4e0a\u958b\u555f\u8207\u7de8\u8f2f\u6a94\u6848\u4e86\u3002<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094727-1-1024x600.png\" alt=\"\" width=\"530\" height=\"311\" class=\"alignnone size-large wp-image-1772\" srcset=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094727-1-1024x600.png 1024w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094727-1-350x205.png 350w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094727-1-768x450.png 768w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094727-1.png 1351w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094746-1024x600.png\" alt=\"\" width=\"530\" height=\"311\" class=\"alignnone size-large wp-image-1771\" srcset=\"https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094746-1024x600.png 1024w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094746-350x205.png 350w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094746-768x450.png 768w, https:\/\/yowlab.idv.tw\/wordpress\/wp-content\/uploads\/2022\/12\/Screenshot_20221212_094746.png 1351w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u66f4\u65b0 Nextclud \u81f3 25.0.1 \u5f8c\uff0c\u767c\u73fe OxOffice Online <a class=\"more-link\" href=\"https:\/\/yowlab.idv.tw\/wordpress\/?p=1735\">Continue reading <span class=\"screen-reader-text\">  CentOS 7\u4e0b\uff0cOxOffice Online \u7684\u66f4\u65b0(v3&#8211;>v4)<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[74,76,75],"class_list":["post-1735","post","type-post","status-publish","format-standard","hentry","category-3","tag-nextcloud","tag-oxoffice-online-v4-","tag-oxool"],"_links":{"self":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1735"}],"version-history":[{"count":49,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1735\/revisions"}],"predecessor-version":[{"id":3512,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1735\/revisions\/3512"}],"wp:attachment":[{"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yowlab.idv.tw\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}