2016年3月10日木曜日

僕はLaravelを使う事にした(1):導入〜確認まで

このエントリーをはてなブックマークに追加
ずっとPHPのフレームワークはSymfonyを使っていたんだけれど、そろそろ新しいイケてるやつも出てきてるんじゃないかということで調べてみるとPHPフレームワークおすすめ一覧【10選】2015年⇒2016年へ向けて。という記事に当たり、その中からLaravelを試してみようと思ったので、導入〜確認まで。


Composerのインストール

Laravelでは依存関係の解決にComposerを使っているそうなので事前にインストールしておく。

Download Pageから1.0.0-beta1をダウンロードし、/usr/local/bin配下にcomposerという名前でリネームして移動させる。
$ wget https://getcomposer.org/download/1.0.0-beta1/composer.phar
$ mv composer.phar /usr/local/bin/composer
最後、コマンドとして実行するためにパーミッションを付与する。
$ chmod +x /usr/local/bin/composer

Laravelのインストール

これは簡単。先ほどインストールしたcomposerコマンドを叩くだけ。
$ composer global require "laravel/installer=~1.1"
Changed current directory to /root/.config/composer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/process (v3.0.3)
Downloading: 100%

- Installing symfony/polyfill-mbstring (v1.1.1)
Downloading: 100%

- Installing symfony/console (v3.0.3)
Downloading: 100%

- Installing guzzlehttp/promises (1.1.0)
Downloading: 100%

- Installing psr/http-message (1.0)
Downloading: 100%

- Installing guzzlehttp/psr7 (1.2.3)
Downloading: 100%

- Installing guzzlehttp/guzzle (6.1.1)
Downloading: 100%

- Installing laravel/installer (v1.3.1)
Downloading: 100%

symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files
最後に~/.composer/vendor/binにPATHを通しておく。

Laravelを利用したProjectの作成

これも簡単。Projectを作りたいディレクトリでLaravelのコマンドを実行する。今回は作成されたProject配下のpublicへDocumentRootにシンボリックリンクを作成したいので、その場合DocumentRootと同列のディレクトリにProjectを作成する。何かもっといい方法がありそうだけど。。。

参考:http://stackoverflow.com/questions/30301573/laravel-symbolic-links-without-losing-prefix
$ cd /usr/local/apache2
$ laravel new test1
$ ln -s ../test1/public test1
実行する前にstorageディレクトリにパーミッションを付与する。
chmod -R o+w storage

確認

URLにアクセスする。


できた、できた。

2016年3月3日木曜日

MacからSSHトンネリングでRDPする

このエントリーをはてなブックマークに追加
さて、さくらVPSにLubuntu Descktopを入れてVDI環境を作ったでRDPできるようにしたはいいものの、こいつもグローバルに画面が見えているのであればSSHを鍵認証にした意味がない。なので、RDP自身もSecureに利用するためにSSHのトンネリングを利用して接続できるように変更してみた。

WindowsだとputtyでSSH tunnelが作れるみたいだけど、MacにはputtyがないのでターミナルからコマンドでSSH tunnelを作成する。
ssh -L [any local Port]:localhost:3389 [username]@[sakura vps IP] -i ~/.ssh/[secretkey Name]

-L で指定するのはMacからRDPしたい時に指定するPort番号と、そのあとはSSH接続したサーバが接続しにいくhostとPort番号になる

MacのRemote Desktop Clientが指定するのはlocalhost:13389になる。この接続の中で利用するlocalhostは2つの意味がある。
Remote Desktop Clientのlocalhost:Macのlocalhost
SSHコマンドのlocalhost:サーバ側がフォワードにいくサーバとしてのlocalhost


あとはRDP側の接続をlocalhostからしか受け付けないようにする。/etc/xrdp/xrdp.iniの[globals]セクションに下記の指定を加える。
address=127.0.0.1
そのあとxrdpのサービスを再起動する。
$sudo service xrdp restart

これでSSH tunnelを確立した後でないとRDPできないようになった。これでリモート接続に関しては一安心。。。

2016年3月2日水曜日

さくらVPSにLubuntu Descktopを入れてVDI環境を作った

このエントリーをはてなブックマークに追加
家の外でモバイルで作業する時にはノートPCを持っていくことが多いんだけれど、いつも家にあるMacの3台のどれをもっていくかで悩んでいた。本来であればiPadで全部用事すませたいところなんだけど、なかなかかゆいところに手が届かなかったりするので。。。

家にあるMacは割と特徴がそれぞれ。
  1. MacBook Pro 13インチ (Retina, 13-inch, Late 2013
    • DDR3 1600MHz 8GB
    • Corei5 2.4Ghz
    • SSD 256GB
    • 1.57kg
  2. MacBook Pro 13インチ (13-inch, Mid 2012)
    • DDR3 1600MHz 16GB
    • Corei5 2.5Ghz
    • SSD 500GB(換装済み)
    • 2.06kg
    • Windows10がBootCampで入っている。
  3. MacBook Air 11インチ (11-inch, Mid 2012)
    • DDR3 1600MHz 4GB
    • Corei5 1.7Ghz
    • SSD 64GB
    • 1.08kg

一番、性能もいいのは②、画面がRetinaでないのが残念。一番重量は重い。①はRetinaで画面もきれいながら重量もそこまでないけど、持ち歩くと腰痛持ちにはちょっと荷が重い。。。

そこで目標を③のMacBook Airに絞った、ただしハード的な制約は割とあってSSDとメモリが少ない。特にSSDが少ないので、それを補うために仮想デスクトップを用意してシンクライアントっぽく利用できればと思って、さくらのVPSに軽量LinuxのLubutu-15-10 DesktopをさくらのVPSにインストールしてみた。


Debiun系さわるのは久しぶりなので少し勘を取り戻しながらやる。
以下、インストールしていったもの。


[Google Chrome]
デフォルトでブラウザはFirefoxが入ってるのだけど拡張機能とか使い慣れているChromeが良かったので

[sysv-rc-conf]
単純にRedhat系のchkconfigみたいなのが良かっただけ。

[SSH]
基本的にデスクトップ用途なのでデフォルトでは入っていない。それでもいいんだけれど何かあったときは必要だろうと思うのでインストール。ただしGlobalIPで接続することになるのでパスワード認証なし、Rootログインなし、鍵認証は必ずしておく。さすがにIPベースで縛るのはきびしいし。

[XRDP]
デスクトップにリモート接続するために導入。VNCより使い勝手がよさそう。

IDCFクラウドでUbuntu MATE 14.10とxrdpを使うを参考にさせていただいた。

割と使いやすい。でもメモリが1GBなのであまり重い処理はできないな。。。