投稿者: nori

  • DTIサーバー構築33 「優しく。優しく。」

    SSHでガシガシやるのもいいけど、webminでお気楽にやるのもいいよね。
    と、なんか最近、webminのインストール方法を書いた気もするが。

    DTIサーバーの方は、Cent6だし、Cent7と違うかな。
    と、思ったけど、一緒だった。

    というわけで、以下のページを参考に、インストールしてみた。

    自宅サーバ更新!(9)webmin

    はい。終了。
    ★DTIサーバー構築一覧はこちら★

  • DTIサーバー構築32 「もう、信じられないっ!」

    ある日、Gmailの、サイトで、見つけてしまったさ。
    この世に生きる喜び。ではなく、エラーメッセージを。
    レッドレッド。それはどぎつい、嫌な色だったさ。
    レッドレッド。面倒だから半年ほど放っておいたさ。
    SSL Security Error. [ Help ]
    Server returned error “SSL error: certificate has expired”
    そう。証明書の期限切れ。

    もうすぐ無料のSSL証明書が簡単に取得できる日が来るようだが、それまでは1年更新の無料証明書を何とか使うしかない。

    なので、昔のBLOGの記事を見ながら、まずは、CAcert.orgに行ってみる。
    http://www.cacert.org/
    あれ?BLOGをよく見ると、CAcertでは信用してもらえずに、StartSSLで取得し直してるやん。

    過去の自分に教えられつつ、次のページに行って、右上の「顔写真+鍵」マークでログイン。

    証明書の選択が出てくるので、過去に設定したであろう証明書を選択。
    ログイン後は、まず、「Validations Wizard」タブを選択して、Type「Email Address Validation」を選択して、「Continue >> >>」

    適当なEmailを入力して「Continue >> >>」、待つ。待つ。そして松。

    メールが来たら、「Verification Code」を入力して「Continue >> >>」

    「Finish >> >>」すなわち、終わり。
    でも、目的は達していない。

    「Validations Wizard」タブを選択して、今度はType「Domain Name Validation」を選択して、「Continue >> >>」

    あなたの管理しているドメインを入力して、「Continue >> >>」

    一覧に表示される受信可能なメールアドレスを選択して、「Continue >> >>」
    メールが来たら、「Verification Code」を入力して「Continue >> >>」

    「Finish >> >>」すなわち、終わり。

    でも、まだ目的は達していない。
     

    「Certificates Wizard」タブを選択して、Certificate Target「Web Server SSL/TLS Certificate」を選択して、「Continue >> >>」

    次に秘密鍵を作るんだけど、更新するだけなので、「skip >> >>」

    で、以前作ったCSRをコピペして、「Continue >> >>」

    ない!って時は、
    秘密キーからパスフレーズを削除して、

    # openssl rsa -in pass.key -out nopass.key
    CSRファイルを再度作成、

    # openssl req -new -key nopass.key -out remake.csr

    うまく行けば、再度「Continue >> >>」で、

    Domainにあなたのドメインが表示され、「Continue >> >>」で、
    サブドメインの入力を急かされ、「Continue >> >>」で、

    あれ、同じサブドメインの期限切れ証明書だと、そこまでしなくても良かった?

    「Tool Box」タブの「Retrieve Certificate」で、
    期限が延長されている証明書をコピーして使えばよかったの?
    あれ、どの時点で有効になった?

    で、更に最悪なことに、新しい証明書をサーバーに入れてApacheを再起動しても、エラーで起動できない。。。

    証明書ファイルの内容を確認したり、

    # openssl x509 -text -noout -in domain.pem
    秘密鍵ファイルの内容を確認したり、

    # openssl rsa -text -noout -in domain.key
    CSRファイルの内容を確認したり、

    # openssl req -text -noout -in domain.csr

    秘密鍵と、証明書が一致するか調べたり、、、

    # openssl rsa -noout -modulus -in domain.key | openssl md5
    # openssl x509 -noout -modulus -in domain.crt | openssl md5

    復旧することができず、
    同じサブドメインで証明書を作りなおすことも、既存の証明書を破棄することも無料ではできず。
    結局新しいサブドメインにて、やり直し。

    ま、最終的にGmailさんに怒られなくなったからいいか。
    ★DTIサーバー構築一覧はこちら★

  • 自宅サーバ更新!(11)ネットワーク

    ネットワークに関して、
    net-toolsは過去のものになるらしい。

    $ sudo yum list installed | grep net-tools
    インストールされてない。
    でも、やっぱり欲しい人は、

    $ sudo yum install net-tools -y
    これで、次のコマンドも可能。

    $ ifconfig

    でも、推奨は、iproute2

    $ ip a
    その他に、

    $ route

    は、

    $ ip r

    $ arp

    は、

    $ ip n

    $netstat

    は、

    $ ss

    覚えよう。
    さて、次はNetworkManager。

    $ nmtui
    これを使えば、簡単なネットワークの設定が可能。

    でも、コマンドラインでやりたいので、nmcliコマンドを使う。
    まず、現状を見てみよう。
    デバイスの一覧↓

    $ nmcli d
    デバイス  タイプ    状態                       接続
    enp2s0    ethernet  接続済み                   enp2s0
    virbr0    bridge    接続中(IP 設定を取得中)  virbr0
    lo        loopback  管理無し                   —     
    接続の一覧↓

    $ nmcli c
    名前    UUID                                  タイプ          デバイス
    virbr0  123b742b-2123-4123-a123-93335efec123  bridge          virbr0
    enp2s0  abcabcab-cabc-abca-bcab-abcabcabcabc  802-3-ethernet  enp2s0   

    指定した接続の情報表示↓

    $ nmcli c sh enp2s0
    connection.id:                          enp2s0
    connection.uuid:                        abcabcab-cabc-abca-bcab-abcabcabcabc
    connection.interface-name:              —
    connection.type:                        802-3-ethernet
    connection.autoconnect:                 yes
    connection.timestamp:                   1413228072
    connection.read-only:                   no
    connection.permissions:              
    connection.zone:                        —
    connection.master:                      —
    connection.slave-type:                  —
    connection.secondaries:              
    connection.gateway-ping-timeout:        0
    802-3-ethernet.port:                    —
    802-3-ethernet.speed:                   0
    802-3-ethernet.duplex:                  —
    802-3-ethernet.auto-negotiate:          yes
    802-3-ethernet.mac-address:             AB:CD:EF:AB:CD:EF
    802-3-ethernet.cloned-mac-address:      —
    802-3-ethernet.mac-address-blacklist:
    802-3-ethernet.mtu:                     自動
    802-3-ethernet.s390-subchannels:      
    802-3-ethernet.s390-nettype:            —
    802-3-ethernet.s390-options:          
    ipv4.method:                            manual
    ipv4.dns:                               192.168.1.1
    ipv4.dns-search:                        abc.sin-cos.com
    ipv4.addresses:                         { ip = 192.168.1.11/24, gw = 192.168.1.1 }
    ipv4.routes:                          
    ipv4.ignore-auto-routes:                no
    ipv4.ignore-auto-dns:                   no
    ipv4.dhcp-client-id:                    —
    ipv4.dhcp-send-hostname:                yes
    ipv4.dhcp-hostname:                     —
    ipv4.never-default:                     no
    ipv4.may-fail:                          yes
    ipv6.method:                            link-local
    ipv6.dns:                            
    ipv6.dns-search:                      
    ipv6.addresses:                      
    ipv6.routes:                          
    ipv6.ignore-auto-routes:                no
    ipv6.ignore-auto-dns:                   no
    ipv6.never-default:                     no
    ipv6.may-fail:                          yes
    ipv6.ip6-privacy:                       -1 (不明)
    ipv6.dhcp-hostname:                     —
    GENERAL.名前:                           enp2s0
    GENERAL.UUID:                           abcabcab-cabc-abca-bcab-abcabcabcabc
    GENERAL.デバイス:                       enp2s0
    GENERAL.状態:                           アクティベート済み
    GENERAL.デフォルト:                     はい
    GENERAL.デフォルト6:                    いいえ
    GENERAL.VPN:                            いいえ
    GENERAL.ゾーン:                         —
    GENERAL.DBUS パス:                      /org/freedesktop/NetworkManager/ActiveConnection/0
    GENERAL.CON パス:                       /org/freedesktop/NetworkManager/Settings/0
    GENERAL.スペックオブジェクト:           —
    GENERAL.マスターパス:                   —
    IP4.アドレス[1]:                        ip = 192.168.1.11/24, gw = 192.168.1.1
    IP4.DNS[1]:                             192.168.1.1
    IP6.アドレス[1]:                        ip = abcd::abcd:abcd:abcd:abcd/64, gw = ::
    指定した接続のON!↓

    $ nmcli c u enp2s0

    指定した接続のOFF!↓

    $ nmcli c d enp2s0

    何だかんだ、ダラダラ書いてみた。
  • 自宅サーバ更新!(10)仮想サーバー

    サーバーを買った第1の目的は、NASとして利用する事だったが、仮想サーバーにできる事を知ったので、そちらから。急がばまわれ。思い立ったが吉日。
    まず、ハードが仮想サーバーに対応しているのか?次のコマンドでチェック!

    $ egrep ‘(vmx|svm)’ /proc/cpuinfo
    intel系CPUならvmx、AMD系CPUならsvmが、cpuinfoに含まれているらしい。
    CPUが対応していても、BIOSで有効にしないといけないこともあるから注意。

    KVMのインストール。多分入れすぎ。うむ。よう分からん。

    $ sudo yum -y install qemu-kvm libvirt virt-install
    qemu-kvmは、仮想サーバのメイン部分。だと思う。
    libvirtは、その仮想マシンを制御するツール。だと思う。
    virt-installは、仮想マシンにOSをインストールするためのツール。多分。
    virt-viewerは、ウィンドウで仮想マシンを表示させるツールなので、自分に足枷をする覚悟で入れない。

    virt-managerは、GUI用管理ツールだから、CUIで自分の成長を促すために入れない。
    ってか、GUIは便利だけどハードの要求が高くなるから、貧乏人はCUIで。
    とりあえずインストール完了。
    では、実行!

    $ sudo systemctl start libvirtd

    自動実行の設定。

    $ sudo systemctl enable libvirtd

    インストールできるOSををリストアップ!

    $ virt-install –os-variant list

    まず、仮想マシンにインストールするためのISOイメージを作る。
    次の例では、CentOS7のインストールメディアが入ったCD-ROM(DVD-ROM)からファイルにイメージを抽出している。

    $ sudo dd if=/dev/cdrom of=/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

    ってか、ダウンロードしたらいいんじゃない?
    仮想マシン本体用のイメージファイルを生成。

    $ sudo qemu-img create -f qcow2 /var/lib/libvirt/images/cent7test.img 10G

    で、次のコマンドで、起動してみる。

    $ sudo /usr/libexec/qemu-kvm -hda /var/lib/libvirt/images/cent7test.img -cdrom /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso -vnc 0.0.0.0:5900 -boot d -m 1024

    でも、起動してる間はシェルに戻ってこない。
    なので、virt-installで、まずインストール

    $ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024  –disk path=/var/lib/libvirt/images/cent7test.img,size=10,sparse=true –network bridge=br0 –graphics vnc,listen=0.0.0.0,password=abc –noautoconsole –os-type=linux –os-variant=rhel7 –cdrom /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

    でも、次のようなエラーが出たら、

    cpu0 unhandled rdmsr: 0xc0010001
    次のようにすれば行ける?

    $ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024  –disk path=/var/lib/libvirt/images/cent7test.img,size=10,sparse=true –network bridge=br0 –graphics vnc,listen=0.0.0.0,password=abc –os-type=linux –os-variant=rhel7 –location /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso –extra-args=’console=tty0 console=ttyS0,115200n8 serial’

    何だかんだ試してたら、メモが意味わからなくなった。

    起動している仮想サーバのコンソールに接続するには、次!

    $ sudo virsh -c qemu:///system console cent7gui

    でも、CentOSのインストールだけはGUIでやりたい。

    $ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024 –disk path=/var/lib/libvirt/images/centos7test.img,size=10,sparse=true –graphics vnc,listen=0.0.0.0,password=abc –os-type=linux –os-variant=rhel7 –cdrom=/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

    これでVNCで接続して操作できるよ。
    あ、ファイアウォールに穴あけないと。
    まず、今の状態を見て、

    $ sudo firewall-cmd –list-all

    永久的にVNC用のポートを開けて、

    $ sudo firewall-cmd –permanent –add-port=5900/tcp

    再起動!

    $ sudo systemctl restart firewalld

    そして、変更後の状態を見てみる

    $ sudo firewall-cmd –list-all

    これでVNCで接続して操作できるよ。

    ポートは、次のコマンドで調べよう。
    $ virsh vncdisplay cent7test
    因みに、0って表示されたら5900。1なら5901ってことね。
    制御するには、
    仮想マシン一覧↓
    $ sudo virsh -c qemu:///system list –all
    仮想マシン起動↓
    $ sudo virsh -c qemu:///system start cent7test
    仮想マシン一時停止↓
    $ sudo virsh -c qemu:///system suspend cent7test
    仮想マシンシャットダウン↓
    $ sudo virsh -c qemu:///system shutdown cent7test

    仮想マシン強制終了↓
    $ sudo virsh -c qemu:///system destroy cent7test

    仮想マシン削除↓
    $ sudo virsh -c qemu:///system undefine cent7test

    仮想マシンを自動起動↓
    $ sudo virsh autostart cent7test
    仮想マシンの自動起動を解除↓

    $ sudo virsh autostart –disable cent7test

    なんかぐちゃぐちゃになったけど、そういうこと。