「Debian設定メモ」の版間の差分

提供:mrmts wiki
138行目: 138行目:


<blockquote>
<blockquote>
<nowiki>#</nowiki> sudo service nginx status
<nowiki>#</nowiki> service nginx status
</blockquote>
</blockquote>


で状態を確かめてもエラーがない。
で状態を確かめてもエラーがない。やっぱりコマンドの"systemctl"と"service"の違いがわからない。それぞれのコマンドで"start"や"stop"をしたときの違いは何なんだろう。あと"systemctl status nginx.service"と"service nginx status"の違い。"status"の語順が違うのはコマンドの文法の違いだとして、"nginx.service"と"nginx"のstatusの違いは何だろう。まあ、そのうち。


===データベース===
===データベース===

2023年2月4日 (土) 11:59時点における版


aptでDVDを参照する

apt updateなんかをするとDVDを参照しようとしてこれを解除できなくて困る。DVDからインストールしたらこのようになるとか。間違ってapt updateなどしてしまってコマンドから抜け出せなくなったら"ctrl+C"で中断できる。それで、DVDを参照しないようにするためには

# vi /etc/apt/sources.list

でDVDのところをコメントアウトにする。下記を参考に。

コンソールの文字化け

 実機からログインした場合のコンソールは文字化けするもののようです。だから、実機からアクセスした場合には英語表示になるようにbashの設定を変えてあげるべしとのこと。

# vi /etc/bash.bashrc

とルートでコマンドを打って"/etc/bashrc"の最後に下記のスクリプトを追加するべし。

case $TERM in
linux) LANG=C ;;
esac

openssh-serverのインストール

 "openssh-server"がもしインストールされていなかったらインストールする。そうか、これはDebianのインストールのときにデスクトップ環境を入れるかどうかのところで選択できてインストールしたんだった。ということで、もしそのときにインストールしていなかったら。Q4OSでは初期設定で入っていなかったので、aptで入れた。


mastodonに向けて

 下記を参考にMastodonをインストールした。基本的にはこのサイトに書かれているとおりでよいのだけど、このサイトはオンライン上のVPS(仮想専用サーバー)にある独自ドメインに導入する前提で書かれているけど、今回私が導入したのは、ローカルのWindows11でVirtualBoxを使って仮想マシン上にインストールしたDebian11に対してなので、そこのところは読み替えるなり別の作業が必要となる。また、Mastodonを導入するのには大きくDockerというものを使う場合と使わない場合とに分けられるが、今回はDockerを使わずにインストールしたので、Dockerを使う場合は別のインストールメモを参照した方がよい。

基本情報

  • ホストPC:Windows11
  • クライアントPC:VirtualBox上のDebian11
  • Dockerは使用せず
  • Mastodonのバージョンは4.0.2

つまづいたとき

 私はいろいろつまづきながら下記の要領でマストドンをインストールして動かせるようになったけど、もしかするとこれを読んで試した人は同じようにはいかないかもしれない。そんなときは、うまくいかないところでネット検索などをして試行錯誤することになるとおもうのだけど、そのときに気をつけておきたいポイントを挙げておく。

  • 2017年前後のインストールメモは基本的に参照しない方が無難(何が現在でもあなたに使えて何があなたに使えないことなのか、おそらくこんな私のメモを参照して、さらにそこで躓いているぐらいだから、いまのあなたには判断できないでしょう)
  • SSLなしという設定は現行のMastodonのバージョンではできません。
  • このインストールメモはDockerなしのものなので、Dockerありのものとは大きく手順が異なります。

インストール開始

 以下の作業はVirtualBox上のDebian11にWindows11上のTera TermからSSHで接続してターミナルで行ったが、VirtualBoxで開いているDebian11から行っても同じ。ただ、デスクトップ環境をインストールしていない場合には、VirtualBox上のDebianのコンソールから直接操作すると日本語が文字化けしたりするので、シェルの言語設定を英語に変えるか、日本語が表示できるようにデスクトップ環境をインストールするか、あるいはTera Termなどから操作するかの三択ぐらいになる。

 基本的な操作はrootで行うので、もし一般ユーザーでログインしているなら下記のコマンドでスーパーユーザーのrootになっておく。

$ su -


 先ほどのサイトで「サーバに必要なソフトウェアをインストール」という項目から指示に従ってインストール等の操作を進める。私の環境では必要ないものも含まれているだろうけど、どれが必要でどれが必要ではないのかということが判断できないので、とりあえず特に断りのない限りこのページの指示に従ってインストール等の操作を進めるものとする。PostgreSQLとかnginxとかもここでインストールすることになる。

 ひと通りインストール作業を進める(以下、時間のあるときに具体的にここに書いていく)。そしてnginxのところでつまづくというのが下記。


# systemctl reload nginx

 をすると、

nginx.service is not active, cannot reload.

と怒られる。このキーワードでネットを検索してみると

「サービスが開始してないからじゃね?」というアドバイスをしている人がいて、

# service nginx start

と打ってサービスを開始しようとすると、サービスの開始に失敗したといったようなエラーが出る。ちなみに"service nginx start"と"systemctl start nginx"の違いはなんなんだろう。そのうち調べるべし。

で、エラーが出たときは

# nginx -t

でコンフィギアファイルのチェックをしてくれるみたいで、じっさいこれをやったりしてみたし、あとは現在の状況を確認するのに下記のコマンドで確かめろっていうエラーとかも出たりするので、それで確かめてわかったこともあった。SSLとかポートが埋まってるとかもこれでわかったんだったかなあ。

# systemctl status nginx.service

まあこのあといろいろ調べてわかったのはふたつ問題があって、

  • SSLの証明書がきちんと設定されていない
  • apache2が動いていてポートが埋まってる

だった。SSLを解決したと思ったらそれでもエラーになるから何か調べたらapache2だったと。なぜapache2だとわかったかと言うと以下。

このサイトを参考に、

# lsof -i:80

と打ってみたらどうもアパッチが動いているっぽかったので、なんとなく

# systemctl stop apache2

と打ってみて、それで次に

# systemctl start nginx

としたら無事に動き始めたというわけ。

# service nginx status

で状態を確かめてもエラーがない。やっぱりコマンドの"systemctl"と"service"の違いがわからない。それぞれのコマンドで"start"や"stop"をしたときの違いは何なんだろう。あと"systemctl status nginx.service"と"service nginx status"の違い。"status"の語順が違うのはコマンドの文法の違いだとして、"nginx.service"と"nginx"のstatusの違いは何だろう。まあ、そのうち。

データベース

データベースのところは下記を参考にした。

# apt install postgresql postgresql-contrib -y
# systemctl start postgresql
# sudo -u postgres -i psql
postgres=# CREATE USER mastodon;
postgres=# ALTER USER mastodon createdb;
postgres=# \q

Mastodonの設定

"RAILS_ENV=production bundle exec rake mastodon:setup"のあとのマストドンの設定のところでも

と合わせて

を参考にした。

SSLのための証明書

 opensslを使う。下記のサイトを参考に簡単にできる。SSL/TLS証明書をフリーで発行してくれるというLet's Encryptはlocalhost向けの発行はできないのでLet's Encryptの説明をしているサイトは、ローカルにインストールする人は参考にしてはだめ。

 基本的に上記のサイトでよいけど、下記のサイトも参考に。

参考に

旧mastodonに向けて(Dockerを使ったもの)

gnupg2をインストールした。

 下記でほぼいけたのだけど、未熟で最後までいけなかった。また時間ができたら試したい。

 下記は2017年のものだけど、ローカルにDockerでというもの。