Category Archives: さくらのVPSで遊ぼう

さくらのVPSにZabbix 2.2入れた

1.事前準備

前にZabbix 1.8を入れたときの投稿を参照しました。Zabbixのシステム要件はこちらに書いてあります。

MySQLのインストール。

# yum -y install mysql mysql-server mysql-devel

初期設定。

# vi /etc/my.cnf
default-character-set=utf8
character-set-server=utf8
skip-character-set-client-handshake

# service mysqld start

mysql_secure_installationを走らせて、rootのパスワードの設定などをする。

# mysql_secure_installation

PHPのインストール。

# yum -y install php php-gd php-bcmath php-mysql php-mbstring php-xml

その他のインストール。

# yum -y install OpenIPMI fping iksemel net-snmp net-snmp-libs net-snmp-utils unixODBC

2.Zabbix 2.2インストール

2.2のyumリポジトリを使えるようにする。

# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

インストール。

# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese

※これでzabbix, zabbix-web, zabbix-serverが一緒に入ります。

# yum -y install zabbix-agent zabbix-get

インストールしたら、メジャーバージョンアップしないようにenabledを0にする。

# vi /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/2.2/rhel/6/$basearch/
enabled=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/6/$basearch/
enabled=0

3.Zabbix 2.2起動のための設定

MySQLにzabbixデータベースを作って権限付与。

# mysql -u root -p
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '★★★';
mysql> flush privileges;

スキーマとデータをインポート。

# cd /usr/share/doc/zabbix-server-mysql-2.2.2/create
# mysql -uroot zabbix < schema.sql
# mysql -uroot zabbix < images.sql
# mysql -uroot zabbix < data.sql

PHPの設定。時間のところを変える。

# vi /etc/php.ini

[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = 'Asia/Tokyo'

# service httpd restart

Zabbix設定のDB名などを修正。

# vi /etc/zabbix/zabbix_server.conf

Zabbix起動。

# service zabbix-server start

あとは、https://★★★/zabbix/にアクセスしてボタンを押していくだけ。

完了後にログインして無事インストール完了!

しかしながら初期画面にて、Zabbix server is not runningが出てしまいました。SELinuxは無効になっているので、悩みました。zabbix_server.confと/etc/zabbix/web/zabbix.conf.phpのIPをlocalhostから127.0.0.1にしたところ、問題は解決しました。うーん、IPv6あたりが悪さをしていたのかなあ。

さくらのVPSにApache入れた

1.ApacheインストールとSSLの設定

こちらを参照させていただきました。
# yum -y install httpd

# yum -y install mod_ssl

# cd /etc/pki/tls/certs/

# sed -i 's/365/3650/g' Makefile

# make server.crt
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
.....................................................+++
......................................................+++
e is 65537 (0x10001)
Enter pass phrase:★★★
Verifying - Enter pass phrase:★★★
umask 77 ; \
/usr/bin/openssl req -new -key server.key -x509 -days 3650 -out server.crt -set_serial 0
Enter pass phrase for server.key:★★★
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:★★★
Locality Name (eg, city) [Default City]:★★★
Organization Name (eg, company) [Default Company Ltd]:★★★
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:★★★
Email Address []:★★★

# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:★★★
writing RSA key

# vi /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
DocumentRoot "/var/www/html"

# service https start
Starting httpd: [ OK ]
これでhttps://★★★/にアクセスするとApache画面が表示されました。

2.ドキュメントルート(DocumentRoot)の変更

ユーザを作って(wwwadminユーザとしておきます)、その配下にコンテンツを置く。
デフォルトの/var/wwwを権限などそのままにコピー。
# cp -Rp /var/www /home/wwwadmin
この後、/home/wwwadminフォルダの権限を変えておかないと403 Forbiddenエラーが出てしまいます。読み取りと実行権を付与しておきます。少しハマってしまいました。
# chmod 755 /home/wwwadmin
/etc/httpd/conf/httpd.confと/etc/httpd/conf.d/ssl.confの中の、例えばDocumentRootに設定されている/var/wwwを/home/wwwadminに変更します。
設定ファイルの場所がわからなかったら、rpm -qlとかで調べる。
# vi /etc/httpd/conf/httpd.conf
# vi /etc/httpd/conf.d/ssl.conf

3.セキュリティ関連の設定

こちらを参考に、セキュリティの設定。アクセスしてくる人に余計な情報を表示しないようにします。
# vi /etc/httpd/conf/httpd.conf
ServerTokens ProductOnly
ServerSignature Off
.htaccessファイルの禁止(AllowOverride None)は設定済みでした。
文法チェックしてOKであればリスタートして終わり。
# httpd -t
Syntax OK
# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

さくらのVPSの最低限のセキュリティ設定

1.SSHポート変更

$sudo vi /etc/ssh/sshd_config
#Port 22
Port xxxxx
#PermitRootLogin yes
PermitRootLogin no


この後にリロードする。

2.iptables/ip6tables設定

$ sudo vi /etc/sysconfig/iptables

設定はこちらを参照しました。設定後にiptablesリロード。

$ sudo service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]

以下で設定確認。

$ sudo iptables -L

ipv6を忘れてはいけません。

$ sudo vi /etc/sysconfig/ip6tables

ipv6はこちらを参考に全て不許可。

$ sudo service ip6tables restart
[sudo] password for rutoru:
ip6tables: Setting chains to policy ACCEPT: filter [ OK ]
ip6tables: Flushing firewall rules: [ OK ]
ip6tables: Unloading modules: [ OK ]
ip6tables: Applying firewall rules: [ OK ]

以下で設定確認。

$ sudo ip6tables -L

さくらのVPSに申し込んでSSHでVNC接続するまで

1.はじめに

Open Source Conference Tokyo/Spring 2014に参加したのですが、VPS(仮想専用サーバ)が盛況でありました。お試し期間もあるし、少し試してみようと思い、さくらインターネットのVPSに申し込みました。

2.申し込みからCentOSの起動

さくらのVPS」から申し込みます。2週間の試用期間があります。インターネットだけで申し込みが完結するのは気軽です。他社サービスでは電話で認証するものがありました。HPの指示に従って申し込むだけです。クレジットカードが必要になりますが、試用期間中にキャンセルすれば課金は発生しないとのこと。申し込み時にサーバのロケーションを選ぶことが出来ます。石狩も選べましたが、ネットワーク遅延が気になりまして、無難に東京にしておきました。今にして思えば個人でBCPだーとか言って石狩にしてもよかったかも。
申し込みが完了すると、しばらくしてメールが届きます。「VPSコントロールパネル」の情報が書いてあります。ログインして起動させます。これでSSHでログイン可能になります。お手軽ですね。コントロールパネルからも、「リモートコンソール画面」より、仮想サーバのシリアルポートを介した操作を行えます。SSHでログイン出来なくなったとき等に使えますね。

3.GUI環境

SSHでVNC接続するまでをやってみました。まずはGUI環境の構築。解説しているサイトはいくつもあります。その中でも特に、
が参考になりました。他にも色々なサイトを参考にしました。実は一回失敗してCentOSを入れ直しています。その反省点等も以下に記していきます。
まずはmacからsshでログイン。もともとsshは立っているので、macのterminalからそのまま入れます。

MacのTerminal$ ssh -l root ホスト名
ログイン後にrootのパスワード変えて、ユーザ作って、XとGNOMEのインストール。
# yum groupinstall "X Window System" "GNOME Desktop Environment"
とやってしまうと失敗します。yum grouplistで見ると分かりますが、”GNOME Desktop Environment”は存在しません。”Desktop”にしないとインストールされません。
# yum groupinstall "X Window System" "Desktop"
でXとGNOMEが入ります。

4.VNCサーバインストールと設定

続いて、
# yum install vnc-server
とやって、VNCサーバを入れたんですが、設定ファイル/etc/sysconfig/vncserversが見当たりませんでした。
# ls /etc/sysconfig/
とやってもvncserversが見当たらない。
うーん。
調べてみたところ、同じようなことに悩んでいる人が居まして、他のVNCサーバを入れ直すことにしました。こちら参考にしてTigerVNCを選択しました。
# yum erase vnc-sever</pre>
</div>
<div># yum install tigervnc-server
インストールしたら、設定ファイルが出来ました。
/etc/sysconfig/vncserversに以下を追加。
もともとあった設定をコピって、ディスプレイ2にsampleユーザが800×600サイズで接続する設定にしました。
VNCSERVERS="2:sample"</pre>
</div>
<div>VNCSERVERARGS[2]="-geometry 800x600"
VNCSERVERAGSに-nolisten tcpとか、-localhostとか付いているとリモートからつながりません。
また、 -nohttpdというのは無いようです。シンプルに設定するべきでしょう。
続いて、VNCのデフォルトのポート番号変えます。
変えたい番号が使われていないかチェック。説明上ポートを「10xx0」にしておきます。もちろん本当は全て数字じゃないとダメです。
# lsof -i :10xx0
/usr/bin/vncserverを修正します。デフォルトの5900をコメントアウトして、新しいポート番号にします。
# vi /usr/bin/vncserver
<span style="font-size: 0.857142857rem; line-height: 1.714285714;">#$vncPort = 5900 + $displayNumber;</span>
$vncPort = 10xx0 + $displayNumber;
ちょっと危ないですが、さくらVPSはデフォルトではiptablesが空いているので、特に設定は不要です。
VNC接続したいユーザsampleでVNCサーバのパスワードを設定します。
# su - sample
$ vncpasswd
Password:
Verify:
VNCサーバ起動。
# service vncserver start
VNC を利用するユーザーのディレクトリに.vncディレクトリが作成され、その下に設定ファイルが出来ます。xstartupファイル内をgnomeに書き換えます。2行コメントアウトして、gnome-session &を追加。
$ vi /home/sample/.vnc/xstartup
<span style="font-size: 0.857142857rem; line-height: 1.714285714;">#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &</span>
#twm &</div>
gnome-session &
サーバが再起動してもvncserverが立ち上がるようにしておきます。
# chkconfig vncserver on

5.MacからVNC over SSHで接続

macから接続します。
terminal立ち上げて、SSHポートフォワーディングを設定します。ローカルホストのポート1234から、さくらVPSのポート10xx2に接続するのは以下のコマンド。LPICの試験勉強で出てきたなあ。VNCで使うのポートはさっき設定した通り「10xx0 + $displayNumber」なので、10xx2になるわけです。
MacのTerminal$ ssh -N -l ユーザ名 -L 1234:さくらのVPSホスト名:10xx2 さくらのVPSホスト名
これでパスワード入力が求められて、入力すると待ち状態になります。
MacにはVNCクライアントがあります。分かりにくいのですが、FinderのGoの一番下にサーバ接続があります。
「vnc://localhost:1234」を入れて接続。しばらく待つとパスワード入力が求められますので、パスワード入れると、さくらVPSのデスクトップに接続されます。
で、ここでですね。あー、終わった終わったと思って、GNOMEからログアウトすると、VNCでつながらなくなります。青い画面になったままで、にっちもさっちも行かなくなります(vncserver再起動を余儀なくされました・・・)。×を押して出るのが正しいようです。
基本的な設定はこんなところで。
色々と遊んでみるかな。