アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

('ω') < イザユケエンジニャー

自分でWebサービスを作ってみる その1

「なんかWebシステムつくりたい!」ので、自力で環境構築からサンプルプログラム作成までを目指す。
絵描いてる人が休憩にらくがきしはじめるみたいなやつ。

…とはいえ、いつもコーディングが主なので環境構築自体はやらないんですよね…
慣れない作業なので手順メモとして残しておきます。あくまでメモなので詳細は参考文献へ。

とりあえずさくらインターネットの無料期間を利用し(2週間)
最近のPHPフレームワークといえば…でlaravelを使用。


今回の内容

  1. さくらインターネットでサーバーを借りる
  2. TeraTermからログインしてみる
  3. laravelでプロジェクトを作る
  4. プロジェクトをローカルに落とす
  5. HelloWorldする

さくらインターネットでサーバーを借りる

こちらから。
スタンダードプランとしました。
レンタルサーバー|さくらインターネット - 無料SSL対応!お試し2週間

登録が終わったら「仮登録のお知らせ」というメールがくるので、
管理ページからパスワードを好きなものに変更しておきます。
変更したパスワードでSSHFTPできます。

TeraTermWinSCPからログインしてみる

お好みのツールでよいのですが、とりあえず個人的に慣れている両ツールからログインできることを確認。

Teraterm
Tera Term (テラターム) プロジェクト日本語トップページ - OSDN

WinSCP
WinSCP プロジェクト日本語トップページ - OSDN

laravelでプロジェクトを作る

参考文献はこちら
さくらレンタルサーバにLaravelをインストールする - Laravel学習帳
Laravel5をさくらのレンタルサーバで動かす(スタンダードプラン以上) | C-RTX BLOG

composer.phar のダウンロード・インストール

curl -sS https://getcomposer.org/installer | php
# php composer.phar で確認可能

プロジェクトを作る

php composer.phar create-project "laravel/laravel=5.2.*" [プロジェクト名]
# ホームディレクトリにプロジェクト名のディレクトリができていればOK

publicディレクトリの中身を、ホームディレクトリの「www」に移動する
laravelでは通常ドキュメントルートがpublicディレクトリのようですが、
レンタルサーバーなので、「○○.sakura.ne.jp」で出てくるのは「home/www/index.php (やindex.html)」固定です。
ということで、publicの中身を移動させます。

cd ./[プロジェクト名]/public/
mv ./.htaccess ../../www/.htaccess
mv ./favicon.ico ../../www/favicon.ico
mv ./index.php ../../www/index.php
mv ./robots.txt ../../www/robots.txt
mv ./web.config ../../www/web.config

移動させたら、移動先のindex.phpを書き換えます。

/../bootstrap/ ...
となっているところを
/../[プロジェクト名]/bootstrap/ ...
にする(2か所)

ここまででプロジェクトの基本設定が完了しているはずなので、「○○.sakura.ne.jp」にアクセスしてみる。
真ん中に大きく「Laravel5」と表示されたらOK。

プロジェクトをローカルに落とす

WinSCPでプロジェクト名ディレクトリをダウンロード。約25MBの模様。
Gitなどはとりあえず今回はパス。

Hello World する

IDEにはNetBeansを選択。PHPStormは有料だしEclipseは重いし。
ファイル>新規プロジェクト>PHP>既存のソースを使用するPHPアプリケーション
で、「ソース・フォルダ」にダウンロードしたフォルダを選択すればOK。

PHPの場合、HelloWorldしたければindex.phpにそう書くだけでもちろん実現するんですが、
まあもちろんやりたいことはそうじゃないので、もう一歩踏み込みます。

参考文献
LaravelでHello Worldの表示 - Laravel学習帳
ビュー 5.1 Laravel

laravelでは、ルーティングを app/Http/routes.php で行っているとのこと。
中身を見てみると、デフォルトで以下のようになっていました。

Route::get('/', function () {
    return view('welcome');
});

これは、ルート(○○.sakura.ne.jp/)を呼び出すと「welcome」というviewの中身を返す、という意味合いのよう。
ということで試しに書き換えてみる。

Route::get('/', function () {
    return "hello LARAVEL and PHP world!!!!";
});

これをWinSCPでアップロードしたのちにアクセスしてみると、無事にこの文字列が表示されました。

さらにもう一歩だけ踏み込んで、welcomeというviewとやらを探してみると、resources/views/welcome.blade.php がそれの模様。
確かに「Laravel 5」の文字があったので、これを任意の文字に書き換え、
さっきのroutes.phpをもとに戻してアップロードしたら再度アクセス。

f:id:honey8823:20180311003331p:plain

無事に書き換わりました。

ということでHelloWorldはとりあえずここまで。