極北別世界通信
F-revo CRM リバースプロキシ関連のTips
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にするのがいいのかといわれるとちょっと。。という感じ。
一応ログ等見ながら様子見。
。。。あれ、パッチどこまで適用してたっけ。。ちょっと確認しないと。
Nginx リバースプロキシ&SSL設定のTIPS
基本的なインストールやら導入は(暇があったら書きますが)、とりあえずたくさん記事があるので放置して、ハマリかけたとこだけ
SSL設定で
dhparam.pem
がないと怒られる。
# nginx -t
nginx: [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.pem
Generating DH parameters, 2048 bit long safe prime, generator 2
完了まで時間がかかる。
そのあと
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
正常にとりあえずはなったのでメモ
NextCloudとリバースプロキシ
他に書く場所も確保していないのと、せっかくの構築関連のTIPS的なやつなのでここにメモがてら。
自宅で古めのサーバにNextCloudを構築して使っているが、自宅にいくつもサーバを立てていると、外部から接続させるときのポートフォワーディング設定などが煩わしい
うっかり開けた穴を閉じ忘れてるなどもあるかもしれないので、思い切ってやり方を変えることにした。
基本的に自宅で構築するものはWeb系のものが多い。なのでいっそ全部リバースプロキシで受けて増やしたり減らしたりする際にはリバースプロキシ側で制御すればいいんじゃん?と考えたわけである。
。。。が、本編のリバースプロキシ構築に入る前に、NextCloudを現在Let's Encryptを使ってhttpsで外部からつながるように設定しているのだが、ローカル側は常にhttpで構築するように変更しようと考えたところなぜかNextCloudにhttp経由の場合ログインができない状態に陥った。
色々調べてみると、どうもphpのセッションが格納されるディレクトリの権限の問題と判明。
当方の場合CentOSでインストールしているのだが、/var/lib/php の権限の問題で、/var/lib/php/session配下に生成されるセッション管理ファイルがうまく読み書きできない状態になる模様。
なので
chown -R apache:apache /var/lib/php
として、権限を変更し、無事httpでも正常にログインできるようになった。
このメモだけだとわかる人にしかわからないが、NextCloudをVersionUpしたり、CentOSでPHP 7.xをremiリポジトリからインストールしてると発生するケースがあるようなのでメモ。
サイト内コンテンツ
現在はローカルでの作業が主体ですが一応コンテンツをもう少し拡充させようと地味に努力中。
とりあえずはマイナーOSデータベースの再整理を進めてます。昔ダウンロードしたものが現状、サイトごと消えてたりするかと思えば、一応ソースコードだけはまだsourceforgeに残ってたりと様々です。
また、勢いでドカドカダウンロードしてたものが単なるLinuxのディストリビューションだったりすることもしばしば(そしてとっくの昔にプロジェクト自体は崩壊済みなのもしばしば)。
Linuxのディストリビューションは、DistroWatchなどの大手サイトもありますのでそれほど深堀りする気はありませんが一応、明確に区分はしておかないとと思って整理中です。
ただデータベースの項目名をどうするかは悩ましいところ。あんまり凝りすぎないほうがいいのかもしれませんが、情報量が少なすぎるのもと思ったり、そう思えばそもそも情報が全然なかったりと悩ましいです。
冬コミ終了
今回は惨敗中の惨敗です。
まぁ前々回あたりからろくな宣伝活動もできていないのは確かなので、もう少し活動をしていきたいと思います。
始めにfnowのサイト内のコンテンツをもう少し充実していかないと。。。