Windows版Rancher DesktopのKubernetesで外部にサービスを公開する

Docker Desktopが有料化し、大人の事情で使えなくなった人の救世主となったRancher Desktopですが、Docker Desktopでできていたことができない事があります。
その一つが、Kubernetes上に立ち上げたサービスがlocalhostでしかアクセスできない、ホストのIPアドレスではルートがなくてアクセスできない問題があります。

実はこの問題の解決方法は公式ドキュメントにあります。

github.com

上記記事のExposing a Portの項に従ってください。

具体的には、8080ポートを開放する場合、管理者権限のDOS窓を開き、以下のコマンドを入力します。

netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=localhost

MacでAMP

MAMPで一発とかbrewでまるっとできるけど、Mac標準のApachePHPで頑張りたい人向け。

環境

macOS Catalina

Apache

起動

$ sudo apachectl start

再起動

$ sudo apachectl restart

停止

$ sudo apachectl stop

userdir

/etc/apache2/httpd.conf

- #LoadModule userdir_module libexec/apache2/mod_userdir.so
+ LoadModule userdir_module libexec/apache2/mod_userdir.so
- #Include /private/etc/apache2/extra/httpd-userdir.conf
+ Include /private/etc/apache2/extra/httpd-userdir.conf

userdir に public_html を使いたい

/etc/apache2/extra/httpd-userdir.conf

- UserDir Sites
+ UserDir public_html
- #Include /private/etc/apache2/users/*.conf
+ Include /private/etc/apache2/users/*.conf

/etc/apache2/users/{username}.conf 作成
{username} はあなたのユーザー名

<Directory "/Users/{username}/public_html/">
        Options Indexes MultiViews
        Require all granted
</Directory>

PHP

/etc/apache2/httpd.conf

- #LoadModule php7_module libexec/apache2/libphp7.so
+ LoadModule php7_module libexec/apache2/libphp7.so

MySQL

これは標準で入ってないので仕方なくインストール

$ brew install mysql

起動

$ mysql.server start

停止

$ mysql.server stop

Windowsシステムドライブの換装

餓鬼共の使っているノートの160GB HDDを250GB SSDに乗せ換えて高速化してやろうと画策。
ADATAの250GB SSDが3980円で売ってたので購入。
普段ならクリーンインストールといくところだケド、PC2台あるのでめんどくさい。
ということでまるっとdd作戦を行い無事成功したので結果報告を行います。

 1. まず、ddの使える適当なLinuxディストリビューションをCDとかUSBに焼きます。(僕はArch LinuxをCD-Rに焼きました)
 2. 内臓ドライブをSSDに換装。とりだしたHDDはUSBに接続します。(僕はあまってたHDD外付け用ケースに入れました)
 3. 先ほど焼いたLinuxを起動してroot権限のプロンプトまで来ます。
 4. ddでディスクを丸ごとコピーします。

dd if=/dev/oldhdd of=/dev/newssd bs=64K conv=noerror,sync

 5. まるっとコピーなので時間がかかります。返ってくるまで待ちましょう。
 6. Linuxディスクと古いHDDをとりはずし、再起動します。
 7. うまくゆけばOSが起動します。
 8. ディスクの管理を開き、ボリュームの拡張で未使用領域を使用できるようにします。

※oldhdd, newssd は sda, sdbとかになってます。間違えるとやらかしますのでlsblkとかでよく確認しましょう。
※今回はHDD→SSDですが、より大きなディスクへの移行ならHDD→HDD, SSDSSD等でも問題ありません。

頑張れサラリーマン

神ゲー「頑サラ」についてよくわかってない人が多いので、念のため公式の説明を引用させていただきます。

■頑張れサラリーマン
せつなくもおかしいサラリーマンの日常を描いた、ドラマメニュー!

■頑張れサラリーマン2
「頑張れサラリーマン」の第2弾!今回は新たに会社の同僚君が登場します!

「頑張れサラリーマン」の第2弾!今回は新たに会社の同僚君が登場します。特定のシーンでキー操作「右右右左左左右右右右左左左」を行うと、同僚君が現れたり、同僚君がこちらを振り向いたりする隠しコマンドも追加になりました!

■頑張れサラリーマン3
「頑張れサラリーマン」の第3弾!今回は舞台が大阪に!

「頑張れサラリーマン」の第3弾!今回は大阪編です。特定のシーンでキー操作「右右右左左左右右右右左左左」を行うと、あるアイテムが動いたり、特定のアイテムが現れるなど、隠しコマンドも入っています。

■頑張れサラリーマン4
「頑張れサラリーマン」の第4弾!今回は「おっさん」が学生に?!

「頑張れサラリーマン」の第4弾!今回は学生編です。特定のシーンでキー操作「右右右左左左右右右右左左左」や「右右右左左左右右右右左左右左」を行うと、あるアイテムが現れるなど、隠しコマンドも入っています。

■頑張れサラリーマン5
「頑張れサラリーマン」の第5弾!「おっさん」が喫茶店のマスターに!?

お待たせしました!大人気シリーズ「頑張れサラリーマン」の新作がついに登場!
今回は「おっさん」が脱サラして、喫茶店のマスターに転職します。
とある町の片隅に、ひっそりとたたずむ「純喫茶 おもひで」。そこで繰り広げられる「おっさん」の脱サラ生活を、どうぞお楽しみください★

■頑張れサラリーマン6
シリーズ第6弾!経営する喫茶店がつぶれ、借金を抱えてしまう「おっさん」。返済のため、サラリーマンと警備員のハードなダブルワークを始めるが…?!

名作シリーズ「頑張れサラリーマン」に待望の新作が登場!!
前作「頑張れサラリーマン5」で喫茶店のマスターに転職した「おっさん」。
ところが不況のあおりを受け、喫茶店の経営が破綻!なじみのお客様に惜しまれつつも、お店をたたむことになりました。
お店は人出に渡り、手元には借金が・・・。
借金返済のため、「おっさん」は長年勤めあげて退職した会社の社長に相談し、復職を願い出ます。そして昼はサラリーマン、夜は会社の地下駐車場を警備する警備員の仕事を始めます。
お店とともに自宅を手放した「おっさん」の生活の場は、地下駐車場の並びにある守護室。「おっさん」の身の上を気の毒に思った社長のはからいで、守護室にいそうろうさせてもらえることになりました。そこには、個性的な同僚が登場します。
そんな「おっさん」のささやかな楽しみは、休日の渋谷ハチ公前でのストリートウォッチング。ときたまハプニングに見舞われつつ、まったりと過ごします。
さらに本作では、訳あって「おっさん」と離ればなれに暮らす娘さん、奥さんとの関係に変化?!があるかもしれません。クリスマスに何かが起きる?!どうぞお見逃しなく!!
サラリーマンと警備員のハードなダブルワーク生活。厳しい時代をけなげに頑張る「おっさん」を、どうぞあたたかく見守ってください!

■頑張れサラリーマン7
「頑張れサラリーマン」最新第7弾!海外出張に大抜擢されたおっさん。ところが、大嵐に遭遇し無人島(?)に漂着。住居は!?食料は!?脱出できるのか!?おっさんのサバイバル生活が、いま、始まる!!

前作「頑張れサラリーマン6」で会社に復帰し、サラリーマンと警備員のハードなダブルワーク生活をけなげに頑張っていた「おっさん」。
今回は、そんな日々の頑張りも認められてか、海外の現地調査に大抜擢された「おっさん」が…
な、なんと漂流!?
異国の地で大嵐に見舞われ、「おっさん」は一人、無人島(?)に漂着することに…。
「おっさん」の切なくもたくましいサバイバル生活が始まります。
ときに失敗もありつつも、愛する家族を思いながら頑張る「おっさん」。
そして後半、ついに何かを決断!!?
果たして無人島から脱出できるのか!?
「おっさん」の行動に目が離せない、「頑張れサラリーマン7〜漂流編〜」。どうぞお見逃しなく!!!
※本コンテンツは、日時連動のため、ダウンロードした日時によってはストーリーの進行が途中からとなる場合がございます。予めご了承ください。

■頑張れサラリーマン8
漂流から帰還したおっさんを迎えてくれた妻と娘。サバイバル生活で培った経験を買われ、おっさんはベンチャー企業へ就職、家族3人の暮らしが始まる!

名作シリーズ「頑張れサラリーマン」の最新作第8弾!
前作“漂流編”での無人島生活からついに帰還した「おっさん」!
そんな「おっさん」を暖かく迎えてくれたのは、家族である、奥さんと娘。
長年の頑サラシリーズで初となる、家族3人での暮らしがスタート!
家族のために、会社で、自宅で、毎日頑張る「おっさん」の姿をぜひご覧ください。

Arch Linux で Redmine を動かす。

基本的には Arch Wiki に従うんだけどうまくいかなかったトコもあったのでメモ。
目指すは Redmine 3.3.2 + ruby 2.3 + MariaDB 10.1 + passenger

Redmine は AUR にあるので有り難くそれを使わせていただく。
Redmine のバージョンは 3.3.2 でありonly supports ruby 2.3 とあるので Ruby のバージョンは必然的に 2.3 となる。
公式リポジトリruby は 2.4 だったので、RVM を使うことにしたんだけど、RVM で ruby 2.3 をコンパイルしようとすると、
openssl 1.0 への依存が解決できなくてコンパイルが完走しない。ちなみに現時点での openssl は 1.1.0。
ruby 2.3 をコンパイルするためだけに openssl をダウングレードするのもめんどくさいのでこれは諦めた。

公式リポジトリを見ると ruby2.3 てのがあるのでコイツを使うことにした。
そのままセットアップを続けると、passenger が /root/.gem/ 以下のものを使おうとしてうまく走らなかったので、
/etc/gemrc 内の gem: --user-install をコメントアウトして再セットアップ。
これにてうまく動きました…。

Git + gitolite から Windows 環境にて SourceTree での clone がコケる問題

クローンすると、「ソースを確認中…」のぐるぐるが終わらず無限ループに陥る問題、解決しました。

おそらく、Store key in cache? (y/n) に答えれていないのかなぁと目星をつけて、これを何とかしようと考えました。
しかし、Windows の SourceTree って、ターミナルが開かない(僕の環境が悪いだけかもしれませんが…)。
昔は Git Bashが開いたのにね。

そこで、Dos窓で以下のコマンドを入力するといけました。
example.com はサーバー名

"C:\Proguram Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe" -ssh gitolite@example.com