CentOS7 PostgreSQL

MySQLの記事はたくさんあるので、PostgreSQLを入れてみます。

インストールから。ついでなので -devel も入れました。

サービス名は postgresql ですか。

起動する前にDBを作成します。スクリプトがくっついてきてるんですね。

これで起動するはず。enableにもしておきます。

DBにログインするには初期設定では postgres ユーザになる必要があります。

Ruby on Rails から使えるように、一般ユーザ向けのスキーマを作成してみました。

無事作成できたので、sugimuraユーザからアクセスしてみます。

 

CentOS7 で Rails

gem install rails でインストールして rails new → rails server すれば起動というのはもう省略しときます。

問題なのはfirewallですね。iptables の上に firewalld というのがかぶさっているようです。まずは firewalld が動いていることを確認。

設定は firewall-cmd で行います。

この services に追加していくみたいですね。定義ファイルに書いてから追加のようです。/usr/lib/firewalld/services/ 以下にXMLで作ります。ここでは rails-webrick.xml として 3000/tcp を定義するように作ってみました。

定義ファイルを書いたら、reload すると一覧に出てきます。

有効にしてみます。

iptables でも確認することができます。

ここまで設定できれば、ブラウザからアクセスしてみるといつものWEBrickの画面になることが確認できるかと思います。

CentOS7-Rails

(参考文献)

 

CentOS7 で Ruby

CentOS6.4の頃 とほとんど同じですね。git は Development Tools に入っているようです。まずはrootにてパッケージをインストール。必要なライブラリに libffi-devel が追加になっています。

今回もRubyは一般ユーザで入れてみます。

login し直して rbenv を叩きます。install にはしばらく時間がかかります。build のログは /tmp/ruby-build.*.log に出ているので、眺めていてもいいでしょう。

KVM

libvirt 管理下にある KVM の場合、virsh で仮想マシンを扱います。よく使うのはこんな感じ。

  • virsh list … 起動中の仮想マシンの一覧
  • virsh list –all … すべての仮想マシンの一覧
  • virsh start [VM名] … 起動
  • virsh shutdown [VM名] … 停止
  • virsh reboot [VM名] … 再起動
  • virsh console [VM名]  … コンソール接続
  • virsh edit [VM名] … 設定ファイルの編集
  • virsh undefine [VM名] … 定義削除 

実際の例を挙げてみます。

仮想マシンの定義ファイルは /etc/libvirt/qemu/ の下に XML ファイルで置いてあるんですが、直接編集したときは libvirtd を再起動しないと有効にならないようです。virsh edit [VM名] ならすぐ反映されます。

この定義ファイルの最初に <domain type=’kvm’> となっている場所があります。CentOS5で試したときはこれが type=’qemu’ になってしまうことがあり、動作がかなり遅くなって困りました。いまはデフォルトで type=’kvm’ になっているようです。

 

 

 

CentOS7 KVM

KVMで遊んでみます。

カーネルモジュールを確認します。

libvirtd を有効にします。CentOS7 からsystemdなので、流儀が違いますね。/usr/lib/systemd/system 以下に起動スクリプトが入っているそうなのですが、設定ファイル風なので慣れるまでは時間がかかりそうです。

サービスの一覧を取得して確認し、enabled にします。

起動しておきますか。

systemd周りはまだよくわからないので、後でまとめておきます。

KVMではゲストOSのネットワークにブリッジを使うので、あらかじめ設定します。これもだいぶ流儀が違いますね。

既存のネットワークインタフェースを消して繋ぎ直します。まず ip addr でインタフェース名を取得します。いまどきは ifconfig は使わないんですよね。

eth0 とかではなく eno16777736 なんですね。なんでこんなことになってるのかわかりませんが、これを削除して後から繋ぎ直します。remoteから入っているときはここで切れちゃうので要注意です。

再度 ip addr で確認してみます。br0 にアドレスが付いていて、インタフェース側は master br0 となっていればOKです。

これでまた外からsshで繋げられるようになったので、作業もやりやすくなります。

ようやく仮想マシンを作成できるようになりました。あとはこれまでのやり方と同じですね。

(参考文献)

いったんここまで。