「Apache」の版間の差分
提供: fukudat.net
ナビゲーションに移動検索に移動
50行目: | 50行目: | ||
$ sudo apachectl restart | $ sudo apachectl restart | ||
</pre> | </pre> | ||
+ | |||
+ | == あるディレクトリの下を Digest 認証にする == | ||
+ | /etc/apache2/conf-available の下に、適当な名前 (例えば digest.conf) を以下のような内容で作成する。 | ||
+ | ただし、XXXXX は保護するディレクトリ、YYYYY は htdigest に登録する realm、USER[123] はアクセスを許可するユーザー。 | ||
+ | <pre> | ||
+ | <Location /XXXXX> | ||
+ | AuthType Digest | ||
+ | AuthName "YYYYY" | ||
+ | AuthDigestDomain /XXXXX | ||
+ | AuthUserFile /var/www/htdigest | ||
+ | require user USER1 USER2 USER3 | ||
+ | </Location> | ||
+ | </pre> | ||
+ | |||
+ | このファイルを /etc/apache2/conf-enabled の下にシンボリックリンクを張る。 | ||
+ | <pre> | ||
+ | $ cd /etc/apache2/conf-enabled | ||
+ | $ ln -s ../conf-available/digest.conf . | ||
+ | </pre> | ||
+ | |||
+ | 以下のコマンドで、/var/www/htdigest ファイルにユーザとパスワードを登録する。 | ||
+ | <pre> | ||
+ | $ sudo touch /var/www/htdigest | ||
+ | $ sudo htdigest /var/www/htdigest XXXXX YYYYY USER1 | ||
+ | $ sudo htdigest /var/www/htdigest XXXXX YYYYY USER2 | ||
+ | $ sudo htdigest /var/www/htdigest XXXXX YYYYY USER3 | ||
+ | </pre> | ||
+ | |||
+ | == reverse proxy を使って docker-compose 上のサブサーバーを動かす == | ||
+ | /etc/apache2/conf-available の下に、reverse_proxy.conf を以下のような内容で作成する。 | ||
+ | <pre> | ||
+ | ProxyRequests Off | ||
+ | |||
+ | <Proxy *> | ||
+ | Order deny,allow | ||
+ | Allow from all | ||
+ | </Proxy> | ||
+ | |||
+ | # Application XXXXX | ||
+ | ProxyPass /XXXXX http://localhost:PORT/YYYYY | ||
+ | ProxyPassReverse /XXXXX http://localhost:PORT/YYYYY | ||
+ | </pre> | ||
+ | ただし、/XXXXX はアプリケーションの外向きのパスで、内部では http://localhost:PORT/YYYYY でアクセスできるものとする。PORT はポート番号。 |
2021年3月31日 (水) 01:29時点における版
Apache2 を Ubuntu で使う時の覚書き。
目次
Install
$ sudo apt-get install apache2
Configure
/etc/apache2
の下に config file が配置される。
SSL
SSL Certificate で作った鍵ファイルと証明書ファイルと中間証明書ファイルを、それぞれ
- /etc/ssl/private/XXXXXXXXXX.key
- /etc/ssl/certs/XXXXXXXXXX.crt
- /etc/ssl/certs/ca-bundle.ca
に置く。
/etc/apache2/site-available/default-ssl.conf を以下のように編集する。
<IfModule> <VirtualHost _default_:443> ... ServerName fukukdat.net ServerAdmin admin@fukudat.net ErrorLog ${APACHE_LOG_DIR}/ssl_error.log CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined SSLCertificateFile /etc/ssl/certs/XXXXXXXXXX.crt SSLCertificateKeyFile /etc/ssl/private/XXXXXXXXXX.key SSLCertificateChainFile /etc/ssl/certs/ca-bundle.ca ... </VirtualHost> </IfModule>
config ファイルを enable する。
$ cd /etc/apache2/mods-enabled $ sudo ln -s ../mods-available/ssl.conf . $ sudo ln -s ../mods-available/ssl.load . $ sudo ln -s ../mods-available/socache_shmcb.load . $ cd /etc/apache2/sites-enabled $ sudo ln -s ../sites-available/default-ssl.conf .
apache を再起動して、browser で https://SERVER_NAME/ にアクセスしてみる。
$ sudo apachectl restart
あるディレクトリの下を Digest 認証にする
/etc/apache2/conf-available の下に、適当な名前 (例えば digest.conf) を以下のような内容で作成する。 ただし、XXXXX は保護するディレクトリ、YYYYY は htdigest に登録する realm、USER[123] はアクセスを許可するユーザー。
<Location /XXXXX> AuthType Digest AuthName "YYYYY" AuthDigestDomain /XXXXX AuthUserFile /var/www/htdigest require user USER1 USER2 USER3 </Location>
このファイルを /etc/apache2/conf-enabled の下にシンボリックリンクを張る。
$ cd /etc/apache2/conf-enabled $ ln -s ../conf-available/digest.conf .
以下のコマンドで、/var/www/htdigest ファイルにユーザとパスワードを登録する。
$ sudo touch /var/www/htdigest $ sudo htdigest /var/www/htdigest XXXXX YYYYY USER1 $ sudo htdigest /var/www/htdigest XXXXX YYYYY USER2 $ sudo htdigest /var/www/htdigest XXXXX YYYYY USER3
reverse proxy を使って docker-compose 上のサブサーバーを動かす
/etc/apache2/conf-available の下に、reverse_proxy.conf を以下のような内容で作成する。
ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> # Application XXXXX ProxyPass /XXXXX http://localhost:PORT/YYYYY ProxyPassReverse /XXXXX http://localhost:PORT/YYYYY
ただし、/XXXXX はアプリケーションの外向きのパスで、内部では http://localhost:PORT/YYYYY でアクセスできるものとする。PORT はポート番号。