{ "version": "https://jsonfeed.org/version/1.1", "user_comment": "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format. To add this feed to your reader, copy the following URL -- https://matoken.org/blog/tag/cgi/feed/json/ -- and add it your reader.", "home_page_url": "https://matoken.org/blog/tag/cgi/", "feed_url": "https://matoken.org/blog/tag/cgi/feed/json/", "language": "ja", "title": "cgi – matoken's blog", "description": "Is there no plan B?", "icon": "https://matoken.org/blog/wp-content/uploads/2025/03/cropped-1865f695c4eecc844385acef2f078255036adccd42c254580ea3844543ab56d9.jpeg", "items": [ { "id": "http://matoken.org/blog/?p=3683", "url": "https://matoken.org/blog/2022/06/28/lighttpd-returns-all-pages-503/", "title": "Lighttpd\u3067\u5168\u30da\u30fc\u30b8503\u3092\u8fd4\u3059", "content_html": "
\n
\n
\n

\u5148\u65e5\u81ea\u5b85\u30b5\u30fc\u30d0\u304c\u8d77\u52d5\u3057\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0e10\u5e74\u4ee5\u4e0a\u307b\u307c\u8d77\u52d5\u3057\u3063\u3071\u306a\u3057\u3067\u3057\u305f\u3057\u3057\u3087\u3046\u304c\u306a\u3044\u304b\u306a\u3068\u3044\u3046\u611f\u3058\u3082\uff0e\u3053\u306e\u7aef\u672b\u306fNAS\u3084Unbound\uff0capt-cacher-ng\u306a\u3069\u81ea\u5b85\u5411\u3051\u306e\u30b5\u30fc\u30d3\u30b9\u306e\u4ed6\u306b\u3082\u5916\u90e8\u5411\u3051\u306eWebServer\u3068\u3057\u3066\u3082\u52d5\u4f5c\u3055\u305b\u3066\u3044\u307e\u3057\u305f\uff0e
\n\u3059\u3050\u306b\u5fa9\u65e7\u3059\u308b\u306e\u306f\u96e3\u3057\u305d\u3046\u306a\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u30b7\u30f3\u30b0\u30eb\u30dc\u30fc\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u3067WebServer\u3092\u8d77\u52d5\u3057\u3066HTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9\u306e503\u3092\u8fd4\u3059\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3057\u305f\uff0e

\n
\n

\n
\n
\n
\u5229\u7528\u3057\u305f\u30b7\u30f3\u30b0\u30eb\u30dc\u30fc\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf
\n
Raspberry Pi 3 model B (SoC arm v7 4core / Memory 1GB / OS Raspberry Pi OS bullseye armhf)
\n
\u8a2d\u5b9a\u3057\u305f\u3044\u3053\u3068
\n
2\u3064\u306e\u30c9\u30e1\u30a4\u30f3\u306ehttp/https\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306bHTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3057\u305f\u3044
\n
\n
\n
\n
\n
\n

\u524d\u6e96\u5099

\n
\n
\n

\u3059\u3067\u306b micro-httpd \u304c\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\uff0e\u3053\u306e\u30a2\u30d7\u30ea\u3067\u3084\u308a\u305f\u3044\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3053\u308c\u306f\u505c\u6b62\u3057\u3066Lighttpd\u306b\u5909\u66f4\u3057\u307e\u3059\uff0e

\n
\n
\n
micro-httpd\u306e\u505c\u6b62\u3068\u81ea\u52d5\u8d77\u52d5\u7121\u52b9\u5316
\n
\n
$ sudo systemctl stop micro-httpd\n$ sudo systemctl disable micro-httpd
\n
\n
\n
\n\n\n\n\n\n\n\n
\n
Note
\n
\n\u3082\u3046\u4f7f\u308f\u306a\u3044\u306e\u3067\u3042\u308c\u3070 apt purge micro-httpd \u3067\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e
\n
\n
\n
\n
\n

Lighttpd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb

\n
\n
\n

Raspberry Pi OS\u30d1\u30c3\u30b1\u30fc\u30b8\u306eLighttpd\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e

\n
\n
\n
Lighttpd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb
\n
\n
$ sudo apt install lighttpd
\n
\n
\n
\n

SSL\u8a3c\u660e\u66f8\u306e\u5165\u624b

\n
\n

\u8a8d\u8a3c\u5c40\u306b\u306f\u4ee5\u524d\u3082\u5229\u7528\u3057\u3066\u3044\u305fLet\u2019s Encrypt\u3092\u5229\u7528\u3057\u307e\u3059\uff0e

\n
\n\n
\n

\u5c02\u7528\u306e\u8a3c\u660e\u66f8\u7ba1\u7406\u30c4\u30fc\u30eb\u306ecertbot\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\u3053\u308c\u3082\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30d1\u30c3\u30b1\u30fc\u30b8\u304b\u3089\u5c0e\u5165\u3057\u307e\u3059\uff0e

\n
\n\n
\n
\n
$ sudo apt install certbot
\n
\n
\n
\n

\u65e9\u901f\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo certbot certonly -d sub1.example.org (1)\nSaving debug log to /var/log/letsencrypt/letsencrypt.log\nHow would you like to authenticate with the ACME CA?\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n1: Spin up a temporary webserver (standalone)\n2: Place files in webroot directory (webroot)\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nSelect the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 (2)\nPlugins selected: Authenticator webroot, Installer None\nRequesting a certificate for sub1.example.com\nPerforming the following challenges:\nhttp-01 challenge for sub1.example.org\nInput the webroot for sub1.example.org: (Enter 'c' to cancel): /var/www/html (3)\n  :
\n
\n
\n
\n
    \n
  1. sub1.example.org \u3068\u3044\u3046\u30c9\u30e1\u30a4\u30f3\u306e\u8a3c\u660e\u66f8\u3092\u53d6\u5f97
  2. \n
  3. \u8a8d\u8a3c\u306bLighttpd\u306ehttpd\u3092\u5229\u7528
  4. \n
  5. Lighttpd\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30eb\u30fc\u30c8\u3092\u6307\u5b9a
  6. \n
\n
\n
\n

\u540c\u69d8\u306b\u3082\u3046\u4e00\u3064\u306e\u30c9\u30e1\u30a4\u30f3\u3082\u8a2d\u5b9a\u3057\u307e\u3059\uff0e

\n
\n
\n
\n

Lighttpd\u306ehttps\u8a2d\u5b9a

\n
\n

lighttpd-enable-mod \u30b3\u30de\u30f3\u30c9\u3067Lighttpd\u306essl\u30e2\u30b8\u30e5\u30fc\u30eb\u3068rewrite\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo lighttpd-enable-mod rewrite ssl
\n
\n
\n
\n\n\n\n\n\n\n\n
\n
Note
\n
\nlighttpd-enable-mod \u306f\u5f15\u6570\u7121\u3057\u3067\u5b9f\u884c\u3059\u308b\u3068\u5bfe\u8a71\u5f62\u5f0f\u306b\u306a\u308a\u307e\u3059\uff0e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u7121\u52b9\u306b\u3059\u308b\u5834\u5408\u306f lighttpd-disable-mod \u30b3\u30de\u30f3\u30c9\u304c\u5229\u7528\u3067\u304d\u307e\u3059\uff0e
\n
\n
\n
\n

Lighttpd\u3067\u306ehttps\u306e\u8a2d\u5b9a

\n
\n

Lighttpd\u3067https\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n

lighttpd/conf-enabled/10-ssl.conf \u3092\u7de8\u96c6\u3057\u307e\u3059\uff0e

\n
\n
\n

ssl.pemfile \u306e\u884c\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u3066Let\u2019s Encrypt\u306e\u8a3c\u660e\u66f8\u3092\u4f7f\u3046\u3088\u3046\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
ssl.pemfile = \"/etc/letsencrypt/live/sub1.example.org/fullchain.pem\"\nssl.privkey = \"/etc/letsencrypt/live/sub1.example.org/privkey.pem\"
\n
\n
\n
\n

\u305d\u306e\u4e0b\u306b2\u3064\u76ee\u306e\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$HTTP[\"host\"] =~ \"sub2.example.org\"{\n        ssl.pemfile = \"/etc/letsencrypt/live/sub2.example.org/fullchain.pem\"\n        ssl.privkey = \"/etc/letsencrypt/live/sub2.example.org/privkey.pem\"\n}
\n
\n
\n
\n

Lighttpd\u3092\u518d\u8aad\u8fbc\u3057\u3066\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo systemctl lighttpd restart\n$ w3m https://sub1.example.org/\n$ w3m https://sub2.example.org/
\n
\n
\n
\n
\n
\n
\n

HTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3059\u3088\u3046\u306b\u3059\u308b

\n
\n
\n

HTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3059\u3060\u3051\u306ecgi script\u3092\u4f5c\u6210\u3057\u3066\u3044\u3064\u3082\u305d\u308c\u3092\u8fd4\u3059\u3088\u3046\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n

cgi\u3092\u6709\u52b9\u306b

\n
\n

lighttpd-enable-mod \u30b3\u30de\u30f3\u30c9\u3067Lighttpd\u306ecgi\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo lighttpd-enable-mod cgi
\n
\n
\n
\n

/etc/lighttpd/conf-enabled/10-cgi.conf \u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4fee\u6b63\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ grep -v ^# lighttpd/conf-enabled/10-cgi.conf | uniq\n\nserver.modules += ( \"mod_cgi\" )\n\ncgi.assign      = (\n        \".cgi\" => \"/usr/bin/perl\",\n)
\n
\n
\n
\n

Lighttpd\u3092\u518d\u8aad\u8fbc\u3057\u3066\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo systemctl lighttpd restart\n$ echo \"#!/usr/bin/perl\nprint 'Content-Type: text/plain\\n\\nhello world.'\" > /var/www/html/hello.cgi\n$ sudo chown www-data.www-data /var/www/html/hello.cgi\n$ sudo chmod 700 /var/www/html/hello.cgi\n$ w3m https://sub1.example.org/hello.cgi\n$ sudo rm /var/www/html/hello.cgi
\n
\n
\n
\n
\n

503\u3092\u8fd4\u3059cgi\u3092\u7528\u610f

\n
\n

HTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3059 /var/www/html/503.cgi \u3092\u7528\u610f\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
#!/usr/bin/perl\n\nuse strict;\nuse warnings;\n\nprint \"Status: 503 Service Unavailable\\n\";\nprint \"Content-Type: text/html\\n\\n\";\nprint <<END_OF_HTML;\n<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"\" xml:lang=\"\">\n<head>\n  <meta charset=\"utf-8\" />\n  <meta name=\"generator\" content=\"pandoc\" />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\" />\n  <title>home.matoken.org</title>\n  <style>\n    code{white-space: pre-wrap;}\n    span.smallcaps{font-variant: small-caps;}\n    span.underline{text-decoration: underline;}\n    div.column{display: inline-block; vertical-align: top; width: 50%;}\n    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}\n    ul.task-list{list-style: none;}\n  </style>\n</head>\n<body>\n<p>Server is down.</p>\n</body>\n</html>\nEND_OF_HTML
\n
\n
\n
\n

\u6a29\u9650\u3092\u8a2d\u5b9a\u3057\u3066\u52d5\u4f5c\u78ba\u8a8d\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo chown www-data.www-data /var/www/html/503.cgi\n$ sudo chmod 700 /var/www/html/503.cgi\n$ w3m -dump_head https://sub1.example.org/503.cgi | grep ^HTTP\nHTTP/1.0 503 Service Unavailable\n$ w3m https://sub1.example.org/503.cgi
\n
\n
\n
\n
\n

Lighttpd\u3067\u3059\u3079\u3066\u306e\u30a2\u30af\u30bb\u30b9\u306b503\u3092\u8fd4\u3059\u3088\u3046\u306b\u3059\u308b

\n
\n

/etc/lighttpd/lighttpd.conf \u30d5\u30a1\u30a4\u30eb\u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\u3057\u307e\u3059\uff0e\u3053\u308c\u3067\u3059\u3079\u3066\u306eURL\u304c503.cgi\u306b\u306a\u308b\u306f\u305a\u3067\u3059\uff0e

\n
\n
\n
\n
$HTTP[\"url\"] != \"/503.cgi$\" {\n   url.rewrite = ( \"\" => \"/503.cgi\" )\n}
\n
\n
\n
\n

Lighttpd\u3092\u518d\u8aad\u8fbc\u3057\u3066\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ sudo systemctl lighttpd restart\n$ w3m https://sub1.example.org/hoge\n$ w3m https://sub2.example.org/fuga\n$ w3m http://sub1.example.org/hoge\n$ w3m http://sub2.example.org/fuga
\n
\n
\n
\n
\u74b0\u5883
\n
\n
$ dpkg-query -W lighttpd certbot w3m perl\ncertbot 1.12.0-2\nlighttpd        1.4.59-1+deb11u1\nperl    5.32.1-4+deb11u2\nw3m     0.5.3+git20210102-6\n$ lsb_release -dr\nDescription:    Raspbian GNU/Linux 11 (bullseye)\nRelease:        11\n$ cat /proc/device-tree/model && echo\nRaspberry Pi 3 Model B Rev 1.2
\n
\n
\n
\n
\n
\n", "content_text": "\u5148\u65e5\u81ea\u5b85\u30b5\u30fc\u30d0\u304c\u8d77\u52d5\u3057\u306a\u304f\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\uff0e10\u5e74\u4ee5\u4e0a\u307b\u307c\u8d77\u52d5\u3057\u3063\u3071\u306a\u3057\u3067\u3057\u305f\u3057\u3057\u3087\u3046\u304c\u306a\u3044\u304b\u306a\u3068\u3044\u3046\u611f\u3058\u3082\uff0e\u3053\u306e\u7aef\u672b\u306fNAS\u3084Unbound\uff0capt-cacher-ng\u306a\u3069\u81ea\u5b85\u5411\u3051\u306e\u30b5\u30fc\u30d3\u30b9\u306e\u4ed6\u306b\u3082\u5916\u90e8\u5411\u3051\u306eWebServer\u3068\u3057\u3066\u3082\u52d5\u4f5c\u3055\u305b\u3066\u3044\u307e\u3057\u305f\uff0e\n\u3059\u3050\u306b\u5fa9\u65e7\u3059\u308b\u306e\u306f\u96e3\u3057\u305d\u3046\u306a\u306e\u3067\u3068\u308a\u3042\u3048\u305a\u30b7\u30f3\u30b0\u30eb\u30dc\u30fc\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u3067WebServer\u3092\u8d77\u52d5\u3057\u3066HTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9\u306e503\u3092\u8fd4\u3059\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\n\n\n\n\u5229\u7528\u3057\u305f\u30b7\u30f3\u30b0\u30eb\u30dc\u30fc\u30c9\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\nRaspberry Pi 3 model B (SoC arm v7 4core / Memory 1GB / OS Raspberry Pi OS bullseye armhf)\n\u8a2d\u5b9a\u3057\u305f\u3044\u3053\u3068\n2\u3064\u306e\u30c9\u30e1\u30a4\u30f3\u306ehttp/https\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306bHTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3057\u305f\u3044\n\n\n\n\n\n\u524d\u6e96\u5099\n\n\n\u3059\u3067\u306b micro-httpd \u304c\u52d5\u4f5c\u3057\u3066\u3044\u307e\u3059\uff0e\u3053\u306e\u30a2\u30d7\u30ea\u3067\u3084\u308a\u305f\u3044\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3053\u308c\u306f\u505c\u6b62\u3057\u3066Lighttpd\u306b\u5909\u66f4\u3057\u307e\u3059\uff0e\n\n\nmicro-httpd\u306e\u505c\u6b62\u3068\u81ea\u52d5\u8d77\u52d5\u7121\u52b9\u5316\n\n$ sudo systemctl stop micro-httpd\n$ sudo systemctl disable micro-httpd\n\n\n\n\n\n\n\nNote\n\n\n\u3082\u3046\u4f7f\u308f\u306a\u3044\u306e\u3067\u3042\u308c\u3070 apt purge micro-httpd \u3067\u3044\u3044\u3068\u601d\u3044\u307e\u3059\uff0e\n\n\n\n\n\n\n\nLighttpd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n\nRaspberry Pi OS\u30d1\u30c3\u30b1\u30fc\u30b8\u306eLighttpd\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\n\n\nLighttpd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\n\n$ sudo apt install lighttpd\n\n\n\nSSL\u8a3c\u660e\u66f8\u306e\u5165\u624b\n\n\u8a8d\u8a3c\u5c40\u306b\u306f\u4ee5\u524d\u3082\u5229\u7528\u3057\u3066\u3044\u305fLet\u2019s Encrypt\u3092\u5229\u7528\u3057\u307e\u3059\uff0e\n\n\n\nLet\u2019s Encrypt – \u30d5\u30ea\u30fc\u306a SSL/TLS \u8a3c\u660e\u66f8\n\n\n\n\u5c02\u7528\u306e\u8a3c\u660e\u66f8\u7ba1\u7406\u30c4\u30fc\u30eb\u306ecertbot\u3092\u5c0e\u5165\u3057\u307e\u3059\uff0e\u3053\u308c\u3082\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30d1\u30c3\u30b1\u30fc\u30b8\u304b\u3089\u5c0e\u5165\u3057\u307e\u3059\uff0e\n\n\n\nCertbot | Certbot\n\n\n\n\n$ sudo apt install certbot\n\n\n\n\u65e9\u901f\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo certbot certonly -d sub1.example.org (1)\nSaving debug log to /var/log/letsencrypt/letsencrypt.log\nHow would you like to authenticate with the ACME CA?\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n1: Spin up a temporary webserver (standalone)\n2: Place files in webroot directory (webroot)\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\nSelect the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 (2)\nPlugins selected: Authenticator webroot, Installer None\nRequesting a certificate for sub1.example.com\nPerforming the following challenges:\nhttp-01 challenge for sub1.example.org\nInput the webroot for sub1.example.org: (Enter 'c' to cancel): /var/www/html (3)\n :\n\n\n\n\nsub1.example.org \u3068\u3044\u3046\u30c9\u30e1\u30a4\u30f3\u306e\u8a3c\u660e\u66f8\u3092\u53d6\u5f97\n\u8a8d\u8a3c\u306bLighttpd\u306ehttpd\u3092\u5229\u7528\nLighttpd\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30eb\u30fc\u30c8\u3092\u6307\u5b9a\n\n\n\n\u540c\u69d8\u306b\u3082\u3046\u4e00\u3064\u306e\u30c9\u30e1\u30a4\u30f3\u3082\u8a2d\u5b9a\u3057\u307e\u3059\uff0e\n\n\n\nLighttpd\u306ehttps\u8a2d\u5b9a\n\nlighttpd-enable-mod \u30b3\u30de\u30f3\u30c9\u3067Lighttpd\u306essl\u30e2\u30b8\u30e5\u30fc\u30eb\u3068rewrite\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo lighttpd-enable-mod rewrite ssl\n\n\n\n\n\n\n\nNote\n\n\nlighttpd-enable-mod \u306f\u5f15\u6570\u7121\u3057\u3067\u5b9f\u884c\u3059\u308b\u3068\u5bfe\u8a71\u5f62\u5f0f\u306b\u306a\u308a\u307e\u3059\uff0e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u7121\u52b9\u306b\u3059\u308b\u5834\u5408\u306f lighttpd-disable-mod \u30b3\u30de\u30f3\u30c9\u304c\u5229\u7528\u3067\u304d\u307e\u3059\uff0e\n\n\n\n\n\n\nLighttpd\u3067\u306ehttps\u306e\u8a2d\u5b9a\n\nLighttpd\u3067https\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\uff0e\n\n\nlighttpd/conf-enabled/10-ssl.conf \u3092\u7de8\u96c6\u3057\u307e\u3059\uff0e\n\n\nssl.pemfile \u306e\u884c\u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u66f8\u304d\u63db\u3048\u3066Let\u2019s Encrypt\u306e\u8a3c\u660e\u66f8\u3092\u4f7f\u3046\u3088\u3046\u306b\u3057\u307e\u3059\uff0e\n\n\n\nssl.pemfile = \"/etc/letsencrypt/live/sub1.example.org/fullchain.pem\"\nssl.privkey = \"/etc/letsencrypt/live/sub1.example.org/privkey.pem\"\n\n\n\n\u305d\u306e\u4e0b\u306b2\u3064\u76ee\u306e\u306e\u30c9\u30e1\u30a4\u30f3\u3092\u8a2d\u5b9a\u3057\u307e\u3059\uff0e\n\n\n\n$HTTP[\"host\"] =~ \"sub2.example.org\"{\n ssl.pemfile = \"/etc/letsencrypt/live/sub2.example.org/fullchain.pem\"\n ssl.privkey = \"/etc/letsencrypt/live/sub2.example.org/privkey.pem\"\n}\n\n\n\nLighttpd\u3092\u518d\u8aad\u8fbc\u3057\u3066\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo systemctl lighttpd restart\n$ w3m https://sub1.example.org/\n$ w3m https://sub2.example.org/\n\n\n\n\n\n\nHTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3059\u3088\u3046\u306b\u3059\u308b\n\n\nHTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3059\u3060\u3051\u306ecgi script\u3092\u4f5c\u6210\u3057\u3066\u3044\u3064\u3082\u305d\u308c\u3092\u8fd4\u3059\u3088\u3046\u306b\u3057\u307e\u3059\uff0e\n\n\ncgi\u3092\u6709\u52b9\u306b\n\nlighttpd-enable-mod \u30b3\u30de\u30f3\u30c9\u3067Lighttpd\u306ecgi\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo lighttpd-enable-mod cgi\n\n\n\n/etc/lighttpd/conf-enabled/10-cgi.conf \u3092\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u4fee\u6b63\u3057\u307e\u3059\uff0e\n\n\n\n$ grep -v ^# lighttpd/conf-enabled/10-cgi.conf | uniq\n\nserver.modules += ( \"mod_cgi\" )\n\ncgi.assign = (\n \".cgi\" => \"/usr/bin/perl\",\n)\n\n\n\nLighttpd\u3092\u518d\u8aad\u8fbc\u3057\u3066\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo systemctl lighttpd restart\n$ echo \"#!/usr/bin/perl\nprint 'Content-Type: text/plain\\n\\nhello world.'\" > /var/www/html/hello.cgi\n$ sudo chown www-data.www-data /var/www/html/hello.cgi\n$ sudo chmod 700 /var/www/html/hello.cgi\n$ w3m https://sub1.example.org/hello.cgi\n$ sudo rm /var/www/html/hello.cgi\n\n\n\n\n503\u3092\u8fd4\u3059cgi\u3092\u7528\u610f\n\nHTTP\u30b9\u30c6\u30fc\u30bf\u30b9\u30b3\u30fc\u30c9503\u3092\u8fd4\u3059 /var/www/html/503.cgi \u3092\u7528\u610f\u3057\u307e\u3059\uff0e\n\n\n\n#!/usr/bin/perl\n\nuse strict;\nuse warnings;\n\nprint \"Status: 503 Service Unavailable\\n\";\nprint \"Content-Type: text/html\\n\\n\";\nprint <<END_OF_HTML;\n<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"\" xml:lang=\"\">\n<head>\n <meta charset=\"utf-8\" />\n <meta name=\"generator\" content=\"pandoc\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\" />\n <title>home.matoken.org</title>\n <style>\n code{white-space: pre-wrap;}\n span.smallcaps{font-variant: small-caps;}\n span.underline{text-decoration: underline;}\n div.column{display: inline-block; vertical-align: top; width: 50%;}\n div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}\n ul.task-list{list-style: none;}\n </style>\n</head>\n<body>\n<p>Server is down.</p>\n</body>\n</html>\nEND_OF_HTML\n\n\n\n\u6a29\u9650\u3092\u8a2d\u5b9a\u3057\u3066\u52d5\u4f5c\u78ba\u8a8d\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo chown www-data.www-data /var/www/html/503.cgi\n$ sudo chmod 700 /var/www/html/503.cgi\n$ w3m -dump_head https://sub1.example.org/503.cgi | grep ^HTTP\nHTTP/1.0 503 Service Unavailable\n$ w3m https://sub1.example.org/503.cgi\n\n\n\n\nLighttpd\u3067\u3059\u3079\u3066\u306e\u30a2\u30af\u30bb\u30b9\u306b503\u3092\u8fd4\u3059\u3088\u3046\u306b\u3059\u308b\n\n/etc/lighttpd/lighttpd.conf \u30d5\u30a1\u30a4\u30eb\u306b\u4ee5\u4e0b\u3092\u8ffd\u8a18\u3057\u307e\u3059\uff0e\u3053\u308c\u3067\u3059\u3079\u3066\u306eURL\u304c503.cgi\u306b\u306a\u308b\u306f\u305a\u3067\u3059\uff0e\n\n\n\n$HTTP[\"url\"] != \"/503.cgi$\" {\n url.rewrite = ( \"\" => \"/503.cgi\" )\n}\n\n\n\nLighttpd\u3092\u518d\u8aad\u8fbc\u3057\u3066\u52d5\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\uff0e\n\n\n\n$ sudo systemctl lighttpd restart\n$ w3m https://sub1.example.org/hoge\n$ w3m https://sub2.example.org/fuga\n$ w3m http://sub1.example.org/hoge\n$ w3m http://sub2.example.org/fuga\n\n\n\n\u74b0\u5883\n\n$ dpkg-query -W lighttpd certbot w3m perl\ncertbot 1.12.0-2\nlighttpd 1.4.59-1+deb11u1\nperl 5.32.1-4+deb11u2\nw3m 0.5.3+git20210102-6\n$ lsb_release -dr\nDescription: Raspbian GNU/Linux 11 (bullseye)\nRelease: 11\n$ cat /proc/device-tree/model && echo\nRaspberry Pi 3 Model B Rev 1.2", "date_published": "2022-06-28T00:15:56+09:00", "date_modified": "2022-07-10T22:35:19+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "cgi", "https", "Lighttpd", "bullseye", "Linux", "Raspberry Pi OS" ] }, { "id": "http://matoken.org/blog/?p=2771", "url": "https://matoken.org/blog/2020/06/03/try-remote-presentation-with-html-webcast-export-in-libreoffice-impress/", "title": "LibreOffice Impress \u306e HTML WebCast \u66f8\u304d\u51fa\u3057\u3067\u9060\u9694\u30d7\u30ec\u30bc\u30f3\u6a5f\u80fd\u3092\u8a66\u3059", "content_html": "
\n
add 2020-06-05
\n
\n
\n

\u8a72\u5f53\u3057\u305d\u3046\u306aBug

\n
\n\n
\n
\n
\n

\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u3059\u308b\u3068\u304d\u4e00\u822c\u7684\u306b\u306f\u753b\u9762\u5171\u6709\u3059\u308b\u3068\u601d\u3044\u307e\u3059\u304c\uff0c\u30b9\u30e9\u30a4\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u524d\u3082\u3063\u3066\u914d\u5e03\u3057\u3066\u304a\u3044\u3066\u304a\u4e92\u3044\u305d\u308c\u3092\u898b\u306a\u304c\u3089\u30d7\u30ec\u30bc\u30f3\u3082\u51fa\u6765\u307e\u3059\uff0e
\n\u305d\u306e\u9593\u304f\u3089\u3044\u306e\u6a5f\u80fd\u3067\u30b9\u30e9\u30a4\u30c9\u306e\u30da\u30fc\u30b8\u3081\u304f\u308a\u3092\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u3068\u8996\u8074\u8005\u3067\u540c\u671f\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u304c\u6b32\u3057\u3044\u306a\u3068\u601d\u3063\u3066\u3044\u307e\u3059\uff0e
\n\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308b\u3088\u3046\u3067\u3059\u304c\u81ea\u5206\u304c\u4f55\u5ea6\u304b\u8a66\u3057\u305f\u9650\u308a\u3067\u306f\u300c\u30ed\u30b0\u30a4\u30f3\uff0f\u65b0\u898f\u767b\u9332\u300d\u304c\u51fa\u6765\u305a\u4f7f\u3048\u3066\u3044\u307e\u305b\u3093\uff0e

\n
\n
\n\n
\n
\n

LibreOffice Impress \u306eHTML \u66f8\u304d\u51fa\u3057\u6a5f\u80fd\u306bWebCast \u6a5f\u80fd\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e
\n\u3057\u304b\u3057\u7d39\u4ecb\u3057\u3066\u304a\u3044\u3066\u306a\u3093\u3067\u3059\u304c\u3053\u306e\u6a5f\u80fd\u306f\u9577\u3089\u304f\u30e1\u30f3\u30c6\u3055\u308c\u3066\u3044\u306a\u3044\u3088\u3046\u306a\u306e\u3067\u3042\u307e\u308a\u4f7f\u308f\u306a\u3044\u307b\u3046\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e(Perl cgi\u74b0\u5883\u3082\u7528\u610f\u3057\u306b\u304f\u3044\u3060\u308d\u3046\u3057)

\n
\n
\n

\u30d8\u30eb\u30d7\u3082\u3056\u3063\u304f\u308a\u3068\u3057\u305f\u8aac\u660e\u3057\u304b\u3042\u308a\u307e\u305b\u3093\uff0e

\n
\n
\n\n
\n
\n
\n
\n

HTML \u5f62\u5f0f\u3067\u4fdd\u5b58\u3059\u308b\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u304d\u307e\u3059\u3002

\n
\n
\n

\u30d5\u30a1\u30a4\u30eb \u2192 \u30a8\u30af\u30b9\u30dd\u30fc\u30c8 \u3092\u884c\u306a\u3044\u307e\u3059\u3002

\n
\n
\n

\u30d5\u30a1\u30a4\u30eb\u66f8\u5f0f \u3092 HTML \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 (LibreOffice Impress) (.html;.htm) \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002

\n
\n
\n

\u30d5\u30a1\u30a4\u30eb\u540d \u3092\u5165\u529b\u3057\u3066\u3001\u30a8\u30af\u30b9\u30dd\u30fc\u30c8 \u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002

\n
\n
\n

HTML \u30a8\u30af\u30b9\u30dd\u30fc\u30c8 \u30a6\u30a3\u30b6\u30fc\u30c9\u306e\u6307\u793a\u306b\u5f93\u3044\u307e\u3059\u3002

\n
\n
\n
\n
\n

\u3066\u3053\u3068\u3067\u30e1\u30e2\u304c\u3066\u3089\uff0e

\n
\n
\n

LibreOffice Impress \u3067\u66f8\u304d\u51fa\u3057\u305f\u3044\u30b9\u30e9\u30a4\u30c9\u3092\u958b\u304d\u307e\u3059\uff0e

\n
\n
\n

\u300c\u30d5\u30a1\u30a4\u30eb\u300d\u2192\u300c\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u300d\u3067\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u30a6\u30a3\u30c9\u30a6\u304c\u958b\u304d\u307e\u3059\uff0e

\n
\n
\n
\n\"LibreOffice
\n
\n
\n

\u66f8\u304d\u51fa\u3057\u5148\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea(\u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u66f8\u304d\u51fa\u3055\u308c\u308b\u306e\u3067\u65b0\u3057\u3044\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u7528\u610f\u3057\u305f\u307b\u3046\u304c\u826f\u3044)\u3092\u6307\u5b9a\u3057\uff0c\u4efb\u610f\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e
\n\u300c\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u300d\u306b\u300cHTML \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 (Impress) (.html;.htm)\u300d\u3092\u9078\u629e\u3057\u3066\u300c\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\uff0e

\n
\n
\n
\n\"LibreOffice
\n
\n
\n

\u300c\u30c7\u30b6\u30a4\u30f3\u306e\u5272\u308a\u5f53\u3066\u300d\u306f\u521d\u56de\u306f\u300c\u65b0\u898f\u30c7\u30b6\u30a4\u30f3\u300d\u3057\u304b\u9078\u3079\u307e\u305b\u3093\uff0e\u300c\u6b21\u3078\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\uff0e

\n
\n
\n
\n\"LibreOffice
\n
\n
\n

\u300c\u767a\u8868\u65b9\u6cd5\u300d\u306b\u300cWebCast\u300d\u3092\u9078\u629e\u3057\uff0c\u53f3\u5074\u306e\u300cWebCast\u300d\u3067\u306f\u300cPerl\u300d\u3092\u9078\u629e\u3057\u307e\u3059(ASP\u306f\u672a\u691c\u8a3c)\uff0e\u30c6\u30ad\u30b9\u30c8\u30dc\u30c3\u30af\u30b9\u306f\u898f\u5b9a\u5024\u306e\u307e\u307e\u3067\u69cb\u3044\u307e\u305b\u3093\uff0e\u300c\u6b21\u3078\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\uff0e

\n
\n
\n
\n\"LibreOffice
\n
\n
\n

\u300c\u540d\u524d\u3092\u4ed8\u3051\u3066\u753b\u50cf\u3092\u4fdd\u5b58\u300d(\u539f\u6587\u306f Save Image As \u306a\u306e\u3067\u8a33\u304c\u9593\u9055\u3063\u3066\u3044\u305d\u3046)\u3067\u753b\u50cf\u5f62\u5f0f\u3092\uff0c\u300c\u30e2\u30cb\u30bf\u30fc\u306e\u89e3\u50cf\u5ea6\u300d\u3067\u30b9\u30e9\u30a4\u30c9\u306e\u89e3\u50cf\u5ea6\u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e\u300c\u4f5c\u6210\u300d\u30dc\u30bf\u30f3\u3067\u66f8\u304d\u51fa\u3055\u308c\u307e\u3059\uff0e
\n\u66f8\u304d\u51fa\u3057\u6642\u306bHTML\u30c7\u30b6\u30a4\u30f3\u306e\u4fdd\u5b58\u30a6\u30a3\u30f3\u30c9\u30a6\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u304c\u30ad\u30e3\u30f3\u30bb\u30eb\u3082\u51fa\u6765\u307e\u3059\uff0e

\n
\n
\n
\n\"LibreOffice
\n
\n
\n

\u66f8\u304d\u51fa\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u898b\u308b\u3068\uff0c\u30b9\u30e9\u30a4\u30c9\u306e\u753b\u50cf\u3068\u3044\u304f\u3064\u304b\u306e.html\u30d5\u30a1\u30a4\u30eb\u3084.pl\u306a\u3069\u3082\u51fa\u529b\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\u3053\u308c\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u3092cgi\u306e\u52d5\u304fsite\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\uff0e
\n\u4eca\u306fcgi\u306e\u52d5\u304f\u5834\u6240\u304c\u3068\u3066\u3082\u9650\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u304c\u4e00\u756a\u96e3\u3057\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\uff0e

\n
\n
\n
\n
$ ls -w 80 ./slide_dir\ncommon.pl    img15.png  img24.png  img33.png  img42.png  img51.png  img7.png\ncurrpic.txt  img16.png  img25.png  img34.png  img43.png  img52.png  img8.png\neditpic.pl   img17.png  img26.png  img35.png  img44.png  img53.png  img9.png\nimg0.png     img18.png  img27.png  img36.png  img45.png  img54.png  index.html\nimg1.png     img19.png  img28.png  img37.png  img46.png  img55.png  picture.txt\nimg10.png    img2.png   img29.png  img38.png  img47.png  img56.png  poll.pl\nimg11.png    img20.png  img3.png   img39.png  img48.png  img57.png  savepic.pl\nimg12.png    img21.png  img30.png  img4.png   img49.png  img58.png  show.pl\nimg13.png    img22.png  img31.png  img40.png  img5.png   img59.png  slide.html\nimg14.png    img23.png  img32.png  img41.png  img50.png  img6.png   webcast.pl
\n
\n
\n
\n

\u4eca\u56de\u306f\u81ea\u5b85\u306e\u9069\u5f53\u306aApache httpd\u306e\u52d5\u3044\u3066\u3044\u308b\u74b0\u5883\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ scp -r ./slide_dir user@host:~/public_html/cgi-bin/
\n
\n
\n
\n

\u3053\u306e\u74b0\u5883\u306f .cgi \u3057\u304bcgi\u3068\u3057\u3066\u52d5\u304b\u306a\u3044\u306e\u3067\uff0c.htaccess \u3092\u4f5c\u6210\u3057\u3066 .pl \u3082cgi\u3068\u3057\u3066\u52d5\u304f\u3088\u3046\u306b\u3057\u307e\u3057\u305f\uff0e

\n
\n
\n
\n
$ echo 'AddHandler cgi-script .pl' > ./.htaccess\n$ cat ./.htaccess\nAddHandler cgi-script .pl
\n
\n
\n
\n

\u6b21\u306b *.pl \u30d5\u30a1\u30a4\u30eb\u306b\u5b9f\u884c\u6a29\u3092\u4ed8\u4e0e\u3057\u307e\u3059\uff0ehttpd\u306e\u30e6\u30fc\u30b6\u304c\u5b9f\u884c\u3067\u304d\u308b\u6a29\u9650\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ chmod o+x ./*.pl
\n
\n
\n
\n

\u6b21\u306b\u30da\u30fc\u30b8\u7ba1\u7406\u30d5\u30a1\u30a4\u30eb\u306e currpic.txt \u306b\u8aad\u307f\u66f8\u304d\u6a29\u3092\u4ed8\u4e0e\u3057\u307e\u3059\uff0ehttpd\u306e\u30e6\u30fc\u30b6\u304c\u8aad\u307f\u66f8\u304d\u3067\u304d\u308b\u6a29\u9650\u306b\u3057\u307e\u3059\uff0e

\n
\n
\n
\n
$ chmod o+rw ./currpic.txt
\n
\n
\n
\n

\u3053\u308c\u306f\u6050\u3089\u304f\u30b5\u30fc\u30d0\u306e\u74b0\u5883\u4f9d\u5b58\u3067\u3084\u3089\u306a\u304f\u3066\u3082\u52d5\u304f\u74b0\u5883\u306e\u307b\u3046\u304c\u591a\u3044\u3068\u601d\u3046\u306e\u3067\u4e00\u65e6\u30b9\u30ad\u30c3\u30d7\u3057\u3066\u52d5\u304b\u306a\u304b\u3063\u305f\u3089\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\uff0eeditpic.pl, editpic.pl, savepic.pl, show.pl \u30d5\u30a1\u30a4\u30eb\u306e require \"common.pl\"; \u884c\u3092 require \"./common.pl\"; \u306b\u66f8\u304d\u63db\u3048\u307e\u3059\uff0e

\n
\n
\n
\n
- require \"common.pl\";\n+ require \"./common.pl\";
\n
\n
\n
\n

\u3053\u306e\u72b6\u614b\u3067\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067\u8996\u8074\u8005\u306f index.html \u3092\uff0c\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u306f slide.html (html\u66f8\u304d\u51fa\u3057\u6642\u306e\u30d5\u30a1\u30a4\u30eb\u540d)\u3092\u958b\u3051\u3070OK\u306a\u306f\u305a\u3067\u3059\uff0e

\n
\n
\n

\u4ee5\u4e0b\u4eca\u56de\u8a66\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u3067\u3059\uff0e\u591a\u5206\u3059\u3050\u306b\u6d88\u3057\u307e\u3059\uff0e

\n
\n
\n\n
\n
\n

\u4ed5\u7d44\u307f\u3068\u3057\u3066\u306f\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u304c\u30da\u30fc\u30b8\u3081\u304f\u308a\u64cd\u4f5c\u3092\u3059\u308b\u3068\uff0c\u30da\u30fc\u30b8\u756a\u53f7\u306e\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b currpic.txt \u30d5\u30a1\u30a4\u30eb\u306b\u30da\u30fc\u30b8\u756a\u53f7\u3092\u683c\u7d0d\uff0e
\n\u8996\u8074\u8005\u5074\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u306f1\u79d2\u6bce\u306b cgi \u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u3066\uff0c\u547c\u3073\u51fa\u3055\u308c\u305f cgi \u5074\u3067\u306f\u73fe\u5728\u306e\u30da\u30fc\u30b8\u756a\u53f7\u304c\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b currpic.txt \u306e\u5185\u5bb9\u304b\u3089\u8a72\u5f53\u306e\u30da\u30fc\u30b8\u3092\u8868\u793a\u3059\u308b\uff0e\u3068\u3044\u3063\u305f\u3053\u3068\u3092\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e
\n\u305d\u306e\u305f\u3081\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u304c\u64cd\u4f5c\u3057\u3066\u304b\u3089\u5b9f\u969b\u306b\u8996\u8074\u8005\u306e\u30da\u30fc\u30b8\u304c\u66f4\u65b0\u3055\u308c\u308b\u307e\u3067\u6570\u79d2\u639b\u304b\u308b\u611f\u3058\u3067\u3059\uff0e

\n
\n
\n

\u4e2d\u3092\u898b\u308b\u3068\u89e3\u308a\u307e\u3059\u304c\u30e9\u30a4\u30d6\u30e9\u30ea\u3082\u540c\u68b1\u306e\u5c0f\u3055\u306a\u72ec\u81ea\u30e9\u30a4\u30d6\u30e9\u30ea1\u3064\u3060\u3051\u3067\u884c\u6570\u3082\u5c11\u306a\u304f\u3068\u3066\u3082\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u3067\u3059\uff0e\u3053\u308c\u306f\u8ab0\u3082\u4f7f\u308f\u305a\u57cb\u3082\u308c\u3066\u4f55\u5e74\u3082\u653e\u7f6e\u3055\u308c\u3066\u3044\u305d\u3046\u3067\u3059\uff0e
\n\u51fa\u6765\u308b\u3053\u3068\u306a\u3089\u6700\u8fd1\u306e\u30ae\u30b8\u30e5\u3068\u3067\u66f8\u304d\u76f4\u3055\u308c\u3066\u307b\u3057\u3044\u3051\u3069\u3053\u308c\u307e\u3067\u306e\u653e\u7f6e\u3063\u3077\u308a\u304b\u3089\u96e3\u3057\u305d\u3046\u3067\u3059\u306d\uff0e

\n
\n
\n

\u3068\u308a\u3042\u3048\u305a\u306fWeb\u306b\u516c\u958b\u3057\u3066\u53e3\u982d\u3067\u30da\u30fc\u30b8\u3081\u304f\u308a\u3092\u6307\u793a\u3059\u308b\u306e\u304c\u73fe\u5b9f\u7684\u305d\u3046\u3067\u3059\uff0e
\n(\u305d\u308c\u304b\u666e\u901a\u306b\u753b\u9762\u5171\u6709)

\n
\n
\n
LibreOffice\u74b0\u5883
\n
\n
$ dpkg-query -W libreoffice\nlibreoffice     1:6.4.4-1\n$ lsb_release -dr\nDescription:    Debian GNU/Linux bullseye/sid\nRelease:        unstable\n$ uname -m\nx86_64
\n
\n
\n
\n
WebServer\u74b0\u5883
\n
\n
$ dpkg-query -W apache2 perl\napache2 2.4.41-4ubuntu3\nperl    5.30.0-9build1\n$ lsb_release -dr\nDescription:    Ubuntu 20.04 LTS\nRelease:        20.04\n$ uname -m\nx86_64
\n
\n
\n

\n", "content_text": "add 2020-06-05\n\n\n\u8a72\u5f53\u3057\u305d\u3046\u306aBug\n\n\n\n105303 \u2013 Drop html export wizard\n\n\n\n\n\n\u30aa\u30f3\u30e9\u30a4\u30f3\u3067\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u3059\u308b\u3068\u304d\u4e00\u822c\u7684\u306b\u306f\u753b\u9762\u5171\u6709\u3059\u308b\u3068\u601d\u3044\u307e\u3059\u304c\uff0c\u30b9\u30e9\u30a4\u30c9\u30d5\u30a1\u30a4\u30eb\u3092\u524d\u3082\u3063\u3066\u914d\u5e03\u3057\u3066\u304a\u3044\u3066\u304a\u4e92\u3044\u305d\u308c\u3092\u898b\u306a\u304c\u3089\u30d7\u30ec\u30bc\u30f3\u3082\u51fa\u6765\u307e\u3059\uff0e\n\u305d\u306e\u9593\u304f\u3089\u3044\u306e\u6a5f\u80fd\u3067\u30b9\u30e9\u30a4\u30c9\u306e\u30da\u30fc\u30b8\u3081\u304f\u308a\u3092\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u3068\u8996\u8074\u8005\u3067\u540c\u671f\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u304c\u6b32\u3057\u3044\u306a\u3068\u601d\u3063\u3066\u3044\u307e\u3059\uff0e\n\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308b\u3088\u3046\u3067\u3059\u304c\u81ea\u5206\u304c\u4f55\u5ea6\u304b\u8a66\u3057\u305f\u9650\u308a\u3067\u306f\u300c\u30ed\u30b0\u30a4\u30f3\uff0f\u65b0\u898f\u767b\u9332\u300d\u304c\u51fa\u6765\u305a\u4f7f\u3048\u3066\u3044\u307e\u305b\u3093\uff0e\n\n\n\nSlideLive | \u767b\u58c7\u8cc7\u6599\u306e\u753b\u9762\u3092\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u3067\u5171\u6709\u3067\u304d\u308b\u30a2\u30d7\u30ea\n\n\n\nLibreOffice Impress \u306eHTML \u66f8\u304d\u51fa\u3057\u6a5f\u80fd\u306bWebCast \u6a5f\u80fd\u3092\u898b\u3064\u3051\u305f\u306e\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\uff0e\n\u3057\u304b\u3057\u7d39\u4ecb\u3057\u3066\u304a\u3044\u3066\u306a\u3093\u3067\u3059\u304c\u3053\u306e\u6a5f\u80fd\u306f\u9577\u3089\u304f\u30e1\u30f3\u30c6\u3055\u308c\u3066\u3044\u306a\u3044\u3088\u3046\u306a\u306e\u3067\u3042\u307e\u308a\u4f7f\u308f\u306a\u3044\u307b\u3046\u304c\u3044\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\uff0e(Perl cgi\u74b0\u5883\u3082\u7528\u610f\u3057\u306b\u304f\u3044\u3060\u308d\u3046\u3057)\n\n\n\u30d8\u30eb\u30d7\u3082\u3056\u3063\u304f\u308a\u3068\u3057\u305f\u8aac\u660e\u3057\u304b\u3042\u308a\u307e\u305b\u3093\uff0e\n\n\n\n\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092 HTML \u5f62\u5f0f\u3067\u4fdd\u5b58\n\n\n\n\n\nHTML \u5f62\u5f0f\u3067\u4fdd\u5b58\u3059\u308b\u30d7\u30ec\u30bc\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u3092\u958b\u304d\u307e\u3059\u3002\n\n\n\u30d5\u30a1\u30a4\u30eb \u2192 \u30a8\u30af\u30b9\u30dd\u30fc\u30c8 \u3092\u884c\u306a\u3044\u307e\u3059\u3002\n\n\n\u30d5\u30a1\u30a4\u30eb\u66f8\u5f0f \u3092 HTML \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 (LibreOffice Impress) (.html;.htm) \u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\n\n\n\u30d5\u30a1\u30a4\u30eb\u540d \u3092\u5165\u529b\u3057\u3066\u3001\u30a8\u30af\u30b9\u30dd\u30fc\u30c8 \u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002\n\n\nHTML \u30a8\u30af\u30b9\u30dd\u30fc\u30c8 \u30a6\u30a3\u30b6\u30fc\u30c9\u306e\u6307\u793a\u306b\u5f93\u3044\u307e\u3059\u3002\n\n\n\n\n\u3066\u3053\u3068\u3067\u30e1\u30e2\u304c\u3066\u3089\uff0e\n\n\nLibreOffice Impress \u3067\u66f8\u304d\u51fa\u3057\u305f\u3044\u30b9\u30e9\u30a4\u30c9\u3092\u958b\u304d\u307e\u3059\uff0e\n\n\n\u300c\u30d5\u30a1\u30a4\u30eb\u300d\u2192\u300c\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u300d\u3067\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u30a6\u30a3\u30c9\u30a6\u304c\u958b\u304d\u307e\u3059\uff0e\n\n\n\n\n\n\n\u66f8\u304d\u51fa\u3057\u5148\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea(\u8907\u6570\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u66f8\u304d\u51fa\u3055\u308c\u308b\u306e\u3067\u65b0\u3057\u3044\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u7528\u610f\u3057\u305f\u307b\u3046\u304c\u826f\u3044)\u3092\u6307\u5b9a\u3057\uff0c\u4efb\u610f\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e\n\u300c\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u300d\u306b\u300cHTML \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 (Impress) (.html;.htm)\u300d\u3092\u9078\u629e\u3057\u3066\u300c\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\uff0e\n\n\n\n\n\n\n\u300c\u30c7\u30b6\u30a4\u30f3\u306e\u5272\u308a\u5f53\u3066\u300d\u306f\u521d\u56de\u306f\u300c\u65b0\u898f\u30c7\u30b6\u30a4\u30f3\u300d\u3057\u304b\u9078\u3079\u307e\u305b\u3093\uff0e\u300c\u6b21\u3078\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\uff0e\n\n\n\n\n\n\n\u300c\u767a\u8868\u65b9\u6cd5\u300d\u306b\u300cWebCast\u300d\u3092\u9078\u629e\u3057\uff0c\u53f3\u5074\u306e\u300cWebCast\u300d\u3067\u306f\u300cPerl\u300d\u3092\u9078\u629e\u3057\u307e\u3059(ASP\u306f\u672a\u691c\u8a3c)\uff0e\u30c6\u30ad\u30b9\u30c8\u30dc\u30c3\u30af\u30b9\u306f\u898f\u5b9a\u5024\u306e\u307e\u307e\u3067\u69cb\u3044\u307e\u305b\u3093\uff0e\u300c\u6b21\u3078\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u307e\u3059\uff0e\n\n\n\n\n\n\n\u300c\u540d\u524d\u3092\u4ed8\u3051\u3066\u753b\u50cf\u3092\u4fdd\u5b58\u300d(\u539f\u6587\u306f Save Image As \u306a\u306e\u3067\u8a33\u304c\u9593\u9055\u3063\u3066\u3044\u305d\u3046)\u3067\u753b\u50cf\u5f62\u5f0f\u3092\uff0c\u300c\u30e2\u30cb\u30bf\u30fc\u306e\u89e3\u50cf\u5ea6\u300d\u3067\u30b9\u30e9\u30a4\u30c9\u306e\u89e3\u50cf\u5ea6\u3092\u6307\u5b9a\u3057\u307e\u3059\uff0e\u300c\u4f5c\u6210\u300d\u30dc\u30bf\u30f3\u3067\u66f8\u304d\u51fa\u3055\u308c\u307e\u3059\uff0e\n\u66f8\u304d\u51fa\u3057\u6642\u306bHTML\u30c7\u30b6\u30a4\u30f3\u306e\u4fdd\u5b58\u30a6\u30a3\u30f3\u30c9\u30a6\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u304c\u30ad\u30e3\u30f3\u30bb\u30eb\u3082\u51fa\u6765\u307e\u3059\uff0e\n\n\n\n\n\n\n\u66f8\u304d\u51fa\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u898b\u308b\u3068\uff0c\u30b9\u30e9\u30a4\u30c9\u306e\u753b\u50cf\u3068\u3044\u304f\u3064\u304b\u306e.html\u30d5\u30a1\u30a4\u30eb\u3084.pl\u306a\u3069\u3082\u51fa\u529b\u3055\u308c\u3066\u3044\u307e\u3059\uff0e\u3053\u308c\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u3092cgi\u306e\u52d5\u304fsite\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059\uff0e\n\u4eca\u306fcgi\u306e\u52d5\u304f\u5834\u6240\u304c\u3068\u3066\u3082\u9650\u3089\u308c\u3066\u3044\u308b\u306e\u3067\u3053\u308c\u304c\u4e00\u756a\u96e3\u3057\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u306d\uff0e\n\n\n\n$ ls -w 80 ./slide_dir\ncommon.pl img15.png img24.png img33.png img42.png img51.png img7.png\ncurrpic.txt img16.png img25.png img34.png img43.png img52.png img8.png\neditpic.pl img17.png img26.png img35.png img44.png img53.png img9.png\nimg0.png img18.png img27.png img36.png img45.png img54.png index.html\nimg1.png img19.png img28.png img37.png img46.png img55.png picture.txt\nimg10.png img2.png img29.png img38.png img47.png img56.png poll.pl\nimg11.png img20.png img3.png img39.png img48.png img57.png savepic.pl\nimg12.png img21.png img30.png img4.png img49.png img58.png show.pl\nimg13.png img22.png img31.png img40.png img5.png img59.png slide.html\nimg14.png img23.png img32.png img41.png img50.png img6.png webcast.pl\n\n\n\n\u4eca\u56de\u306f\u81ea\u5b85\u306e\u9069\u5f53\u306aApache httpd\u306e\u52d5\u3044\u3066\u3044\u308b\u74b0\u5883\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3057\u305f\uff0e\n\n\n\n$ scp -r ./slide_dir user@host:~/public_html/cgi-bin/\n\n\n\n\u3053\u306e\u74b0\u5883\u306f .cgi \u3057\u304bcgi\u3068\u3057\u3066\u52d5\u304b\u306a\u3044\u306e\u3067\uff0c.htaccess \u3092\u4f5c\u6210\u3057\u3066 .pl \u3082cgi\u3068\u3057\u3066\u52d5\u304f\u3088\u3046\u306b\u3057\u307e\u3057\u305f\uff0e\n\n\n\n$ echo 'AddHandler cgi-script .pl' > ./.htaccess\n$ cat ./.htaccess\nAddHandler cgi-script .pl\n\n\n\n\u6b21\u306b *.pl \u30d5\u30a1\u30a4\u30eb\u306b\u5b9f\u884c\u6a29\u3092\u4ed8\u4e0e\u3057\u307e\u3059\uff0ehttpd\u306e\u30e6\u30fc\u30b6\u304c\u5b9f\u884c\u3067\u304d\u308b\u6a29\u9650\u306b\u3057\u307e\u3059\uff0e\n\n\n\n$ chmod o+x ./*.pl\n\n\n\n\u6b21\u306b\u30da\u30fc\u30b8\u7ba1\u7406\u30d5\u30a1\u30a4\u30eb\u306e currpic.txt \u306b\u8aad\u307f\u66f8\u304d\u6a29\u3092\u4ed8\u4e0e\u3057\u307e\u3059\uff0ehttpd\u306e\u30e6\u30fc\u30b6\u304c\u8aad\u307f\u66f8\u304d\u3067\u304d\u308b\u6a29\u9650\u306b\u3057\u307e\u3059\uff0e\n\n\n\n$ chmod o+rw ./currpic.txt\n\n\n\n\u3053\u308c\u306f\u6050\u3089\u304f\u30b5\u30fc\u30d0\u306e\u74b0\u5883\u4f9d\u5b58\u3067\u3084\u3089\u306a\u304f\u3066\u3082\u52d5\u304f\u74b0\u5883\u306e\u307b\u3046\u304c\u591a\u3044\u3068\u601d\u3046\u306e\u3067\u4e00\u65e6\u30b9\u30ad\u30c3\u30d7\u3057\u3066\u52d5\u304b\u306a\u304b\u3063\u305f\u3089\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\uff0eeditpic.pl, editpic.pl, savepic.pl, show.pl \u30d5\u30a1\u30a4\u30eb\u306e require \"common.pl\"; \u884c\u3092 require \"./common.pl\"; \u306b\u66f8\u304d\u63db\u3048\u307e\u3059\uff0e\n\n\n\n- require \"common.pl\";\n+ require \"./common.pl\";\n\n\n\n\u3053\u306e\u72b6\u614b\u3067\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b6\u3067\u8996\u8074\u8005\u306f index.html \u3092\uff0c\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u306f slide.html (html\u66f8\u304d\u51fa\u3057\u6642\u306e\u30d5\u30a1\u30a4\u30eb\u540d)\u3092\u958b\u3051\u3070OK\u306a\u306f\u305a\u3067\u3059\uff0e\n\n\n\u4ee5\u4e0b\u4eca\u56de\u8a66\u3057\u305f\u30b5\u30f3\u30d7\u30eb\u3067\u3059\uff0e\u591a\u5206\u3059\u3050\u306b\u6d88\u3057\u307e\u3059\uff0e\n\n\n\n\u8996\u8074\u8005URL: https://home.matoken.org/~mk/cgi-bin/slide/index.html\n\u30d7\u30ec\u30bc\u30f3\u30bf\u30fcURL: https://home.matoken.org/~mk/cgi-bin/slide/slide.html\n\n\n\n\u4ed5\u7d44\u307f\u3068\u3057\u3066\u306f\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u304c\u30da\u30fc\u30b8\u3081\u304f\u308a\u64cd\u4f5c\u3092\u3059\u308b\u3068\uff0c\u30da\u30fc\u30b8\u756a\u53f7\u306e\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b currpic.txt \u30d5\u30a1\u30a4\u30eb\u306b\u30da\u30fc\u30b8\u756a\u53f7\u3092\u683c\u7d0d\uff0e\n\u8996\u8074\u8005\u5074\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u306f1\u79d2\u6bce\u306b cgi \u3092\u547c\u3073\u51fa\u3057\u3066\u3044\u3066\uff0c\u547c\u3073\u51fa\u3055\u308c\u305f cgi \u5074\u3067\u306f\u73fe\u5728\u306e\u30da\u30fc\u30b8\u756a\u53f7\u304c\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b currpic.txt \u306e\u5185\u5bb9\u304b\u3089\u8a72\u5f53\u306e\u30da\u30fc\u30b8\u3092\u8868\u793a\u3059\u308b\uff0e\u3068\u3044\u3063\u305f\u3053\u3068\u3092\u3057\u3066\u3044\u308b\u3088\u3046\u3067\u3059\uff0e\n\u305d\u306e\u305f\u3081\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u304c\u64cd\u4f5c\u3057\u3066\u304b\u3089\u5b9f\u969b\u306b\u8996\u8074\u8005\u306e\u30da\u30fc\u30b8\u304c\u66f4\u65b0\u3055\u308c\u308b\u307e\u3067\u6570\u79d2\u639b\u304b\u308b\u611f\u3058\u3067\u3059\uff0e\n\n\n\u4e2d\u3092\u898b\u308b\u3068\u89e3\u308a\u307e\u3059\u304c\u30e9\u30a4\u30d6\u30e9\u30ea\u3082\u540c\u68b1\u306e\u5c0f\u3055\u306a\u72ec\u81ea\u30e9\u30a4\u30d6\u30e9\u30ea1\u3064\u3060\u3051\u3067\u884c\u6570\u3082\u5c11\u306a\u304f\u3068\u3066\u3082\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u3067\u3059\uff0e\u3053\u308c\u306f\u8ab0\u3082\u4f7f\u308f\u305a\u57cb\u3082\u308c\u3066\u4f55\u5e74\u3082\u653e\u7f6e\u3055\u308c\u3066\u3044\u305d\u3046\u3067\u3059\uff0e\n\u51fa\u6765\u308b\u3053\u3068\u306a\u3089\u6700\u8fd1\u306e\u30ae\u30b8\u30e5\u3068\u3067\u66f8\u304d\u76f4\u3055\u308c\u3066\u307b\u3057\u3044\u3051\u3069\u3053\u308c\u307e\u3067\u306e\u653e\u7f6e\u3063\u3077\u308a\u304b\u3089\u96e3\u3057\u305d\u3046\u3067\u3059\u306d\uff0e\n\n\n\u3068\u308a\u3042\u3048\u305a\u306fWeb\u306b\u516c\u958b\u3057\u3066\u53e3\u982d\u3067\u30da\u30fc\u30b8\u3081\u304f\u308a\u3092\u6307\u793a\u3059\u308b\u306e\u304c\u73fe\u5b9f\u7684\u305d\u3046\u3067\u3059\uff0e\n(\u305d\u308c\u304b\u666e\u901a\u306b\u753b\u9762\u5171\u6709)\n\n\nLibreOffice\u74b0\u5883\n\n$ dpkg-query -W libreoffice\nlibreoffice 1:6.4.4-1\n$ lsb_release -dr\nDescription: Debian GNU/Linux bullseye/sid\nRelease: unstable\n$ uname -m\nx86_64\n\n\n\nWebServer\u74b0\u5883\n\n$ dpkg-query -W apache2 perl\napache2 2.4.41-4ubuntu3\nperl 5.30.0-9build1\n$ lsb_release -dr\nDescription: Ubuntu 20.04 LTS\nRelease: 20.04\n$ uname -m\nx86_64", "date_published": "2020-06-03T23:29:26+09:00", "date_modified": "2020-06-05T19:46:07+09:00", "authors": [ { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" } ], "author": { "name": "matoken", "url": "https://matoken.org/blog/author/matoken/", "avatar": "https://secure.gravatar.com/avatar/38f5f3b575c5eb45cda6aa659bca119ac7a5e16b46565e869d0030e3bd66981d?s=512&d=mm&r=g" }, "tags": [ "cgi", "Libreoffice", "Debian", "Focal Fossa(20.04)", "Linux", "sid", "Ubuntu", "\u52c9\u5f37\u4f1a" ] } ] }