<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://www.seirios.org/seirios/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>ほほほのほ - tweet:2020</title>
        <description></description>
        <link>http://www.seirios.org/seirios/dokuwiki/</link>
        <lastBuildDate>Wed, 15 Apr 2026 16:38:46 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>ほほほのほ</title>
            <link>http://www.seirios.org/seirios/dokuwiki/</link>
        </image>
        <item>
            <title>StationでMattermostに接続する</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tweet:2020:0204_20200204-1</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;stationでmattermostに接続する&quot;&gt;StationでMattermostに接続する&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://qiita.com/HideakiSaito/items/3e1727d9cf8c53f39b6d&quot; class=&quot;urlextern&quot; title=&quot;https://qiita.com/HideakiSaito/items/3e1727d9cf8c53f39b6d&quot;&gt;https://qiita.com/HideakiSaito/items/3e1727d9cf8c53f39b6d&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; ようするに、何か適当なアイコンをサービス追加から選ぶ&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 自分は今回はMediamを選んだ&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; メニュー「View」→「Developer」→「Toggle Page Developer Tools」&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 開発ツールの「Console」で以下のコマンドを打つ&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;location.href=&amp;quot;MattermostのURL&amp;quot;;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 開発ツールをCloseする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mattermostに接続し、認証処理をする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; StationをCloseして起動する&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
これで、再起動してもMattermostを見てくれる（はず）
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Station\u3067Mattermost\u306b\u63a5\u7d9a\u3059\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;station\u3067mattermost\u306b\u63a5\u7d9a\u3059\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-645&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit2&quot; id=&quot;追記&quot;&gt;追記&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://webrandum.net/station-my-custom-apps/&quot; class=&quot;urlextern&quot; title=&quot;https://webrandum.net/station-my-custom-apps/&quot;&gt;https://webrandum.net/station-my-custom-apps/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
この記事にあるように、Private Appとして登録する手があることが判明…
&lt;/p&gt;

&lt;p&gt;
こっちのほうが取り扱いが楽だね。Iconも設定できるし。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u8ffd\u8a18&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u8ffd\u8a18&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;646-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 04 Feb 2020 07:18:21 +0000</pubDate>
        </item>
        <item>
            <title>FreeBSDでMultiFIBとNATでpolicy route</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tweet:2020:0327_01</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;freebsdでmultifibとnatでpolicy_route&quot;&gt;FreeBSDでMultiFIBとNATでpolicy route&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
とあるところでgre tunnelを使ってsource addressベースの経路制御をしなければならなくなった。
&lt;/p&gt;

&lt;p&gt;
pfでroute-toを使う手もあるにはあったが、制御しくった時にかなり痛い思いをすることがわかっているので、物は試して。
&lt;/p&gt;

&lt;p&gt;
これに関しては、最終的に１本の記事にするつもりなので、ここには簡単なメモ書きだけ。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FreeBSD\u3067MultiFIB\u3068NAT\u3067policy route&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freebsd\u3067multifib\u3068nat\u3067policy_route&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-470&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;構成&quot;&gt;構成&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;                     +---ProxyB---+
Dest ---(Internet)---+------------+---(ISP)---Router---Source
                     +---ProxyC---+&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Router - ProxyB間はGRE Tunnel(gre0)で接続&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Router - ProxyC間はGRE Tunnel(gre1)で接続&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sourceには、IP Addressが３つ付いている&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Src(A)は直接Destに接続する際に利用する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Src(B)はProxyB経由でDestに接続する際に利用する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Routerを出ていく時に、source addressをgre0のlocal側のaddressにNATする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Src(C)はProxyC経由でDestに接続する際に利用する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Routerを出ていく時に、source addressをgre1のlocal側のaddressにNATする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Src(A),Src(B),Src(C)は、同一Segmentに属しているとする&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; そうしないと、Routerでstatic routeを切らなければならない&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u69cb\u6210&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u69cb\u6210&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;471-1334&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;sourceの設定&quot;&gt;Sourceの設定&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; rc.confの設定&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;ifconfig_xn0=&amp;quot;inet Src(A)/24&amp;quot;
ifconfig_xn0_alias0=&amp;quot;inet Src(B)/24&amp;quot;
ifconfig_xn0_alias1=&amp;quot;inet Src(C)/24&amp;quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Source\u306e\u8a2d\u5b9a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;source\u306e\u8a2d\u5b9a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1335-1509&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;roouterの設定&quot;&gt;Roouterの設定&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; loader.confの設定&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;if_gre_load=&amp;quot;YES&amp;quot;
net.fibs=4&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; rc.confの設定&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;cloned_interfaces=&amp;quot;gre0 gre1&amp;quot;
ifconfig_xn0=&amp;quot;inet Addr(Global)/masklen&amp;quot;
ifconfig_xn1=&amp;quot;inet Src(Router)/masklen&amp;quot;
ifconfig_gre0=&amp;quot;inet tun(Router) tun(ProxyB) netmask 255.255.255.252 tunnel Addr(Global) Addr(ProxyB) mtu 1436 fib 1&amp;quot;
ifconfig_gre1=&amp;quot;inet tun(Router) tun(ProxyC) netmask 255.255.255.252 tunnel Addr(Global) Addr(ProxyC) mtu 1436 fib 1&amp;quot;

route_0=&amp;quot;-fib 0 default Addr(ISP)&amp;quot;
route_1=&amp;quot;-fib 1 default tun(ProxyB)&amp;quot;
route_2=&amp;quot;-fib 2 default tun(ProxyC)&amp;quot;
static_routes=&amp;quot;0 1 2&amp;quot;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; pf.confの設定&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 全部書くと細かすぎるので、必要部分のみ記載する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;...(snip)...
nat pass on xn0  from Src(A) to any -&amp;gt; (xn0)
nat pass on gre0 from Src(B) to any -&amp;gt; tun(ProxyB)
nat pass on gre0 from Src(C) to any -&amp;gt; tun(ProxyC)
...(snip)...
pass in from any    to any rtable 0
pass in from Src(B) to any rtable 1
pass in from Src(C) to any rtable 2&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Roouter\u306e\u8a2d\u5b9a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;roouter\u306e\u8a2d\u5b9a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1510-2532&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;test&quot;&gt;Test&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Sourceにloginして、
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ping -S Src(A) Address(Dest)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; traceroute -n -w 2 -s Src(A) Address(Dest)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ping -S Src(B) Address(Dest)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; traceroute -n -w 2 -s Src(B) Address(Dest)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ping -S Src(C) Address(Dest)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; traceroute -n -w 2 -s Src© Address(Dest)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
で確認できるはず。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Test&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;test&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2533-2844&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;注意点&quot;&gt;注意点&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;pass in from any    to any rtable 0&lt;/code&gt; を記載する場所に気をつけること&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; pfは、何も設定しなければ、defaultで rtable 0 を利用するので、なくても良い。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 複雑な設定をする場合、この部分だけは、Genericな部分から記載し、Specificなものほど後ろに書くこと&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; GRE tunnelを張る際に、ifconfigで必ずFIBを指定すること&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 指定しない場合、FIB 0のみにgreのlocal側Addressが載る。つまり、他のFIBを使わなくなる。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; ここでどハマりぶっこいて、相当悩んだ。&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u6ce8\u610f\u70b9&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u6ce8\u610f\u70b9&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2845-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 27 Mar 2020 10:24:10 +0000</pubDate>
        </item>
        <item>
            <title>FreeBSDでWireGuard</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tweet:2020:0611_01</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;freebsdでwireguard&quot;&gt;FreeBSDでWireGuard&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
OpenVPNも悪くないのだが、やっぱり「証明書の更新」がなかなかに厳しい。というわけで、WireGuardを試してみる。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FreeBSD\u3067WireGuard&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freebsd\u3067wireguard&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-188&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;wireguardとopenvpnの比較&quot;&gt;WireGuardとOpenVPNの比較&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
TBD
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;WireGuard\u3068OpenVPN\u306e\u6bd4\u8f03&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wireguard\u3068openvpn\u306e\u6bd4\u8f03&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;189-235&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;network構造_site-to-site_vpn&quot;&gt;Network構造(Site-to-Site VPN)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;           |        (192.0.2.1)   (198.51.100.1)        |
 [NodeA]---+---[VPNR-A]------(Internet)------[VPNR-B]---+---[NodeB]
     (10)  |  (1)     \(1)                (2)/     (2)  |   (20)
10.1.1.0/24|           +--------------------+           |10.2.2.0/24
                          10.255.255.0/24

Site A &amp;lt;-------------&amp;gt;|&amp;lt;-------Internet------&amp;gt;|&amp;lt;----------&amp;gt; Site B&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Site A と Site B をVPNで結ぶ&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Site AのNetworkは10.1.1.0/24、Site BのNetworkは10.2.2.0/24&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPNR-AのGlobal Addressは 192.0.2.1、VPNR-BのGlobal Addressは 198.51.100.1&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Tunnel Networkは、10.255.255.0/24&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPNR-AのTunnel IP Addressは10.255.255.1、VPNR-BのTunnel IP Addressは10.255.255.2&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WireGuardの待ち受けポートを&lt;strong&gt;UDP/65534&lt;/strong&gt;とする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
とする。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Network\u69cb\u9020(Site-to-Site VPN)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;network\u69cb\u9020_site-to-site_vpn&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;236-1063&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;wireguardのinstall&quot;&gt;WireGuardのInstall&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
FreeBSD以外へのInstallは、いくらでも記事があるので、ここでは割愛。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; FreeBSDをRouterにする&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; (CMD) sysctl -w net.inet.ip.forwarding=1&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; (rc.conf) gateway_enable=“YES”&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Packet filterを利用している場合、適当にUDP/65534を開ける&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wireguardをinstallする&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;pkg install wireguard&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 起動時にWireguardが動作するようにrc.confに以下を追記&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;wireguard_enable=“YES”&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;wireguard_interfaces=“wg0”&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
これで、Install完了
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;WireGuard\u306eInstall&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wireguard\u306einstall&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1064-1617&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;wireguardのconfiguration&quot;&gt;WireGuardのconfiguration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 鍵を作成&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPNR-A&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# cd /usr/local/etc/wireguard
# wg genkey | tee A.private.key | wg pubkey &amp;gt; A.public.key
# cat A.private.key
1StlE/SHru2lOOoU+SLaA+SPLAYC+SCLOGUC0A+WaIMM=
# cat A.public.key
wla6Straum0tHReu+woMm/4gruyscrOMaa+thrai/kro=&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPNR-B&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# cd /usr/local/etc/wireguard
# wg genkey | tee B.private.key | wg pubkey &amp;gt; B.public.key
# cat B.private.key
Xy8vOTORR2TrAAS3STRAY+TYVrAi+ROOTruId2tHlIPA=
# cat B.public.key
7CYhEISH9She0WRUo0WrA+1tRAY/BLu8XoT/UL+SHLAY=&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 設定ファイルを作成&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPNR-A:/usr/local/etc/wireguard/wg0.conf&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# Wireguard configuration.
[Interface]
Privatekey = 1StlE/SHru2lOOoU+SLaA+SPLAYC+SCLOGUC0A+WaIMM=
Address = 10.255.255.1/24
ListenPort = 65534

[Peer]
PublicKey = 7CYhEISH9She0WRUo0WrA+1tRAY/BLu8XoT/UL+SHLAY=
AllowedIPs = 10.255,255,2/32, 10.2.2.0/24
Endpoint = 192.0.2.1:65534
&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; VPNR-B:/usr/local/etc/wireguard/wg0.conf&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# Wireguard configuration.
[Interface]
Privatekey = Xy8vOTORR2TrAAS3STRAY+TYVrAi+ROOTruId2tHlIPA=
Address = 10.255.255.2/24
ListenPort = 65534

[Peer]
PublicKey = wla6Straum0tHReu+woMm/4gruyscrOMaa+thrai/kro=
AllowedIPs = 10.255.255.1/32, 10.1.1.0/24
Endpoint = 198.51.100.1:65534&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;WireGuard\u306econfiguration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wireguard\u306econfiguration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1618-2918&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;wireguardの起動他&quot;&gt;Wireguardの起動他&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wireguardの起動&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;service wireguard start&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wireguardの状態確認&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;wg show&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Interfaceの状態、peerの状態などが出力される&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; wireguardのversion確認&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;wireguard-go help&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 他に、wg-quickコマンドもあるが、今回は割愛&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wireguardの停止&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;service wireguard stop&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wireguard\u306e\u8d77\u52d5\u4ed6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wireguard\u306e\u8d77\u52d5\u4ed6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2919-3303&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;注意&quot;&gt;注意&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; [Node A]のdefault routeがVPNR-Aを向いている かつ [Node B]のdefault routeがVPNR-Bを向いている(もしくはstatic routeが切られている）場合に、[Node A]と[Node B]がVPNトンネル経由で通信できる。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WireGuardは、L3 Tunnelを掘るためのApplicationなので、OpenVPNやSoftEtherのようなL2 VPNを掘ることはできない。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; WireGuardは通信にUDPを利用するので、PacketFilter Firewallの設定が難しいことがある。&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u6ce8\u610f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u6ce8\u610f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3304-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 11 Jun 2020 10:29:11 +0000</pubDate>
        </item>
        <item>
            <title>FreeBSD 12.1-RELEASE and NextCloud</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tweet:2020:1215_01</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;freebsd_121-release_and_nextcloud&quot;&gt;FreeBSD 12.1-RELEASE and NextCloud&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
NextCloudを利用してファイル共有サービスを建てる。
&lt;/p&gt;

&lt;p&gt;
例によってFreeBSDで実装するが、今回は DB に PostgreSQL 13を利用することにする。
&lt;/p&gt;

&lt;p&gt;
Installに関しては &lt;a href=&quot;https://vermaden.wordpress.com/2020/01/04/nextcloud-17-on-freebsd-12-1/&quot; class=&quot;urlextern&quot; title=&quot;https://vermaden.wordpress.com/2020/01/04/nextcloud-17-on-freebsd-12-1/&quot;&gt;https://vermaden.wordpress.com/2020/01/04/nextcloud-17-on-freebsd-12-1/&lt;/a&gt; を参考にしたが、ZFS関連などでいろいろ「本質的には不要」なファイルもあるので、その辺を省く。
&lt;/p&gt;

&lt;p&gt;
NextCloudは更新が早いので、最新版に追従することを考えて、NextCloud自身はportsを利用しないでInstallすることにする。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FreeBSD 12.1-RELEASE and NextCloud&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freebsd_121-release_and_nextcloud&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-623&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;freebsdの設定&quot;&gt;FreeBSDの設定&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
以下、FreeBSDの設定を行う。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;FreeBSD\u306e\u8a2d\u5b9a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;freebsd\u306e\u8a2d\u5b9a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;624-692&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;binary_packageのinstall&quot;&gt;Binary PackageのInstall&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 標準状態で ZFS を root にして Install する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 必要最小限のPackageを投入&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; OLD: &lt;del&gt;&amp;lt;code&amp;gt;
# pkg install sudo postgresql12-client postgresql12-server nginx-devel memcached php74 php74-pecl-memcached php74-pdo_pgsql php74-pgsql
&amp;lt;/code&amp;gt;&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Current: &lt;pre class=&quot;code&quot;&gt;# pkg install sudo postgresql13-client postgresql13-server nginx-devel memcached php80 php80-pecl-memcached php80-pdo_pgsql php80-pgsql&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;本当はpostgresql13を利用したかったが、pkgでpdo-pgsqlを利用する関係で、postgresql12を利用することにした。将来更新で面倒なことになる可能性があるので悩ましいが、とりあえず現時点ではどうなるかの確認を兼ねてPGSQL12で試してみる。&lt;/del&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;plugin_wrap&quot;&gt;
&lt;p&gt;
FreeBSDのportsやNetBSDのpkgsrc、RHE系のyum等、Binary Package管理システムはこういうときに融通が効きにくいという辛みがある。
しかし、こうしないと派生のBinary Packageが大量に発生するという問題もあるので痛し痒しというところか…
&lt;/p&gt;

&lt;p&gt;
まぁ、そのために、portsでCompileする部分が残っているというのはあるが…
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; NextCloud用の追加Packageを投入&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; OLD: &lt;del&gt;&amp;lt;code&amp;gt;
# pkg install php74-extensions php74-zip php74-mbstring php74-gd php74-curl php74-openssl php74-fileinfo php74-bz2 php74-intl php74-bcmath php74-ftp php74-gmp php74-exif php74-pecl-memcache php74-pecl-memcached php74-pecl-imagick-im7 php74-pecl-APCu
&amp;lt;/code&amp;gt;&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# pkg install php80-extensions php80-zip php80-mbstring php80-gd php80-curl php80-fileinfo php80-bz2 php80-intl php80-bcmath php80-ftp php80-gmp php80-exif php80-pecl-memcache php80-pecl-memcached php80-pecl-imagick-im7 php80-pecl-APCu&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 次に、PGSQLおよび格納ファイル用のzpoolを作成する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# zpool create -m none zdata /dev/ada1
# zfs create zdata/pgsql
# zfs set mountpoint=/var/db/postgres zdata/pgsql
# zfs set recordsize=8k zdata/pgsql
# chown -R postgres:postgres /var/db/postgres
# zfs create zdata/www
# zfs set mountpoint=/home/www zdata/www
# chown www:www /home/www
# chown -R www:www /home/www&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Binary Package\u306eInstall&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;binary_package\u306einstall&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;693-2920&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;postgresqlに関する設定&quot;&gt;PostgreSQLに関する設定&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; /etc/login.confでpostgresユーザーの各種LOCALE設定を投入する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# cat /etc/login.conf
postgres:\
        :lang=en_US.UTF-8:\
        :setenv=LC_COLLATE=C:\
        :tc=default:

# cap_mkdb /etc/login.conf&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; PostgreSQLに関する起動時設定を行う。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 好みもあるが、/etc/rc.conf.localに記述する。/etc/rc.confに記述しても良い。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;postgresql_enable=YES
postgresql_class=postgres
postgresql_data=/var/db/postgres/data13&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; PostgreSQLの初期化を行う&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# /usr/local/etc/rc.d/postgresql initdb&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; PostgrSQLを起動&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# service postgresql start&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; NextCloud用設定を投入&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# psql -h localhost -U postgres
psql (12.5)
Type &amp;quot;help&amp;quot; for help.

postgres=# CREATE USER ncadm WITH PASSWORD &amp;#039;NC_DB_PASSWORD&amp;#039;;
CREATE ROLE
postgres=# CREATE DATABASE nc TEMPLATE template0 ENCODING &amp;#039;UNICODE&amp;#039;;
CREATE DATABASE
postgres=# ALTER DATABASE nc OWNER TO ncadm;
ALTER DATABASE
postgres=# \q&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;PostgreSQLのCleanup(Vacuum)とIndex作成を自動で行うようにする&lt;/del&gt;比較的街の方が大きいので削除&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Vacuumは自動で実施される。Vacuumのタイミングを制御したい場合以外は入れる必要はない&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; reindexは壊れた時にのみ行えば良いものなので、cronで定期実行するのは害が大きい模様（壊れるわけではないが、無駄に負荷をかける）&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; reindexによってメモリキャッシュが消えてしまい、indexを再度読み込む負荷がかかる可能性が高い&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# mkdir -p /var/db/postgres/bin
# chown postgres /var/db/postgres/bin
# vi /var/db/postgres/bin/vacuum.sh

#! /bin/sh

/usr/local/bin/vacuumdb -az 1&amp;gt; /dev/null 2&amp;gt; /dev/null
/usr/local/bin/reindexdb -a 1&amp;gt; /dev/null 2&amp;gt; /dev/null
/usr/local/bin/reindexdb -s 1&amp;gt; /dev/null 2&amp;gt; /dev/null

# chown postgres /var/db/postgres/bin/vacuum.sh
# chmod +x /var/db/postgres/bin/vacuum.sh

# su - postgres -c &amp;#039;crontab -e&amp;#039;
0 0 * * * /var/db/postgres/bin/vacuum.sh

# su - postgres -c &amp;#039;/var/db/postgres/bin/vacuum.sh&amp;#039;&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PostgreSQL\u306b\u95a2\u3059\u308b\u8a2d\u5b9a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;postgresql\u306b\u95a2\u3059\u308b\u8a2d\u5b9a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2921-5091&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;nginx&quot;&gt;NGINX&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; NGINXのlogファイルを格納するDirectoryのOwner/Groupをwww:wwwに変更&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# chown www:www /var/log/nginx&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; /usr/local/etc/nginx/nginx.confを作成&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=10&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_conf&quot;&gt;nginx.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;user www;
worker_processes 4;
worker_rlimit_nofile 51200;
error_log /var/log/nginx/error.log;

events {
  worker_connections 1024;
}

http {
  include mime.types;
  default_type application/octet-stream;
  log_format main &amp;#039;$remote_addr - $remote_user [$time_local] &amp;quot;$request&amp;quot; &amp;#039;;
  access_log /var/log/nginx/access.log main;
  sendfile on;
  keepalive_timeout 65;

  upstream php-handler {
    server 127.0.0.1:9000;
  }

  server {
    # ENFORCE HTTPS
    listen 80;
    server_name nextcloud.domain.com;
    return 301 https://$server_name$request_uri;
  }

  server {
    listen 443 ssl http2;
    server_name nextcloud.domain.com;
    ssl_certificate /usr/local/etc/nginx/ssl/ssl-bundle.crt;
    ssl_certificate_key /usr/local/etc/nginx/ssl/server.key;

    # HEADERS SECURITY RELATED
    add_header Strict-Transport-Security &amp;quot;max-age=15768000; includeSubDomains; preload;&amp;quot;;
    add_header Referrer-Policy &amp;quot;no-referrer&amp;quot;;

    # HEADERS
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection &amp;quot;1; mode=block&amp;quot;;
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    # PATH TO THE ROOT OF YOUR INSTALLATION
    root /usr/local/www/nextcloud/;

    location = /robots.txt {
      allow all;
      log_not_found off;
      access_log off;
    }

    location = /.well-known/carddav {
      return 301 $scheme://$host/remote.php/dav;
    }

    location = /.well-known/caldav {
      return 301 $scheme://$host/remote.php/dav;
    }

    # BUFFERS TIMEOUTS UPLOAD SIZES
    client_max_body_size 16400M;
    client_body_buffer_size 1048576k;
    send_timeout 3000;

    # ENABLE GZIP BUT DO NOT REMOVE ETag HEADERS
    gzip on;
    gzip_vary on;
    gzip_comp_level 4;
    gzip_min_length 256;
    gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
    gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

    location / {
      rewrite ^ /index.php$request_uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
      deny all;
    }

    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
      deny all;
    }

    location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) {
      fastcgi_split_path_info ^(.+\.php)(/.*)$;
      include fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param PATH_INFO $fastcgi_path_info;
      fastcgi_param HTTPS on;
      fastcgi_param modHeadersAvailable true;
      fastcgi_param front_controller_active true;
      fastcgi_pass php-handler;
      fastcgi_intercept_errors on;
      fastcgi_request_buffering off;
      fastcgi_keep_conn off;
      fastcgi_buffers 16 256K;
      fastcgi_buffer_size 256k;
      fastcgi_busy_buffers_size 256k;
      fastcgi_temp_file_write_size 256k;
      fastcgi_send_timeout 3000s;
      fastcgi_read_timeout 3000s;
      fastcgi_connect_timeout 3000s;
    }

    location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) {
      try_files $uri/ =404;
      index index.php;
    }

    # ADDING THE CACHE CONTROL HEADER FOR JS AND CSS FILES
    # MAKE SURE IT IS BELOW PHP BLOCK
    location ~ \.(?:css|js|woff2?|svg|gif)$ {
      try_files $uri /index.php$uri$is_args$args;
      add_header Cache-Control &amp;quot;public, max-age=15778463&amp;quot;;
      # HEADERS SECURITY RELATED
      # IT IS INTENDED TO HAVE THOSE DUPLICATED TO ONES ABOVE
      add_header Strict-Transport-Security &amp;quot;max-age=15768000; includeSubDomains; preload;&amp;quot;;
      # HEADERS
      add_header X-Content-Type-Options nosniff;
      add_header X-XSS-Protection &amp;quot;1; mode=block&amp;quot;;
      add_header X-Robots-Tag none;
      add_header X-Download-Options noopen;
      add_header X-Permitted-Cross-Domain-Policies none;
      # OPTIONAL: DONT LOG ACCESS TO ASSETS
      access_log off;
    }

    location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
      try_files $uri /index.php$uri$is_args$args;
      # OPTIONAL: DONT LOG ACCESS TO OTHER ASSETS
      access_log off;
    }
  }
}&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;NGINX&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nginx&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5092-9830&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;サーバ証明書の入手&quot;&gt;サーバ証明書の入手&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 今時はいろいろな方法があるが、今回はLet&amp;#039;s Encryptで取得した。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 詳細は割愛&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u30b5\u30fc\u30d0\u8a3c\u660e\u66f8\u306e\u5165\u624b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u30b5\u30fc\u30d0\u8a3c\u660e\u66f8\u306e\u5165\u624b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;9831-9979&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;php_configuration&quot;&gt;PHP configuration&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; php.ini&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=11&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_diff&quot;&gt;php.ini.diff&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code diff&quot;&gt;# diff -c php.ini-production php.ini
&lt;span class=&quot;re9&quot;&gt;*** php.ini-production  Tue Dec  8 10:31:04 2020&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- php.ini     Wed Dec 16 00:49:45 2020&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 212,218 ****&lt;/span&gt;
  ; Development Value: &lt;span class=&quot;nu0&quot;&gt;4096&lt;/span&gt;
  ; Production Value: &lt;span class=&quot;nu0&quot;&gt;4096&lt;/span&gt;
  ; http://php.net/output-buffering
&lt;span class=&quot;re5&quot;&gt;! output_buffering = 4096&lt;/span&gt;
&amp;nbsp;
  ; You can redirect all of the output of your scripts to a function.  For
  ; example, if you set output_handler to &amp;quot;mb_output_handler&amp;quot;, character
&lt;span class=&quot;re3&quot;&gt;--- 212,219 ----&lt;/span&gt;
  ; Development Value: &lt;span class=&quot;nu0&quot;&gt;4096&lt;/span&gt;
  ; Production Value: &lt;span class=&quot;nu0&quot;&gt;4096&lt;/span&gt;
  ; http://php.net/output-buffering
&lt;span class=&quot;re5&quot;&gt;! ;output_buffering = 4096&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! output_buffering = Off&lt;/span&gt;
&amp;nbsp;
  ; You can redirect all of the output of your scripts to a function.  For
  ; example, if you set output_handler to &amp;quot;mb_output_handler&amp;quot;, character
***************
&lt;span class=&quot;re9&quot;&gt;*** 297,303 ****&lt;/span&gt;
  ; The value is also used for json_encode when encoding double values.
  ; If -&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; is used, then dtoa mode &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; is used which automatically select the best
  ; precision.
&lt;span class=&quot;re5&quot;&gt;! serialize_precision = -1&lt;/span&gt;
&amp;nbsp;
  ; open_basedir, if set, limits all file operations to the defined directory
  ; and below.  This directive makes most sense if used in a per-directory
&lt;span class=&quot;re3&quot;&gt;--- 298,305 ----&lt;/span&gt;
  ; The value is also used for json_encode when encoding double values.
  ; If -&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; is used, then dtoa mode &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; is used which automatically select the best
  ; precision.
&lt;span class=&quot;re5&quot;&gt;! ;serialize_precision = -1&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! serialize_precision = 17&lt;/span&gt;
&amp;nbsp;
  ; open_basedir, if set, limits all file operations to the defined directory
  ; and below.  This directive makes most sense if used in a per-directory
***************
&lt;span class=&quot;re9&quot;&gt;*** 385,391 ****&lt;/span&gt;
  ; Maximum execution time of each script, in seconds
  ; http://php.net/max-execution-time
  ; Note: This directive is hardcoded to &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; for the CLI SAPI
&lt;span class=&quot;re5&quot;&gt;! max_execution_time = 30&lt;/span&gt;
&amp;nbsp;
  ; Maximum amount of time each script may spend parsing request data. It&#039;s a good
  ; idea to limit this time on productions servers in order to eliminate unexpectedly
&lt;span class=&quot;re3&quot;&gt;--- 387,394 ----&lt;/span&gt;
  ; Maximum execution time of each script, in seconds
  ; http://php.net/max-execution-time
  ; Note: This directive is hardcoded to &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; for the CLI SAPI
&lt;span class=&quot;re5&quot;&gt;! ;max_execution_time = 60&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! max_execution_time = 3600&lt;/span&gt;
&amp;nbsp;
  ; Maximum amount of time each script may spend parsing request data. It&#039;s a good
  ; idea to limit this time on productions servers in order to eliminate unexpectedly
***************
&lt;span class=&quot;re9&quot;&gt;*** 395,401 ****&lt;/span&gt;
  ; Development Value: &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; seconds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; Production Value: &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; seconds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; http://php.net/max-input-time
&lt;span class=&quot;re5&quot;&gt;! max_input_time = 60&lt;/span&gt;
&amp;nbsp;
  ; Maximum input variable nesting level
  ; http://php.net/max-input-nesting-level
&lt;span class=&quot;re3&quot;&gt;--- 398,405 ----&lt;/span&gt;
  ; Development Value: &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; seconds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; Production Value: &lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;60&lt;/span&gt; seconds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; http://php.net/max-input-time
&lt;span class=&quot;re5&quot;&gt;! ;max_input_time = 60&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! max_input_time = 30000&lt;/span&gt;
&amp;nbsp;
  ; Maximum input variable nesting level
  ; http://php.net/max-input-nesting-level
***************
&lt;span class=&quot;re9&quot;&gt;*** 406,412 ****&lt;/span&gt;
&amp;nbsp;
  ; Maximum amount of memory a script may consume
  ; http://php.net/memory-limit
&lt;span class=&quot;re5&quot;&gt;! memory_limit = 128M&lt;/span&gt;
&amp;nbsp;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ; Error handling and logging ;
&lt;span class=&quot;re3&quot;&gt;--- 410,417 ----&lt;/span&gt;
&amp;nbsp;
  ; Maximum amount of memory a script may consume
  ; http://php.net/memory-limit
&lt;span class=&quot;re5&quot;&gt;! ;memory_limit = 128M&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! memory_limit = 1024M&lt;/span&gt;
&amp;nbsp;
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ; Error handling and logging ;
***************
&lt;span class=&quot;re9&quot;&gt;*** 536,541 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 541,547 ----&lt;/span&gt;
  ; Production Value: Off
  ; http://php.net/track-errors
  ;track_errors = Off
&lt;span class=&quot;re8&quot;&gt;+ track_errors = Off&lt;/span&gt;
&amp;nbsp;
  ; Turn off normal error reporting and emit XML-RPC error XML
  ; http://php.net/xmlrpc-errors
***************
&lt;span class=&quot;re9&quot;&gt;*** 550,555 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 556,562 ----&lt;/span&gt;
  ; Note: This directive is hardcoded to Off for the CLI SAPI
  ; http://php.net/html-errors
  ;html_errors = On
&lt;span class=&quot;re8&quot;&gt;+ html_errors = On&lt;/span&gt;
&amp;nbsp;
  ; If html_errors is set to On *and* docref_root is not empty, then PHP
  ; produces clickable error messages that direct to a page describing the error
***************
&lt;span class=&quot;re9&quot;&gt;*** 584,589 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 591,597 ----&lt;/span&gt;
  ; http://php.net/error-log
  ; Example:
  ;error_log = php_errors.log
&lt;span class=&quot;re8&quot;&gt;+ error_log = /var/log/php.log&lt;/span&gt;
  ; Log errors to syslog &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Event Log on Windows&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.
  ;error_log = syslog
&amp;nbsp;
***************
&lt;span class=&quot;re9&quot;&gt;*** 691,697 ****&lt;/span&gt;
  ; Its value may be &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; to disable the limit. It is ignored if POST data reading
  ; is disabled through enable_post_data_reading.
  ; http://php.net/post-max-size
&lt;span class=&quot;re5&quot;&gt;! post_max_size = 8M&lt;/span&gt;
&amp;nbsp;
  ; Automatically add files before PHP document.
  ; http://php.net/auto-prepend-file
&lt;span class=&quot;re3&quot;&gt;--- 699,706 ----&lt;/span&gt;
  ; Its value may be &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt; to disable the limit. It is ignored if POST data reading
  ; is disabled through enable_post_data_reading.
  ; http://php.net/post-max-size
&lt;span class=&quot;re5&quot;&gt;! ;post_max_size = 8M&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! post_max_size = 16400M&lt;/span&gt;
&amp;nbsp;
  ; Automatically add files before PHP document.
  ; http://php.net/auto-prepend-file
***************
&lt;span class=&quot;re9&quot;&gt;*** 843,852 ****&lt;/span&gt;
&amp;nbsp;
  ; Maximum allowed size for uploaded files.
  ; http://php.net/upload-max-filesize
&lt;span class=&quot;re5&quot;&gt;! upload_max_filesize = 2M&lt;/span&gt;
&amp;nbsp;
  ; Maximum number of files that can be uploaded via a single request
&lt;span class=&quot;re5&quot;&gt;! max_file_uploads = 20&lt;/span&gt;
&amp;nbsp;
  ;;;;;;;;;;;;;;;;;;
  ; Fopen wrappers ;
&lt;span class=&quot;re3&quot;&gt;--- 852,863 ----&lt;/span&gt;
&amp;nbsp;
  ; Maximum allowed size for uploaded files.
  ; http://php.net/upload-max-filesize
&lt;span class=&quot;re5&quot;&gt;! ;upload_max_filesize = 2M&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! upload_max_filesize = 16400M&lt;/span&gt;
&amp;nbsp;
  ; Maximum number of files that can be uploaded via a single request
&lt;span class=&quot;re5&quot;&gt;! ;max_file_uploads = 20&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! max_file_uploads = 64&lt;/span&gt;
&amp;nbsp;
  ;;;;;;;;;;;;;;;;;;
  ; Fopen wrappers ;
***************
&lt;span class=&quot;re9&quot;&gt;*** 871,877 ****&lt;/span&gt;
&amp;nbsp;
  ; Default timeout for socket based streams &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;seconds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; http://php.net/default-socket-timeout
&lt;span class=&quot;re5&quot;&gt;! default_socket_timeout = 60&lt;/span&gt;
&amp;nbsp;
  ; If your scripts have to deal with files from Macintosh systems,
  ; or you are running on a Mac and need to deal with files from
&lt;span class=&quot;re3&quot;&gt;--- 882,889 ----&lt;/span&gt;
&amp;nbsp;
  ; Default timeout for socket based streams &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;seconds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; http://php.net/default-socket-timeout
&lt;span class=&quot;re5&quot;&gt;! ;default_socket_timeout = 60&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! default_socket_timeout = 300&lt;/span&gt;
&amp;nbsp;
  ; If your scripts have to deal with files from Macintosh systems,
  ; or you are running on a Mac and need to deal with files from
***************
&lt;span class=&quot;re9&quot;&gt;*** 960,965 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 972,978 ----&lt;/span&gt;
  ; Defines the default timezone used by the date functions
  ; http://php.net/date.timezone
  ;date.timezone =
&lt;span class=&quot;re8&quot;&gt;+ date.timezone = Asia/Tokyo&lt;/span&gt;
&amp;nbsp;
  ; http://php.net/date.default-latitude
  ;date.default_latitude = &lt;span class=&quot;nu0&quot;&gt;31.7667&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 1053,1058 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 1066,1072 ----&lt;/span&gt;
  &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;Pdo_mysql&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
  ; Default socket name for local MySQL connects.  If empty, uses the built-in
  ; MySQL defaults.
&lt;span class=&quot;re8&quot;&gt;+ pdo_mysql.cache_size = 2000&lt;/span&gt;
  pdo_mysql.default_socket=
&amp;nbsp;
  &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;Phar&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 1085,1091 ****&lt;/span&gt;
  ;mail.force_extra_parameters =
&amp;nbsp;
  ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
&lt;span class=&quot;re5&quot;&gt;! mail.add_x_header = Off&lt;/span&gt;
&amp;nbsp;
  ; The path to a log file that will log all mail&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; calls. Log entries include
  ; the full path of the script, line number, To address and headers.
&lt;span class=&quot;re3&quot;&gt;--- 1099,1106 ----&lt;/span&gt;
  ;mail.force_extra_parameters =
&amp;nbsp;
  ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
&lt;span class=&quot;re5&quot;&gt;! ;mail.add_x_header = Off&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! mail.add_x_header = On&lt;/span&gt;
&amp;nbsp;
  ; The path to a log file that will log all mail&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; calls. Log entries include
  ; the full path of the script, line number, To address and headers.
***************
&lt;span class=&quot;re9&quot;&gt;*** 1340,1345 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 1355,1361 ----&lt;/span&gt;
  ; does not overwrite the process&#039;s umask.
  ; http://php.net/session.save-path
  ;session.save_path = &amp;quot;/tmp&amp;quot;
&lt;span class=&quot;re8&quot;&gt;+ session.save_path = &amp;quot;/tmp&amp;quot;&lt;/span&gt;
&amp;nbsp;
  ; Whether to use strict session mode.
  ; Strict session mode does not accept an uninitialized session ID, and
***************
&lt;span class=&quot;re9&quot;&gt;*** 1767,1785 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 1783,1806 ----&lt;/span&gt;
  &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;opcache&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
  ; Determines if Zend OPCache is enabled
  ;opcache.enable=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.enable=1&lt;/span&gt;
&amp;nbsp;
  ; Determines if Zend OPCache is enabled for the CLI version of PHP
  ;opcache.enable_cli=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.enable_cli=1&lt;/span&gt;
&amp;nbsp;
  ; The OPcache shared memory storage size.
  ;opcache.memory_consumption=&lt;span class=&quot;nu0&quot;&gt;128&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.memory_consumption=128&lt;/span&gt;
&amp;nbsp;
  ; The amount of memory for interned strings in Mbytes.
  ;opcache.interned_strings_buffer=&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.interned_strings_buffer=8&lt;/span&gt;
&amp;nbsp;
  ; The maximum number of keys &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;scripts&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; in the OPcache hash table.
  ; Only numbers between &lt;span class=&quot;nu0&quot;&gt;200&lt;/span&gt; and &lt;span class=&quot;nu0&quot;&gt;1000000&lt;/span&gt; are allowed.
  ;opcache.max_accelerated_files=&lt;span class=&quot;nu0&quot;&gt;10000&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.max_accelerated_files=10000&lt;/span&gt;
&amp;nbsp;
  ; The maximum percentage of &amp;quot;wasted&amp;quot; memory until a restart is scheduled.
  ;opcache.max_wasted_percentage=&lt;span class=&quot;nu0&quot;&gt;5&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 1798,1803 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 1819,1825 ----&lt;/span&gt;
  ; memory storage allocation. &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&amp;quot;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&amp;quot; means validate once per second, but only
  ; once per request. &amp;quot;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&amp;quot; means always validate&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ;opcache.revalidate_freq=&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.revalidate_freq=1&lt;/span&gt;
&amp;nbsp;
  ; Enables or disables file search in include_path optimization
  ;opcache.revalidate_path=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 1805,1810 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 1827,1833 ----&lt;/span&gt;
  ; If disabled, all PHPDoc comments are dropped from the code to reduce the
  ; size of the optimized code.
  ;opcache.save_comments=&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;re8&quot;&gt;+ opcache.save_comments=1&lt;/span&gt;
&amp;nbsp;
  ; Allow file existence override &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;file_exists, etc.&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; performance feature.
  ;opcache.enable_file_override=&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP configuration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php_configuration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;9980-18892&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;php_fpm&quot;&gt;PHP FPM&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; php-fpm.confの修正&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=12&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_diff&quot;&gt;php-fpm.conf.diff&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code diff&quot;&gt;&lt;span class=&quot;re9&quot;&gt;*** php-fpm.conf.default        Tue Dec  8 10:30:57 2020&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- php-fpm.conf        Wed Dec 16 00:59:40 2020&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 22,27 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 22,28 ----&lt;/span&gt;
  ; Note: the default prefix is /var
  ; Default Value: log/php-fpm.log
  ;error_log = log/php-fpm.log
&lt;span class=&quot;re8&quot;&gt;+ error_log = log/php-fpm.log&lt;/span&gt;
&amp;nbsp;
  ; syslog_facility is used to specify what type of program is logging the
  ; message. This lets syslogd specify that messages from different facilities
***************
&lt;span class=&quot;re9&quot;&gt;*** 29,34 ****&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 30,36 ----&lt;/span&gt;
  ; See syslog&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; for possible values &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;ex daemon equiv LOG_DAEMON&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; Default Value: daemon
  ;syslog.facility = daemon
&lt;span class=&quot;re8&quot;&gt;+ syslog.facility = daemon&lt;/span&gt;
&amp;nbsp;
  ; syslog_ident is prepended to every message. If you have multiple FPM
  ; instances running on the same server, you can change the default value&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 以下を実行&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;# touch /var/log/php-fpm.log
# chown www:www /var/log/php-fpm.log&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; php-fpm.d/www.confを変更&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=14&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_diff&quot;&gt;php-fpm.d/www.conf.diff&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code diff&quot;&gt;# diff -c www.conf www.conf.default
&lt;span class=&quot;re9&quot;&gt;*** www.conf    Wed Dec 16 01:05:44 2020&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- www.conf.default    Tue Dec  8 10:30:57 2020&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 42,48 ****&lt;/span&gt;
  ; Set listen&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; backlog.
  ; Default Value: &lt;span class=&quot;nu0&quot;&gt;511&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;-&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt; on FreeBSD and OpenBSD&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ;listen.backlog = &lt;span class=&quot;nu0&quot;&gt;511&lt;/span&gt;
&lt;span class=&quot;re7&quot;&gt;- listen.backlog = -1&lt;/span&gt;
&amp;nbsp;
  ; Set permissions for unix socket, if one is used. In Linux, read/write
  ; permissions must be set in order to allow connections from a web server. Many
&lt;span class=&quot;re3&quot;&gt;--- 42,47 ----&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 51,61 ****&lt;/span&gt;
  ; Default Values: user and group are set as the running user
  ;                 mode is set to 0660
  ;listen.owner = www
&lt;span class=&quot;re7&quot;&gt;- listen.owner = www&lt;/span&gt;
  ;listen.group = www
&lt;span class=&quot;re7&quot;&gt;- listen.group = www&lt;/span&gt;
  ;listen.mode = 0660
&lt;span class=&quot;re7&quot;&gt;- listen.mode = 0660&lt;/span&gt;
  ; When POSIX Access Control Lists are supported you can set them using
  ; these options, value is a comma separated list of user/group names.
  ; When set, listen.owner and listen.group are ignored
&lt;span class=&quot;re3&quot;&gt;--- 50,57 ----&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 69,75 ****&lt;/span&gt;
  ; accepted from any ip address.
  ; Default Value: any
  ;listen.allowed_clients = 127.0.0.1
&lt;span class=&quot;re7&quot;&gt;- listen.allowed_clients = 127.0.0.1&lt;/span&gt;
&amp;nbsp;
  ; Specify the nice&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; priority to apply to the pool processes &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;only if set&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; The value can vary from -&lt;span class=&quot;nu0&quot;&gt;19&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;highest priority&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; to &lt;span class=&quot;nu0&quot;&gt;20&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;lower priority&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 65,70 ----&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 109,116 ****&lt;/span&gt;
  ;             pm.process_idle_timeout   - The number of seconds after which
  ;                                         an idle process will be killed.
  ; Note: This value is mandatory.
&lt;span class=&quot;re5&quot;&gt;! ;pm = dynamic&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! pm = static&lt;/span&gt;
&amp;nbsp;
  ; The number of child processes to be created when pm is set to &#039;static&#039; and the
  ; maximum number of child processes when pm is set to &#039;dynamic&#039; or &#039;ondemand&#039;.
&lt;span class=&quot;re3&quot;&gt;--- 104,110 ----&lt;/span&gt;
  ;             pm.process_idle_timeout   - The number of seconds after which
  ;                                         an idle process will be killed.
  ; Note: This value is mandatory.
&lt;span class=&quot;re5&quot;&gt;! pm = dynamic&lt;/span&gt;
&amp;nbsp;
  ; The number of child processes to be created when pm is set to &#039;static&#039; and the
  ; maximum number of child processes when pm is set to &#039;dynamic&#039; or &#039;ondemand&#039;.
***************
&lt;span class=&quot;re9&quot;&gt;*** 121,159 ****&lt;/span&gt;
  ; forget to tweak pm.* to fit your needs.
  ; Note: Used when pm is set to &#039;static&#039;, &#039;dynamic&#039; or &#039;ondemand&#039;
  ; Note: This value is mandatory.
&lt;span class=&quot;re5&quot;&gt;! ;pm.max_children = 5&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! pm.max_children = 8&lt;/span&gt;
&amp;nbsp;
  ; The number of child processes created on startup.
  ; Note: Used only when pm is set to &#039;dynamic&#039;
  ; Default Value: &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;min_spare_servers + max_spare_servers&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; / &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! ;pm.start_servers = 2&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! pm.start_servers = 4&lt;/span&gt;
&amp;nbsp;
  ; The desired minimum number of idle server processes.
  ; Note: Used only when pm is set to &#039;dynamic&#039;
  ; Note: Mandatory when pm is set to &#039;dynamic&#039;
&lt;span class=&quot;re5&quot;&gt;! ;pm.min_spare_servers = 1&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! pm.min_spare_servers = 4&lt;/span&gt;
&amp;nbsp;
  ; The desired maximum number of idle server processes.
  ; Note: Used only when pm is set to &#039;dynamic&#039;
  ; Note: Mandatory when pm is set to &#039;dynamic&#039;
&lt;span class=&quot;re5&quot;&gt;! ;pm.max_spare_servers = 3&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! pm.max_spare_servers = 32&lt;/span&gt;
&amp;nbsp;
  ; The number of seconds after which an idle process will be killed.
  ; Note: Used only when pm is set to &#039;ondemand&#039;
  ; Default Value: 10s
  ;pm.process_idle_timeout = 10s;
&lt;span class=&quot;re7&quot;&gt;- pm.process_idle_timeout = 1000s;&lt;/span&gt;
&amp;nbsp;
  ; The number of requests each child process should execute before respawning.
  ; This can be useful to work around memory leaks in 3rd party libraries. For
  ; endless request processing specify &#039;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&#039;. Equivalent to PHP_FCGI_MAX_REQUESTS.
  ; Default Value: &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
  ;pm.max_requests = &lt;span class=&quot;nu0&quot;&gt;500&lt;/span&gt;
&lt;span class=&quot;re7&quot;&gt;- pm.max_requests = 500&lt;/span&gt;
&amp;nbsp;
  ; The URI to view the FPM status page. If this value is not set, no URI will be
  ; recognized as a status page. It shows the following informations:
&lt;span class=&quot;re3&quot;&gt;--- 115,147 ----&lt;/span&gt;
  ; forget to tweak pm.* to fit your needs.
  ; Note: Used when pm is set to &#039;static&#039;, &#039;dynamic&#039; or &#039;ondemand&#039;
  ; Note: This value is mandatory.
&lt;span class=&quot;re5&quot;&gt;! pm.max_children = 5&lt;/span&gt;
&amp;nbsp;
  ; The number of child processes created on startup.
  ; Note: Used only when pm is set to &#039;dynamic&#039;
  ; Default Value: &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;min_spare_servers + max_spare_servers&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; / &lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;! pm.start_servers = 2&lt;/span&gt;
&amp;nbsp;
  ; The desired minimum number of idle server processes.
  ; Note: Used only when pm is set to &#039;dynamic&#039;
  ; Note: Mandatory when pm is set to &#039;dynamic&#039;
&lt;span class=&quot;re5&quot;&gt;! pm.min_spare_servers = 1&lt;/span&gt;
&amp;nbsp;
  ; The desired maximum number of idle server processes.
  ; Note: Used only when pm is set to &#039;dynamic&#039;
  ; Note: Mandatory when pm is set to &#039;dynamic&#039;
&lt;span class=&quot;re5&quot;&gt;! pm.max_spare_servers = 3&lt;/span&gt;
&amp;nbsp;
  ; The number of seconds after which an idle process will be killed.
  ; Note: Used only when pm is set to &#039;ondemand&#039;
  ; Default Value: 10s
  ;pm.process_idle_timeout = 10s;
&amp;nbsp;
  ; The number of requests each child process should execute before respawning.
  ; This can be useful to work around memory leaks in 3rd party libraries. For
  ; endless request processing specify &#039;&lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;&#039;. Equivalent to PHP_FCGI_MAX_REQUESTS.
  ; Default Value: &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
  ;pm.max_requests = &lt;span class=&quot;nu0&quot;&gt;500&lt;/span&gt;
&amp;nbsp;
  ; The URI to view the FPM status page. If this value is not set, no URI will be
  ; recognized as a status page. It shows the following informations:
***************
&lt;span class=&quot;re9&quot;&gt;*** 355,361 ****&lt;/span&gt;
  ; Available units: s&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;econds&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;default&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, m&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;inutes&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, h&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;ours&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;, or d&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;ays&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
  ; Default Value: &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
  ;request_terminate_timeout = &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re7&quot;&gt;- request_terminate_timeout = 0&lt;/span&gt;
&amp;nbsp;
  ; The timeout set by &#039;request_terminate_timeout&#039; ini option is not engaged after
  ; application calls &#039;fastcgi_finish_request&#039; or when application has finished and
&lt;span class=&quot;re3&quot;&gt;--- 343,348 ----&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 368,374 ****&lt;/span&gt;
  ; Set open file descriptor rlimit.
  ; Default Value: system defined value
  ;rlimit_files = &lt;span class=&quot;nu0&quot;&gt;1024&lt;/span&gt;
&lt;span class=&quot;re7&quot;&gt;- rlimit_files = 51200&lt;/span&gt;
&amp;nbsp;
  ; Set max core size rlimit.
  ; Possible Values: &#039;unlimited&#039; or an integer greater or equal to &lt;span class=&quot;nu0&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;re3&quot;&gt;--- 355,360 ----&lt;/span&gt;
***************
&lt;span class=&quot;re9&quot;&gt;*** 426,440 ****&lt;/span&gt;
  ; the current environment.
  ; Default Value: clean env
  ;env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;HOSTNAME&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = $HOSTNAME
&lt;span class=&quot;re7&quot;&gt;- env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;HOSTNAME&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = $HOSTNAME&lt;/span&gt;
  ;env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;PATH&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /usr/local/bin:/usr/bin:/bin
&lt;span class=&quot;re7&quot;&gt;- env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;PATH&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /usr/local/bin:/usr/bin:/bin&lt;/span&gt;
  ;env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TMP&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /tmp
&lt;span class=&quot;re7&quot;&gt;- env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TMP&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /tmp&lt;/span&gt;
  ;env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TMPDIR&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /tmp
&lt;span class=&quot;re7&quot;&gt;- env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TMPDIR&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /tmp&lt;/span&gt;
  ;env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TEMP&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /tmp
&lt;span class=&quot;re7&quot;&gt;- env&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;TEMP&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; = /tmp&lt;/span&gt;
&amp;nbsp;
  ; Additional php.ini defines, specific to this pool of workers. These settings
  ; overwrite the values previously defined in the php.ini. The directives are the
&lt;span class=&quot;re3&quot;&gt;--- 412,421 ----&lt;/span&gt;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP FPM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php_fpm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;18893-26088&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;start_backend_service&quot;&gt;Start Backend service&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Backend Service を開始する&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;# service postgresql start
# service postgresql status
# service php-fpm start
# service php-fpm status
# service memcached start
# service memcached status
# service nginx start&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Start Backend service&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_backend_service&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;26089-26351&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;nextcloud_configuration&quot;&gt;Nextcloud Configuration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; nextcloud/config/config.phpを編集(以下を追加)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;  &amp;#039;trusted_proxies&amp;#039;   =&amp;gt; [&amp;#039;10.1.201.128&amp;#039;,&amp;#039;10.1.201.129&amp;#039;,&amp;#039;10.1.201.130&amp;#039;],
  &amp;#039;overwriteprotocol&amp;#039; =&amp;gt; &amp;#039;https&amp;#039;,
  &amp;#039;overwritehost&amp;#039;     =&amp;gt; &amp;#039;hostname&amp;#039;,
  &amp;#039;memcache.local&amp;#039;       =&amp;gt; &amp;#039;\OC\Memcache\APCu&amp;#039;,
  &amp;#039;memcache.distributed&amp;#039; =&amp;gt; &amp;#039;\OC\Memcache\Memcached&amp;#039;,
  &amp;#039;memcached_servers&amp;#039;    =&amp;gt; [
       [ &amp;#039;127.0.0.1&amp;#039;, 11211 ],
  ],&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; BrowserからNextCloudにアクセスする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Top Pageに初期設定の画面が出力される&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; DB設定をPgSQLに変更する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Administrator Accountを作成する&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; loginしたら、設定から各種設定を確認し、挙動確認を行う&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nextcloud Configuration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nextcloud_configuration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;26352-27047&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;log_rotation&quot;&gt;Log rotation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; newsyslogでlogをRotationする設定を投入&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;# mkdir /usr/local/etc/newsyslog.conf.d
# cd /usr/local/etc/newsyslog.conf.d
# vi nextcloud.conf nginx.conf php-fpm.conf&lt;/pre&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=18&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_conf&quot;&gt;nextcloud.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;/some/where/nextcloud/data/nextcloud.log www:www 640 7 * @T00  JC&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=19&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_conf&quot;&gt;nginx.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;/var/log/nginx/error.log          www:www     640  7     *    @T00  JC
/var/log/nginx/access.log         www:www     640  7     *    @T00  JC

/var/log/nginx/nextcloud.err      www:www     640  7     *    @T00  JC
/var/log/nginx/nextcloud.acc      www:www     640  7     *    @T00  JC&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tweet:2020:1215_01&amp;amp;codeblock=20&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_conf&quot;&gt;php-fpm.conf&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;/var/log/php-fpm.log                         www:www     640  7     *    @T00  JC&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Log rotation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;log_rotation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:17,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;27048-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 28 Jul 2023 10:48:20 +0000</pubDate>
        </item>
    </channel>
</rss>
