:::: MENU ::::
Browsing posts in: Linux

CentOS7のyum updateでkernelを除外

CentOS7上で、yum更新した後、再起動した際に、起動できないことが度々起こりました。

具体的には、通常にyum更新をかけると、kernelのアップデートがあった場合に、アップデートされ、次回の起動時には、アップデートされたkernelで起動しますが、これが下記のエラーで止まったまま、正常に起動しないということです。

dracut-initqueue[685]: Warning: /dev/root does not exist

このエラーは今まででも何度か体験しているので、yum 更新でkernelを除外設定にした。

yum設定ファイルを編集

# vi /etc/yum.conf

....

exclude=kernel* <--追記

(サーバーとして運用しているので、xorg*やcentos*も実際には追記しています)

 

アップデートされた場合でも、勝手に新しいkernelで起動しない設定

# vi /etc/sysconfig/kernel

....

UPDATEDEFAULT=no <--yesから変更

この2つの設定をしておくと、yum更新でkernelのアップデートが適用外となり、万が一、kernelアップデートされたとしても、現在のkernelで起動できるようになります。


QNAPをZabbixの監視対象にする

Zabbix Serverで監視対象のホストを順次登録しているのですが、NASのQNAPシリーズも監視対象にしたい。

しかし、QNAPのアプリではZabbixは存在しないので、下記の手順でインストールした。

QNAP側 (Zabbix Agent)

  1. Zabbixのフォーラムにて、配布されているQPKGファイルをダウンロード
    https://www.zabbix.com/forum/showthread.php?t=40955
  2. QNAPに管理者でログインし、App Centerを開く
  3. 「手動でインストール」 をクリックし、ダウンロードしたQPKGファイルを選択し、インストール
  4. Zabbix _agentのインストールが完了後、起動をON
  5. 次に、QNAPへTelnet若しくはSSHで管理者にてログイン
  6. zabbixの設定ファイルを編集
    # vim /etc/zabbix/zabbix_agentd.conf
    ….
    Server = xxx.xxx.xxx.xxx (Zabbix ServerのIPに設定)
    ….
  7. zabbix agent再起動
    QNAP側で、起動しているので、一旦停止して起動させます。

    # /etc/init.d/zabbix_agentd.sh stop
    # /etc/init.d/zabbix_agentd.sh start
  8. zabbix agent起動確認
    # ps aux|grep zabbix
    13738 zabbix 696 S /usr/bin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.c
    13743 zabbix 860 S /usr/bin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.c
    ….

Zabbix Server 側

  1. Zabbix Serverへ管理者でログイン
  2. 設定のホスト作成でQNAP用のホストを作成
    IPアドレスにQNAPのIPアドレス
    テンプレートにTemplate OS Linux

これで、しばらく待ち、エージェントの状態が緑になればOKです。

赤のまま表示されていれば、ファイヤーウォールの影響か、ポートの指定、IPの指定等を確認したほうが良いでしょう。

作業した直後、エージェントの状態が赤のままで、調べてみたら、QNAP側のzabbix agentが起動していなかったと言うオチでした。
QNAP上でzabbixを再起動した際に、横着して、zabbix_agentd.sh restartとやっちゃったんです。(_😉


zabbix 2.4.xから3.0へアップデートしたら画面が真っ白

職場のzabbixを2.4.xから3.0へアップデートしたのでメモ

アップデート方法は、ほぼ下記のURL通りです。(手抜き)
http://qiita.com/ryouma_nagare/items/9bcf8f5e3e514103b515

違う点は、pg_dumpでなくて、mysqlを使っている点と、リポジトリの差し替えで、CentOS 6.xの環境だったので、rhelの7を6へ変更したくらいです。

まぁ、すんなりとアップデートが終わり、再起動してみた。

# service start zabbix-server
# service start zabbix-agent

それで、いつも通りにWEBのログイン画面にアクセスすると、画面が真っ白

失敗したのか、zabbixのログを見ても、表示されないエラーは見当たらず、Apacheのログを確認したところ、

PHP Parse error: syntax error, unexpected ‘[‘ in /usr/share/zabbix/index.php on line 29

どうやら、zabbix 3.xからは、php5.6以降が必須らしい。
phpのバージョンを調べたら、5.3.xだったので、早速、phpのアップデートです。
ちなみに、php7は、まだ様子見なので、5.6.xをインストールしました。

下記URLを参考に、remiで5.6をインストールです。
http://syaka.site/2016/03/6/

phpのアップグレード完了後に、Apacheを再起動して、再度WEB画面にアクセスすると、

Not Found The requested URL /zabbix/ was not found on this server.

2.4.xのバージョンまで、同じURLで接続出来ていたのに?と、/etc/httpd/conf.d/zabbix.conを確認したところ、zabbix.conf.rpmsaveに名前変更されたままでしたので、zabbix.confに戻しました。

そして、再度、WEB画面にアクセス。
表示されました! が・・・何だかエラーっぽいのが沢山表示されている。

ふむ、timezoneがどうとか言ってるようで、いつの日からか、timezone設定しなきゃいけなかったのを思い出し、/etc/php.iniを編集して、timezoneを有効にした。

date.timezone = Asia/Tokyo

さらに、Apacheを再起動して、再接続したら、エラーっぽい表示はなくなりましたが、今度は、php内のオプションを変更してね〜とな。

あとは、phpのオプション設定変更と、不足しているモジュールを導入してあげれば良いようです。

/etc/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
always_populate_raw_post_data = -1

不足しているモジュールは、bcmathとxml関連なので、

# yum install php-bcmath php-xml

これで、無事に正常動作が確認できました。 はぁ、疲れた。


rainloopでページにアクセス出来ない症状

職場のWebメールをrainloopに変更したところ、ある一人から、アクセス出来ません!と報告がきた。

拝見した所、下記のエラー

Page refresh in case of javascript errors

MacのSafariの環境でエラーが出ていたので、とりあえず他のブラウザーで試してみてと提案。

Google ChromeもFirefoxも入っていなかったので、ダウンロードしようとしたところ、どちらもMac OS X 10.6以降が必須なのでダウンロード出来ませんと表示。

えっ? Mac OS Xのバージョンは?

はい、10.5.xと古かったのです。

rainloopの必要要件では、対象ブラウザーが明記されているものの、バージョンまでは書かれてないようですが、恐らく、これが原因なのでしょう。

http://www.rainloop.net/docs/system-requirements/


Webmin/Usermin接続が拒否される場合

めったに開かないのですが、久しぶりにWebmin/Userminへアクセスしたところ、接続(アクセス)が拒否されるようになっていました。

当然、サーバーは起動しているのを確認し、Webmin/Userminの再起動も行っています。

ところが、古いブラウザでは接続出来るようなのです。

調べてみると、どうやら証明書の鍵長が1024ビット未満の場合には、アクセスが拒否するらしく、古い設定のままのWebmin/Uerminは、デフォルトで512ビットで作られているのが原因のようです。(現在のデフォルト設定は、2048になってます)

これを解決するには、証明書を再作成すると直るようですので、下記の記事を参考にしてみました。

http://www.prox.ne.jp/faq/2_368_ja.html

Webminが開けない

なるほど、そのようにWebmin上で作成するんですね。 って、お〜〜い、そのWebmin/Usermin自体につながらないっつうの!

一番、手っ取り早いのは、Webminサーバー内の設定を一時的に変更してあげる事ではないでしょうか。

$ cd /etc/webmin/
$ vim miniserv.conf ... ssl=0 # ←1を0に変更 ...
$ service webmin restart

コマンドラインで作成するには、下記参照

Replace webmin self-signed certificate to avoid sec_error_invalid_key error

http://d.hatena.ne.jp/kibitaki/20150718/1437231546


Subsonic 4.xから6.0betaへアップデート

このサイトでも何度かSubsonicのアップデート情報を書いてますが、さほど変わりはありません。

環境は、SL6上で、Subsonic 4.xから6.0betaへのアップデートです。

たぶん、rpm -Uvhでアップデートかけても大丈夫かと思いますが、今回のアップデート作業は下記の手順で行いました。

  1. Subsonicが起動していたら停止
    # service subsonic stop
  2. javaのインストール
    # sudo yum install java-1.7.0-openjdk
  3. 最新版をダウンロード
    (http://www.subsonic.org/pages/download.jsp)でrpmをダウンロード
  4. アップデート
    # sudo yum install --nogpgcheck subsonic-x.x.rpm

もし、アップデートが上手くいかなければ、古いパッケージを削除してからインストールしましょう。

# sudo yum remove subsonic

バージョンアップ後は、4.xからの設定等もそのまま引き継がれました。
5.xのバージョンをすっ飛ばしてのバージョンアップなので、結構UIが洗練されてますね。

6.0betaではHTML5Audioが採用されていますが、やっぱりiPhone/iPadのブラウザ上での再生はダメか。
また、DLNAを有効にしても、我が家のムービーファイルは再生出来なかった。(T_T)


3日間悩んだApache2.4系ユーザーディレクトリのForbidden

Apache2.4系を入れる必要があったので、CentOS6/Apache2.2からCentOS7/Apache2.4へ更新しました。

2.4系では、httpd.conf内の書式やアクセス制御の書式も変更になり、修正を施し、Apache起動まで確認できたところで、ユーザーディレクトリの設定を有効にしたところ、Fobiddenのエラーでハマってしまいました。

この時の環境では、

  • Firewall無効
  • SELinux無効
  • mod_userdir.soのモジュールが読み込まれているか確認
  • /etc/httpd/conf.d/userdir.con内を確認
    UserDir public_html
    <Directory “/home/*/public_html”>
    AllowOverride ALL
    Options ALL
    Require all granted
    </Directory>
  • userのパーミッションを711確認
  • user下public_htmlディレクトリのパーミッションを755確認
  • public_html下のindex.htmlに読み込み属性があるか確認
  • user下に.htaccessがあるか確認
    .htaccessが見つかった場合、アクセス制御書式が古くなっているのでorder deny allow形式からRequire形式に変更

おおよそ、これくらいの設定で普通なら閲覧できるはずなんです。

実は、今回運用したサイトの構成で、userのディレクトリは、グループ分けする必要があったので、下記のようになってます。

/home/group1/user1
/home/group1/user2
/home/group2/user3
/home/group2/user4

これらuser1からuser4までチルダ(~)を使ったURL(http://localhost/~user1)でアクセスすると、すべて、下記のエラー

Forbidden
You don’t have permission to access /~user1 on this server.

httpdのエラーログを見ても、permission denied.と記載されている。

/home/group/userの位置が悪いのか?と思い、/home/user5のユーザーを作成してみると、~/user5でアクセス出来る。

と言うことは、/etc/httpd/conf.d/userdir.conf内のディレクティブ/home/*/public_htmlが怪しい。
*の指定だと、homeとpublic_html間に何が入っても有効なはずじゃないのか?と思い、下記のディレクティブを追加してみた。

<Directory "/home/*/*/public_html">
AllowOverride ALL
Options IncludesNoExec ExecCGI FollowSymLinks
Require method GET POST OPTIONS
</Directory>

これで、Apacheを再起動したところ、チルダ(~)による各ユーザーのホームページが閲覧できるようになった。

結果オーライだが、/home/*/*/public_htmlの書式は、何かスマートじゃないよね?
何かよい書き方もしくは方法があったら、教えてください。


CentOS7でネットワーク不調だった原因

CentOS7をインストール後に、nfsに接続できなかったり、digでDNS情報が引けなかったりと、四苦八苦してました。

NFSでは、下記の環境

  • Firewall無効
  • SELinux無効
  • NFS関連のプログラムはインストール済み
  • 関連プログラムは、起動済み
  • tcp_wrapperrrで制限はしていない
  • Google等へのpingでネットワーク疎通確認
  • autofsも起動している

autofsで指定しているフォルダにアクセスしても、手動でmountコマンドを打っても、しばらく経ったあとに、Connection timed out.で接続できない。
また、接続先を変更してみても、接続できないので、サーバー側で弾かれているわけではなさそう。

ググってみると、状況によっては、IPアドレスと名前のマッピングも関係する場合があるとの情報もあったので、hostsやDNS関連も確認した。

この作業の途中で、DNSのdigコマンドで自分のホストを確認しようとしてみたところ、なぜかdigの情報がGoogle等では引けるのに、自分のDNSでは引けないことに気づく。

なぜ?と、徐ろに、ipコマンドを打ってみた。

# ip addr
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 00:0cxx:b0:xx:e0 brd ff:ff:ff:ff:ff:ff
 inet 192.168.1.37/32 brd 192.168.1.37 scope global ens32

もう、お分かりになったでしょう!

サブネットマスクが32になっているではありませんか。

CentOS7のネットワーク設定で、nmtuiコマンドによりネットワーク設定を行ったわけですが、IPアドレス入力欄で192.168.1.37だけを入力した時に、自動的に192.168.1.37/32へ設定されていたようでした。

もう一度、nmtuiを起動して変更しても構いませんが、下記を編集して手動で対処した。

# vi /etc/sysconfig/network-scripts/ifcfg-en32
PREFIX=24  #32から24へ変更して保存
# systemctl restart network

これにて、NFSもdigも一件落着しました。


Debian 8(Jessie)にVMware Toolsをインストール

前記で、Debian 8(Jessie)をVMware Fusion上にインストールしたので、VMware-Toolsを導入しました。

まずは、VMwareTools導入にあたり、必須となるファイルやプログラムをDebian上にインストールします。

# apt-get install gcc make perl
# apt-get install linux-headers-$(uname -r)

MacのVMware Fusion上のメニュー欄から仮想マシンのVMware Toolsのインストール選びます。
すると、/media/cdromへマウントされます。

その中の既存のインストーラを起動しようとすると・・下記のエラー

chmod: `./vmware-tools-upgrader-64′ のパーミッションを変更しています: 読み込み専用ファイルシステムです

なので、/tmp/に展開してインストール

# tar zxf /media/cdrom/VMwareTools-9.9.2-2496486.tar.gz -C /tmp
# cd tmp/mware-tools-distrib/
# ./vmware-install.pl

再起動後、VMwareToolsが有効になっている事と思います。


Debian wheezy(7.8) から jessie(8.0)へアップグレード

Debianが約2年ぶりにメジャーアップグレードで、Debian 8.0 Jessieがリリースされましたので、早速、既存の7.x(wheezy)からアップグレードを行ってみました。
メジャーアップグレードでリリースされたばかりなので、用心をとって、VMware Fusion上にてテスト的にアップグレードです。

VMware Fusion上で、7.8(wheezy)をnet installした後、8.0(jessie)へのアップグレード方法です。

もし、運用しているwheezyをそのままアップグレードする場合には、/etc下やapt関連のバックアップを取ってから行った方が良いでしょう。

  1. 既存のパッケージを更新しておきます。
    # apt-get update; apt-get upgrade
    また、整合性の競合がないことも確認しておきましょう
  2. wheezyからjessieへsourcelessを変更
    # sed -i 's/wheezy/jessie/g' /etc/apt/sources.list
  3. 更新・アップグレード
    # apt-get update
    # apt-get upgrade
    # apt-get dis-upgrade
  4. 掃除
    # aptitude purge '~c’
  5. 再起動
    # init 6
  6. バージョン確認
    #lsb_release -aNo LSB modules are available.
    Distributor ID: Debian
    Description: Debian GNU/Linux 8.0 (jessie)
    Release: 8.0
    Codename: jessie

以上で、7.xから8へのアップグレード完了です。

jessieから、GNOMEが標準になったり、標準のinitシステムがSysVinitからSystemdへ変更されたりと、7.xとは大幅な変更がありますし、リリースされたばかりと言うこともあり、不具合も出る可能性が大いにあるので、急がなければ、1ヶ月近くは様子をみて、アップグレードした方が良いかと思われます。


ページ:1234567...15