2018/01/06(土)apache2が立ち上がらない

apacheが立ち上がらなくなった

[....] Starting web server: apache2/usr/sbin/apache2: symbol lookup error: /usr/sbin/apache2: undefined symbol: apr_os_uuid_get
Action 'start' failed.
The Apache error log may have more information.
 failed!

アップデートしたときに、libaprが正しく更新されない?のが原因でした
新しいlibaprは[[/usr/lib]]に入るのに、なぜか[[/usr/local/apr/lib]]に古いやつが入っていて、そっちを参照してました
とりあえず、古いやつは移動して、新しいのをコピーしておいた

# cd /usr/local/apr
# mkdir old
# mv lib/libapr* old/
# cp /usr/lib/libapr* lib/

これで起動するようになったので、これでいいことにする

警告出された

シンボリックリンクになってないって警告出された
しかたないので、一部のファイルを消して ln -s しなおした

検索用

[apache2] [apr_os_uuid_get] [libapr] [aptitude]

2016/08/27(土)ディスクを論理ボリュームに追加する

論理ボリュームの良いところはディスクが足りなくなりそうなら追加できること。
作業としては、前の記事とほぼ同じで、作成ではなく、追加になるくらいです。

前準備

追加したディスクは 前の記事 と同じようにパーティション切って、パーティションタイプを変えておきます。

物理ボリュームの作成とボリュームグループへの追加登録

前回作成した DataVolume に追加します。

# pvcreate /dev/vdc1
  Writing physical volume data to disk "/dev/vdc1"
  Physical volume "/dev/vdc1" successfully created
# vgextend DataVolume /dev/vdc1
  Volume group "DataVolume" successfully extended

論理ボリュームの拡張

空き領域(FREE)のすべて(100%)を追加(+)します。

# lvextend -l +100%FREE /dev/DataVolume/dv1

ディスクを拡張する

フォーマットするとデータ消えるので注意。
unmountしなくても大丈夫っぽい。
拡張用のコマンド使います。

# resize2fs /dev/DataVolume/dv1
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/DataVolume/dv1 is mounted on /xxxxx; on-line resizing required
old_desc_blocks = 7, new_desc_blocks = 13
Performing an on-line resize of /dev/DataVolume/dv1 to 52426752 (4k) blocks.
The filesystem on /dev/DataVolume/dv1 is now 52426752 blocks long.||<

これで容量拡張されています。

参考サイト

http://qiita.com/g_maeda/items/3602dc2f7af3f711f9c4

検索用

[linux] [lvm] [物理ボリューム] [論理ボリューム] [作成]

2016/08/27(土)kvmにディスク追加した

2年前に作った仮想環境(ゲスト)のディスクが足りなくなったので追加した。
20Gあれば足りると思ってたけど、最近はオンラインにファイルおくようになったので足りなくなった。
最近はいくら容量があっても足りないね。

バックアップの都合と、データ移行の都合であえて現在のディスクを拡張せずに、新しくディスクを追加します。
ゲストOSの動いているディスクはいじらないので停止したり、再起動の必要はなし。

ホスト側で仮想ディスクの作成と追加

前と同じところにディスク作成。
今回はvdbとして100G追加。
必要なら改めて追加する。

$ cd /path/to/image
$ qemu-img create www-data1.img 100G
Formatting 'www-data1.img', fmt=raw size=107374182400
$ vi www-data1.xml
<disk type='file' device='disk'>
   <driver name='qemu' type='raw' cache='none'/>
   <source file='/path/to/image/www-data1.img'/>
   <target dev='vdb'/>
</disk>
$ virsh attach-device www ./www-data1.xml --config
デバイスが正常に接続されました

--config付けると設定ファイルに追記されます。
というか、つけないとゲスト再起動時にアタッチされません。

くっつけたデバイスを外すときは

$ virsh detach-device www ./www-data1.xml --config 
デバイスが正常に切断されました

で外せます。

ゲスト側でディスクをフォーマット

# fdisk /dev/vdb
Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
Using default value 209715199

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
# mkfs.ext4 /dev/vdb1

マウントさせる

マウントするように書いておく

# vi /etc/fstab

[/dev/vdb1 /path/to/mount ext4 defaults 0 0] を追記

# mount -a

以上で設定終了...
なんだけど、データ用領域は拡張する可能性大なので、きちんと論理ボリュームにしておくことにする。
次の記事でまとめます。

検索用

[linux] [kvm] [ディスク] [追加] [拡張]

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]

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
      

2013/08/14(水)サーバを入れ替えた

HP ProLiant MicroServer Gen8(712317-291)が安かったので、基本仕様のやつを買ってみた。

以下、セットアップ時のメモ

  • 仕様
    • Celeron G1610T
    • 2G DDR3 DIMM
    • ディスクなし
    • 光学ドライブなし

  • 自前で用意したもの
    • HDD 1T 2台
      arrayコントローラでミラーリング
    • 外付け光学ドライブ
      OSのインストールに利用
    • USBメモリ
      追加ドライバ読ませるのに利用
    • USBキーボード、マウス
      ワイヤレスしか持ってなかったので、急遽買ってきた
      1つくらい有線のものもってなきゃだめだね

必要なファイルを落としてくる

  • CentOS 6.4
    • minimalのイメージを落とす
      最小限の構成で構わないので、小さいやつ
      netinstallやliveだと、(多分)ddできないので注意
    • 落としたイメージをなんとかしてCD-Rに焼く
  • コントローラのドライバ
    HPサポートセンターから、HP Dynamic Smart Array B120iコントローラのドライバを落としてくる
    • 検索窓に [HP Dynamic Smart Array B120i]を入れて実行すれば、ジャンプできます
    • 左側メニュー「ダウンロードオプション」の「ドライバー、ソフトウェア、ファームウェア」をクリック
    • 下の「HP Dynamic Smart Array B120iコントローラ」をクリック
    • (必要なら)ドライバーの言語で、日本語(Japanese)を選択して、実行(go)
    • 「OSで Red Hat Enterprice Linux 6 (x86-64)」をクリック
    • 必要そうなドライバーをダウンロード
      どれが必要かいまいちわからないので、
      「ドライバー - ストレージコントローラ」の部品1~部品4の「hpvsa-1.2.6-13.rhel6u?.x86_64.rpm」をダウンロード
      「ソフトウェア - ドライバディスケット」の部品1~部品4の「hpvsa-1.2.6-13.rhel6u?.x86_64.dd.gz」をダウンロード
    • 落としたファイルをUSBにファイルのままコピー
      ただし、.dd.gzは解凍して、.ddにしておく
      適当なlinux上でgunzipか、windows上で適当なソフト使ってください

biosとかarrayの設定

HP Dynamic Smart Array B120iコントローラが標準でついているので、これを使ってミラーリングする。

  • 起動時に適当にF5とか押して、設定開く
    ウィザードのタブから、ディスクを選択して、ミラーリングの設定をする
  • biosの設定開く
    時間の設定が合ってなかったので、適当に設定
    ほかになにかいじりたかったら今のうちに

CentOSのインストール

  • ddのファイルを入れたUSBをポートに指しておく
    キーボード、マウス、光学ドライブ、メモリでちょうど4ポート埋まります。よくできてるね
  • 焼いたCD-Rでブート
    メニューでたら[ESC]押して、[linux dd blacklist=ahci]でenter
    blacklist書いておかないと、ドライバ選択や、インストール先の選択で面倒なことになります
  • ドライバの追加読み込み
    ドライバの読み込みメニューでたら[sda]を選択して、先ほど入れた[hpvsa-1.2.6-13.rhel6u4.x86_64.dd]を選択
    (本来なら1~3も入れる必要あると思うんだけど、複数読ませようとすると、エラーが出てしまうので、最後のだけ入れてます)
    ちゃんと読み込めてると、メニューに戻った時、[sdc]が増えてるはずです
  • あとは普通にインストール
    インストール先をHP logical driveにし忘れないように
  • ディスク抜いて再起動
    インストール終了後、光学ドライブもUSBもマウスも引っこ抜いて再起動

基本的な設定

いつまでもコンソールつなぎたくないので、sshだけ設定

  • アカウントの作成
    useraddで個人アカウント作成
  • (必要なら)iptablesの設定
    [/etc/sysconfig]の[iptales]を書き換える
    どこか適当なサイトを参考に書く
    書き換えたら
    [iptables-restore < iptables]で更新
  • IPの設定
    [/etc/sysconfig/network-scripts]の[ifcfg-eth0]を開いて、IPを固定しておく
    DEVICE=eth0
    HWADDR=**:**:**:**:**:**
    TYPE=Ethernet
    UUID=********-****-****-****-************
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=static
    IPADDR=192.168.100.3
    NETMASK=255.255.255.0
    GATEWAY=192.168.100.1
    NETWORK=192.168.100.0
    BROADCAST=192.168.100.255
    
    書き換えたら
    [ifup eth0]
    で、eth0を起動

続きは、適当な端末からsshしてから

検索用

[HP ProLiant MicroServer Gen8] [CentOS 6.4]