こんなことする必要なく、python_d.exeを使うだけでOKですよー。前回まででLaravel実行におけるインフラ整備が終わりました。今回はLaravelプロジェクトの作成です。環境は引き続きこちらで構築したCentOS上です。Windowsのコマンドプロンプトを立ち上げて次のコマンドでCentOSを起動。upターミナルソフトでローカルポート2222にsshでアクセスします。以降の操作はターミナル上で行います。実行ユーザーはvagrantです。実行はホームディレクトリで行いましたプロジェクトを作成するには次のコマンドを実行します。プロジェクト名は「scoresheet」とします。scoresheet以下が出力されます。successfully.カレントディレクトリに「scoresheet」というフォルダが作成され、そこにLaravelの構成ファイルが作成されます。このコマンドでは最新バージョンがインストールされますが、プロジェクトによってはバージョンを指定してインストールしなければならないことがあります。5.1をインストールする場合はこう。scoresheetバージョンの3桁目は必ず*にしましょう。インストールされたバージョンは次のコマンドで確認できます。作成されたディレクトリに移動して実行しましょう。<プロジェクト名>」があります。create-project」コマンドで統一するのが良いようです。次はWebサーバーの設定です。rootになって作成したディレクトリをWebサーバーのディレクトリの下に移動します。/etc/httpd/scoresheet/etc/httpdはvagrantユーザーには書き込み権限がないため、rootで作業します。ダウンロードに失敗してしまいます。続けてLaravelホームをWebのルートにするためにhttpd.conを編集します。granted</Directory>※厳密にはWebサーバーのディレクトリ以下に必ずしも移動させるひつようはありません。httpd.confの設定でLaravelディレクトリへのエイリアスを設定し、そこをDocumentRootに設定するのでもいいでしょう。次にWebサーバーがLaravelのstorage、bootstrap/cacheディレクトリに書き込みできるようにパーミッションを調整します。bootstrap/cache最後にWebサーバーを再起動します。httpd再起動が完了したらホストOS(Windows)上のブラウザからルートにアクセスします。http://localhost:8080/Laravelロゴが表示されれば完成です。PHPPHPカンファレンス福岡2018先週末に開催されたPHPカンファレンス福岡に参加したのでその感想を簡単に。https://phpcon.fukuoka.jp/2018/PHPカンファレンス福岡は今年で4回目。東京で行われたPHPカンファレンスに参加できなかった人が「PHPカンファレンス福岡」とつぶやいたことから有志が集い福岡で開催が決定したというのが興味深いですね。弊社はブロンズスポンサーとして出資しています。朝から夕方まで開催されていて、主に初心者向けのセッションが多くありました。MySQLやコンテナ技術などPHPに関係しないセッションも多く、Webアプリ全般技術勉強会みたいな感じでした。してみた」Kubernetes(くーべねてぃす)のセッションです。Azureも次々に正式対応をしたということが説明されており、事実上の標準になったのではないか、ということでした。今後コンテナを使って開発/勉強を行うときには合わせて使ったほうがよさそうです。匠の技を倣うならドキュメントを読め!特にLaravelのドキュメントは良く書かれており、英文も単語を抜き出して読み進めればわかるはずだ!みたいなセッションでした。確かにオリジナルドキュメントは大事ですね。Live!!!」テストをやる人がどういった視点でテストをするのか?5分間の解説付きで実演していました。アカウントやパスワードのテキスト入力枠にhtmlのタグ付き長文を入力する、表記ゆれが気になる~、などあるあるだけどついついおろそかにしがちなことをテスターの心情を交えながら説明されてて、面白かったです。Deck」にアップされています。https://togetter.com/li/1237797セッション以外にもスポンサー企業ブースが併設されていていました。ノベリティ有り、コーヒーサービスありでゆっくり見て回れるようになっていました。参加者全員に配られたバッグや先着で配られたTシャツもよかったです。Laravelとそのバックエンド福岡拠点の香月です。Laravel環境構築編その2はLaravelのインストールまでの実践記です。今回インストールする環境は次の通りMySQL5.7PHP7.2ComporserLaravelインストーラ2.0.1MVCモデルのM(Model)としてMySQLを使用します。Laravelはphpアプリケーションなのでphpを入れて、Laravel構築に必要なComposerも入れます。Laravelの最新版は5.6、これを構築するためのLaravelインストーラを最後に入れます。環境は前回Vagrantで構築したCentOS上です。Windowsのコマンドプロンプトを立ち上げて次のコマンドでCentOSを起動。upターミナルソフトでローカルポート2222にsshでアクセスします。以降の操作はターミナル上で行います。事前準備としてyumレポジトリの有効/無効を切り替えることができるようにユーティリティをインストールしておきます。7」用のファイルをダウンロードし、インストールしていきます。mysqld1行目で公式から最新のrpmファイルをダウンロードし、2行目でyumレポジトリに追加します。そのままインストールするとMySQL8.0がインストールされてしまうので、3行目でレポジトリのMySQL8.0を無効にし、4行目でMySQL5.7を有効にします。5行目でインストール開始。6行目で起動、7行目でサービス登録です。MySQLの初回起動時にはログファイルにrootの初期パスワードが出力されるのでそれを使ってログインし、新しいパスワードを設定します。'<ここに新しいパスワード>';PHP7.2のインストール今回使用するLaravel5.6の公式ドキュメントでPHPの要件を確認すると、以下のようになっているので、それに合わせて拡張機能も一緒にインストールすることにします。バックエンドのMySQLのための拡張機能も一緒にインストールします。Extensionさらに、Laravel5.6の要件には書かれていませんが、zip拡張がないとLaravelインストールが失敗するため、これも一緒にインストールします。Repositoryで公開されているのでそれを利用します。CentOS用のURLからダウンロード、インストールします。php-mysql1行目でremi-release-7.rpmのインストールに必要なモジュールを事前にインストールします。2行目でパッケージをダウンロードし、3行目でレポジトリを追加。4行目でレポジトリのPHP7.2を有効にし、5行目で必要なモジュールを含めてインストールします。この4行目のPHP7.2の有効化を忘れると、CentOSのbaseレポジトリにあるPHP5.4がインストールされるので注意しましょう。これで必要なものが全部入りました。と打って必要なPHPの拡張モジュールが入っているか確認できます。mbstringも入ったのでPHPの日本語の設定を行っておきます。0今回Webサーバーにはapache2.4を使用しています。PHPの公式ドキュメントのApache2.x系へのインストールを見ると、apacheの設定ファイルにPHP7用のモジュールをロードするための設定の追加が必要と書かれています。modules/libphp7.soしかしそこはパッケージインストールの良いところ、yumでのインストールで以下のファイルが作成され、設定が行われています。modules/libphp7-zts.so</IfModule></IfModule>これを有効にするために、apacheを再起動します。これが正しく動作しているか確認するためにDocumentRootにファイルinfo.phpを追加します。----<?phpphpinfo();?>追加が完了したら動作確認のために、ホストOS(Windows)上のブラウザからこのファイルのURLを打ち込みます。http://localhost:8080/info.phpこの画面が出れば成功です。mbstringの欄も設定どおりになっていることも確認できます。apacheでは起動時にphp.iniを読み込むため、php.iniを編集した際は必ずapacheを再起動します。Started」と「Download」ページの記述に沿ってインストールします。引き続きrootでの作業です。-rで処理させて実行するように記述されているので、その通りにやります。深い意味はないと思いますけど。verified」で比較結果が正しいことが示されています。4行目でインストーラー実行し、5行目でインストーラーを削除しています。ここまでで同じフォルダに「composer.phar」が出来上がっているので、6行目で全ユーザーにパスが通っている/usr/local/binに「composer」という名前で配置します。LaravelインストーラのインストールいよいよLaravelです。Laravelはそれを使用するユーザーごとにインストーラをインストールすることが求められています。~/.bash_profile1行目でrootからvagrantユーザーに戻ります。2行目でLaravelの最新をインストールし、3行目で.bash_profileの編集を開始し、PATH=の行の最後に「:」をつけて、続けてLaravelのbinディレクトリを追加します。7行目で設定を再読み込みして完了です。Laravelインストーラが実行できるか確認します。2.0.1バージョンが表示されればOK。いうことでインフラ構築はここまで。ありがとうございました。インフラ福岡拠点の香月です。LaravelはPHPのWebアプリケーションフレームワークです。今後これの勉強を兼ねて不定期にLaravelの記事を書いていきたいと思います。環境構築編その1としてインフラ構築について実践記です。7.2ゲストOS上にapache2.4を導入となります。VirtualBoxのインストールOracleのホームページから最新版をダウンロードします。この時の最新版は5.2.8。PlatformのWindowsのところを見ると64bit版しかない模様。ダウンロードしたらインストーラを実行します。選択肢はすべてデフォルトのままでOK。Vagrantのインストール続いてVagrant。これはVirtualBox上にVMを簡単に作成してくれるすごいツールです。これをVargarnのホームページから最新版をダウンロードして実行します。この時の最新版は2.1.1。こちらも64bit版を選択。選択肢らしい選択肢はないのでデフォルトのままインストールします。仮想マシンを作成:CentOS7.2ではここから仮想マシンの作成です。仮想マシンはVagrantのboxと呼ばれるデータが公開されており、ここから目的に合致したboxを選択して仮想マシンを作成します。公開サイトの検索窓で「bento/centos」と入力して表示されるなかからCentOS7.2を選択します。(「bento」は「弁当」なんですね。)詳細サイトにはこのboxの使用方法が書いているので、newタブに書かれている通りにコマンドを実行することになります。Windowsのエクスプローラで好きな場所にフォルダを作成し、そこをVM作業フォルダとします。C:\vm\centos72としましょう。コマンドプロンプトでそのフォルダに移動し、上記newタブのコマンドを実行します。up1行目で初期化処理がはしり、作業フォルダに「Vagrantfile」が作成されます。2行目でCentOS7.2用のboxがダウンロードされ、VirtualBox用仮想マシンを展開、実行開始となります。これで仮想マシンが作成され、CentOS7.2が起動しました。次は一度止めてapacheにホストOSのブラウザからアクセスするためにポートフォワーディングの設定をします。halt止まったら作業フォルダにあるVagrantfileをエディタで開いて、以下の行を有効にしましょう。8080これでブラウザから「http://localhost:8080/」を開くと、CentOS上のポート80番で待ち受けているapacheが反応してくれます(apacheのインストールまだこの後)。ホストOSですでにwebサーバーを実行している場合にポート番号の重複を防ぐことができます。CentOSを起動しましょう。up今度はboxをダウンロードする必要はないためすぐにCentOSが起動します。apacheのインストール次はCentOS上にapacheをインストールします。PuTTYなどターミナルソフトでローカルポート2222にsshでアクセスします。ユーザー名、パスワードは「vagrant」となっています。無事ログインできました。※sshのデフォルトポートは22でこのCentOSでも22で動いています。ターミナルソフトで2222でアクセスするのは、Vagrantでは「2222」->「22」へのポートフォワーディングが常に有効なためです。CentOSではyumコマンドを使ってソフトをインストールできます。ソースからビルドするより簡単ですね。ユーザーrootで実行します。httpd途中いくつか確認が求められるので「y」で続行するとインストール完了です。httpdブラウザから「http://localhost:8080」にアクセスしてみましょう。ページを表示できました。ここで表示できない場合、上に戻ってポートフォワーディングの設定を確認してください。CentOSを再起動してもapacheが実行されるようにしておきます。httpd.serviceこれでインフラは完成しました。次回はPHP、Comporser、Laravelのインストールの予定です。