2019年10月30日水曜日

コアサーバーにcakephp3をインストール

コアサーバーにcakephp3をインストール.md

sshでログインします。

ssh ユーザー名@サーバー名.valueserver.jp
ユーザー名@サーバー名.valueserver.jp's password:サーバーパスワードを入力する

コンポーザーのインストール

curl -s http://getcomposer.org/installer | php71cli

バリューサーバーではコマンドラインを使う時は php71cli を使わないといけない。
php73cli も用意されているのだが、xmlreader が無いのでcomposerやbakeの時にワーニングやエラーが出てしまいます。

これで composer.phar が ~/にできた訳だ。

composer を使うたびに php71cli ~/composer.phar とするのが面倒だとお思いなら、次のように .bashrc にでもエイリアスを仕込んでやれば良いだろう。

alias composer='php71cli ~/composer.phar'

.bash_profileが無い場合はこれも作ります。

エイリアスは.bashrcに書いただけでは設定が反映されません。

なので設定を反映させるために、.bash_profile.bashrcを読んでもらう必要があります。

.bash_profileターミナルが起動すると読み込まれるので、そのタイミングで.bashrcも読んでもらいます。

ターミナルからvi ~/.bash_profileと打って、.bash_profileをvimで開き、ファイルの一番下に以下のコマンドを記述しましょう。

source ~/.bashrc

cakephp用のフォルダーを作る

mkdir ~/cakephp
cd ~/cakephp

cakephpのインストール

composer create-project --prefer-dist cakephp/app:^3.8.1 app

追加プラグインのインストール

cd app
composer require phpoffice/phpspreadsheet
composer require friendsofcake/search
composer require friendsofcake/bootstrap-ui ^2.0.0-RC

追加プラグインのロード

php71cli ./bin/cake.php plugin load Search
php71cli ./bin/cake.php plugin load BootstrapUI

bootstrap shell を使用して必要な変更を加えます。

php71cli ./bin/cake.php bootstrap modify_view

これにより、[README]のAppViewセットアップで説明されているように、src / View / AppViewが書き換えられます。

php71cli ./bin/cake.php bootstrap copy_layouts

これにより、cover.ctp、dashboard.ctp、signin.ctpの3つのサンプルレイアウトがアプリのsrc / Template / Layout / TwitterBootstrapにコピーされます。

データベースの設定

~/cakephp/app/config/app.phpを開く256行目あたりに

    'Datasources' => [
        'default' => [
            'className' => Connection::class,
            'driver' => Mysql::class,
            'persistent' => false,
            'host' => 'ホスト名', // mysql638.db.sakura.ne.jp
            /*
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'non_standard_port_number',
            'username' => '<ユーザー名>',
            'password' => '<パスワード>',
            'database' => '<データベース名>',
            /*
             * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6).
             */
            //'encoding' => 'utf8mb4',
            'timezone' => 'UTC',
            // 'timezone' => 'Asia/Tokyo',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

ウェブフォルダーにシンボリックリンクを作る

cd ~/public_html
ln -s ~/cakephp/app/webroot web_site_url

2019年9月4日水曜日

バリューサーバーにcakephp3をインストール

バリューサーバーにcakephp3をインストール

sshでログインします。

ssh ユーザー名@サーバー名.valueserver.jp
ユーザー名@サーバー名.valueserver.jp's password:サーバーパスワードを入力する

コンポーザーのインストール

curl -s http://getcomposer.org/installer | php56cli

バリューサーバーではコマンドラインを使う時は php56cli を使わないといけない。
php73cli も用意されているのだが、xmlreader が無いのでcomposerやbakeの時にワーニングやエラーが出てしまいます。

これで composer.phar が ~/にできた訳だ。

composer を使うたびに php56cli ~/composer.phar とするのが面倒だとお思いなら、次のように .bashrc にでもエイリアスを仕込んでやれば良いだろう。

alias composer='php56cli ~/composer.phar'

cakephp用のフォルダーを作る

mkdir ~/cakephp
cd ~/cakephp

cakephpのインストール

composer create-project --prefer-dist cakephp/app:^3.8.1 app

データベースの設定

~/cakephp/app/config/app.phpを開く256行目あたりに

    'Datasources' => [
        'default' => [
            'className' => Connection::class,
            'driver' => Mysql::class,
            'persistent' => false,
            'host' => 'ホスト名', // mysql638.db.sakura.ne.jp
            /*
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'non_standard_port_number',
            'username' => '<ユーザー名>',
            'password' => '<パスワード>',
            'database' => '<データベース名>',
            /*
             * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6).
             */
            //'encoding' => 'utf8mb4',
            'timezone' => 'UTC',
            // 'timezone' => 'Asia/Tokyo',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

ウェブフォルダーにシンボリックリンクを作る

cd ~/public_html
ln -s ~/cakephp/app/webroot web_site_url

さくらインターネットにcakephp3をインストール

さくらインターネットにcakephp3をインストール

sshでログインします。

ssh ユーザー名@ユーザー名.sakura.ne.jp
ユーザー名@ユーザー名.sakura.ne.jp's password:サーバーパスワードを入力する

コンポーザーのインストール

curl -s http://getcomposer.org/installer | php
php composer.phar self-update
mkdir ~/bin
mv composer.phar ~/bin/composer

cakephp用のフォルダーを作る

mkdir ~/cakephp
cd ~/cakephp

cakephpのインストール

~/bin/composer create-project --prefer-dist cakephp/app:^3.8.1 app

追加プラグインのインストール

cd app
composer require phpoffice/phpspreadsheet
composer require friendsofcake/search
composer require friendsofcake/bootstrap-ui ^2.0.0-RC

追加プラグインのロード

bin/cake.php plugin load Search
bin/cake.php plugin load BootstrapUI

bootstrap shell を使用して必要な変更を加えます。

bin/cake.php bootstrap modify_view

これにより、[README]のAppViewセットアップで説明されているように、src / View / AppViewが書き換えられます。

bin/cake.php bootstrap copy_layouts

これにより、cover.ctp、dashboard.ctp、signin.ctpの3つのサンプルレイアウトがアプリのsrc/Template/Layout/TwitterBootstrapにコピーされます。

データベースの設定

~/cakephp/app/config/app.phpを開く256行目あたりに

    'Datasources' => [
        'default' => [
            'className' => Connection::class,
            'driver' => Mysql::class,
            'persistent' => false,
            'host' => 'ホスト名', // mysql638.db.sakura.ne.jp
            /*
             * CakePHP will use the default DB port based on the driver selected
             * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
             * the following line and set the port accordingly
             */
            //'port' => 'non_standard_port_number',
            'username' => '<ユーザー名>',
            'password' => '<パスワード>',
            'database' => '<データベース名>',
            /*
             * You do not need to set this flag to use full utf-8 encoding (internal default since CakePHP 3.6).
             */
            //'encoding' => 'utf8mb4',
            'timezone' => 'UTC',
            // 'timezone' => 'Asia/Tokyo',
            'flags' => [],
            'cacheMetadata' => true,
            'log' => false,

ウェブフォルダーにシンボリックリンクを作る

cd ~/www
ln -s ~/cakephp/app/webroot web_site_url

2018年6月19日火曜日

ubuntu server 18.04 のインストール④ mysqlとphpmyadminのインストール

rootのパスワードを設定していないので 「mysql -u root」とするも「ERROR 1698 (28000): Access denied for user 'root'@'localhost'」とアクセス拒否。「sudo mysql」ならOKだったので作業を進める。

インストールでrootのパスワードを空にすると、rootの認証にはauth_socket pluginを使うように設定されるらしい。

auth_socket pluginは、MySQLクライアントを実行したlinuxユーザーを、MySQLのユーザーとして認証しようとするらしい。

このままではrootでphpmyadminにログインできませんがセキュリティの事を考えるとこのままで良いかと

ユーザーを作ってそのユーザーで'apps_alpha'、'apps_beta'、'apps_gamma'というようにデーターベースを作れるようにすれば良いんじゃない

ユーザーの作成

権限を付加

確認してみましょう

問題無いようなので

次にphpmyadminをインストールします。

「sudo apt install」でインストールしてもいいんですが今回は手動で

オフィシャルサイトからダウンロードして解凍「/var/www/phpmyadmin」に設置します。

unzipが無かったのでインストール

任意のディレクトリに置くのはルートだとやっぱりセキュリティ的に・・・任意のディレクトリにBASIC認証でもかけておけば少しはましかな、外に置くならね

phpmyadminを有効にする

apachを再起動する

phpMyAdminへログインした時に「phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています」とワーニングが出てしまうのでphpMyAdmin 環境保管領域を設置します

「sudo mysql」でmysqlに接続して

ubuntu server 18.04 のインストール③ phpとapacheのインストール

mod_rewriteが有効になっていないので

Apacheのインストール時にサンプルのSSL証明書が自動的に作成されるので、とりあえずこれを有効にしておく

nmapで通信ポートの確認する

443ポートがオープンされている。サンプルのSSL証明書でのSSL通信が可能になった。

2018年6月18日月曜日

ubuntu server 18.04 のインストール② 日本語 Remixに追加されているパッケージのインストール

再起動後

インストール時に作成したアカウントでログインします。

IPアドレスが表示されているのでメモをしておく。

最新のアップデートを適用します。

[ENTER]を押下します

ここからの作業は日本語環境にする場合のみ適用する

Ubuntuの日本語環境のJapanese Teamによる追加パッケージの利用方法の2を適用します。

Ubuntu 18.04 LTSの場合n

上記を1行ずつ実行します。

アップデートを実行します

日本語 Remixに追加されているパッケージと同じものをインストールします

.bashrcの最後に以下のスクリプトを追加するとsshでログインした時に日本語環境なります。

ubuntu server 18.04 のインストール①

仮想環境にubunto servereのLAMP環境を構築します。今回はubuntu-18.04-live-server-amd64.isoを使います

||ubuntu-18.04-server-amd64.isoも有る||

Homepage | Ubuntu Japanese Teamからubuntu-18.04-live-server-amd64.isoをダウンロードして仮想環境で立ち上げます。

自分の環境に合ったキーボードを選択します。

そのまま[ENTER]で次へ

ネットワークの設定ですが、今回はDHCPで問題無いのでそのまま次へ。固定アドレスにしたい場合は設定して下さい。

プロキシーは設定しないのでそのまま次へ

ディスクの割当ですが自動でよいのでそのまま次へ

そのまま次へ

そのまま次へ

そのまま次へ

名前を入力します。サーバー名と管理用アカウントとパスワードをしっかり入力します。

[Reboot Now]押すとシャットダウン処理を始めます

[ENTER]を押すと再起動が始まります。

ubuntuのベースのインストールは完了しました。引き続きログインして必要なモジュールをインストールします。

2018年2月16日金曜日

cakephp 2.x 日付でログローテーション

Config/bootstrap.phpの「Configures default file logging options」を以下のようにすると良い

2017年10月25日水曜日

mysql timestamp型<=>datetime型に変換

datetime型をtimestampに変換

select unix_timestamp('2017-10-24 09:31:42');
-> 1508805102

 timestampをdatetime型に変換

select from_unixtime(1508805102);
-> 2017-10-24 09:31:42

select from_unixtime(1508805102, '%Y/%m/%d %H:%i:%s');
->  2017/10/24 09:31:42

2017年10月20日金曜日

さくらインターネットで複数のバージョンのPHPを使う。PART2

以前「さくらインターネットで複数のバージョンのPHPを使う。」という記事を書いたが
標準が5.6になったでも7.1を使ってみたいよね。
PHPのバージョン選択を7.1にして動かない物だけ5.6を使うようにする。

コマンドラインでの作業になりますので十分注意をすること。 sshで自分のサーバーにログインします。 windowsならputtyとかPoderosaとか、 Macならcodaとかターミナルから ssh <自分のアカウント>@<自分のアカウント>.sakura.ne.jp と打ち込めばログインできます。

それぞれのディレクトリ下にbinディレクトリがありその下の目的のものがある。

このなかでファイルサイズの小さい物はリンクなので
大きいものを探す。どうやら本体はphp-cgiのようだ
これをwww/cgi-binにコピーする。

wwwに移動
ディレクトリcgi-binを作る
cgi-binに移動
先ほどlsで確かめたファイルをコピーする

コピーしたてはパーミッションが644になるので755に変更する必要がある
5.2なら/usr/local/5.2/bin/php-cgi

webサイトのrootの.htaccessに

の2行を追加する。

.htaccessが無ければ作って保存する。

OSのバージョンが変わったらphp52.cgiを作り直す
そうしないと「Internal Server Error」が出ます。
AddHandler php52-script .php .html
とすると、拡張子が.htmlのままPHPのスクリプトを実行させる時にも使えます。

マルチドメインの場合はフォルダーの下にcgi-binを作り
同じようにコピーして.htaccessを置きます。

2017年9月29日金曜日

cahephp2 FormHelperの日時オプション 最大値、最小値、降順、昇順の設定

【FormHelper】
date(), datetime(), year(), input(typeがdate, datetime)
日時オプション
    $options['minYear'], $options['maxYear'] date/datetime と組み合わせて 使います。年の select フィールドで表示される値の最小値および/または 最大値を定義します。

    $options['orderYear'] date/datetime と組み合わせて、年の値を表示する 順序を定義します。有効な値は ‘asc’, ‘desc’ で、デフォルトは ‘desc’ です。