#author("2023-03-30T11:42:18+09:00","hasegawa","hasegawa")
https://www.server-world.info/query?os=Debian_11

#contents

*backportsの利用 [#i89f2fd6]
http://backports.debian.org/~
/etc/apt/source.listに
 deb http://deb.debian.org/debian bullseye-backports main contrib non-free
 deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free
を追加。
 # apt update
backportsのpackageをインストールする場合は、
 # apt install -t bullseye-backports install "package"

*追加ソフトのインストール [#p1b5d075]
 # apt install rsync vim emacs mew mozc-server emacs-mozc mozc-data awstats fonts-ipafont sudo ntp fail2ban tcsh
 # apt install roundcube mailman procmail webalizer nfs-kernel-server clamav spamassassin

*ユーザ移行 [#u5de84f2]

** ldapのインポート [#n823ab4d]

 # atp install slapd ldap-utils

ldap管理者パスワードを適当に設定(PATHに/sbinが入っていない場合は追加を忘れずに)

 # systemctl stop slapd
 # dpkg-reconfigure slapd
  OpenLDAP サーバの設定を省略しますか? → いいえ
  DNS ドメイン名: phys.shinshu-u.ac.jp
  組織名: heplab
  管理者パスワード: ****
  管理者パスワードの確認: ****
  slapdをパージしたときにデータベースを削除しますか? → いいえ
  古いデータベースを移動しますか? → はい

現azusa上で、全てのアカウント情報をldif形式のファイルにダンプする。

 # systemctl stop slapd
 # /usr/sbin/slapcat -l all.ldif
 # systemctl start slapd

ダンプしたファイルを新azusa上にコピーし、不必要な部分(一番上のdn: dc=phys..とdn: cn=admin...のエントリ、この二つは、新azusaにslapdをインストールし、reconfigureしたときに設定しているので、既にエントリに含まれている)を削除する。%%ou=Groupを追加する。%%

 $ cat >Group.ldif
 dn: ou=Group,dc=phys,dc=shinshu-u,dc=ac,dc=jp
 objectClass: organizationalUnit
 ou: Group
 ^C
 $ 

後述するpostfixのメールを受信するために、mailというattributeが必要だが、これはstructural object classのobjectClass: accountではなく、objectClass: inetOrgPersonである。そのため、現azusaからダンプしたそれぞれのエントリに対し、account→inetOrgPersonに置き替え、さらに"sn: HASEGAWA"(surnameの意味)と"mail: hasegawa@example.com"のattributeを追加する。その後、

 # systemctl stop slapd
 # /usr/sbin/slapadd -l Group.ldif
 # /usr/sbin/slapadd -l all.ldif
 # systemctl start slapd

とすればよいはず。

ldapの設定

** ローカルユーザのインポート [#o9c23e57]
calice, hepl, ilccal, kinenkai, qrio, scecal, tvrecの/etc/passwd, /etc/shadowをインポートする。

* メールサーバの設定 [#e3da3769]
mailサーバーをExim4からPostfixに変更
 # apt remove exim4
 # apt autoremove
 # apt -y install postfix postfix-ldap sasl2-bin
 メール設定の一般形式: インターネットサイト
 システムメール名: azusa.shinshu-u.ac.jp

** Postfix+ldap [#pd1d449f]
ldapでユーザ管理しているため、メールを配送する際にldapとのやり取りが必要になる。/etc/postfix/main.cfで以下のように変更する。
 alias_maps = hash:/etc/aliases,hash:/var/lib/mailman/data/aliases,ldap:/etc/postfix/ldap-aliases.cf
/etc/postfix/ldap-aliases.cfを以下のように作成する。
 server_host = localhost
 search_base = dc=phys,dc=shinshu-u,dc=ac,dc=jp
 query_filter = (uid=%u)
 result_attribute = uid
query_filterの設定で色々できそうだが、とりあえずはuidが存在するかどうかでチェックし配送する。

**tlsの設定 [#te6e5b7c]

**procmail(設定しない) [#s250affd]

/etc/postfix/main.cfでコメントを外し、

mailbox_command = /usr/bin/procmail

とする。これをすると、.forward, .procmailrcが無いユーザのメールがMaildirではなく、/var/mail/以下に配送される。ユーザが個別に設定する。.forwardは以下のようにする。

"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #~/Maildir/"

**dovecot [#l2d317b6]
 # apt install dovecot-core dovecot-pop3d dovecot-imapd dovecot-ldap
gidがsystem userの場合、認証がfailする。/etc/dovecot/conf.d/10-mail.confで、first_valid_gidを設定する。GIDが0(root)だとデフォルトでアクセスできない。

**amavisd-new+spamassassin+clamav [#j5bac9de]
 # apt install amavisd-new spamassassin clamav

* mewの設定 [#ja712081]
ローカルユーザpop,imap,smtpを利用する際に認証が必要となる。特に、smtpでメールを送る際に.mew.elでmew-smtp-userの設定が必要になる。
 (setq mew-smtp-user "ユーザID")
pop3,imapはmew-pop-user, mew-imap-userにログイン名(ユーザID)がデフォルト値になっているので設定する必要がないが、mew-smtp-userのデフォルト値は"ユーザID@azusa.shinshu-u.ac.jp"になっているので、この値を設定しないと、認証できなくなる。

* apache2の設定 [#za3af905]
**sslを使ったアクセスに限定する。 [#uf710ddf]
現行azusaから、/etc/apache2/site-available/000-default.confとdefault-ssl.confをコピーする(a2enmodは拡張子に.confがないとERROR: Site XXX does not exist!とエラーとなる)。 
 # a2enmod ssl
 # a2enmod rewrite
 # a2ensite default-ssl
を行う。~
**ユーザのpublic_htmlをみられるようにする。 [#v8617e7e]
/etc/apache2/mod-availableに利用可能なモジュールがあるので、この中の、userdirがそのモジュール。有効にするには、
 # a2enmod userdir
**通常ユーザでもphpが使えるようにする。 [#yf3aa948]
 # apt install php
/etc/apache2/mods-available/php7.4.confで以下のようにコメントアウトする。
 #<IfModule mod_userdir.c>
 #    <Directory /home/*/public_html>
 #        php_admin_flag engine Off
 #    </Directory>
 #</IfModule>
有効にする。
 # a2enmod php7.4
**cgiを使えるようにする(mailmanのため) [#o02266de]
 # a2enmod cgi

[[研究室関係]]

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS