ubuntu 14.04 を無線LANアクセスポイントにする

表題のままなのだが、ubuntu 14.04 を無線LANアクセスポイントにしてみた。

無線LANルータが格安で販売されている今日このごろに、なんでこんなことやってるんだろというツッコミは後にして、前提条件など。

  • OSはubuntu 14.04 でデスクトップ版です。
  • 無線LANは、過去にamazonで買った格安のこいつ(WLI-UC-GNM)
    激安だけど、802.11nまで対応していたはず。期待はしないけど。
  • モードはブリッジモード。LANと別セグメントにしたくないから。
  • ノートPC1台つながれば良いので、MACアドレス制限とか、ステルスSSIDとかでやってみる。

設定などなど

NetworkManagerを止める

後の方に気付いたけど、最初に止めた方が無難。

Desktop PCで、固定IP運用なので、そもそもこいつは必要ない。なので、NetworkManagerを止めて、手動での設定に移行する。

まず動いているか確認

いたら止める。

自動起動を止める。

今は、こんな方法なんですね。

必要パッケージをインストールする

ブリッジのやつと、アクセスポイントのやつ

Network設定を手動に移行する

自分の場合は、既に手動になってた(NetworkManagerは起動してたけど)が念の為確認。

こんな感じの設定、ブリッジ設定もやってます。ミスるとネットワーク繋がらなくなるので要注意。設定終わったら再起動しといた方が無難。

無線LAN(wlan0とか)のブリッジは、hostapdがよろしくやってくれるのでここでは設定しない。

無線LAN(WLI-UC-GNM)を挿す

別にいつでもいいけど。iwconfigでwlan0(無線LANが1つの場合)が見えてればたぶんOK。

ドライバーとかもよろしくやってくれるはず。

ドライバっぽいやつら

hostapdの設定

やっと本番。

自分はこんな感じの設定にした。

MACアドレス許可リストファイルを作っておく。  

  パーミッションもきつめにする。

  自動起動の設定 /etc/default/hostapdのファイルに、DAEMON_CONFを定義

  デーモン起動

  正しく起動すれば、きっと使えるはず。

ubuntu 14.04で自動アップデート(unattended-upgrades)

なんか自動アップデートの設定も毎回確認しているような気がするが

過去の記事

unattended-upgradesをインストールして、前回の記事のように設定しようとしたが

/etc/apt/apt.conf.d/10periodicってファイルが見つからない。

どうしたもんかと調べたところ、dpkg-reconfigureすればいいんじゃね。

自動更新しますかって聞かれるので、はい。を選択。

こんなファイルが作られている。

ただ、同じ14.04でも、/etc/apt/apt.conf.d/10periodicが存在して普通に自動アップデート出来ている環境もあるので、

debootstrapでインストールした最小構成だけかもしれない。

redmine 2.5.x を ubuntu 14.04 へインストール

とっても便利な、チケットドリブン開発WEB UIのredmineを自分専用にインストール。

 

今回インストールするのは、redmine 2.5.1になります。

 

基本的には、ubuntuだとパッケージでのインストールが良いのだが、WEB系のアプリで開発が頻繁なものは、本家からダウンロードしてインストールするほうが、後々いいので今回は手動でインストールする。

以前、Wordpressをubuntu標準パッケージから入れたら、後々不便(バージョンアップとか)だったので、その教訓を活かす。

 

OS環境

最小インストール。というかlxc環境に入れるので、debootstrapにてインストールされるので、かなり最小構成。

 

一応パッケージは最新にしておく。

rubyインストール

 

こちらもOSのパッケージではなく、rvmを使って、ruby 2.0.0系をインストールします。

 

 

rubyのバージョン確認

 

依存パッケージのインストール

subversionは、redmineの最新版を取得用。gitは自分で使うバージョン管理。

imagemagicは、redmineで使う。

 

redmineのダウンロード・設定

今回は/optにインストールします。

 

パーミッション設定

 

自分用レポジトリ作成

一応ここで作成しておくが、あとでも良いし別の場所でも可

mysqlデータベースの作成

 

mysqlインストール

 

データベース作成

redmine設定(コンフィグコピー、DB設定)

bundlerインストール

token作成

db migrate

default data load

途中言語環境を聞かれたら、 ja にする。

次からWEBサーバ

WEBサーバ設定(apache)

各種インストール

ssl有効、セキュリティ設定

passengerインストール

apacheにpassengerの設定

passenger設定を有効化

sslサイトにredmineを追加

DocumentRoot変更と/opt/redmine/current/publicへの許可設定

apache再起動

これでhttps://<your_server_ip>にアクセスアクセスすればredmineが使えるはず。

あとは、自分でチケット作って、自分でやってという悲しい作業で、効率が上がる。

tuxguitarの音が出ない ubuntu 14.04

なんか毎回インストールするたびに、同じ状況になっている気がするが、tuxguitarの音が出ない。

普通にtuxguitarはインストールして、tab譜を見るのは出来るのだが、音が出ない。

自分の環境では、以下のコマンドで出るようになった。

実際にインストールされたのは、tuxguitar-jsaだけ。

んで、tuxguitarを起動したら普通に音が出るようになった。

一応設定は、

「ツール」-「環境設定/settings」-「サウンド」

「MIDIポート」が

「Gervill」

になっていることを確認。

音が出るようになった。

WEBページをコマンドでPDFとかイメージで保存

WEBページをコマンドで、PDFとかイメージデータとして保存出来たらいいな。と、ふと思い調べたところ、

過去に書いてるやん!

その記事

うわー。記憶って消えていくものだな。

wkhtmltopdf

ってパッケージをインストールすれば良い。

 

ただ、ちょっとその時と違っているのは、ubuntu 14.04ならイメージも出来まっせ!ってこと。

当時(恐らく12.04だと思う)は、PDFだけだった模様。

※残念ながら、14.04もPDFだけでした。この記事は意味ありませんが、もったいないので

まー。インストールは相変わらず超簡単

 

使いかたも超簡単

 

PDF

 

イメージ

日本語フォントとか無理かなって思ってたのだが、日本語も凄く綺麗に表示されている。

これで自前のaguseサイトとか作れる。作る能力無いけど。

wkhtmltoimageですが、過去にサイトからダウンロードして個別に入れていたようです。これまたすっかり忘れていた。 公式サイトにubuntu用のパッケージもあるので、そちらからインストールすれば、たぶんwkhtmltoimageも使えるかと(未確認)

公式サイトのダウンロードページ

Red Hat EL 7(CentOS 7)のifconfigとかレガシーなnet-toolsがなくなった

ついにこの日が来てしまったか。。。

だいぶ前から、古いnet-tools系のコマンドは、今後使えなくなるかもよ的なことは言われていたが

新しいコマンド覚えるのメンドイし、使えてるからいいじゃんと思って先送りにしてきた。

が、Red Hat Enterprise Linux 7では、標準で、net-toolsがインストールされなくなった。

まだリリースされていないが、CentOS 7も同様だと思う。

で、コマンド系で標準で入らなくなった、今までお世話になってきた奴らは

  • ifconfig
  • route
  • netstat
  • arp

彼等は、今後標準ではなくなります。

今まで、とりあえずサーバにログインしたら、ifconfigみたいなのりで使ってきたのに(涙)

ただ、一応net-toolsパッケージも残っているので、

 

 

とやれば、今までのコマンドも使えるはず。ただ、さすがに本筋から外れるのでいい加減新しいコマンドでも覚えようかと。

以下、簡単な新旧対応

ifconfig

route

netstat

arp

もうちょっと細かいオプションとか覚える必要がありそうだけど、とりあえずここまでで。

wordpressのコメントアタック対策 fail2ban

コメントアタックという用語で良いのか微妙だが、apacheのログを眺めていると、
wordpressに結構なPOSTリクエストを送ってくる奴がいる。

このブログにPOSTリクエストが送られるのは、
基本的に自分が記事を更新したときだけなので
(コメントなんてほとんどないですからね)
ほぼ、POSTリクエスト = アタックやいかがわしい行為のはず。

ということで、前々から知ってはいたが、全く手を出したことの無い
fail2banの設定をしてみた。

fail2banはログを見て、事前に定義したレシピに
ヒットするとactionを実行(iptablesでブロックとか)するすぐれもの。

wordpressだけでなく、どちらかというと認証が発生する系の
サーバでは設定しといた方がいいなと思う。
sshとか、pop3とか、その手のサービス。

まー。今回はwordpressの設定。

例によってインストールはapt-get一発
(ubuntu14.04)

 

 

 

/etc/fail2ban/jail.confに以下を追加

 

 

 

  • filterはこれから定義する
  • logpathは実際の環境にあったもの
  • actionは、これだとiptablesで、http,httpsをブロックする
  • findtimeは、検知する間隔
  • bantimeは、ブロックする時間
  • maxretryは、findtime中この回数だけヒットしたらブロックするって値

上で使うfilterを作る。

/etc/fail2ban/filter.d/apache-wpcm.conf

 

 

 

もう、単純に、/wp-comments-post.phpにPOSTしたリクエストを対象とする。

でサービス再起動

 

 

 

実際に定義した、filterがログファイルにヒットするかチェックするには、
fail2ban-regex コマンドを使う。ログファイルが大きいと結構時間がかかります。

 

 

14770行チェックして、121マッチとのこと。全くヒットしないとか、ヒットしすぎとかでは無いので
実運用して様子見します。

(続)ubuntu server 12.04 LTSを14.04 LTSにアップグレード

前にちょっと記事にしたが、その続編ぽいもの。

前回のサーバは、DNSくらいしか動いてなくて、特に問題なかったのだが、

今回はLAMP環境を移行した。はまりまくり。

メモってないので、記憶をたどると、ハマりどころとしては。

debian系のsites-enabledの設定ファイルが変わった。

debian系では、/etc/apache2/sites-enabled/以下に各サイトの設定を書いて

そのサイトを有効にするには、a2ensiteコマンドを実行すると、/etc/apache2/sites-available/以下に

シンボリックリンクが作られて有効になるといった感じの動作。

まー。この動作自体は、よく考えられていて良いとは思っている。

この設定ファイルだが、前は、どんなファイル名でも良かったのだが、

14.04からは、*.confと拡張子が付いてないと、読み込まれなくなった。

なので軒並み修正。

 

apache 2.4からアクセス制御の書き方が変わった。

ubuntuというか、apacheの変更だが、古くからのapacheのアクセス制御は、

以下のような感じ

 

 

が、2.4からはこんな感じになる。

 

 

 

と、こんな感じになった。まー。シンプルで良い気もするが、軽い気持ちでバージョンアップすると痛い目にあう。

過去の表記を有効にするモジュールもあるようなのだが、
少なくとも自分で追加したサイト側には有効になっておらず
全部手動で、2.4系の書き方に変更する必要があった。

2.4系の細かいアクセス制御設定は、他のサイト等を参考にしていただければと思います。
(自分もよく分かってない。)

全部許可なら

 

 

 

とからしい。

linuxでモニタの表示をキャプチャ(screendump)

昔debianを触っていた時に、偶然モニタの表示状態を取得出来るコマンドがあって、こりゃ便利だと思ったがどんなコマンドだったか忘れてしまっていた。

リモートに設置されているサーバで、お客さんにモニタの状態を確認してもらうとき、こっちでも見れると何かと便利。

ただ、当時redhat系には入ってないコマンドだったので、結局使えないからということで綺麗さっぱり忘れてしまっていた。

で、今回思い出したそのコマンド

 

こいつを実行すると、モニタに表示されているっぽいもの(foobar login:みたいな)が確認出来る。

なんでredhat系には、無いんだよと嘆いていたところ、screendumpは仮想コンソールとやらを表示している模様。

man vcs

ということは、デバイスファイル直接見ればいいんじゃね。とのことでやってみた。

vcsかvcsaかは環境によって違うと思う。また、環境によってはどちらも存在しないことがある。

一応自分の環境では、vcsの方を単純にcatしたら、モニタに表示されている内容が表示された。

ただ、改行とかされないので非常に見辛い。

 

これまた、初めて知ったのだがfoldコマンドにパイプしてやると、見栄えが良くなる。

 

man fold

世の中知らないことばかりですね。

あと当然ですが、これはCUI環境での話です。

findコマンドで、サイズの大きいディレクトリを探す

なんでこんなこと調べようと思ったかというと、とあるシステムで特定のパーティションのi-nodeが溢れそうになっていた。

i-nodeを大量消費するのは、細かいファイルを大量に作るやつだと思うので、そんなディレクトリがあれば、

きっとディレクトリサイズがでかくなっているはず。

 

Linuxのディレクトリサイズは、中のファイル数が多くなると、大きくなる。細かい理由とかはgoogle先生に聞くといいと思う。

 

で、調べるのは、findコマンドでこんな感じ

普通のディレクトリであれば、4kのはずなので、このくらいデカければ、まー異常ってことで。

一応予想通り、i-nodeを大量消費しているディレクトリを特定出来た。