2016年12月11日日曜日

cakephpにおけるgmailアカウントによる送信設定

cakephpのマニュアル通りで、gmailのアカウントを設定しても、送信したら、エラーになって、gmailから「ブロックされたログインについてご確認ください」のメールが来た。メールの指示通り、「安全性の低いアプリ」のアクセスを許可しても、「SMTP server did not accept the password」のエラーになった。

そこで下記リンクにアクセスして、アカウントへのアクセスが有効にすれば、メールが送信できるようになった。
https://accounts.google.com/b/0/DisplayUnlockCaptcha

参考:http://stackoverflow.com/questions/26399202/sending-activation-email-smtp-server-did-not-accept-the-password

2016年12月7日水曜日

cloud9でcakephp2の設定

以前はgitHubからcloud9にcloneして、特に問題はなかったが。cakephp2のインストールファイルをそのままcloud9にコピーしたら、アクセスしようさい、「File does not exist」エラーになった。どうもweb rootの設定の問題のようです。

そこで、cloud9のapacheの設定を変更したところ、無事アクセスできるようになった。

sudo vi /etc/apache2/sites-enabled/001-cloud9.conf

DocumentRoot /home/ubuntu/workspace/app/webroot/ #この行を変更

sudo service apache2 restart

参考ページ
http://qiita.com/entaku19890818/items/918bdeeac6a99b03c93b
http://qiita.com/daiki7nohe/items/6e65d405f6dad1888d74

2016年11月20日日曜日

cloud9でcakephp3の動作確認

1)環境を整える、シェルで
phpmyadmin-ctl install

2)cakephp3をインストール、シェルで
curl -s https://getcomposer.org/installer | php
php composer.phar create-project --prefer-dist cakephp/app bookmarker

3)phpmyadminでDBとテーブルを作成

4)config/app.phpのDatasourcesのところで書き換える

5)自分のスペースにアクセスすると、cakephp3の環境設定完了の画面が出てくる
https://{app_address}/bookmarker/

6)シェルでbakeする
cd bookmarker
bin/cake bake all users
bin/cake bake all bookmarks
bin/cake bake all tags


2016年10月28日金曜日

awsにおけるcakephpの設定

git cloneであるcakephp2のプロジェクトをawsのweb rootに追加したが、top以外のところにアクセスできない。以下のメッセージがでてきている。

URL rewriting is not properly configured on your server.

とりあえずcakephpのマニュアルを参照、httpd.conf(/etc/httpd/confの下)を一行修正したところ、上記メッセージが消えてないが、アクセスできるようになった


<Directory "/var/www/html">
    AllowOverride All #none->All
</Directory>

2016年10月27日木曜日

AWS Amazon Liunx上phpmyadminをインストール

1)composerをインストール
sudo curl -sS https://getcomposer.org/installer | sudo php
sudo mv composer.phar /usr/local/bin/composer
sudo ln -s /usr/local/bin/composer /usr/bin/composer

2)phpmyadminをdownload
composer create-project phpmyadmin/phpmyadmin --repository-url=https://www.phpmyadmin.net/packages.json --no-dev

chmod -R 0755 phpmyadmin

3)Apacheを設定
sudo vi /etc/httpd/conf.d/phpmyadmin.conf

Alias /phpmyadmin "/var/www/phpmyadmin" #phpmyadminの場所
<Directory "/var/www/phpmyadmin" >
Order allow,deny
Allow from all #すべてのipからアクセスできる
</Directory>

4)apacheを再起動
sudo service httpd restart
sudo service mysqld restart

5)http://{ipaddress}/phpmyadmin/にアクセスしてもな
sudo less /etc/httpd/logs/error_log でエラーを調べたところ、

PHP Fatal error:  Uncaught Error: Call to undefined function mb_detect_encoding() in /var/www/phpmyadmin/libraries/php-gettext/gettext.inc ......

以下のパッケージをインスタール
sudo yum install php70-mbstring

6)再度httpdを再起動した、OK
sudo service httpd restart

Amazon Linux への LAMPインストール

1)すべてのソフトウェアパッケージが最新の状態に
sudo yum update -y

2)インストール
sudo yum install -y httpd24 php70 mysql56-server php70-mysqlnd

3)Apache ウェブサーバーを起動
sudo service httpd start

4)システムがブートするたびに Apache ウェブサーバーが起動するように設定
sudo chkconfig httpd on

確認するには、
chkconfig --list httpd

5)awsのインスタンスにHTTPルールをセキュリティグループに追加


6)インスタンスのパブリック DNS アドレス(またはパブリック IP アドレス)を入力すると、Apache テストページが表示される

7) Apache ドキュメントルート/var/www/htmlをwww グループに所有権を与える
sudo groupadd www
sudo usermod -a -G www {username}

再ログインし、グループを確認
groups

/var/ とそのコンテンツのグループ所有権を www グループに変更
sudo chown -R root:www /var/www


8)よく分からないが、公式マニュアル通り、以下を実行した
「/var/www およびそのサブディレクトリのディレクトリ許可を変更してグループの書き込み許可を設定し、将来のサブディレクトリにグループ ID を設定します。」
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;

「/var/www およびそのサブディレクトリのファイル許可を繰り返し変更してグループの書き込み許可を追加します。」
find /var/www -type f -exec sudo chmod 0664 {} \;

9)mysqlサーバーを起動、mysql rootのパスワードを設定
sudo service mysqld start
sudo mysql_secure_installation

10)ブート時にMySQL サーバーを起動させる
sudo chkconfig mysqld on

【参考ページ】
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/install-LAMP.html

AWS上仮想マシーンの作成と初期設定

1)仮想マシーンを作成
AWSの無料アカウントを取得したあと、EC2仮想マシーンを作成し、sshでログインためのpublic keyを生成します。
SUSE Linuxのインスタンスを作成し、うまくログインできなかったため、Amazon Linuxのインスタンスを作成した。

2)sshでログイン
Amazon Linuxのdefault userは「ec2-user」で、作成したpublic keyでログインできた。

3)rootパスワードの設定
sudo passwdで設定できた。

4)password方式でsshログイン
key方式は面倒のため、passwordでもsshログインできるように、rootになってから

vi /etc/ssh/sshd_config

「PasswordAuthentication yes」にして、sshdを再起動

/etc/init.d/sshd restart

5)新しいユーザーを追加、パスワードを設定
useradd {username}
passwd {username}

6)新しいユーザーがsudoを使えるように設定
visudo