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

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

MysqlのPHPでのソケットパスの設定

ソケットエラーが起こった際にデフォルトのソケットの場所が

そもそも間違っていたので、それに関するメモ。

 

現在の設定状況の確認

php -i | grep mysql.sock

下記の3箇所を確認

mysql.default_socket => XXXXX
mysqli.default_socket => XXXXX
pdo_mysql.default_socket => XXXXX

 修正はphp.iniのデフォルトのパス

pdo_mysql.default_socket=/xxxxxxxxx/mysql.sock
mysql.default_socket =/xxxxxxxxx/mysql.sock
mysqli.default_socket = /xxxxxxxxx/mysql.sock

 

あとはApache再起動でいけるかと。

 

 

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

 

 

 

 

 

 

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