読者です 読者をやめる 読者になる 読者になる

不器用(TOT) エンジニアの気ままにプログラミング

~考え、作って、また考える~

MySQLへのPHPからの接続確認

構築するたびに確認用のPHPファイルを

なんだっけなと書くのが面倒なので、メモ。

 

<?php
$mysqli = new mysqli('localhost', 'hoge', 'hogepass');
if ($mysqli -> connect_errno) {
print('<p>Not access mysql</p>' . $mysqli -> connect_error);
exit();
}
else {
print('<p>Ok !! success mysql !!</p>');
exit();
}

?>

 

MySQLのユーザー操作

ユーザー追加等のメモ

 

基本、ここに書いてある(リファレンス)

MySQL :: MySQL 5.6 リファレンスマニュアル :: 6.3.2 ユーザーアカウントの追加

 

ユーザー追加

create user 'hoge'@'localhost' identified by 'hogepass';

ユーザー権限設定

GRANT ALL PRIVILEGES ON *.* TO 'hoge'@'localhost' WITH GRANT OPTION;

 

 

CakePHP3のインストールメモ(Composer)

 

 

Composer使って入れてみたときのメモ。

 

PHPのバージョン確認>

5.5.9以上ってこと

php -v

PHP 5.5.9

 

<Composer のインストール>

下記に記載がある。

Composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'aa96f26c2b67226a324c27919f1eb05f21c248b987e6195cad9690d5c1ff713d53020a02ac8c217dbf90a7eacc9d141d') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

 

php composer.phar create-project --prefer-dist cakephp/app my_app_name

でエラー

f:id:shevhome:20161120182812p:plain

スーパーユーザーで実行するなとのこと。

一般ユーザーに変更して実行。

f:id:shevhome:20161120182520p:plain

パーミッションエラーが起きた。

パーミッションを調整して再実行。

f:id:shevhome:20161120182913p:plain

 

apt-cache search intl

で探してみると、

f:id:shevhome:20161120183302p:plain

らしきものがあるので、これを入れてみる。

 

php composer.phar create-project --prefer-dist cakephp/app my_app_name 

をもう1回実行すると動いた

f:id:shevhome:20161120185741p:plain

 

f:id:shevhome:20161120185951p:plain

 

パーミッションないと言っているので調整。

 で、現時点でページにアクセスしてみるが500エラー。

f:id:shevhome:20161120190451p:plain

 

Apache側のエラーを確認

PHP Fatal error:  You must enable the intl extension to use CakePHP. in /var/www/html/cake/my_app_name/config/bootstrap.php on line 27 

 

ubuntuのapahceモジュールとしてintl.soファイルを読み込むように修正(/etc/apache2/mods-available)

 

で、次に表示されたのはこれ。

f:id:shevhome:20161120194639p:plain

src / Template / Page / home.ctpを独自のバージョンに置き換えない限り、デバッグモードをオフにするとこのページは表示されません。

これはデバッグモードをオフにしていないので出ているらしい。

ただ、CSSが適用されていないような・・・。

f:id:shevhome:20161121192020p:plain

こんなのを期待していたのだがな。

404エラーが出てた。

f:id:shevhome:20161121192051p:plain

対象はこれらか。

f:id:shevhome:20161121192113p:plain

画面上に出てたこれはmod_rewriteの設定漏れ?

f:id:shevhome:20161121192341p:plain

qiita.com

確認したがmod_rewriteは起動している・・・。

で、アクセス権限周りを修正

f:id:shevhome:20161121193823p:plain

 すると、表示された

f:id:shevhome:20161121193914p:plain

 

 

 

 

 

 

メモ_cakephpダウンロード

cakephpのダウンロード場所のメモ

Tags · cakephp/cakephp · GitHub

SFTPの設定

VPSMacでSFTPの接続をした際のメモ

 

参考記事

qiita.com

ユーザーを作成、鍵作成。

$ sudo useradd sftp-user
$ sudo passwd sftp-user 
$ sudo mkdir /home/sftp-user
$ sudo mkdir /home/sftp-user/.ssh
$ chown -R sftp-user:sftp-user /home/sftp-user

ssh-keygen -t rsa

cp id_rsa.pub authorized_keys
chmod 400 authorized_keys 

公開鍵:600、秘密鍵:400

 

id_rsaをクライアント側に持ってきてvps_key.pemなどにして、

下記のコマンドで接続を確認。

sftp -oPort="XXXX" -oIdentityFile="/Users/xxxxx/.ssh/vps_key.pem" sftp-user@XX.XX.XX.XX

 

上記で接続できれば、ツールでも接続できるはず。

ちなみにMacで使ったSFTPクライアントソフトはこれ

panic.com

 

Apacheの再起動

超基本的なことかもしれないが、Apacheの再起動の際、

「restart」を用いていたが、「graceful」を用いるべきであると知りました。

 

<参考:Apacheドキュメント>

Apache HTTP Server の停止と再起動 - Apache HTTP サーバ バージョン 2.4

 

上記の参考サイトの中で、「graceful」に関して、部分引用。

graceful シグナルを受け取ると、子プロセスに現在のリクエストの処理の後に終了する (あるいは何もしていなければすぐに終了する) ように助言します。

〜(中略)〜 子プロセスが徐々になくなるに従って、 新しい世代の設定による子プロセスに置き換えていきます。 そして、これらが新たなリクエストに即座に応答し始めます。

 

また、「restart」に関しても部分引用。

restart シグナルを親プロセスに送ると、 子プロセスを kill しますが、 親プロセスは終了しません。

 

読んだだけだと、最初はわからないかもしれません。

まず、上記を理解するための前提として、

「親プロセスが必要に応じて(リクエストに応じて)、子プロセスを作成している」

ということを把握しておく必要があるようです。

※これはApache MPM(Multi Processing Module)でググると良いです。

 

Apache MPMのことをサッと調べ、会社で教えてもらったことをまとめると、

個人的には、Apache再起動に関しては、下記の認識。

「graceful」・・・アクセスされている子プロセスはアクセス終了後に設定を反映

「restart」・・・・アクセスに関わらず子プロセスを終了して設定を反映

 

SCPによるファイル転送

相手先の接続するための

IPアドレス

・ID/パスワード

がわかっていることが前提だが、

ファイルを転送することができる。

 

それが「SCP」。

使ったことがなく、今回、使う機会があったのでメモ。

 

書き方の基本は

 SCP 【送るもの】 【送り先】

 となるが、フォルダ等の階層があるものは、

「-r」オプションをつけないとエラーが起こった。

 

なので、使い方的には

 SCP -r /local/fromdir user@192.168.11.1

 となる。

 

使ってみると大変便利なので、覚えておいた方が良いと感じる。