MY PIANOS
CALENDAR
S M T W T F S
   1234
567891011
12131415161718
19202122232425
2627282930  
<< April 2020 >>
ARCHIVES
CATEGORIES
MOBILE
qrcode
Windowsクライアントから、Linuxサーバーにファイルを送り込む 選定の巻
Windowsクライアントから、Linuxサーバーにファイルを送り込む必要があって、その方法について、検証してみました。ただし、基本的に以下の条件があります。

・サーバーは、インターネット上に公開されているLinuxサーバー。
・Windowsクライアントは、Windows7以上。
・バッチファイルで送りたい…要するに、何もしなくても自動で送れる
・転送データは、暗号化して送りたい:公開鍵による認証を使う必要があります。


と、考えるとLinux間であれば、SSHサーバーを立ち上げれば、なんの難しいこともないのですが、WindowsにはSSHが標準では入っていません。と言うことで、Windowsにそれらの機能を実現するプログラムを導入して使う方向性としました。

候補は、

・CygWin:WindowsにUnixの機能を追加するものだが、何にしても大きい。大きいだけにメンテナンスも大変
・SSHWindows:ちょうど良いことに上のCygWinから、SSH関連ツールだけを抜き取ってパッケージ化したもの
・PuTTy:なんとなくターミナルソフトのイメージが強いが、SSH関連ツールも持っているらしい

いずれも経験が無いので、上から順にやってみました。

・CygWin

本当に大きくて、導入時点で断念してしまいました。おそらく知っている人なら、SSH関連だけを入れることが可能なのでしょうが…
実はオプションの中には、SSHが束になっていて、OpenSSHServerも入ってしまうのが、気に入らないのが一番の理由かもしれません。時間をかければ、必要なライブラリーを洗い出して、最小セットを作る気も無くは無かったのですが、SSHサーバーはいらないので、やめる事に…

・SSHWindows

とても期待を持っていましたが、結果は断念。
基本的にGnu系のソースをWindows様にコンパイルした、と言う感じなので、普通に設定すれば動くハズなのですが、公開鍵セットを作り、サーバーに転送し、接続を試みてもうまく行きませんでした。
何かコツがあるのかもしれないですが、それ以上追求するのをあきらめてしまいました。
と言うのも、この対策を検索するうちに、PuTTyの情報が当たってきて、そっちのほうがよさそうだったからです。

・PuTTy

結果的に、これに決定。ひとまずダウンロードするところから始める事に…

これ以降は、明日かな…長くなりそうだし。
| Tech_Server | 19:38 | comments(2) | - | pookmark |
UbuntuServerに Tritonn を入れる… 4.若干ですがセキュリティの工夫
UbuntuServerにTritonnサーバーを導入して、運用可能な状態にする方法論を確立するために、覚書程度に書き込んでます。ですが、今回の実験は、GMOのVPS環境で、試行錯誤の結果として出来上がった、Tritonnサーバーを、MacBookAir上のParallels環境で再現することを目的としています。
結果的に、この方法論でうまく行くかどうかを、他のVPS等で検証する必要がまだありますので、内容を鵜呑みにしないようにしてください。


最終的に、こんな感じ

(要するに、安価なVPSを借りてデータベースサーバーとウェブサーバーを分けて運用する場合、2つのサーバーは、別LAN間通信になる、と言う前提)になるのを想定しているので、デフォルトの設定のままでは、少し危ない気がします

特にデフォルトのポートについて…SSHの22と、MySQLの3306を、変更しておいたほうがよさそうです。もしバレても、なんのポートかはひと目ではわからなくなります。
特にSSHポートは狙われやすく、多くの攻撃サイトから、22が開いていると分かると様々な方法でアタックされるでしょうし。


MySQLサーバーのポートの変更。

my.cnfファイルを編集します。
% sudo vi /etc/my.cnf

今回のTritonnサーバーの場合は、/etc/my.cnfです。一般的なubuntuサーバーの場合…apt-getで標準アプリであるMySQLを入れた場合…は、/etc/mysql/my.cnfです。
[mysqld]

セクションの
port = 3306

を、変更します。番号は、一般的に大きな数字にするようです。ただし、空いているポート番号を探します。
Service Name and Transport Protocol Port Number Registry(http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml)
などから、未使用の番号を検索して使うのが良いと思われます。今回のようなローカルな取り決めの場合、「WELL KNOWN PORT NUMBERS」(0〜1023)以外であれば、使って良いルールだったように思いますが…


SSHサーバーのポート変更。
% sudo vi /etc/ssh/sshd_config

で編集します。
デフォルトの22を宣言している、
Port 22

を変更します。

ファイアウォールの変更
上で、設定したポート番号をそれぞれ、allow 設定します。
% sudo ufw allow xxxxx/tcp
% sudo ufw allow yyyyy/tcp



ファイアウォール変更後の注意

今現在、SSHで繋がって作業している場合、ポート22を塞いでしまうと、切断されてしまいます。
また、SSHサーバーを不用意に立ち上げ直すと、ポートが切り替わって、同じく切断されてしまいます。

ですので、まずはシステムコンソールがちゃんと動くか、再確認してから全ての設定の有効化を行いましょう。間違えて繋がらなくなってしまったら、システムコンソールから、すべてを元に戻してやり直す必要があります…元々、システムコンソールで作業しているなら、問題有りませんが…

最終的には、ファイアウォールの設定は、以前のポート番号を閉めなくてはなりませんが、これは最後の作業、と言う事になります。

結果的に、SSHサーバーの設定を有効化すれば、接続が切れますので、番号に間違いないか、クライアント側の設定変更に間違いないか、などを確認してサーバーを再起動するのが、良いかもしれません。

その後、MySQL、SSHともに接続確認ができれば、

% sudo ufw deny 3306/tcp
% sudo ufw deny 22/tcp

として、正常な接続を再確認してから、
% sudo ufw delete deny 3306/tcp
% sudo ufw delete deny 22/tcp

と、最終的なルール削除を行うのがおすすめかも…



ただし、この方法は、本当に最低限の努力でしか無いので、実際の運用サーバーなどでは、SSHサーバーのコンフィギュレーション変更や、DenyHosts などのアタック防止機能などを導入して防ぐ必要があると思っています。
| Tech_Server | 10:15 | comments(0) | - | pookmark |
UbuntuServerに Tritonn を入れる… 3.Tritonn...MySQLの設定
UbuntuServerにTritonnサーバーを導入して、運用可能な状態にする方法論を確立するために、覚書程度に書き込んでます。ですが、今回の実験は、GMOのVPS環境で、試行錯誤の結果として出来上がった、Tritonnサーバーを、MacBookAir上のParallels環境で再現することを目的としています。
結果的に、この方法論でうまく行くかどうかを、他のVPS等で検証する必要がまだありますので、内容を鵜呑みにしないようにしてください。

途中の画面ショットは、あくまでも例ですので、あしからず。


おそらく今回から、tritonn固有の話しでは無くなります。一般的なMySQLと、ファイアウォールの操作です。

利用するデータベースとユーザーを作って、それぞれの設定を行います。
MySQLサーバーにrootユーザーで接続します。すでに、Rootユーザーには、パスワードを設定してあるので…
$ mysql -uroot -pRootUser'sPassword
Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 2
Server version: 5.0.67-log Source distribution

Type 'help;' or '¥h' for help. Type '¥c' to clear the buffer.

mysql>

ひとまず、データベースを作成します。
MySQLは、データベース+ユーザー単位にアクセス権利を付けられるので、基本的に目的+ユーザー毎にデータベースを作成するのが良い様に思っています。
ちなみに、MySQLのデータベースの実態は、一つのフォルダーを持ちますので、OSによってその数の制限はあるものの、実用的には無限大に近いですね。
データベースは、
mysql> create database NewDataBaseName character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql>

と、あっけなく作成できます。
tritonnの中身、MeCabの辞書ともに、utf8で作成してますので、デフォルトのキャラクターセットにutf8を指定しておきます。(デフォルトでutf8であれば、必要ないのかもしれませんが…)

確認しておきましょう…

できています。

現在のユーザーとアクセス元を表示してみます。

デフォルトでは、rootユーザーしかいませんし、ローカルからしか接続できないことがわかります。

ここでは、最終的に外部のサーバーから、データベースをアクセス可能にする方向性で設定を行います。
「moto_c」と言う名前のユーザーを作り、「password」と言うパスワードで、外部から接続可能に設定します。
mysql> grant all privileges on NewDataBaseName.* to 'moto_c'@'%' identified by 'password' with grant option;
Query OK, 0 rows affected (0.00 sec)

mysql>

確認すると…

設定に間違いは無いようです。


ファイアウォールの設定を追加します。ここでは、デフォルトのままです。
% sudo ufw allow 3306/tcp

これで、クライアントからアクセスしてみましょう。SSH経由でなく、通常のMySQLポート経由で接続が可能になっているハズです。

もし、ダメなら /etc/my.cnf を確認してください。
bind-address = 127.0.0.1

の様な記述があれば、ここでは一旦コメントアウトしてしまいます。後に、アクセス制限をかける際に、このアドレスを接続元固定アドレスにしてしまう、と言う手が考えられます
また、先ほど作ったMySQLのユーザー権限と合わせて細かく設定、と言う手もありそうです。

これからの課題、と言う事で。(^_^;)
続きを読む >>
| Tech_Server | 09:03 | comments(0) | - | pookmark |
UbuntuServerに Tritonn を入れる… 0.Ubuntu サーバーを導入する。
UbuntuServerにTritonnサーバーを導入して、運用可能な状態にする方法論を確立するために、覚書程度に書き込んでます。ですが、今回の実験は、GMOのVPS環境で、試行錯誤の結果として出来上がった、Tritonnサーバーを、MacBookAir上のParallels環境で再現することを目的としています。
結果的に、この方法論でうまく行くかどうかを、他のVPS等で検証する必要がまだありますので、内容を鵜呑みにしないようにしてください。


モバイルで見ると、横2つしか画面が表示されないので、横2つに統一しました。2012-10-26
初期立ち上げ後の画面を追加しました。2012-10-26

Ubuntuサーバーの導入もちょと触れておかなきゃ、なんて思いつつめんどうなので、画面ショットの連発で我慢してください。


異論もあろうと思いますが、あくまでもサーバーとして使用する、かつ tritonn 、MySQL のためである、と言う点では、シンプルでちゃんと動作させる環境の元になると思っています。
大した解説はつけません…なぜかって、基本デフォルトだからです。あえて言うと、キーボードをJananeseにするくらいでしょうか…そうしないと、システムコンソールで文字が打ちにくいからです。

画面ショットは、お名前.comさんのやっているVPSサービスで導入、取得しました。入れたのは、ubuntu Sever 10.04.4 AMD64 のバージョンです。お名前.comさんでは、この導入イメージをお持ちでないので、isoファイルをubuntu本家のミラーからダウンロードして、お名前.comさんのisoイメージエリアにアップロードして使っています。

ubuntu本家のミラーリスト:http://www.ubuntulinux.jp/ubuntu/mirrors

ここの、Ubuntuのリリースイメージ とある中ほどのリストのどこからでも入手可能です。


・「English」 選択
・当然、「Install Ubuntu Server」 です。
  

・ここは、「English」です…サーバーは日本語化が中途半端ですので
(ここで日本語選ぶと、システムコンソールメッセージが半分ほど文字化けします…日本語が表示できないので)
・ロケールの選択ですので、「Other」
  

・日本は、「Asia」です
・「Japanese」選択 スクロールするのが嫌なら、「J」キー押すとジャンプします…たぶん
 

・「No」を選んで
・「Japan」
  

・「Japan」とします。これでキーボードがJIS配列に設定されます。僕はMacでやってますが、JapanでOkでした。
(Japan-Macintoshは、選んだことありませんので、あしからず)
・サーバーの名前をつけます
  

・TimeZone名が、AsiaTokyoで間違い無いなら Yes です。
・デフォルトです
  

・大きな方を選んだだけです
・あー、「Yes」です…絵が間違ってますね…取り直せないし…ぶつぶつ…
 

・「Yes」です。おそらくデフォルトは、「No」なので、選択が必要。
・最大サイズ取ります
 

・もう一回ダメ押しの確認で、「Yes」です…パーティション書き換えますので…
・代表ユーザーのフルネームを入れます
  

・ユーザーID名です。変えたければ変えましょう。基本は、フルネームのファーストネームが選ばれます。
・パスワード
 

・パスワード確認
・「No」です…代表ユーザーのホームディレクトリーを暗号化するとどうなるか、なんて考えたくないです。
  

・Proxyは無いので、何も入れません。導入する環境によっては必要になる可能性がありますので、調べてください。
・「No Automatic Update」です。Updateくらい自分でやりましょう
  

・絶対に使う「OpenSSHServer」くらいは入れても良いですが、基本は何も入れません。
・MasterBootRecordに書きまっせ、っていうワーニングですが、VPSや専用パソコンなら「Yes」でよし。
 

・導入の最後に確認です。CD入れっぱなしだと、リセットされてもCDから立ち上がっちゃうよー、っていう話です。
気が向いたら、CD抜くかなんかしてください。
・立ち上がりました。^^;
 
| Tech_Server | 12:35 | comments(0) | - | pookmark |
UbuntuServerに Tritonn を入れる… 2.Tritonn本体を入れる
UbuntuServerにTritonnサーバーを導入して、運用可能な状態にする方法論を確立するために、覚書程度に書き込んでます。ですが、今回の実験は、GMOのVPS環境で、試行錯誤の結果として出来上がった、Tritonnサーバーを、MacBookAir上のParallels環境で再現することを目的としています。
結果的に、この方法論でうまく行くかどうかを、他のVPS等で検証する必要がまだありますので、内容を鵜呑みにしないようにしてください。


ようやく、Tritonnを入れます…が、tritonn には、Mecabと、Sennaが必要なので、それを先に入れます。

まず、Mecabの最新バージョンを入れます。
Mecabは、ubuntuの標準アプリケーションなので、apt-getで導入する事ができるのですが、UTF8ではないようなので、ソースコードを入手して、コンパイルして導入します。

ひとまず、ソースを入手してコンパイルするフォルダーを作って、そこで作業します。
% mkdir src
% cd src


ソースコードを入手します。
% wget http://mecab.googlecode.com/files/mecab-0.994.tar.gz

基本的には、MeCabプロジェクトの本家:
MeCab: Yet Another Part-of-Speech and Morphological Analyzer(http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html)
から、入手しますが、ここでは事前にURLを調べて、サーバーからwgetで取得する方法をとっています。本家からダウンロードしたファイルを、サーバーにFTPなどでアップロードして使う方法もありです。

あとは、おまじないのように
% tar xvzf mecab-0.98.tar.gz
% cd mecab-0.98
% ./configure --enable-utf8-only
% make
% sudo make install

と、するとMecab本体の導入が終わります。おまじないとはいえ…
・入手したソースコードは圧縮してあるので、解凍して
・作業フォルダーに移り
・環境ごとのmakefileを、./configure コマンドで作り(オプションで、UTF8 であることを宣言)
・コンパイルし
・システムに導入
と言う手順です。以下、オプションが異なるだけで、変わりありません。


src ディレクトリーに戻って、同じようにMecabの辞書もソースコードを入手して、コンパイルして導入します。

% wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
% tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
% cd mecab-ipadic-2.7.0-20070801
% ./configure --with-charset=utf8
% make
% sudo make install

注;make の段階で、何かのライブラリーが足りないって、
error while loading shared libraries: libmecab.so.2: cannot open shared object file

とか言うメッセージを出して、make が中断されることがあります。その場合は、
% sudo ldconfig

とすることで、新たなライブラリーを使用可能な状態にします。以後、同じようなケースはこれで回避します。
(通常、ライブラリーが新たに導入される場合は、make installのスクリプトの中に、ldconfigコマンドが含まれているものなのですが、稀に忘れているスクリプトがあるみたいです)


これで、Mecab本体と、辞書が入りましたので、お決まりの文句で試験してみます。

% mecab
すももももももももの内
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
も 助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
の 助詞,連体化,*,*,*,*,の,ノ,ノ
内 名詞,非自立,副詞可能,*,*,*,内,ウチ,ウチ
EOS
^C
%

ちゃんと形態要素解析が行われていて、成功のようです。^^;


さて、ここからTritonn本体のコンパイルと導入です。これまで何回か幾つかの環境で行った結果、スーパーユーザーで行うほうが良いようです。
ですので、
% sudo su
[sudo] password for moto_chor:
#

と、スーパーユーザーへのおまじないを行います。

# wget http://jaist.dl.sourceforge.jp/senna/33763/senna-1.1.4.tar.gz
# tar xvzf senna-1.1.4.tar.gz
# cd senna-1.1.4
# ./configure --prefix=/usr
# make
# make install

それぞれのコマンドに結構な時間がかかりますが、ここまでで tritonn の一部でもある senna の導入が終わりました。
ここから、tritonn本体の導入になります。
tritonn本体は、最新のものを使っても良いと思いますが、最新のソースファイル(tritonn-1.0.12-mysql-5.0.87.tar.gz)では、なぜかコンパイルでエラーが発生します。このエラーは、対処不可能な致命的なものなので、一つ前のバージョンを取得してコンパイルします。
このバージョンは、tritonnとしては変わりませんが、mysqlのマイナーバージョンがひとつ古い物になります。

# cd /usr/local/src/
# wget http://jaist.dl.sourceforge.jp/tritonn/36449/tritonn-1.0.12-mysql-5.0.67.tar.gz
# tar xzf tritonn-1.0.12-mysql-5.0.67.tar.gz
# cd tritonn-1.0.12-mysql-5.0.67
# ./configure --with-senna --with-mecab --enable-assembler --with-charset=utf8 --with-unix-socket-path=/var/lib/mysql/mysql.sock --with-extra-charsets=binary,utf8,cp932,eucjpms,ujis,ucs2,latin1,sjis --enable-thread-safe-client
# make
# make install

ここで、/usr/local/src フォルダーに移ります。移らなくても問題はありませんが、make 作業を行ったフォルダーが tritonn のホームになってしまいますので、ご注意を。そのユーザーを消さない限りは問題有りません。
これで、tritonn が入りました。とは言え、tritonn では無く、tritonn 化したMySQLですので、以下はMySQLをコンパイルして導入した場合と同じ手順になります。

MySQLのグループとユーザーを作ります。
# groupadd mysql
# useradd -g mysql -s /bin/false -d /home/mysql mysql


データ格納場所、ワーク領域をMySQLユーザーをオーナーにして作成します。
# install -d -o mysql -g mysql -m 2755 /var/lib/mysql
# install -d -o mysql -g mysql -m 2750 /var/lib/mysql/data


標準スクリプを使って、MySQLの動作環境をインストールします。
# ./scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql/data/


標準のコンフィギュレーションファイルをシステムにコピーします。
# cp support-files/my-large.cnf /etc/my.cnf


その、コピーしたファイル /etc/my.cnf 編集します。
ファイル内の、
[mysqld]

セクションを、見つけ、そのセクション内に、

basedir = /usr/local
datadir = /var/lib/mysql/data

を、追加して、ついでにその下に
default-character-set = utf8
skip-character-set-client-handshake

も追加します。基本的なtritonn の動作には影響しませんが、別サーバー、別プロセスからこのtritonnサーバーにアクセスした場合に、文字化けを避けるために、デフォルトキャラクターセットをutf8にしておきます。
ついでのついでに、
[mysql]

セクションにも
default-character-set = utf8

を追加しておきましょう。あとで必要になるかもしれませんし、

自動起動スクリプトも、標準のものをシステムにコピーして、実行権限を与えます。
# cp support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql


サーバーコンフィギュレーションツールを導入して、MySQL をシステムプロセスとして登録します。
# apt-get install sysv-rc-conf
# sysv-rc-conf mysql on

システムプロセスとして、MySQLサーバー...tritonnサーバーを起動します。
# /etc/init.d/mysql restart
* MySQL manager or server PID file could not be found!
Starting MySQL
. *
#

リスタートである必要は無いですが…ま…
サーバーが起動したのですから、rootユーザーのパスワードを設定しましょう。
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or ¥g.
Your MySQL connection id is 2
Server version: 5.0.67-log Source distribution

Type 'help;' or '¥h' for help. Type '¥c' to clear the buffer.

mysql> SET PASSWORD FOR 'root'@'localhost'=PASSWORD('RootUser'sPassword');
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
#



これで、ほぼ出来上がり。

ですが、また長くなったので、続きは明日以降の記事に…^^;
| Tech_Server | 18:33 | comments(0) | - | pookmark |
UbuntuServerに Tritonn を入れる… 1.まずはサーバーの準備
UbuntuServerにTritonnサーバーを導入して、運用可能な状態にする方法論を確立するために、覚書程度に書き込んでます。ですが、今回の実験は、GMOのVPS環境で、試行錯誤の結果として出来上がった、Tritonnサーバーを、MacBookAir上のParallels環境で再現することを目的としています。
結果的に、この方法論でうまく行くかどうかを、他のVPS等で検証する必要がまだありますので、内容を鵜呑みにしないようにしてください。




UbuntuServerの最新ではなく、一つ前のLTSバージョンを利用します。

Ubuntu公認の「日本国内のダウンロードサイト」(http://www.ubuntulinux.jp/ubuntu/mirrors)から

ubuntu-10.04.4-server-amd64.iso

を入手して導入。基本的は、Ubuntuサーバーの導入については、別に掲載予定ですが…(予定は未定)

サーバーは、最小限のセットを導入します。今回の場合は、特にTritonnを動作させるのが目的なので、追加のサーバーアプリケーションは何も入れない、と言うのが基本です。

OSが裸で立ち上がったら、まずSSHの設定を行います。

VPSなどの場合は、コンソールで作業するのが、基本だと思いますが、コンソールだと色々と不便な点が多いので、SSHの設定を先に行なってしまいます。

サーバー側は、コマンド…
Server:$ sudo apt-get install ssh openssh-server

で、SSHサーバーを導入します。

あとは、SSHクライアントで…SSHキーを生成します。
Client:$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/moto_chor/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:


注;Macの場合は、標準のTerminalで可能ですが、Windowsの場合は MinGW 導入して MinGW Shell で行うのが良いと思います。

一つ目の質問「Enter file in which to save the key (/home/moto_chor/.ssh/id_rsa):」は、デフォルトで良いハズなので、Enter キーのみ。
2つ目の質問は、このSSHキーファイルのパスフレーズですので、忘れない良いパスフレーズを入力します。サーバーにログインする時のパスワードとは別物なので注意。
3つ目は、その再確認です。

SSHクライアントから、キーファイルをサーバーに送る
Client $ scp .ssh/id_rsa.pub moto_chor@myserver.com:~

のように、自分の環境に合わせた ID・サーバーアドレスにして、ファイルを送り込みます。


サーバー側で…
Sever:$ mkdir --mode=700 .ssh
Sever:$ cat id_rsa.pub >> .ssh/authorized_keys
Sever:$ chmod 600 .ssh/authorized_keys
Sever:$ rm id_rsa.pub

と、バカの一つ覚えの様に入力すれば、サーバー側の準備は終了。

クライアントから、
Client:$ ssh moto_chor@server.com

か、
Client:$ ssh -l moto_chor server.com

として、初回だけパスフレーズを聞かれますが、そのままサーバーにはパスワードを入力しなくてもログインできるようになれば、成功です。



さて、サーバーの基本設定をします。以下、自分のホームディレクトリーで、かつユーザーモードで作業。

ひとまずおまじない…
% sudo apt-get update
% sudo apt-get upgrade

時間がかかりますが、apt-getシステムの初期化だと思って、じっくり待ちます。apt-getパッケージデータベースを更新して、現時点で導入済みのパッケージを最新の物に更新します。

サーバーに最低限必要なパッケージを導入

% sudo apt-get install build-essential automake
% sudo apt-get install zlib1g-dev libssl-dev libreadline6-dev libyaml-dev libxml2-dev libxslt-dev
% sudo apt-get install libsqlite3-dev libcurl4-openssl-dev
% sudo apt-get install apache2 openssh-server apache2-prefork-dev libapr1-dev libaprutil1-dev

今回の、Tritonnサーバーを立ち上げるミッションには不要なものもあるかもしれませんが、様々な開発環境を構築する基礎となる部分なので、入れておきます。
最低限で済ますなら、
% sudo apt-get install gcc g++

だけで、良いはずです。

と思ったら、
% sudo apt-get install libncurses5-dev

も、必要でした。m(__)m


ファイアウォールの設定…
% sudo ufw default deny
% sudo ufw allow 22/tcp
% sudo ufw allow 80/tcp
% sudo ufw enable

最低限のファイアウォールの設定をします。Apacheを入れましたが、止めておくなら、80は開ける必要はありませんし、後で、MySQLのポートを開ける必要があります。

注;ufw enable の時に、ワーニングが出ますが、これは SSH 接続中に該当のポートを開けておかないと、切れるよ! ってな内容なので、気にせず Yes で答えます。もし切れたら、あなたはどこかで、SSH のポートを22以外で作った、と言うことで、その後何もできなくなります。

状態を確認すると、
% sudo ufw status
Status: active

To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
%

ってなるはずです。




ようやくサーバーができたので、ここからがTritonnサーバーの準備、という事になりますが、ちょっと長くなったので、明日の文書で…
| Tech_Server | 23:20 | comments(0) | - | pookmark |
UbuntuServer にLAMPとRubyOnRails3を入れてみる
色々と試行錯誤した結果、Ubuntu 12.04 LTS に正常なパターンで、LAMPとRuby on Rails3 を入れるのに成功した。元々、LAMPにRonRってのはおかしいんだけど、実験環境なのでまぁ…Ubuntuは、Desktop、Serverともに同じ12.04 LTS。他のバージョン、他のディストリビューションでは、未確認。

インターネットを探っていると、この手の情報は結構いっぱいあるのだが、意外とダメパターンがあったりして、気を付けなくてはならない。せっかく苦労してUbuntuから入れても、なんだか変な状態になってしまうかもしれない不安があったりする。
なので、今回は、MacOS上で動作するParallelsDesktopに、正規のUbuntu 12.04 LTS (Desktop/Serverとも)をダウンロードしたものを導入してVM を作り上げ、そのコピーに様々なパターンで、LAMP+Ruby環境を入れて見た。このParallelsDesktopの場合、導入状態を保存しておくためのスナップショット機能があるので、正常に動作するのを確認次第、新たにスナップショット取って万全を期す事ができる。

結果、以下のサイトの情報が最も問題なく、正常な動作にこぎつけた、と言う話。

1、まず、Ubuntuは、正規の場所からダウンロードして、Parallelsに導入。

出処は、当然ながら、本家(http://www.ubuntulinux.jp/)、ダウンロードサイトはKDDIだったかな…


2、OpenSSHを入れる
・OpenSSH でリモートログイン(自宅サーバー Debian/Ubuntu:個人宅?)
http://debianj.com/ubuntu/install/openssh.html


結構情報量があって、面白いサイト。SSHだけでなく、バージョンさえ合えば、他の導入も参考になる。


2、基本のLAMP環境を入れる
・基本のLAMP環境
UbuntuにLAMPサーバを手早くインストールする方法
(from builder by ZDNetJapan)
http://builder.japan.zdnet.com/os-admin/20384129/


基本のLAMPは、これでほぼしっかりと入る。(若干異なる動きがあるので、追記を見てね)
問題は、phpmyadminについては、必ず入れよう、って言ってる割に特に解説がない。


3、phpmyadminを入れる
・自宅サーバ(Ubuntu11.04)にphpmyadminをインストールする。
(from Ubuntu, Spring MVC, Spring Rooを使ってみるブログ:個人宅)
http://d.hatena.ne.jp/GreenTea2010/20110520/1305905166


なので、そのphpmyadminを入れる方法を解説している。基本を守れば、しっかりと動作する。最終的に、シンボリックリンクを貼る必要があるかもしれないが、それはまぁご愛嬌として…
他、幾つかの同じような話題のサイトの情報では、残念ながらここで対象とする環境では、まともに動作しなかった。


4、使うかどうかは分からないが、CakePHPも入れておく
・CakePHPをUbuntuにインストールする方法(Life after reading Startup)
http://hidekiitakura.wordpress.com/2009/05/28/cakephp%E3%82%92ubuntu%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%EF%BC%88%E7%BF%BB%E8%A8%B3%EF%BC%89/


元ネタは特に調べてないが、翻訳モノらしい。これでcakePHPもちゃんと動作する。


5、最後に Ruby on Rails 3 を入れる
・Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました(OIAX:著者)
http://www.oiax.jp/rails/zakkan/rails_3_2_installation_on_ubuntu.html


このサイトは、Ruby on Rails3 に関する本(達人出版会http://tatsu-zine.com/から出ている)を書いていらっしゃる方…法人?…のサイトで、一部(おそらく草稿)をHTMLで公開している。そのLinuxセットアップの章がここ。(だと思う)
更にこのサイトでは、間違いや、バージョンによる差異などの報告をメールで受け付けており、適切な頻度でアップデートされているので、信頼性が高い。
ここでは、2012/08/22版を参考にした。というか、言いなりに入れれば、ちゃんと動作する環境が作れた。



まだ、最終的な全体確認はできていないのだけど、これでLAMP+Ruby環境がひとまず整った。
かなり有用な情報だけに、リンク切れにならないことを祈っています...とりあえず、現存を保存すべきかも。そうだ、Evernoteにでもログっておくか…(^_^;)
続きを読む >>
| Tech_Server | 23:16 | comments(0) | - | pookmark |
<< | 2/2PAGES |