This shows you the differences between two versions of the page.
vps:vps4th_05 [2016/12/31 12:50] hoge@hoge [Let's Encrypt設定] |
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 | ||
- | ===== 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 | ||
- | </code> | ||
- | |||
- | ===== 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> | ||
- | * 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 | ||
- | ServerAdmin you@example.com | ||
- | 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認証設定 ==== | ||
- | * httpd-vhosts.confにて、認証を行いたいVirtualHostの<Directory></Directory>内に以下を追加する。<code> | ||
- | AuthType Digest | ||
- | AuthName "ログイン先を識別する任意の文字列" | ||
- | AuthDigestDomain 「/認証を行いたいディレクトリ」のどこから認証を始めるか/ | ||
- | AuthDigestProvider file | ||
- | AuthUserFile /usr/local/etc/apache24/.htdigest | ||
- | Require valid-user | ||
- | </code> | ||
- | * .htdigestを作成する。<code> | ||
- | # cd /usr/local/etc/apache24 | ||
- | # htdigest -c .htdigest 'AuthNmaeで設定した値' 認証するユーザ名 | ||
- | </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を削除する。 | ||
- | * /usr/local/www.dokuwiki/conf の所有権を root:wheel に戻す。 | ||
- | * lib/tpl/dokuwiki/style.iniを編集して表示幅などを調整する。 | ||
- | * <nowiki>__site_width__ = “100%”</nowiki> | ||
- | |||