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/
これでとりあえず動いたのでいいことにする
検索用
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
- bridgeを作っておく
仮想化環境のインストール
- 仮想化ソフト環境を入れる
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
- virt-installする
- インストール後
インストールが無事終わると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を設定
- [/etc/resolf.conf]
基本的なソフトを入れておく
何か足りなければ適宜追加
- wget
- [yum install wget]
って、wgetすら入っていないとは思わなかった
- [yum install wget]
- screen
- [yum install 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
- [yum install ntp]して、[/etc/ntp.conf]を書き換え
2013/08/14(水)サーバを入れ替えた
HP ProLiant MicroServer Gen8(712317-291)が安かったので、基本仕様のやつを買ってみた。
以下、セットアップ時のメモ
- 仕様
- Celeron G1610T
- 2G DDR3 DIMM
- ディスクなし
- 光学ドライブなし
- 自前で用意したもの
- HDD 1T 2台
arrayコントローラでミラーリング - 外付け光学ドライブ
OSのインストールに利用 - USBメモリ
追加ドライバ読ませるのに利用 - USBキーボード、マウス
ワイヤレスしか持ってなかったので、急遽買ってきた
1つくらい有線のものもってなきゃだめだね
- HDD 1T 2台
必要なファイルを落としてくる
- CentOS 6.4
- minimalのイメージを落とす
最小限の構成で構わないので、小さいやつ
netinstallやliveだと、(多分)ddできないので注意 - 落としたイメージをなんとかしてCD-Rに焼く
- minimalのイメージを落とす
- コントローラのドライバ
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]