2016/03/07(月)CPANが動かない

CentOS 7でcpanをいれる
# yum install CPAN

初回起動時にcpanの設定が走るけど、

Can't call method "http" on unblessed reference at /usr/share/perl5/CPAN/FirstTime.pm line 1866.

で動かない

適当にぐぐると、なぜかvmwareのKBが引っかかった

このエラーは、現在のFirstTime.pmモジュールのバージョンが5.53以降である場合に発生します。CPANでは、本モジュールは5.52より前のバージョンで動作することを想定しており、エラーを返します。

vmwareのKB 2038990

って、FirstTime.pmって、CPANのモジュールでしょ!?
5.52以前で動作を想定しているってどういうことよ...

yumで入るのは5.5303なので、最新版にしてみる
せっかくyumで入れてるのに再コンパイルってのもなんなので、firsttime.pmだけ入れ替えた

FirstTime.pmの最新版
http://search.cpan.org/dist/CPAN/lib/CPAN/FirstTime.pm
記事書いたタイミングで 5.5307 になってました

一応バックアップ取ってからコピー
# wget http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-2.10.tar.gz
# tar xvzf CPAN-2.10.tar.gz
# mv /usr/share/perl5/CPAN/FirstTime.pm /usr/share/perl5/CPAN/FirstTime.pm_5.5303
# cp ./CPAN-2.10/lib/CPAN/FirstTime.pm /usr/share/perl5/CPAN/

これでとりあえず動いたのでいいことにする

検索用

[centos7] [firsttime.pm] [perl]

2016/03/04(金)nasのマウント

sambaいれる

# yum install smb-client
# yum install cifs-utils

マウントしてみる

# mkdir /mnt/folder
# mount -t cifs //IP/path /mnt/folder -o username=*****
ここでパスワード聞かれる

自動でマウントするようにする

# yum install autofs
# vi /etc/auto.misc
folder -fstype=cifs,rw,username=*****,password=*****,uid=1000,gid=1000 ://IP/path
を追加
samba用のuid,gid決めてるならそれにする

# vi /etc/auto.master
/mnt /etc/auto.misc
を追加
miscを書き換えても構わないと思う

# systemctl enable autofs
# systemctl start autofs

これで
/mntのfolderにアクセスすると自動でネットワークにつないでくれる

検索用

[centos7] [samba] [autofs] [nas]

2015/11/06(金)firewalld

firewalld使いにくい
いや、便利なのはわかるんだけど、iptablesに慣れすぎてて、今更他のコマンドに移行できない
しかも、zoneの設定が保存されないとか...
話によるとifcfg-xxxにzone書いとけって話らしいので、それに従っておく

そもそも、プライベートなネットワーク上に置いてあるサーバなので、default-zoneをtrustedにしてやろうかと思った

参考
http://blog.cles.jp/item/7391
http://piro791.blog.so-net.ne.jp/2014-09-04

検索用

[centos] [firewalld] [firewall-cmd]

2014/11/19(水)postgresqlへの問い合わせが化けてた

データベース学習用のajaxを組んでいたのだけど、日本語が文字化けしてどうしようもなかったのだけど、ようやく解決策が判明

データベースへの問い合わせ結果も、外部入力と同様にdecodeすべきだった模様
すべてUFT8で統一していたので気づかなかった

メモ

use Encode 'encode';
$sth = $dbh->prepare($q);
$row = $sth->execute();

#適当にフェッチ

$value = decode('UTF-8', $value); # 結果の値をデコード

#最後にエンコードして返す
return encode('UTF-8', $result);

2014/04/25(金)Office 2007の認証が通らない!?

7からダウングレードしてXPを使っていたPCを7に戻す作業をここしばらくしていました
7 に SP 1あてて、カスタマイズIE11入れて、Office入れたのはいいのですが、認証が通らない!

認証時のエラーIDはネットワークが繋がらないということだけど、IE11にプロクシの設定してあるし、普通に繋がる...

で、しばらくいじった結果分かったこと

プロクシの設定がされているけど、されていないっぽい

Windowsの事はよく分からないけど、今回IEAK11でカスタマイズしたIE11入れてました
そのとき、プロクシの設定も埋め込んでいたのだけれども、どうもofficeのライセンス認証が
そのプロクシ設定を取り込んでない模様

IEのインターネットオプションからLANの設定(プロクシの設定)を開き、
適当に打ち直して(80を入れ直すとか)OKボタンを押す*1

これで問題なく認証通るようになりました
WindowsがIEのプロクシ設定からではなく、Windows自体がプロクシの設定画面を持ってるなら
こんな変なトラブル起きなかったんだろうけどなぁ


*1 : もしかしたら、打ち直さなくても大丈夫かも知れませんが...

検索用

[Windows 7][Internet Explorer 11][proxy][Microsoft Office 2007]

2013/09/11(水)UPS

先日の雷があって、UPSの設定をしていないことを思い出した
なので、サーバにapcupsdをインストール

前準備

gccとかmake入ってなかったのでインストール

yum install gcc-c++
yum install make
yum install man

インストール

apcupsdのtar落としてインストール。
前は、rpmだったけど、今回はrpm使えないのでソースから入れてます。
(追記:centだから、普通にrpm使えますね...なに勘違いしてたんだろう)
また、usbは標準ではdisableになってるので、configure時に忘れずに

$ wget http://sourceforge.net/projects/apcupsd/files/apcupsd%20-%20Stable/3.14.10/apcupsd-3.14.10.tar.gz/download
$ tar xvzf apcupsd-3.14.10.tar.gz
$ cd apcupsd-3.14.10
$ ./configure --enable-usb
$ make
$ su
# make install

設定

/etc/apcupsd/apcupsd.confが設定ファイル
特に細かい設定は必要ないので、ups使う設定だけ書き換えておく。

29: UPSCABLE usb
79: UPSTYPE usb
80: DEVICE

起動

立ち上げて、status確認。
問題なければ、起動時に立ち上がるように登録

# service apcupsd start
# service apcupsd status

 ... ここでステータスがたらたら出れば大丈夫
 ... エラーが出たら、dmesgを確認

# chkconfig apcupsd on

エラーが出るとしたら、cableの指定が間違ってるとか、そんなあたりだと思います
あとは、USBハブ通してるとか。試してないけど、直結の必要ありそうです。

検索用

[apc ups][apcupsd][linux][centos][usb]

2013/08/15(木)仮想環境を作る

余計なことしているかもだけど、まあ動くからいいことにする
今回は、debianを入れてみる

下準備

  • NICの設定

    • bridgeを作っておく
      [/etc/sysconfig/network-scripts]の[ifcfg-eth1]を開いて、ブリッジで設定

      DEVICE=eth1
      HWADDR=**:**:**:**:**:**
      TYPE=Ethernet
      UUID=********-****-****-****-************
      ONBOOT=yes
      NM_CONTROLLED=yes
      BOOTPROTO=static
      IPADDR=192.168.100.4
      NETMASK=255.255.255.0
      GATEWAY=192.168.100.1
      NETWORK=192.168.100.0
      BROADCAST=192.168.100.255
      BRIDGE=br0
      

      同じく[/etc/sysconfig/network-scripts]の[ifcfg-br0]を開いて、ブリッジを作成

      DEVICE=br0
      HWADDR=**:**:**:**:**:**
      TYPE=Bridge
      UUID=********-****-****-****-************
      ONBOOT=yes
      NM_CONTROLLED=yes
      BOOTPROTO=static
      IPADDR=192.168.100.4
      NETMASK=255.255.255.0
      GATEWAY=192.168.100.1
      NETWORK=192.168.100.0
      BROADCAST=192.168.100.255
      

仮想化環境のインストール

  • 仮想化ソフト環境を入れる

    yum groupinstall "Virtualization" "Virtualization Platform" "Virtualization Client" "Virtualization Tools"
    
    groupinstallで一括インストールできるっぽい。便利だね
  • モジュール読み込ませて、起動させておく

    # modprobe kvm
    # modprobe kvm_intel
    # chkconfig libvirtd on
    # service libvirtd start
    

仮想マシンを作ってみる

  • インストール先を用意
    仮想マシンをいくつか作る予定があるので、適当なフォルダを切って、imgファイルを作る。
    今回はdebian入れるのでわかるようにしておいた。

    $ mkdir -p /path/to/image
    $ cd /path/to/image
    $ qemu-img create www-debian.img 20G
    
  • debian のイメージをDL
    今回は、amd64のnetinstイメージを利用
    実際のパスについては、http://www.debian.org/CD/netinst/を参考にする

    $ wget http://cdimage.debian.org/debian-cd/7.1.0/amd64/iso-cd/debian-7.1.0-amd64-netinst.iso
    
  • debianのインストール

    • virt-installする
      wwwという名前で作成。CPUは1で、メモリは1G、ネットワークは、先ほど作ったbr0を利用。
      nographicでやったら、あまりにも反応悪すぎたので、vncオプションつけて、直接QEMUに接続。

      # virt-install -n www -r 1024 --vcpus=1 \
      --cdrom=/path/to/image/debian-7.1.0-amd64-netinst.iso --os-type=linux --os-variant=debiansqueeze \
      --disk=/path/to/image/www-debian.img -w bridge=br0 \
      --connect qemu:///system --hvm \
      --virt-type=kvm --vnc --vncport=5901 --vnclisten=0.0.0.0 --keymap=ja
      
      "ディスプレイをオープンできません"ってエラーが出ても、気にしない。
      ポートがぶつかるようなら5902とか適当に決める
    • vnc立ち上げて接続
      192.168.100.4:5901に接続して、debianをインストール。
      接続できない場合、ホスト側のiptablesではじいている可能性あり。
      この場合、5900番台の接続を許可してあげてください。
    • もし失敗したら
      仮想端末強制終了(destroy)して、端末削除(undefine)。端末停止(destroy)だけでは、止めただけなので定義は残ってます。

      # virsh destroy www
      # virsh undefine www
      
  • インストール後
    インストールが無事終わるとvnc切断されます。
    ホストOSで仮想環境の確認

    # virsh list --all
     Id    名前                         状態
    ----------------------------------------------------
     -     www                            シャットオフ
    
    のように出れば無事インストール成功
    端末が一覧に出ない場合、sshを切って、再接続して、もう一度virshを実行。
    それでも出てこない場合は、どこかおかしい

debianの設定

まずは、ゲストを起動して接続

  • ゲストの起動

    # virsh start www
    
  • vncで接続
    ネットワークの設定だけする
    ...インストール時にネットワークの設定があった気もするけど...
  • IPの設定
    [ifdown eth0]でインターフェースを落とす。
    [/etc/network]の[interfaces]を開いて、eth0の設定を書く

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    
    # The loopback network interface
    auto lo
    iface lo inet loopback
    
    # The primary network interface
    allow-hotplug eth0
    #iface eth0 inet dhcp
    auto eth0
    iface eth0 inet static
    address 192.168.100.11
    netmask 255.255.255.0
    network 192.168.100.0
    broadcast 192.168.100.255
    gateway 192.168.100.1
    
    書き換えたら
    [ifup eth0]
    で、eth0を起動して、sshでつなぎ直し

[/etc/libvirt/qemu/www.xml]書き直してvncをoffにする(予定)

こまごまとした設定

aptitudeでインストール

  • chkconfig
  • ntp

[/etc/ntp.conf]の[server]付近を変更

server 192.168.100.4	# ホストOSのntpに同期させる
#server 0.debian.pool.ntp.org iburst このへんコメントアウト
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst

変更したら、

# chkconfig ntp on
# service ntp start

で起動

適当にサーバを入れる

あとは自由に使う
先ほど設定した 192.168.100.11 にsshで接続可能
もしくは、ホスト側 192.168.100.4:5901 にvncで接続可能
使いやすい方使ってください

2013/08/15(木)ホストサーバの設定

なにか入れたらあとから追記する

いろいろ設定しておく

  • ホスト名
    • [/etc/hosts]をいじってホスト名設定
  • dnsの設定
    • [/etc/resolf.conf]
      適当にnameserverを設定

基本的なソフトを入れておく

何か足りなければ適宜追加

  • wget
    • [yum install wget]
      って、wgetすら入っていないとは思わなかった
  • screen
    • [yum install screen]
      内部ネットワークなので切断事故は無いと思うけど、念のため入れておく

ちょっとしたサーバ

ホストOSで動いていた方が便利なものを入れておく

  • ntpサーバ

    • [yum install ntp]して、[/etc/ntp.conf]を書き換え

      (略)
      # Hosts on local network are less restricted.
      restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
      
      server xxx.xxx.xxx.xx   # 使っているプロバイダのntpサーバを指定
      server xxx.xxx.xxx.xx
      
    • サービスを起動

      $ service ntpd start
      $ chkconfig ntpd on
      
OK キャンセル 確認 その他