Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Hiawathaのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Hiawatha
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ウェブサーバー]] [[en:Hiawatha]] [https://www.hiawatha-webserver.org/ Hiawatha] はセキュリティ・使いやすさ・軽量の3つが特徴のオープンソースな[[Wikipedia:Web server|ウェブサーバー]]です。[[Wikipedia:FastCGI|(Fast)]][[Wikipedia:Common Gateway Interface|CGI]], IPv6, URL 書き換え,リバースプロキシなどに対応しています。さらに他のウェブサーバーにはない機能として [[Wikipedia:SQL_injection|SQL インジェクション]], [[Wikipedia:Cross-site_scripting|XSS]], [[Wikipedia:Cross-site_scripting|CSRF]] あるいは脆弱性攻撃などをブロックします。 ==インストール== {{pkg|hiawatha}} パッケージを[[インストール]]してください。 ==設定== ===基本設定=== Hiawatha の設定ファイルは {{ic|/etc/hiawatha/hiawatha.conf}} です。デフォルトでは 404 ページを表示するようになっています。 デフォルトの設定ファイルではドキュメントディレクトリとして {{ic|/srv/http/my-domain/public}} が使われます。インストールが問題ないかテストするために、ダミーファイルを作成してください: {{hc|/srv/http/my-domain/public/index.html|Hello world!}} 設定ファイルの VIRTUAL HOSTS セクションを適宜修正してください。 そして {{ic|hiawatha.service}} を[[起動]]・[[有効化]]してからブラウザで {{ic|my-domain}} を開いてみてください。テストページが表示されるはずです。 設定ファイルのサンプルは {{ic|/etc/hiawatha/hiawatha.conf.sample}} にあります。 詳しくは公式の [https://www.hiawatha-webserver.org/howto HowTo] を参照。 ===CGI=== Hiawatha では [[Wikipedia:Common Gateway Interface|Common Gateway Interface]] (CGI) スクリプトをすぐに動作させることができます。CGI モジュールを有効化するだけです: {{hc|head=/etc/hiawatha/hiawatha.conf|output= VirtualHost { ... ExecuteCGI = yes } }} 使用するプログラミング言語のインタプリタがインストールされていることを確認してください (python であれば {{pkg|python}} をインストールします)。 詳しくは公式の [https://www.hiawatha-webserver.org/howto/cgi_and_fastcgi HowTo] を参照。 ===FastCGI=== {{pkg|fcgi}} をインストールしてください。それで Hiawatha は fcgi を使うことができます。 {{Note|FastCGI アプリケーションには種類が2つあります: * デーモンとして実行され、ポートを開いてウェブサーバーからの接続を待機するアプリケーション。 * ウェブサーバーによって実行され、パイプを使ってウェブサーバーと通信するアプリケーション。 Hiawatha がサポートしているのは前者のアプリケーションだけです。}} ====PHP==== {{pkg|php}}, {{pkg|php-cgi}}, {{pkg|php-fpm}} をインストールしてください ([[PHP]] や [[LAMP]] を参照)。そして {{ic|php-fpm.service}} を[[起動]]・[[有効化]]します。 php-cgi が動作していることを確認: {{Ic|php-cgi --version}}。 PHP 7.0.2 (cgi-fcgi) (built: Jan 6 2016 11:51:03) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies 上記のような表示がされれば、問題なく php はインストールされています。 設定ファイルの {{ic|FastCGIserver}} セクションに以下を追加してください: {{hc|/etc/hiawatha/hiawatha.conf|<nowiki> ### The following fast CGI daemon requires php-fpm using a UNIX socket and TCP port, respectively. # ACTIVATE a FastCGI server for php (using UNIX socket) FastCGIserver { FastCGIid = PHP7 ConnectTo = /run/php-fpm/php-fpm.sock Extension = php SessionTimeout = 30 } </nowiki>}} {{hc|/etc/hiawatha/hiawatha.conf|<nowiki> ### The following fast CGI daemon requires php-fpm using a UNIX socket and TCP port, respectively. # ACTIVATE a FastCGI server for php (using IP-address and TCP port) FastCGIserver { FastCGIid = PHP5 ConnectTo = 127.0.0.1:9000 Extension = php SessionTimeout = 30 } </nowiki>}} FastCGIserver を使うには、設定ファイルに以下を追加: {{hc|head=/etc/hiawatha/hiawatha.conf|output= VirtualHost { ... UseFastCGI = PHP7 } }} それから {{ic|hiawatha.service}} を[[systemd#ユニットを使う|リロード]]してください。 ====Ruby on Rails==== [https://www.hiawatha-webserver.org/howto/cgi_and_fastcgi HowTo] の FastCGI セクションを参照。 ==== Python FastCGI ==== [https://www.hiawatha-webserver.org/howto/cgi_and_fastcgi HowTo] の FastCGI セクションを参照。 ===リバースプロキシ=== 以下は {{ic|<nowiki>https://service.domain.net</nowiki>}} のリクエストを {{ic|8181}} ポートで動作しているウェブサービスに転送するリバースプロキシ設定の例です: {{hc|/etc/hiawatha/hiawatha.conf|<nowiki> VirtualHost { Hostname = service.domain.net WebsiteRoot = /var/www/domain StartFile = index.html ReverseProxy .* http://127.0.0.1:8181/ RequireTLS = yes } </nowiki>}} === SSL === SSL/TLS を使用するには設定ファイルに以下の {{ic|Binding}} を追加して {{ic|hiawatha.service}} を[[systemd#ユニットを使う|リロード]]してください。 {{hc|/etc/hiawatha/hiawatha.conf|<nowiki> Binding { Port = 443 TLScertFile = /etc/hiawatha/serverkey.pem } </nowiki>}} {{ic|serverkey.pem}} のアイテムの順番は重要です。順番は以下のようにしなければなりません: {{hc|serverkey.pem|<nowiki> -----BEGIN RSA PRIVATE KEY----- [webserver private key] -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- [webserver certificate] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [optional intermediate CA certificate] -----END CERTIFICATE----- </nowiki>}} 詳しくは公式の [https://www.hiawatha-webserver.org/howto/bindings HowTo] を参照。 ==== Let's Encrypt ==== Hiawatha で Let's Encrypt を使いたい場合は [[Let’s Encrypt]] の記事に書いてある手順に従ってください。その後、Hiawatha の証明書バンドルを作成します: # cd /etc/letsencrypt/live/domain.tld/ # cat privkey.pem cert.pem chain.pem > /etc/hiawatha/certs/domain.tld/hiawatha.pem 他のユーザーから見れないようにパーミッションを設定: # chmod 400 /etc/hiawatha/certs/domain.tld/hiawatha.pem {{ic|hiawatha.conf}} の TLScertFile のパスを変更: Binding { ... RequireTLS = yes TLScertFile = /etc/hiawatha/certs/domain.tld/hiawatha.pem ... } VirtualHost { ... RequireTLS = yes TLScertFile = /etc/hiawatha/certs/domain.tld/hiawatha.pem ... } 設定できたら Hiawatha を再起動してください。 詳しくは [https://www.hiawatha-webserver.org/forum/topic/2085 こちらのフォーラム投稿] を参照。 ==== Server Name Indication ==== Hiawatha は SNI をサポートしており、一つの IP アドレスで複数の TLS ウェブサイトを公開することができます。上記のように TLS バインディングを設定してください。SSL/TLS 証明書があるバーチャルホストごとに、バーチャルホストのブロックの中で {{ic|TLScertFile}} オプションを記述します。バーチャルホストが定義されていないウェブサイトがリクエストされたときは、Binding{} で指定した証明書が使われます。 {{hc|/etc/hiawatha/hiawatha.conf|<nowiki> VirtualHost { Hostname = www.website.org ... TLScertFile = website.pem } </nowiki>}} === 出力の圧縮 === Hiawatha は gzip によるコンテンツのエンコードに対応していませんが、あらかじめ zip で圧縮しておく方法が存在します。 詳しくは公式の [https://www.hiawatha-webserver.org/faq FAQ] を参照。 == 参照 == * [https://www.hiawatha-webserver.org/support Hiawatha サポートページ]
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Hiawatha
に戻る。
検索
検索
Hiawathaのソースを表示
話題を追加