pythonのパッケージのインストール
まず,Pythonのパッケージ管理システムpipをインストールする.pythonが入っていればそれを使ってインストール出来るらしい.適当な場所にhttps://bootstrap.pypa.io/get-pip.pyをダウンロード.linuxであれば
でOK.
これをpythonで実行すればインストールされる.sudo権限が必要なので忘れずに.
パッケージインストールは
sudo pip install [パッケージ名]
でOK.昔はeasy_installとかなんとかやってたけど今は必要ないらしい.便利になったなあ.
emacsを導入したので覚え書き
友人・先輩に手伝ってもらったので,他のPCにインストールするときようにメモを残しておく.
emacs自体は
sudo apt-get install emacs
でインストール出来る.
自分はパッケージが見つからない的なことを言われたので,
/etc/apt/sources.listを見てみると以下の文があってエラーになっているようだったので削除.
deb http://backports.debian.org/debian-backports squeeze-backports main
だいぶ前のバージョンのパッケージリストも参照していたみたい.なんで入ってたのかはよくわかりませんでした.
sudo apt-get update
sudo apt-get install emacs
でインストールできた.
あとOSをインストールした直後はmakeコマンドが入ってないときがあるので,その場合は忘れずにapt-get installしとえくこと.
次に友人オススメのemacsあれこれをインストールする.まず設定フォルダの初期化をするために一旦emacsを起動してすぐ終了.そして.emacs.dフォルダにemacsの初期化ファイルinit.elを作成する.
touch init.el
emacs init.el
これにいろいろ書くことでパッケージのインストール及び初期化をやってくれる.他のPCに同じ環境を作る時もパッケージのインストールをまた新たにやる必要はなくinit.elを移すだけでいいらしい.
以上.
数学科の人にお勧めしたい数学書
調べるといろんな人がお勧めの数学書を書いているけれど,自分が読んでいた本がほとんど挙げられていなかったので書いてみることにしました.
ちなみに筆者の専門は複素幾何です.
(ほとんど)読んでないけど良さげだなと思ったり良い評判を聞いてる本は(*)付きで書いています.
勉強する本を選ぶときの参考になれば.
続きを読むwebサーバーの設定
こんにちは.VPNの設定がどうもうまくいかないので,先にWebサーバーの設定のほうからすることにしました.
ここから先はGUIは使わず,SSHを使って他のマシンからコマンドライン上で扱うことになります.
cd,ls,mkdir等のファイル操作,apt-getを使ったソフトのインストール等コマンドラインの扱いはどこかで勉強しておきましょう.(ここでは扱いません)
ちょうど今からやることについてまとめてくれている記事があったので,これに従って設定しました.
test.htmlを作る際は管理者権限が必要なのでsudoでエディタを呼び出すようにしましょう.一般ユーザーがsudo(管理者権限で実行)できるようにする方法は以下のページに書いてあります.
一般ユーザーを sudo できるようにする - maruko2 Note.
sudo vi test.html みたいな感じで.
(とりあえずここまで)
今後の予定(DDNSとVPN接続)
特に何も設定等は進んでいないのですが,今後の方針が決まったので一応記事を.
ポート開放とかをしてある程度だれでも自由にアクセスできるようにするとセキュリティ的に不安なので友人に相談したところ,個人的な利用がメインならダイナミックDNSとVPN接続を使えばいいのでは,という意見をもらいました.
一応自分の言葉で何をするのか解説.(間違っていたらご指摘ください)
前回Raspberry PiのIPアドレスを固定したので,"家のルーターに接続しているときは"129.168.xxx.xxx(←固定したIPアドレス)にアクセスすることでRaspberry Piを叩くことができるようになりました.*1
しかしこれはルーターとつながっていない機器からはアクセスできません.*2これを解決するのがVPN接続です.
VPNとはVirtual Private Networkの略で,外部のパソコンからルーターにアクセスして認証することで仮想的に家のネットワーク内にいるかのようにすることのようです.この状態ならRaspberry Piを叩くことができるわけですね.
しかし家のルーターにアクセスするにはグローバルIPアドレスが分からないといけません.これは契約しているプロバイダが割り振っているインターネットにおける住所のようなものですが,なんとこれは接続/切断するたびにコロコロ変わってしまいます.*3一応,プロバイダと契約すれば固定することもできるようですが,すごくお金がかかるとのことです.
ここで出てくるのがDDNSです.DNSとは固定されたIPアドレスとドメインを対応付けるシステムのことでした.*4DDNSではグローバルIPアドレスが変更される度にその都度登録したサイトに変更後のIPアドレスを連絡することで常に適切な対応を作れるようにするシステムです.これはいくつかの業者(や個人)が提供しているサービスで,ありがたいことに無償で提供してくれているところもあります.
これを使うことで外部からVPN接続をして家にアクセスできるようにしたいと思います.
できればraspberry piでIPアドレスの自動更新をできるようにするところまで行きたいと思っています.
参考:
*1:まだやっていませんが,Raspberry Piのほうにwebサーバーのあれこれの機能をインストールすれば,ブラウザでhttp://129.168.xxx.xxxと入力すれば設定したサイトが見られるようになっているはず
*2:出来るようにすれば話は早いですが,セキュリティ的に不安なので今回の方法をとっています
*3:2chとかのIDが変わってしまうのはこのせいらしいですよ.
*4:例えばwww.yahoo.co.jpは183.79.11.230に対応づけられています.
初心者がRaspberry PiでWebサーバーを構築する(初期設定・SSH接続・IPアドレス固定・Python3インストール)
はじめに
サーバー関連のあれこれをやってみたい筆者が兄貴からパクってきたRaspberry Piを使ってWebサーバーをたて,Pythonでwebアプリを動かすまでの記録を残すつもりです.参考にした記事等をまとめます.
追記:自由に外部からアクセスできるようにするとセキュリティ的に不安なので,DDNSを用いてVPN接続であれこれすることにしました.どうせ個人利用しかしないので.
使ってる機材とか
・Raspberry Pi(初代) Model B
・BUFFALO製 MicroSD 16GB Class10 (RMSD-016GU1SA)*1
・ルーターはBUFFALO WHR-G301N
・電源はスマートフォンの充電器,マウス,キーボード,ディスプレイ等は元々持っているのを使っています.初期投資はSDカードの3000円くらいで済みました.
OSのインストール・初期設定
次の記事通り行いました.
ラズベリーパイの使い方(OSインストールまで) | うしこlog
日本語環境にしたところ四角い文字に文字化けしてしまったため,次の記事を参考にして日本語フォントをインストールしたところ直りました.
» 解決!Raspberry Piの日本語が四角の文字化けになった時の初歩ミス。|コワーキングスペース管理人のブログ
デフォルトのユーザー「pi」はパスもデフォルトのままで管理者権限があるため,新たなユーザーを作成し,その後piは削除しました.
Raspberry Piで自宅ウェブサーバ構築 - Qiita (前半を参照)
SSHでログインするまで
要は他のマシンからネットワーク経由でRaspberry Piにログインしていろいろ設定を行おうというわけです.その通信方法がSSHと呼ばれるらしいです.(間違っていたらすみません.)
Raspberry Piに割り振られるIPアドレスを固定する必要があるらしいのでそれを行います.
筆者が使用しているルーターがちょうどBUFFALO製だったので,この記事の通りにすることで上手くできました.
TerminalでMACアドレスを確認する際に文字がつぶれていたせいで8を0と読んでしまい,そのせいでちょっと手間取りました.フォントのサイズは少し大きめにしておいた方がいいかもしれません….
私はWindowsから接続したかったので,上の記事に書いてあるTera Termというソフトで接続しました.
これでもう画面につなげる必要がなくなりました.
Python3.xのインストール
Raspberry PiにはPythonがデフォルトでインストールされています.
しかし,「python --version」と入力しバージョンを確認したところPython2.7だったので3.xをインストールします.
raspberry pi のpythonを最新にする - python3.4から始めるプログラミング日記
終わった後もう一度バージョンを見たところ.なぜかPython 2.7.9と表示されました.あれ?
…調べてみたところ,python3を叩くにはpython3というコマンドを使う必要があるようです.そこで「python3 --version」と入力して確認したところPython3.4.3がちゃんと使えました.
もしかして最初からインストールされてたのかも.分からないけど.
*1:SDではなくMicroSDなのは,後々Raspberry Pi2,3に移行する際のことを考慮しました.返せと言われたら返さなくてはいけないので.