「IBM i エンジニア不在でもDXはできる」実践編 第2回:Postfix+Gmail+SaMMA+nextcloudでメールの添付ファイルをWEBストレージで共有する。
日本アイ・ビー・エム株式会社が毎月開催しているIBM Powerユーザーのための自由な語り場「IBM Power Salon」(月1回、第二水曜日の朝9時から開催)をご存じでしょうか?
https://www.ibm.com/blogs/systems/jp-ja/ibm-power-salon/
2022年12月14日に開催された第13回の、株式会社 松沢書店様による「IBM i エンジニア不在でもDXはできる」では、既存IBM i環境を見事に活用し、DXを実現された素晴らしい事例が披露されました。
https://video.ibm.com/recorded/132400405
とはいえ、1時間の講演時間では語りきれなかった詳細は、きっと他のIBM i ユーザーの方にも参考になるはず!ということで、松沢書店 システム部部長の山口様に課題解決の方法について具体的に解説いただきます。
今回は、IBM i から出される納品伝票をスケジュールに従い複数顧客に送信する際の課題解決の第二回目として、password付ZIPファイルの送受信を禁止している顧客に対して、OSSを活用して、送信メールに添付があればWebストレージにアップし、WebストレージのURLとログインpasswordが記載されたメールをかわりに宛先に送る方法について解説頂きます。
第2回:Postfix+Gmail+SaMMA+nextcloudでメールの添付ファイルをWEBストレージで共有する。
システム部
山口 昌一
第1回ではIBM iからPostfixを経由して安全にメールを送信する方法をお伝えしました。今回はそこに2つのサービスSaMMA(メール安全化ソフト)とnext cloud(オンラインストレージ)を追加し、添付ファイルのあるメールを自動的にnext cloudにアップし、送り先にはnext cloudのURLとそのファイルをダウンロードするためのパスワードを送信する仕組の作成方法を解説致します。
(※第2回は全てLinuxの設定になります。)
▲図1. 弊社環境、メールサーバーとWEBサーバーを別に構築
▲図2. 今回の設定 1台のサーバーにメールサーバーとWEBサーバーを設定
1. next cloudとは
next cloudはDropboxのようなオンラインストレージを構築できるオープンソースソフトウェアです。
画面のイメージは図の様になり、ブラウザでファイルを簡単に管理できる非常に便利なソフトで、オンラインミーティングやチャットも可能です。
1-1. next cloudをインストールする
環境
CentOS Stream release8 GUI無し
PHP 8.1.17(next cloudの最新版(2023/3現在、PHP8.0、PHP8.1が推奨になります。
またPHPのバージョンによってnext cloudのインストール出来るバージョンが変わってきますので公式をご確認下さい。弊社実環境はPHP 7.2.24、next cloud 20.0.0です。)
next cloud 25.0.5
Apache 2.4.37
mysql 8.0.26
1-2. Nextcloudインストールの準備
next cloudは機能が豊富ですので、それを使用できる様にphpのモジュールを追加していきます。
ImageMagik(画像処理)は通常のリポジトリには無いのでepel,powertoolsを有効にしてインストールします。以下実行
dnf --enablerepo=powertools,epel -y install php-pear php-mbstring php-pdo
php-intl php-gd php-pecl-zip php-mysqlnd php-bcmath php-gmp php-opcache
php-pecl-apcu php-devel ImageMagick ImageMagick-devel make
以下実行
pecl install imagick
上記実行で
You should add “extension=imagick.so” to php.ini
「php.ini の場所に設定されていません「extension=imagick.so」を追加する必要があります。」
echoで出力した文字を追記リダイレクト>>して書き込んでおきます。
echo 'extension=imagick.so' >> /etc/php.ini
nextcloud用にPHPの設定をします。今回の設定はphp-fpmを使用します。php-fpmはFastCGIです。FastCGIはアプリケーションをWebサーバーとは別のプロセスで実行します。他にはモジュール版があります。
nextcloud.confを新規に作成します。
vi /etc/php-fpm.d/nextcloud.conf
以下設定memoryやsizeはサーバーSPECに応じて変更してください。
[nextcloud] user = apache group = apache listen = /run/php-fpm/nextcloud.sock listen.acl_users = apache listen.allowed_clients = 127.0.0.1 pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session php_value[max_execution_time] = 3600 php_value[memory_limit] = 2G php_value[post_max_size] = 2G php_value[upload_max_filesize] = 2G php_value[max_input_time] = 3600 php_value[max_input_vars] = 2000 php_value[date.timezone] = Asia/Tokyo php_value[opcache.enable] = 1 php_value[opcache.memory_consumption] = 128 php_value[opcache.interned_strings_buffer] = 8 php_value[opcache.max_accelerated_files] = 10000 php_value[opcache.revalidate_freq] = 1 php_value[opcache.save_comments] = 1
1-3. MySQLの設定
MySQLにnextcloud用のユーザーとDBを作成する。
MySQLに接続
mysql -u root -p
データベース「nextcloud」を作成
create database nextcloud;
確認
show databases;
ユーザーを作成、今回はローカル192.168.41.0/24でアクセスできる様にします。また、GRANT OPTION(権限を付与する権限)も付与しておきます。これをしないとnextcloudのadminユーザー作成時に、そのユーザーに権限を付与出来ず初期設定が出来ない状況に陥ります。
CREATE USER 'nextcloud'@'192.168.41.%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'nextcloud'@'192.168.41.%' WITH GRANT OPTION; flush privileges;
‘password’部分は任意のパスワードに変更してください。IPアドレスも環境にあわせて変更してください。
1-4. Apacheにnextcloudの設定を書く
以下にnextcloud.confを新規作成します。
vi /etc/httpd/conf.d/nextcloud.conf
以下は/nextcloudでアクセス時にphp-fpmで動かす設定になります。
Timeout 3600 ProxyTimeout 3600 Alias /nextcloud "/var/www/nextcloud/" <Directory "/var/www/nextcloud"> Options FollowSymLinks AllowOverride All Require all granted <FilesMatch \.(php|phar)$> SetHandler "proxy:unix:/run/php-fpm/nextcloud.sock|fcgi://localhost" </FilesMatch> </Directory>
設定を書いたのでphp-fpmを再起動しておきます。この後もろもろ設定後動かないというときは再度再起動してみてください。
systemctl restart php-fpm
1-5. nextcloudをダウンロードしてインストールする
最新版を確認します。
https://download.nextcloud.com/server/releases/
上記サイトで最新版を確認して下さい。
ダウンロードします。オプション-Pはダウンロード先を指定です。
wget https://download.nextcloud.com/server/releases/ nextcloud-25.0.5.zip -P /var/www/
展開します。オプション-dは展開先です。
unzip /var/www/nextcloud-25.0.5.zip -d /var/www/
ディレクトリnextcloud全体のオーナーをオプション-Rをつけて設定します。
chown -R apache. /var/www/nextcloud
Apacheを再起動します。
systemctl restart httpd
1-6. SELinuxの設定
SELimuxとはSecurity-Enhanced Linuxでセキュリティ制御のモジュールです。CentOSをインストールすれば動いているはずです。
状態を確認します。
getenforce
結果がEnfocingの場合は次の設定をします。そうでない場合は設定を飛ばして下さい。
setsebool -P httpd_can_network_connect on setsebool -P httpd_unified on setsebool -P httpd_execmem on
SELinuxのポリシーファイルを新規作成します。拡張子teはType Enforcementです
vi nextcloud.te
以下内容。
module nextcloud 1.0; require { type configfs_t; type httpd_t; class dir getattr; } #============= httpd_t ============== allow httpd_t configfs_t:dir getattr;
作成したモジュールをコンパイルします。
checkmodule -m -M -o nextcloud.mod nextcloud.te
ポリシーパッケージの作成
semodule_package --outfile nextcloud.pp --module nextcloud.mod
カーネルへのモジュール読み込み
semodule -i nextcloud.pp
1-7. ブラウザで初期設定する
今回の設定はGUI環境が無いので、クライアントPCからサーバーにアクセスします。
ブラウザでアクセスします。IPは適宜変更してください。
https://192.168.41.5/nextcloud
最初のアクセスでは以下の画面が表示されます。ユーザー名は任意で管理者のユーザー、パスワードを入力してください。
データフォルダはデフォルトのまま、データベースは「MySQL/MariaDB」を選択して下さい。1-3で設定したMySQLのデータベースのユーザー名、その際作成したパスワードを入力して下さい。データベースのホストはサーバーのIPとポートになります。
インストールをクリックするとインストールが始まりますので暫く待つと完了になります。
2. SaMMAとは
デージーネットが作成したメールの添付ファイルを自動的に安全化するOSSです。
▲図3. SaMMAの仕組み
添付ファイル付きメールを、SaMMAのインストールされたメールサーバーを経由して送信すると、添付ファイルをnextcloudにアップし、そのURLとアクセスのためのパスワードを送信先に送ります。メールを受け取ったクライアント(送信先)は記載のURLとパスワードを使用してダウンロードすることが可能です。簡単な設定でこのクライアントはそのまま送る。このクライアントはダウンロードしてもらうなども可能です。nextcloudの設定を追加することで、一定期間でファイルを削除することも可能になります。
2-1. SaMMAのインストール準備
SaMMAに必要なパッケージをインストールします。このあとソースからインストールしないといけないパッケージもあるため、それ用のパッケージも含みます。
dnf install -y python36 sendmail libdb-devel openldap-devel libspf2-devel glib2-devel
メールを振り分けるフィルターをインストールします。
dnf --enablerepo=powertools install -y sendmail-milter-devel
公式よりCentOS6、CentOS8では、GMimeをソースからインストールする必要があります。との記載がありますのでソースからインストールしていきます。
libgpg-errorをインストールします。
/usr/local/srcに移動してダウンロードして解凍してインストールしているだけです。
make -j 8はコンパイルが速くなるオプションです。メッセージが大量に出てインストールされているのか良くわからない状況になりがちですが最後のメッセージにエラーが出てなければインストール出来ています。
cd /usr/local/src wget https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.46.tar.bz2 tar xvjf libgpg-error-1.46.tar.bz2 cd libgpg-error-1.46 ./configure make -j 8 make install
gmimeをインストールします。
cd /usr/local/src wget https://download.gnome.org/sources/gmime/2.6/gmime-2.6.23.tar.xz tar xvJf gmime-2.6.23.tar.xz cd gmime-2.6.23 ./configure make make install
環境によっては以下のエラーが出る場合があります。
rm: cannot remove ‘libtoolT’: No such file or directory
その場合はconfigureファイルの中身を検索し
$RM “$cfgfile”を
$RM -f “$cfgfile”に変更してください。
2か所くらいです。
また、モジュールが足りないなどのエラーが出たら適宜dnfでインストールしてください。(Cent8stream環境では真っ新の状態で始めておりますので、1から順にインストールすればエラーは出ない想定です。)
postfixのsendmailを使う様にします。実行後選択画面が表示されますのでpostfixの方の番号を入力しEnterして下さい。再度コマンドを実行し+が付いてる方が選択されています
alternatives --config mta
2-2. SaMMAをインストールする
SaMMAの最新版を確認します。
https://ja.osdn.net/projects/samma/releases/
SaMMAをダウンロードします。ディレクトリに移動しておきます。
cd /usr/local/src
ダウンロードします。
wget https://ja.osdn.net/dl/samma/SaMMA-5.0.3.tar.gz
展開します。
tar -zxvf SaMMA-5.0.3.tar.gz
展開されたディレクトリに移動します。
cd SaMMA-5.0.3
以下を1行ずつ実行していきます。OSに合わせたmakefileを作っています。
autoreconf --install autoheader libtoolize aclocal automake --add-missing --copy autoconf ./configure --with-gmime=/usr/local/ --enable-subjectsw
インストールします。
make make install
無事にインストールできていると
/usr/local/etcにディレクトリsammaが出来ています。
権限を付与します。
chmod -R 755 /usr/local/etc/samma
2-3. Postfix設定
SaMMAを使用するための設定を書いていきます。
vi /etc/postfix/main.cf
以下内容。main.cfの最終行に追加しておきます。
#SaMMA smtpd_milters = inet:127.0.0.1:20026 milter_default_action = reject
ポート20026を開けておきます。
firewall-cmd --zone=public --add-port=20026/tcp --permanent firewall-cmd --reload
postfixを再起動しておきます。
systemctl reload postfix
2-4. SaMMAの設定を書く
各種設定ファイルの見本がdefaultとしてありますので、全部コピーして新しいものを作ります。
cp /usr/local/etc/samma/samma.conf.enc.default /usr/local/etc/samma/samma.conf cp /usr/local/etc/samma/os_uploader.conf.default /usr/local/etc/samma/os_uploader.conf cp /usr/local/etc/samma/os_uploader.tmpl.default /usr/local/etc/samma/os_uploader.tmpl cp /usr/local/etc/samma/samma.tmpl.default /usr/local/etc/samma/samma.tmpl cp /usr/local/etc/samma/errmsg.tmpl.default /usr/local/etc/samma/errmsg.tmpl cp /usr/local/etc/samma/sender.default /usr/local/etc/samma/sender cp /usr/local/etc/samma/rcpt.default /usr/local/etc/samma/rcpt
SaMMA confを編集します。
vi /usr/local/etc/samma/samma.conf
以下内容
CommandPort=17777 CommandPass=secret SyslogFacility=local1 ListenIP=127.0.0.1 ListenPort=20026 EncryptionTmpDir=/tmp ZipCommand=/usr/local/bin/os_uploader SenderDB=btree:/usr/local/etc/samma/sender.db RcptDB=btree:/usr/local/etc/samma/rcpt.db #ExtensionDB=btree:/usr/local/etc/samma/extension.db TemplatePath=/usr/local/etc/samma/samma.tmpl ErrorMessageTemplatePath=/usr/local/etc/samma/errmsg.tmpl SendmailCommand=/usr/sbin/sendmail -i ZipfileName=AttachFile.%Y%m%d.txt ZipAttachmentContentType=text/plain MailsaveTmpDir=/tmp PasswordLength=10 StrCode=SJIS DefaultEncryption=no UserPolicy=no #LdapUri=ldap://127.0.0.1:389/ #LdapBaseDn=ou=User,dc=inside,dc=designet,dc=jp #LdapBindDn=cn=Manager,dc=designet,dc=jp #LdapBindPassword=secret #LdapFilter=mail=%s WhitelistPath=/usr/local/etc/samma/whitelist AttachmentFileAlias=UnknownFileName LoopCheck=no AllowCharEnvelopeFrom= abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY Z0123456789`~!@#$%^&*()_+-={}|[]:";'<>?,./
注意点
ZipCommand=/usr/local/bin/os_uploader ← このあと設定するos_uploader
ZipfileName=AttachFile.%Y%m%d.txt ← 拡張子をtxtにします。これは送信されるURL、PASSが添付ファイルとしてtxtで送信されるためです。
ZipAttachmentContentType=text/plain ← 追加します。
PasswordLength=10 ← パスワード長さを10桁にします。nextcloudの共有時のパスワードのデフォルトの長さが10のため直しておかないとアップロードできません。ご注意下さい。
アップローダのconfを編集します。
vi /usr/local/etc/samma/os_uploader.conf
以下内容
NC_URL=https://localhost/nextcloud NC_ADMIN=admin NC_ADMINPW=password HTTPS_CERT=False TEMPLATE_FILE=/usr/local/etc/samma/os_uploader.tmpl
NCはnextcloudです。NextcloudのあるサーバーのURLを指定してください。
1-7で指定したユーザー名、パスワードを指定してください。
ローカル環境でWEBのSSLを行っていない場合はHTTPS_CERT=FALSEを指定してください。外に出しておりWEBをSSL化している場合はTRUEにします。
URL末尾にスラッシュを入れないで下さい。
SaMMA起動スクリプトを作成します。
vi /usr/lib/systemd/system/samma.service
以下内容
[Unit] Description=SaMMA (SAfety Mail gateway with Milter Api) [Service] ExecStart=/usr/local/bin/samma Restart=always [Install] WantedBy=multi-user.target
どこから送られたメールは安全化するかの設定をします。
senderを編集します。
vi /usr/local/etc/samma/sender
以下内容、例えば送信者が○○○.co.jpの場合は安全化の場合になります。 localhostは必須です。SaMMAのある場所のなのでこれを書かないと何も安全化してくれません。
# Sender Policy Settings # # Attached file(s) of an e-mail sent from e-mail address # written here is encrypted. # # *** Format *** # mailaddress@domain # domain 〇〇〇.co.jp localhost
どこに送るメールは安全化するのかの設定をします。
vi /usr/local/etc/samma/rcpt
以下内容、〇〇.jp宛てに送るものを安全化する設定です。com等を追加する場合は下の行に増やしていきます。
# Recipient Policy Settings # # Attached file(s) of an e-mail sent to e-mail address # written here is encrypted. # The password of each e-mail address can be set. # # *** Format *** # mailaddress@domain [password] # domain [password] jp
rcptはmakeする必要がありますので
/usr/local/etc/samma/に自分がいるかをpwdで確認します。いなければ
cd /usr/local/etc/samma
makeします。sender.dbとrcpt.dbが作成or更新されます。
make
samma.tmplが文字化けしてるので対処します。
Network kanji filterをインストールします。
dnf --enablerepo=powertools install nkf
一旦ホームに戻ります。
cd
ホームでsamma.tmplを文字化けの無い状態で作ります
nkf -w /usr/local/etc/samma/samma.tmpl > samma.tmpl
編集します。
vi samma.tmpl
以下内容3-5行目を追記しておきます。
To: <@@TOADDR@@> Subject: パスワード通知メール Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 8bit MIME-Version: 1.0 以下のメールに添付されたファイルの解凍パスワードをお知らせします。 件名: <@@SUBJECT@@> 日付: <@@DATE@@> パスワード: <@@PASSWORD@@> 受信者 <@@RCPTLIST@@> 添付ファイル名 <@@FILENAME@@>
修正したものを元のディレクトリに戻してホームのsamma.tmplは削除しておきます。
nkf --ic=UTF-8 --oc=ISO-2022-JP -x -m0 samma.tmpl >
/usr/local/etc/samma/samma.tmpl ; rm -f samma.tmpl
2-5. 起動、ログ確認
起動
systemctl start samma
SaMMA自動起動設定
systemctl enable samma
ログは以下に書きだされます。
tail /var/log/messages
samma[108269]: whilelist_read: Cannot open file.(/usr/local/etc/samma/whitelist)
恐らく上記エラーが出るかと思います。Whitelistが無い。
エラー解消のため空のwhitelistを作ります。
touch /usr/local/etc/samma/whitelist
2-6. nextcloudにユーザーを追加
nextcloud側に送信者のアドレスが無いとエラーになります。送信者は第1回でpostfixで作成したsender_mapsに記載したアドレスになります。
そのアドレスでユーザーを作成します。
https://192.168.41.5/nextcloud
adminユーザーでログインしてください。
右上Aの箇所を触るとメニューが出ますので「ユーザー」をクリックします。
新しいユーザーをクリックします。
ユーザーを追加していきます。第一回postfixを踏まえると、上から
- test
- test
- パスワード
- test@○○○
になります。
入力したら「新しいユーザーを追加」をクリックします。
2-7. 確認
確認は結構手間がかかるので、mail.vbsというスクリプトを書いて確認します。
mil.vbsをクライアントPC(Windows)で作成して、中身に以下を書きます。
途中C:\mail\というフォルダが出てきますので、Cドライブ直下にmailというフォルダを作成し「メール本文.txt」と「text.txt」を作っておきます。本文と添付ファイルになります。Cドライブ直下が嫌な場合は適当なパスに変更して下さい。
またIPの指定がありますので、Postfixの入ってるサーバーのIPを指定してください。
Option Explicit Const useLocalSMTPService = 1 Const useRemoteSMTPService = 2 Const useLocalExchangeService = 3 Dim objMessage Dim mySMTPServer Dim mySMTPPort Dim MailFrom Dim MailTo Dim Title Dim TxtBodyFile Dim TxtBody Dim myAttachment Dim objFileSys Dim objTextStream Dim strOpenFile Dim strText mySMTPServer = "192.168.41.5" mySMTPPort = 25 MailFrom = InputBox("送信元メールアドレスを入力して下さい.") MailTo = InputBox("宛先メールアドレスを入力して下さい.") Title = InputBox("タイトルを入力して下さい.") myAttachment = InputBox("C:\mail配下の添付ファイル名を入力して下さい.") myAttachment = "C:\mail\" & myAttachment set objFileSys = CreateObject("Scripting.FileSystemObject") strOpenFile = objFileSys.BuildPath("C:\mail\","メール本文.txt") Set objTextStream = objFileSys.OpenTextFile(strOpenFile, 1) Do Until objTextStream.AtEndOfStream = True strText = objTextStream.ReadLine TxtBody = TxtBody & vbCrLf & strText Loop objTextStream.Close MsgBox "メール本文は下記の通りです。" & vbCrLf & vbCrLf & TxtBody Set objMessage = CreateObject("CDO.Message") objMessage.From = MailFrom objMessage.To = MailTo objMessage.Subject = Title objMessage.TextBody = TxtBody objMessage.AddAttachment(myAttachment) objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/co nfiguration/sendusing") = useRemoteSMTPService objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/co nfiguration/smtpserver") = mySMTPServer objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/co nfiguration/smtpserverport") = mySMTPPort objMessage.Configuration.Fields.Update objMessage.Send MsgBox "送信完了" Set objMessage = Nothing Set mySMTPServer = Nothing Set mySMTPPort = Nothing Set MailTo = Nothing Set Title = Nothing Set TxtBodyFile = Nothing Set TxtBody = Nothing Set myAttachment = Nothing Set objFileSys = Nothing Set objTextStream = Nothing Set strOpenFile = Nothing Set strText = Nothing
実行すると、送信元、送信先、添付ファイルの名前が聞かれます。
送信元はpostfixで書き換えてくれますので何でも構いません。
例:test@test
送信先は、ご自分のアドレス且つ2-4で設定したrcptの条件に従ってください。 例:test@test.jp←rcptでjpに対して安全化していますので、ここが違うとタダのメールが届きます。
添付ファイルは
test.txt
になります。
成功すると送信先に以下の様な名前の添付ファイルが付いたメールが届きます。
開くとダウンロード先のURLが記載されております。
現時点では解凍パスワードはpostfixで設定したリレーのGmailアドレスに届きます。 Gmailにtest@○○○にログインしメールを確認します。 以下の様にパスが書かれておりますので、こちらのメールを送信先に送ればいわゆるPPAPの対策が可能になります。
失敗した場合はを確認してみてください。
/var/log/messages
/var/log/maillog
2-8. 送信先に送られる添付ファイルにパスワードを記載してしまう
2-7ではnextcloudで設定したpostfixのGmailユーザーに送られます。セキュリティ上はこれで良いのですが、それを人手で再度送るのは手間になるので、いっそのことまとめて送信してしまいましょう。(PPAP上はあまり良くないかと思います。)
os_uploaderを編集します。pythonで書かれています。
vi /usr/local/bin/os_uploader
38行名を追加します。
1050行目を追加します。
1069行目をコメントアウトします。
1070行目を追加します。
テンプレートも編集しておきます。
vi /usr/local/etc/samma/os_uploader.tmpl
Passwordを追加します。
Download URL: <@@URL@@> Attachment files: <@@FILENAME@@> Password: <@@PASSWORD@@>
SaMMAをリスタートします。
systemctl restart samma
2-9. 添付ファイルのダウンロード期限を設定する(期限で削除する)
nextcloud側で設定します。
cronをnextcloudで設定したユーザーapacheで動かします。
sudo crontab -u apache -e
cron.phpを5分おきに実行する設定を書きます。
*/5 * * * * /usr/bin/php -f /var/www/nextcloud/cron.php
nextcloudにログインします。
右上の〇にカーソルを持っていき「管理者設定」
下の方の「基本設定」
バックグラウンドジョブを「Cron(推奨)」に変更します。
エラーメッセージはこの設定と先ほどのcronの設定で消えます。
一定期間でファイルを削除するアプリをnextcloudにインストールします。
右上の〇から「+アプリ」をクリックします。
クリック後虫眼鏡をクリックします。
retentionで検索します。下のRetentionを「ダウンロードして有効にする」でダウンロードします。
tagで検索します。File automated taggingを「ダウンロードして有効にする」でダウンロードします。
管理者設定をクリックします。
基本設定をクリックします。
右ペインに表示される画面の一番下に「コラボタグ」があります。
新しいタグを「auto_delete」不可視で「作成」します。
左ペインにある「Flow」をクリックします。個人と管理の下にあります管理の下にあるFlowになりますので注意してください。
「新しいフローを追加」をクリックします。
下半分で
「リクエストリモートアドレス」
「127.0.0.1/32」(ローカルからSaMMAでアップされるため)
右の自動タグ付けは
「auto_delete(invisible)」
を選択して「保存」
更に下に保持期間を決められる画面があります。(ない場合は個人のFlowに入ってる可能性が大きいです。管理の下にあるFlowを開いてください。)auto_delete(invisible)を選択し、保持する日数を決めます。テストの時は1日にすると良いかと思います。下のNotify~スイッチをONにすると削除前にメールがきますので最初はONにしても良いと思います。
簡単に設定をまとめると…
- Flowという機能でいくつかの処理を定期的に実行できます。
- Flowを使用するにはcronの設定が必要です。
- File automated taggingでアップロードされたファイルにタグを付けます。
- Retentionでタグのついたファイルの保持期間を決めてその期間で削除します。
あとがき
書いてみると割と盛りだくさんになってしまいました。Linuxは最初のうちは難しいですが、やっていることは単純にダウンロードして解凍してインストールしているだけですので、恐れずにやってみるのが良いと思います。なにかあったらログを見ればだいたい解決できます。今回はIBM iの設定はなかったですが、次回は色々な環境からIBM i に接続しPHP等で簡単なAPIを作っていきます。