#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 [[研究室関係]]