学校の課題でMySQL、PHP、Apache2を用いてウェブの認証画面が作成する必要があります。
サーバーのOS は Debian Linux を利用しております。
http://www.debianhelp.co.uk/mysqlapache.htm
上記サイトを見ながら、手順に従ってやろうと思ったのですが、最初の apt-get で躓きました。
libapache2-mod-php
libapache2-mod-auth-mysql
この2つのファイルが見つからずにインストールができません…。
また、上記サイトの説明と私が持っているApache2の参考書だと説明が異なり、困っております。
参考書ではmod_auth_mysqlをコンパイルする必要があるとなっているのですが…。
どなたか、MySQL,PHP,Apache2を利用したWeb認証画面の作成方法で、参考となるサイトがありましたら、ご教授願います。
よろしくお願いいたします。
No.7ベストアンサー
- 回答日時:
.htaccessファイルにある
>AuthMySQL_Encryption_Types Crypt_DES
を
AuthMySQL_Encryption_Types Plaintext Crypt_DES
に変えるとはじかれないようになったりしませんか?
ちなみにApacheのログに何か出力されていませんか?
ありがとうございます!!
ビンゴでした!!
Plaintextを追加したら、できました!!
ただ、Plaintextでパスワードをやり取りするのは不本意なのですが、DESで暗号化したいのですが…これは何か別モジュールが必要なのでしょうか…。
No.8
- 回答日時:
MySQLにDES_ENCRYPT()という関数があります。
ただし、SSLが組み込まれている必要があります。
MySQL 4.1 リファレンスマニュアル
6 MySQL SQL言語リファレンス
6.3 SELECT 節と WHERE 節で使用する関数
6.3.6 その他の関数
6.3.6.2 その他の各種関数
http://dev.mysql.com/doc/refman/4.1/ja/miscellan …
No.6
- 回答日時:
>Restart Apache 2
>
>#apache2ctl restart
と書いてあるように、apache2.confを設定を変更した後Apacheの再起動をしていますか?
><Directory "/var/www/members/">
>Options +Indexes FollowSymlinks MultiViews
>AllowOverride AuthConfig Options FileInfo Limit
>Order allow,deny
>Allow from all
></Directory>
これは、httpd.conf(apache2.conf)で設定した内容を.htaccess ファイル内で設定した内容で上書きするための設定をしています。
ところで"/var/www/members/"と空白が入っているのですが実際にも空白が入っているのですか?
この回答への補足
いつも回答ありがとうございます。
Apacheの再起動は行いました。また空白の件ですが、実際のものには入っておりませんでした。
サーバー自体を再起動した後、稼動し始めましたが、MySQLで設定したユーザ名、パスワードを入力してもはじかれてしまいます。
> Auth_MySQL_Info localhost 'auth_user' 'password'
この部分の 'auth_user' と 'password'ですが、参考書を見るとこのusername+passwordの組み合わせは他のシステムのユーザアカウントと同じであってはならないとなっておりますが、それが原因なのでしょうか…。うっかり同じにしてしまいました…。
No.5
- 回答日時:
>2.したいこと
>質問とちょっと変わるのですが、MySQLにて、ウェブへログインする際のユーザID,パスワード管理を行いたいです。(PHPは不要)
質問の所にご自分でお書きになられたURLのページにデータベースの作成、テーブルの作成、ユーザのテーブルへの追加、Apacheでの設定方法と全て書いてあると思うのですが。
この回答への補足
再度失礼いたします。
http://www.debianhelp.co.uk/mysqlapache.htm
必要モジュールもインストし、基本的に上記手順に従って設定を行いました。
■ MySQL設定内容
-----------------------------------------------
CREATE TABLE wwwusers (
username varchar(25) NOT NULL primary key,
passwd varchar(25) NOT NULL
);
insert into wwwusers (username, passwd)
values ('username' , 'password');
-----------------------------------------------
■ /etc/apache2/apache2.conf設定内容
下記をファイル最下部に追加しました。
--------------------------------------------------
Auth_MySQL_Info localhost 'auth_user' 'password'
Auth_MySQL_General_DB wwwusers
<Directory "/var/www/members/">
Options +Indexes FollowSymlinks MultiViews
AllowOverride AuthConfig Options FileInfo Limit
Order allow,deny
Allow from all
</Directory>
---------------------------------------------------
※'auth_user''password'は私が grant privileges on ...の記述をしたときに
指定した物を記述しています。
※参考書を見るとhttpd.confへ下記2行を追記するよう書いてあり、どちらが正しいのか混乱しています。
Auth_MySQL_Info localhost 'auth_user' 'password'
Auth_MySQL_General_DB wwwusers
■ .htaccess ファイル設定
.htaccess ファイルは上記で指定した/var/www/members/の下に置きました。
下記内容は上記URLとは別に参考書も参考にしました。
--------------------------------------------
AuthMYSQL on
AuthName "Members Only"
AuthType Basic
require valid-user
AuthMySQL_DB auth
AuthMySQL_Password_Table wwwusers
AuthMySQL_Username_Field username
AuthMySQL_Password_Field passwd
AuthMySQL_Empty_Passwords off
AuthMySQL_Encrypted_Passwords on
AuthMySQL_Encryption_Types Crypt_DES
AuthMySQL_Scrambled_Passwords off
AuthMySQL_Authoritative on
AuthMySQL_Non_Persistent off
---------------------------------------------
設定後、ブラウザで指定したフォルダにアクセスしたら、普通にアクセスできてしまいました…。
一体どこに不備があるのでしょうか…。
No.4
- 回答日時:
>学校の課題でMySQL、PHP、Apache2を用いてウェブの認証画面が作成する必要があります。
認証にmod_auth_mysqlモジュールを使用しようとしているみたいですが、認証としてはこのモジュールだけで済んでしまいますからPHPを使用する必要はないですよね?
つまり「MySQL、PHP、Apache2を用いて」には当てはまらないですよね?
課題としては、PHPでユーザ名(ID)、パスワードを入力する画面を表示し、入力されたユーザ名(ID)、パスワードに一致するものがMySQLのデータベース上に存在するかPHP自体でMySQLにアクセスして認証を行い、その結果を画面に表示するという事なのではないのでしょうか?
そういうものが求められているなら、下記URLが参考になるかもしれません。
ただし、使用しているのがPostgreSQLですが。
STACK*
>IT技術情報>php>PHP第3回:PHP応用
6.セッション管理
■認証に利用する
http://www.stackasterisk.jp/tech/php/php03_06.jsp
この回答への補足
失礼しました。確認したら、PHPは要件に含まれていませんでした。
MySQLにてユーザID,パスワード管理だけを行うことになります。
No.3
- 回答日時:
こんばんは。
Debian/sarge を使っています。
apt-cache コマンドでパッケージ検索してみました。
参考にしてください。
# apt-cache search mod-php
libapache-mod-php4 - server-side, HTML-embedded scripting language (apache 1.3 module)
libapache2-mod-php4 - server-side, HTML-embedded scripting language (apache 2.0 module)
# apt-cache search mod-auth
libapache2-mod-auth-kerb - Apache2 module for Kerberos authentication
libapache2-mod-auth-mysql - Apache 2 module for MySQL authentication
libapache2-mod-auth-pam - module for Apache2 which authenticate using PAM
libapache2-mod-auth-pgsql - Module for Apache2 which provides pgsql authentication
libapache2-mod-auth-plain - Module for Apache2 which provides plaintext authentication
libapache2-mod-auth-sys-group - Module for Apache2 which checks user against system group
apt-cache で出てきた結果からapt-get を行ったら、module のインストができました。ありがとうございました。
No.2
- 回答日時:
ソースから入れるのであれば、Debianのパッケージ管理システムの恩恵にあずかれなかったり、問題が生じたりする可能性があります。
まぁ稼働後にトラブルがあっても構わない気概があれば別に止めはしませんが。
>#apt-get install libapache2-mod-php mysql-server php4-mysql libapache2-mod-auth-mysql
まず、この部分ですが、パッケージ名が一部間違ってます。
libapache2-mod-php → libapache2-mod-php4
libapache2-mod-auth-mysqlは、上記パッケージとの兼ね合いで依存関係に問題があってクリアできずにインストールできていないのかもしれません。
必要なパッケージに関しては、うまくいかないときは、apt-cache等でパッケージ検索してみることをお勧めします。
また、質問するときには、
1.環境
2.したいこと
3.何がどううまくいかないのか
を具体的に書かれることをお勧めします。
apache2が必須であることはわかりますが、phpのバージョンはどうでもいいのでしょうか?
など、本人には自明でも、質問を読んでいる側からはわからないことも多々あります。
また、インストールできないとは、どういう状況でしょうか?
apt-get install を実行したときにエラーがでてインストールできないのでしょうか?
実際にエラーメッセージが表示されているのであれば、エラーメッセージを一字一句間違えなく書かれると、
回答するほうは何が問題かはっきりわかります。
(それでわからなければログを教えて欲しいとか、状況を教えて欲しいとかいろいろ補足事項を尋ねるでしょう)
この回答への補足
エラーメッセージはE: Couldn't find package libapache2-mod-php
でしたが、ご回答頂いたようにファイル名の変更、またapt-cache でファイルを検索して行ったら、モジュールのインストはできました。失礼いました。
1.環境
VMwareに Debian をインストして使っております。現在は基本的にデフォルト設定の上に上記4つのモジュールをインスト状態です。
2.したいこと
質問とちょっと変わるのですが、MySQLにて、ウェブへログインする際のユーザID,パスワード管理を行いたいです。(PHPは不要)
No.1
- 回答日時:
apache2のmod_auth_mysqlはくせがあって面倒ですね。
apache1.3系の方は結構楽チンなんですけど。
ダウンロードは以下
http://sourceforge.net/projects/modauthmysql/
解説は以下あたり参考に
http://www.nognog.com/techmemo/Apache2_MySQL_Aut …
http://srvhat09.anaheim-eng.com/modules/tinyd4/i …
よほどのことがないかぎり一発でセットアップできる
ことはないと思います。
トライアンドエラーでがんばってください
回答ありがとうございます。
>apache2のmod_auth_mysqlはくせがあって面倒ですね。
どこかのサイトにも記載ありました…。できればApache1.3系にしたいのですが、Apache2が要件の1つになっているので…。
何とか参考サイトをもとに Try and Error で頑張って見ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- PHP ログイン機の付きの掲示板サイトを作りたいです。 2 2022/10/09 04:33
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- MySQL [1000地域 × 10カテゴリー = 1万件のテーブル]!グループ化? 1 2023/06/14 23:56
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- PHP 「基礎からのMySQL 第3版 Kindle版」を数年前購入して全部やりました。 1 2022/09/15 05:32
- 知的財産権 著作権違反 らしき記事が見当たりません!? 1 2022/05/24 01:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【apache】MaxClientsを超えた...
-
bindの再起動
-
[Linux初心者]Ubuntu22.04.3LTS...
-
Windows11 のファイヤーウォー...
-
windows11 サービスにSecurity ...
-
外部送信不可?netqmailについて
-
PhotoshopとIllustratorのK100...
-
Filevaultの解除ができない(ア...
-
Mac0S10.5の管理者設定について
-
SVNをADと連携させて、ユーザ/...
-
ftpでのシンボリックリンク先へ...
-
独自ドメインで複数のレンタル...
-
shiftキーを押していないのにセ...
-
PDFの保存先フォルダの指定
-
iPadでyoutubeのお気に入りが見...
-
オーディオタイマーの設定方法...
-
共有ファイル
-
変更前のパスワードと変更後の...
-
パソコンパスワード設定(変更?)
-
gooからhoopsに移ってからのF...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[Linux初心者]Ubuntu22.04.3LTS...
-
【apache】MaxClientsを超えた...
-
APACHEで参照するhttpd.confの...
-
anacondaとは?
-
bindの再起動
-
centos7 bind 設定について
-
BINDのログの意味について
-
[Debian] MySQLとPHPを用いて簡...
-
Windows11 のファイヤーウォー...
-
パソリRC-S380でモバイルSuica...
-
【急募】MEGAのオーセンティケ...
-
windows11 サービスにSecurity ...
-
SVNをADと連携させて、ユーザ/...
-
phpのソースは見られてる?
-
パソコンパスワード設定(変更?)
-
Tera Termでviを開いたときの表...
-
Line友達追加について
-
/var/log/maillogに大量にログ...
-
Postx社内PCからのみSMTP認証を...
-
PhotoshopとIllustratorのK100...
おすすめ情報