Appache + php で、SSLを設定する

Xamp (Apache + 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の雰囲気が出せるはずだ。

hostsの所在: C:\Windows\System32\drivers\etc\hosts


hosts編集例: 最下行にi37 ("あいさんなな") を追記する。

  ----------------
  127.0.0.1 i37
  ----------------

参考にしたサイト: http://onocom.net/blog/windows-hosts-file/

今日はここまで

Apacheカスタマイズ2. ユーザーの公開先に ~ でアクセス

Apache Monitor


自分用のメモです。
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 をテキストエディターで開く。



  1. 公開元 (ユーザーディレクトリーの場所) を指定する

    例として、ユーザーディレクトリー (フォルダー) を、"D:/home/htdocs/usr/ka/" に作成するものとする。

    (Before)

    #UserDir "My Documents/My Website"

     ↓

    (After)

    UserDir "D:/home/htdocs/usr"



  2. 個々の公開元 (ユーザーディレクトリーの場所) を設定する

    ユーザー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 ドキュメント

  http://httpd.apache.org/docs/2.4/

Apache httpdカスタマイズ1 公開元ディレクトリー変更など

Apache M onitor

 
自分用のメモです。


これまで

Apache (Webサーバー) を含むXampp、全文検索システムのFess、DokuWIki をインストールした。

今日は

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 ドキュメント

  http://httpd.apache.org/docs/2.4/

Dokuwikiをインストール

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サービスに登録 

i372018-03-27

 
自分用のメモです。
 

昨日やったこと (まとめ)

xamppとFESSをWindows 10にインストールし、連携した。
localhost:80/fess/ へのアクセスは、localhost:8080/fess/ へ転送される。

今日やったこと

xamppに含まれるサーバー(Apacheなど)、FESSをサービスに登録してみた。
始める前に、apacheやFESSは停止させておいた。

登録したサービス (ApacheとFESS) を自動で開始する設定にしておけば、
PCを立ち上げさえすれば、ブラウザーでのWebサイトアクセスや検索が
できるようになる (当然のことだが) 。ログイン不要でとても便利だ。
 

(a) Apache (httpd) をサービスに登録して開始する

バッチは C:\>xampp\apache にあるものとする


  1. Cortanaに「Dos」と入力し、表示された候補の中から

    DOSプロンプトを右クリックして、管理者として実行する



  2. C:\>xampp\apache\binにディレクトリを移動し

    バッチ (apache_installservice.bat) を実行する

    ⇒ サービスに登録される


    エラーがあるようだ。

    確かに、実際にはまだ設定すべきこと (ssl証明書など) がある。

    後で対処するとして、ひとまず次へ


     

  3. サービスを開き、Apache2.4サービスを開始する

    (参考) xampp control panelの Services からも開ける。


(b) MySQL (データベース)  追々

バッチは、 C:\>xampp\mysqる mysql_installservice.bat


(c) Filla (FTPサーバー)  追々

バッチは、 C:\>xampp内にある filezilla_setup.bat


(d) Mercury (メールサーバー)  追々

バッチどれ???


(e) Tomcat (Proxyサーバー)  追々

バッチは、C:\>xampp\tomcat内にある tomcat_service_install.bat


  1. C:\>xampp\tomcat内にある tomcat_service_install.batを修正

    set JRE_HOME=%JAVA_HOME%



    set JRE_HOME=%JAVA_HOME%\jre


     

  2. C:\xampp\tomcat\>tomcat_service_install.bat を実行


登録成功!


(f) Fessをサービスに登録して開始する

バッチはC:\xx\fess\bin内にある service.bat とする
使い方: service.bat install|remove|start|stop|manager [SERVICE_ID]


  1. service.batを修正 (パスを変更)する

    -Dfess.context.path="/



    -Dfess.context.path="/fess/


     

  2. Fessサービスを登録する = DOS Promptから以下を入力

    C:\xx\> service.bat install fess-service-x64.exe


     

  3. fessサービスを開始する = DOS Promptから以下を入力

    (WindowsのServiceの画面から、サービスを開始してもいいが)

    C:\xx\> service.bat start fess-service-x64.exe


結果、問題無し


今日はここまで。
明日はWindowsにDokuwikiをインストールしてみる。

で全文検索を構築 (xammp/7.2.3_VC15 + Fess 12)

XAMPP control panel の画面

 
自分用のメモ書きです
 

やりたいこと

 

(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時点)


  1. jdk-8u161-windows-x64.exe をインストールする。ついでに jdk-8u161-windows-i586.exe も。

    ダウンロード:http://www.oracle.com/technetwork/java/javase/overview/index.html



  2. JAVA_HOME="C:\lang\java64\jdk1.8.0_161"をシステムの環境変数に設定する


    1. [PC] を右クリックする



    2. [プロパティ] - [システムの詳細設定] - [環境変数] - [システムの環境変数] の順に選択する



    3. [新規]をクリックし、変数名: JAVA_HOME、変数値: C:\lang\java64\jdk1.8.0_161 を登録する

       
    ここではまだTomcatを起動させないが、後述する(2) で動作は OK だった。


java SE 9.0.4は断念した。
後述の (2) で Tomcat (のバッチ) をカスタマイズしてみたが動作させられず。
java SE 9.0.4 は結局アンインストールしてしまった。
 

(2) xampp をインストール (2018/3/24時点)

  1. 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)


  2. XAMPP control panelを起動し各サーバーを起動する

    (Apache / MySQL / FileZilla / Mercury / Tomcat) OK


  3. http://localhost/ にアクセスする

    結果→ localhost/dashboard/ が表示された → OK


  4. Tomcat の HTTPポート 8080 を 8083 に変更する

    (後述の (3) fess で 8080 を使うためのポート変更)

  5. 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時点)


  1. 最新の安定版(= Fess 12.1.1)をダウンロードし、解凍して、

    適当に配置する。どこでもよさげだが、C:\_opt\fess に配置した。

    ダウンロード:https://fess.codelibs.org/ja/downloads.html


  2. fess.batを実行する

    数分 (10分位?) 待つと、http://localhost:8080/にアクセスできた → OK!!!!!!!!!!!!!!!


  3. クロール設定をする (サンプル通りに)

    <ウェブクロール>

    • URL https://fess.codelibs.org/

    • クロール対象とするURL https://fess.codelibs.org/.*


    <ファイルシステムクロール>

    • パス file://D:/
    • クロール対象とするパス file://D:/.*

     

    実際に、検索もできている様子。OK!!!!!!!!!!!!!



(4) Apache (Web Server)とFessを連携=Apacheをリバースプロキシとして設定(2018/3/25時点)


  1. 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 ← #を削除した



  2. httpd-proxy.conf
    (httpd.confにもともとインクルードされていた)



    ProxyRequests Off ← もともと書かれてた

    ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)

    ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)



  3. Apacheを再起動する

    →OK



  4. fess.batを実行する

    数分待つと、

    http://localhost:8080/でアクセスできた→OK

    http://localhost/fessでも開けたが、スタイルシートは当たってない →NG!!!!!!!!!!!!!!!!!!!!!!!!

    http://localhost/fess/adminhttp://localhost/fess/longinは開けない →NG!!!!!!!!!!!!!!!!!!!!!!!!

    >> 没 ← 上手くいかなかった >>



  5. httpd-proxy.conf
    (httpd.confにもともとインクルードされていた)



    ProxyRequests Off ← もともと書かれてた

    ProxyPass /fess http://localhost:8080/ ← 追加 (localhost:8080/fess → localhost/fess に転送)

    ProxyPassReverse /fess http://localhost:8080/ ← 追加 (リダイレクトしたときのルートか?)



  6. 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/



  7. Apacheを再起動する

    →OK



  8. fess.batを実行する

    数分待つと、

    http://localhost:8080/fess/でアクセスできた→OK

    http://localhost/fessでも開けた。スタイルシートも当たっている →OK!!!!!!!!!!!!!!!!!!!!!!!!

    http://localhost/fess/adminhttp://localhost/fess/longinも開けた →OK!!!!!!!!!!!!!!!!!!!!!!!!

    http://localhost:8080/ではアクセスできなくなった (当然)


ここまでで動作はOKの模様。

参考にしたサイト:

 
今日はここまで。
明日はApacheやTomcatをWindowsのサービスに登録してみる。

便利機能 - Acrobat7 でPDFを切り取る方法

  メモ書きです

Acrobat7のちょっと便利な機能です

 
(a)部分的にキャプチャーする機能
(b)クリップボードの画像をPDF化する機能
 
があります。
 

(a)PDFを部分的にキャプチャーする

 
「ツール」メニュー−「基本」−「スナップショットツール」を選びます。
カーソルが十字に変わりますので、左クリック→ドラッグして撮りたい範囲を指定します。
指定した範囲が画像としてクリップボードに保存されます。
 
PDFの、この部分だけ切り取れたらいいのに〜。というとき、多くの方は、
 

      • PDFのタッチアップツールで不要部分を削除する
      • 画面をキャプチャーしてBMP画像を切り取る

 
という方法を取っていたのでではないでしょうか。
 

(b)クリップボードの画像をPDFにする

 
1のキャプチャーや、AltキーやAlt+PrintScrnキーで撮ったキャプチャーを、PDFにすることができます。
今までは一旦BMPにしてからPDFに書き出していた操作が、1操作になりちょっとだけ便利です。

    1. キャプチャーします。
    2. 「ファイル」−「PDFの作成」−「クリップボードの画像」を選びます。
    3. 1で指定した範囲だけのPDFが作成されるので、保存します。

 

注意:

    • 見た目をキャプチャーした「画像」PDFです。文字などの再利用はできません。 
    • スナップショットツールで範囲を指定した時のPDFの倍率が100%のサイズとなります。

 
いかがでしたでしょうか。