Windows 10での開発環境(VirtualBox+RLogin+VcXsrv)

はじめに

Macだったら簡単なんです.中身がUNIX(Darwin)だから.

Windowsマシンで,gccやらvim,gitなどのGNUツール,Apache,MySQL,PHPやらRuby,あと,LaTeXやRなどを使用したい人の参考になれば幸いです.

実は,過去にWindowsでのUNIX環境ということで,MSYS2+Vagrantの組み合わせを紹介しました.

MSYS2+VagrantによるWindowsでのUNIX環境

MSYS2には,Cygwin同様,gcc,make,binutils,vim,git,opensslなど利用できて,それそれで良いのですが,Apache,MySQLなどを利用したいわゆるLAMP開発環境については,Windowsネイティブのものを利用するのではなく,Vagrantなどを通して,仮想マシンでのLinux環境を使うのが一番だと,これまで私の経験上そう思います.

Vagrantは,頻繁にOS環境を変えたりする方には良いのですが,ある程度固定的なLinux環境を利用したい場合は,単にVirtualBox一つで良いのです.

また,Vagrantは,VirtualBoxのShare Folder機能を使ったファイル共有が利用できるのですが,このShare Folder機能が遅くて,このディレクトリ上でRailsアプリなんぞ開発したりしたら,scssとかの読み込みにものすごく時間がかかります.rsyncを使う方法も用意されていますが,いちいち同期のことを考えないといけないのは少々面倒臭い.

結局,私がお奨めするのは,

の組み合わせパターンです.

Continue reading “Windows 10での開発環境(VirtualBox+RLogin+VcXsrv)”

PHP基本のきほん

前回の初心者のためのviエディタの使い方と同様,ゼミ生のための資料です.

はじめに

PHP(PHP: Hypertext Preprocessor)は,Webサーバ上で実行されるサーバサイドスクリプト言語です.初期バージョンは,1995年にリリースされています.

特徴は以下のとおりです.

  • インタープリタ型言語
  • C言語やJavaに似た文法(オブジェクト指向のサポート)
  • RubyやPerlと似た弱いデータ型
  • 多くのWebサーバにてモジュールとして対応(Apache,IIS等)
  • HTMLにプログラムを埋め込むことが可能
  • データベースインターフェースのサポート(MySQL,PostgreSQL,SQLite,ODBC等)

参考文献 Wikipedia(PHP:_Hypertext_Preprocessor)

【実習環境】

ApacheのDoumentRootで指定したディレクトリ上(例 /Library/WebServer/Documents)に,「php_lec」のディレクトリを作成し,その中にPHPのサンプルプログラムファイルを作成し,実行を確認します.

Continue reading “PHP基本のきほん”

Vagrant環境でのbundle installで失敗する

Windows 8.1上のVagrant(CentOS Linux)にて,Ruby on Railsを利用していますが、Railsのディレクトリを、共有フォルダの /vagrant 配下にセットアップしたときに,毎回この失敗をしてしまうんです.

GemのインストールにBundlerを使っています.その際,Gemのインストールパスを次のように指定します.

$ bundle install --path vendor/bundle

これは,よくあるパターンで,Railsの作業用のディレクトリ配下のvendor/bundleにすることで,システムのGem(Shared Gems)には影響させないようにするごく一般的なやり方です.

:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/home/vagrant/.rbenv/versions/2.0.0-p598/bin/ruby extconf.rb
creating Makefile

Gem files will remain installed in /vagrant/test/vendor/bundle/ruby/2.0.0/gems/json-1.8.2 for inspection.
Results logged to /vagrant/test/vendor/bundle/ruby/2.0.0/gems/json-1.8.2/ext/json/ext/generator/gem_make.out
An error occurred while installing json (1.8.2), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.2'` succeeds before bundling.

上のように,Native extensionなGemをインストールするときに,ExtentionBuildErrorが出てしまうのです.

「gem install json を使いなさい」と言っていますが,jsonをShared gemsとしてインストールしても,bcryptやNokogiriでも同様にエラーが出て中断してしまいます.

ログを見ても,ruby extconf.rbで問題なくMakefileは作成できているので,ネイティブなシステムライブラリのパスとかはきちんと認識できているはずなのです.ググっても,Makefileに失敗してエラーのパターンばかりで,上記のような例を見つけることができませんでした.

ひょっとして,Gemのインストール先が共有フォルダ上なのがまずいのかな,と思って,インストール先のパスを次のように変えてやってみました.

$ bundle install --path ~/hoge_gems/vendor/bundle

すると,何の問題もなく,json,Nokogiri,bcryptなどのNative extensionなGemがするりとインストールできました.

よかよか.

 

初心者のためのviエディタの使い方

 

Index

はじめに

(参考文献:「RUNNING LINUX 導入からネットワーク構築まで」オーム社より,入力用サンプルの文章もこちらから引用させて頂いています.)

viは,UNIXシステム用として最初に作成された真のスクリーンエディタで,シンプルで軽快なアプリケーションです.

システム管理者であるならば,viを習得しておくことは非常に大切です.
Linux(UNIX)システムでviが入っていないことは無いに等しいので,viを知っておくことはLinuxを扱う人にとって必要不可欠です.なぜなら,Linuxサーバをリモートで保守する場合,たいていの場合はGUIではなく,マウス等を使わないコンソール(テキスト)ベースでの作業となります.その環境で常に軽快で使えるエディタとなると,このviぐらいしかありません.

最近のディストリビューションでは,vi の代わりにその拡張版である vim がインストールされています.
vimは,viのクローンで,かつ,viを上回る機能を持っています.

通常 vim は /usr/bin/vi にシンボリックリンクが張られ,「vi」とコマンドを入力しても,viではなくvimが起動されるようになっています.

viの起動

  • 書式: vi [ファイル名]

それでは,ファイル「hello.txt」を編集してみましょう.

$ vi hello.txt[Enter]

編集画面は次のようになります.

~
~
~
~
~ 
"hello.txt" [New file]

~(チルダ)」はファイルの終わり[EOF]を表しています.

Continue reading “初心者のためのviエディタの使い方”

W32TeX on Windows 8.1

前回(MSYS2+VagrantによるWindowsでのUNIX環境),Windows 8.1 上にて MSYS2 環境を構築しましたので,今回はその上でTeXを動かしたいと思います.

WindowsでTeXといえば,TeX Liveか,TeXインストーラ3ということになるかと思います.

TeXインストーラ3
http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html

一般の人にはこれでいいかと思いますが,MSYS2のminttyとEmacs(YaTeX)の環境で,かつできるだけサイズを小さく環境構築したいので,以下の方法を採りました.忘れそうなので,ほぼ自分のために備忘録しておきます.一般の人には参考にならないかも...

まずは,TeXをインストールするフォルダを作成します.私は「C:¥Applications¥W32TeX」としました.後述する「DVIOUT」のためにも,本当はフォルダの名前の文字数は8文字以内がいいのですが...

Continue reading “W32TeX on Windows 8.1”