タグ: Linux コメントスレッドの表示切替 | キーボードショートカット

  • 西川 洋平 6:56 PM | 2014年3月11日 パーマリンク |
    タグ: Linux,   

    PDOを使ってのDB接続時のエラー 

    CentOs上のphpからPDOを使ってSQLServerに接続しようとしたところ、以下のエラーが表示されて繋がらないとのことで軽い気持ちで解析を手伝っていたら、unixODBCだったりFreeTDSだったりと複雑な環境もあり、・・・・・・ハマった。

    ◆エラー・・・というよりExeptionのメッセージ
    [unixODBC][FreeTDS][SQL Server] Unable to connect: Adaptive Server is unavailable or does not existtest

    ◆ソース

    ?php
    $dsn = 'odbc:AAAA';
    $user = 'XXX';
    $password = 'YYY';
    
    try {
        $dbh = new PDO($dsn, $user, $password);
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    ?

    ◆解決した方法
    今回の問題はSELinuxとやらの設定だった。参考→ ここ
    httpd_can_network_connect がoff(無効)になっているのを有効に変えただけ。

    設定の確認コマンド

    # getsebool httpd_can_network_connect
    httpd_can_network_connect --> on  (有効の場合)
    httpd_can_network_connect --> off (無効の場合)

    設定の変更コマンド

    # setsebool httpd_can_network_connect 1

    ※getseboolで確認だったので、勘でsetseboolでやってみたところできてしまった。1にしたらonになったので、0だったらoffだと思
    ※真面目に使う人はちゃんと調べましょう。

    unixODBCでも、FreeTDSでも、SQL Serverでも、apacheでも、php.iniでもないとか・・・ハマれるっ!!    で、SELinuxって何?

    聞いてみたところ、SELinuxはdisableにしちゃうのが普通らしい。

     
  • 西川 洋平 10:48 AM | 2014年2月20日 パーマリンク |
    タグ: Linux   

    cronの内容確認 

    # ls /var/spool/cron/
    admin  manage  root
    
    # cat /var/spool/cron/*
    0 1 * * * /home/admin/program/example.sh
    0 2 * * * /home/manage/program/manage.sh
    0 0 * * * /root/program/test.sh

    詳しくはこちら

     
  • 西川 洋平 10:38 AM | 2014年2月20日 パーマリンク |
    タグ: Linux   

    rootユーザのメール送信先 

    前置き
    ——————–
    社内のどこかのサーバから毎日、迷惑メールが来る・・・

    差出人:Cron Daemon
    件名:「Cron [ ! -f /etc/cron.hourly/0anacron ] && run-parts /etc/cron.daily」
    宛先:root@localhost.localdomain

    って、なぜにオレに・・・
    誰かがクーロンをミスったんだろうけど・・・
    ——————–

    そもそも、rootユーザのメール送信先ってどこにあるんだろ?と思ってググッたメモ。

    以下のファイルらしいので開いてみる。

    [root@xxxx~]# cat /etc/aliases 

    最後に書かれてる・・・

     ・
     ・
     ・
    # Person who should get root's mail
    #root:          marc
    root:emura@poweredge.co.jp 

    書きかえた後は以下のコマンドを実行しないと有効にならないらしい。

    [root@xxxx~]# newaliases 

    こんなファイルみたことないんだが、いつの間に設定されたのか・・・

     
  • 西川 洋平 2:07 PM | 2014年1月14日 パーマリンク |
    タグ: Linux,   

    Mysql起動できない 

    Mysqlを起動しようとしたら、以下のようなエラーで起動できなくなっていたらしい。
    「他のMysqlデーモンが同じソケットで既に起動してんだよ、コラ」

    [root@localhost ~]# /etc/init.d/mysqld restart
    mysqld を停止中: [ OK ]
    Another MySQL daemon already running with the same unix socket.
    mysqld を起動中: [失敗]
    [root@localhost ~]#

    内容は全く理解していないが、以下のコマンドで復旧した…

    service mysqld stop
    mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
    service mysqld start

     
  • 西川 洋平 11:13 AM | 2013年11月7日 パーマリンク |
    タグ: Linux,   

    SVN最新版取得のシェル 改 

    var/www/html/hoge にcakeのwepアプリを追加するとして・・・

    1.hoge直下に”update_log”というディレクトリを作成。
    2.hoge直下に”update.sh”を作成(下記参照)
    3.「sh var/www/html/hoge/update.sh」でシェル実行
    以降は3.を実行すれば最新版を持ってこれる。

    update.sh
    新バージョン

    #!/bin/sh
    
    REPOS=http://192.168.150.31/repos/XXXX/trunk
    DIR=$(cd $(dirname $0); pwd)
    LOGDIR=$DIR/update_log
    
    if [ ! -d $LOGDIR ]
    then
        mkdir $LOGDIR
    fi
    
    #
    #before checkout
    #
    rm -rf $DIR/app/tmp
    
    #
    #exec checkout
    #
    svn co --force $REPOS $DIR >> $LOGDIR/update_`date +%Y%m%d_%H%M%S`.log
    
    #
    #after checkout for cakePHP
    #
    rm -fv `find $DIR/app/tmp -type f`
    chown -R apache:apache $DIR/*

    旧バージョン

    #!/bin/sh
    SVN="http://192.168.xxx.xxx/repos/hoge/trunk"
    DIR=$(cd $(dirname $0); pwd)
    
    rm -fv `find $DIR/app/tmp -type f` > /dev/null 2>&1
    svn checkout $SVN $DIR >> $DIR/update_log/update_`date +%Y%m%d_%H%M%S`.log
    rm -fv `find $DIR/app/tmp -type f` > /dev/null 2>&1
    chown -R apache:apache $DIR/*
     
  • 西川 洋平 11:27 AM | 2013年5月1日 パーマリンク |
    タグ: Linux, , , phpmotion   

    PE-TUBE(phpmotionのインストール) 

    基本は、http://www.kurobuti.com/linux_server/?page_id=543 のとおりで

    問題なし。

    ※ただし、phpmotionのrpmは登録制なので注意(Freeだけど)

     

    【上記サイトの内容で不足している点】

    ■手順(6)のドキュメントルートをApacheのデフォルト(/var/www/htmlフォルダ)から変更すると、修正箇所が激増する(というか、エラーを頼りに修正していくしかなくなる)のでやめた方がいい。ちょっとカッコ悪いかもしれないけど。。

    ■手順通りだと手順(12)のチェック画面でエラーが出力される。

    ※「_PHP enable_dl」がOffのままでエラーになる

    この表示が出たら /etc/php.ini  ファイルの enable_dl = Off をOnに変更すると直る

    最後の最後で、phpmotionデフォルトルート配下の /setup フォルダを削除

    しないと、完了しない。(余計なお世話だと思うが)

    当然、フォルダ名変更でも問題なし。

     

    ■動画のHOMEは、http://localhost(IPアドレス)/  でアクセスする

    ■管理者画面は、http://localhost(IPアドレス)/siteadmin/ でアクセスする

    ※動画のアップロードは、何か1個でもカテゴリを作っておかないと失敗する

    ※アップロードできるファイルサイズは、php.ini のpost_max_size = 8M を

    サイズアップしないとダメ

    ※アップロードする動画形式は、flvがいいんじゃないかな。。。

    ※動画はアップしてからリストに表示されるまでに数分かかる(変換していると思われる)

     

     
  • 西川 洋平 7:14 PM | 2013年4月30日 パーマリンク |
    タグ: Linux,   

    svnのリポジトリ移行 

    svnの移行時のメモ。簡単だった。。

    1. 移行元のリポジトリのダンプファイル作成
    2. [root@xxxxxx]svnadmin dump /var/www/svn/hogeproject > hogeproject.dump
      
    3. 作成したダンプファイルを移行先に転送
    4. 移行先に新規リポジトリ作成
    5. [root@yyyyy]svnadmin create /var/www/svn/hogeproject/
      
    6. 作成したリポジトリにダンプファイルロード
    7. [root@yyyyy]svnadmin load /var/www/svn/hogeproject/ < hogeproject.dump
      
    8. リポジトリがroot所有になってしまうので、apacheに変更しておく
    9. [root@yyyyy]chown -R apache:apache /var/www/svn/hogeproject
      

    これだけ。

    ちなみに、、、
    2のサーバ間でのファイル転送は以下のコマンドでできるらしい。
    以下を実行してパスワードを入れれば、転送してくれる。
    scp 【ファイル名】 【ユーザー名】@【移行先サーバアドレス】:【移行先パス】

    [root@xxxxx]scp hogeproject.dump username@192.168.XXX.XXX:/var/www/svn/hogeproject/
    
     
  • 西川 洋平 10:56 PM | 2013年2月12日 パーマリンク |
    タグ: Linux,   

    SVN最新版取得のシェル 

    svnでコミットしたら自動的に公開サーバー側をupdateしてくれるpostcommitが上手く動かなかったので、暫定でsvnから最新バージョンにupdateするシェルで対応してみた。意外と使えたのでメモ。公開するサーバーにSVNが入ってる時しか使えないけど・・・

    ここではsvnのTESTSystem/trunkで、(DocumentRootのpath)/TESTSystemを更新する

    1. 更新したいディレクトリの直下にシェルを作成(ここではupdate.sh)
      #!/bin/sh
      rm -rf /var/www/html/TESTSystem/(path)/cache/* ←※1
      svn checkout file://(svnのpath)/TESTSystem/trunk (DocumentRootのpath)/TestSystem/ ←※2
      chown -R apache:apache (DocumentRootのpath)/TESTSystem/* ←※3

      ※1update時にキャッシュなどを削除したければ、checkoutの前にこんなコードを付け加える。

    2. ※2svnからチェックアウト(最新版の取得)してきているだけ

      ※3とりあえず、apacheユーザーに変更しておいた

    3. ルート権限でシェルを叩けばupdate完了
      [root@localhost /]$sh /var/www/html/TestSystem/update.sh
     
  • 西川 洋平 9:48 PM | 2012年9月4日 パーマリンク |
    タグ: Linux   

    VNC設定 

    「VNCとは、ネットワークを通じて接続された他のコンピューターの画面を遠隔操作するソフトウェアのことである。」by Google先生

    以下のサイトにいわれるがまま設定したら動いた…
    CentOS 6.3 (x86_64) に TigerVNC Server をインストールする手順

    ■サーバ側設定概要

    1. TigerVNC Serverをインストール
    2. /etc/sysconfig/vncserversにVNCで接続するユーザーを追加
    3. 追加したユーザーのVNC用パスワード作成
    4. /home/(ユーザー名)/.vnc/xstartupの設定
    5. 使用ポート(TCPの5900~5910)を解放

    ■クライアント側概要

    1. VNC Viewrのインストール⇒Download VNC® Viewer
    2. 「サーバのIP:ユーザ番号」で接続(例:192.168.1.100:2)

    詳細はそのうち。

     
  • 西川 洋平 8:09 PM | 2012年8月30日 パーマリンク |
    タグ: Linux   

    ログの監視コマンド 

    ログの監視コマンドをメモ。
    ひんぱんに更新のあるファイルに使えそう。
    ‘-f’がミソ。

    (例)システムログの場合
    # tail -f /var/log/messages

     
c
新規投稿作成
j
次の投稿 / 次のコメント
k
過去の投稿 / コメント
r
返信
e
編集
o
コメント表示 / 非表示
t
トップへ移動
l
ログインへ
h
ヘルプを表示 / 非表示
Shift + ESC
取り消し