ubuntu + Nginx + MariaDB + Laravel5.1

  • このエントリーをはてなブックマークに追加
  • Pocket

今一番ホットなPHPフレームワークのLaravelのインストールともろもろの設定からviewを表示するまでのまとめ。

主に自分用。

環境

  • ubuntu 14.04
  • PHP 5.5.9
  • Nginx 1.4.6
  • MariaDB 5.5.44
  • Laravel 5.1.4

Laravelのインストール

Laravelはcomposerでインストールする。

まずはアップデートしてから。

composerなんかねぇよって方はダウンロードしてから。

composer.pharがダウンロードされるので、 /usr/local/bin/ に入れるなり、
$ php composer.phar で使うなり、コロ助なり。

これでカレントディレクトリに laravel というプロジェクトディレクトリが作成されてればOK.

Nginxの設定

Laravelの公式サイトに載っている設定だとなんだか動かなかったので試行錯誤。

以下の設定で動作した。

/etc/nginx/sites-available/laravel

シンボリックリンクを張る。

僕の環境だと他にも動いてるものがあるためhostsを編集する。

/etc/hosts

nginxを再起動。

ひとまず動作確認。

http://laravel にアクセス。

laravel5

cool.

DBの設定

LaravelのデフォルトはMySQLだけど、DBにはMariaDBを使用してみる。

MysqlでもいいけどMariaDBは完全上位互換だし、企業管理じゃないし、centOSのデフォルトはMySQLからMariaDBに切り替わってるし、Oracle好きじゃないし。

流れといては先にデータベースを作成して、Laravelのマイグレーションファイルを作成して、それを作成したデータベースに流す感じ。

データベースの作成

今回は「laravel」データベースを作成。

ユーザはとりあえずrootで。

マイグレーションファイルの作成

何か適当に「hoge」テーブルでも作ってみる。

プロジェクトのルートディレクトリで以下のコマンドを実行。

database/migrations/2015_08_07_035542_create_hoge_table.php が作成されるのでこれにテーブル定義を書いていく。

中身はこんな感じ。

これを以下の用に修正。

マイグレーションの実行。

他にあったusersとpassword_resetsテーブルも作られちゃうけど、これでテーブルも完成。

確認してみる。

DB接続の設定

.env にDBの設定を書ける。

先ほど作ったDBの設定を記述。

DBの動作確認

DBにつながるか確認。

何もレコードがないので空だけど接続できてるっぽい。

Laravelの設定

config/app.phpのタイムゾーンとロケールを日本用に修正する。

これでとりあえず設定回りはOK.

コントローラの作成

Laravelでググるとみんなルーティングから手を付けるっぽいので、なんだかいやだった。

まず表示するものから作りましょ。

例のごとく、artisanを使って作成。
普通に作成してもいいけどね。

app/Http/Controllers/HogeController.php が作成されている。

artisanで作成するとプリセット(?)のような感じでいろいろ記述してくれる。

いらないところは消そう。

とりあえずindex()で”Hello Laravel”とでも出力してみる。

ここで動かしてもルーティングを設定してないのでエラーになる。

ルーティング

大抵のフレームワークにはroutesがあると思うが、FuelPHPは別に必須項目じゃなかった。

Laravelでは必須のようだ。

app/Html/routes.php welcomeがrootになってるので強奪。

ここで動作確認。

hello_laravel  

cooool.

viewの作成

echoだけだと味気ないのでviewを作成してコントローラから呼んでみる。

作るのは2種類。

  • 共通のview
  • コントローラのメソッドごとのview

共通のviewはヘッダフッタとか共通のcss、jsを読み込む担当。
メソッドごとは、まあ、なんだ、そのままだねw

共通のviewはめんどくさいのでデフォルトのものを再利用する。

ただ、そのままだと使えないからbody部分を以下のように修正。

続いてHoge/index用のviewを作成する。

resources/views/hoge/index.blade.php を作成。

コントローラから呼び出す。

app/Http/Controllers/HogeController.php

確認してみる。

hoge  

coooooooooooooooooooooooooooooooooool.

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*