====== prisoner web設定 ====== prisonerのwebをWEBサーバにする。 ===== 事前設定 ===== jailerから各設定ファイルを直接編集する。各設定ファイルのプレフィックスは/usr/jail/webとなる。 * etc/syslog.confでconsole出力をコメント化する。 # *.err;kern.warning;auth.notice;mail.crit /dev/console * etc/crontabで不要なcronをコメント化する。 # 1,31 0-5 * * * root adjkerntz -a * etc/pw.confを新規作成する。prisoner内のuid, gidとjailerのuid, gidが同じになるとセキュリティ上の問題が発生するため、uid, gidの範囲を設定する。 minuid 2101 maxuid 2200 mingid 2101 maxgid 2200 * etc/fstabをtouchで作成する。 * etc/resolv.confを作成する。 domain "ドメイン名" nameserver "さくらのVPS指定 1" nameserver "さくらのVPS指定 2" * etc/hostsにweb自身と内側のホスト(jailer, prisoner)を登録する。 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 * etc/rc.confを新規作成する。 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" * ifcofig_epair2b\\ jailerで作成したepair2の一端。jailerからprisonerであるfwに割り当てる。 ===== OS設定 ===== prisoner webを起動後、以下の設定を行う。 * prisoner:webへ移動 # jexec web /bin/sh * newaliasesの実行 # newaliases /etc/mail/aliases: 27 aliases, longest 10byte, 275 bytes total * bsdconfigでそれぞれ設定。 * Root Password * User Management * Time Zone ===== ソフトウェア導入 ===== ==== pkg ==== pkgにて、以下を導入。 pkg -j web install * apache24 * dokuwiki * mod_php72 * py36-certbot * py36-certbot-apache ===== PHP設定 ===== /usr/local/etc/php.ini-developmentを/usr/local/etc/php.iniコピーする。\\ コピー後、php.iniを編集する。 mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 ===== Let's Encrypt設定 ===== [[https://free-ssl.jp/|Let's Encrypt 総合ポータル]]を参考に設定を行う。 * 事前に apache を停止(起動済みの場合) # service apache24 stop * certbot 実行 # certbot certonly --standalone -d <ドメイン名> -d <サブドメインを含めたFQDN> * メールアドレスを入力 * [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に追記する。 apache24_enable="YES" ==== httpd.conf設定 ==== /usr/local/etc/apache24/httpd.confを編集する。 * AuthDigest有効化 LoadModule auth_digest_module libexec/apache24/mod_auth_digest.so * SSL/TLS有効化 LoadModule ssl_module libexec/apache24/mod_ssl.so * shmcb有効化 LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so * rewrite有効化 LoadModule rewrite_module libexec/apache24/mod_rewrite.so * CGI有効化 LoadModule cgi_module libexec/apache24/mod_cgi.so * ServerAdmin無効化 #ServerAdmin you@example.com * ServerNameの変更 #ServerName www.example.com:80 ServerName 192.168.100.1:80 * DocumentRootの変更 #DocumentRoot "/usr/local/www/apache24/data" DocumentRoot "/usr/local/www" * ブロックの無効化 # # # 無効化 # # * DirectoryIndexの追加 DirectoryIndex index.html index.php * alias_moduleの無効化 # ScriptAlias /cgi-bin/ "/usr/local/www/apache24/cgi-bin/" * CGI directoryの無効化 # # # 無効化 # # * PHP と cgi設定 AddType application/x-httpd-php .php * TLS有効化 Include etc/apache24/extra/httpd-ssl.conf * rewrite設定(([[http://qiita.com/sue71/items/100004b704b9ff129b09|apacheでhttpへのアクセスをhttpsへ自動リダイレクトする]])) RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] ==== httpd-ssl.conf ==== /usr/local/etc/apache24/extra/httpd-ssl.confを編集する。 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" SSLOptions +StdEnvVars BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ dwongrade-1.0 force-response-1.0 Options FollowSymLinks ExecCGI AllowOverride all Order allow,deny Allow from all Require all granted CustomLog "/var/log/httpd-ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" ==== コンフィグ確認 ==== * コンフィグ確認を行う # apachectl configtest ===== ログローテーション設定 ===== prisoner web の /etc/newsyslog.confに対象ファイルを追加する。 /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 ===== DokuWiki ===== ==== 新規の場合 ==== * ブラウザにてinstall.php にアクセスしウィザードに従って設定を行う。 * DokuWiki installer実行後、install.phpを削除する。 * [管理] -> [テンプレートのスタイル設定] -> [サイトの全体幅] を 100% * タイムゾーン設定のため、conf/local.protected.php を新規作成 ==== データ移行の場合 ==== * 移行元で[[https://www.dokuwiki.org/faq:backup|How to backup DokuWiki?]] に従い、バックアップを行う。 * install.php を削除する。 * バックアップを展開する。 * [[https://www.dokuwiki.org/install:freebsd|DokuWiki on FreeBSD]] に従い、設定を行う。