Kamuycikap - SentenceDataBase

日々の勉強の記録を気分で書き綴るブログ

今さら正規表現(否定編)

正規表現で(~を含まない行)を見つけたい

CSVデータ等、複数行のテキストデータに対して、フィルタをかけたい事が多々あります。
エディタを利用して、文字列の並び条件にマッチしている行だけを残したい場合、その条件にマッチしない行を削除すれば良い事になります。

■ 〜を含まない行

「abc」という文字列を含まない行にマッチする。

^(?!.*abc).*$

■ 〜を含まない行(複数指定)

「abc」または「efg」という文字列を含まない行にマッチする。

^(?!.*(abc|efg)).*$

※abc|def|ghi|jkl など、つなげれば複数条件も可能

■ 〜を含むが、〜を含まない行

「abc」を含み、「def」を含まない行にマッチする。

^(?=.*abc)(?!.*def).*$

■ 〜で終わらない行

「abc」という文字列で終わらない行にマッチする。

^(?!.*abc$).*$

■ 〜で始まらない行

「abc」という文字列から始まらない行にマッチする。

^(?!abc).*$


優良アダルトサイト紹介の最終形態!!MaxInfo

LinuxMint18でEpson EP-806Aシリーズを使う

Linux Mint18で、EpsonのEP-806Aシリーズが使えるようにしてみる。
スキャナ機能などが搭載されているが、まずは印刷が出来ることを目標に。

プリンタードライバのダウンロードとインストール

ダウンロード

プリンタドライバーのダウンロードは、日本語のダウンロードサイトからはできない。

EPSON Download Center

上記のURLで、プリンターの型式とOSを選択する。
上側の空欄にプリンターの型式を入力し、下側の選択ボタンでLinuxを選択する。
プリンターの型式入力欄の右側に、虫眼鏡のアイコンがあり、それをクリックすると選択したOSのドライバーダウンロードページに遷移する。

f:id:kamuycikap:20180206073734p:plain

虫眼鏡のアイコンクリック後f:id:kamuycikap:20180206074213p:plain

f:id:kamuycikap:20180206074015p:plain

注意するポイントは、自分がダウンロードしたいドライバを正しく選択すると言うこと。
32bitなのか64bitなのか。
今回はLinuxMint18なのでdebパッケージを選択。

インストール

インストールは、debパッケージをそのまま標準のツールでインストールするだけ。
ダウンロードしたファイルを、ダブルクリックすればOK

このドライバーはLSB3.2以上が必要なので、lsbをインストールしていない場合は、最初にインストールしなければならない。

$ suto apt-get install lsb

プリンターの設定

EP-806Aシリーズの前面パネルを利用し、プリンターを予めネットワークに参加させておかなければならない。
※USB接続でも問題ないかも知れないが、こんかいはネットワークプリンターとしてセットアップさせる

ネットワークプリンタとしての設定については、EP-806Aシリーズのマニュアルを参照してください・・・。

プリンターの追加

メニューから「システム」→「プリンター」

f:id:kamuycikap:20180206075811p:plain

f:id:kamuycikap:20180206080122p:plain

f:id:kamuycikap:20180206080512p:plain

表示されるEP-806Aシリーズを選択し、DNS-SD経由を選択したら、進むボタンをクリック

無事に印刷できるようになる。

WindowsにClozure CLを導入済みQuickLisp付きでインストールしてみた

WindowsにClozure CLをインストールする先人たちの知恵は、所かしこに存在するのですが、すでに導入しているQuickLispのライブラリも持ち歩きたいと考えた場合はなかなかみつからない。
そこで試行錯誤してみました。
結論、試行錯誤と言うレベルではなく、結構簡単に実現。
この結果が正しいかどうかは分かりませんが、作業結果としてブログに残します。

仕様概要

  1. 簡単に持ち歩きたい(環境まるごと)
  2. ネットワークに接続されている状態でならQuickLispによるライブラリの導入ができる
  3. ネットオフラインになっても導入したQuickLispライブラリを使いたい
  4. Clozure CLを採用したい
  5. SLIMEな環境で開発したい
  6. 可能な限りWindowsのバージョンに左右されないようにしたい

環境構築

Clozure CLのダウンロード

Clozure CLのダウンロードと導入については、他のサイトに任せます。
単純に本家のサイトに行き、Clozure CLのWindows用ZIPファイルをダウンロードし、それを任意のフォルダに展開するだけ。
便宜上、C:\work\cclとする

Clozure CLはインストーラなどは必要ない。
https://ccl.clozure.com/download.html

Clozure CLの展開フォルダをホームディレクトリに

ここの部分がキモになる。
Linuxな環境ならば、homeディレクトリという考え方があり、各ユーザーの設定を個別に管理できるが、Windowsの場合はバージョンによって様々。
Windowsでも好きに触れるならオレオレにすれば良いじゃないかと思ったのですが、利用しているアプリケーションによっては、勝手にホームディレクトリを変更すると動作がおかしくなる。
それは嫌だ。

なので、BATファイルを作り、限定的に環境変数を操作する事で回避する。
コマンドプロンプトを開き、そのコマンドプロンプト内だけホームディレクトリを、Clozure CLを展開したC:\work\cclにする。
そうすれば、他には影響が無いはず。

絶対に必要な設定はこちら

SET CCL_DEFAULT_DIRECTORY=%~dp0
SET PATH=%PATH%;%~dp0
SET USERPROFILE=%~dp0
SET HOME=%~dp0

環境変数のUSERPROFILEを再設定する事で、Linuxでいう所のhomeディレクトリを決めている。
SETXではなくSETを使っているのは、バッチを実行したプロンプトだけに設定を反映したかったから。
つまり、バッチを実行したプロンプト内は、全く別の環境として機能する。
以降の作業は、全てこのバッチを走らせたプロンプト内で実施しなければならない!

以下、バッチファイル全文。(意味を理解しなきゃ、コピペするだけじゃ動かないよ!)
Emacsxyzzyを使いたいし、graphvizも呼び出したいので、フォルダ作ってそこに配置し、PATHを通した。

@echo off
REM ClozureCL Start for Windows

echo =================================================
echo Common Lisp Environment Setup by Project Kinpira.
echo =================================================
echo .

echo EnvironmentValue Setup! -^> Start
REM カレントディレクトリをClozureCLのデフォルトディレクトリとして設定
REM ClozureCLの実行ファイルパスもPATHに追加する
REM 表示するプロンプトだけ有効にするため、SETXではなくSETで設定している
SET CCL_DEFAULT_DIRECTORY=%~dp0
SET PATH=%PATH%;%~dp0
echo CCL_DEFAULT_DIRECTORY -^> %CCL_DEFAULT_DIRECTORY%

REM このBATを実行した時だけ、userprofileをカレントディレクトリにする(他には何も影響しない)
SET userprofile=%~dp0
SET HOME=%~dp0
echo USERPROFILE -^> %USERPROFILE%
echo HOME        -^> %HOME%
echo EnvironmentValue Setup! -^> End
echo .

echo ApplicationPath Setup! -^> Start
REM サードパーティアプリの実行パスもPATHに含める(共通部)
SET PATH=%PATH%;%~dp0\third_party_tools\graphviz-2.38\release\bin
SET PATH=%PATH%;%~dp0\third_party_tools\xyzzy
SET PATH=%PATH%;%~dp0\third_party_tools\emacs\bin
echo Graphviz2.38 -^> OK
echo XYZZY        -^> OK
echo Emacs24      -^> OK


REM サードパーティアプリの実行パスもPATHに含める(Windowsバージョン別)
ver | find /i "Version 5.1." > nul
if %ERRORLEVEL% equ 0 GOTO :WINXP
ver | find /i "Version 6.1." > nul
if %ERRORLEVEL% equ 0 GOTO :WIN7
ver | find /i "Version 6.3." > nul
if %ERRORLEVEL% equ 0 GOTO :WIN8.1
ver | find /i "Version 10.0." > nul
if %ERRORLEVEL% equ 0 GOTO :WIN10
goto :END

:WINXP
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_WinXP\bin
goto END

:WIN7
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_Win7\bin
goto END
 
:WIN8.1
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_Win7\bin
goto END
 
:WIN10
SET PATH=%PATH%;%~dp0\third_party_tools\Tcl_Win7\bin
goto END

echo Tcl/TK       -^> OK
echo ApplicationPath Setup! -^> End
echo .
:END

echo QuickLisp Library List -^> Start!
dir %~dp0\quicklisp\dists\quicklisp\software
echo QuickLisp Library List -^> End
echo .

echo ===== Usage =====
echo Emacs起動 -^> runemacs
echo XYZZY起動 -^> xyzzy
echo 

REM ClozureCL起動
REM wx86cl.exe

QuickLispの導入

基本はこちらのサイトに掲載されている方法で導入。
http://modern-cl.blogspot.jp/2011/03/

QuickLispのダウンロードと設置

QuickLispの本家から「Quicklisp.lisp」をダウンロードし、Clozure CLを解凍したフォルダに配置。
C:\work\CCL
へ保存。

https://beta.quicklisp.org/quicklisp.lisp

Clozure CLの起動

先に作ったバッチを実行し、実行した後のプロンプトでClozure CLを起動。
なぜなら、次に行うQuickLispの導入とライブラリの導入先を、Clozure CLを展開したフォルダにしたいから。

QucikLispでライブラリ導入

こちらのサイトに紹介されている方法でQuickLispを導入。
http://modern-cl.blogspot.jp/2011/03/quicklisp.html

(load "quicklisp.lisp")
(quicklisp-quickstart:install)
(ql:add-to-init-file)

ここまでで、うまく行っていれば、Clozure CLの解凍フォルダにQuicklispの設定ファイルが出来ているはず。
これ → ccl-init.lisp


http://modern-cl.blogspot.jp/2011/04/4-common-lisp.html
こちらのサイトに掲載されている方法で、ライブラリを導入

Clozure CLの解凍フォルダに「quicklisp」フォルダが作成され、その中にどんどんとライブラリが蓄積されていくはず。

(ql:quickload :cl-ppcre)          ; 正規表現
(ql:quickload :local-time)        ; 時間計算
(ql:quickload :trivial-shell)     ; シェルコマンド実行
(ql:quickload :cl-fad)            ; ディレクトリ・ファイル操作
(ql:quickload :Drakma)            ; HTTPリクエスト
(ql:quickload :ltk)                     ; Tkライブラリ(GUI作成用)

こんだけあったら、現状の日常業務はなんとかなりそう。

ソースコードの実行

これもバッチファイルで実行。
ファイル名は、ccl.batとでもしておく

@echo off

wx86cl.exe --load %1 --eval (quit)

これで、

> ccl hoge.lisp

としてプログラムを実行できる。

開発環境の構築

ホームディレクトリが設定されているので、自分の.emacs.dをClozure CLの展開フォルダに配置するだけ。
NTEmacsを導入していたので、cドライブ直下にあるemacsディレクトリを、.emacs.dと同様にClozure CLの展開フォルダに配置する。

最終的に、フォルダ構成はこうなっている。
履歴として晒してみる。。。

 C:\work\ccl のディレクトリ

2017/11/25  19:17    <DIR>          .
2017/11/25  19:17    <DIR>          ..
2017/11/25  14:33    <DIR>          .emacs.d     <- Emacs用の設定
2015/11/06  20:10    <DIR>          .svn
2017/11/25  16:19                44 .xyzzy         <- xyzzy用の設定
2017/11/25  12:28               221 ccl-init.lisp
2017/11/25  15:45                51 ccl.bat     <- コンパイル用バッチ
2017/11/25  18:18             2,170 cl-setup.bat     <- 環境変数変更用バッチ
2015/11/06  20:09    <DIR>          compiler
2015/11/06  20:09    <DIR>          contrib
2015/11/06  20:09    <DIR>          doc
2015/11/06  20:09    <DIR>          examples
2015/11/06  20:09    <DIR>          level-0
2015/11/06  20:09    <DIR>          level-1
2015/11/06  20:09    <DIR>          lib
2015/11/06  20:09    <DIR>          library
2015/11/06  20:09    <DIR>          lisp-kernel
2015/11/06  20:09    <DIR>          objc-bridge
2017/11/25  12:18    <DIR>          quicklisp
2017/11/25  11:16            57,144 quicklisp.lisp     <- quicklisp.lispはココに置いた
2015/11/06  20:09    <DIR>          scripts
2015/11/06  20:09    <DIR>          src           <- ソースコード置くとこ作ってみた
2017/11/25  14:33    <DIR>          third_party_tools    <- この中に使いたいアプリを放り込む。(Emacsとxyzzy、TclとGraphvizが入っている)
2015/11/06  20:09    <DIR>          tools
2015/11/06  20:09    <DIR>          win32-headers
2015/11/06  20:09    <DIR>          win64-headers
2015/11/06  19:32           868,278 wx86cl.exe     <- 32bit用のClozure CL本体
2015/11/06  19:36        18,182,160 wx86cl.image
2015/11/06  19:36         1,078,774 wx86cl64.exe     <- 64bit用のClozure CL本体
2015/11/06  19:41        24,334,576 wx86cl64.image
2015/11/06  20:09    <DIR>          xdump
              10 個のファイル          44,524,635 バイト
              21 個のディレクトリ  267,617,517,568 バイトの空き領域

開発!!

  1. コマンドプロンプト起動(Win + R)
  2. cdコマンドでカレントディレクトリをC:\work\cclに移動
  3. cl-setup.batを実行
  4. Emacsやらxyzzyやらでソースコード作成!
  5. ccl.batでソースコード実行


優良アダルトサイト紹介の最終形態!!MaxInfo

LinuxMint18でマインドマップ(XMind)

マインドマップアプリケーションのセットアップ

LinuxMintのバージョンアップを行い、今まで使っていたアプリケーションもリニューアル。
マインドマップを「XMind8」にしました。
セットアップ手順をメモです。

<目次>

  1. セットアップ環境
  2. ダウンロードと解凍
  3. セットアップコマンドを実行
  4. 起動

セットアップ環境

マシン:ThinkPadX200s
OS  :LinuxMint18
メモリ:4GB

ダウンロードと解凍

XMind8のLinux版をダウンロード
ダウンロード(Linux 版) | XMind
※ライセンスに同意しないとダウンロードできません

任意のフォルダにダウンロードします。
その後、ダウンロードしたファイルを解凍。
/home/user/Download/XMind8
にダウンロードしたと仮定します。

zsh% cd /home/user/Download/XMind8
zsh% unzip ./xmind-jp-8-update1-linux.zip  

セットアップコマンドを実行

解凍後、フォルダを/usr/share直下に移動。
LinuxMint18のディレクトリ構成では、ユーザーがインストールするアプリケーションは、/usr/shareに入れることになっている様子。

zsh% mv /home/user/Download/XMind8 /usr/share
zsh% cd /usr/share/XMind8
zsh% sudo ./setup.sh

[sudo] user のパスワード: 
[setup] Installing dependencies....
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
default-jre はすでに最新バージョン (2:1.8-56ubuntu2) です。
libgtk2.0-0 はすでに最新バージョン (2.24.30-1ubuntu1) です。
lame はすでに最新バージョン (3.99.5+repack1-9build1) です。
libc6 はすでに最新バージョン (2.23-0ubuntu5) です。
libglib2.0-0 はすでに最新バージョン (2.48.2-0ubuntu1) です。
libwebkitgtk-1.0-0 はすでに最新バージョン (2.4.11-0ubuntu0.1) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 24 個。
[setup] Installing custom fonts....
sending incremental file list

sent 684 bytes  received 12 bytes  1,392.00 bytes/sec
total size is 3,654,132  speedup is 5,250.19
[setup] Done.

ここまで表示されれば成功です。

起動

zsh% cd /usr/share/XMind8/XMind_i386
zsh% XMind

以上で、無事に起動。
動作も軽快で申し分なしです。


優良アダルトサイト紹介の最終形態!!MaxInfo

Redmine3.1.0をRaspberryPi2にインストールする

Redmine3.1.0をRaspberryPi2にインストールしてみた(*´∀`)ノ

以前、RaspberrypPiにredmineをセットアップしたのですが、apt-getからセットアップするとバージョンが1.4.4になってしまいます。
現時点での最新バージョンは3.1.0です。
新しいものが必ずしも良いとも思いませんが、まぁ気になりまして(´д`ι)、趣味で使っている状況ですので、試しに3.1.0をインストールする方法を探ってみました。
結果、思ったよりもストレスなく動作しましたので、ここにセットアップ手順を残そうと思います。

環境

項目 バージョン 備考
OS raspbian-wheezy  
DB MySQL5.5.41 apt-getでインストール
Ruby 1.9.3p194 初期状態でインストールされている
ImageMagick ImageMagick apt-getでインストール
bundler bundler gemでインストール
Apache Apache2.2 apt-getでインストール
passenger passenger gemでインストール

目次

  1. Redmineのダウンロード
  2. セットアップに必要なライブラリをインストール
  3. ImageMagickをインストール
  4. Rubyのバージョン確認
  5. MySQLをインストール
    1. MySQLのrootパスワード設定
    2. RubyからMySQLを操作するためのライブラリをインストール
  6. その他Ruby用のライブラリをインストール
    1. bundlerをインストール
    2. bundlerによるRuby用ライブラリインストール
  7. データベース接続設定ファイルの作成
  8. データベースのセットアップ(MySQL)
    1. データベース作成
    2. 初期データをデータベースに反映
  9. Webサーバーのセットアップ
    1. Apache2のインストール
    2. モジュールのセットアップ
    3. Apache2の設定にRedmine用の物を追加
    4. VirtualHost設定にRedmine用の記述を追加
    5. ドキュメントルートにredmineディレクトリのシンボリックリンクを作成
  10. Redmine動作のためパーミッションを変更
  11. Apache2を起動する
  12. Redmine起動確認

Redmineのダウンロード

本家から目的の圧縮ファイルをダウンロードします。
ダウンロードした圧縮ファイルを解凍し、名前をredmineに変えて/var/optに移動します。
Linuxのディレクトリ構成ルールに従って考え、/var/optに配置することに決定

$ wget "http://www.redmine.org/releases/redmine-3.1.0.tar.gz" 
$ tar zxvf tar zxvf ./redmine-3.1.0.tar.gz
$ sudo mv ./redmine-3.1.0 /var/opt/redmine
$ cd /var/opt

■セットアップに必要なライブラリをインストール

セットアップに必要なライブラリをapt-getコマンドでインストール。
すでに導入されている場合は必要なし。

$ sudo apt-get -y install git make g++
$ sudo apt-get -y install libssl-dev libreadline-gplv2-dev zlib1g-dev libyaml-dev
$ sudo apt-get -y install build-essential curl

ImageMagickをインストール

Redmineで画像を扱う処理を行うために、ImageMagickをインストール

$ sudo apt-get -y install imagemagick libmagickcore-dev libmagickwand-dev

Rubyのバージョン確認

セットアップに必要なRubyのバージョンについては本家に記載されています。
http://redmine.jp/guide/RedmineInstall/

current trunk ruby 1.9.3, 2.0.0, 2.1, jruby-1.7.6

となっています。

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [arm-linux-eabihf]

上記の通り、確認結果は動作するRubyのバージョンと一致しているので、無理にバージョンアップせずに利用することとします。

MySQLをインストール

こちらも本家を確認すると、「MySQL5.0以上を推奨」とありますので、apt-getコマンドでインストールできるバージョンを利用します。

$ sudo apt-get -y install mysql-server
$ sudo apt-get install -y libmysqlclient-dev
MySQLのrootパスワード設定

MySQLインストールの過程で、rootのパスワード入力を求められるので、任意のパスワードを入力。
※忘れないように注意!!

RubyからMySQLを操作するためのライブラリをインストール

RubyからMySQLを操作するためのライブラリをインストール。

$ sudo apt-get install ruby-dev 
$ sudo gem install mysql2

■その他Ruby用のライブラリをインストール

bundlerを利用し、redmineに必要なライブラリを一括インストールします。

・bundlerをインストール
$ cd /var/opt/redmine
$ sudo gem install bundler --no-rdoc --no-ri
・bundlerによるRuby用ライブラリインストール

コマンド実行後、端末上にインストール中の項目が流れます。
終了するまで待ちます。

$ cd /var/opt/redmine
$ sudo bundle install --without development test

もしも、途中でエラーになった場合、端末に表示されるエラー内容を確認し必要なソフトウェアをapt-get等でインストールします。
必要なアプリケーションをインストールした後、再び「sudo bundle install --without development test」を実行します。
エラーなく完了するまで「sudo bundle install --without development test」を繰り返します。

■データベース接続設定ファイルの作成

redmineが利用するデータベース接続情報を、configファイルに記載します。
configファイルは新規作成します。

$ cd /var/opt/redmine 
$ sudo vi config/database.yml

設定ファイルの内容

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: my_password

■データベースのセットアップ(MySQL)

前項で作成したymlファイルに記載したdatabase、username、passwordと同じ情報を指定してデータベースを作成します。

$ sudo mysql --user=redmine --password=my_password --execute="CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;" 
・データベース作成

セッションストア秘密鍵を作成した後、データベースのmigrateを実行します。

$ sudo rake generate_secret_token
$ sudo RAILS_ENV=production rake db:migrate
・初期データをデータベースに反映

redmine本家では、デフォルトデータをセットするコマンドの実行を推奨しているようなので、それにならいます。

$ sudo RAILS_ENV=production REDMINE_LANG=ja rake redmine:load_default_data

■Webサーバーのセットアップ

・Apache2のインストール

apache2をインストールします。

$ sudo apt-get install -y apache2
・モジュールのセットアップ

apache2でredmine(ruby)を動作させるために必要なモジュールをセットアップします。

$ sudo gem install passenger --no-rdoc --no-ri
$ sudo apt-get install -y libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
$ sudo passenger-install-apache2-module

「passenger-install-apache2-module」を実行すると、端末上にメッセージが表示されキーボードによる選択を促されます。
キー操作は下記のとおりです。

1 → Enter → Enter

1時間ほど動き続けます。
無事に終了すると、下記の情報が端末に表示されます。

--------------------------------------------
Almost there!

Please edit your Apache configuration file, and add these lines:

   LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/1.9.1/gems/passenger-5.0.15
     PassengerDefaultRuby /usr/bin/ruby1.9.1
   </IfModule>

After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!

Press ENTER when you are done editing.
・Apache2の設定にRedmine用の物を追加

前項で表示された設定情報を、redmine用の設定としてApache2設定に追加します。

$ sudo vi /etc/apache2/conf.d/redmine.conf

設定内容は下記の通り

   LoadModule passenger_module /var/lib/gems/1.9.1/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /var/lib/gems/1.9.1/gems/passenger-5.0.15
     PassengerDefaultRuby /usr/bin/ruby1.9.1
   </IfModule>

このファイル内容は、前項で表示された設定情報です。

・VirtualHost設定にRedmine用の記述を追加

Apache2のVirtualHost設定に、redmine設定を追加します。

$ sudo vi /etc/apache2/sites-enabled/000-default 
<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        RackBaseURI /redmine  ← ココの行を追加
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
・ドキュメントルートにredmineディレクトリのシンボリックリンクを作成

apache2のドキュメントルートディレクトリにアクセス用のシンボリックリンクを作成します。

$ sudo ln -s /var/opt/redmine/public /var/www/redmine

Redmine動作のためパーミッションを変更

redmineディレクトリのオーナーをwww-data(apache)にします。
さらに、redmineが添付ファイルやログファイルを作成できるようにパーミッションを変更します。

$ sudo cd /var/opt
$ sudo chown -R www-data:www-data ./redmine
$ sudo cd ./redmine
$ sudo chmod -R 755 files log tmp public/plugin_assets
$ sudo cd ../

■Apache2を起動(再起動)する

/etc/init.d/apache2 restart

Redmine起動確認

デフォルトのアカウントで起動を確認します。

ユーザー:admin パスワード:admin

http://XXX.XXX.XXX.XXX/redmine

遅ればせながら RaspberryPi2 をセットアップしてみた(*´∀`)ノ

RaspberryPi2を手に入れたよ。(*ノ゚Д゚)八(*゚Д゚*)八(゚Д゚*)ノィェーィ!

世間に遅れること数カ月・・・やっとこさRaspberryPi2をセットアップです。
過去の経験とかを活かしながら、セットアップを行います。(*´∀`)ノ

  1. マイクロSDのマウントとフォーマット
  2. NOOBSのセットアップ
  3. sshを有効にする
  4. マイクロSD全体を利用する
  5. オーバークロック
  6. キーボードはUS
  7. HDMIのsディスプレイ解像度設定
  8. 日本語入力機能をインストール
  9. 無線LAN設定
  10. Zshのインストール
  11. CLISPのインストール
  12. VIMのインストール
  13. Avahiデーモンのセットアップ
  14. コンソールの日本語化
  15. 時計を合わせる
  16. シリアル通信設定ソフトセットアップ
  17. シリアル通信ユーティリティセットアップ(Teratermみたいなの)
  18. VNCサーバーのセットアップ

マイクロSDのマウントとフォーマット

マイクロSDを、Linuxパソコンでフォーマット
使ったアプリはGParted
マイクロSD全体ををfat32でフォーマットした

NOOBSのセットアップ

本家サイトからNOOBS(zipファイル)をダウンロードして展開。
展開したファイルを先ほどフォーマットしたマイクロSDにすべてコピーする。
http://www.raspberrypi.org/downloads/

コピーできたら、RaspberryPi2にマイクロSDをセットして電源ON!!
※配線とかの説明は割愛
※初回起動は必ずRaspi-configが起動するが、起動しない場合はSHIFTキー押しながら電源ON
※コマンド起動する場合はこちら → $ sudo raspi-config

sshを有効にする

起動時のraspi-config画面で、sshを有効にする

[8 Advanced Options] --> [A4 SSH] -- [Enable]

マイクロSD全体を利用する

起動時のraspi-config画面で、ファイルシステムを拡張する

[1 Expand Filesystem] --> [OK]

 

オーバークロック

起動時のraspi-config画面で、オーバークロック設定する

[7 Overclock] --> [Pi2]

※1GHを選択

キーボードはUS

起動時のraspi-config画面で、USキーボードを選択する

[4 Internationalisation Options] --> [13 Change Keyboard Layout]

※この設定は好み

HDMIのsディスプレイ解像度設定

初期設定終了 → 再起動
再起してログインし、下記のコマンド実行

$ sudo cp /boot/config.txt /boot/config.txt.original
$ sudo vi /boot/config.txt

変更箇所は2箇所。
コメントアウトを外して値を設定

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2   # <--- HDMI
hdmi_mode=23   # <--- 1280x768 60 Hz

日本語入力機能をインストール

mozcを入れることもできるらしいが、快適には動作しない様子。
なので、Anthyを導入する。
画面付きでブログを書いてくださっている方がいらっしゃいます。→
http://pup.doorblog.jp/archives/42670370.html

$ sudo apt-get install ibus-anthy

インストール終了したら再起動する。

無線LAN設定

電源を落としてからWi-fiドングルを押す
電源を落とす --> $ sudo shutdown -h now

■WLI-UC-GNM
http://buffalo.jp/product/wireless-lan/client/wli-uc-gnm/

ドングルを押してから電源ONすると、自動的に認識される。
認識については特に何もしなくても行けた。

WiFiの接続設定には、wicd-cursesというツール使用します。
通常の接続設定ではWiFiを自動で再接続する機能がありませんが、wicd-cursesを使うと自動で再接続されるようになります。

wicd-cursesはデフォルトではインストールされていません。
apt−getコマンドでwicd-cursesをインストールします。

$ sudo apt-get install wicd-curses

インストールできたらwicd-cursesを実行します。

$ sudo wicd-curses

スキャンされたWiFiの一覧が表示されるので、↑↓キーを使って接続したいSSIDを選択し、→キーを押します。

接続設定の画面に遷移するので、パスワードなどの情報を入力します。 なお、「自動的に再接続する」にチェックをつけると、切断されても自動で再接続してくれます。

Zshのインストール

$ sudo apt-get install zsh

CLISPのインストール

$ sudo apt-get install clisp

vimのインストール

最初からインストールされているvimは簡易型の廉価版。
なので本物をインストールする

インストールされているvimを確認する
$ dpkg -l | grep vim
li    vim-common    2:7.2-330-1ubuntu3    Vi IMproved - Common files
li    vim-tiny    2:7.2-330-1ubuntu3    Vi IMproved - enhanced vi editor - comapct v
インストールされているvimを削除
$ sudo apt-get --purge remove vim-common vim-tiny
vimのインストール
$ sudo apt-get install vim

Avahiデーモンのセットアップ

ホスト名を変更する

$ sudo vi /etc/hostname
$ sudo vi /etc/hosts

上記の2つのファイルには「RaspberryPi」と記載されている。
自分の好きな任意の名前に変更して再起動すると有効になる。
※別端末から確認する方法 → $ping hogehoge.local
 hogehoge部分が、自分が変更したホスト名になる

コンソールの日本語化

コンソールで日本語を表示しようとすると文字化けするので対応
基本的にはこちらのサイトの情報通りに操作するとOK。
http://ameblo.jp/mijyu-sakura/entry-11329029030.html

startxすると、メニュー等全てが日本語になっている
※もしかしたら、raspi-configでlocalesの設定を行った段階で日本語になっているのかも
※startx前のコンソールで日本語入力するための設定は・・・後日調査

時計を合わせる

詳しい設定はこちら
http://ryus.co.jp/blog/raspberrypi2-4/

設定項目にないなぁと悩んでいたら、ロケールを東京にする必要があったのね。

シリアル通信設定ソフトセットアップ

$ sudo apt-get install setserial

シリアル通信ユーティリティセットアップ(Teratermみたいなの)

$ sudo apt-get install minicom

VNCサーバーのセットアップ

HDMIケーブルでディスプレイに接続はできるものの・・・・やっぱりVNCの口も用意しておく。
こいつも至って簡単。

zsh % sudo apt-get install tightvncserver
zsh % vncserver :1 -geometry 1024x768 -depth 24

これだけ。
んで、実行してみる。

zsh % tightvncserver
New 'X' desktop is raspberrypi:1

2行目の情報が大切。
後に、PC側からVCN接続するときのパラメータになる。

zsh % vncviewer kamuypi.local:1
Connected to RFB server, using protocol version 3.8
Enabling TightVNC protocol extensions
Performing standard VNC authentication
Password:  <--- ここでRaspberry piのpiユーザーパスワードを入れる

するとRaspberry piのGUI画面起動!!

GUIもリモートで実現。

ちょっとわからなかったのが、表示画面の移動。
画面が途中で切れていて、右や上の隠れている部分を表示させる方法。

スライドバーで右クリック、左クリックで表示部分を左右に制御

ってのに気がつくまで、ちょっと時間がかかりました。(´-ω-`;)ゞポリポリ
だって、普通はドラッグしたら画面の見えない部分にスライドしていくと思うぢゃん・・・

優良アダルトサイト紹介の最終形態!!MaxInfo

RaspberryPiにRedmineをインストール(チケットファイル添付対応)

Raspberry PiにRedmine

RaspberryPiをweb公開にしたものの・・・・何に使おうか。。。

(*´∀`)ノ 「RedMineで自分wikiにしよう」

ということで様々調査したところ先人の方々の情報を発見。
参考にさせていただいたサイトはこちら。

Raspberry PI に Redmine インストール(1) - Wind Messer
Raspberry PI に Redmine インストール(2) - Wind Messer

チケットにファイルを添付しようとするとInternal Errorになる

参考にさせて頂いて無事にRedmineをインストールできました。
ただ、使っているうちに問題発生。
ファイルを添付しようとするとInternal Errorになります。
何かしらのファイルについてパーミッション設定ができていないかだろうと思って調べてみたら、RaspberryPiでの設定は見つけられず。
同じような問題について、Debian等のディストリビュージョンで解決した人はいる模様。
当然ですがRedmine本家のQ&Aやインストールの項を調べましたが、詳しいことは書かれておらず。

アレコレ調べて試した結果なんとか解決出来たのでブログ化です!!
以下の手順は、Redmine本家と参考サイトの情報をもとに書いたものなので、他のブログと被る部分が多々あるのですが、まぁ、、、、、
許してください。
それに、これが正しい方法なのかもわからないですし、何かしらのヒントになればと思います。

<<構築手順 目次>>

  1. ApacheMySQLのインストール
  2. libapache2-mod-passengerのインストール
  3. Redmineのインストール
  4. redmine-mysqlのインストール
  5. Webブラウザでアクセスできるようにする設定
  6. セッションストア秘密鍵を生成
  7. "production"環境用のデータベース設定
  8. Redmine用データベースの作成
  9. Apacheデフォルトホストの設定
  10. チケットの添付ファイル用ディレクトリ作成
  11. パーミッションの設定
  12. Apacheの再起動
  13. Redmineの起動
  14. 管理ユーザーを変更する(redmine操作)
  15. 認証を必須にしてログインしないと閲覧できないように設定

ApacheMySQLのインストール

事前にインストールしていたので特に何もしてないです。
RaspberryPiに「Apache2」「PHP5」「MySQL」「phpAdmin」をインストール - Kamuycikap - SentenceDataBase

なので、必然的にRedmineで利用するDBはMySQLに決定。

libapache2-mod-passengerのインストール

ApacheRedmineを動かすときに必要なモジュール。

sudo apt-get install libapache2-mod-passenger

Redmineのインストール

以下のコマンド実行。

sudo apt-get install redmine

インストールの途中で下記のコマンド実行を促されますが結局実行はしていません。

dpkg-reconfigure -plow redmine

redmine-mysqlのインストール

redmineMySQLを利用するためのプログラムを導入。
これもコマンド一発。

sudo apt-get install redmine-mysql

Webブラウザでアクセスできるようにする設定

ApacheのDocumentRootにRedmineを作成。
シンボリックリンクを貼ることで実現します。

cd /var/www
sudo ln -s /usr/share/redmine/public redmine

セッションストア秘密鍵を生成

これもコマンドで作成。

cd /usr/share/redmine
sudo rake generate_session_store

"production"環境用のデータベース設定

これはつまり、Redmaineが利用するMySQLのユーザー接続情報ですね。
テンプレートをコピーしそれを編集します。
最近、エディタはnanoを使っています。

sudo cp -p /usr/share/redmine/templates/database.yml.template /etc/redmine/default/database.yml
sudo nano /etc/redmine/default/database.yml

こちらが編集結果。

production:
  adapter: mysql
  database: redmine
  host: localhost
  port: 3306
  username: redmine
  password: password
  encoding: utf8

Redmine用データベースの作成

編集した設定にあわせてデータベースを作成します。

mysql -u root -p
> create database redmine;
> create user 'redmine'@'localhost' identified by 'password'
> grant all privileges on redmine.* to 'redmine'@'localhost';
> exit
sudo RAILS_ENV=production rake db:migrate
sudo RAILS_ENV=production rake redmine:load_default_data

Apacheデフォルトホストの設定

Redmineのlocation

sudo nano /etc/apache2/sites-available/default

追加する部分はこちら
※ 「+」で記載の部分が追加したところ。当然ながら実際には「+」は書かない。

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

+       # add for redmine
+      <Location "/redmine">
+               RailsBaseURI /redmine
+       </Location>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

チケットの添付ファイル用ディレクトリ作成

チケットに添付するファイル情報を保存するディレクトリを作成。

sudo  mkdir -p /var/lib/redmine/default/files/

パーミッションの設定

以下のとおりにグループとユーザーを設定。

 sudo chown -R www-data:www-data /var/lib/redmine/default/files
 sudo chown -R www-data:www-data /usr/share/redmine

Apacheの再起動

 sudo /etc/init.d/apache2 restart

Redmineの起動

ここまでの設定ができていれば、公開URLの後ろに/redmineをつけるだけで起動するはず。

http://www.hogehoge.ne.jp/redmine

管理ユーザーを変更する(redmine操作)

Redmineの初期ユーザーIDとパスワードは「admin」「admin」。。。
これは速攻で変更しなければなりません。
ログイン後、画面左上にあるリンクをたどり

「管理」→「ユーザ」と進んでパスワードを変更します。

詳しい設定方法は・・・・まぁ、他のサイトに任せます。

認証を必須にしてログインしないと閲覧できないように設定

ログインしてない状況でチケットを閲覧できないように設定。
参考にしたのはこちらのサイト。
ログインしているユーザーのみ情報を閲覧可能にする — Redmine.JP


優良アダルトサイト紹介の最終形態!!MaxInfo