• nano エディタで複数ファイルを同時編集、ファイル間のカットアンドペースト
    nano エディタで複数ファイルを同時編集、ファイル間のカットアンドペースト
    No Comments on nano エディタで複数ファイルを同時編集、ファイル間のカットアンドペースト

    一応Linux歴15年ほどのエンジニアです。プラットフォームよりというより、PG、SE寄りの人間なんですが、Linuxのサーバー構築するのもそこそこ好きです。で、本題! Linuxで設定ファイル編集といえば vi もしくは emacs。でも私どっちも嫌いなんです。苦手意識があるというか・・・。viは苦手というより、操作が面倒すぎて嫌いで、emacsは苦手&嫌いです(笑)。 で、設定ファイル編集といえば、なんといっても nano!! ssh経由でターミナル操作している時に設定ファイル間でカットアンドペーストしたいよなぁ と常々思っていたのですが・・、そんな時は迷わず、もうひとつsshセッションを開け、その別のセッションで別の設定ファイルを開き、 Ctrl+Alt+Cでほしい行をコピーして、別ターミナルの目的の設定ファイルに Ctrl+Alt+V してたわけです。 基本はこれで問題ないのですが、なんかどんくさいなぁ・・・と。 が・・・ なんと、nanoって、単体で複数ファイル開けるようです!!!! かつ、複数ファイル間でカットアンドペーストも可能!! では、方法を・・・ サンプルファイル作成 以下のコマンドでサンプル設定ファイル a.txtとb.txtを作成 [bash] $ echo “Hello This is setting File A” >> a.txt $ echo “File A Line2” >> a.txt $ echo “File A Line3” >> a.txt $ echo “Hello This is setting File B” >> b.txt $ echo “File B Line2” >> b.txt $ echo “File B Line3” >> b.txt [/bash] -F オプションでnanoを起動 [bash] $ bash a.txt -F [/bash] さっき作った、a.txtが見えます。 別ファイルオープン Ctrl+Rキーを押してみてください。 画面下部に File to insert into new buffer と表示されます。 ここで、b.txtと入力してみます。 b.txtが表示されましたね。 ファイル間 カットアンドペースト b.txtの3行目を Ctrl+K でカットしてみましょう。 ファイル切り替え Alt + 「」キーでファイルを切り替えることが出来ます。 うわっ 切り替わった(笑) 最終行に移動して、Ctrl+U キー わーーーーっ!!張り付いた・・・・!!! 再び Alt + 「」キーでファイルを切り替えます。b.txtが表示されましたね。 ファイルを閉じたり、保存したりは、単一ファイルを編集している時と同じ操作でOKです。 以上!

    Read more
  • How to install GitLab 6.6.5 on debian/Ubuntu with nginx subdir
    How to install GitLab 6.6.5 on debian/Ubuntu with nginx subdir
    13 Comments on How to install GitLab 6.6.5 on debian/Ubuntu with nginx subdir

    How to install GitLab 6.6.5 on debian/Ubuntu with nginx subdir I introduce you ,how to install GitLab on debian(wheezy) or Ubuntu(12.04 Server or other). Hosting GitLab App in a subdirectory of nginx with using passenger. I examine this on debian wheezy 7.4 and Ubuntu Server 12.04.4, This way might be a possibility on other debian’s distribution. if my introduction is wrong, please post a comment!! The first half of this article is instration of Rails environment ,because of GitLab is made by Ruby on Rails.the latter half is instration of GitLab and hosting GitLab on nginx subdirectory with fusion passenger. Precondition using nginx as a Web server Hosting Rails app with nginx and passenger GitLab app deploy subdir of nginx Hostname of GitLab *** www.myhost.jp Uri of GitLab *** http://www.myhost.jp/gitlab create git user ,sudo privileges to the user [bash] $ sudo useradd git -md /home/git -s /bin/bash $ sudo passwd git $ sudo nano /etc/suders [/bash] grant sudo privileges to git [diff mark=”3″ ] # User privilege specification root ALL=(ALL:ALL) ALL + git ALL=(ALL:ALL) ALL [/diff] Requirements for installing [bash] $ su – git $ sudo apt-get install curl git build-essential libgtk2.0-dev libmysqlclient-dev mysql-server dialog zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev python-docutils sysv-rc-conf [/bash] create .gemrc file create ~/.gemrc file to prevent rdoc and ri installation. [bash] $ nano ~/.gemrc [/bash] [diff] gem: –no-ri –no-rdoc [/diff] install Ruby and Rails minimum requirements for Ruby 1.9. if the distribution has a ruby package version 1.9 or over. [bash] $ sudo apt-get install ruby ruby-dev $ sudo gem install rails [/bash] Ubuntu 12.04 if the distribution has a ruby package version 1.8. [bash] $ sudo apt-get install python-software-properties $ sudo apt-add-repository ppa:brightbox/ruby-ng $ sudo apt-get update $ sudo apt-get install ruby2.1 ruby2.1-dev…

    Read more
  • debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する
    debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する
    No Comments on debian/ubuntu に GitLab 6.6.5をインストールし、nginxのサブフォルダで公開する

    CentOSにGitLabを導入するメモを書いたら妙にアクセス数が多かったので、debian系OSでGitLab6.6.5(バージョンはあまり気にしなくても、同じ手順でOKです。)を公開する方法を書いてみようと思います。CentOSの時はホストするWebサーバーをApacheとしましたが、今回はnginxのサブフォルダで公開する方法をお伝えします。 実際には debian wheezy 7.4でしか動作検証していません。Ubuntu、LMDEでも問題ないと思いますが、もし不都合等発見された場合は、コメント欄にコメントいただけると助かります。 前半は、GitLab自体がRuby On Railsのプロジェクトであるので、Railsの環境構築をすることになります。後半はGitlabのインストール、nginxとの連携となります。長いけど、頑張っていきましょう! 追記 Ubuntu 12.04.4 Serverでの検証終了。デフォルトで用意されているRubyのバージョンが1.8でしたので、問題ありです。PPAのリポジトリを追加し、Ruby2.1を導入することで、無事GitLab環境を構築できました。 (PPA追加のあたりも記載済みです。) 前提条件 Webサーバーにnginxを用います。 Railsとnginxの連携はpassengerで行います。 GitLabはnginxのサブフォルダで公開します。 公開ホスト名を www.myhost.jp とする。 GitLab公開URLを http://www.myhost.jp/gitlab とする。 git ユーザーの作成と sudo権限 これがベストな方法か、少々疑問ですが、作業はすべて新規に作成するgit ユーザーで行ってください。 gitユーザーのパスワードはお任せします。 [bash] $ sudo useradd git -md /home/git -s /bin/bash $ sudo passwd git $ sudo nano /etc/suders [/bash] gitユーザーをsudo可能なユーザーに加えます。 [diff mark=”3″] # User privilege specification root ALL=(ALL:ALL) ALL + git ALL=(ALL:ALL) ALL [/diff] 必要なパッケージ群インストール あまり深く考えずに、以下のパッケージをドカーンとインストールしちゃってください。 [bash] $ su – git $ sudo apt-get install curl git build-essential libgtk2.0-dev libmysqlclient-dev mysql-server dialog zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev python-docutils sysv-rc-conf [/bash] gemrc作成 これはRubyのお作法みたいなものなので気にせずにこの通りやってみてください。 [bash] $ nano ~/.gemrc [/bash] gem インストール時にドキュメントインストールなどを省略します。 [bash] gem: –no-ri –no-rdoc [/bash] Ruby/Rails インストール Rubyのバージョン 1.9 以上が用意されているディストリビューションの場合。 (ここ最近のものであれば OKなはずです。) Ubuntu12.04は Ruby1.8 なので、ここを飛ばして、次の項目に進んでppaからRuby2.1をインストールしましょう。 [bash] $ sudo apt-get install ruby ruby-dev $ sudo gem install rails [/bash] Ubuntu 12.04の場合 [bash] sudo apt-get install python-software-properties sudo apt-add-repository ppa:brightbox/ruby-ng sudo apt-get update sudo apt-get install ruby2.1 ruby2.1-dev sudo gem install rails [/bash] REDIS起動、起動設定 [bash] $ sudo service redis-server restart $ sudo sysv-rc-conf redis-server on [/bash] これで、前半終了です。次からGitLabのインストールに入ります! Gitlab-shellのインストール [bash] $ git config –global user.name “GitLab” $ git config –global user.email “gitlab@localhost” $ git clone https://github.com/gitlabhq/gitlab-shell.git $ cd gitlab-shell/ $ git checkout -b 1.8.5 v1.8.5 $ cp config.yml.example config.yml $ nano config.yml [/bash] 以下のURL指定の部分を調整(gitlabをホストするURLを記述) [diff] – gitlab_url: “http://localhost/” ←コメントアウト + gitlab_url: “http://www.myhost.jp/gitlab/” [/diff] インストール実行 [bash] $ ./bin/install [/bash] gitlabインストール githubからソースをクローンします。(ダウンロードかなり時間食います。合計70mbぐらい) [bash] $ cd /home/git $ git clone https://github.com/gitlabhq/gitlabhq.git gitlab $ cd gitlab $ git checkout -b 6.6.5 v6.6.5 $ cp config/gitlab.yml.example config/gitlab.yml $ nano config/gitlab.yml [/bash] ホスト名設定(gitlabをホストするURLを記述)、相対ルートの設定 [diff] – host: localhost + host: www.myhost.jp https: false # Uncomment and customize the last line to run in a non-root path # WARNING: We recommend creating a FQDN to host GitLab in a root path instead of this. # Note that four settings need to be changed for this to…

    Read more
  • Connecting to iPhone on LMDE 201403 (Linux Mint Debian Edition)
    Connecting to iPhone on LMDE 201403 (Linux Mint Debian Edition)
    No Comments on Connecting to iPhone on LMDE 201403 (Linux Mint Debian Edition)

    I switched my main OS to LMDE 201403,everything is good except connecting to my iPhone. Mint file manager named Caja displays iPhone icon,when I click the icon,error message is shown like this. Message did not receive a reply (timeout by message bus) It’s major problem of debian,but I cannot find the solution for LMDE 201403. According to debian iPhone Wiki,I installs packages and adjust configurations.But I cannnot connect to my iPhone. I tested these (from Debian iPhone Wiki) iPhone – Debian Wiki https://wiki.debian.org/iPhone Install packages [diff] $ sudo aptitude install libimobiledevice-utils gvfs-backends gvfs-bin gvfs-fuse $ sudo nano /etc/fuse.conf #commented out – #user_allow_other + user_allow_other $ sudo usermod -aG fuse $USER [/diff] Logout If you are not so lucky, you connect to your iPhone,But ….. mount script for iPhone download the script from here mount-iphone.sh add execution and exec [bash] $ chmod +x mount-iphone.sh $ ./mount-iphone.sh mount Error mounting location: Message did not receive a reply (timeout by message bus) iphone mount failed [/bash] I spent about two days to solve this problem. I found solution in Linux Mint Forums! Solution is here. http://forums.linuxmint.com/viewtopic.php?f=199&t=161739 Open Package Manager(synaptics),and Select Settings >> Repositories, and add wheezy repository. search ifuse and install ifuse , you can connect your iPhone. My Solution I don’t like the solution ,because repository dependencies will break. So I download packages manually from debian site,and install them. I can connect my iPhone! Download packages from here. https://packages.debian.org/ja/wheezy/ifuse https://packages.debian.org/ja/wheezy/fuse-utils https://packages.debian.org/ja/wheezy/libimobiledevice2 https://packages.debian.org/ja/wheezy/libusbmuxd1 install packages [bash] $ cd ~/Downloads/ $ sudo dpkg -i libusbmuxd1_1.0.7-2_amd64.deb $ sudo dpkg -i libimobiledevice2_1.1.1-4_amd64.deb $ sudo dpkg -i fuse-utils_2.9.0-2+deb7u1_all.deb $ sudo dpkg -i ifuse_1.0.0-1+b1_amd64.deb $ sudo mkdir /mnt/iphone $ sudo chown $USER:$USER /mnt/iphone/ -R $ sudo chmod 777 /mnt/iphone/ [/bash] Now ,mount your iPhone! [bash] $ ifuse /mnt/iphone/ $ ls /mnt/iphone/ AirFair HighlandPark Safari Airlock PhotoData com.apple.itdbprep.postprocess.lock ApplicationArchives…

    Read more
  • LMDE 201403 (Linux Mint Debian Edition)で iPhoneをマウントする方法
    LMDE 201403 (Linux Mint Debian Edition)で iPhoneをマウントする方法
    No Comments on LMDE 201403 (Linux Mint Debian Edition)で iPhoneをマウントする方法

    メイン環境をLMDE201403にすると決め、快適に過ごしていたが、唯一引っかかるところがあった。 iPhoneがマウントできない。 Caja というMintのファイラーで iPhoneのアイコンは見えるんだけど、クリックすると以下のような寂しいエラーが・・・。ネットで検索すると同じような現象でdebian系で困っている人はいるみたいだが、古くからある問題みたいで、LMDE201403に対する解決策は見つからず・・・。 Message did not receive a reply (timeout by message bus) debian iphone wikiに従ってみる debian iphone wiki の解決方法をひと通りやってみるもダメ。やったことは以下 iPhone – Debian Wiki https://wiki.debian.org/iPhone パッケージインストール・調整 [diff] $ sudo aptitude install libimobiledevice-utils gvfs-backends gvfs-bin gvfs-fuse $ sudo nano /etc/fuse.conf コメントアウトを外す – #user_allow_other + user_allow_other $ sudo usermod -aG fuse $USER [/diff] 一旦ログアウト めでたく行けばここでiPhoneと接続できるらしい・・・。もちろんダメだった。 iPhoneマウントスクリプト iPhoneマウントスクリプトを以下からダウンロード。 mount-iphone.sh 実行権限をつけ、マウントしてみる [bash] $ chmod +x mount-iphone.sh $ ./mount-iphone.sh mount gvfs-mount afc://a71e91e83373f62094b5a9c9cc661c4cfbxxxxxxxxx/ 場所をマウントする際にエラー: Message did not receive a reply (timeout by message bus) iphone mount failed [/bash] 困り果てること1日強・・・・ Linux Mint Forumsで 荒っぽい解決方法発見! 解決方法は以下のスレッドにあった。 http://forums.linuxmint.com/viewtopic.php?f=199&t=161739 英語なので、簡単に要約すると、パッケージマネージャ(synaptics)を起動して、リポジトリにwheezyのリポジトリを加え、ifuseをインストールすると無事にコネクト出来たぜ!Yeah!! ってな感じ。 解決手順!! かなり乱暴な解決方法ではあるが、試してみる価値はありと思い、同じ方法をとってみることにする。ただし、パッケージマネージャにwheezyリポジトリを追加すると後々ややこしいことが増えそうなので、debianのサイトでifuseのdebパッケージを探し、依存するdebも含め手動でダウンロード。&& インストールで無事解決!! 以下にアクセスし、自分の環境に合うdebファイルをダウンロード(たぶんamd64かな) https://packages.debian.org/ja/wheezy/ifuse https://packages.debian.org/ja/wheezy/fuse-utils https://packages.debian.org/ja/wheezy/libimobiledevice2 https://packages.debian.org/ja/wheezy/libusbmuxd1 ダウンロードしたパッケージをインストール [bash] $ cd ~/Downloads/ $ sudo dpkg -i libusbmuxd1_1.0.7-2_amd64.deb $ sudo dpkg -i libimobiledevice2_1.1.1-4_amd64.deb $ sudo dpkg -i fuse-utils_2.9.0-2+deb7u1_all.deb $ sudo dpkg -i ifuse_1.0.0-1+b1_amd64.deb $ sudo mkdir /mnt/iphone $ sudo chown $USER:$USER /mnt/iphone/ -R $ sudo chmod 777 /mnt/iphone/ [/bash] いよいよマウント! [bash] $ ifuse /mnt/iphone/ $ ls /mnt/iphone/ AirFair HighlandPark Safari Airlock PhotoData com.apple.itdbprep.postprocess.lock ApplicationArchives PhotoStreamsData com.apple.itunes.lock_sync Books Photos iTunes_Control DCIM Purchases Downloads Recordings [/bash] ぎゃーーっ! 見えた!! アンマウント方法 [bash] $ fusermount -u /mnt/iphone [/bash] めでたしめでたしと・・・ 正攻法な解決方法をお知りの方!コメント欄に投稿していただけると助かります。

    Read more
  • LMDE 201403、wheezy7.4上に Rails(mysql+git)開発環境構築
    LMDE 201403、wheezy7.4上に Rails(mysql+git)開発環境構築
    No Comments on LMDE 201403、wheezy7.4上に Rails(mysql+git)開発環境構築

    Ubuntuをやめて、LMDE 201403/wheezy7.4のどちらかをメイン開発環境にすることに決めたので、RVMでRubyをインストールし、Mysql+Rails+Gitな開発環境構築について記載しておきます。別段 Ubuntuや他のDebian系ディストリと変わったインストールということはないですが、ディストリ、ピンポイントで情報が欲しい方には役に立つかなと・・・ 前準備 あれこれ必要そうなパッケージをインストール。結構ダウンロードされると思いますが、気にせずに・・・ [bash] $ sudo apt-get install curl git build-essential libgtk2.0-dev libmysqlclient-dev mysql-server [/bash] RVMインストール [bash] $ curl -L https://get.rvm.io | bash -s stable #環境変数反映(一旦ログアウトしてもOKです。) $ source ~/.rvm/scripts/rvm #バージョン確認 $ rvm -v こんな感じで表示されればOKです。 rvm 1.25.20 (stable) by Wayne E. Seguin , Michal Papis [https://rvm.io/] [/bash] RVMに必要なパッケージをインストール [bash] $ rvm requirements [/bash] Rubyインストール [bash] # バージョンはお任せします。 $ rvm install 2.0.0 #バージョン確認 $ ruby -v ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux] #RVMのデフォルト確認 $ rvm list rvm rubies =* ruby-2.0.0-p451 [ x86_64 ] # => – current # =* – current && default # * – default [/bash] gemrc作成 [bash] $ nano ~/.gemrc [/bash] gem インストール時にドキュメントインストールなどを省略します。 [diff] install: –no-document update: –no-document [/diff] Railsインストール、ついでにMysql2のgemもインストール [bash] $ gem install rails mysql2 [/bash] Railsプロジェクト作成 [bash] $ cd ~/dev $ rails new testproj -d mysql [/bash]     Rails開発環境、完成です。 以上です。

    Read more
  • Linux Mint debian Edition 201403 (LMDE) を使ってみる
    Linux Mint debian Edition 201403 (LMDE) を使ってみる
    No Comments on Linux Mint debian Edition 201403 (LMDE) を使ってみる

    Ubuntu13.10からの乗り換え先、debian wheezy 7.4に決めたんだが、どうも色気がないので他のディストリも物色。物色過程についてのあれこれはこっちに書いたので、その物色過程のしょっぱなで、あきらめたLMDE201403。落ち着いて調べてみるとなんか普通に使えそうなので、別パーティションに改めてインストール。 2日前に試したときは、依存関係の解決がままならないものが多い気がしたので、あきらめたんですが、意外なんですが、再挑戦してみると、あっさりと使えるようになったので、なんかこっちにしちゃおうかなと、LMDEに目覚めつつあります。 まぁあれこれ私の個人的見解を書いていてもつまんないと思うので、現実的な設定過程をメモとして保存。 インストール ISOをMintのサイトから落としてもいいですが、遅いので、torrentファイルを落として、transmissionでダウンロードするのがおすすめ。Cinnamon版とMate版がありますが、個人的にはMate版がオススメ。PCのスペック十分あるし、かっこ良く、動きの豊富なデスクトップ環境をお好みの場合は、Cinnamon版も良いかもしれません。 インストールは、ごく普通に行えばOKです。なんかコピー過程で知らぬ間にインストーラーが行方不明になる現象に遭遇しましたが、再インストールで無事終了。 http://linuxmint-jp.net/ ここのリンクがすでにtorrentでしたね。 ダウンロードサイト(apt)の調整 デフォは海外サイトなので調整します。 [bash] $ sudo nano /etc/apt/sources.list.d/official-package-repositories.list [/bash] 上の4行を追加して、下の4行をコメントアウトすればOKかと。 [diff] + deb http://ftp.jaist.ac.jp/pub/Linux/linuxmint/packages/ debian main upstream import + deb http://ftp.jaist.ac.jp/pub/Linux/linuxmint/debian/latest/ testing main contrib non-free + deb http://ftp.jaist.ac.jp/pub/Linux/linuxmint/debian/latest/security testing/updates main contrib non-free + deb http://ftp.jaist.ac.jp/pub/Linux/linuxmint/debian/latest/multimedia testing main non-free – # deb http://packages.linuxmint.com/ debian main upstream import – # deb http://debian.linuxmint.com/latest/ testing main contrib non-free – # deb http://debian.linuxmint.com/latest/security testing/updates main contrib non-free – # deb http://debian.linuxmint.com/latest/multimedia testing main non-free [/diff] アップデート [bash] $ sudo apt-get update $ sudo apt-get dist-upgrade [/bash] 日本語化 Fcitxで日本語入力環境を整えます。これでMozcで日本語入力ができます。 [bash] $ sudo apt-get install fcitx fcitx-mozc fcitx-frontend-gtk2 fcitx-frontend-gtk3 fcitx-ui-classic fcitx-config-gtk mozc-utils-gui im-config $ im-config -n fcitx [/bash] 一旦ログアウト。 Ctrl+Spaceで日本語入力できるようになってるはずです。 ホームフォルダ英語化 ダウンロード とか ドキュメントとか日本語フォルダ名が使いづらいので、英語化。 [bash] $ LANG=C xdg-user-dirs-gtk-update [/bash] chromium /sublime-text インストール このへんは好みなので任せます。 [bash] $ sudo apt-get install sublime-text chromium chromium-l10n [/bash] sublime text 日本語入力対応 こちらも好みなので任せます。 詳しく知りたい方は、こちらへどうぞ。 感想 なかなか軽快に動く。無駄にメモリも食わないし。当分これで行ってみるかな。 追記:Dropbox / Copy.com DropboxとCopy.comのクライアントもあっさり動いちゃいました。 Dropbox インストール後、メニュー >> アプリケーション>>インターネット>>Dropboxを起動 [bash] $ sudo apt-get install caja-dropbox [/bash] Copy Copy.comからLinux用のtar.gzをダウンロード。解凍、移動、実行 https://www.copy.com/home/ Downloadリンクをクリック。 [bash] cd ~/Downloads/ $ tar xvzf copy_agent-1.42.0277.tgz $ sudo mv copy /usr/local/bin -R $ /usr/local/bin/copy/x86_64/CopyAgent [/bash] 追記2:Skypeインストール Skypeも i386のアーキテクチャを追加すれば、インストールできます。 Skype – Debian Wiki に書いてあることそのまんまですが・・ https://wiki.debian.org/skype#amd64 インストール [bash] $ sudo dpkg –add-architecture i386 $ sudo apt-get update $ wget -O skype-install.deb http://www.skype.com/go/getskype-linux-deb $ sudo dpkg -i skype-install.deb $ sudo apt-get -f install [/bash] 環境変数の追加 これ、いるかどうか不明ですが、この設定をつけるとノイズが減るとか減らないとかいう情報がありましたので、とりあえず、やっておけばOKかと。 [bash] $ nano ~/.bash_profile [/bash] 以下の2行を追加 [diff] + PULSE_LATENCY_MSEC=30 + export PULSE_LATENCY_MSEC [/diff] 一旦ログアウト とりあえず、一旦ログアウトしてください。 起動、ログイン スタートボタン(呼び方が正しいかわかってないが・・)から、アプリケーション>>インターネットと 進むと Skypeが表示されますので、クリックで起動します。 あとは、いつも通りです。 追記3:情報募集! わざわざ、こんな記事を最後まで閲覧してくださってありがとうございます。 こんな記事なんですが、投稿してわずか2週間ほどで600PVを超えています。LMDEって、どちらかというとマイナーなイメージが個人的にはあったんですが、興味を持っていらっしゃる方が、大勢いるみたいです。 この記事読んだけどうまく行かないよ!とか、もっといい方法あるよ!とか、何でも構いませんので、コメント欄にでも投稿していただくと、LMDEユーザーの情報共有になるかもしれません・・・ メルアドは必須ではありませんので、お気軽に投稿ください。 追記4:情報募集!(2014/04/13) な、なんと、こんな記事ですが、1月で1500名の方が閲覧してくださっています。ありがとうございます。記事を書いておいて、若干無責任な発言かもしれませんが、私はLinux歴が長いので、困ることは少ないです。でも、このページを閲覧してくださっている方はLinux初めてだとかいう方もそこそこの確率でいらっしゃると思います。 是非、情報共有のために、ここがうまく行かない!とか こうしたらうまくいったとか、なんでもいいので、コメントいただけるとありがたいです。

    Read more
  • debian系一押しディストリを探してみた〜2014/03
    debian系一押しディストリを探してみた〜2014/03
    No Comments on debian系一押しディストリを探してみた〜2014/03

    開発用途としてそれなりにコンスタントに使うOSを何にしようか、このところずっと思案していた。Ubuntu10.10の頃からUbuntuいいっ!とUbuntu派だったんですが、Ubuntu14.04のBeta1やDaily Buildで次のLTSである14.04を試したところ、妙にメモリを食うんですよね。どれぐらい食うかというと、Ubuntu単体で2GBぐらい食っちゃう。別に変なもの動かしているわけではなく、ちょっとメモリ食うかなぁというデーモンは、mysqlにnginxぐらいなもんなんですが・・・。開発をLinuxで行なっているので、たまに動作検証にWindowsが欲しくなることがあって、KVMにインストールしたWindows7を検証のために起動したりすることがあります。 で、Ubuntu13.10までは、 ベースOS(Ubuntu)とKVM上のOS(Win7 RAM1GB割り当て)で、あわせても2GBぐらいしかメモリを食うことがなかったんですが、Ubuntu14.04を試したら、同じ事をしても4GB近くメモリを食ってしまう。ひどい場合はどんどんメモリを食いつぶして6GBとか行ってしまうことも・・・ Gnome3が原因だろうと推測し、Xubuntu14.04も試してみたんですが、あまり症状は変わらず。結局メモリを食いつぶす原因はわかんないんですよね。 Ubuntu13.10のサポート期間は今年の7月までなので、当然のごとく第一候補にUbuntu14.04をと思っていたのですが、どうも好ましくない結果なので、あれこれさまよっています。はい。 debian wheezy 7.4 xfce がかなり良いとわかって、基本はこれかなと決めたには決めたんですが・・・。よく使うPCのうち2台は wheezy 7.4環境を構築。残りの1台にも wheezy7.4だと、あまりにも芸がないので、ちょっと色気のあるディストリを探そうかと・・・。でも開発メインで使うので、あれこれ入れ替えるのも面倒なのでLTSっぽいものを探す。で、ベタな候補としてMintを試してみるかなと。 Mintのサイトに行くと、なんとMint LMDE(DebianベースのMint)がつい最近リリースされてる!迷わず、DL&インストール。apt-get であれこれ環境を整えるも、どうもうまく動かない。なんか依存関係をきっちり解決できていないケースがそこそこの確率で発生してそうだ・・・。debian testingベースだとこういうことが起こるのか??? さすがに細々チェックして、依存関係を修復するのは面倒だなぁと、あきらめちゃいました。(追記:LMDEあきらめきれずに、再度挑戦中。この記事の末尾にそのあたりを追記していきます。) で、次に向かった先は、Ubuntu12.04と互換性のあるLTS版、Mint13。入れてみたのはいいんですが、Ubuntuのようにポイントリリースがないせいで、インストール後のアップデート、最低限の日本語環境構築にやけに時間がかかってしまいました。で、結論としては、使えるんだけれど、なんか面白みがないなと(笑)。 面倒だ面倒だと言いながらOSのインストールはかなり好きなので、せっかく作った環境をあっさりぶち消すことに。 ここで次の候補が、Ubuntu14.04(笑)。Beta1はダメだったが、ここ数日のDaily Buildならもしかして良くなっているかも・・・と甘い期待をいだきインストール。 Beta1の時はGnome3がデフォルトのシェルだったが、DailyBuildは、Unityだった。一見、軽いかなと思ったが、KVMをインストールし、Win7を起動すると、やはりメモリ食い虫現象は変わらず。この環境もあっさりぶっ壊すことに。 で、何を血迷ったか、Ubuntu13.10とサポート期間が同じである Mint 16 Pertaはどうだ?と・・・。 結果は、それほど多くメモリは食わないが、ここ最近のメインエディタ sublime textで日本語入力ができない。(Ubuntu/debianでは、Fcitxを使うと少し使いにくいが日本語入力できる) そんな些細な理由でと思われるかもしれないが、これ個人的にはかなり大きなポイントなので外せない。なので、あっさり断念。 発表するのも恥ずかしいが、まわりまわってたどり着いた結果が、wheezy 7.4 xfce!! 結局、他のマシンと同じが現時点のベストであると、かなりつまらない結論に至ったわけでした。 もっと他にいいディストリあるよ!という方、是非お教えください。 追記: LMDEあきらめきれずに、調査続行中。 リポジトリーを日本のサイトにして、アップデートかけて、fcitxで日本語入力環境まではあっさり完成。 現在、KVMのエラーと格闘中・・・ KVMのエラー再起動したら治っちゃいました。 なんか LMDEいいな!ってな感じなので、導入メモ Linux Mint debian Edition 201403 (LMDE) を使ってみるをアップしました。 よろしければどうぞ。 追記2: LMDE 201403、現時点での、一押しディストリとなりました!!!

    Read more
  • チャットシステム(多様なカスタマイズに対応)
    チャットシステム(多様なカスタマイズに対応)
    No Comments on チャットシステム(多様なカスタマイズに対応)

    はじめに 業務系アプリケーションに組み込み可能な、カスタマイズ可能なチャットシステムです。一定のメンバーのみがパスワードで保護された状態で会話(チャット)をすることも、メンバーを問わず自由に書き込めるチャット板を作成することも可能です。 チャットのエンジン部分から、スクラッチで作成しているため、様々なカスタマイズのニーズにお応えすることができます。この例では、画面いっぱいにチャット画面が表示されていますが、業務システムの特定のフレームにチャット機能を組み込むことも、もちろん可能です。 とにかく触ってみたいという方は こちら 3名以上でチャットをしている例 チャット板選択画面 どのチャット板にログインするかを選択し、名前を入れてログイン。 パスワードが必要な場合は、パスワード入力エリアが表示されます。 基本的なチャット機能 フルスクリーンで鑑賞ください。まず、基本的なチャット機能について確認します。 (IEでは正しく動画が再生されないようですので、申し訳ございませんが、Firefox、Google Chromeでご確認ください) マルチチャットボード対応 サイトを訪れたユーザーはまず、どの話題(チャットボード)にログイン(入室)するかを選択します。ログイン後は、直近の数十データが表示されます。 カスタマイズ例(証券コード対応) 証券コードにコロンをつけて入力をすると、銘柄情報、銘柄へのリンクが表示されます。 カラーリング対応 ログインユーザー毎に異なる色で表示されているので、どのユーザーの発言かの区別が容易にできます。(現在は5色としていますが、色を変更したり、増やすことは可能です。) その他 アイコン、絵文字、禁止ワード等については、今のところ実装していません。 チャットボード登録(管理機能) 管理機能である、チャットボード登録機能をご確認ください。 ソート、フィルタリングを備えたチャットボード登録機能 見やすいグリッド表示、フィルタリング、ソート機能を備えたチャットボード登録機能。データはサーバーのMysqlデータベースへ保存されます。 同時100ユーザーの仮想接続 仮想的に同時100ユーザーの環境をエミュレートしてみます。100人のユーザーがランダムな間隔で投稿発信します。 過負荷状態における表示確認 過負荷状態において、正しくチャットの投稿が表示されていることをご確認ください。 過負荷状態におけるチャット機能の挙動確認 過負荷状態において、投稿を行ってみます。正しくチャットの投稿が表示されていることをご確認ください。 掲示板毎に異なる情報が表示されているか 掲示板毎に異なるユーザーがログインしており、異なる投稿が表示されていることをご確認ください。 その他 負荷テストは、負荷テスト用プログラムを使って容易に実施できます。実行するユーザー数を変えて確認してみることももちろん可能です。 対応ブラウザーについて IE10以上、Google Chrome、 Firefox、Safariであれば問題なく実行できます。 最近のブラウザーであれば、どのブラウザーを使っても問題なく実行できます。 IE9以前のブラウザーは Flashプラグインがインストールされていれば動作します。 IEに関しては、最近までは他のブラウザーより機能が劣っていたので、IE9以前の環境で利用する場合は、Flashプラグインを必要とします。(おそらくたいていの環境にインストールされているはずです) またIE6、IE7などは CSSが正しく機能しないため、チャット機能は動作するがレイアウトが若干崩れるという現象が発生すると思われます。 iPhone標準ブラウザーで動作 iPhoneであれば、標準ブラウザーで実行できます。ただし、PC版のページでは閲覧・投稿は可能ですが、モバイル対応しているとは言えない状態です。iPhone用にページを用意し、モバイル用CSSのレイアウトを作成する必要があります。 AndroidはOSのバージョンに依存 Androidは標準で搭載されているブラウザーで動く場合、動かない場合があるかと思います。(Android OSのバージョンに依存) AndroidにFirefoxなどをインストールしている場合は、閲覧・投稿できます。ただし、こちらもiPhoneと同じでモバイル用の対応が必要になります。 技術的なバックグラウンドについて 最新のテクノロジーであるWebSocketを利用してリアルタイムチャットを実現 WebSocketに対応していない古いブラウザー(IE9以前)においてもFlashフォールバックで利用可能 インメモリデータベースによる高速な動作 ノンブロッキングIOによるハイパフォーマンスシステム 実際に触ってみる!   チャットシステム公開URL http://lovelinux.mydns.jp/fncchat/boardmasts/select リストからチャットボードを選択し、任意のユーザー名を入力してログインしてください。 チャットボード一覧が表示されない場合は、ブラウザーのリフレッシュボタンをクリックしてみてください。

    Read more
  • nginx passenger 連携(CentOS編)
    nginx passenger 連携(CentOS編)
    No Comments on nginx passenger 連携(CentOS編)

    nginxとpassengerを連携させ、Railsアプリをnginxのサブフォルダで公開する手順を紹介します。 前提条件 以下、nginxインストールフォルダを/opt/nginx、/home/hiro/workspace/yourproj にRailsプロジェクトが存在すると仮定して説明します。 下準備 ユーザーnginxを追加し、ログインユーザーをnginxグループに追加。 [bash] $ sudo useradd -s /bin/false -M nginx $ sudo usermod -aG nginx $USER [/bash] グループを反映させるために一旦ログアウトしてください。 /opt/nginx フォルダを作成、権限調整 [bash] $ sudo mkdir /opt/nginx $ sudo chown nginx:nginx /opt/nginx -R $ sudo chmod 775 /opt/nginx [/bash] passengerのgemインストール [bash] $ cd /home/hiro/workspace/yourproj $ gem install passenger [/bash] passenger 連携のために、nginx再コンパイル [bash] $ passenger-install-nginx-module [/bash] コンパイル前にチェックが走り、何らかのモジュールが無いよ的なエラーが表示された場合は、ご自身でお調べください。 yumでパッケージを追加し、エラーが消えるまで以下を繰り返してみる。 [bash] $ passenger-install-nginx-module [/bash] 無事チェックを通過すれば、コンパイルするかと聞いてくるので、1を選んでコンパイルする めでたくコンパイルが始まる。(そこそこ待ちます。) インストールが完了するとnginxの設定ファイルに passengerの場所が書きこまれます。 [bash] Please specify a prefix directory [/opt/nginx]: The Nginx configuration file (/opt/nginx/conf/nginx.conf) must contain the correct configuration options in order for Phusion Passenger to function correctly. This installer has already modified the configuration file for you! The following configuration snippet was inserted: http { … passenger_root /home/hiro/.rvm/gems/ruby-2.0.0-p451/gems/passenger-4.0.25; passenger_ruby /home/hiro/.rvm/wrappers/ruby-2.0.0-p451/ruby; … } [/bash] nginxの設定確認と、起動。 -t オプションで設定ファイルをチェックし、OKならば、一旦起動してみて、ブラウザーで http://localhost として、nginxのトップページが開ければOK。 [bash] $ sudo /opt/nginx/sbin/nginx -t nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok nginx: configuration file /opt/nginx/conf/nginx.conf test is successful $ sudo /opt/nginx/sbin/nginx [/bash] [bash] ps aux |grep nginx [/bash] として、nginx: master process となるプロセスIDを殺すと止めることができます。 [bash] $ sudo kill pid [/bash] nginx passenger連携設定 passengerの場所は、インストール時に自動的に組み込まれているので、その他の項目の調整。 http://localhost/yourproj で公開する。 [bash] $ nano /opt/nginx/conf/nginx.conf [/bash] 以下の部分を追記 [diff] + user nginx; + location ~ ^/yourproj { + root /home/hiro/workspace/yourproj/public; + passenger_base_uri /yourproj; + passenger_app_root /home/hiro/workspace/yourproj; + passenger_enabled on; + rails_env production; + } [/diff] 起動スクリプト作成 いちいち、/opt/nginx/sbin/nginx としたり、pidを探してKillするのは面倒なので、起動スクリプトを作成。この起動スクリプトは よそのサイトから拝借したものを、調整したものです。ごめんなさい、閲覧したサイト忘れちゃいました・・・。 調整箇所は nginxのパスとnginx設定ファイルのパス、ロックファイルのパス。すべてフルパスで指定しておきました。 ここからダウンロードできます。 nginx起動スクリプト [diff mark=”18,21,23″] #!/bin/sh # # nginx – this script starts and stops the nginx daemon # # chkconfig: – 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ “$NETWORKING” = “no” ] && exit 0 nginx=”/opt/nginx/sbin/nginx” prog=$(basename $nginx) NGINX_CONF_FILE=”/opt/nginx/conf/nginx.conf” lockfile=/opt/nginx/logs/nginx.lock start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $”Starting $prog: ”…

    Read more

Back to Top