Changes between Version 2 and Version 3 of HowTo/SakuraVpsSetup3b


Ignore:
Timestamp:
Oct 30, 2019, 6:20:36 AM (5 years ago)
Author:
村山 俊之
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HowTo/SakuraVpsSetup3b

    v2 v3  
    784784}}}
    785785
     786uWSGI の準備は整ったので、とりあえず動かしておきましょう。
     787
     788{{{
     789#!console
     790$ cd original/
     791$ uwsgi --ini trac-original.ini
     792}}}
     793
     794デーモンモードで動くので、すぐにシェルに処理が返されます。先程作った `run` ディレクトリの下にソケットファイルと PID ファイルが生成されているのが確認できます (そのへんは省略)。
     795
     796Nginx の設定も施しましょう。 `/etc/nginx/sites-available/developer` に `developer.harapeko.jp` サブドメイン用の設定を作成します。
     797
     798{{{
     799#!console
     800$ sudo su -
     801# cd /etc/nginx/
     802# vim sites-available/developer
     803
     804(設定を記述...)
     805
     806# cd sites-enabled/
     807# ln -s ../sites-available/developer
     808}}}
     809
     810設定内容はとりあえず以下の通りです。(HTTPS 化は相変わらず certbot 任せ)
     811
     812{{{
     813server {
     814  listen 80;
     815  listen [::]:80;
     816
     817  root /var/www/vhosts/developer/html;
     818  index index.html index.htm;
     819  server_name developer.harapeko.jp;
     820
     821  location /trac/original {
     822    include uwsgi_params;
     823    uwsgi_pass unix:/var/Developer/trac/run/uwsgi-original.sock;
     824  }
     825
     826  location ~ ^/trac/original/[^/]+/login$ {
     827    include uwsgi_params;
     828    uwsgi_param REMOTE_USER $remote_user;
     829    uwsgi_pass unix:/var/Developer/trac/run/uwsgi-original.sock;
     830    auth_basic "trac authentication";
     831    auth_basic_user_file /var/Developer/trac/original/.htpasswd;
     832  }
     833
     834  location / {
     835    try_files $uri $uri/ =404;
     836  }
     837}
     838}}}
     839
     840当面 developer サブドメインを Idea Note 以外の用途で使う予定はないのですが、一応 `/trac/original` 以外のところにアクセスされた場合用にドキュメントルートも設定してあります。ファイルは用意していないので単に 404 になります。
     841
     842Trac 用の設定としては、基本は単に UNIX ソケットとの通信設定を施すのみです。 `uwsgi_params` というのを include していますが、このファイルは `pip install uWSGI` した時点で `/etc/nginx` の下によしなに作られたようで (もしくは元からそこにあった?)、 uWSGI に渡す基本的なパラメータのデフォルト値が定義されています。
     843
     844Trac ではログイン処理も施す必要があるので、ログイン用の URL にアクセスした場合に `REMOTE_USER` パラメータに基本認証されたユーザー名を渡す設定と、基本認証自体が動くようにする設定を追加しています。なお、 Nginx には Apache2 で使えていた **Digest 認証には対応していません** (対応させるにはパッチを使ってソースからコンパイルしてあげる必要がある)。元々 Digest 認証用のパスワードファイルがあって、それを使っていたのですが、今見たら昔仕事で共用していたユーザーの設定がそのまま残っていて、むしろこれは捨てたほうが良いなと思ったので、基本認証に切り替えて済ませることにしました (SSL を使うつもりなので問題はないはず)。
     845
     846ドキュメントルートを作っていなかったので用意します。
     847
     848{{{
     849#!console
     850# mkdir -p /var/www/vhosts/developer/html
     851# chown murachi:www-data /var/www/vhosts/developer/html
     852}}}
     853
     854それから基本認証用のパスワードファイルも用意します。
     855
     856{{{
     857#!console
     858# exit
     859$ cd /var/Developer/trac/original/
     860$ htpasswd -c .htpasswd murachi
     861New password:
     862Re-type new password:
     863Adding password for user murachi
     864$
     865}}}
     866
     867Nginx を再起動します。
     868
     869{{{
     870#!console
     871$ sudo service nginx restart
     872}}}
     873
     874ローカルマシン上の `/etc/hosts` を書き換えて、所定の URL で Idea Note にアクセスできることが確認できました。
     875
     876もはや動作確認用のポート開放は不要なので、 iptables の設定をもとに戻しておきましょう。
     877
     878{{{
     879#!console
     880$ sudo su -
     881# vim ip*tables.sh
     882
     883(ポート 6543 を含まない設定に戻す)
     884
     885# ./iptables.sh
     886# ./ip6tables.sh
     887# service netfilter-presistent save
     888# service netfilter-presistent reload
     889}}}
     890