2019年09月03日(火) [長年日記]
■ [dev][howto] GitHubでフォーク元に追従する
GitHubでフォークしたリポジトリをフォーク元の最新に同期する方法について、GitHubのヘルプにある方法をメモ。ヘルプは公式で翻訳されている。
- フォークにリモートを設定する (GitHub ヘルプ)
- フォークを同期する (GitHub ヘルプ)
フォーク元を登録
まず現状を確認。
$ git remote -v origin git@github.com:YOUR_USERNAME/YOUR_FORK.git (fetch) origin git@github.com:YOUR_USERNAME/YOUR_FORK.git (push)
まだフォーク元が登録されていないのなら、次を実行して登録する。upstreamという名前で登録している。
$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
フォーク元の最新を取り込む
upstreamをローカルにfetchした後で、upstream/masterをmasterブランチにマージする。
$ git fetch upstream $ git checkout master $ git merge upstream/master
問題なければoriginにpushする。
$ git push origin HEAD
2019年09月13日(金) [長年日記]
■ [web][java] TomcatをApacheと連携させる方法
Tomcatの前段にリバースプロキシとしてApacheを配置し、Apache経由でTomcatにアクセスできるようにする方法を少し調べたのでメモ。試したバージョンはTomcat 8.5.39とApache 2.4.29。
リバースプロキシとして動作させるためにはApacheにモジュールを導入する必要があるが、その選択肢として次の3つがある。
モジュール名 | Apache~Tomcat間のプロトコル | メモ |
mod_proxy_http | HTTP | Apacheの同梱モジュールで導入は簡単 |
mod_proxy_ajp | AJP | Apacheの同梱モジュールで導入はまあ簡単 |
mod_jk | AJP | Tomcat側で開発されている。試してないけど上記モジュールよりは面倒そう |
mod_proxy_httpを使う場合
TomcatはデフォルトでHTTPを受け付けるようになっているので、mod_proxy_httpを使う場合はApache側の設定だけで連携を実現できる。必要な設定はモジュールのロードと要求の転送設定で、次のような感じで指定する。
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so <IfModule mod_proxy.c> ProxyPass /test http://localhost:8080/app1 ProxyPassReverse /test http://localhost:8080/app1 </IfModule>
- mod_proxy_httpを動作させるにはmod_proxyも必要なのでそれもロードする。
- ProxyPassが要求を転送するためのディレクティブ。
- ProxyPassReverseはリダイレクト先を適切にマッピングするためのディレクティブ。
- mod_proxyにはほかにも色々なディレクティブがあるので、必要に応じてそれらを使う。
mod_proxy_ajpを使う場合
mod_proxy_ajpを使うには、TomcatがAJPを受け付けるように設定する必要がある。server.xmlの中に
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
というような行があるので、これを生かす(コメントアウトを外す)ようにすればよい。
Apache側の設定はmod_proxy_httpと同様。ロードするモジュール、プロトコル名、ポート番号を変えればよい。
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_ajp_module /usr/lib/apache2/modules/mod_proxy_ajp.so <IfModule mod_proxy.c> ProxyPass /test ajp://localhost:8009/app1 ProxyPassReverse /test ajp://localhost:8009/app1 </IfModule>
2019年09月27日(金) [長年日記]
■ [windows] Windows 10でファイル共有ができない原因
Windows 10でフォルダを共有しても、他のPCからアクセスできず困った。
設定の[ネットワークとインターネット]→[共有オプション]にある設定を色々変更してみたが解決しない。
共有ができない原因は、ネットワークアダプターの設定にあった。設定の[ネットワークとインターネット]→[アダプターのオプションを変更する]ででる画面で対象アダプタのプロパティを表示すると、
- Microsoftネットワーク用ファイルとプリンター共有
のチェックが外れていた。ここをチェックすると共有フォルダへ他のPCからアクセスできるようになった。