#author("2020-06-03T20:24:33+09:00","default:tanak0to","tanak0to")
RIGHT:[[フリーソフトウェアのコンパイル]]

RHEL8

*インストール [#j480a7ea]
**ソース [#yd7d6c65]
https://www.sympa.org/distribution/index
sympa-6.2.42.tar.gz

http://sympa-ja.org/wiki/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB_(%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8)

依存するパッケージは EPEL からインストール
インストールしたモジュールは設計書参照

 mkdir /usr/local/share/perl5
 cd /usr/local/share/perl5
 cd /usr/share/MHonArc
 for file in 'ls -1'
 do
 ln -s /usr/share/MHonArc/${file} /usr/local/share/perl5/${file}
 done

**ユーザ作成 [#j6bec647]
 # groupadd -g 9001 sympa
 # useradd -g sympa -u 9001 -d /home/sympa sympa
 # chmod a+rx /home/sympa

**MariaDB [#v9730bab]
 # mysql_secure_installation
  <-- Sympa 用の DB は Sympa インストール時に作られるので,
      root のパスワードは Sympa インストール後に設定するほうがいい
      (root のパスワードが設定されていると自動的には作成されない)
 # mysql -u root -p
 MariaDB[none]> GRANT ALL PRIVILEGES ON sympa.* TO 'sympadbuser'@'localhost'
    -> IDENTIFIED BY '********'";

**Postfix の設定 [#zb586e67]
マニュアル通り
 alias_maps = hash:/etc/aliases, hash:/etc/postfix/aliases.sympa, hash:/home/sympa/etc/sympa_aliases
 alias_database = hash:/etc/aliases, hash:/etc/postfix/aliases.sympa, hash:/home/sympa/etc/sympa_aliases


*Sympa インストール [#df85ab73]

 # yum group install 開発ツール

 # cd /root
 # mkdir build
 # cd build
 # tar xvzf ~/src/sympa-6.2.42.tar.gz
 # cd sympa-6.2.42
 # ./configure --with-unitsdir=/usr/lib/systemd/system
 # make
 # make install
 # /home/sympa/bin/sympa_wizard.pl check
足らないモジュールをチェック

 # /home/sympa/bin/sympa_wizard.pl
 基本メールドメイン名 domain: ml.example.jp
 リストシステム管理者の電子メールアドレス listmaster: admin@ml.example.jp <--仮
 言語の初期値 lang : ja-JP
 対応言語 supported lang: ja
 サービスの題名 title: 私のメーリングリスト
 Sympa の表示名 gecos: SYMPA
 従来キャラクタセットへの対応 legacy_character_support_feature: on
 データベースの種類 db_type: MySQL
 データベースのサーバのホスト名 db_host: localhost
 データベース名 db_name: sympa
 データベース接続のユーザ名 db_user: sympadbuser
 データベース接続パスワード db_passwd: ******
 syslog ファシリティ syslog: LOCAL1
 syslog サーバとの接続方式 log_socket_type: unix
 メッセージの最大サイズ max_size: 20480000
 sendmail のパス sendmail: /usr/sbin/sendmail
 リストを作成できるのは create_list: public_listmaster
 ブラックリストの使用 use_blacklist: send,create_list
 メーリングリストのオーナー owner_domain: なし
 オーナーのリストごとの最少人数 owner_domain_min: 0
 投稿を保管庫に格納する process_archive: off
 カスタムアーカイブプログラム custom_archiver: なし
 MHonArc のパス mhonarc: /usr/bin/mhonarc
 警告レートの初期値 bounce_warn_rate: 30
 スパムの印になるヘッダフィールド antispam_tag_header_name: X-Spam-Status
 スパムの印になるヘッダフィールドを検査する正規表現
    antispam_tag_header_spam_regrexp: ^\s*Yes
 非スパムを判定する正規表現
    antispam_tag_header_ham_regrexp: ^\s*No
 結果を通知するヘッダフィールド spam_status: x-spam-status
 リストホームディレクトリ home: /home/sympa/list_data
 投稿を補完するディレクトリ arc_path: /home/sympa/arc
 Sympa 電子メールアドレスのローカル部 email: sympa
 リストの設定をキャッシュする cache_list_config: none
 ウェブインタフェイスの URL wwsympa_url: http://mailhost.ml.example.jp/sympa
 静的コンテンツの URL static_content_url: /static-sympa
 静的コンテンツを格納するディレクトリ static_content_path: /home/sympa/static_content
 ウェブインタフェイス用の syslog ファシリティ log_facility: LOCAL1
 メインページの種類 default_home: home
 保管庫のデフォルト表示順 archive_default_index: thrd
 共有文書置き場の容量制限初期値 default_shared_quota: なし
 HTML エディタを使う use_html_editor: 0
 信頼できる CA 証明書を含むファイル cafile: /home/sympa/default/ca-bundle.crt
 信頼できる CA 証明書が置かれるディレクトリ capath: なし
 リストの秘密鍵の暗号化パスワード key_passwd: なし
 ウイルス検索エンジン antivirus_path: なし
 ウイルス検索ソフトのコマンドライン引数 antivirus_args: なし
 パスワード強度検査 password_validation: なし
 FastCGI を有効にする use_fast_cgi: 0


---
*/etc/sympa.conf を編集 [#c7c16004]
 sendmail_aliases /home/sympa/etc/sympa_aliases
を追加.

 # touch /home/sympa/etc/sympa_aliases
 # chown sympa:sympa /home/sympa/etc/sympa_aliases
 # newaliases

*Sympa 用 DB 作成 [#fd7b3db2]
 $ mysql
 mysql> CREATE DATABASE sympa CHARACTER SET utf8;
 mysql> GRANT ALL PRIVILEGES ON sympa.* TO <db_user>@<client host>
     -> IDENTIFIED BY '<db_passwd>';
 mysql> QUIT

テーブル作成
 # /home/sympa/bin 
 # sympa.pl --health_check

*Apache 設定 [#u71221be]
 LoadModule alias_module modules/mod_alias.so
 LoadModule proxy_module modules/mod_proxy.so
 LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
 
 ...
 
 <Location /sympa>
    SetHandler "proxy:unix:$PIDDIR/wwsympa.socket|fcgi://"
    Require all granted
 </Location>
 
 <Location /static-sympa>
     Require all granted
 </Location>
 Alias /static-sympa $STATICDIR

*Sympa 起動 [#t70f4bab]
 src/etc/script に wwsympa.service があるらしい
そのスクリプトの
 FCGI_OPTS="-M 0600 nginx"
の部分を変更して
 FCGI_OPTS="-M 0600 apache"
とする

 # cp $SRC/src/etc/script/sympa.service /usr/lib/systemd/system
 # cp $SRC/src/etc/script/wwsympa.service /usr/lib/systemd/system
 # cp $SRC/src/etc/script/sympa-archive.service /usr/lib/systemd/system
 # cp $SRC/src/etc/script/sympa-bounse.service /usr/lib/systemd/system
 # cp $SRC/src/etc/script/sympa-outgoing.service /usr/lib/systemd/system
 # cp $SRC/src/etc/script/sympa-task.service /usr/lib/systemd/system
 # systemctl --now enable sympa
 # systemctl --now enable wwsympa

*syslog [#c41e5b95]
 local1.*                  /var/log/sympa.log

*初回アクセス [#j2cba6aa]
 http://サーバIP/sympa

*配送エラー処理 [#m0ae02b7]
http://mailhost.ml.example.jp/sympa/help/admin-bounces.html

----
*バージョンアップ方法は,Web サイトに. [#d957adca]
データを移行して
 sympa --upgrade 的なコマンドを実行
 https://sympa-community.github.io/manual/upgrade.html
 https://sympa-community.github.io/manual/upgrade/notes.html

(1) DB をダンプ,リストア
    # mysqldump -u root -p --add-drop-table --create-options sympa > /var/tmp/sympadb.dump
    Pass: *****

データ転送

    # systemctl stop httpd
    # systemctl stop sympa
    # systemctl stop wwsympa
    # mysql -u root -p 
    Pass: R1de_Tech
    > DROP DATABASE sympa;
    > CREATE DATABASE sympa CHARACTER SET utf8;
    > QUIT;
    # mysql -u root -p sympa < sympadb.dump

(2) $EXPLDIR ディレクトリに ML の設定ファイルが入っている
   $EXPLDIR =
これを移す

$SPOOLDIR も alias も

(3) sympa.conf wwsympa.conf(もしあれば) を移すが
cookie パラメータをいじると保存されているパスワードが
壊れてしまうので注意.

(4) $SYSCONFDIR カスタマイズ設定が入っているので移す.
   $SYSCONFDIR =

(5) $ARCDIR ディレクトリにアーカイブが入っているので移す
   $ARCDIR =

(6) /home/sympa/etc/data_structure.version を古いほうのバージョンに合わせる
    6.2.16 <- 6.2.42

(7) コマンド実行
    sympa.pl --upgrade

確認
 # systemctl start sympa
 # systemctl start wwsympa
 # systemclt start httpd

 admin@ml.example.jp
で管理者ログインできる





トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS