月別アーカイブ: 2017年10月

PostgreSQL のインストール(phppgadmin)

Mysqlはディストリビューションの標準がMariaDBになったり、ライセンスがいろいろ複雑だったりするので、postgresqlを使用します。
postgresqlのライセンスについてはこちらを参照してください。
また、GUIで操作も出来るようにphpPgAdminもインストールします。

$sudo apt-get install postgresql
バージョン確認
psql –version
さて、インストールが確認できたらルートユーザーにパスワードを設定しましょう。PostgreSQL のルートユーザーは、デフォルトでは postgres です。そこで、この postgres ユーザーに強固なパスワードを設定しましょう。

$ sudo passwd postgres
パスワードを2回入力します。

正しくパスワードが更新されたら、su(substitute user=ユーザーの変更)コマンドで postgres ユーザーになってみましょう。
$su -postgres

この後 phppgadminでパスワードが必要になるので、postgresユーザーにパスワードを設定しておく。
$ psql -c “alter user postgres with password ‘(パスワード)'”
$ exit

GUI(WEB)からpostgresqlを管理出来るツールphpPgAdminインストールします。

$ sudo pat-get install phpPgAdmin

設定します。ネットワーク環境にあわせてください。
$ sudo vi /etc/phppgadmin/config.inc.php

$conf[‘extra_login_security’] = false;
$conf[‘owned_only’] = true;
上記を変更

sudo vi /etc/apache2/conf-enabled/phppgadmin.conf
Require ip 192.168.0.0/24
追加

$ sudo vi /etc/postgresql/9.4/main/pg_hba.conf
host all all 192.168.0.0/24 md5
追加

サービスを再起動
$sudo systemctl restart postgresql apache2

http://(サーバIP)/phppgadminでアクセスします。
該当サーバをクリックし、先に設定したpostgres,パスワードでログインできればOKです。



<広告 (注)以下の書籍は、このページの記載内容とは関係ありません。>

PostgreSQL徹底入門第3版 [ 笠原辰仁 ]

価格:3,542円
(2017/11/24 16:27時点)

PostgreSQL: Up and RunningA Practical Guide to the Advanced Open Source Database【電子書籍】[ Regina O. Obe ]

価格:3,024円
(2017/11/24 16:26時点)

cakephp環境構築1

webアプリをcakephpで作成するにあたって開発環境の構築と、動作テストを行います。

まず、インストールから。
ここまでの設定で不足しているものがあるので
sudo apt-get install php5-intl
sudo apt-get install php5-sqlite

でインストールします。

wwwディレクトリに移動
$cd /var/www
$sudo curl -s https://getcomposer.org/installer | sudo php
$sudo mv composer.phar /usr/local/sbin/composer
test_appプロジェクトを作成します。
$cd html
$sudo mkdir test_app
rootでは作成できないので、htmlディレクトリのオーナをユーザにします。
$sudo chown [user] test__app
下記コマンドでプロジェクト作成します。
$ composer create-project –prefer-dist cakephp/app ./

確認
ブラウザからhttp://サーバアドレス/test_appにアクセスします。
次のような画面が表示されます。



データベースの作成していないので、エラーがいろいろ表示がされることもありますが、ここではOKです。
<広告 ※このページの記載内容とは関係ありません。>

PHPフレームワーク CakePHP 3入門 [ 掌田津耶乃 ]

価格:3,024円
(2017/11/24 16:18時点)

cakephp環境構築2 データベース作成、BAKE

1 phppgadminでデータベースを作成します。
サーバを選択し、「データベース」を作成するをクリックします。
名前をtest_appとして「作成」をクリックします。
その他の項目は問題があれば後で変更することにします。

2 テーブルを作成します。
作成した、test_appのテーブルを選択し、「テーブルを作成する」をクリックします。
下のテーブル構造のとおりテーブルを作成します。
postgresにはautoinclimentが無いので、idはselialを選択します。

CREATE TABLE users (
id integer NOT NULL,
username character varying(50) NOT NULL,
password character varying(255),
role character varying(20),
created timestamp with time zone,
modified timestamp with time zone
);
作成時idにinteger等を選択してしまった場合、後からselealは選択できないので、シーケンスを作成します。
test_appのシーケンスを選択し、「シーケンスを作成する」をクリックします。
CREATE SEQUENCE users_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
※「postgreSQLでautoincrimentを実装する(https://norm-nois.com/blog/archives/555)」を参考にしました。
3 cakephp DB設定
/test_app/config/app.php
下記セクシクションを書き換えます
‘Datasources’ => [
‘default’ => [
‘className’ => ‘Cake\Database\Connection’,
‘driver’ => ‘Cake\Database\Driver\Postgres’,//postgresql
‘persistent’ => false,
‘host’ => ‘localhost’,
/**
* 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’ => ‘cakeuser’,
‘password’ => ‘*********’,//パスワード
‘database’ => ‘test_app’,
‘encoding’ => ‘utf8’,
‘timezone’ => ‘Asia/Tokyo’,
‘flags’ => [],
‘cacheMetadata’ => true,
‘log’ => false,

4 bakeします。
$cd /var/www/html/test_app/bin/
$./cake bake all users

テーブルのアクセス権がないと
Your database does not have any table
などが表示されます。

ブラウザから、http://(server_ip)/test_app/usersでアクセスします。
New Userで追加など動作を確認します。
以下は動作イメージです。

<広告 (注)以下の書籍は、このページの記載内容とは関係ありません。>

PostgreSQL徹底入門第3版 [ 笠原辰仁 ]

価格:3,542円
(2017/11/24 16:27時点)

PostgreSQL: Up and RunningA Practical Guide to the Advanced Open Source Database【電子書籍】[ Regina O. Obe ]

価格:3,024円
(2017/11/24 16:26時点)