18 10月, 2017
Aipoさん使わせていただいております。
ありがとうございます。
バージョンアップにともないURLも「url/aipo」から「url/」にアクセス先が変わりました。
Apacheとの連動且つSSL強制アクセスとしたいので、以下の部分を修正しました。
■Tomcat側設定「/usr/local/aipo/tomcat/conf/server.xml」
Port80はApache配下でコントロールする為にこの部分をコメントアウト
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
<Connector port="80" maxThreads="1000" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />
-->
■Tomcat側設定「/usr/local/aipo/tomcat/conf/server.xml」
AJPを通じて443Portでアクセスさせたいので、8443から443へ変更
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
■Apache側設定「/opt/lampp/etc/extra/hoge.conf」※apache系のconfファイルね
<IfModule ssl_module>
<VirtualHost *:443>
#アクセスさせたいURL
ServerName aipo.hoge.com
ServerAdmin aipo@hoge.com
#これはダミー
DocumentRoot "/opt/lampp/htaipo"
<Directory "/opt/lampp/htaipo">
</Directory>
#Aipo Tomcatへ連結
<Location "/">
ProxyPass "ajp://localhost:8009/"
</Location>
#オレオレ証明書
#######################################################
# SSL Engine Switch:
SSLEngine on
# Server Certificate:
SSLCertificateFile /opt/lampp/etc/ssl.crt/server.crt
SSLCertificateKeyFile /opt/lampp/etc/ssl.key/server.key
#必要であればSSL Optionを記載する
#######################################################
</VirtualHost>
</IfModule>
3 12月, 2013
■環境クライアント
Windows7(x64)
LAMPP 1.8.2(x86)
UTF-8
■接続先サーバー
Windows Server 2008R2(x64)
Microsoft SQL Server 2008 (SP3) – 10.0.5500.0 (X64)
UTF-8
■クライアント環境 SQL Server Native Client
[MicrosoftR SQL ServerR 2012 SP1 用 Feature Pack]から
[JPN\x64\sqlncli.msi] Or [JPN\x86\sqlncli.msi]をダウンロードする。
クライアントOSの環境に合わせる。今回はWindow7x64なので場合は[JPN\x64\sqlncli.msi]をインストールする。
また、接続先はSQL Server 2008R2だが下位互換があるため、最新版の2012用を使用する。
http://www.microsoft.com/ja-jp/download/details.aspx?id=35580
■クライアント環境 Drivers for PHP for SQL Server
Microsoft Drivers 3.0 for PHP for SQL Server
今回は
・PHP5.4系
・SQL Server 2008R2
・Native Client 2012用
なので、「Microsoft Drivers 3.0 for PHP for SQL Server」を使用する。
環境により「Microsoft Drivers 2.0 for PHP for SQL Server」と使い分けること。
以下から、ダウンロードしてくる
http://www.microsoft.com/en-us/download/details.aspx?id=20098
回答後のファイルの中からPHP5.4用のextensionを使用する
PHPのスレッドセーフ Or Noneスレッドセーフにより
「php_pdo_sqlsrv_54_ts.dll」 Or 「php_pdo_sqlsrv_54_nts.dll」を使い分ける
あとはPHP.iniに以下を記載する(今回はスレッドセーフ版使用)
extension=php_sqlsrv_54_ts.dll
extension=php_pdo_sqlsrv_54_ts.dll
phpinfoで確認して使用する
PDO&UTF-8指定で接続!
3 12月, 2013
本番環境からconf系ファイルをコピーして使用できるよう環境構築時に嵌ったので覚書!
コピーしてきてapacheが起動しない、confテストはOK
error_logに以下の記載がある
AH02311: Fatal error initialising mod_ssl,
ssl用のアクセスログを見ると。。。
AH02204: Init: Pass phrase incorrect for key of localhost.local:443
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 error
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=RSA)
SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Type=PKCS8_PRIV_KEY_INFO)
「Init: Pass phrase incorrect」とはSSL用の起動時passがないと言っている。。。はて?
決められた場所にpasswordファイルがあり、「SSLPassPhraseDialog exec:」のpassが間違っているのかと確認する。。。あってる。。。はて?
1時間ほど苦悶しながら調べる。。。あっ!?コピーしたから実行権限がなくなっているんだ!そう、このファイル内だけbshellが記載してあるんだ。。。とほほ、basic認証のpasswordファイルなどは関係ないのに。。。(すでに言い訳、笑)
8 5月, 2013
アクセス許可の設定の書き方が違うので注意
修正前(2.2など)
<Directory "/home/www">
Order allow,deny
Allow from all
</Directory>
修正後
<Directory "/home/www">
Require all granted
</Directory>
これでOK!
23 1月, 2012
環境、CentOS6.2、Apache2.2.15、Redmine1.3、Subversion1.6.11、Mysql5.5.20
Redmine1.3を使用しRedmineのユーザーをWebBasic認証(mod_auth_mysql)とリンクさせて使用する際にエラーとなったので覚書しとく
基本的に上位アプリは正しくセットアップされて単独で動く状態からの処理となる
原因はRedmine1.2よりパスワード保持方法が変更となった、この変更にmod_auth_mysqlがついていけないことが原因。(SHA1+saltとなった)
1.mod_auth_mysqlのソースをここからDownload
2.Mysql5.0系用のpacheをDownし「1」のソースファイル当てる
3.Redmineで使用している認証方法をここからDownし「2」のソースファイル当てる
これでソースのある下位層まで「cd」してコンパイル開始Go!
/usr/sbin/apxs -ci -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient -lz -lm mod_auth_mysql.c
・・・
「make_scrambled_password error」となりコンパイルが通らない・・・
どうやら「make_scrambled_password」用のシンボリックリンクが見つからないらしい、Mysqlのソースを追加すれば行けそうだけど、そもそも「make_scrambled_password」を使用する気はないので、コメントアウトとする。
make_scrambled_password関連個所のソースをコメントにし、再度コンパイル・・・
無事に「mod_auth_mysql.so」完成!
使ってみる・・・OKそう
AuthMySQLEnable On
AuthMySQLSocket /var/lib/mysql/mysql.sock
AuthMySQLHost [DB Host名]
AuthMySQLUser [DB接続User名]
AuthMySQLPassword [DB接続PW]
AuthMySQLDB [接続DB名]
AuthMySQLUserTable [確認Table名]
AuthMySQLNameField [確認IDフィールド名]
AuthMySQLPasswordField [確認PWフィールド名]
AuthMySQLSaltField salt
AuthMySQLPwEncryption sha1-rm
AuthMySQLNoPasswd Off
#AuthMySQLCharacterSet UTF-8
#AuthGroupFile /dev/null
AuthType Basic
AuthName "Authorization SVN"
Require valid-user
編集ソースとコンパイル後のファイルを置いておきますが、何が起こっても自己責任でお願いしますね。