【DevOps】【事初め】アプリ準備編 | no news.

【DevOps】【事初め】アプリ準備編

はじめに

さて、jenkinsのインストールが終わったので簡単なwebアプリを作ってそれをデプロイすることにします。

参考にさせてもらったのは初心者のためのCakePHP3 プログラミング入門です。

。。。ええこちらにもいろいろな事情がありまして、あえてCakePHP3を選ばせていただきましたよ。

CakePHP3のインストール

書いてある通りっちゃ書いてあるとおりなんですが、あとでエラーになるので事前に一部のモジュールをインストールしておきます。

$ sudo apt install php-intl php-mbstring

そしてcakephp3のインストール。

$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...

Composer (version 1.3.2) successfully installed to: /home/user/composer.phar
Use it: php composer.phar

$

そしてプロジェクトの作成。ここはとりあえず、定番のHello World、略してハロワということにしておきましょう。

。。。

飯田橋かぁ。。。

行ってたなぁ、去年の今頃。。。

$ php ~/composer.phar create-project --prefer-dist cakephp/app helloworld
Installing cakephp/app (3.3.6)
略
cakephp/app suggests installing markstory/asset_compress (An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.)
cakephp/app suggests installing phpunit/phpunit (Allows automated tests to be run without system-wide install.)
cakephp/app suggests installing cakephp/cakephp-codesniffer (Allows to check the code against the coding standards used in CakePHP.)
symfony/console suggests installing symfony/event-dispatcher ()
symfony/var-dumper suggests installing ext-symfony_debug ()
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
psy/psysh suggests installing hoa/console (A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit.)
composer/composer suggests installing ext-zip (Enabling the zip extension allows you to unzip archives)
cakephp/debug_kit suggests installing ext-sqlite (DebugKit needs to store panel data in a database. SQLite is simple and easy to use.)
Writing lock file
Generating autoload files
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
> App\Console\Installer::postInstall
Created config/app.php file
Set Folder Permissions ? (Default to Y) [Y,n]? y
Permissions set on /home/user/ドキュメント/helloworld/tmp/cache
Permissions set on /home/user/ドキュメント/helloworld/tmp/cache/models
Permissions set on /home/user/ドキュメント/helloworld/tmp/cache/persistent
Permissions set on /home/user/ドキュメント/helloworld/tmp/cache/views
Permissions set on /home/user/ドキュメント/helloworld/tmp/sessions
Permissions set on /home/user/ドキュメント/helloworld/tmp/tests
Permissions set on /home/user/ドキュメント/helloworld/tmp
Permissions set on /home/user/ドキュメント/helloworld/logs
Updated Security.salt value in config/app.php
$

ドキュメントがカッコ悪いですね。あとsuggestが云々(でんでんで変換されない)言われていますが、無視しときます。

何ができたか見ておきます。

$ ls helloworld
README.md composer.json config/ logs/ plugins/ tests/ vendor/
bin/ composer.lock index.php phpunit.xml.dist src/ tmp/ webroot/
$

次はcomposerのインストールだそうです。

$ pwd
/home/user/ドキュメント/helloworld
$ php ~/composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
> Cake\Composer\Installer\PluginInstaller::postAutoloadDump
> App\Console\Installer::postInstall
Set Folder Permissions ? (Default to Y) [Y,n]? y
No Security.salt placeholder to replace.
$

なんやら分かりませんね。今度はサーバ起動だそうです。

$ bin/cake server &
Welcome to CakePHP v3.3.13 Console
---------------------------------------------------------------
App : src
Path: /home/user/ドキュメント/helloworld/src/
DocumentRoot: /home/user/ドキュメント/helloworld/webroot
---------------------------------------------------------------
built-in server is running in http://localhost:8765/
You can exit with CTRL-C

この時点でサーバのIP+ポート番号でブラウザからアクセスできませんでした。

$ sudo netstat -ntlp
稼働中のインターネット接続 (サーバのみ)
Proto 受信-Q 送信-Q 内部アドレス 外部アドレス 状態 PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1296/sshd 
tcp6 0 0 :::22 :::* LISTEN 1296/sshd 
tcp6 0 0 ::1:8765 :::* LISTEN 2224/php 
$

本当にlocalhostでしかリッスンしてなかった。仕方ないので

$ curl http://localhost:8765/
<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>
 CakePHP: the rapid development PHP framework </title>

なんかタイトルとか出てきてるからOKでしょう、多分。

と思ったけど、そういやこのホストはGUIあるんだった。

このページのスクリーンショットと色が違うけど、とりあえず、見れた!

次は

デプロイまで行くはずだったんですがCakePHPだけでお腹いっぱいでしたorz(Cakeだけに)

。。。

Cakeだけに!!!!

次はデプロイの準備ということでCaistranoをいじりたいと思います。。。でも先にデプロイ先を決めないといけないので、少し考えます。

スポンサーリンク
レクタングル大

シェアする

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

フォローする

スポンサーリンク
レクタングル大