mytopインストール

MySQL版topコマンドみたいな感じ。mytop - a top clone for MySQL インストール ダウンロードして解凍# tar zxvf mytop-1.6.tar.gzMake# cd mytop-1.6 # perl Makefile.PL # make # make test # make installperl Makefile.PLでMakeMakerが無いと言われたら…

MySQLのlogrotate設定

cronで動かした時だけログがフラッシュされなかったりとハマったわ…。まずlogrotateの設定 コメントされてはいるものの、もともと内容が書いてあるが、 スロークエリログなどもローテーションしたいので少し書き換えて以下の様にした。# vi /etc/logrotate.d…

logrotateで-fなしでもう一度ローテーション処理を実行させる

前日分のファイルがあればとりあえず消すなりリネームするなりする。# mv hoge.log-20121013 hoge.log-20121013.bak/var/lib/logrotate.statusを編集する# vi /var/lib/logrotate.status ... "hoge.log" 2012-10-13 ←2012-10-12とかに書き換える ...logrotat…

access.confの謎

hogeユーザは特定IP以外禁止で、hoge2ユーザはどこからでもOKという設定をする時、 以下の設定のようにhoge2を先に持ってこないとhoge2が接続出来なかった。# vi /etc/security/access.conf ... # hoge2が先ならOK + : hoge2 : ALL - : hoge : ALL EXCEPT xx…

ユーザ毎のSSH制限

ユーザ毎に認証方式を変える /etc/ssh/sshd_config に Match で指定する。 Match は OpenSSH 4.4以降で使用出来る(らしい、4.3は無理だった)。# vi /etc/ssh/sshd_config ... Match User erio_nk PasswordAuthentication noerio_nkユーザのみパスワード認…

CentOS5.5にOpenSSH5.8p2を入れる

手前のCentOS5.5で入っているOpenSSHが4.3p2-41.el5_5.1で、 yumで最新のを入れても4.3p2-82.el5だった為、以下のURLで紹介されている /etc/ssh/sshd_configの「Match」が使用出来なかった。ssh の認証方法をユーザごとに設定する - isseium's blog http://j…

指定ディレクトリ以下にあるファイルのみパーミッションを変更する

$ find . -name "*.sh" -type f -exec chmod a+w {} \;セミコロンをエスケープしておかないと-execに引数が見つかりませんとか出るので注意。 ディレクトリのみに適用する場合は-type d。パイプでつないでxargsを使ってchmodする方法もあるが、 コマンドライ…

Linuxストレージ周り

凄くわかりにくかったけどなんとなく理解した気がするのでまとめてみた。 合ってるかどうかは不明。 ディレクトリツリー ... /を頂点としたディレクトリのツリー構成。物理的なデバイス構成とは関係ない。 マウント ... ファイルシステムをディレクトリツリ…

sedコマンドの正規表現「+」はエスケープしないとダメ

$ echo ' Slave_IO_Running: Yes ' | sed 's/\s\+//g' Slave_IO_Running:Yes()とかもエスケープしないとダメ。 他にもあるかも。trim用。$ echo " Slave_IO_Running: Yes " | sed 's/\(^\s\+\|\s+$\)//g' Slave_IO_Running: Yes もエスケープしないとダメだ…

Samba最小設定

ホスト名でのアクセスは不可。IPのみ。やり方は知らない!SELinuxはOFFにする事。でないと色々めんどくさい。 インストール # yum -y install samba 起動 # service smb start # service nmb start ファイアウォール # iptables -I INPUT -p tcp -m tcp --dp…

PuTTY(plink)にパイプ

> echo hoge | plink user@host -pw xxxx cat hogeecho hogeの出力をplinkにパイプしてリモートのcatコマンドで表示する。パスワードをコマンドラインで指定しないとうまくいかない (LinuxのSSHは大丈夫)。Quest PuTTYなら-auto_store_key_in_cacheで初回…

複数のバッファをひとつのzipファイルにしてダウンロード

PHP

PEAR::File_Archiveのインストール。# pear install File_Archive readMulti(); $src->addSource($fa->readMemory($test1, 'test1.txt')); $src->addSource($fa->readMemory($test2, 'test2.txt')); $f…

mod_sslはデフォルトだと何故かIPv6

$_SERVER['REMOTE_ADDR']がIPv6になる。SSL/TLS の導入 (2) ↑のページを参考にssl.confを以下の様に修正した。Listen 0.0.0.0:443IPv4でのみListenする様にした。ら治った。httpd.confのListen 80の方は何も無くてもIPv4のアドレスになっているのになんでだ…

x86ビルドでヒープにXMMATRIXを確保するとうまく動作しない。

てか落ちる。x64ビルドだと大丈夫。 Direct3D11+XNA Mathやってて超ハマってた。Getting Started - Windows applications | Microsoft Docs 型の使用方法のガイドラインただし、ヒープからの割り当てはさらに複雑です。この場合、ヒープから割り当てられるク…

PDOでフェッチした数値型カラムの値が文字列で取得されるのでなんとかしようと頑張った。

MySQLから取得したデータをjson_encodeしてて気づいた。 いくら型無し言語でもコレはないわー。 現象 desc hoge; +-------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------------…

mod_proxy_balancerでサービス毎に分散の設定をする。

以下の様にVirtualHostとProxyを組み合わせた設定をhttpd.confに記述する。 NameVirtualHost *:80 <VirtualHost *:80> ServerName balance1 ProxyRequests Off ProxyPass / balancer://mycluster/ lbmethod=byrequests timeout=1 <Proxy balancer://mycluster/> BalancerMember http://192.168.0.91 loadfact</proxy></virtualhost>…

PEAR::Logで/var/log/test.logを作ったらSELinuxに警告された。

Warning: chmod(): Permission denied in /usr/share/pear/Log/file.php on line 225 Call Stack: 0.0005 323868 1. {main}() /var/www/html/pear_log_test.php:0 0.0031 486228 2. Log_file->log() /var/www/html/pear_log_test.php:7 0.0031 486228 3. Log…

PHPの値渡し・参照渡し

PHP

'; // 変数。 $a = 0; var_dump($a); echo '<br>'; function write1($arg) { $arg = 1; } write1($a); var_dump($a); echo '<br>'; write1(&$a); var_dump($a); echo '<br>'; echo '---------------------------<br>'; // 配列。 $b = array(0); var_dump($b); echo '<br>'; func…

PHP+MySQL5.5.24 utf8mb4奮闘記。

PHPからUTF8の4バイト文字を入れてたらなんかおかしな文字コードで入ってたのに気がついて四苦八苦したメモ。環境は CentOS6.2、 PHP5.3.3(インストールはyum) MySQL5.5.24(インストールはyum、remiリポジトリから)、 MySQLサーバの文字コードはutf8mb4。 そ…

PHPでUUID生成

PHP

なんかいろいろもやもやしている。 uuid-phpを使う これなんのライブラリなんだろう? yum -y install uuid-php 再起動。 service httpd restart PHPのソースコード。 '; // バイト列。DBに入れたりす…

TortoiseGitでgithubのリポジトリをダウンロードしてみた。

Git

githubにリポジトリを作っておく。 アカウント取って適当にリポジトリを作っておく。 とりあえすtestリポジトリを作った。 TortoiseGitのインストール。 実用レベルに達したWindows向けGitクライアント「TortoiseGit」でGitを始めよう | OSDN Magazine githu…

CentOS6.2(32bit)にrpmでMySQL5.5.3以降(5.6.5)のバージョンをインストールするのに悪戦苦闘したメモ。

5.5.3以降が使いたいのは、文字コードutf8mb4(4バイトUTF8文字=iOS5以降の絵文字)が使いたい為。 yumでは、epel,remiリポジトリでも5.5.24までしかなくて、utf8mbが使えなかった。 嘘。5.5.24で、my.cnfのcharacter-set-serverをutf8mb4にして起動出来た…

Samba覚書その2

Sambaで共有した(ホーム)ディレクトリに、そのディレクトリ外のディレクトリ(具体的には/var/www/html)への シンボリックリンクを貼ってアクセス出来なかったのを出来るようにしたメモ。 SELinux いつものヤツ。 setsebool -P samba_export_all_rw true …

CentOS6.2(32bit)にyumでMySQL5.5をインストールする。

rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/epel-release-6-5.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum --enablerepo=epel,remi list mysql-server Loaded plugins: faste…

ブリッジ接続の設定

設定 > ネットワーク > アダプタ2 割り当て:ブリッジアダプタ 名前:ホストOSに接続してあるNIC centosを起動して vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE="eth1" HWADDR="xx:xx:xx:xx:xx:xx" #アダプタ2のMACアドレス NM_CONTROLLED="yes" O…

CentOSでphpでmemcache。

memcached yum -y install memcached chkconfig memcached on service memcached start php-pecl-memcache yum -y install php-pecl-memcache コード。 connect('localhost', 11211) or die("接続できませんでした。"); echo("接続しました。"); $memcache->…

Sambaの覚書。

Sambaの導入。 Homeserver on Linux – 自宅サーバーを作ろう | Just another WordPress site ポートを開ける。 iptables -I INPUT -p tcp -m tcp --dport 139 --syn -j ACCEPT service iptables save service iptables restart sambaで利用するポート|samba…

VirtualBoxにCentOSを入れてWebサーバを叩くまでメモ

Windows/mac両方で確認。 VirtualBox VirtualBoxを適当に落としてくる。 起動して新規。 仮想マシン名とOSタイプ 名前:centos 適当に。 オペレーティングシステム:Linux バージョン:Red Hat メモリ 適当に。 ハードディスク 次へ VDI Dynamically allocat…

フレンド関数テンプレート

C++

#include "stdafx.h" class Hoge { public: // フレンド関数テンプレートの指定。 template <class T> friend void CallHogeEcho(Hoge&, T); private: void Echo(int x) { printf("Hoge: %d\n", x); } void Echo(const char* x) { printf("Hoge: %s\n", x); } }; temp</class>…

ライブラリの出力名を変える。

ライブラリの出力ファイル名を MyLibrary_x86_Debug.libていう感じにしたい。 更に、↓の感じのディレクトリ構成にしたい。 MyLibrary MyLibrary.sln MyLibrary MyLibrary.vcxproj lib MyLibrary_x86_Debug.lib MyLibrary_x64_Debug.lib MyLibrary_x86_Releas…