{"id":134,"date":"2022-04-25T20:00:00","date_gmt":"2022-04-25T11:00:00","guid":{"rendered":"https:\/\/www.app-tools.net\/blog\/?p=134"},"modified":"2022-05-05T01:58:48","modified_gmt":"2022-05-04T16:58:48","slug":"post-134","status":"publish","type":"post","link":"https:\/\/www.app-tools.net\/blog\/?p=134","title":{"rendered":"asdf\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fRuby\u3092apache2\u304b\u3089CGI\u3067\u4f7f\u3046"},"content":{"rendered":"\n<p>\/usr\/local\/bin\/ruby \u306e\u30d1\u30b9\u306basdf\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fruby\u3092\u4f7f\u3046\u65b9\u6cd5\u3002<br>\u3044\u307e\u3069\u304d\u306a\u306e\u306bRoR(Ruby on Rails)\u3058\u3083\u306a\u3044\u306e\uff1f<br>\u306f\u3044\u3002CGI\u3067\u4f7f\u3046\u65b9\u6cd5\u3092\u66f8\u304d\u307e\u3059\u3002<br>(\u7406\u7531\u306f\u3046\u3061\u306e\u30ec\u30f3\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc\u3067\u4f7f\u3048\u308b\u9078\u629e\u80a2\u3060\u304b\u3089\u30fb\u30fb\u30fb)<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Apache\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\uff5eCGI\u5229\u7528\u6e96\u5099<\/h2>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter line-numbers language-bash\"><code class=\"language-bash\">sudo apt -y apache2<\/code><\/pre>\n\n\n\n<p><strong>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7684\u306a\u5909\u66f4<\/strong><br>HTTP\u306e\u30d8\u30c3\u30c0\u306b\u60c5\u5831\u3092\u51fa\u529b\u3059\u308b\u304b\u3069\u3046\u304b\u306e\u8a2d\u5b9a\u3002(\u5916\u90e8\u306b\u516c\u958b\u3057\u306a\u3044\u306a\u3089\u8a2d\u5b9a\u4e0d\u8981)<\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter line-numbers language-basic\"><code class=\"language-basic\">sudo vi \/etc\/apache2\/conf-enabled\/security.conf\n\n# \u4ee5\u4e0b\u7de8\u96c6\u5185\u5bb9 ----------------------------------------------------\n# ServerTokens \u306e\u8a2d\u5b9a\u3092\u5909\u66f4 (Full\u4ee5\u5916\u3092\u9078\u629e)\nServerTokens Prod\n\n# \u30a8\u30e9\u30fc\u30da\u30fc\u30b8\u306e\u30d5\u30c3\u30bf\u306e\u6291\u5236 (On\u306a\u3089Off\u3078\u5909\u66f4)\nServerSignature Off<\/code><\/pre>\n\n\n\n<p>\u203b\u3061\u306a\u307f\u306b\u300cvi\u300d\u306f\u3001\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf\u3067\u3001\u6700\u4f4e\u9650\u306e\u4f7f\u3044\u65b9\u3068\u3057\u3066\u306f\u300cIns\u300d\u30ad\u30fc\u3067\u633f\u5165\u30e2\u30fc\u30c9\u3078\u5909\u66f4<br>\u305d\u306e\u72b6\u614b\u304b\u3089\u300cEsc\u300d\u5f8c\u306b\u300c:wq\u300d\u3067\u4fdd\u5b58\uff0b\u7d42\u4e86\u3002<\/p>\n\n\n\n<p><strong>\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u540d\u3060\u3051\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u5909\u66f4<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter line-numbers language-bash\"><code class=\"language-bash\">sudo vi \/etc\/apache2\/mods-enabled\/dir.conf\n\n# index.html\u3092\u81ea\u52d5\u7684\u306b\u691c\u77e5\u3055\u305b\u308b\u8a2d\u5b9a\nDirectoryIndex index.html<\/code><\/pre>\n\n\n\n<p><strong>CGI\u3092\u6709\u52b9\u5316<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter line-numbers language-bash\"><code class=\"language-bash\">sudo a2enmod cgi\n\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<p><strong>\u30e6\u30fc\u30b6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3059\u308b<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter line-numbers language-bash\"><code class=\"language-bash\">sudo a2enmod userdir\n\nsudo systemctl restart apache2\n\nmkdir ~\/public_html<\/code><\/pre>\n\n\n\n<p><strong>\u30e6\u30fc\u30b6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea(\/cgi-bin\u4ee5\u4e0b)\u3067CGI\u3092\u5229\u7528<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter line-numbers language-bash\"><code class=\"language-bash\">mkdir ~\/public_html\/cgi-bin\n\nsudo vi \/etc\/apache2\/conf-enabled\/cgi-enabled.conf\n\n# \u4ee5\u4e0b\u7de8\u96c6\u5185\u5bb9 ----------------------------------------------------\n&lt;Directory \"\/home\/*\/public_html\/cgi-bin\">\n    Options +ExecCGI\n    AddHandler cgi-script .cgi .rb\n&lt;\/Directory>\n# \u4ee5\u4e0a\u7de8\u96c6\u5185\u5bb9 ----------------------------------------------------\n\nsudo systemctl restart apache2<\/code><\/pre>\n\n\n\n<p>\u4ee5\u4e0a\u3067\u300c~\/public_html\/index.html\u300d\u306bhtml\u30d5\u30a1\u30a4\u30eb\u3092\u914d\u7f6e\u3059\u308b\u3068\u300chttp:\/\/localhost\/~&lt;\u30e6\u30fc\u30b6\u540d&gt;\/\u300d\u3078\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u3067\u30e6\u30fc\u30b6\u6bce\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067\u30d5\u30a1\u30a4\u30eb\u30a2\u30af\u30bb\u30b9\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">asdf\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fRuby\u306e\u30d1\u30b9\u3092\u901a\u3059<\/h2>\n\n\n\n<p>asdf\u3067ruby\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f<a href=\"https:\/\/www.app-tools.net\/blog\/?p=124\" data-type=\"URL\" data-id=\"https:\/\/www.app-tools.net\/blog\/?p=124\">\u3053\u3061\u3089<\/a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p><strong>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea(\u30d0\u30fc\u30b8\u30e7\u30f3)\u3092\u78ba\u8a8d<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter\"><code>ls ~\/.asdf\/installs\/ruby\n\n# \u7d50\u679c\u4f8b\n2.5.9\/ 3.0.3\/ 3.1.1\/<\/code><\/pre>\n\n\n\n<p><strong>\u300c\/usr\/local\/bin\/ruby\u300d\u3067\u8d77\u52d5\u3059\u308b\u3088\u3046\u306b\u30b7\u30f3\u30dc\u30ea\u30c3\u30af\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter\"><code>sudo ln -s ~\/.asdf\/installs\/ruby\/2.5.9\/bin\/ruby \/usr\/local\/bin\/<\/code><\/pre>\n\n\n\n<p>\u4ee5\u4e0a\u3067\u300c~\/public_html\/cgi-bin\/\u300d\u4ee5\u4e0b\u306b\u914d\u7f6e\u3057\u305fcgi\u3084rb\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u51fa\u305b\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p><strong>\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u306e\u5909\u66f4<\/strong><\/p>\n\n\n\n<p>cgi\u3084rb\u30d5\u30a1\u30a4\u30eb\u3092CGI\u3068\u3057\u3066\u5b9f\u884c\u3059\u308b\u306b\u306f\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30af\u30bb\u30b9\u6a29\u3092\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-luxe-blocks-syntaxhighlighter\"><code>chmod 705 &lt;CGI\u3068\u3057\u3066\u52d5\u304b\u3059\u30d5\u30a1\u30a4\u30eb><\/code><\/pre>\n\n\n\n<p>\u3061\u306a\u307f\u306b\u30d1\u30b9\u3092\u901a\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u3084\u30a2\u30af\u30bb\u30b9\u6a29\u3092\u5909\u66f4\u3057\u3066\u3044\u306a\u3044\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306aInternal Server Error\u304c\u51fa\u307e\u3059\u3002<br>\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306f\u3001\u4e0a\u8a18\u306e\u8a2d\u5b9a\u3092\u898b\u76f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Internal Server Error<\/h1>\n\n\n\n<p>The server encountered an internal error or misconfiguration and was unable to complete your request.<\/p>\n\n\n\n<p>Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.<\/p>\n\n\n\n<p>More information about this error may be available in the server error log.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/usr\/local\/bin\/ruby \u306e\u30d1\u30b9\u306basdf\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305fruby\u3092\u4f7f\u3046\u65b9\u6cd5\u3002\u3044\u307e\u3069\u304d\u306a\u306e\u306bRoR(Ruby on Rails)\u3058\u3083\u306a\u3044\u306e\uff1f\u306f\u3044\u3002CGI\u3067\u4f7f\u3046\u65b9\u6cd5\u3092\u66f8\u304d\u307e\u3059\u3002(\u7406\u7531\u306f\u3046\u3061\u306e\u30ec\u30f3\u30bf\u30eb\u30b5\u30fc\u30d0\u30fc [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":106,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,29,23,6,31],"tags":[30,27,28,26],"class_list":["post-134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asdf","category-ruby","category-ubuntu","category-web","category-31","tag-apache2","tag-asdf","tag-ruby","tag-ubuntu"],"_links":{"self":[{"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=134"}],"version-history":[{"count":3,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/134\/revisions"}],"predecessor-version":[{"id":138,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/134\/revisions\/138"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=\/wp\/v2\/media\/106"}],"wp:attachment":[{"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.app-tools.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}