Appache + php で、SSLを設定する
自分用のメモです
参照:XAMPPでSSLを設定する方法【初心者向け】(TECH ACADEMY Magagine)
先日は、phpで書かれた Dokuwiki をWindows PCにインストールした。
今日は、Dokuwiki を、https:// で始まるURLでアクセス可能にする。
xamppにはOpenSSLがもともと組み込まれている。設定は容易だ。
(g) phpでもSSLを使える設定にする
php.iniを確認する
今回の例で、xamppインストール先は、C:\xampp だった。
C:\xampp\php\php.ini をテキストエディターで開き、以下記述の先頭に ; が無いことを確認する。
先頭に ; が有った場合は削除する。
NG) ;extension=php_openssl.dll
OK) extension=php_openssl.dll
httpd.confを編集 (バーチャルホストを設定) する
今回の例で、xamppインストール先は、C:\xampp だった。
C:\xampp\apache\confhttpd.conf をテキストエディターで開く。
(Before)
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
↓
(After)
LoadModule vhost_alias_module modules/mod_vhost_alias.so
httpd-ssl.confを編集 (バーチャルホストを設定) する
# General setup for the virtual host
DocumentRoot "C:/_xampp/htdocs"
ServerName www.example.com:443
ServerAdmin admin@example.com
↓
DocumentRoot "D:/home/htdocs/www"
ServerName あいさんななのSSL用URL:443
ServerAdmin あいさんななのメールアドレス
(h) hostsを編集する (おまけ)
DNSに登録してサーバーを公開し、そのURLに https:// でアクセスしてみれば良いのだが、
今回は公開しないつもり (127.0.0.1 = localhost使用にとどめる)。hostsを編集して、
以下いずれのURLでもアクセス可能にしてみる。これで、DNSの雰囲気が出せるはずだ。
最初にDokuWikiをインストールしたディレクトリー
これまでは )http://127.0.0.1/dokuwiki/doku.php か https://localhost/dokuwiki/doku.php
hosts編集後)https://i37/dokuwiki/doku.php
DokuWikiのデータを配置したディレクトリーにアクセス
これまでは )http://127.0.0.1/wiki/doku.php か https://localhost/wiki/doku.php
これまでは )← 2018/3/28のブログ参照
hosts編集後)https://i37/wiki/doku.php
hostsの所在: C:\Windows\System32\drivers\etc\hosts
hosts編集例: 最下行にi37 ("あいさんなな") を追記する。
----------------
127.0.0.1 i37
----------------
参考にしたサイト: http://onocom.net/blog/windows-hosts-file/
今日はここまで
Apacheカスタマイズ2. ユーザーの公開先に ~ でアクセス
自分用のメモです。
http://d.hatena.ne.jp/i37/20180329
(e) ユーザーディレクトリー公開先に ~ でアクセス可能にする
httpd.confを編集する
今回のこれまでの例では、xamppインストール先は、C:\xampp だった。
C:\xampp\apache\conf\extra\httpd.conf をテキストエディターで開く。
(Before)
#LoadModule userdir_module modules/mod_userdir.so
↓
(After)
LoadModule userdir_module modules/mod_userdir.so
httpd-userdir.confを編集する
今回の例で、xamppインストール先は、C:\xampp だった。
C:\xampp\apache\conf\extra\httpd-userdir.conf をテキストエディターで開く。
公開元 (ユーザーディレクトリーの場所) を指定する
例として、ユーザーディレクトリー (フォルダー) を、"D:/home/htdocs/usr/ka/" に作成するものとする。(Before)
#UserDir "My Documents/My Website"
↓
(After)
UserDir "D:/home/htdocs/usr"
個々の公開元 (ユーザーディレクトリーの場所) を設定する
ユーザーIDの追加は、簡単。
初期設定が済めば、ユーザー追加時には そのユーザーの公開元ディレクトリーを作成すればよく、
confファイルへの追記(公開元ディレクトリー名)はしなくてもいいので。(Before)
<Directory "C:/Users/*/My Documents/My Website">
AllowOverride FileInfo AuthConfig Limit Indexes
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>
↓
(After)
<Directory "D:/home/htdocs/usr/*"> ← * (アスタリスク)が使えて便利
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI
Require method GET POST OPTIONS ← バージョン 2.4での表現は簡単!
</Directory>
ここまで設定したら
・Apacheを再起動する
・ユーザーディレクトリー (例 "D:/home/htdocs/usr/ka/") を作成する
・http://localhost/~ka/ にアクセスする
⇒ Index of が表示できた。Index.htmを入れたら、ファイル表示できた。OK!!!!!!!!!!!!!!
(f) ユーザーディレクトリー に ~無しでアクセス可能にする
----------------------------------
Alias URLパス ディレクトリー
----------------------------------
ここで指定したURLがリクエストされると、指定したディレクトリーの内容が表示される。
httpd-userdir.confを編集する
今回の例で、xamppインストール先は、C:\xampp だった。
C:\xampp\apache\conf\extra\httpd-userdir.conf をテキストエディターで開く。
(Before) 無し
↓
(After)
Alias /ka/ "D:/home/htdocs/usr/ka/"
Alias /ka "D:/home/htdocs/usr/ka"
ここまで設定したら
・Apacheを再起動する
・http://localhost/ka/ にアクセスする
⇒ Index of が表示できた。Index.htmを入れたら、表示できた。OK!!!!!!!!!!!!!!
ちなみに http://localhost/~ka/ でアクセスしても同じ画面 (ページ) が表示された。、当然だが。
今日はここまで。
(*) Apache HTTP サーバ バージョン 2.4 ドキュメント
Apache httpdカスタマイズ1 公開元ディレクトリー変更など
自分用のメモです。
今日は
Web公開元となるディレクトリー変更など、Apache (Webサーバー) のconfファイルをカスタマイズした。
(a) 公開元ディレクトリーの設定を変更する
httpd.confを編集する
今回の例で、xamppインストール先ディレクトリー (フォルダー) は、C:\xampp だった。
C:\xampp\apache\confhttpd.conf をテキストエディターで開く。
(Before)
DocumentRoot "C:/xampp/htdocs"
<Directory "C:/xampp/htdocs">
↓
(After)
DocumentRoot "D:/home/htdocs/www"
<Directory "D:/home/htdocs/www">
※上のフォルダー名は一例
Windowsで公開元ディレクトリーを作成する
旧ディレクトリー (C:\xampp\htdocs) の中身を、これから (D:\home\htdocs\www) にコピーする。
公開元変更に伴い、旧ディレクトリーは不要になるため、削除して構わない。
※上のディレクトリー名は一例
ここまで設定したら
・Apacheを再起動する
・http://localhost/ に従来通りアクセスできるか確認する。
(b) アクセスできるIPを制限する
httpd.confを編集する
(Before)
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
↓
(After)
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require local
Require ip 192.168.0.0/24
※上のディレクトリー名は一例
(c) 管理者のメールアドレス (問い合わせ先) を設定する
httpd.confを編集する
今回の例で、xamppインストール先は、C:\xampp とした。
C:\xampp\apache\confhttpd.conf をテキストエディターで開く。
(Before)
ServerAdmin postmaster@localhost
↓
(After)
ServerAdmin あいさんななのメールアドレス
ここまで設定したら
・Apacheを再起動する。
・存在しないURL (http://localhost/xxx/ など)を適宜開く。
・「サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。」と表示されたら
[ウェブ管理者]をクリックしてメールアドレスが変更されているか確認する。
(d) ブラウザーのURL欄への入力を省略できるファイル名を追加する
httpd.confを編集する
今回の例で、xamppインストール先は、C:\xampp とした。
C:\xampp\apache\confhttpd.conf をテキストエディターで開く。
(Before)
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
↓
(After)
DirectoryIndex index.rb index.jsp \
index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm
今日はここまで。
明日はユーザーディレクトリーを設定してみる。
(*) Apache HTTP サーバ バージョン 2.4 ドキュメント
Dokuwikiをインストール
自分用のメモです
これまで
10数年前 苦労してPukiWikiを入れた。5年前 DokuWiki にした。
3〜4年前 検索エンジンとして、FESS (Solr) を試した。
その後にPCをリプレース、以降は何も入れてなかった。
数日前に、Windows 10 をクリーンインストールした。
心機一転、xampp + FESS を一昨日までに再びインストールした。
今日やったこと
DokuWiki を再インストールし、サイトの表示確認までをした。以下は備忘録だ。
1) Windows用の最新のインストーラーをダウンロードしてインストールする
bitnami-dokuwiki-20170219e-5-module-windows-installer.exe
(https://bitnami.com/stack/dokuwiki -> LOCAL INSTALL から)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Lonin : (管理者のログイン名)
Your real name: (自分の名前)
Email Address : (自分の名前)
MySQL password for 'root': (MySQLの管理パスワード)
App password : (DokuWikiサイトの管理パスワード)
WKiki name : (DokuWikiサイト名)
htpd.confを確認してみると、httpd.conf に以下が追加された:
#Include "C:/xampp/apps/dokuwiki/conf/httpd-prefix.conf"
(実体はappフォルダー内に配置されていた)
2) サービスに登録したApacheを再起動 (停止⇒開始) する
再起動後、http://127.0.0.1/dokuwiki/doku.php に
ブラウザーからアクセスすると、DokuWikiサイトが表示された。
ひとまずはOK
なのだが。。。以下のワーニングも表示されていた。。。
Warning: Use of undefined constant en - assumed 'en' (this will throw an Error in a future version of PHP) in
C:\xampp\apps\dokuwiki\htdocs\\conf\local.php on line 16
2) エラー取り
原因となっている個所: C:\xampp\htdocs\wiki_test\conf\local.php on line 16
$conf['lang']=en;
を
$conf['lang']='en';
に変更し、ブラウザーで http://localhost/wiki/ へアクセス ⇒ 英語表示だがワーニングは解消した
↓
$conf['lang']='ja';
に変更し、ブラウザーからhttp://localhost/wiki/へアクセス ⇒ 日本語で表示された。
3) DokuWIkiデータを配備
DocumentRoot (C:\xampp\htdocs)にフォルダー (例 Wiki) を作成し
C:\xampp\apps\dokuwiki\htdocsフォルダーの中身をWikiフォルダーへコピーする。
⇒ http://localhost/wiki/ にブラウザーからアクセスすると、DokuWikiサイトが表示された。
これでOK!!!!!!!!!!
今日はひとまずここまで。
明日はWindowsで、Apache公開元ディレクトリーなど変更してみる
ApacheとFess を Windowsサービスに登録
自分用のメモです。
昨日やったこと (まとめ)
xamppとFESSをWindows 10にインストールし、連携した。
localhost:80/fess/ へのアクセスは、localhost:8080/fess/ へ転送される。
今日やったこと
xamppに含まれるサーバー(Apacheなど)、FESSをサービスに登録してみた。
始める前に、apacheやFESSは停止させておいた。
登録したサービス (ApacheとFESS) を自動で開始する設定にしておけば、
PCを立ち上げさえすれば、ブラウザーでのWebサイトアクセスや検索が
できるようになる (当然のことだが) 。ログイン不要でとても便利だ。
(d) Mercury (メールサーバー) 追々
バッチどれ???
(e) Tomcat (Proxyサーバー) 追々
バッチは、C:\>xampp\tomcat内にある tomcat_service_install.bat
C:\>xampp\tomcat内にある tomcat_service_install.batを修正
set JRE_HOME=%JAVA_HOME%
↓
set JRE_HOME=%JAVA_HOME%\jre
C:\xampp\tomcat\>tomcat_service_install.bat を実行
(f) Fessをサービスに登録して開始する
バッチはC:\xx\fess\bin内にある service.bat とする
使い方: service.bat install|remove|start|stop|manager [SERVICE_ID]
service.batを修正 (パスを変更)する
-Dfess.context.path="/
↓
-Dfess.context.path="/fess/
Fessサービスを登録する = DOS Promptから以下を入力
C:\xx\> service.bat install fess-service-x64.exe
fessサービスを開始する = DOS Promptから以下を入力
(WindowsのServiceの画面から、サービスを開始してもいいが)
C:\xx\> service.bat start fess-service-x64.exe
結果、問題無し
今日はここまで。
明日はWindowsにDokuwikiをインストールしてみる。
で全文検索を構築 (xammp/7.2.3_VC15 + Fess 12)
自分用のメモ書きです
やりたいこと
(a) 共有フォルダー内の全文検索、曖昧検索。
FESS (Elasticsearch / TomcatBase / 8080ポート) でやってみる。以前もやったが。
曖昧検索はさて置き、指定フォルダー内の全文検索にまずは挑戦した
→ 成功 (やったこと を参照)
(b) Webサーバーと連携させたい。つまり、
Appache (Webサーバー) の一部の設定 (httpd.conf, httpd-proxy.conf) をカスタマイズして、
http://localhost:8080/ のところくhttp://localhost/fess/ (ポート80) でアクセスに挑戦した
→ 成功 (やったこと を参照)
今日 (までに) やったこと
大して理解しているわけではないが、(a)(b)とも、いろいろ参考にやってみたらうまくいった。
以下に順番に記載する。
(1) Java (SE ver 8.x) をインストールする (2018/3/20時点)
jdk-8u161-windows-x64.exe をインストールする。ついでに jdk-8u161-windows-i586.exe も。
ダウンロード:http://www.oracle.com/technetwork/java/javase/overview/index.html
JAVA_HOME="C:\lang\java64\jdk1.8.0_161"をシステムの環境変数に設定する
[PC] を右クリックする
[プロパティ] - [システムの詳細設定] - [環境変数] - [システムの環境変数] の順に選択する
[新規]をクリックし、変数名: JAVA_HOME、変数値: C:\lang\java64\jdk1.8.0_161 を登録する
java SE 9.0.4は断念した。
後述の (2) で Tomcat (のバッチ) をカスタマイズしてみたが動作させられず。
java SE 9.0.4 は結局アンインストールしてしまった。
(2) xampp をインストール (2018/3/24時点)
- Windows版の最新を参照先からダウンロードしてインストールする
ダウンロード:https://www.apachefriends.org/jp/index.html
現在の最新は、xampp-win32-7.2.3-0-VC15-installer.exe
(Apache/2.4.29 (Win32) OpenSSL/1.1.0g PHP/7.2.3 perl/5.16.3)
- XAMPP control panelを起動し各サーバーを起動する
(Apache / MySQL / FileZilla / Mercury / Tomcat) OK
- http://localhost/ にアクセスする
結果→ localhost/dashboard/ が表示された → OK
- Tomcat の HTTPポート 8080 を 8083 に変更する
(後述の (3) fess で 8080 を使うためのポート変更)
- XAMPP control panelの {Config] - [Service and Port Settings]
[Tomcat] タブ - [HTTP Port] で、8080 を 8083 に変更
- C:\_xampp\tomcat\conf\server.xml内の 8080 も、8083 に置換
参照:http://www.javaroad.jp/opensource/js_tomcat12.htm
- XAMPP control panelの {Config] - [Service and Port Settings]
- xamppにバンドルされた各アプリのバージョンを確認(把握のため
--------------------------------------------------------------
C:\xampp\apache\bin>httpd -v
Server version: Apache/2.4.29 (Win32)
Apache Lounge VC15 Server built: Nov 3 2017 10:30:36
C:\xampp\perl\bin>perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread
C:\xampp\php>php --version
PHP 7.2.3 (cli) (built: Feb 28 2018 06:07:53) ( ZTS MSVC15 (Visual C++ 2017) x86 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
C:\xampp\mysql\bin>mysql --version
>mysql Ver 15.1 Distrib 10.1.31-MariaDB, for Win32 (AMD64)
C:\xampp\tomcat\bin>dir tomcat*.exe
ドライブ C のボリューム ラベルは ボリューム です
ボリューム シリアル番号は xxxx-xxxx です
C:\xampp\tomcat\bin のディレクトリ
2014/09/26 21:13 86,656 tomcat7.exe
2014/09/26 21:13 110,208 tomcat7w.exe
2 個のファイル 196,864 バイト
0 個のディレクトリ xxx,xxx,xxx,xxx バイトの空き領域
--------------------------------------------------------------
(3) の前にTomcatサーバーを停止しておく ←ポートを8080から8083に変更済み。停止不要(のはず)。
(3) Fess (TomcatBase) をインストール (2018/3/21時点)
最新の安定版(= Fess 12.1.1)をダウンロードし、解凍して、
適当に配置する。どこでもよさげだが、C:\_opt\fess に配置した。
ダウンロード:https://fess.codelibs.org/ja/downloads.html
- fess.batを実行する
数分 (10分位?) 待つと、http://localhost:8080/にアクセスできた → OK!!!!!!!!!!!!!!!
- クロール設定をする (サンプル通りに)
<ウェブクロール>
- URL https://fess.codelibs.org/
- クロール対象とするURL https://fess.codelibs.org/.*
- パス file://D:/
- クロール対象とするパス file://D:/.*
実際に、検索もできている様子。OK!!!!!!!!!!!!!
(4) Apache (Web Server)とFessを連携=Apacheをリバースプロキシとして設定(2018/3/25時点)
httpd.conf
先頭の#を削除する (コメントアウトを外す)
------
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
↓
LoadModule proxy_module modules/mod_proxy.so ← もともと外れていた
LoadModule proxy_http_module modules/mod_proxy_http.so ← #を削除した
httpd-proxy.conf
(httpd.confにもともとインクルードされていた)
ProxyRequests Off ← もともと書かれてた
ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)
ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)
Apacheを再起動する
→OK
fess.batを実行する
数分待つと、
http://localhost:8080/でアクセスできた→OK
http://localhost/fessでも開けたが、スタイルシートは当たってない →NG!!!!!!!!!!!!!!!!!!!!!!!!
http://localhost/fess/adminやhttp://localhost/fess/longinは開けない →NG!!!!!!!!!!!!!!!!!!!!!!!!
>> 没 ← 上手くいかなかった >>
httpd-proxy.conf
(httpd.confにもともとインクルードされていた)
ProxyRequests Off ← もともと書かれてた
ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)
ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)
fess\bin\fess.in.bat
rem set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.context.path=/
set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess.context.path=/fess/
Apacheを再起動する
→OK
fess.batを実行する
数分待つと、
http://localhost:8080/fess/でアクセスできた→OK
http://localhost/fessでも開けた。スタイルシートも当たっている →OK!!!!!!!!!!!!!!!!!!!!!!!!
http://localhost/fess/adminやhttp://localhost/fess/longinも開けた →OK!!!!!!!!!!!!!!!!!!!!!!!!
http://localhost:8080/ではアクセスできなくなった (当然)
参考にしたサイト:
Fess apache経由でのHTTPS利用について (2017-03-07 11:11, t_mochi, #79512)
https://ja.osdn.net/projects/fess/forums/18580/38453/79512/
Apacheリバースプロキシの設定
Apache 2.4 で リバースプロキシの設定
https://qiita.com/gingi99/items/83c1fb07644cd232d91e
mod_proxy再入門 - ProxyPassとProxyPassReverse
https://dev.classmethod.jp/server-side/server/introduction_mod_proxy/
今日はここまで。
明日はApacheやTomcatをWindowsのサービスに登録してみる。
便利機能 - Acrobat7 でPDFを切り取る方法
メモ書きです
Acrobat7のちょっと便利な機能です
(a)部分的にキャプチャーする機能
(b)クリップボードの画像をPDF化する機能
があります。
(a)PDFを部分的にキャプチャーする
「ツール」メニュー−「基本」−「スナップショットツール」を選びます。
カーソルが十字に変わりますので、左クリック→ドラッグして撮りたい範囲を指定します。
指定した範囲が画像としてクリップボードに保存されます。
PDFの、この部分だけ切り取れたらいいのに〜。というとき、多くの方は、
-
-
- PDFのタッチアップツールで不要部分を削除する
- 画面をキャプチャーしてBMP画像を切り取る
-
という方法を取っていたのでではないでしょうか。
(b)クリップボードの画像をPDFにする
1のキャプチャーや、AltキーやAlt+PrintScrnキーで撮ったキャプチャーを、PDFにすることができます。
今までは一旦BMPにしてからPDFに書き出していた操作が、1操作になりちょっとだけ便利です。
-
- キャプチャーします。
- 「ファイル」−「PDFの作成」−「クリップボードの画像」を選びます。
- 1で指定した範囲だけのPDFが作成されるので、保存します。
注意:
-
- 見た目をキャプチャーした「画像」PDFです。文字などの再利用はできません。
- スナップショットツールで範囲を指定した時のPDFの倍率が100%のサイズとなります。
いかがでしたでしょうか。