{"id":266,"date":"2018-05-17T11:19:24","date_gmt":"2018-05-17T03:19:24","guid":{"rendered":"https:\/\/wp.yaanren.win\/?p=266"},"modified":"2018-05-17T11:19:24","modified_gmt":"2018-05-17T03:19:24","slug":"nanopi-neo2%e4%b8%8aseafile%e6%ba%90%e7%a0%81%e5%ae%89%e8%a3%85%e8%af%a6%e7%bb%86%e6%ad%a5%e9%aa%a4%ef%bc%8c%e5%8f%af%e7%94%a8%e7%89%88","status":"publish","type":"post","link":"https:\/\/wp.625300.xyz\/?p=266","title":{"rendered":"NanoPI NEO2\u4e0aSeafile\u6e90\u7801\u5b89\u88c5\u8be6\u7ec6\u6b65\u9aa4\uff0c\u53ef\u7528\u7248"},"content":{"rendered":"<div class=\"h1 fl\">\n<p class=\"fl\">\u8f6c\u8f7d\u81ea\uff1ahttp:\/\/www.arm9home.net\/read.php?tid-273164.html<\/p>\n<p id=\"subject_tpc\" class=\"fl\">\u8877\u5fc3\u611f\u8c22\u539f\u521b\u4eba\u7684\u5fc3\u8840\uff01<\/p>\n<\/div>\n<div class=\"tpc_content\">\n<div id=\"read_tpc\" class=\"f14\">\n<p>\u3000\u3000\u5b9e\u9645\u5b98\u7f51\u53ca\u8bba\u575b\u7684\u51e0\u79cd\u65b9\u6cd5\u5747\u53ef\u7528\uff0c\u53ea\u662f\u4e0d\u662f\u8fd9\u91cc\u5c11\u4e86\u51e0\u4e2a\u5305\u5c31\u662f\u90a3\u91cc\u5c11\u8fd0\u884c\u4e86\u51e0\u6761\u547d\u4ee4\u3002\u7ecf\u8fc7\u51e0\u5929\u7684\u53cd\u53cd\u590d\u590d\u7f16\u8bd1\u5b89\u88c5\uff0c\u76ee\u524d\u627e\u5230\u6700\u5408\u9002\u7684\u65b9\u6cd5\u3002\u4e8e\u662f\u5199\u4e00\u4e2a\u6559\u7a0b\uff0c\u8be6\u7ec6\u8bb0\u5f55\u914d\u7f6e\u8fc7\u7a0b\uff0c\u4e3b\u8981\u4e3a\u7559\u5b58\uff0c\u65b9\u4fbf\u4ee5\u540e\u67e5\u627e\u3002\u57fa\u4e8enanopi-neo2_ubuntu-core-xenial_4.11.2_20170630.img\u7248\u672c\u4e0a\u5b89\u88c5Seafile\u3002<\/p>\n<p><b>\u4e00\u3001\u00a0\u00a0\u00a0\u00a0\u4fee\u6539\u7528\u6237\u540d\u5bc6\u7801<\/b><br \/>\npasswd\u00a0#\u6309\u63d0\u793a\u8f93\u5165<br \/>\npasswd\u00a0pi #\u6309\u63d0\u793a\u8f93\u5165<\/p>\n<p><b>\u4e8c\u3001\u00a0\u00a0\u00a0\u00a0\u4fee\u6539IP\u5730\u5740<\/b>\uff08\u8be5\u7248\u672c\u6539\u7528\u4e86NetworkManager\u7ba1\u7406\u7f51\u7edc\uff0c\u5bb3\u7684\u6211\u641e\u4e86\u534a\u5929\u624d\u914d\u8d77IP\uff0c\u5148\u914dIP\u514d\u5f97\u540e\u9762\u8bbe\u7f6eseafile\u670d\u52a1\u5668\u5730\u5740\u9ebb\u70e6\uff09<br \/>\nsudo nmcli connection modify &#8216;Wired connection 1&#8217; connection.autoconnect yes ipv4.method manual ipv4.address 192.168.1.5\/24 ipv4.gateway 192.168.1.1 ipv4.dns 114.114.114.114<br \/>\nsudo reboot<\/p>\n<p><b>\u4e09\u3001\u00a0\u00a0\u00a0\u00a0\u7f16\u8bd1seafile\u6e90\u7801\u5e76\u5b89\u88c5<\/b><br \/>\n\u2460\u66f4\u65b0\u7cfb\u7edf<br \/>\napt-get update -y<br \/>\napt-get upgrade -y<\/p>\n<p>\u2461\u5b89\u88c5\u76f8\u5173\u5f00\u53d1\u5305\u7b49\uff08\u7531\u4e8e\u539f\u4f5c\u8005\u7684\u73af\u5883\u4e0d\u4e00\u6837\uff0c\u6709\u4e9b\u6ca1\u6709\u5b89\uff0c\u4f46\u662f\u4e0d\u5b89\u540e\u9762\u5c31\u4f1a\u51fa\u73b0\u4e00\u4e9b\u5217\u95ee\u9898\uff0c\u8fd8\u4e0d\u627e\u627e\u539f\u56e0\uff09<br \/>\napt-get install -y libevent-dev libcurl4-openssl-dev libglib2.0-dev uuid-dev intltool libsqlite3-dev libmysqlclient-dev libarchive-dev libtool libjansson-dev valac libfuse-dev libssl-dev python-pip cmake sqlite3<\/p>\n<p>\u2462\u5b89\u88c5python\u63d2\u4ef6\uff08\u4e5f\u662f\u7531\u4e8e\u73af\u5883\u539f\u56e0\uff0crequest\u5c31\u662f\u7f16\u8bd1\u4e00\u76f4\u6210\u529f\uff0c\u4f46\u4e00\u76f4Internal Server Error\u7684\u4e3b\u8981\u539f\u56e0\uff0c\u8bd5\u51fa\u6765\u4e86\uff09<br \/>\npip install Django==1.8<br \/>\npip install pytz django-statici18n djangorestframework django_compressor django-post_office\u00a0<a id=\"url_1\" href=\"https:\/\/github.com\/haiwen\/django-constance\/archive\/bde7f7c.zip\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/django-constance\/archive\/bde7f7c.zip<\/a>\u00a0gunicorn flup chardet python-dateutil six openpyxl Pillow django-picklefield requests<\/p>\n<p>\u2463\u5efa\u7acb\u76ee\u5f55<br \/>\ncd \/home<br \/>\nmkdir haiwen<br \/>\ncd haiwen<br \/>\nmkdir downloads<br \/>\nmkdir seafile-server<br \/>\nmkdir seafile-server\/src<\/p>\n<p>\u2464\u5fc5\u987b\u6e90\u7801\u7f16\u8bd1libevhtp<br \/>\ncd \/home\/haiwen\/downloads<br \/>\ngit clone\u00a0<a id=\"url_2\" href=\"https:\/\/github.com\/haiwen\/libevhtp.git\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/libevhtp.git<\/a><br \/>\ncd libevhtp\/<br \/>\n<strong>cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF .<\/strong><br \/>\nmake<br \/>\nsudo make install<\/p>\n<p>\u2465\u4e0b\u8f7d\u89e3\u538b\u6e90\u7801<br \/>\ncd \/home\/haiwen\/downloads<br \/>\nwget -O libsearpc.tar.gz\u00a0<a id=\"url_3\" href=\"https:\/\/github.com\/haiwen\/libsearpc\/archive\/v3.1-latest.tar.gz\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/libsearpc\/archive\/v3.1-latest.tar.gz<\/a><br \/>\nwget -O ccnet-server.tar.gz\u00a0<a id=\"url_4\" href=\"https:\/\/github.com\/haiwen\/ccnet-server\/archive\/v6.1.1-server.tar.gz\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/ccnet-server\/archive\/v6.1.1-server.tar.gz<\/a><br \/>\nwget -O seafile-server.tar.gz\u00a0<a id=\"url_5\" href=\"https:\/\/github.com\/haiwen\/seafile-server\/archive\/v6.1.1-server.tar.gz\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/seafile-server\/archive\/v6.1.1-server.tar.gz<\/a><br \/>\nwget -O seahub.tar.gz\u00a0<a id=\"url_6\" href=\"https:\/\/github.com\/haiwen\/seahub\/archive\/v6.1.1-server.tar.gz\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/seahub\/archive\/v6.1.1-server.tar.gz<\/a><\/p>\n<p>cd \/home\/haiwen\/seafile-server\/src<br \/>\ntar xf \/home\/haiwen\/downloads\/libsearpc.tar.gz<br \/>\ntar xf \/home\/haiwen\/downloads\/ccnet-server.tar.gz<br \/>\ntar xf \/home\/haiwen\/downloads\/seafile-server.tar.gz<\/p>\n<p>\u2466\u7f16\u8bd1\u6e90\u7801<br \/>\ncd \/home\/haiwen\/seafile-server\/<br \/>\ntar xf \/home\/haiwen\/downloads\/seahub.tar.gz<br \/>\nmv seahub* seahub<\/p>\n<p>cd \/home\/haiwen\/seafile-server\/src\/libsearpc*<br \/>\n.\/autogen.sh<br \/>\n.\/configure<br \/>\nmake<br \/>\nmake install<\/p>\n<p>export PKG_CONFIG_PATH=\/usr\/local\/lib\/pkgconfig<br \/>\ncd \/home\/haiwen\/seafile-server\/src\/ccnet*<br \/>\n.\/autogen.sh<br \/>\n.\/configure &#8211;without-mysql &#8211;without-postgresql<br \/>\nmake<br \/>\nmake install<br \/>\nldconfig<\/p>\n<p>export C_INCLUDE_PATH=&#8221;$C_INCLUDE_PATH:\/home\/haiwen\/downloads\/libevhtp\/oniguruma:&#8221; #\u9700\u8981oniguruma.h\u6e90\u7801\uff0c\u539f\u4f5c\u8005\u6ca1\u6709\u8bbe\u7f6epath<br \/>\ncd \/home\/haiwen\/seafile-server\/src\/seafile*<br \/>\n.\/autogen.sh<br \/>\n.\/configure<br \/>\nmake<br \/>\nmake install<br \/>\nldconfig<\/p>\n<p>\u2467\u5b89\u88c5seafile for Raspberry Pi\u7248\uff08\u5b9e\u9645\u4e0a\u6309\u7167\u5b98\u7f51\u7684\u6b65\u9aa4\uff0c\u901a\u8fc7seafile-admin start\u5df2\u7ecf\u53ef\u4ee5\u6b63\u5e38\u8fd0\u884c\u4e86\uff0c\u4f46\u4e3a\u4e86\u548c\u5b98\u7f51\u7ba1\u7406\u65b9\u5f0f\u4e00\u76f4\uff0c\u6240\u4ee5\u53c8\u5b89\u88c5\u4e86\u6811\u8393\u6d3e\u7684\u53d1\u884c\u7248\u3002\u4e5f\u641e\u4e0d\u61c2\u5b98\u7f51\u51e0\u79cd\u7f16\u8bd1\u65b9\u5f0f\uff0c\u51fa\u6765\u51e0\u79cd\u914d\u7f6e\u65b9\u6cd5\uff0c\u5b9e\u8d28\u4e0a\u7f16\u8bd1\u51fa\u6765\u7684\u4e1c\u897f\u90fd\u4e00\u6837\uff0c\u4e3a\u5565\u641e\u51fa\u51e0\u79cd\u6587\u4ef6\u5939\u7ed3\u6784\uff0c\u641e\u5f97\u5934\u90fd\u8981\u6655\uff0c\u7279\u522b\u662f\u53ea\u77e5\u9053\u7528\u4e0d\u8d77\u800c\u4e0d\u77e5\u9053\u5230\u5e95\u54ea\u91cc\u51fa\u9519\u7684\u65f6\u5019\u3002PS\uff1a\u76f4\u63a5\u7f16\u8bd1\u7248\uff0cseahub\u7684\u754c\u9762\u5373\u7f51\u9875\u662f\u82f1\u6587\u7248\uff0c\u600e\u4e48\u90fd\u8c03\u4e0d\u51fa\u4e2d\u6587\uff0c\u9700\u8981\u628aseahub\u4e0b\u7684locale\u6587\u4ef6\u5939\u7528\u53d1\u884c\u7248\u7684\u8986\u76d6\u4e00\u4e0b\u5c31\u884c\uff0c\u4e5f\u662f\u607c\u706b\u7684\u4e8b\u60c5\uff0c\u54ce\uff01\uff09<br \/>\ncd \/home\/haiwen<br \/>\nwget\u00a0<a id=\"url_7\" href=\"https:\/\/github.com\/haiwen\/seafile-rpi\/releases\/download\/v6.1.1\/seafile-server_6.1.1_stable_pi.tar.gz\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/haiwen\/seafile-rpi\/releases\/download\/v6.1.1\/seafile-server_6.1.1_stable_pi.tar.gz<\/a><br \/>\ntar zxf seafile-server_6.1.1_stable_pi.tar.gz<br \/>\nmkdir installed<br \/>\nmv seafile-server_* installed<\/p>\n<p>\u2468\u91cd\u8981\u6b65\u9aa4\uff0c\u5c06\u7f16\u8bd1\u7684\u6587\u4ef6\u62f7\u8d1d\u5230Raspberry Pi\u7684\u5b89\u88c5\u76ee\u5f55\u4e0b<br \/>\ncd seafile-server-6.1.1<br \/>\ncp -f \/usr\/local\/bin\/ccnet-init seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/ccnet-server seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seaf-fsck seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seaf-fuse seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seafile-controller seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seaf-migrate seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seaf-server seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seaf-server-init seafile\/bin\/.<br \/>\ncp -f \/usr\/local\/bin\/seafserv-gc seafile\/bin\/.<\/p>\n<p>\u2469\u6309\u7167\u5b89\u88c5\u8bf4\u660e\u5b8c\u6210\u7cfb\u7edf\u914d\u7f6e<br \/>\n.\/setup-seafile.sh\u00a0#\u6309\u63d0\u793a\u8f93\u5165<br \/>\n.\/seafile.sh start\u00a0#\u6309\u63d0\u793a\u8f93\u5165<br \/>\n.\/seahub.sh start\u00a0#\u6309\u63d0\u793a\u8f93\u5165<\/p>\n<p>\u6210\u529f\uff01<\/p>\n<p>\u5982\u679c\u51fa\u73b0\u5982\u4e0b\u63d0\u793a\uff1a<\/p>\n<p>.\/seahub.sh start<\/p>\n<p>LANG is not set in ENV, set to en_US.UTF-8<\/p>\n<p>LC_ALL is not set in ENV, set to en_US.UTF-8<\/p>\n<p>\u53ef\u8fd9\u6837\u89e3\u51b3\uff1a<\/p>\n<ol>\n<li>\n<pre>export LANG=\"en_US.UTF-8\"<\/pre>\n<\/li>\n<li>\n<pre>export LC_ALL=\"en_US.UTF-8\"<\/pre>\n<\/li>\n<\/ol>\n<p><b>\u56db\u3001\u00a0\u00a0\u00a0\u00a0\u8bbe\u7f6e\u5f00\u673a\u542f\u52a8<\/b><br \/>\nvim \/etc\/init.d\/seafile-server<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div class=\"c\"><\/div>\n<div id=\"code1\" class=\"blockquote2\">\n<ol>\n<li>#!\/bin\/bash<\/li>\n<li>### BEGIN INIT INFO<\/li>\n<li># Provides:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0seafile-server<\/li>\n<li># Required-Start:\u00a0\u00a0\u00a0\u00a0$remote_fs $syslog<\/li>\n<li># Required-Stop:\u00a0\u00a0\u00a0\u00a0 $remote_fs $syslog<\/li>\n<li># Default-Start:\u00a0\u00a0\u00a0\u00a0 2 3 4 5<\/li>\n<li># Default-Stop:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 1 6<\/li>\n<li># Short-Description: Seafile server<\/li>\n<li># Description:\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Start Seafile server<\/li>\n<li>### END INIT INFO<\/li>\n<li><\/li>\n<li># \u8bf7\u5c06 user \u6539\u4e3a\u4f60\u7684Linux\u7528\u6237\u540d<\/li>\n<li>user=root<\/li>\n<li><\/li>\n<li># \u8bf7\u5c06 script_dir \u6539\u4e3a\u4f60\u7684 Seafile \u6587\u4ef6\u5b89\u88c5\u8def\u5f84<\/li>\n<li>seafile_dir=\/home\/haiwen<\/li>\n<li>script_path=${seafile_dir}\/seafile-server-latest<\/li>\n<li>seafile_init_log=${seafile_dir}\/logs\/seafile.init.log<\/li>\n<li>seahub_init_log=${seafile_dir}\/logs\/seahub.init.log<\/li>\n<li><\/li>\n<li># \u82e5\u4f7f\u7528 Nginx\/Apache, \u8bf7\u5c06\u5176\u8bbe\u7f6e\u4e3atrue, \u5426\u8005\u4e3a false<\/li>\n<li>fastcgi=flase<\/li>\n<li># fastcgi \u7aef\u53e3, \u9ed8\u8ba4\u4e3a 8000.<\/li>\n<li>fastcgi_port=8000<\/li>\n<li><\/li>\n<li>case &#8220;$1&#8221; in<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0start)<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seafile.sh start &gt;&gt; ${seafile_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if [\u00a0\u00a0$fastcgi = true ];<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0then<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seahub.sh start-fastcgi ${fastcgi_port} &gt;&gt; ${seahub_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0else<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seahub.sh start &gt;&gt; ${seahub_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fi<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0;;<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0restart)<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seafile.sh restart &gt;&gt; ${seafile_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if [\u00a0\u00a0$fastcgi = true ];<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0then<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seahub.sh restart-fastcgi ${fastcgi_port} &gt;&gt; ${seahub_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0else<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seahub.sh restart &gt;&gt; ${seahub_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fi<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0;;<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0stop)<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seafile.sh $1 &gt;&gt; ${seafile_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0sudo -u ${user} ${script_path}\/seahub.sh $1 &gt;&gt; ${seahub_init_log}<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0;;<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0*)<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo &#8220;Usage: \/etc\/init.d\/seafile-server {start|stop|restart}&#8221;<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0exit 1<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0;;<\/li>\n<li>esac<\/li>\n<\/ol>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>sudo chmod +x \/etc\/init.d\/seafile-server<br \/>\nsudo update-rc.d seafile-server defaults<br \/>\n<b>\u4e94\u3001\u4f7f\u7528memcached\u7f13\u5b58\u6280\u672f<\/b><br \/>\napt-get install python-memcache<br \/>\nvi \/home\/haiwen\/conf\/seahub_settings.py<br \/>\n\u6dfb\u52a0<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div class=\"c\"><\/div>\n<div id=\"code2\" class=\"blockquote2\">\n<ol>\n<li>CACHES = {<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0&#8216;default&#8217;: {<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8216;BACKEND&#8217;: &#8216;django.core.cache.backends.memcached.MemcachedCache&#8217;,<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&#8216;LOCATION&#8217;: &#8216;127.0.0.1:11211&#8217;,<\/li>\n<li>\u00a0\u00a0\u00a0\u00a0}<\/li>\n<li>}<\/li>\n<\/ol>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>cd \/home\/haiwen\/seafile-server-latest<br \/>\n.\/seahub.sh restart<\/p>\n<p><b>\u516d\u3001\u00a0\u00a0\u00a0\u00a0\u6302\u8f7d\u786c\u76d8<\/b>\uff08\u6211\u53ea\u6302\u5230\u4e86seafile-data\u4e0a\uff0c\u8fd9\u4e2a\u770b\u81ea\u5df1\uff09<br \/>\n\u67e5\u770b\u786c\u76d8\u5206\u533a<br \/>\nfdisk -l<br \/>\n\u67e5\u770b\u6211\u7684\u786c\u76d8\u662f\/dev\/sda1<br \/>\n\u6302\u8f7d<br \/>\nmount \/dev\/sda1 data<br \/>\n\u6c38\u4e45\u6302\u8f7d<br \/>\nvi \/etc\/fstab<br \/>\n\u6dfb\u52a0<br \/>\n\/dev\/sda1 \/home\/haiwen\/seafile-data ext4 defaults 1 2<br \/>\n\u4fdd\u5b58\u9000\u51fa\u9a8c\u8bc1<br \/>\nmount -a<br \/>\n\u5982\u679c\u6709\u9519\uff0c\u4ee5\u540e\u8d77\u4e0d\u8d77\u6765\uff0cneopi\u6ca1\u6709\u663e\u793a\u5668\uff0c\u53ea\u6709\u91cd\u6765\uff0c\u4e00\u5b9a\u6ce8\u610f<br \/>\n\u91cd\u65b0mount<br \/>\nmount -n -o remount,rw \/<br \/>\n\u91cd\u542f<br \/>\nreboot<\/p>\n<p><b>\u4e03\u3001\u00a0\u00a0\u00a0\u00a0\u8bbe\u7f6e\u786c\u76d8\u4f11\u7720\uff0c\u8282\u80fd<\/b><br \/>\n\u5b89\u88c5hdparm<br \/>\nsudo apt-get install hdparm -y<br \/>\n\u786e\u4fdd\u4f60\u7684\u786c\u76d8\u652f\u6301hdparm,<br \/>\nsudo hdparm -y \/dev\/sda1<br \/>\n\u5982\u679c\u8f93\u51fa\u5982\u4e0b\u7ed3\u679c\uff0c\u5c31\u8868\u660e\u652f\u6301\uff0c<br \/>\n\/dev\/sda1:<br \/>\nissuing standby command<br \/>\n\u5982\u679c\u770b\u5230\u7c7b\u4f3c\u5982\u4e0b\u8f93\u51fa\uff0c\u5c31\u8868\u660e\u4e0d\u652f\u6301\uff0c\u53ef\u4ee5\u8df3\u5230 hd-idle \u6216\u8005 sdparm\uff0c<br \/>\n\/dev\/sda2:<br \/>\nissuing standby command<br \/>\nSG_IO: bad\/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00<\/p>\n<p>\u68c0\u67e5\u786c\u76d8\u662f\u5426\u652f\u6301\u5199\u7f13\u5b58\u529f\u80fd\uff0c<br \/>\nsudo hdparm -I \/dev\/sda1 | grep &#8216;Write cache&#8217;<br \/>\n\u5982\u679c\u770b\u5230 * (\u661f\u53f7)\uff0c\u8868\u793a\u652f\u6301\uff0c<br \/>\n* Write cache<br \/>\n\u5982\u679c\u6ca1\u6709\u770b\u5230 * (\u661f\u53f7)\uff0c\u8868\u793a\u4e0d\u652f\u6301\uff0c<br \/>\nWrite cache<\/p>\n<p>\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\uff0c<br \/>\nsudo vim \/etc\/hdparm.conf<br \/>\n\u6dfb\u52a0<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div class=\"c\"><\/div>\n<div id=\"code3\" class=\"blockquote2\">\n<ol>\n<li>\/dev\/sda1 {<\/li>\n<li>write_cache = on<\/li>\n<li>spindown_time = 120<\/li>\n<li>}<\/li>\n<\/ol>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5982\u679c\u4e0d\u652f\u6301\u5199\u7f13\u5b58\uff0c\u53bb\u6389 write_cache = on\u3002<br \/>\n\u91cd\u542f hdparm \u670d\u52a1\uff0c<br \/>\nsudo service hdparm restart<br \/>\n<b><br \/>\n\u516b\u3001\u00a0\u00a0\u00a0\u00a0\u5b89\u88c5\u9632\u706b\u5899\u5e76\u5f00\u542f\u76f8\u5e94\u7aef\u53e3<\/b><br \/>\napt-get install ufw -y<br \/>\nsudo ufw default deny incoming<br \/>\nsudo ufw default allow outgoing<br \/>\nsudo ufw allow ssh<br \/>\nsudo ufw allow 8000<br \/>\nsudo ufw allow 8082<br \/>\nsudo ufw allow 6060\/tcp<br \/>\nsudo ufw allow 6060\/udp<br \/>\nsudo ufw enable<br \/>\n<b><br \/>\n\u4e5d\u3001\u00a0\u00a0\u00a0\u00a0\u5b89\u88c5\u82b1\u751f\u58f3<\/b><br \/>\n\u9996\u5148\u5b89\u88c5g++<br \/>\nsudo apt-get install g++<br \/>\nwget\u00a0<a id=\"url_8\" href=\"http:\/\/download.oray.com\/peanuthull\/phddns-2.0.2.16556.tar.gz\" target=\"_blank\" rel=\"noopener\">http:\/\/download.oray.com\/peanuthull\/phddns-2.0.2.16556.tar.gz<\/a><br \/>\ntar zxvf phddns-2.0.2.16556.tar.gz<br \/>\ncd phddns-2.0.2.16556\/<br \/>\n.\/configure<br \/>\nmake<br \/>\ncd src<br \/>\nsudo .\/phddns<br \/>\ncp phddns \/usr\/bin\/<br \/>\nvi \/etc\/rc.local<br \/>\n\u6dfb\u52a0<\/p>\n<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div class=\"c\"><\/div>\n<div id=\"code4\" class=\"blockquote2\">\n<ol>\n<li>\/usr\/bin\/phddns -c \/etc\/phlinux.conf -d<\/li>\n<\/ol>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b><span style=\"font-size: large;\">\u2469\u5168\u4e5d\u7f8e\uff0c\u5168\u90e8\u641e\u5b9a\u3002reboot\uff01<\/span><\/b><\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8f6c\u8f7d\u81ea\uff1ahttp:\/\/www.arm9home.net\/read.php?tid-273164.html \u8877\u5fc3&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[],"class_list":["post-266","post","type-post","status-publish","format-standard","hentry","category-30"],"_links":{"self":[{"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=\/wp\/v2\/posts\/266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=266"}],"version-history":[{"count":0,"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=\/wp\/v2\/posts\/266\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.625300.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}