- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-03-15T20:58:55+09:00","hasegawa","hasegawa")
#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
[[研究室関係]]