極北別世界通信
以前からやろうやろうと思ってはいたのですがなかなか手が出せなかったOpenLDAP構築にようやく手を出した。 きっかけは前回投稿しているOpenMeetings関連。 社内でテスト利用してもらおうにも、アカウント周りの作成とか管理が課題になる。 んではLDAPで管理すりゃええんちゃう?ということで構築開始。また、今後もLDAPをサポートしているオープンソースの各種ソフトウェアの試験利用時にもアカウントを使いまわせて試す側も楽になるであろうという考えもあってのことではある。 過去に構築そのものはしたことがあるが、その際には有識者とセットで仕事でやったものなんで、極論を言えばコピペが正しく出来ましたか?レベルだったので、今回はちゃんと自分のとこの環境として考えて構築する。  
世の中リモートワークばやりでございますが、捻くれ天邪鬼な性格の自分としてはすぐ「zoom使いたくねぇ」とか始まってしまうんですね。 いやまぁなんだかんだ言って仕事なら使うんですがね。 で、オープンソースのWeb会議ツールは敷居が高くてちょっと敬遠してたんですが、まぁせっかくだし流行りに乗って構築してみようかなと。 ただ、当方の場合最終的に「自宅で作ってDDNSでアドレス取ってNginxのリバースプロキシで振り分ける」という単なる構築以上に面倒くさい構成が待っているのでそこはちょっと辛いとこなんですが。 ちなみにNginxはまだ全然ド素人なので、いっかいちゃんと勉強しないといけませんな。 閑話休題  
被害があるわけではないけど、やはり間接的には影響がありますなあ 新コロ関連でバタバタしてあっという間にいろいろやる時間がごっそり無くなっていました。 コミケも中止になってその後のことはまだまだ予断を許しませんし、どうなることやらですね。 また気を取り直していろいろやっていきたいです。
まぁRubyやらRailsやらからっきしなのでアレですが。 今回のはRuby関係ないですが。 Shirasagiの常時SSL化をNginxのリバースプロキシ下でやろうとしてハマった話。 インターネット(SSL)⇒Nginx ⇒(ここから先http)(別Serverの)Nginx ⇒ Shirasagi(Unicorn?) という構成で、公開サイトをsslで表示するのはすぐにできたんですが、管理画面ログインがうまくいかなくて困った。   フロント側のNginxのプロキシ(ヘッダー)設定を proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Forwarded-Proto https; バックエンド側のNginxはShirasagiインストール時に生成されてるんだけど、 #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; を proxy_set_header X-Forwarded-For "$http_x_forwarded_for, $realip_remote_addr"; に書き換えてみた。 ようはフロントで proxy_set_header X-Forwarded-Ssl on;proxy_set_header X-Forwarded-Proto http...
雑ですが忘れないようメモ ・F-Revo CRMをインストール 無印?版はphp5.6でしか動かないのでオフィシャルなどにある手順通りインストール https://f-revocrm.jp/2018/08/8273 パッチ3の適用まで書いてありますが、さらに今はパッチ4、5、6、6_1までリリースされていますので、すべて適用します。 基本的にアーカイブを展開してディレクトリごと上書きするだけです。 また、前の記事で書いた includes/main/WebUI.php がパッチ6で上書きされるので、修正しなおしを忘れないようにしましょう。 パッチ6がphp7対応バージョンとのことなので、合わせてphpを7.2に更新します。一応apacheとか止めておいたほうが無難なのかな?当方は仮想マシンで丸ごとバックアップしていたのであんまり考えずに実行してしまいましたが。 yum install --disablerepo=base --enablerepo=epel,remi,remi-safe,remi-php72 php php-gd php-mysqlnd php-imap php-mbstring php-devel php-mcrypt php-xml php-opcache 用心でphp.iniとかもバックアップしてましたが、特に何も変更せずとも大丈夫でした。 これでphp7.2環境になりました。 時間が取れそうならもう少し丁寧に書きます。。。
F-revo CRMをNginxのリバースプロキシの背後に置くとRefererを見られてうまく動いてくれない。 本来ならgetコマンドでRefererを取って反映、とかやるのが正しいのだろうけど、とりいそぎコード変更してみた。 どうなんだろ、一応開発元に質問したりしてみてもいいもんなんだろうか。 なお前提としてNginxでのリバースプロキシは構築済みで、nginx側でのSSL化も済んでる前提です。 ■事前: crm/config.inc.phpの「$site_URL」を以下のように設定 $site_URL = 'http://【サーバのIPアドレス】/crm/'; ■以下のように変更 # vi crm/config.inc.php $site_URL = 'https://【SSL証明書を取得したドメイン名】/crm/'; # vi crm/includes/main/WebUI.php // if ($site_URL && stripos($request_URL, $site_URL) !== 0){// header("Location: $site_URL",TRUE,301);// exit;// } ただ、これRequest URLとSite URLが正しくないと接続を許可しないってセキュリティ面を担保する設定のような気がするので、そもそもOFFにするのがいいのかといわれるとちょっと。。という感じ。 一応ログ等見ながら様子見。 。。。あれ、パッチどこまで適用してたっけ。。ちょっと確認しないと。
基本的なインストールやら導入は(暇があったら書きますが)、とりあえずたくさん記事があるので放置して、ハマリかけたとこだけ SSL設定で dhparam.pem がないと怒られる。 # nginx -tnginx: [emerg] BIO_new_file("/etc/ssl/certs/dhparam.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/ssl/certs/dhparam.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) まぁネット上のConfigパクってて設定もしてないほうが悪いんですが、Nginxは今のVersionだとdhparam.pemがないといけないらしいので注意。 んで # openssl dhparam 2048 -out /etc/ssl/certs/dhparam.pemGenerating DH parameters, 2048 bit long safe prime, generator 2 完了まで時間がかかる。 そのあと # nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful 正常にとりあえずはなったのでメモ
他に書く場所も確保していないのと、せっかくの構築関連のTIPS的なやつなのでここにメモがてら。 自宅で古めのサーバにNextCloudを構築して使っているが、自宅にいくつもサーバを立てていると、外部から接続させるときのポートフォワーディング設定などが煩わしい うっかり開けた穴を閉じ忘れてるなどもあるかもしれないので、思い切ってやり方を変えることにした。 基本的に自宅で構築するものはWeb系のものが多い。なのでいっそ全部リバースプロキシで受けて増やしたり減らしたりする際にはリバースプロキシ側で制御すればいいんじゃん?と考えたわけである。 。。。が、本編のリバースプロキシ構築に入る前に、NextCloudを現在Let's Encryptを使ってhttpsで外部からつながるように設定しているのだが、ローカル側は常にhttpで構築するように変更しようと考えたところなぜかNextCloudにhttp経由の場合ログインができない状態に陥った。 色々調べてみると、どうもphpのセッションが格納されるディレクトリの権限の問題と判明。 当方の場合CentOSでインストールしているのだが、/var/lib/php の権限の問題で、/var/lib/php/session配下に生成されるセッション管理ファイル...
現在はローカルでの作業が主体ですが一応コンテンツをもう少し拡充させようと地味に努力中。 とりあえずはマイナーOSデータベースの再整理を進めてます。昔ダウンロードしたものが現状、サイトごと消えてたりするかと思えば、一応ソースコードだけはまだsourceforgeに残ってたりと様々です。
今回は惨敗中の惨敗です。まぁ前々回あたりからろくな宣伝活動もできていないのは確かなので、もう少し活動をしていきたいと思います。 始めにfnowのサイト内のコンテンツをもう少し充実していかないと。。。