User Tools

Site Tools


vps:vps4th_05

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

vps:vps4th_05 [2017/01/02 15:14]
hoge@hoge [pkg以外]
vps:vps4th_05 [2019/06/16 15:16]
Line 1: Line 1:
-====== prisoner web設定 ====== 
-prisonerのwebをWEBサーバにする。 
- 
-===== 事前設定 ===== 
-jailerから各設定ファイルを直接編集する。各設定ファイルのプレフィックスは/​usr/​jail/​webとなる。 
- 
-  * etc/​syslog.confでconsole出力をコメント化する。<​code>​ 
-# *.err;​kern.warning;​auth.notice;​mail.crit ​             /​dev/​console 
-</​code>​ 
-  * etc/​crontabで不要なcronをコメント化する。<​code>​ 
- # 1,31  0-5     ​* ​      ​* ​      ​* ​      ​root ​   adjkerntz -a 
-</​code>​ 
-  * etc/​pw.confを新規作成する。prisoner内のuid,​ gidとjailerのuid,​ gidが同じになるとセキュリティ上の問題が発生するため、uid,​ gidの範囲を設定する。<​code>​ 
-minuid 2101 
-maxuid 2200 
-mingid 2101 
-maxgid 2200 
-</​code>​ 
-  * etc/​fstabをtouchで作成する。 
-  * etc/​resolv.confを作成する。<​code>​ 
-domain "​ドメイン名"​ 
-nameserver "​さくらのVPS指定 1" 
-nameserver "​さくらのVPS指定 2" 
-</​code>​ 
-  * etc/​hostsにweb自身と内側のホスト(jailer,​ prisoner)を登録する。<​code>​ 
-127.0.0.1 ​            ​localhost localhost.example.com 
-192.168.100.254 ​      gw gw.example.com 
-192.168.100.1 ​        web web.example.com 
-192.168.100.1 ​        ​web.example.com. 
-192.168.100.2 ​        ​desktop desktop.example.com 
-192.168.100.253 ​      vps vps.example.com 
-</​code>​ 
-  * etc/​rc.confを新規作成する。<​code>​ 
-hostname="​web.example.com"​ 
-ifconfig_epair2b="​inet 192.168.100.1 netmask 255.255.255.0"​ 
-defaultrouter="​192.168.100.254"​ 
-firewall_enable="​YES"​ 
-firewall_type="​open"​ 
-</​code>​ 
-    * ifcofig_epair2b\\ jailerで作成したepair2の一端。jailerからprisonerであるfwに割り当てる。 
- 
- 
-===== OS設定 ===== 
-prisoner webを起動後、以下の設定を行う。 
-  * prisoner:​webへ移動<​code>​ 
-# jexec web /bin/sh 
-</​code>​ 
-  * newaliasesの実行<​code>​ 
-# newaliases 
- /​etc/​mail/​aliases:​ 27 aliases, longest 10byte, 275 bytes total 
-</​code>​ 
-  * bsdconfigでそれぞれ設定。 
-    * Root Password 
-    * User Management 
-    * Time Zone 
- 
-===== ソフトウェア導入 ===== 
-==== pkg ==== 
-pkgにて、以下を導入。 
-<​code>​pkg -j web install <​pkg名></​code>​ 
-  * apache24 
-  * php56 
-  * mod_php56 
-  * dokuwiki 
-    * インストール後、/​usr/​local/​www/​dokuwikiの所有権を変更する。<​code>​ 
-# cd /​usr/​local/​www 
-# chown -R www:www dokuwiki 
-</​code>​ 
-  * py27-certbot 
- 
-==== pkg以外 ==== 
-個別に導入。 
-  * C-BOARD Moyuku 
-    * FreeBSD 11 では perlのパスが /​usr/​bin/​perl から /​usr/​local/​bin/​perl になっていた為、Internal Server Errorが出た。\\ c-board.cgi の1行目を編集して回避。 
-    * 新規に展開する場合は改行コードの置換(CRLF(^M)の削除)を行う。<​code>​ 
-# cd <​c-boadのディレクトリ>​ 
-# find . -name "​*.pl"​ | xargs perl -i.bak -pe "​s/​^M//"​ 
-# find . -name "​*.cgi"​ | xargs perl -i.bak -pe "​s/​^M//"​ 
-# find . -name "​*.bak"​ | xargs rm 
-</​code>​ 
-      * ^M は Ctrl+v, Ctrl+mで入力 
-    * brd ディレクトリを旧環境から展開で移行 
-    * アクセス権設定 
-===== PHP設定 ===== 
-/​usr/​local/​etc/​php.ini-developmentを/​usr/​local/​etc/​php.iniコピーする。\\ コピー後、php.iniを編集する。 
-<​code>​ 
-mbstring.language = Japanese 
-mbstring.internal_encoding = UTF-8 
-mbstring.http_input = auto 
-mbstring.http_output = UTF-8 
- 
-always_populate_raw_post_data = -1 
-</​code>​ 
-  * always_populate_raw_post_data 
-    * -1 にしないとアップロードできない。 
- 
-===== Let's Encrypt設定 ===== 
-[[https://​letsencrypt.jp/​|Let'​s Encrypt 総合ポータル]]を参考に設定を行う。 
- 
-  * 事前に apache を停止(起動済みの場合)<​code>​ 
-# service apache24 stop 
-</​code>​ 
-  * certbot 実行<​code>​ 
-# certbot certonly --standalone -d <​ドメイン名>​ -d <​サブドメインを含めたFQDN>​ 
-</​code>​ 
-  * メールアドレスを入力 
-  * [Please read the Terms of Service at ...]と出るので、[Agree]を押下。 
-  * /​usr/​local/​etc/​letscncrypt/​live/<​ドメイン名>​に以下のファイルが作成される 
-    * cert.pem 
-    * chain.pem 
-    * fullchain.pem 
-    * privkey.pem 
- 
-===== Apache HTTP Server設定 ===== 
-==== 自動起動設定 ==== 
-/​etc/​rc.confに追記する。 
-<​code>​ 
-apache24_enable="​YES"​ 
-</​code>​ 
- 
-==== httpd.conf設定 ==== 
-/​usr/​local/​etc/​apache24/​httpd.confを編集する。 
-  * AuthDigest有効化<​code>​ 
-LoadModule auth_digest_module libexec/​apache24/​mod_auth_digest.so 
-</​code>​ 
-  * SSL/​TLS有効化<​code>​ 
-LoadModule ssl_module libexec/​apache24/​mod_ssl.so 
-</​code>​ 
-  * shmcb有効化<​code>​ 
-LoadModule socache_shmcb_module libexec/​apache24/​mod_socache_shmcb.so 
-</​code>​ 
-  * rewrite有効化<​code>​ 
-LoadModule rewrite_module libexec/​apache24/​mod_rewrite.so 
-</​code>​ 
-  * CGI有効化<​code>​ 
-LoadModule cgi_module libexec/​apache24/​mod_cgi.so 
-</​code>​ 
-  * ServerAdmin無効化<​code>​ 
-#​ServerAdmin you@example.com 
-</​code>​ 
-  * ServerNameの変更<​code>​ 
-#ServerName www.example.com:​80 
-ServerName 192.168.100.1:​80 
-</​code>​ 
-  * DocumentRootの変更<​code>​ 
-#​DocumentRoot "/​usr/​local/​www/​apache24/​data"​ 
-DocumentRoot "/​usr/​local/​www"​ 
-</​code>​ 
-  * <​Directory "/​usr/​local/​www/​apache24/​data">​ブロックの無効化<​code>​ 
-# <​Directory "/​usr/​local/​www/​apache24/​data">​ 
-# 
-# 無効化 
-# 
-# </​Directory>​ 
-</​code>​ 
-  * DirectoryIndexの追加<​code>​ 
-<​IfModule dir_module>​ 
-    DirectoryIndex index.html index.php 
-</​IfModule>​ 
-</​code>​ 
-  * alias_moduleの無効化<​code>​ 
-<​IfModule alias_module>​ 
-    # ScriptAlias /cgi-bin/ "/​usr/​local/​www/​apache24/​cgi-bin/"​ 
-</​IfModule>​ 
-</​code>​ 
-  * CGI directoryの無効化<​code>​ 
-# <​Directory "/​usr/​local/​www/​apache24/​cgi-bin">​ 
-# 
-# 無効化 
-# 
-# </​Directory>​ 
-</​code>​ 
-  * PHP と cgi設定<​code>​ 
-<​IfModule mime_module>​ 
-    AddType application/​x-httpd-php .php 
-    AddHandler cgi-script .cgi 
-</​IfModule>​ 
-</​code>​ 
-  * TLS有効化<​code>​ 
-Include etc/​apache24/​extra/​httpd-ssl.conf 
-</​code>​ 
-  * rewrite設定(([[http://​qiita.com/​sue71/​items/​100004b704b9ff129b09|apacheでhttpへのアクセスをhttpsへ自動リダイレクトする]]))<​code>​ 
-<​IfModule mod_rewrite.c>​ 
-       ​RewriteEngine On 
-       ​RewriteCond %{HTTPS} off 
-       ​RewriteRule ^(.*)$ https://​%{HTTP_HOST}%{REQUEST_URI} [R,L] 
-</​IfModule>​ 
-</​code>​ 
- 
- 
-==== httpd-ssl.conf ==== 
-/​usr/​local/​etc/​apache24/​extra/​httpd-ssl.confを編集する。 
-<​code>​ 
-<​VirtualHost _default_:​443>​ 
-    DocumentRoot "/​usr/​local/​www/​dokuwiki"​ 
-    ServerName www.example.com:​443 
-    ErrorLog "/​var/​log/​httpd-error.log"​ 
-    TransferLog "/​var/​log/​httpd-access.log"​ 
-    ​ 
-    SSLEngine on 
-    ​ 
-    SSLCertificateFile "/​etc/​letsencrypt/​live/<​ドメイン名>/​fullchain.pem"​ 
-    SSLCertificateKeyFile "/​etc/​letsencrypt/​live/<​ドメイン名>/​privkey.pem"​ 
-    ​ 
-    <​FileMatch "​.\(cgi|shtml|phtml|php)$">​ 
-         ​SSLOptions +StdEnvVars 
-    </​FileMatch>​ 
-    ​ 
-    BrowserMatch "MSIE [2-5]" \ 
-             ​nokeepalive ssl-unclean-shutdown \ 
-             ​dwongrade-1.0 force-response-1.0 
-              
-    <​IfModule alias_module>​ 
-         # Aliasとして、/​c-boardへのアクセスを/​usr/​local/​www/​c-boardへマップ 
-         Alias /c-board /​usr/​local/​www/​c-board 
-    </​IfModule>​ 
-    ​ 
-    <​Directory /> 
-         ​Options FollowSymLinks ExecCGI 
-         ​AllowOverride all 
-         Order allow,deny 
-         Allow from all 
-         ​Require all granted 
-    </​Directory>​ 
- 
-    <​Directory "/​usr/​local/​www/​c-board">​ 
-         ​Options FollowSymLinks ExecCGI 
-         ​AllowOverride all 
-         Order allow,deny 
-         Allow from all 
-          
-         ​AuthType Digest 
-         ​AuthName HOGE 
-         ​AuthDigestDomain /​usr/​local/​www/​c-board 
-         ​AuthDigestProvider file 
-         ​AuthUserFile /​usr/​local/​etc/​apache24/​.htdigest 
-         ​Require valid-user 
-    </​Directory>​ 
-    ​ 
-CustomLog "/​var/​log/​httpd-ssl_request.log"​ \ 
-          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"​%r\"​ %b" 
-</​VirtualHost>​ 
-</​code>​ 
- 
-==== Digest認証設定 ==== 
-  * .htdigestを作成する。<​code>​ 
-# cd /​usr/​local/​etc/​apache24 
-# htdigest -c .htdigest '​AuthNmaeで設定した値'​ 認証するユーザ名 
-</​code>​ 
- 
-==== コンフィグ確認 ==== 
-  * コンフィグ確認を行う<​code>​ 
-# apachectl configtest 
-</​code>​ 
- 
-===== ログローテーション設定 ===== 
-prisoner web の /​etc/​newsyslog.confに対象ファイルを追加する。 
-<​code>​ 
-/​var/​log/​httpd-access.log 600 30 * @T02 J /​var/​run/​httpd.pid 30 
-/​var/​log/​httpd-error.log 600 30 * @T02 J /​var/​run/​httpd.pid 30 
-/​var/​log/​httpd-ssl_request.log 600 30 * @T02 J /​var/​run/​httpd.pid 30 
-</​code>​ 
- 
-===== DokuWiki ===== 
-  * ブラウザにてinstall.phpにアクセスする。 
-  * DokuWiki installer実行後、install.phpを削除する。 
-  * lib/​tpl/​dokuwiki/​style.iniを編集して表示幅などを調整する。 
-    * <​nowiki>​__site_width__ = “100%”</​nowiki>​ 
-  * タイムゾーン設定のため、conf/​conf/​local.protected.php を新規作成<​code>​ 
-<?php 
-date_default_timezone_set("​Asia/​Tokyo"​);​ 
-</​code>​ 
- 
  
vps/vps4th_05.txt · Last modified: 2019/06/16 15:16 (external edit)