SSブログ

phpMyAdminを使う(ユーザー作成編) [WEBサービス]

1. ユーザーの作成

「ユーザ」タブを押すと、ユーザ管理画面が現れる。

image

すでに6名のユーザが登録されています。現在ログインしている"root"以外はパスワードの設定が「いいえ」となっている。パスワードを設定するか、削除するか対応が必要。

既存ユーザの処理は後回しとし、新規にユーザを追加してみる。

「ユーザを追加する」を選択すると、ユーザ作成画面が表示されます。

image

①ログイン情報の登録

image

ここで、「sample_user」という名前のデータベースユーザー、パスワード「sample_pass」で作成する。外部サーバーからの接続は行わないので、ホスト名は「localhost」を選択します。

image

② 権限の登録

画面を下に送ると「権限の登録」画面が現れる。今回はすべての権限を与えます。

グローバル特権(すべてチェックする/据えてのチェックを外す)の「すべてチェックする」を選択しました。

image

最後に「ユーザを追加する」ボタンを押すとデータベースユーザが追加されました。

image

参考サイト


phpMyAdminを使う(データベース作成編) [WEBサービス]

1. データベースの作成

「データベース」タブを押すと、データベース管理画面が現れる。

image

新規にデータベースを作成する場合、「新規にデータベースを作成する」と書かれたテキストボックスにデータベースの名前を入力する。

image

照合順序はデフォルトのままで「作成」ボタンを押す。

image

データベース"sample_db"が作成されました。

照合順序に関しては以下を参照してください。

http://dev.mysql.com/doc/refman/5.1/ja/charset-general.html

ちなみにデータベースの削除は、削除したいデータベースのチェックボックスをチェックし削除ボタンを押す。

image

 

参考サイト


レイシスト [生活]

最近、Twitter上で目にすることの多くなった「レイシスト」とはなにか調べてみた。

以下 はてなキーワードより

Race(人種)の派生語。

人種・民族による差別主義者のこと。

思想・価値観に基づく差別もこれに含めて問題ないと思われる。

自由・平等等を標榜する思想の立場からは、敵でありながらその存在を許さなくてはいけない層。

参考サイト


phpMyAdminを使う(インストール編) [WEBサービス]

1. インストール

① 下記サイトから、ファイルをダウンロードする。

image

http://www.phpmyadmin.net/home_page/index.php

② ダウンロードしたZIPファイルをアパッチのドキュメントルートにコピーして解凍する。

アパッチのドキュメントルート: /var/www/html

解凍後のフォルダー名を、”phpMyAdmin”に変更しておく。

② ブラウザからアクセスする。

http://localhost/phpMyAdmin/index.php

以下のエラーが出たら、PHPアプリケーション用モジュール「php-mysql」がインストールされているか確認し、インストールされていない場合はインストールする。

p2-1

確認方法

# yum list installed php*

インストール方法

# yum install php-mysql

インストール後、アパッチを再起動する。

# /etc/rc.d/init.d/httpd reload

再度、http://localhost/phpMyAdmin/index.php にアクセスすると以下の表示に代わりました。

image image

ブラウザのリロードを数回繰り返しているうちに、エラーはなくなりました。アパッチの設定が反映されるまでに時間がかかるようです。

2. MySQLの設定

はじめての利用なのでユーザーは"root"、パスワードは””でログイン使用したが、「パスワードなしでのログインはできない」とのメッセージで先へすすめない。

コマンドラインからrootのパスワードを設定することもできるが、今回はパスワードなしでphpMyAdminログインできるように、phpMyAdmin設定ファイルを準備する。

phpMyAdminをインストールしたフォルダにある、"config.sample.inc.php"を"config.inc.php"にコピーしパスワードなしでログインできるように以下の行を編集する。

$cfg['Servers'][$i]['AllowNoPassword'] = true;

パスワードなしでログインできましたが、いくつかのメッセージが出ています。

image

最初の「環境保護領域」については、警告なのでとりあえず後回しとし、次の「rootのパスワード」の対応を行う。

image

「ユーザ」タブから"root" "localhost" の特権を編集からパスワードを設定して再起動してOK。なお”AllowNoPassword”は”false”に変更しておく。

次に3つ目の「mbstring拡張」は、インストールします。これもアパッチの再起動が必要です。

# yum install php-mbstring

# /etc/rc.d/init.d/httpd reload

最後の「mcrypt拡張」は以下のコマンドでインストール出来るはずですが、”No package php-mcrypt available.”とでてパッケージが見つからないようです。

# yum –eneblerepo=epel install php-mcrypt

# /etc/rc.d/init.d/httpd reload

ここまでで、エラーは消えました。

最後の「環境保護領域」警告については、解決方法がわからないし、残っていても問題なさそうなのでこのままとします。

参考サイト


Bing API を使う 「断念の巻」 [WEBサービス]

Bing APIを利用すると,検索サービスのBingと同質の検索結果を得ることができる。

1. ユーザーIDの取得

①Bing-開発者のページからログインし、検索APIの「今すぐ開始」を選択する。

image

② Windows Azure Marketplace へのサインアップ

ここ、5,000トランザクション/月にサインアップするとユーザーアカウント登録画面となる。

image

氏名、電子メールアドレスを登録し、使用条件に同意すると、サインアップが完了します。

image

③ アカウント情報を選択すると、情報を確認できる。顧客ID(ユーザーID)を確認できる。image

2. アプリケーションIDの取得

① アプリケーションの登録を選択

image

② 情報の入力

image

③ 登録完了

image

アプリケーションIDはどこ?

これ以上探すのが面倒になったので、Bing APIを使うのは断念します。Windows Azure Marketplaceへ移行したため、このような事になったと考えられますが、直観的に欲しい機能にアクセスできないと、それ以上使うのが嫌になりますね!


CentOS 6.3 にWebサーバーを構築する [WEBサービス]

Perlの開発環境として準備した。

レンタルサーバーにアップする前の動作確認およびデバッグするために、CentOS 6.2上にApache とMySQLの使える環境を構築した。

各ソフトのバージョンは以下

  • Apache : 2.2.15
  • MySQL : 5.1.67
  • PHP : 5.3.3
  • Perl : 5.10.1

開発ユーザー名は”webs”として構築

1. Apache

① CentOSインストール時に導入済みなので設定のみ

/etc/httpd/conf/httpd.conf の編集

<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    UserDir disable
    ↓
    #UserDir disable ← #を追加(コメントアウト)


    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disable" line above, and uncomment
    # the following line instead:
    #
    #UserDir public_html
    ↓
    UserDir public_html ← 行頭の#を削除(コメント解除)
    AliasMatch ^/centos(.*) /home/centos/public_html/$1
 ← centosユーザーのみhttp://centossrv.com/centos/のように~(チルダ)なしでアクセスできるようにする
    AliasMatch ^/userdir/([^/]+)/(.*) /home/$1/public_html/$2
 ← 全てのユーザーでhttp://centossrv.com/userdir/ユーザー名/でアクセスできるようにする
</IfModule>


#<Directory /home/*/public_html>
#    AllowOverride FileInfo AuthConfig Limit
#    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
#    <Limit GET POST OPTIONS>
#        Order allow,deny
#        Allow from all
#    </Limit>
#    <LimitExcept GET POST OPTIONS>
#        Order deny,allow
#        Deny from all
#    </LimitExcept>
#</Directory>
以下の全行追加
<Directory /home/*/public_html>
    AllowOverride All ← .htaccessの許可
    Options IncludesNoExec ExecCGI FollowSymLinks ← CGI,SSI(Exec命令以外)の許可
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

 

② Webサーバーの設定反映と起動設定

 # /etc/rc.d/init.d/httpd reload start ←サーバー起動

 # /etc/rc.d/init.d/httpd reload stop ←サーバー停止

 # /etc/rc.d/init.d/httpd reload ←サーバー再起動

 # chkconfig httpd on ←自動起動オン


③ ユーザーディレクトリ作成(~/public_htmlディレクトリ)

 以下のスクリプトを作成、実行そして削除

 作成: # gedit userdirmake

#!/bin/bash

for user in `ls /home`
do
id $user > /dev/null 2>&1
if [ $? -eq 0 ] && [ ! -d /home/$user/public_html ]; then
mkdir -p /home/$user/public_html
chown $user. /home/$user/public_html
chmod 711 /home/$user
echo $user
fi
done

 実行: # sh userdirmake

 削除: # rm –f userdirmake

 新規ユーザー追加時にユーザーディレクトリが自動で作成されるようにする:

 # mkdir /etc/skel/public_html

④ Webページ表示確認 : http://127.0.0.1:~webs/index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>テスト</title>
<body>
テスト
</body>
</html>

「Forbidden Forbidden You don't have permission to access …」発生時の原因

  1. そのディレクトリのトップページ(index.html など)が存在しない。

  2. そのディレクトリのアクセス許可を,制作者が設定し間違えた。

  3. 現在更新作業中で,一時公開中止している。

  4. アクセス拒否されている。

確認:

httpd.conf 設定ファイル<Directory /home/*/public_html> ~ </Directory> 間の再確認

  1. /home, /home/public_html, /home/public_html/index.html パーミッション(755)確認

  2. SELinux 停止状態
# getenforce
Enforcing の場合、無効にする
# gedit /etc/sysconfig/selinux
SELLINUX=disabled に修正

⑤ CGI確認 : http://127.0.0.1/~webs/test.cgi

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n";※システムの文字コードがUTF-8の場合
print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=euc-jp\">\n";※システムの文字コードがEUCの場合
print "<title>テスト</title>\n";
print "</head>\n";
print "<body>\n";
print "CGIテスト\n";
print "</body>\n";
print "</html>\n";

「CGIプログラムそのまま表示」時の対応

httpd.confで「#AddHandler cgi-script .cgi」の行のコメントアウトを解除する

「Internal Server Error」発生時の原因

  1. 改行コードの違い(LFのこと)

  2. Perl のパスの間違え

  3. CGIプログラムのパーミッション間違え

確認:

  1. エディターの改行コード設定の確認

  2. # which perl で場所確認 ←CentOSの場合、/usr/bin/perl が正しい

  3. パーミッション755の確認

⑥ SSI(Server Side Include)確認 : http://127.0.0.1/~webs/test.shtml

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8

<meta http-equiv="Content-Type" content="text/html; charset=euc-jp
<title>テスト</title>
<body>
SSIテスト
<!--#config timefmt="%Y/%m/%d %H:%M:%S" -->
<!--#echo var="DATE_LOCAL" -->
</body>
</html>


⑦ PHP確認 : http://127.0.0.1/~webs/test.php

<?php
phpinfo();
?>

以上で環境構築は完了、これからアプリ開発を続行する。

参考サイト


Mojolicious(モジョリシャス) [WEBサービス]

Mojoliciousとは

  • 素晴らしいMVCのWebフレームワーク。Mojolicious::Liteを通じて簡略した単一ファイルモードをサポート。

強力なツールを同梱。レストフルなルート(routes)、Perlスタイルのテンプレート、セッション管理、署名つき(signed)クッキー、テストフレームワーク、静的ファイルサーバ、I18N、最上のUnicodeサポート。その他探せばもっと見つかります。

  • とてもクリーンで、ポータブルで、オブジェクト指向の純粋なPerl API(隠れた魔術は使われていません)。必要な要件はPerl 5.10.1以上であることだけ。 (ですが5.12以上をおすすめします。インストールされていれば、オプショナルなCPANモジュールが、より高度な機能を提供するために利用されるでしょう。)
  • フルスタックのHTTP 1.1とWebSocketを実装したクライアントとサーバの実装。IPv6、TLS, Bonjour, IDNA, Comet (long polling),チャンキング(chunking)、マルチパート(multipart)をサポート。
  • 組み込みの非同期IOとプリフォークサーバ。libev、ホットデプロイメント。これらすべてが完全に埋め込まれています。
  • 自動的なCGIとPSGIの検知。
  • JSONとCSS3セレクタを持つXML/HTML5パーサをサポート。
  • Catalystを開発した長年の経験の上に構築された新鮮なコード

以上 https://github.com/yuki-kimoto/mojolicious-guides-japanese/wiki より

  • Mojolicious : 中規模以上用
  • Mojolicious::Lite : 小規模用

インストール

以下のコマンドで完了。

$ sudo sh -c "curl -L cpanmin.us | perl - Mojolicious"


image



起動



以下のファイルを作成しコマンドラインから起動します。



use Mojolicious::Lite;

get '/' => {text => 'Hello World!'};

app->start;



image



サーバーが立ち上り、ブラウザからのアクセス状況を報告しています。



ブラウザにはこのように表示されました。



image



ここまでは簡単にできました。これから使い込んでみます。


Perlの結果をHTMLに出力させる方法 [WEBサービス]

プロキシ環境でWEBアプリを開発していると、頻繁にHTMLエラーが発生して中断することが多く効率が悪い。スクリプトをサーバーにアップし、そこからPerl スクリプトの処理結果をWeb上で確認する方法が可能か調べた。

以下のようにスクリプトを書いてブラウザから呼び出せば表示できる。ただしファイルの属性を755にしておくことを忘れないように。

#!/usr/bin/perl

my $text = "これはCGIからHTMLに文字を出力するPerlスクリプトです。";
#// HTML 出力
  print "Content-type: text/html\n\n";
  print "<HTML>\n";
  print "<P>";
  print $text;
  print "</P>\n";
  print "</HTML>\n";

#// 終了
  exit(0);



実行例:



http://kazu-oyaji.com/projects/cgi/index.cgi


LWP::UserAgent をプロキシ環境で使用する。[perl] [WEBサービス]

以下のコードを実行すると、”500 Can't connect to gihyo.jp:80 (Bad hostname 'gihyo.jp')”となる。プロキシサーバー環境のため、Linuxコンソールの環境変数にプロキシを設定したが解決できない。

use URI;
use LWP::UserAgent;

my    $uri = URI->new('http://gihyo.jp/');
my    $ua = LWP::UserAgent->new();
my $res= $ua->get( $uri );
die $res->status_line if $res->is_error;

my ($title) = $res->content =~ m!<title>(.+?)</title>!i;
print "$title\n";

WEB情報を調べた結果、 $ua->env_proxy; というコードを見かけたので追加してみた。

my    $uri = URI->new('http://gihyo.jp/');
my    $ua = LWP::UserAgent->new();
    $ua->env_proxy;
my $res= $ua->get( $uri );
die $res->status_line if $res->is_error;

my ($title) = $res->content =~ m!<title>(.+?)</title>!i;
print "$title\n";

これで解決!

トップページ|gihyo.jp … 技術評論社

が返ってきました。


深夜特急〈1〉香港・マカオ [読書]


深夜特急1―香港・マカオ― (新潮文庫)

深夜特急1―香港・マカオ― (新潮文庫)

  • 出版社/メーカー: 新潮社
  • 発売日: 1994/03/30
  • メディア: Kindle版

 

日本のノンフィクション作家、エッセイスト、小説家、写真家である、沢木 耕太郎氏の紀行小説。

全6巻の1巻目であり、旅の始まりである、香港、マカオの旅の紀行となっている。

最初に産経新聞に掲載されたのが1986年とのことなので、20年以上前の香港、マカオの様子が書かれている。この地は15年ほど前に行ったことがあるので、所々かすかな記憶が思い返され、楽しく読み進めることができた。

今となってはこの本のような経験はできないと思うけど、もう一度行ってみたいと思わせられる本だった。


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。