Category: Linux

Amazon Linuxにuser data一発でnginx+HHVMをインストール

  Amazon Linux上に、nginx+HHVM環境をつくりたい。 ググると、以下のサイトがヒットし、一目くじけそうになる。 Building and installing HHVM on Amazon Linux 2014.03 シンドい・・。   しかし、もう少しググると、思ったより簡単にできそう。 Amazon Linux これなら、EC2のインスタンス起動時にUser dataにシェルを渡せば、一発でインストールできそう。   Management Consoleにて、「Amazon Linux AMI 2014.09.2 (HVM) – ami-18869819」を利用し、t2.microのインスタンスを起動する。 途中、「Step 3: Configure Instance Details」画面のAdvanced Detailsで、以下のUser dataをAs textとしてコピペする #!/bin/bash -ex cd /etc/yum.repos.d wget http://www.hop5.in/yum/el6/hop5.repo echo ‘priority=9’ >> hop5.repo echo ‘includepkgs=glog,tbb’ >> hop5.repo wget http://yum.sexydev.com/sexydev-amazon.repo yum -y install.

Windows環境のMySQLで、character_set_clientの値をutf8に変更できない

  MySQLのバージョンは5.6.20。 Windowsの環境なのでmy.iniの[client]セクションに default-character-set = utf8 を追記したのだが、character_set_clientやcharacter_set_connectionの値がutf8にならず、cp932のままになる。 mysql> show variables like ‘char%’; +————————–+————————————————–+ | Variable_name | Value | +————————–+————————————————–+ | character_set_client | cp932 | | character_set_connection | cp932 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | cp932 | | character_set_server | utf8 | | character_set_system | utf8 | |.

[ERROR] mysql\bin\mysqld.exe: unknown variable ‘default-character-set=utf8’

  ん??? Windows 7上でXAMPPの環境作ってMySQL起動しようとしたのだが、エラーで起動しない。 mysql_error.logを見ると、 [ERROR] mysql\bin\mysqld.exe: unknown variable ‘default-character-set=utf8’ とある。 [mysqld]セクションに”default-character-set = utf8″を追記していたのだが、これがまずかった模様。 MySQL 5.5からは、サーバ側の文字コード指定の標記が変更になったらしい。 You can change the default server character set and collation with the –character-set-server and –collation-server options when you start the server. https://dev.mysql.com/doc/refman/5.5/en/charset-configuration.html というわけで、my.ini中の[mysqld]セクションの最後の方で character-set-server=utf8 としたらサーバ起動できた。

[ERROR] mysql\bin\mysqld.exe: unknown variable ‘default-character-set=utf8’

  ん??? Windows 7上でXAMPPの環境作ってMySQL起動しようとしたのだが、エラーで起動しない。 mysql_error.logを見ると、 [ERROR] mysql\bin\mysqld.exe: unknown variable ‘default-character-set=utf8’ とある。 [mysqld]セクションに”default-character-set = utf8″を追記していたのだが、これがまずかった模様。 MySQL 5.5からは、サーバ側の文字コード指定の標記が変更になったらしい。 You can change the default server character set and collation with the –character-set-server and –collation-server options when you start the server. https://dev.mysql.com/doc/refman/5.5/en/charset-configuration.html というわけで、my.ini中の[mysqld]セクションの最後の方で character-set-server=utf8 としたらサーバ起動できた。

[ERROR] mysql\bin\mysqld.exe: unknown variable ‘default-character-set=utf8’

  ん??? Windows 7上でXAMPPの環境作ってMySQL起動しようとしたのだが、エラーで起動しない。 mysql_error.logを見ると、 [ERROR] mysql\bin\mysqld.exe: unknown variable ‘default-character-set=utf8’ とある。 [mysqld]セクションに”default-character-set = utf8″を追記していたのだが、これがまずかった模様。 MySQL 5.5からは、サーバ側の文字コード指定の標記が変更になったらしい。 You can change the default server character set and collation with the –character-set-server and –collation-server options when you start the server. https://dev.mysql.com/doc/refman/5.5/en/charset-configuration.html というわけで、my.ini中の[mysqld]セクションの最後の方で character-set-server=utf8 としたらサーバ起動できた。

PHP Startup: Unable to load dynamic library

  XAMPP+Oracle+EclipseのPHP開発環境を構築した際、Oracle Instant Client経由でDBに接続しようとしたのだが、以下のエラーが発生し、Apacheが起動しなかった。 PHP Startup: Unable to load dynamic library ‘D:\java\xampp\php\ext\php_oci8.dll’ – %1は有効なWin32アプリケーションではありません。 色々調べてみた結果、XAMPPは32bit版なのに、Oracle Instant Clientは64bit版を使っていたことが原因だった。 Oracle Instant Clientを32bit版にしたところ、エラーは発生しなくなった。   PHPでociを使ってOracleに接続するための環境設定は、以下を参照。 XAMPP+Oracle+EclipseのPHP開発環境構築 https://www.cyberarchitect.net/blog/archives/1001

XAMPP+Oracle+EclipseのPHP開発環境構築

  Facebookアプリを作って遊ぼうと思い立ち、PHPの開発環境を作ることにした。 DBは、勝手知ったるOracleを使ってみる。 OSはWindows 7 Enterprise SP1(64bit)を使って環境構築したので、その時のメモ。 ※Oracleは構築済みの環境を利用。キャラクタセットはAL32UTF8。   1、Pleiadesをダウンロード http://mergedoc.sourceforge.jp/index.html#/pleiades_distros3.7.html pleiades-e3.7-php-jre_20120225.zipをダウンロードし、解凍。 今回はD:\Javaに展開。   2、XAMPPをセットアップ D:\Java\xamppディレクトリ配下のsetup_xampp.batを実行。 D:\Java\xampp\apache\confのhttpd.confを編集。ServerRootを設定。 #ServerRoot “D:/Java/xampp/apache” ServerRoot “D:\Java\xampp\apache” ←追記   3、Oracle Instant Clientをダウンロード http://www.oracle.com/technetwork/jp/topics/winsoft-087812-ja.html 32bit版をダウンロードし、展開。今回はD:\Java\instantclient_11_2に展開。 4、php.iniを編集 D:\Java\xampp\php\php.iniを編集。 キャラクタセットを追記。 default_charset = “UTF-8” extension_dirを以下に変更。 extension_dir = “D:\Java\xampp\php\ext” php_oci8.dll先頭のコメントアウト解除(「;」を削除) extension=php_oci8.dll   5、OSの環境変数を設定 コントロールパネル→システムの左ペインにて、システムの詳細設定をクリック。 詳細設定タブ下部、環境変数をクリック。 システム環境変数に変数名 NLS_LANG 、値 Japanese_Japan.AL32UTF8 を追加。 変数名 Path の値の先頭に、Oracle Instant Clientのディレクトリを追記。(今回は D:\Java\instantclient_11_2; ).

Windows 7で80番ポートが使用されており、Apacheを起動できない

  Windows 7上でXAMPPを使って遊ぼうと思い、Apache起動前に、念のためIISがインストールされていないことを確認した。 念には念を入れてnetstatしたところ、なぜかport 80がLISTENしている!!! なぜだ。 telnetでlocalhost 80を叩いてみると・・。 [html] HTTP/1.1 404 Not Found Content-Type: text/html; charset=us-ascii Server: Microsoft-HTTPAPI/2.0 Date: Mon, 18 Jun 2012 12:37:47 GMT Connection: close Content-Length: 315 Not Found Not Found HTTP Error 404. The requested resource is not found. ホストとの接続が切断されました。 [/html]   netstatしてみると、プロセス番号は4らしい。 C:\Users\hogehoge>netstat -aon | findstr 0.0:80 TCP 0.0.0.0:80 0.0.0.0:0 LISTENING.

Linuxで、ファイルの削除を禁止する

  Linuxで、一般ユーザが作ったログ等について、ファイルに追記はできるが、削除はできないようにする方法。 chattrコマンドを利用すれば、簡単に実現できる。 hogehoge.txtを追記モードで開き、書き込みすることはできるが、ファイル削除は禁止するには、 [shell] chattr +a hogehoge.txt [/shell] 解除するには、「-」をつける。 [shell] chattr -a hogehoge.txt [/shell]   編集も削除も一切禁止したい場合は、 [shell] chattr +i hogehoge.txt [/shell] 解除するには、同じく「-」をつける。 [shell] chattr -i hogehoge.txt [/shell]   chattrによる制限状況を確認するには、lsattrコマンドを使いましょう。 [root@hogehoge home]# lsattr /var/log/hogelog —–a——- /var/log/hogelog/hogehoge_20120610005016.log —–a——- /var/log/hogelog/root_20120610004440.log —–a——- /var/log/hogelog/root_20120610003347.log [amazon_enhanced asin=”4774151432″ /]

sshのログインが遅い

  先月VMWare上で再構築したCentOSへのsshログインに、若干時間がかかることに気づく。 ・・・前にもあったよねと、1分ほど考える。 /etc/ssh/sshd_configの #UseDNS yes を #UseDNS yes UseDNS no としてsshdを再起動したらなおった。