UbuntuでLAN内PCから接続可能なMySQL ServerとRedis Sereverを常時起動しておく方法

今回は個人的に遊ぶために購入したParallellaが文鎮状態(軽くて文鎮にもならないが)だったので、
社内で有効活用しようとおもいセットアップを行ったので、その解説を書いていこうと思う。

Railsの開発プロジェクトが同時進行しており、
すべて一つのDBにおさめて、社内共有して開発をしたいと思ったのが
今回のきっかけ。

※ 例に漏れず詳しい解説に、後日アップデートしますので今回はドラフト的に必要事項だけ記載します。

■ご注意
・Parallellaはparabuntuインストール済みで、SSH接続可能な状態とします。

■こんなケースにつかえるかも
・ローカル内でLinuxをMySQLサーバー、Redisサーバーとして使いたい時

MySQLの設定

まずは通常通り初期設定を行う。
今回はメインマシンからSSH接続でインストール

sudo apt-get install mysql-server

その後、社内LAN上のPCから接続できるようにuserを作成


# 接続
mysql -u root -p

# ユーザー作成と権限設定
grant all on *.* to 'username'@'192.168.1.%' identified by 'password';

上記例は社内からすべてのテーブルにアクセスできるルートユーザーとして作成している。
@以降のホストIP部分は、それぞれの環境に応じて適宜、変更をしていただきたい。

これで、MySQLの設定は完了。あとはそれぞれRailsの database.yml の設定を変えてもらうだけ。

Redisの設定

若干詰まるであろうはRedisである。
ただ起動するだけではなく、一手間必要。

まず redis.conf を作成する。
今回はユーザーディレクトリ直下に作成した。


vim redis.conf

redis.conf に記載した内容は以下の内容のみ


# parallella からSSHを切ってもそのまま生きるようにデーモン化
daemonize yes

# デーモン化するのでログは、stdoutでは無くファイルに
logfile /home/{user}/redis.log

# PID出力先もわかり易い場所に指定
pidfile /home/{user}/redis.pid

bind オプションはあえて指定しないことで、すべてリッスンするようにしている。
confファイル無しで起動すると、デフォルトでは localhost に限定されるようだ。

後は、作った conf ファイルを指定して、起動するだけ


redis-server /home/{user}/redis.conf

以上で完了。

RailsのRedis関連のrbファイルで、
ホストにRedisを起動しているPCのIPを指定(今回の例だとParallellaのローカル内IP)

RubyMine を使っているのでプロジェクト全体検索で redis を検索したら、
指定箇所が見つかったので、すべて書き換え。

Redis.new(host: "{IPadredd}", post: 6397)

後は rake db:migrate してから、rails s で問題なく起動できれば完了です。

P.S.
ネットワーク内の機器のIPを調べる方法は色々あるが、
個人的にはiPhoneのFingというアプリが使いやすいと思っている。
見やすく操作も楽なので、オススメです。

投稿者:

Alex.G.S

CTO兼プロダクトマネージャー ゲームとプログラミングが大好きです。 早くこのブログのデザイン変えたいなぁ 弊社のAlex.jsとは名前が似てるけど、別人です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です