2012/04/30
2012/04/29
さくら VPS の Ubuntu Server 10.04 に Redmine を導入
サーバの準備も整ったので、いよいよ使えるようにして行きましょう。
なにはさておき Redmine は入れておきたい!!
なので今回は Redmine の導入です。
いろいろダルかった。
Redmine の取得
バージョンは最新の 1.4.1。Ruby 1.9 に対応してくれて本当によかった。
$ wget http://rubyforge.org/frs/download.php/76033/redmine-1.4.1.tar.gz $ tar xvf redmine-1.4.1.tar.gz $ mkdir /var/lib/rails $ mv redmine-1.4.1 /var/lib/rails/redmine
依存 gem のインストール
$ cd /var/lib/rails/redmine $ bundle install --path vendor/bundle --without development test mysql sqlite 〜〜 省略 〜〜 Installing rmagick (2.13.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/ruby/bin/ruby extconf.rb checking for Ruby version >= 1.8.5... yes extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config. checking for gcc... yes checking for Magick-config... no Can't install RMagick 2.13.1. Can't find Magick-config in /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 〜〜 省略 〜〜 # 失敗したので、libmagick-dev をインストールして ruby を再コンパイル $ aptitude install libmagick-dev $ cd ~/work/ruby-1.9.3-p194 $ ./configure --prefixe=/usr/local/ruby $ make $ make install # 再トライ $ bundle install --path vendor/bundle --without development test mysql sqlite 〜〜 省略 〜〜 Installing rmagick (2.13.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/ruby/bin/ruby extconf.rb checking for Ruby version >= 1.8.5... yes extconf.rb:128: Use RbConfig instead of obsolete and deprecated Config. checking for gcc... yes checking for Magick-config... no Can't install RMagick 2.13.1. Can't find Magick-config in /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 〜〜 省略 〜〜 checking for Magick-config... yes checking for ImageMagick version >= 6.4.9... no Can't install RMagick 2.13.1. You must have ImageMagick 6.4.9 or later. 〜〜 省略 〜〜 # インストール済みの ImageMagic のバージョンが古いとのこと # 仕方ないので最新をソースからインストールする $ cd ~/work $ wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.7.6-7.tar.gz $ tar xvf ImageMagick-6.7.6-7.tar.gz $ cd ImageMagick-6.7.6-7 $ ./configure --enable-lzw=yes $ make $ make install # 確認 $ convert --version Version: ImageMagick 6.7.6-7 2012-04-29 Q16 http://www.imagemagick.org # 今度こそ $ bundle install --path vendor/bundle --without development test mysql sqlite 〜〜 省略 〜〜 Installing rmagick (2.13.1) with native extensions 〜〜 省略 〜〜 Your bundle is complete! It was installed into ./vendor/bundle結局は、ソースから ImageMagick をインストールする必要があるということですね。
データベースの設定(PostgreSQL 8.4)
# Redmine 用ユーザーを作成 $ su - postgres $ psql postgres=# create role redmine_user with login 'password'; postgres=# \q # Redmine のデータベースを作成 $ createdb redmine --encoding=UTF-8 --locale=ja_JP.UTF-8 createdb: database creation failed: ERROR: 新しい照合順序(ja_JP.UTF-8)はテンプレートデータベースの照合順序(en_US.UTF-8)と互換性がありません HINT: テンプレートデータベースの照合順序と同じものを使うか、もしくは template0 をテンプレートとして使用してください # 怒られたので、HINT に従う $ createdb redmine --encoding=UTF-8 --locale=ja_JP.UTF-8 --template=template0 # root に戻る $ exit $ cd /var/lib/rails/redmine # データベース接続設定ファイルを作成 $ cp config/database.yml.example config/database.yml $ vim config/database.yml production: - adapter: mysql + adapter: postgresql database: redmine host: localhost - username: root + username: redmine_user - password: + password: password encoding: utf8 # セッションストアの生成 $ bundle exec rake -- generate_session_store # マイグレーション実行 $ bundle exec rake db:migrate RAILS_ENV=production # デフォルトデータ登録(言語選択あり) $ bundle exec rake redmine:load_default_data RAILS_ENV=production Select language: ar, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] ja # ←入力して Enter ==================================== Default configuration data loaded.
Apache 設定
DNS の設定が必要だけど。
$ cd /etc/apache2 $ vim sites-available/redimne <VirtualHost *:80> ServerName xxx.mkt-sys.jp DocumentRoot /var/lib/rails/redmine/public PassengerEnabled on </VirtualHost> $ cd sites-enabled $ ln - ../sites-available/redmine 001-redmine # root だとログファイルの書き出しとかでエラーになる $ chown -R www-data:www-data /var/lib/rails/redmine $ service apache2 restart
ログをローテーションさせる
$ vim /etc/logrotate.d/redmine /var/lib/rails/redmine/log/*log { weekly missingok notifempty copytruncate }
確認
さくら VPS (Ubuntu Server 10.04)設定エントリ一覧
- tail -f pinzo.log: さくらのVPS 2G に Ubuntu Server 10.04 をインストール
- tail -f pinzo.log: Ubuntu Server 10.04 に SSH を設定する
- tail -f pinzo.log: Ubuntu Server 10.04 の ssh ポートを変更する
- tail -f pinzo.log: お名前.comの独自ドメインをさくらVPSに割り当てる
- tail -f pinzo.log: Ubuntu Server 10.04 に iptables の設定を行う
- tail -f pinzo.log: Google Apps (+α) 導入時にやったこと
- tail -f pinzo.log: さくら VPS の Ubuntu Server 10.04 に色々導入 vol.1
- tail -f pinzo.log: さくら VPS の Ubuntu Server 10.04 に Ruby をインストール
- tail -f pinzo.log: さくら VPS の Ubuntu Server 10.04 にて PostgreSQL の設定
2012/04/28
さくら VPS の Ubuntu Server 10.04 にて PostgreSQL の設定
postgres ユーザのパスワード設定
# postgres ユーザのパスワードを設定 $ passwd postgres # postgres ユーザに su して(これ以降は、基本的に postgres ユーザで作業) $ su - postgres # PostgreSQL 側のパスワードを一致させる $ psql template1 template1 =# alter user postgres with password '12345'; template1 =# \q
rails 用ユーザの作成
$ psql postgres =# create role rails_user with login password '98765'; postgres =# \q
pg_hba.conf の編集
# root に戻る $ exit # pg_hba.conf を編集 $ vi /etc/postgresql/8.4/main/pg_hba.conf- local all all ident + local all all password
日本語設定
$ vi /etc/postgresql/8.4/main/postgresql.conf# These settings are initialized by initdb, but they can be changed. - lc_messages = 'en_US.UTF-8' # locale for system error message - lc_monetary = 'en_US.UTF-8' # locale for monetary formatting - lc_numeric = 'en_US.UTF-8' # locale for number formatting - lc_time = 'ja_JP.UTF-8' # locale for time formatting + lc_messages = 'ja_JP.UTF-8' # locale for system error message + lc_monetary = 'ja_JP.UTF-8' # locale for monetary formatting + lc_numeric = 'ja_JP.UTF-8' # locale for number formatting + lc_time = 'ja_JP.UTF-8' # locale for time formatting # default configuration for text search - default_text_search_config = 'pg_catalog.english' + default_text_search_config = 'pg_catalog.japanese'
サービス再起動
$ service postgresql-8.4 restart
さくら VPS (Ubuntu Server 10.04)設定エントリ一覧
- tail -f pinzo.log: さくらのVPS 2G に Ubuntu Server 10.04 をインストール
- tail -f pinzo.log: Ubuntu Server 10.04 に SSH を設定する
- tail -f pinzo.log: Ubuntu Server 10.04 の ssh ポートを変更する
- tail -f pinzo.log: お名前.comの独自ドメインをさくらVPSに割り当てる
- tail -f pinzo.log: Ubuntu Server 10.04 に iptables の設定を行う
- tail -f pinzo.log: Google Apps (+α) 導入時にやったこと
- tail -f pinzo.log: さくら VPS の Ubuntu Server 10.04 に色々導入 vol.1
- tail -f pinzo.log: さくら VPS の Ubuntu Server 10.04 に Ruby をインストール
2012/04/27
さくら VPS の Ubuntu Server 10.04 に Ruby をインストール
ここ数日体調崩して朝に活動出来なかった。
季節の変わり目は余裕ぶっこいたらダメですね。
というわけで、掲題の通りさくら VPS の Ubunt Server 10.04 に Ruby をインストールしました。
apt で入る Ruby の最新バージョンは 1.9.1 なので、最新の 1.9.3 を使用するべくソースからインストールすることに。
あと、今回から root で作業してます。sudo はいろいろとめんどくさい。環境変数とか
# 使いそうなライブラリを入れておく $ aptitude install -y zlib1g-dev libssl-dev libreadline-dev libxslt-dev libxml2-dev libyaml-dev # passenger 用 $ aptitude install -y libcurl4-openssl-dev apache2-prefork-dev libapr1-dev libaprutil1-dev # Ruby (ソースから) $ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz $ tar xvf ruby-1.9.3-p194.tar.gz $ cd ruby-1.9.3-p194 $ ./configure --prefix=/usr/local/ruby $ make $ make install $ ln -s /usr/local/ruby/bin/* /usr/bin/ # rubygems $ echo "gem: --no-ri --no-rdoc" > ~/.gemrc # rails で使用する gem は bundler で管理するので最低限だけ入れておく $ gem install bundler $ ln -s /usr/local/ruby/bin/bundle /usr/bin/ # passengerの導入 $ gem install passenger $ /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/bin/passenger-install-apache2-moduleライブラリが足りなかったらコマンドで教えてくれるのでインストール# passenger 読み込みファイル作成 $ vim /etc/apache2/mods-available/passenger.loadLoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.12/ext/apache2/mod_passenger.so# passenger 設定ファイル作成 $ vim /etc/apache2/mods-available/passenger.confPassengerRoot /usr/local/ruby/lib/ruby/gems/1.9.1/gems/passenger-3.0.12 PassengerRuby /usr/local/ruby/bin/ruby PassengerEnabled off# passenger を有効化 $ a2enmod passenger # Apache 再起動 $ service apache2 restart
さくら VPS (Ubuntu Server 10.04)設定エントリ一覧
- tail -f pinzo.log: さくらのVPS 2G に Ubuntu Server 10.04 をインストール
- tail -f pinzo.log: Ubuntu Server 10.04 に SSH を設定する
- tail -f pinzo.log: Ubuntu Server 10.04 の ssh ポートを変更する
- tail -f pinzo.log: お名前.comの独自ドメインをさくらVPSに割り当てる
- tail -f pinzo.log: Ubuntu Server 10.04 に iptables の設定を行う
- tail -f pinzo.log: Google Apps (+α) 導入時にやったこと
- tail -f pinzo.log: さくら VPS の Ubuntu Server 10.04 に色々導入 vol.1
2012/04/19
MySQL で接続、停止、開始ができない場合
$ mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) $ /etc/init.d/mysql stop MySQL manager or server PID file could not be found! [FAILED] $ /etc/init.d/mysql start MySQL,Manager of pid-file quit without updating file [FAILED]MySQL のプロセスが生き残っているのが原因なので、ps ax | grep mysql して kill してやればいい。
IS12S でメールの復元
IS12S に移行前にIS03 上で SD カードに全メールのバックアップをとってあったので復元した。
すんなりいかなかったので方法を残しておく。
IS12S のEメールアプリには SD カードから復元する機能があるが、これがそのままでは機能しない。
というのもこの機能では /mnt/sdcard 以下を参照するのだが、ここは内部ストレージであり、外部ストレージである SD カードは /mnt/ext_card にマウントされている。
そしてこの機能は /mnt/sdcard より上部を参照することができない。
つまりただ SD カードを挿入しただけではメールの復元機能は、バックアップデータを参照することができない。
なのでバックアップデータを内部ストレージである /mnt/sdcard 以下に移動させてやる必要がある。
今回は /mnt/ext_card/PRIVATE/SHARP/BACKUP/MAIL/INBOX にバックアップファイルが保存されていたので、SHARP ディレクトリ以下を丸ごと /mnt/sdcard/private に移動した。
これで無事にメールアプリの復元機能から vmg ファイルを参照でき、復元することができた。
しかし全部受信箱に入ってしまったので、フォルダを作って振り分け設定をやり直し。
まあ、IS12S は IS03 と違い、メールの再振り分けが簡単にできるからそんなに時間かからなかったからよかった。
しかし、メール復元機能から外部ストレージを参照できないって、メール復元させる気ゼロだよな。
Xperia acro HD (IS12S) で公式にはサポートされていないアプリをインストールして利用できる(かもしれない) 方法
先日、IS03 の調子悪さに我慢の限界が来て衝動的に Xperia acro HD (IS12S) に機種変してしまった。
IS03 で 2 年間頑張るつもりだったけど、ムリだった。
カクカク、もっさりはまだ我慢できるが、しょっちゅう SD カードを認識しなくなって一日に 2, 3 回は再起動する生活には耐えられなかった。
docomo に MNP することも考えたが、誰でも割の解約月じゃないのと、最近の docomo のニュースにはあまりいいイメージがないため見送った。
で、この IS12S だがすごいね。サクサク快適。
これまで IS03 で twicca や MT2 のページングがもたつくのは 3G 回線だしなーと思っていたんだけど、違った。単なる処理能力不足だった。
非常に満足である。
IS03 の名誉のために言うと、IS03 は名機だった。
初のおサイフスマホとして購入した価値は十二分にあった。
バッテリーの持ちや安定性への不満はあったものの、国産スマホ黎明期に十分その役割を果たしたと思う。
ありがとう IS03、IS04 にしなくて本当によかった。
さて、この IS12S にも不満はある。
メニューボタンと戻るボタンがこれまでと逆になってるとか、下にありすぎてタッチしにくいとかあるが、これは IS03 への慣れからくるものだから仕方ない。
一番の問題は、対応していないアプリが結構あることだ。
- 楽天銀行
- ローソンモバイルアプリ(のうちのモバイルPONTA)
- SQUARE ENIX MARKET のゲーム全般
どれもかなりメジャーなアプリだし、どれも Xperia acro (IS11S) には対応しているのにだ。
今回、上記のうちいくつか解決できたのでそのメモを残しておく。
au one market 経由でインストール可能な場合がある
PC からは検索結果に表示されるのに。
で、まあ PC で確認したところ、IS12S には対応していなかったのでそのせいかな?と半分納得しておいた。
唯一持ってるネットバンクなのでどうにかならんかなーと試行錯誤してみた。
IS12S で楽天銀行のサイトにアクセスすると Google Play ではなく、au one market に誘導される。
そして au one market からだとダウンロードできるし、インストールできた。
振込はまだ試していないが、残高確認などは問題ないようだ。
IS11S を装ったら可能な場合がある
ただモバイル PONTA が対応していない。
モバイル PONTA の認証時に未対応です。とはじかれてしまうのだ。
PONTA カードを持ち歩かなくて済むから導入した俺にとってはまったく意味がないアプリになってしまう。
調べてみると、どうやらブラウザの UserAgent で機種判別しているらしく、UserAgent を偽装してしまえば認証できるとのことだった。
- Opera モバイルをインストールする
- Opera の URL 欄に opera:config と入力して、設定画面を表示させる
- かなり下の方に User Prefs という項目があるのでタップして詳細項目を表示させる
- 詳細項目の中に Custom User-Agent という項目があるので、そこに "Mozilla/5.0 (Linux; U; Android 2.3.3; ja-jp; SonyEricssonIS11S Build/3.0.1.C.0.33) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" と入力する。(コーテーションは除く)
- この状態の Opera でモバイル PONTA の認証を行う
下記のサイトを参考にさせて頂きました。ありがとうございました。
では、SQUARE ENIX MARKET は?
アクセスしてみると、偽装しないときは「未対応です」と表示されてダウンロードできないが、偽装した場合だとダウンロードボタンが表示されて、ダウンロードすることができた。
しかし、インストール時に「お使いの機種は未対応です。」と言われてしまった。
さすがにこれは現時点ではどうしようもないだろうと諦めた。
早いとこ対応お願いします。ENIX SQUARE さん
さくら VPS の Ubuntu Server 10.04 に色々導入 vol.1
とりあえず、サーバに導入するものは・・・
- Webサーバ(済)
- データベース
- ソース管理
- ファイルサーバ
- Java
- Ruby
ソース管理はこれを機に Git を導入します。
Subversion は使う要件が出てきてからでいいや。
データベースは PostgreSQL を入れる。MySQL よりも PostgreSQL 派です。
ファイルサーバは Webdav 入れるかどうか迷い中。個人で使うなら Git でいいし。
まあ、どれも今まで何度もインストールしてきているので大して問題ないはず。
# base softwares $ sudo aptitude install -y build-essential zsh vim-nox lv # PostgreSQL $ sudo aptitude install -y postgresql libpq-dev # Git $ sudo aptitude install -y git-core # Java $ sudo aptitude install -y python-software-properties $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo aptitude update $ sudo aptitude install -y sun-java6-jdkここで、問題発生。
なぜか sun-java6-jdk がインストールできない。
今まではこれで大丈夫だったのに。
No candidate version found for sun-java6-jdkとか言われます。
どうやら Oracle になって、なんだかんだのためになくなったようで・・・
先日も Java API で色々あったよねぇ、そういや。
という訳で、ぐぐる。
とりあえず、すえん学録: Ubuntu 10.10(64bit版)にJDK6をインストールするを見つけた。(候補1)
できれば、aptitude 完結したいので保留。
次にsun-java6-jdk not available - CCcam Forumを見つけた。(候補2)
Debian のリポジトリを登録するのは、他に影響でないのか?怪しいので保留。
そして、Ubuntu 10.04 LTSにSun Javaをインストール - hrendohの日記こんなのもあった。(候補3)
先月末の話なので、これもダメかもしれないが前2つよりはシンプルである。
あと、これで入るのは少しバージョンが古いようだ。
とまあ、どれも一長一短ではあるがシンプルさを考慮して候補3→候補2→候補1の順で試すことにする。
$ sudo add-apt-repository ppa:sun-java-community-team/sun-java6 $ sudo aptitude update $ sudo aptitude install -y sun-java6-jdkなんか、依存パッケージがインストールできて肝心の Java のインストールでコケた。
もっかい、sudo aptitude install -y sun-java6-jdk したら無事インストールできた。
というわけで候補2、候補1を試すまでもなく無事に java がインストールできた。
バージョンが少し古いが、大昔ってわけじゃないのでとりあえずよしとしよう。
しかし、この先 Java のインストールでめんどくさくなるのは正直勘弁していただきたいね。
apt や yum 向けのリポジトリを Oracle で管理していただきたいものである。
さくら VPS (Ubuntu Server 10.04)設定エントリ一覧
- tail -f pinzo.log: さくらのVPS 2G に Ubuntu Server 10.04 をインストール
- tail -f pinzo.log: Ubuntu Server 10.04 に SSH を設定する
- tail -f pinzo.log: Ubuntu Server 10.04 の ssh ポートを変更する
- tail -f pinzo.log: お名前.comの独自ドメインをさくらVPSに割り当てる
- tail -f pinzo.log: Ubuntu Server 10.04 に iptables の設定を行う
- tail -f pinzo.log: Google Apps (+α) 導入時にやったこと
2012/04/18
Google Apps (+α) 導入時にやったこと
$ sudo aptitude install apache2
ホスト名 | TYPE | VALUE | 優先 | 備考 |
---|---|---|---|---|
未入力 | MX | ASPMX.L.GOOGLE.COM. | 10 | メール用 |
未入力 | MX | ALT1.ASPMX.L.GOOGLE.COM. | 20 | メール用 |
未入力 | MX | ALT2.ASPMX.L.GOOGLE.COM. | 20 | メール用 |
未入力 | MX | ASPMX2.GOOGLEMAIL.COM. | 30 | メール用 |
未入力 | MX | ASPMX3.GOOGLEMAIL.COM. | 30 | メール用 |
未入力 | MX | ASPMX4.GOOGLEMAIL.COM. | 30 | メール用 |
未入力 | MX | ASPMX5.GOOGLEMAIL.COM. | 30 | メール用 |
CNAME | ghs.google.com. | メールサイトURLを http://mail.mkt-sys.jp/ にする | ||
blog | CNAME | ghs.google.com. | blogger をカスタムドメインにする |
その結果、こうなる。(塗りつぶしはさくら VPS の固定IP)
さくら VPS (Ubuntu Server 10.04)設定エントリ一覧
独自ドメインに切り替えた
フリーになったので自分のドメインのメールアカウントを Google Apps で作成した。
せっかくなので、この blog もそっちのドメインで運用していこうと思います。
というわけで、今後は http://blog.mkt-sys.jp/ でよろしくお願いします。
2012/04/17
Ubuntu Server 10.04 に iptables の設定を行う
$ sudo iptables -Lこれはさすがにアレなので、設定しましょう。Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
# 設定の永続化に使用する iptables-persistent をインストール $ sudo aptitude install iptables-persistent # iptables 用ディレクトリの作成 $ sudo mkdir /etc/iptables # 設定スクリプトを作成(内容は後述) $ sudo vi /etc/iptables/iptables.sh # 設定スクリプトの実行 $ sudo sh /etc/iptables/iptables.sh # 正しく設定されているかを確認 $ sudo iptables -Liptables.sh の中身はこんな感じChain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere DROP all -- 10.0.0.0/8 anywhere DROP all -- 172.16.0.0/12 anywhere DROP all -- 192.168.0.0/16 anywhere ACCEPT icmp -- anywhere anywhere icmp echo-request ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:www ACCEPT tcp -- anywhere anywhere tcp dpt:https ACCEPT tcp -- anywhere anywhere tcp dpt:ssh LOG all -- anywhere anywhere limit: avg 1/sec burst 5 LOG level warning prefix '[IPTABLES INPUT] : ' DROP all -- anywhere anywhere Chain FORWARD (policy DROP) target prot opt source destination LOG all -- anywhere anywhere limit: avg 1/sec burst 5 LOG level warning prefix '[IPTABLES FORWARD] : ' DROP all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere# iptables.rule が作成されているかを確認 $ ls /etc/iptablesiptables.rule iptables.sh# 現在の設定を永続化する $ sudo service iptables-persistent start
#!/bin/sh # テーブル初期化 /sbin/iptables -F # 定義チェインを削除 /sbin/iptables -X # デフォルトルールの設定(受信:破棄, 送信:許可, 通過:破棄) /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD DROP # 自ホストからのアクセスを許可 /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT # プライベートIPアドレスからのアクセスを破棄 /sbin/iptables -A INPUT -s 10.0.0.0/8 -j DROP /sbin/iptables -A INPUT -s 172.16.0.0/12 -j DROP /sbin/iptables -A INPUT -s 192.168.0.0/16 -j DROP # ping を許可 /sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # 内部から行ったアクセスに対する外部からの返答アクセスを許可 /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 拒否IPからのアクセスを破棄 # 拒否IPは /etc/iptables/drop_ip に1行ごとに記述する if [ -s /etc/iptables/drop_ip ]; then for ip in `cat /etc/iptables/drop_ip` do /sbin/iptables -I INPUT -s $ip -j DROP done fi # 各サービスで使用するポートを許可 # HTTP /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # HTTPS /sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT # ssh /sbin/iptables -A INPUT -p tcp --dport 12345 -j ACCEPT # 上記のルールにマッチしなかったアクセスはログを記録して破棄 /sbin/iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : ' /sbin/iptables -A INPUT -j DROP /sbin/iptables -A FORWARD -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES FORWARD] : ' /sbin/iptables -A FORWARD -j DROP # 保存 /sbin/iptables-save > /etc/iptables/iptables.rule
さくら VPS (Ubuntu Server 10.04)設定エントリ一覧
2012/04/16
お名前.comの独自ドメインをさくらVPSに割り当てる
というわけで、お名前.comで取得した独自ドメインにさくらVPSを割り当てましょう。
- お名前.comにログイン
- ドメイン設定 → ネームサーバーの設定 → レンタル DNS レコード設定
- 設定するドメインを選択
- サブドメイン無しで、TYPE: A、VALUE: さくら VPS の IP アドレスを登録
- サブドメイン www に対して、TYPE: A、VALUE: さくら VPS の IP アドレスを登録
- ポチポチ進めれば完了
- しばらくして、登録されていることを確認する
次は、サーバ側を変更する。
まずは、さくらのVPSホームでホスト名を変更する。
ssh でログインし、 /etc/hostname と /etc/hosts の該当箇所を変更する。
サーバを再起動すれば設定完了。お疲れ様でした。
Ubuntu Server 10.04 の ssh ポートを変更する
# クライアントから ssh でログイン % ssh user@[server] # サーバーの sshd_config を編集 $ sudo vi /etc/ssh/sshd_configポート 22 でログインできなくなりました。- Port 22 + Port 12345# /etc/services も変更しておく $ sudo vi /etc/services- ssh 22/tcp # SSH Remote Login Protocol - ssh 22/udp + ssh 12345/tcp # SSH Remote Login Protocol + ssh 12345/udp# サービス再起動 $ sudo service ssh restartssh start/running, process 6331# 一旦接続を閉じる $ exitlogout Connection to [server] closed.# 再度ログイン % ssh user@[server]ssh: connect to host [server] port 22: Connection refused
ログインするにはポートを指定すればOK。
% ssh user@[server] -p 12345
2012/04/13
Ubuntu Server 10.04 に SSH を設定する
最初から ssh は入っているようなので、設定ファイルを書き換える。
# vim 入ってなかった $ sudo vi /etc/ssh/sshd_configまだカギを生成指定なので、とりあえず root でのログインだけ封じておく。# root でのログインを不可 - PermitRootLogin yes + PermitRootLogin no
$ sudo service ssh restartssh start/running, process 1043
クライアントの Ubuntu で鍵を生成。
% ssh-keygen -t rsaこれで $HOME/.ssh/ 以下に id_rsa, id_rsa.pub が作成された。Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): # 何も入力せず Enter Enter passphrase (empty for no passphrase): # SSH用パスワードの入力 Enter same passphrase again: # パスワード確認のためもう一度入力 Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX user@host
% ls -al ~/.sshid_rsa が秘密鍵で、id_rsa.pub が公開鍵なので id_rsa.pub を接続したい先のサーバに登録してやる。合計 20 drwx------ 2 user user 4096 2012-04-13 07:14 . drwxr-xr-x 57 user user 4096 2012-04-13 07:19 .. -rw------- 1 user user 1743 2012-04-13 07:14 id_rsa -rw-r--r-- 1 user user 398 2012-04-13 07:14 id_rsa.pub -rw-r--r-- 1 user user 442 2012-04-13 06:46 known_hosts
% scp .ssh/id_rsa.pub サーバのIPアドレス:~/id_rsa.pub 100% 398 0.4KB/s 00:00
# なかったので作成 $ mkdir .ssh # 登録。最初だから > でもいいけど、今後のことを考えて >> でやるようにしとく $ cat id_rsa.pub >> .ssh/authorized_keysこれで今後、このクライアントからのアクセスは鍵方式での認証になる。
2012/04/12
さくらのVPS 2G に Ubuntu Server 10.04 をインストール
契約時点で Cent OS が自動的にインストールされているので、これを Ubuntu Server に変更しましょう。
各選択肢でどれを選ぶかは用途にあわせてご自由に。
言われるままに進めるだけなので非常に簡単です。
さて、これから少しづつ環境を作っていこう。