WHAT'S NEW?
Loading...
ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示
少々釣り気味なタイトルで申し訳ない、という書き出しで始まる記事を最近よく見るんだよね。

別に釣りだってイージャネーカ!

前回Vagrantの記事書いておいて全く逆の事書くのも愉快なので、早速行ってみよう。

はっきりいって俺はVagrantはまだそれほど使い込んでないってのもあるけど、みんなが絶賛するほど便利なのかなぁ~って思ってる。むしろ面倒くさいと思う時もある。

わははは!!本当に前回と正反対だよね。すまんすまん。ジョークだと思って気軽に読んでくれ。

でね、Vagrantマニアには悪いけど、ひと通り軽くVagrantやってみて、今の俺にはVagrantがそれほど便利って思えないのよ。理由は明白で、Windowsだからだと思う。

■待ちに待ったよ(若干ウソ)

Fedoraは俺が大好きなLinuxディストリビューション(以下ディストロ)だ。
なんで好きかって?それはなんだか名前がカッコイイからだ!!!これは本当だ!!

というのは冗談、ではなく、本当に名前がカッコイイってだけで俺はFedoraを選んではや10年。
今では関東の一部でFedoraエバンジェリストとしてちょっとだけ有名になってしまってうれしいなって感じの俺だけど、Fedoraもとうとうバージョンが19になったということで、成人前のFedoraちゃんを俺のこの手でインストールしてみようと思った。思ったんだったら思った。

そういえばFedoraをインストールした回数は100回は超えてるんだよねぇ。もちろんVMでもね。だいたい30回くらいかなぁ。案外少ないかな?

というわけで、さっそく行ってみよう。

■デバイスなくしてコンピューティング無し!

そう、俺は昔から入力機器、要するに直接手で触るものには非常に強いこだわりがあるんだ。そしてそういったこだわりを持っている素敵な伊達男(ダーティガイ)も沢山知っている。

俺達IT戦士はほぼ毎日、マウスやらキーボードやらタッチパッドやらペンタブレットやらフットスイッチやら、果ては有機的なジョイスティックなどなど、いろいろなデバイスを使ってコンピュータに司令を出している。

自分にフィットしたデバイスであれば、その司令もスムースに進むことうけ合いなし。そして作業効率も断然アップすることまちがいなしだ。

だから命がけで入力デバイスを選んでいきたい。

これはそんな伊達男達(ダンディガイズ)たちの、真実の物語である。

■特定の場所にあるファイルやフォルダを別の場所で世代別に同期する

例えばユーザがアップロードした画像などをファイルで保存している場合や、チャットのログをテキストファイルで管理しているような、ファイルベースのモデルだけど、それらのファイルをまるごと世代管理を意識したバックアップを取ってみたくなる衝動に駆られるっつーわけよ、少なくとも俺は。

というわけで、bashで簡単なバッチを作ってみたんで晒すよ。
rootで動かすのが前提なんで、結構単純明快。


あなたが必要になるパラメータは

  • 世代数
  • バックアップ先の所有者
  • バックアップ元
  • バックアップ先

の4つだ。

それぞれをスクリプト内に直接記述し、cronでroot権限で動かせばOK。

最終回。
まずはエディタの設定を行おう。

■geditでZen Coding

まずはプラグインを入れる場所を作る。
端末で、今ログインしているユーザで以下を実行。
% mkdir -p ~/.gnome2/gedit/plugins

次にプラグインをダウンロードしてくる。
ダウンロード元はこちら。
http://github.com/mikecrittenden/zen-coding-gedit

解凍して出来たフォルダ、ファイルを、先程作ったフォルダに移動する。
  • zencoding ディレクトリ
  • zencoding.gedit-plugin
の2つだ。

次にgeditを起動し、「編集」>「設定」>「プラグイン」を開き、「Zen Coding」にチェックを入れて「閉じる」ボタンで閉じよう。

さて今回はバックエンドの構築ということで、前回インストールしたApache、php、MySQL、Postfix、BINDの設定を中心に説明したいと思う。

繰り返しになるが、あくまで俺が何度も試してみた結果でしかないので、これが正解というわけではないことを断っておく。

ただ、Linuxを基礎から覚えたい!Webの仕組みを1から網羅したい!という人だけではないとおもうし、必要に迫られてググってたどり着いた人も多いとおもうので、なるべくかいつまんで説明する予定だ。

ただしかいつまむと言ってもさすが俺のことだ。DNSの部分など、可能な限り、「AするとBになる」という因果関係だけで終わらせるのは避け(これは俺の大嫌いなパターン)「AするとBになるのはCだから」まで掘り下げて書こうと思っている。しかしくどくならないように、全体的にはさっぱりサラサラのサラサーティ且つ、ダウニー的爽やかさを醸し出せるように意識して書いたつもりだ(おい、怒るな!)。

ちなみにLinuxのホスト名をtorhamzedd.comとし、ドメインもtorhamzedd.comとするのを前提として説明する。

というわけで早速いってみよう。

何度も言うけど、あくまで個人的な経験や思想になるが、Linuxで運用しているWebサーバにWebアプリをデプロイするためには、最初からLinuxクライアントで開発するのが手間が省けてよろしい思っている。思っているというか、事実だ。

現状、Linux(Fedora)で開発し、Linux(CentOS)にデプロイという流れでの作業を定番としているわけなんだけど、Windowsで開発してLinux(CentOS)にデプロイしてた時より遥かに良い。

なぜなら、コーディング中にデリミタを気にする必要もないしファイルシステム的にパーミッションの設定なども同じわけだから、開発マシンで動けば本番でも動くという可能性が極めて高いからだ。高いというより、普通はそのままで動く。

WindowsにXAMPPなんていうクソアプリを入れてしまっている人は、本来やらなくて良い作業が山盛りある事を理解したほうが良いと思っている。WindowsとLinuxの違いを意識しながらコーディングするなんて、精神衛生上、良い訳がない。

さて、少し時間が空いてしまったが、早速再開だ。

今回何をするのかというと、Windowsを使っていた時の作業を違和感なく進められるように、いろいろなアプリをインストール、設定し、使ってみようと思う。

まずは準備段階として、基本的なアプリをインストールする。

今回はFedora15の設定をいろいろいじってみよう。

設定に先立って、余計な機能は落としておく。


■個人使用向け設定

rootになって、SELinuxを禁止にし、ファイアウォールを停止させる。
SELinuxが有効になっていると、rootなのに出来ない事が多すぎて困る。
ファイアウォールも然り。

$ su -
パスワード
# vi /etc/sysconfig/selinux
SELINUX=enforcing
を
SELINUX=disabled
に変更し、保存する。

現在どういう設定になっているのかを調べる場合、
# getenforce
とうつと内容が表示されるので、最初からdisabledだったら何もしないで良いし、enforcingだったらファイルを編集することになる。

次にファイアウォールを停止だ。
# service iptables stop
で停止する。
もしコマンドが失敗するようなら、すでに停止しているということ。
# chkconfig iptables off
で自動起動させない設定となる。

ファイアウォールに関しては、実はIPv6向けのiptablesが存在する。
NTTのBフレッツを使っている場合、BフレッツはIPv6に対応していないので、IPv6向けiptablesが意味をなさなくなる。

というわけで、IPv6向けのファイアウォールも止めてしまう。
# service  ip6tables stop
# chkconfig ip6tables off

念の為OSを再起動しよう。
これでまずは準備が整った。

さてと、ようやく待ちに待ったFedora15が今日、リリースされた。

しばらくはFedora14で記事を書こうと思っていたのだが、書いた後直ぐに新しいバージョンがリリースされるのも忍びないとおもい、どうせなら15が出てからでいいかな、と思い、しばらく放置していた。

それがやっと、今日リリースされて嬉しく思うわけだ。
ちなみにこの記事を書きながらダウンロードしてる最中。

というわけで、みんなもWindowsとかMacで開発して悦に入ってないで、やるなら本物、つまりLinuxで開発しようぜ、ということで、まずはダウンロードから解説したいと思う。

Fedoraのサイトはここだ。
http://fedoraproject.org/
決してWindowsやMacを否定しているわけではないけど、もしそう聞こえるのであれば、そう捉えてもらっても、俺は全然かまわない。何しろ人の主観というのは俺には全く操作することができないのであるし。

念のため詳しく伝えておくけど、俺はゲームやるならWindows、ダイアグラムやグラフィック系はMac、開発はLinuxという風に捉えているだけでしか無いし、それ以上でもそれ以下でもない。

冬に着ていた服が暖かいからといって、夏も着ることはないだろう。夏には夏の服がある。OSも同じだ。マックしか認めない!という人は、真夏に厚着するただの傾奇者。
まずはFeoraのサイトへ行こう。今日の段階では、以下のような画面になっているはずだ。
ここで「いますぐぐダウンロード!」のリンクをクリックしてしまうと、ライブCDのダウンロードになってしまうので注意が必要。


ライブCDのというのは、いわばインストール作業をしないでもそのまま使えるよ、的な、イメージファイルをそのままフリーズしたようなファイルだ。

そう、みんなLinuxサーバで動く何らかのWebアプリをつくっていると思うので、開発環境もLinuxにしてしまえば良いわけだ。

そのために必要な構築方法と、あなたのためのちょっとした勇気が出る方法を書いてみたい。

当然、WindowsだけではなくMacユーザにもおすすめしたいのは言うまでもない。Linuxでの開発に慣れてしまうと、WindowsもMacも同じに見えるようになってしまう。

WindowsもMacも、Linuxサーバへデプロイする開発には向いてないOSなんだと言うことが分かる。けしてWindowsやMacをけなしているわけではない。俺は目的に合わせた環境ってのが大事だぜ、というのが言いたいだけだ。

Windowsは、俺にとって人生でもあるゲームをやるには最高にイカしたプラットフォームだ。Macは残念ながら持ってないが、ライフスタイルの向上にはWindowsよりMacの方が向いているだろう。カフェでDELLやVAIOなどと書かれたノートPCを使っているのが恥ずかしくなったりする人は、素直にMacを買えば良い。※個人的主観だけど、同じWindowsノートPCでも、HPとIBMはカフェでも違和感がないと思っている


実際問題、職場のマシンをWindows XPからFedora 14に変えてみたところ、今では開発速度が4〜5割ほどアップした事をお伝えしよう。何しろいちいちグローバルのサーバに接続する必要がない。
当然、隣に置いてあるローカルのLinuxサーバに接続する必要さえない。※このサーバはもう電源を落としてしまっているんだ

なにしろ自分がサーバと同じだから、その場でコンソール開けば良い話。
ざっくりとしたまとめだけど、簡単にWindowsと比較してみた。

まずXAMPPと言うものは何か、と言う事を、個人的経験から怒りと憎しみをこめて説明してみる。

ApacheやPHP、MySQLなどの、いわゆるAMP系といわれるアプリケーション郡は、Windows版も存在する。今まではそれらを個別にインストールし、Windows上に仮想的な対Linux環境を構築していたわけだ。

しかし、ApacheやMySQL、そしてPHPやPerl、場合によってはPythonなどを全て個別にWindowsにインストールするには、かなりの時間と労力を要する。

それらの作業を強烈に短縮できるように、全て一つにまとめてしまおうとしたのがXAMPPだ。手軽だが、正直言って業務で使い物になったことは今の所一度も無い。はっきり言うと、かなり壊れかけのソフトと言うか、とにかく必要以上にストレスを溜めるだけの存在だと思っている。

XAMPPというアプリ1個で環境がそろうために、いろいろな設定が固定されてしまっている。自由度も低いし、さらにそれらの連携も正しく動いていない。
しかしもっとも悪質なのは、再起動ボタンをクリックしても「再起動なんてできましぇ~ん!」としか表示しないコントロールパネルだ。お前は何をいっているんだ?的な。

それに、XAMPPを使わない最大の理由は、

XAMPPでWebサーバ運用してる奴なんかいるのか?

だ。