不正アクセスの確認 メモ
確認に使ったコマンド
Secureファイルの場所を確認
# ls /var/log/
アクセスの失敗件数確認
# cat /var/log/secure* | grep Failed | wc
アクセスの成功件数確認
# cat /var/log/secure | grep Accepted | wc
まとめ
2週間前に建てたばかりのサーバでも8,000件のアクセス失敗を確認した.
ポートを変えるだけでも対策になるっぽい.
Windows7でhostsの設定
目的
動作環境
- Windows7 64bit
- Vagrant1.6.5
- Oracle VM VirtualBox 4.3.16
- CentOS6.5
設定の流れ
- hostsファイルの場所を確認
- ファイルのバックアップ
- ファイルの編集
- ファイルの移動,動作確認
hostsファイルの場所を確認
C:\Windows\System32\drivers\etc
ファイルのバックアップ
読み込みのみが可能なファイルなので,別のフォルダにhostsファイルを移動して作業を行う.
今回はドキュメントにhostsBackup
という作業用のフォルダを作り編集を行った.
バックアップも兼ねて,編集した日付をファイル名の後ろにつけてファイルのコピーを作成した.
これで設定を間違えて大変なことになっても,日付部分を消してhostsファイルの場所に戻せばだいじょうぶかな.
ファイルの編集
ファイルの一番最後に以下のように記述する.
IPアドレス 設定したいアドレス
以下,画像での例
192.168.33.10 dev.ryunensennin.com
が今回編集した値である.
ファイルの移動,動作確認
hostsファイルの移動
C:\Windows\System32\drivers\etc
にhostsファイルを移動する.
この時管理者権限を求められるので続行をクリックする.
上記の警告が出ていない場合は,ファイルが読み込みオンリーになっていないかもしれない.
移動したファイルをテキストエディタで開くと「上書き禁止」と出ていた.
上書き禁止になっていない場合はファイルを削除してから再度移動する.
Windows7でVagrantを使ってみる
目的
ローカル開発環境を構築してサーバをいじっている感をだしてみる.
PHPやPythonを使うときに活用する予定.
今回は自分で作ったHTMLファイルが確認できたら完了.
Vagrantが面白そうなので触ってみた.
やり方を忘れそうなのでここにメモする.
動作環境
- Windows7 64bit
- Vagrant1.6.5
- Oracle VM VirtualBox 4.3.16
- Tera Term 4.84(仮想マシン接続時に使用)
設定の流れ
ダウンロードとインストール
公式サイトから「vagrant_1.6.5.msi」をダウンロード,特に中身はいじらずそのままインストールした.
VirturlBoxはGenymotionを入れた時に一緒に入っていたのでそのまま利用する.
Rubyが入っている人はgemコマンドからインストールできるっぽい
>gem install vagrant
Vagrantの作業をするフォルダを作成
今回はEドライブにフォルダを作成.
この後も使いそうなのでコマンドプロンプトでやってみた.
作業する場所はどこに作ってもいいようなのでEドライブを使うことにした.
Eドライブに移動して「VagrantFolder」というフォルダを作成
>cd /d E:\ >mkdir VagrantFolder
Boxの取得
今回使うOSをVagrantbox.esから取得する.
CentOS 6.5 x86_64 [notes]のURLをコピーする.
>vagrant box add CentOS6.5 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
vagrant add
の後ろにボックスの名前を指定する.
他に違うものを入れる時があるかもしれないのでわかりやすくするためにバージョン名をつけた.
>vagrant box list CentOS6.5 (virtualbox, 0)
vagrant box list
で自分が作成したボックスがあれば完了.
仮想マシンの初期化
仮想マシン用のフォルダを作成し,そのフォルダで初期化を行う.
>mkdir CentOS6.5 >cd CentOS6.5 >vagrant init CentOS6.5
vagrant init
をした後にVagrantfileがフォルダ内に作成されていれば完了.
Vagrantfileの編集
27行目のコメントアウトを外す.
(Rubyで書かれているようなので#がコメントアウト)
IPアドレスは任意に設定する.
今回は初期設定の192.168.33.10をそのまま使った.
# config.vm.network "private_network", ip: "192.168.33.44" ↓ config.vm.network "private_network", ip: "192.168.33.10"
仮想マシンの起動
>vagrant up
vagrant up
をした時に出たエラー
Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'base' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Adding box 'base' (v0) for provider: virtualbox default: Downloading: base default: An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. Couldn't open file /VagrantFolder/CentOS6.5/base
vagrant init
の後ろにボックス名をつけていない場合にエラーが出る模様.
もしも仮想マシンを起動している状態でVagrantfileの内容を変更した場合は,reloadで仮想マシンを再起動して設定を反映させる.
仮想マシンへの接続
文字コードのことも考えてTera Termを使用して接続する.
ホストを127.0.0.1,ポートを2222と入力する.
ユーザ名とパスワードはそれぞれvagrantと入力する.
ログイン完了.
Webサーバの設定
以下はTera Termで作業を行っている.
httpdサーバの設定,ファイアウォールの切断を行った.
$ sudo yum -y install httpd $ sudo service httpd start $ sudo chkconfig httpd on $ sudo service iptables stop $ sudo chkconfig iptables off
chkconfigで仮想マシン再起動後も設定が反映され続けるようにする.
後で書いたProvisionを使い,今回行った作業を自動化することも可能みたい.
HTMLファイルの作成,Webブラウザでの表示
Tera Term上でHTMLファイルの作成.
$ sudo vi /var/www/html/index.html
以下,HTMLファイル
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>testpage</title> <head> <body> <h1>Hello World</h1> </body> </html>
WebブラウザでIPアドレスを打ち込む.
今回は初期値の192.168.33.10である.
ページが表示され,Hello Worldの文字が確認できたら作業完了.
共有フォルダの作成
後で追記したFileZillaとの設定の連携のほうがよさそう.
Tera Termを使わずにWindows上で作業をしたいときに使う.
仮想マシン上でファイルを作成せず,Windows上でファイルの作成,編集を行う.
共有フォルダの作成はTera Term上で行う.
今回は/var/www/html/上にすでにファイルを作成していたので,予め削除した.
2つ目のlnコマンドだけでよさげ.
lnコマンドで仮想マシンとWindowsマシンそれぞれにリンクを貼る.
リンクの作成
$ sudo rm -rf /var/www/html/ $ sudo ln -fs /vagrant /var/www/html
/vagrantはWindows上でのドキュメントルートである.
(Vagrantfileが置いてある場所)
/vagrantから/var/www/htmlにリンクを貼るという意味.
リンクが作成できたかどうかの確認
$ ls -l /vagrant /var/www/html lrwxrwxrwx 1 root root 8 Sep 20 12:08 /var/www/html -> /vagrant
CentOS6.5フォルダでHTMLファイルの作成
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>testpage</title> <head> <body> <h1>Hello Windows</h1> </body> </html>
リンクの削除
rmコマンドで行うみたい.
$ rm /var/www/html
上記のリンクの削除時にhtmlディレクトリが消えてしまった…
リンクの作成時に/vagrantと/var/www/htmlを逆に記述すると以下のうようなエラーが出る.
$ sudo ln -fs /var/www/html /vagrant ln: `/vagrant/html': cannot overwrite directory
うーん…わからん…
Provision
Vagrant起動時にshellでコマンドを自動実行してくれる.
作業はコマンドプロンプトで行う.
手動で行ったhttpdのインストール等を自動で行う.
Vagrantfileに設定を書き込み,シェルスクリプトを書くことで使用できる.
今回はhttpdのインストール,ファイアウォールの無効を設定した.
後から手作業で行うことを考えると便利かも.
Vagrantfileの設定
.shファイルを読み込むように追記する.
config.vm.box = "CentOS6.5"直下に記入した.場所はどこでもよいのかな?
config.vm.provision :shell, :path => "provision.sh"
.shファイルの記述
provision.shファイルを作成する.
Vagrantfileと同じ場所に設置する.
中身は実行したいコマンドを記述する.内容はhttpdのインストールとファイアウォールの切断.
sudo yum -y update sudo yum -y install httpd sudo service httpd start sudo chkconfig httpd on sudo service iptables stop sudo chkconfig iptables off
ウェブページを表示するだけならアップデートは必要無さそう.
以下のように,仮想マシン起動後,provison.shに書いた内容を反映させる.
>vagrant up >vagrant provision
Tera Termで仮想マシンに接続後,設定が反映されているか確認する.
$ sudo service httpd status httpd (pid 1752) is running... $ sudo service iptables status iptables: Firewall is not running.
FileZillaとの連携 (2014/09/23追記)
ファイル共有を設定する前にやること
/var/www/html
はrootが所有者なのでそれをユーザ側に書き換える.
chownはファイルやディレクトリの所有者を変更することができる.
仮想マシンにログインした状態で,下記のように入力する.
(ls -l
は確認用なのでchown
だけでいい)
●所有者変更前 $ ls -l /var/www/ | grep html drwxr-xr-x 2 root root 4096 Jul 23 14:18 html ●所有者の変更 $ sudo chown -R vagrant:vagrant /var/www/html/ ●所有者変更後 $ ls -l /var/www/ | grep html drwxr-xr-x 2 vagrant vagrant 4096 Jul 23 14:18 html
-R
は「ディレクトリとその中身のファイルを再帰的に変更する」とある.
外見から中身まで全て変更するという意味なのかな.
vagrant:vagrant
はそれぞれユーザ名:グループ名となっている.
rootとなっていた部分がvagrantに書き換わっていれば作業完了.
FileZillaの設定
- ファイル→サイトマネージャ(Ctrl+s)で設定画面を開く
- 新しいサイトをクリックし適当な名前をつける
- 一般タブでの設定
設定が全て終わったら接続をクリックする.
以下はサイトマネージャの設定後の画像.
接続をしようとすると以下の用に警告が出るけどOKをクリックする.
Webページの作成
- リモートサイトに
/var/www/html
と入力 - ディレクトリで右クリック→create new fileをクリック
- Create empty fileという窓が出るのでファイル名を入力
- index.htmlと入力.ファイルが作成される
以下はWebページ作成後の画面
ファイルを開く際のエディタを設定
- 編集→設定をクリック
- ファイルの編集をクリックし,カスタムエディタを選択
- 任意のテキストエディタを選択
- 今回はsublimetextを設定してみた
- 「常に既定のエディタを使用」にチェックを入れる
- OKをクリックして設定完了
以下は設定後の画面
ファイルの編集
index.htmlを右クリック→表示/編集をクリックする.
先ほど設定したエディタでファイルが開かれる.
以下,作成したHTMLファイルのソース
ウェブページを開くと「FileZillaと連携してみた」と表示されるようにした.
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>testpage</title> <head> <body> <h1>FileZillaと連携してみた</h1> </body> </html>
ファイルを変更すると以下のような画像が出てくる.
はいをクリックすると変更が反映される.
Windows7 に python 2系 をインストールしてHello World する
目的
とあるサンプルコードを動作確認させたかったから.
動作確認の過程として環境構築を行う.
設定の流れ
参考にさせていただいたサイトに詳しく細かくやり方が載っているので,今回はかいつまんだ内容だけ書いていく.
Pathの設定
システムの詳細設定→環境変数→システム環境変数のPathを編集する.
今回はC:\Python27を追加した.
参考サイトにはScriptsフォルダにもパスを通すように書いてあったが,今回インストールしたフォルダには見当たらなかった…
コマンドプロンプトでPathが通ったかどうかの確認を行う.
>python --version Python 2.7.8 >python Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Hello World
仕上げの動作確認を行う.
インタラクティブモードの場合
(>>>の後にコードを書いている.)
>python Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print "Hello, World" Hello, World
.pyファイルを作成した場合
Windowで処理をするのでコマンドプロンプトで結果を見やすいように文字コードはshift_jisにしておいた.
mecabと合わせて使いたいんだけど,コマンドプロンプトで結果を確認しないのならUTF-8でもいいのかな?
# coding: sjis print "Hello, Python!\n"
コマンドプロンプトで実行
>python hellopython.py Hello, Python!
Windows7にTitaniumをインストールする
Titanium Studioを使わずコマンドラインからTitaniumをインストールする
node.jsの設定
node.jsをインストール
npmコマンドを使いたいのでnode.jsをここからダウンロード
Windowsの64bitなのでnode-v0.10.28-x64.msiをダウンロードからのインストール
nodistをインストール
ここの「Download ZIP」からzipファイルをダウンロード
解凍後,任意の場所に置く
今回はC:\Program Filesの下にフォルダ名を「nodist」に直して設置した
システムのプロパティからPATHを通す
その後コマンドプロンプトから以下を実行
>nodist update (アップデート内容が流れる) Installing latest stable version... 0.10.28 >nodist -v 0.4.8 >nodist stable 0.10.28 >node -v v0.10.28
バージョンを指定してインストールしたい(version 0.10.2をインストールする)場合は
>nodist + v0.10.2
以上,node.jsの設定終わり
Titaniumの設定
Titaniumのインストール
>npm install titanium -g (インストール内容が流れる) titanium@3.2.3 C:\Users\PC名\AppData\Roaming\npm\node_modules\titanium ├── sprintf@0.1.3 ├── longjohn@0.2.4 ├── colors@0.6.2 ├── humanize@0.0.9 ├── async@0.2.10 ├── wrench@1.5.8 ├── semver@2.2.1 ├── fields@0.1.12 (keypress@0.1.0) ├── optimist@0.6.1 (wordwrap@0.0.2, minimist@0.0.10) ├── winston@0.6.2 (cycle@1.0.3, eyes@0.1.8, stack-trace@0.0.9, async@0.1.22,pkginfo@0.2.3, request@2.9.203) ├── moment@2.4.0 ├── temp@0.6.0 (osenv@0.0.3, rimraf@2.1.4) ├── request@2.27.0 (json-stringify-safe@5.0.0, aws-sign@0.3.0, forever-agent@0.5.2, qs@0.6.6, tunnel-agent@0.3.0, oauth-sign@0.3.0, cookie-jar@0.3.0, mime@1.2.11, node-uuid@1.4.1, hawk@1.0.0, form-data@0.1.3, http-signature@0.10.0) ├── node-appc@0.2.1 (diff@1.0.8, xmldom@0.1.19, node-uuid@1.4.1, semver@2.1.0, adm-zip@0.4.4, dox@0.4.4, uglify-js@2.3.6) └── jade@0.35.0 (character-parser@1.2.0, commander@2.0.0, mkdirp@0.3.5, transformers@2.1.0, constantinople@1.0.2, with@1.1.1, monocle@1.1.50)
Titanium CLIのバージョン確認
>titanium -v 3.2.3
Titanium SDKのバージョン確認
>titanium sdk list Titanium Command-Line Interface, CLI version 3.2.3 Copyright (c) 2012-2014, Appcelerator, Inc. All Rights Reserved. Please report bugs to http://jira.appcelerator.org/ No Titanium SDKs are installed You can download the latest Titanium SDK by running: titanium sdk install
Titanium SDKが入っていないようなのでインストール
Titanium SDKのインストール
>titanium sdk install Titanium Command-Line Interface, CLI version 3.2.3 Copyright (c) 2012-2014, Appcelerator, Inc. All Rights Reserved. Please report bugs to http://jira.appcelerator.org/ Username: 任意のユーザ名 Password: 任意のパスワード New version available! 3.2.3.GA Downloading http://api.appcelerator.com/p/v1/release-download?token=94GkvF44 100% [========================================] 0.1s Extracting SDK to C:\ProgramData\Titanium 100% [========================================] 0.0s Setting Titanium SDK 3.2.3.GA as the default. Titanium SDK 3.2.3.GA successfully installed!
Username,Passwordはここで登録したメールアドレスとパスワードを入力する
もう一度SDKのバージョン確認をする
>titanium sdk list Titanium Command-Line Interface, CLI version 3.2.3, Titanium SDK version 3.2.3.GA Copyright (c) 2012-2014, Appcelerator, Inc. All Rights Reserved. Please report bugs to http://jira.appcelerator.org/
alloyの導入
alloyのインストール
>npm -g install alloy (インストール内容が流れる) alloy@1.3.1 C:\Users\PC名\AppData\Roaming\npm\node_modules\alloy ├── commander@0.6.1 ├── colors@0.6.0-1 ├── wrench@1.3.9 ├── pkginfo@0.2.2 ├── xmldom@0.1.13 ├── xml2tss@0.0.5 (xml2js@0.2.8) ├── source-map@0.1.9 (amdefine@0.1.0) ├── uglify-js@2.2.5 (optimist@0.3.7) └── jsonlint@1.5.1 (nomnom@1.7.0, JSV@4.0.2)
alloyのバージョン確認
>alloy -v 1.3.1
動作確認
プロジェクトの作成
>ti create -p android -n hellotitanium --id com.example.hellotitanium -d ./
alloyの適用
>cd hellotitanium >alloy new
ビルド
今回はTiShadowを使ってビルドを行う
別のコマンドプロンプトを立ち上げて
>tishadow server [DEBUG] TiShadow server started. Go to http://localhost:3000 [DEBUG] A socket connected [INFO] [android, 4.0.4, 192.168.1.3] Connected
接続している実機が確認できた
次は先ほどのプロジェクトを開いているフォルダで
>tishadow run
実行結果
背景はシルバーに,最初の文字をHello,Titaniumに変更してみた
Hello, Titaniumの文字がめっちゃ小さいけどこれで完了
まとめ
Titanium Studioを入れると一括でやってくれることを自分で設定すると手間に感じてしまった
自動でやってくれるって便利
でも1から自分で設定するとどのソフトウェアが入ったのか,どんな効果があるのか理解しやすいからいいかな?たぶn
参考にさせていただいたサイト
2段組でtex文章を書いている時に表や図を1段組で表示させる
やりかた
アスタリスクをつけるだけっぽい
表を1段組で表示させたいときの例
\begin{table*}[t] \begin{tabular}{ccc} \end{tabular} \end{table*}
図を1段組で表示させたいときの例
\begin{figure*}[t] \begin{center} \includegraphics{fig.eps} \caption{キャプション} \label{} \end{center} \end{figure*}
改ページをして1段組にしたい場合
\onecolumn
改ページをした上で1段組にする
\twocolumn
改ページをした上で2段組にする
\onecolumnと\twocolumnは段組を変えたい箇所の上部に書けばだいじょうぶ
コマンドプロンプトでTitaniumのビルドを行う
Windows7でコマンドプロンプトを使ってTitaniumのプロジェクト作成から実行までやってみる.
実行環境
プロジェクトの作成から実行まで
プロジェクトの作成
まずは任意のフォルダでプロジェクトの作成を行う.
私の場合だとDrop Box内で作業をした.
以下,プロジェクトの作成からAlloyの適用まで.
Windowsで作業をしているのでandroidのみ.
>titanium create -p android -n hellotitanium --id com.example.hellotitanium -d ./ >cd hellotitanium >alloy new
次にビルドを行う.
理由はわからないが,
>titanium build -p android
だと途中でエラーが出てエミュレータすら立ち上がってくれない…
SDK自体は全てインストール済み.
Genymotionで動くかを試してみる.
ビルドの前に端末のIDを調べる
>adb devices List of devices attached 192.168.56.101:5555 device 1bc210 device
192.168.56.101:5555がGenymotionで1bc210がつないでいた実機の情報.
Genymotionでの実行
>titanium build --platform=android --build-only >adb -s GenymotionのID install -r build/android/bin/hellotitanium.apkz
rオプションのあとは「アプリ名.apkz」のものを選択する.
20140503追記ここから
Titanium Studioのコマンドライン部分で
$ titanium build --platform=android --build-only
をやるとapkzファイルが作成されない.
実行ボタン押せば済む話ではあるけどコマンドプロンプトでやるのと何か違うのかな?
ちなみに出るエラーは以下
[ERROR] Failed to run dexer:
[ERROR]
[ERROR] Error: Could not create the Java Virtual Machine.
[ERROR] Error: A fatal exception has occurred. Program will exit.
20140503追記ここまで
まとめ
- Titanium Studioを使わずにプロジェクトの作成から実行までやってみた.
- 実行は実機とGenymotionで試してみた.
- コマンドプロンプトで作業を行ってみた.
- TitaniumStudioだと作成したてのAlloyプロジェクトでもエラーがでるんだけど,コマンドプロンプトでやるとそれが無くなる.
私のwindows7がだめなのかな?ちなみにエラーの例は以下
[ERROR] Application Installer abnormal process termination. Process exit value was 8
はてな記法で「-」を使ってリストを発動させずに,半角ハイフンを使いたいときはどうしたらいいのかな…