<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>技術的なメモ書き</title>
	<atom:link href="https://blog.sog-office.jp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>https://blog.sog-office.jp</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sun, 21 Mar 2021 08:49:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.2</generator>
	<item>
		<title>centos7.9あたりのmunin2がうまく動かなかった対応</title>
		<link>https://blog.sog-office.jp/?p=133</link>
		<comments>https://blog.sog-office.jp/?p=133#comments</comments>
		<pubDate>Sun, 21 Mar 2021 08:43:18 +0000</pubDate>
		<dc:creator><![CDATA[中の人]]></dc:creator>
				<category><![CDATA[centos7]]></category>

		<guid isPermaLink="false">http://blog.sog-office.jp/?p=133</guid>
		<description><![CDATA[yumで入れたmuninがうまく動かなかったのでその対応のメモ。 環境 &#8211; OS： centos7 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>yumで入れたmuninがうまく動かなかったのでその対応のメモ。</p>
<h3>環境</h3>
<p>&#8211; OS： centos7.9あたり<br />
&#8211; munin： munin2あたり<br />
&#8211; httpd： apache2.4あたり</p>
<h3>問題と対応</h3>
<p>&#8211; cronの設定ファイルが作成されない。</p>
<pre># vim /etc/cron.d/munin
*/5 * * * * munin test -x /usr/bin/munin-cron &amp;&amp; /usr/bin/munin-cron
</pre>
<p>&#8211; httpdの設定ファイルが作成されない。</p>
<pre class="">&lt;VirtualHost *:80&gt;
DocumentRoot /var/www/html/munin
ServerName ホスト名
&lt;directory /var/www/html/munin&gt;
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
require valid-user
ExpiresActive On
ExpiresDefault M310
&lt;/directory&gt;
# munin-cgi-graphの場所は違うことがあるのでfind等で見つける
ScriptAlias /munin-cgi/munin-cgi-graph /var/www/cgi-bin/munin-cgi-graph
&lt;/VirtualHost&gt;
</pre>
<p>&#8211; ログの権限がなく、拡大グラフ（Dynazoom ）が作成できない。</p>
<pre># chmod 707 /var/log/munin</pre>
<p>munin-cgi をyumで入れたほうがいいかも？</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sog-office.jp/?feed=rss2&#038;p=133</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ポートフォワード（sshトンネル）でphpからMYSQLに接続したい。</title>
		<link>https://blog.sog-office.jp/?p=107</link>
		<comments>https://blog.sog-office.jp/?p=107#comments</comments>
		<pubDate>Thu, 15 Oct 2015 13:04:59 +0000</pubDate>
		<dc:creator><![CDATA[中の人]]></dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.sog-office.jp/?p=107</guid>
		<description><![CDATA[ポートフォワードについてお勉強したのでメモ書きです。 &#160; 上記画像のような構成で、ローカルの開発環境 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>ポートフォワードについてお勉強したのでメモ書きです。</p>
<p>&nbsp;</p>
<ul>
<li>上記画像のような構成で、ローカルの開発環境から、稼働環境のdb（MYSQL）に接続したい。</li>
<li>dbはインターネットに公開されていない。</li>
</ul>
<p>というような条件だったので、リモートのwebサーバ経由のポートフォワードで接続しました。</p>
<p>&nbsp;</p>
<h3>無理だった例</h3>
<p>できればアプリケーションレベルで解決したかったので、php内で試行錯誤してみた。</p>
<pre class="">$ssh_connection = ssh2_connect($ssh_host, $ssh_port);
ssh2_auth_password( $ssh_connection, $ssh_user, $ssh_pass);
$tunnel = ssh2_tunnel($ssh_connection, $db_host, 3306);
$connection = mysql_connect($tunnel, $username, $password);
</pre>
<p>トンネルの確立まではできたけど、無理でした。</p>
<p>mysql_connect()はトンネルを受け付けないらしい。</p>
<p>また</p>
<pre class="">$host = "ssh2.tunnel://user:pass@xx.xx.xx.1:22/xx.xx.xx.2:3306";
$connection = mysql_connect($host, $username, $password);</pre>
<p>このようにssh2ラッパーを使う方法もダメでした。</p>
<p>&nbsp;</p>
<p>mysqliはトンネルをサポートしているらしいが</p>
<pre class="">$connection = new mysqli("{$db_host}:3306", $username, $password, $database, $tunnel);
</pre>
<p>今回のアプリケーションは古いコードで、dbとの接続にmysql_connect()を使用しており、この方法は使えない。</p>
<p>同様に、pdoもつかえない。</p>
<p>というわけで、アプリケーションレベルでの対応を諦める。</p>
<p>&nbsp;</p>
<h3>解決</h3>
<p>sshコマンドをバックグラウンドで走らせておくことで解決させました。</p>
<pre class="">ssh -f -g -N -C -L {ローカルポート}:{リモートdbホスト}:3306 {sshユーザ}@{リモートsshホスト} -p 22</pre>
<ul>
<li>-g  他のマシンからも 利用する</li>
<li>-f このポートフォワーディングをバックグラウンドで実行する。</li>
<li>-N SSHトンネリングのみに使用する。</li>
<li>-C データを圧縮して送る。</li>
<li>-L ポートフォワードを利用する。</li>
</ul>
<p>{ローカルポート} はローカルで空いてるポートだったらなんでもOK。</p>
<p>今回のサーバ構成例だとこんな感じ。</p>
<pre class="">ssh -f -g -N -C -L 13306:xx.xx.xx.2:3306 user@xx.xx.xx.1 -p 22</pre>
<p>これでローカルに対して接続したら、トンネルくぐって接続してくれます。</p>
<pre class="">$connection = mysql_connect("127.0.0.1:13306", $db_username, $db_password);</pre>
<p>もちろんPDOだろうがなんだろうが、接続できます。</p>
<p>&nbsp;</p>
<p>ちなみに、phpのexec()で、sshコマンドを打ってみたが、なんかうまくいかなかった。</p>
<p>まぁ作業前にコマンド一本打つか、/etc/rc.d/rc.localにコマンド書いとくかすればいいかな。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>参考にさせてもらったサイトはこちら</p>
<p><a href="http://www.tamurasouko.com/?p=1092" target="_blank">http://www.tamurasouko.com/?p=1092</a></p>
<p><a href="https://www.kmc.gr.jp/advent-calendar/ssh/2013/12/09/tunnel2.html" target="_blank">https://www.kmc.gr.jp/advent-calendar/ssh/2013/12/09/tunnel2.html</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sog-office.jp/?feed=rss2&#038;p=107</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analyticsの『トレーニング』が消えない！！</title>
		<link>https://blog.sog-office.jp/?p=85</link>
		<comments>https://blog.sog-office.jp/?p=85#comments</comments>
		<pubDate>Sun, 09 Aug 2015 14:26:57 +0000</pubDate>
		<dc:creator><![CDATA[中の人]]></dc:creator>
				<category><![CDATA[便利サイト]]></category>
		<category><![CDATA[問題解決]]></category>

		<guid isPermaLink="false">http://blog.sog-office.jp/?p=85</guid>
		<description><![CDATA[長らく頭を悩ませてきた、Googleアナリティクスのトレーニングが消えない問題ですが、ようやく解決しました！  [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>長らく頭を悩ませてきた、Googleアナリティクスのトレーニングが消えない問題ですが、ようやく解決しました！</p>
<p>&nbsp;</p>
<p>まぁ悩み自体も解決方法もしょうもない話ではあるのですが。</p>
<p>&nbsp;</p>
<p>ちなみに症状としては</p>
<p>&nbsp;</p>
<p id="NUUxpeJ"><a href="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c75ee517984.png"><img class="alignnone size-full wp-image-92 " src="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c75ee517984.png" alt="" /></a></p>
<p>&nbsp;</p>
<p>これを、右上の×で消そうとすると…</p>
<p>&nbsp;</p>
<p id="RXhbbDS"><a href="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c75f1384c58.png"><img class="alignnone size-full wp-image-93 " src="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c75f1384c58.png" alt="" /></a></p>
<p>&nbsp;</p>
<p>『内部エラーが発生しました。しばらくしてからもう一度お試しください。』</p>
<p>『予期しない状況が発生したため、リクエストを実行できません。』</p>
<p>&nbsp;</p>
<p>という親切心のカケラもないエラーメッセージが。</p>
<p>当然、次見た時はまだ出てきちゃうっていうもの。</p>
<p>&nbsp;</p>
<p>ホントしょうもないんだけど、ネットで検索しても解決方法がなかったので、けっこう鬱陶しかったのです。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>で、解決法ですが、Googleアカウントを複数切り替えれる機能で、親アカウントじゃない場合は、消せないみたいです。</p>
<p>&nbsp;</p>
<p id="xLvJSZh"><img class="alignnone  wp-image-95 " src="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c76035888d5.png" alt="" width="335" height="333" /></p>
<p>こんな状態です。</p>
<p>&nbsp;</p>
<p>というわけで、一旦ログアウトして、当該のアカウントでログインしなおせば、無事消えました！</p>
<p>&nbsp;</p>
<p id="qVOdOEb"><a href="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c76091bc899.png"><img class="alignnone size-full wp-image-96 " src="http://blog.sog-office.jp/wp-content/uploads/2015/08/img_55c76091bc899.png" alt="" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sog-office.jp/?feed=rss2&#038;p=85</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPフレームワーク Curry で、テンプレートをレンダリングして変数で受け取りたい</title>
		<link>https://blog.sog-office.jp/?p=68</link>
		<comments>https://blog.sog-office.jp/?p=68#comments</comments>
		<pubDate>Sun, 05 Jul 2015 16:03:04 +0000</pubDate>
		<dc:creator><![CDATA[中の人]]></dc:creator>
				<category><![CDATA[Curry]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.sog-office.jp/?p=68</guid>
		<description><![CDATA[お手軽なフレームワークを求めて Curry というPHPフレームワークを見つけたので使ってみた。 配布元：ht [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>お手軽なフレームワークを求めて Curry というPHPフレームワークを見つけたので使ってみた。</p>
<p><a href="http://www.curryfw.net" target="_blank"><em>配布元：http://www.curryfw.net</em></a></p>
<p>&nbsp;</p>
<p>そんで、ちょっとしたサイトを構築してみたんだけど、</p>
<p>テンプレートをレンダリングして変数で受け取りたいのに、マニュアルにその記述がない。</p>
<p>&nbsp;</p>
<p>zendだったら</p><pre class="crayon-plain-tag">$string = $this-&gt;render("action");</pre><p>こんなかんじの処理ね。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>viewクラス追っかけてって、なんとかしてみたのでメモっとく。</p>
<p>&nbsp;</p>
<p></p><pre class="crayon-plain-tag">$view = $this-&gt;view;
$view-&gt;enableLayout(false);
$view-&gt;setTemplate("template2");
$result = $view-&gt;getRendered();
$view-&gt;enableLayout(true);
$view-&gt;setTemplate($this-&gt;request-&gt;getAction());</pre><p></p>
<p>と、こんな感じ。</p>
<p>&nbsp;</p>
<p>2行目：レイアウトを無効化<br />
レイアウト不要なレンダリングの場合はfalseにします。</p>
<p>3行目：テンプレート名（アクション名）をセット<br />
zendの様にrenderメソッドの引数として渡せないため、このメソッドを利用します。</p>
<p>4行目：レンダリング結果取得<br />
ちなみに render() というメソッドもありますが、これを使うとブラウザに出力が掛かってしまうので使いません。</p>
<p>5,6行目：変更した2,3行目の設定を元に戻します。</p>
<p>&nbsp;</p>
<p>以上です。</p>
<p>公式にはリファレンスにはrender()メソッドしか載ってないんで、</p>
<p>getRendered() メソッドを使うのがポイントです。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>シチュエーションとしては、メールの送信の本文を作ったりするのに使ってます。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sog-office.jp/?feed=rss2&#038;p=68</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>apache2.4でハマったこと</title>
		<link>https://blog.sog-office.jp/?p=39</link>
		<comments>https://blog.sog-office.jp/?p=39#comments</comments>
		<pubDate>Sat, 04 Jul 2015 12:32:36 +0000</pubDate>
		<dc:creator><![CDATA[中の人]]></dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[centos7]]></category>

		<guid isPermaLink="false">http://blog.sog-office.jp/?p=39</guid>
		<description><![CDATA[apacheを2.4にしたら動かなくなった。 いつも使っているディレクティブはこんな感じ NameVirtua [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>apacheを2.4にしたら動かなくなった。</p>
<p>いつも使っているディレクティブはこんな感じ</p>
<pre>NameVirtualHost *:80
&lt;VirtualHost *:80&gt;
 DocumentRoot "/home/newuser"
 ServerName xxxxx.jp
 &lt;Directory "/home/newuser"&gt;
 Options FollowSymLinks
 AllowOverride All
 allow from all
 Options -Indexes
 AddHandler cgi-script htaccess
 &lt;/Directory&gt;
&lt;/VirtualHost&gt;
</pre>
<p>すると</p>
<p><a href="http://blog.sog-office.jp/wp-content/uploads/2015/07/スクリーンショット-2015-07-04-21.17.png"><img class="alignnone size-medium wp-image-42" src="http://blog.sog-office.jp/wp-content/uploads/2015/07/スクリーンショット-2015-07-04-21.17-300x274.png" alt="スクリーンショット-2015-07-04-21.17" width="300" height="274" /></a></p>
<p>&nbsp;</p>
<p>見事にこんな感じ。</p>
<p>&nbsp;</p>
<p>エラーログを見てみると、なんかずらずらとエラーが出てた。</p>
<p>その中で気になったエラー。</p>
<pre>[authz_core:error] [pid 30160] [client 自分のIPアドレス:65015] AH01630: client denied by server configuration: ディレクトリパス
</pre>
<p>&nbsp;</p>
<p>うーん、 サーバ設定によりクライアントが拒否されてる？</p>
<p>allow from all が有効になってないっぽい。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>どうやら 2.4からディレクティブの書式も一部変更になっているようで</p>
<pre>Order allow,deny
Allow from all
</pre>
<p>は</p>
<pre>Require all granted
</pre>
<p>となったようだ。</p>
<p>なんと迷惑な話だ。</p>
<p>というか古い書式なのに、apachectl configtest してもなんも警告でないのおかしいだろ！</p>
<p>&nbsp;</p>
<p>ちなみに、おなじみのこれ</p>
<pre>NameVirtualHost *:80</pre>
<p>も不要になったそうです。</p>
<p>&nbsp;</p>
<p>まとめ</p>
<pre>&lt;VirtualHost *:80&gt;
 DocumentRoot "/home/newuser"
 ServerName xxxxx.jp
 &lt;Directory "/home/newuser"&gt;
 Options FollowSymLinks
 AllowOverride All
 Require all granted
 Options -Indexes
 AddHandler cgi-script htaccess
 &lt;/Directory&gt;
&lt;/VirtualHost&gt;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sog-office.jp/?feed=rss2&#038;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EC2のcentos7インスタンスでのユーザ追加で、Windowsからsshの鍵認証ができない</title>
		<link>https://blog.sog-office.jp/?p=11</link>
		<comments>https://blog.sog-office.jp/?p=11#comments</comments>
		<pubDate>Sat, 04 Jul 2015 12:05:23 +0000</pubDate>
		<dc:creator><![CDATA[中の人]]></dc:creator>
				<category><![CDATA[centos7]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.sog-office.jp/?p=11</guid>
		<description><![CDATA[最近は安定した環境でばかり開発をしていたので、色々新しい環境を試したい今日このごろ。 EC2で色々やってみたい [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>最近は安定した環境でばかり開発をしていたので、色々新しい環境を試したい今日このごろ。</p>
<p>EC2で色々やってみたいと思い遅ればせながら導入してみた。</p>
<p>&nbsp;</p>
<p>まずsshの鍵認証。</p>
<p>キーペア作成時に保存を促されるpemファイルからのログインだけど、これは問題ない。</p>
<p>さすがにこのくらいじゃ詰まらない。</p>
<p>&nbsp;</p>
<p>何に引っかかったかというと、タイトルのとおりでもあるが、</p>
<p><strong>ユーザを追加した際、鍵を手動で作成しても有効にならない！</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>パスワード認証にしようとも思ったが、<br />
/etc/ssh/sshd_config<br />
で<br />
PasswordAuthentication yes<br />
としても、有効にならない。なんでーー？<br />
EC2の仕様なのか、centos7の仕様なのかわからないが、パスワード認証はあきらめ、<br />
どうせなら鍵認証の方向で解決方法を模索した。<br />
というわけで参考にした記事</p>
<p><em><a href="http://qiita.com/dahugani/items/e1fc5c212bf6a7365f8f" target="_blank">引用元 http://qiita.com/dahugani/items/e1fc5c212bf6a7365f8f</a></em></p>
<p>まぁほぼ丸コピだけど、少しアレンジ</p>
<p>コマンドは当該のユーザ（この例だとnewuser）で行います。</p>
<pre class="">cd /home/newuser
mkdir .ssh
chmod 700 .ssh
cd .ssh
ssh-keygen -t rsa
mv id_rsa.pub authorized_keys
chmod 600 authorized_keys
cat id_rsa</pre>
<p>こんな感じで、鍵を作成し、表示された id_rsaの中身（秘密鍵）を、ローカルのテキストエディタにでも貼っつけて保存。</p>
<p><strong>ポイントは、ファイル名を公開鍵のファイル名を authorized_keys にすること。</strong></p>
<p>これがわかんなくて何時間も詰まってました。</p>
<p>以前使ってたサーバーでは、公開鍵のファイル名はなんでもよかったんだけどなあ。</p>
<p>sshd_configにバッチリ 『AuthorizedKeysFile .ssh/authorized_keys』 って書いてありました。</p>
<p>&nbsp;</p>
<p>なおローカルに保存したファイルは、後々使うこともあるので、管理しやすいファイル名にしときましょう。</p>
<p>&nbsp;</p>
<p><a href="http://blog.sog-office.jp/wp-content/uploads/2015/07/スクリーンショット-2015-07-04-18.564.png"><img class="alignnone size-medium wp-image-23" src="http://blog.sog-office.jp/wp-content/uploads/2015/07/スクリーンショット-2015-07-04-18.564-300x250.png" alt="スクリーンショット-2015-07-04-18.56" width="300" height="250" /></a></p>
<p>んで、このファイルを  PuTTy Key Generator （puttygen.exe） でインポート</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://blog.sog-office.jp/wp-content/uploads/2015/07/faeijoffafa3.png"><img class="alignnone size-medium wp-image-24" src="http://blog.sog-office.jp/wp-content/uploads/2015/07/faeijoffafa3-300x248.png" alt="faeijoffafa3" width="300" height="248" /></a></p>
<p>Key_commentにわかりやすいコメントつけておいたほうが、後でわかりやすいです。</p>
<p>そんで Save private key で秘密鍵を作成します。</p>
<p>作成した秘密鍵を Pageantに登録しておわり。</p>
<p>&nbsp;</p>
<p>teratermや、filezillaで接続できるか試してみましょう。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>また、ユーザごとに鍵を分ける必要がなければ、<br />
初期ユーザ（今回のケースだとcentos）の鍵がそのままつかえるので</p>
<p>ルート権限で下記のように</p>
<pre>cd /home/newuser
cp -rp /home/centos/.ssh ./
chown -R newuser:newuser .ssh
</pre>
<p>こっちのほうが、ローカル側での設定がなにも要らないので<br />
（sshログインできているということは、初期ユーザでの鍵設定が完了している）、</p>
<p>すごく簡単に完了します。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.sog-office.jp/?feed=rss2&#038;p=11</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
