スキップしてメイン コンテンツに移動

adiary 構築 on NGINX in CentOS6

CentOS6 に nginx を入れ、adiary を構築してみた。[adiary 公式サイト]

 epel リポジトリが登録してなければ次を実行。
# yum install epel-release

この記事に従って nginx をインストールしてたら、epel リポジトリは登録されている。
Webサーバ nginx のインストール on CentOS6
https://atsreport.blogspot.com/2017/12/web-nginx-on-centos6.html


adiary は perl で動作しfcgi に対応しているので、perl-FCGI もインストールする。
# yum install perl-FCGI


以上で動作環境は整ったので、次に adiary を導入する。


tarボールを落としてきて展開する 又は git を使いデータを取ってくる。
tarボールは公式サイトから探してきて必要な場所に展開すればよい。
git を使う場合は、まずコマンドのインストールをする。
# yum install git
この後、adiary を展開するディレクトリに移動し、次のコマンドを実行。
$ git clone https://github.com/nabe-abk/adiary

展開後、次の設定を行う。
ディレクトリパーミッションの設定
adiary.conf.cgiの設定


以上で adiary の導入は終わり、後は nginx の設定を行う。


nginx はデフォルトの状態だと /etc/nginx/nginx.conf が最初に読み込まれ、
このファイルから /etc/nginx/conf.d/*.conf が読み込まれる。
そして、/etc/nginx/conf.d/default.conf から /etc/nginx/default.d/*.conf が読み込まれる。

そこで、/etc/nginx/default.d/adiary.conf を作り、次を書き込む。
        location /adiary/ {
                root    /<adiaryインストールしたディレクトリ>/adiary;

                if ($uri ~ ^/adiary/(.+)$) { set $x $1; }
                if (-f $document_root/$x) {
                        rewrite         ^/adiary/(.*)$  /$1     break;
                }
                error_page 404 = @adiary;
        }

        location /adiary/__cache        { deny all; }
        location /adiary/data           { deny all; }
        location ~ \.cgi$               { deny all; }

        location @adiary {
                include         fastcgi_params;

                fastcgi_pass    127.0.0.1:9000;
                fastcgi_param   Basepath        /adiary/;
                fastcgi_param   Mod_rewrite     1;
        }



設定ファイルに問題がないかテストする。
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful



問題がなければサービスの再起動を行う。
# service nginx restart

cgiを動作させるため、adiary のディレクトリにある adiary.fcgi を実行する。
$ ./adiary.fcgi 127.0.0.1:9000 30


これでブラウザからサーバの /adiary/ にアクセスすると adiary の初期画面になる。

初期画面が表示されず、エラーが表示されることがある。
 Can't locate Time/HiRes.pm in @INC
Time::HiResモジュール が無いと上記エラーが表示されるので次のコマンドを実行する。
 # yum install perl-Time-HiRes



[参考]
adiary 自前サーバへのインストール
https://adiary.org/v3man/install2/
adiary Nginxでの設定
https://adiary.org/v3man/install2/nginx

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

Perl/Tk の基本的なこと

X を利用したアプリケーションを作る方法は色々あるが、Tk を用いると簡単に出来る。 Tk - Wikipedia https://ja.wikipedia.org/wiki/Tk_(ツールキット) Tk で作るWindowをどの言語で書くかによって変わってくるが、Tcl/Tkが最も有名かもしれない。 Tcl/Tk - Wikipedia https://ja.wikipedia.org/wiki/Tcl/Tk wish (Windowing Shell) を用いてスクリプトを組むことでグラフィカルなアプリを作れる。 Tclはこのwishで使われるプログラミング言語であり、簡単に使える。かなり多くのシステムに導入されていることもあり、特に何かをインストールせずとも使うことが出来る。 このTclの部分をperlに置き換えたものがPerl/Tkである。 Perl/Tk インストール Perl/Tk は Tcl/Tk と違いデフォルトでインストールされていないことが多い。 ubuntuだと perl-tk をインストールすると使えるようになる。 # apt install perl-tk 取り敢えず作ってみる 次のようなサンプルファイル sample.pl を作る。 sample.pl use utf8; use Tk; # トップウィンドウを作る $top = MainWindow->new(); # ウィンドウ内に文字(ラベル)を表示する $label = $top->Label(-text => "ここに文字を書く")->pack(); # ウィンドウを生成する MainLoop(); ちなみに文字コードは UTF-8 になってる。 $ file sample.pl sample.pl: UTF-8 Unicode text 次のコマンドで実行する。 $ perl sample.pl 実行できる形の sample.pl Shebang を書いて実行ファイルとしても実行できる。 たぶん次のようなファイルになる。 一行目のShebangは環境によって異なるが多くのシステムは多分これで通る。 #!/usr/bin/perl use utf8; use...

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。