#InterSystems IRIS

1 フォロワー · 1.3K 投稿

InterSystems IRISは総合データプラットフォームです

    InterSystems IRISは、企業にとって最も価値のある資産(データ)の取得、共有、理解、そしてデータに基づく行動のために必要なすべてのものを提供します。

    完全なプラットフォームである InterSystems IRIS は、複数の開発技術を統合する必要がありません。より少ないコードで開発が可能で、そのアプリケーションは、システムリソース、メンテナンスなども少なくて済みます。

記事 Toshihiko Minamoto · 1月 25, 2022 9m read

キーワード: PyODBC、unixODBC、IRIS、IntegratedML、Jupyterノートブック、Python 3

 

目的

数か月前、私は「IRISデータベースへのPython JDBC接続」という簡易メモを書きました。以来、PCの奥深くに埋められたスクラッチパッドよりも、その記事を頻繁に参照しています。 そこで今回は、もう一つの簡易メモで「IRISデータベースへのPython ODBC接続」を作成する方法を説明します。

ODBCとPyODCBをWindowsクライアントでセットアップするのは非常に簡単なようですが、Linux/Unix系サーバーでunixODBCとPyODBCクライアントをセットアップする際には毎回、どこかで躓いてしまいます。

バニラLinuxクライアントで、IRISをインストールせずに、リモートIRISサーバーに対してPyODBC/unixODBCの配管をうまく行うための単純で一貫したアプローチがあるのでしょうか。

 

範囲

最近、Linux Docker環境のJupyterノートブック内でゼロからPyODBCデモを機能させるようにすることに少しばかり奮闘したことがありました。 そこで、少し冗長的ではありますが、後で簡単に参照できるように、これをメモに残しておくことにしました。  

範囲内 

このメモでは、以下のコンポーネントに触れます。

  • 0
    0 1226
    お知らせ Mihoko Iijima · 1月 17, 2022

    開発者の皆さん、こんにちは!

    InterSystems データセットコンテスト の投票結果が発表されました!この記事ではコンテスト受賞者を発表します!

    受賞された開発者の皆さん、👏おめでとうございます!🎊

    0
    0 129
    記事 Megumi Kakechi · 1月 12, 2022 5m read

    これは、InterSystems FAQサイトの記事です。
    ミラージャーナルファイルの削除(パージ)のタイミングは以下のようになります。

    ・プライマリ・フェイルオーバー・メンバ

     以下の期限のうち長い方に該当するもの
     -ローカルジャーナルファイルの削除条件が満たされたとき ("ジャーナル設定の構成" を参照)  
     -バックアップメンバとすべての非同期メンバに受信されたとき
      ただし、非同期メンバが14日間(既定値)を経過してもジャーナルファイルを受信しない場合は、そのジャーナルファイルは削除対象になります。
      「既定の14日間」は、以下のコマンドで設定が可能になります。
      この保持期間を過ぎると、ジャーナルが削除されてしまいその非同期メンバでは同期が取れなくなるのでご注意ください。

    %SYS>write ##class(SYS.Mirror).
    0
    0 319
    お知らせ Mihoko Iijima · 1月 10, 2022

    開発者の皆さん、こんにちは!

    今週から データセットコンテスト の投票が始まります!

    InterSystems IRIS を使い開発されたベストソリューションにぜひ、投票をお願いします!

    🔥 投票はこちらから! 🔥

    投票方法については、以下ご参照ください。

    0
    0 103
    記事 Toshihiko Minamoto · 1月 6, 2022 9m read

    キーワード: Python、JDBC、SQL、IRIS、Jupyterノートブック、Pandas、Numpy、および機械学習 

    1. 目的

    これは、デモの目的で、Jupyterノートブック内でPython 3によってIRIS JDBCドライバーを呼び出し、SQL構文でIRISデータベースインスタンスにデータを読み書きする、5分程度の簡単なメモです。 

    昨年、私はCacheデータベースへのPythonバインディング(セクション4.7)について簡単に触れました。 そこで、Pythonを使ってIRISデータベースに接続し、そのデータをPandasデータフレームとNumPy配列に読み込んで通常の分析を行ってから、事前処理済みまたは正規化されたデータをML/DLパイプラインに通すためにIRISに書き込む作業においてのオプションと議論について要約しましょう。

    すぐに思い浮かぶ簡単なオプションがいくつかあります。

    1.    ODBC: Python 3とネイティブSQLを使ったPyODBCを使ってはどうでしょうか?
    2.    JDBC: Python 3とネイティブSQLを使ったJayDeBeApiはどうでしょうか?
    3.    Spark: PySparkとSQLを使ったら?
    4.    IRIS用PythonネイティブAPI: 前に使用したCache用Pythonバイディングを拡張してみたらどうでしょうか?
    0
    0 1060
    記事 Hiroshi Sato · 12月 28, 2021 2m read

    これは InterSystems FAQ サイトの記事です。
     

    コンパイル時のフラグや修飾子の記号と意味については、以下ドキュメントをご参照ください。


    コンパイルフラグについて【IRIS】

    コンパイルフラグについて

     

    なお、開発環境のスタジオやVisual Studio Codeでは、開発環境の設定画面でフラグを変更できます。

    • スタジオは、[ツール] > [オプション] > [コンパイラ] > [フラグと最適化]


       

       
    • VSCodeは、[View] > [Command Palette...] 

     


    ターミナルでコンパイルを実行するときは $system.OBJ.CompileAll() などのシステムユーティリティが利用できます。
    コンパイルフラグを引数に指定しない場合、デフォルトのコンパイルフラグが利用されます。デフォルトのフラグは $system.OBJ.ShowFlags() で確認できます。

    USER>do $system.OBJ.ShowFlags()
        b - Include sub classes.
        c - Compile.
    0
    0 888
    記事 Hiroshi Sato · 12月 28, 2021 1m read

    これは、InterSystems FAQサイトの記事です。
     

    データ項目の値が”#Deleted"と表示される場合、MS Accessの設定でこの問題を回避することができます(MS Access2016以降)。

    MS Accessのオプションより、「大きい数値(BigInt)データ型をサポート」にチェックを入れます。

     

         

    設定後、リンクテーブルを一度閉じて、リンクの更新を行います。

    0
    0 9754
    記事 Tomoko Furuzono · 12月 26, 2021 1m read

    これは、InterSystems FAQサイトの記事です。

    MM/DD/YY-hh:mm:ss:fff ( ) 0 [Utility.Event] Purging old application errors

     
    こちらのメッセージは、エラーではなく、アプリケーションのエラーログを記録した古い ^ERRORSグローバルのパージ処理が実行された際に出力されるメッセージになります。ログを削除した旨のみを伝えるメッセージであり、出力されていても特に問題はありません。
    また、このログは、^ERRORSグローバルのパージ処理がタスク実行される毎日01:00 に出力されます。
     

    実際にアプリケーションエラーがある場合は、管理ポータルの [システムオペレーション] > [システムログ] > [アプリケーションエラーログ] にて、詳細を確認できます。
    ※このエラーログの内容は、各ネームスペースの ^ERRORS グローバルに格納されているものです。

       

    0
    0 292
    記事 Tomoko Furuzono · 12月 26, 2021 1m read

    これは、InterSystems FAQサイトの記事です。
    $ZTIMESTAMPはUTC形式で日付時刻を返すため、ローカルのタイムゾーンに変更するためには以下システムオブジェクトを利用します。 

     $SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)


    上記出力結果は ddddd,sssss.fff の形式で出力されます。

        ddddd:$HOROLOGの日付と同じ形式
     sssss:現在の日付の午前 0 時からの経過秒数を示す整数
     fff :秒の小数部を示す可変桁数

    ※ $HOROLOGに似ていますが、$HOROLOGには秒の小数部分は含まれません。 

    SAMPLES>write $SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)," - ", $horolog,!
    63895,64252.66 - 63895,64252
    SAMPLES>write $ZDATETIME($SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP),8)
    20151209 17:45:56
    SAMPLES>write $ZDATETIME($ZTIMESTAMP,8)
    20151209 08:46:05
    SAMPLES>
    0
    0 326
    記事 Hiroshi Sato · 12月 21, 2021 1m read

    これは、InterSystems FAQサイトの記事です。
     

    監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。


    サンプルコードは以下のようになります。

     Set statement=##class(%SQL.Statement).%New()  
     Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
     Set rs=statement.%Execute()  
     Set tab = $char(9)
     While rs.%Next() {    
       Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
    }
    0
    0 273
    記事 Hiroshi Sato · 12月 20, 2021 1m read

    これは、InterSystems FAQサイトの記事です。
     

    CSPアプリケーションでは、リクエスト処理時間がサーバー応答タイムアウト値(CSPゲートウェイ管理ページで設定、既定値60 sec)を経過すると、CSPゲートウェイからクライアントブラウザにタイムアウトを通知し、処理を続けているデータプラットフォームサーバプロセスにエラーを発生させます。

     

    エラーが発生している処理を確認して頂き、処理遅延の改善、例えばタイムアウトが発生しないように処理内容を見直して応答時間を短くすることや必要に応じてサーバ応答タイムアウト値を大きくすることで対処可能です。

    0
    0 511
    InterSystems公式 Toshihiko Minamoto · 12月 14, 2021

    2021年12月13日 - 勧告: Apache Log4j2ライブラリの脆弱性がインターシステムズ製品に与える影響

    インターシステムズは現在、Apache Log4j2に関するセキュリティ脆弱性の影響を調査しています。

    この脆弱性は少なくともApache Log4j2 (バージョン2.0から2.14.1)に影響を与えるもので、最近Apacheから発表され、米国国家脆弱性データベース (NVD) ではCVE-2021-44228 として報告されており、深刻度は最も高い10.0となっています。

    脆弱性に関する詳細ならびにインターシステムズ製品に影響を与えるかどうかの最新情報は こちら をご参照ください。

    1
    0 213
    お知らせ Mihoko Iijima · 12月 15, 2021

    開発者の皆さん、こんにちは!

    InterSystems IRIS 2021.2 Preview 版 がリリースされました。新しい機能として LOAD DATA があります。

    ということで、今回のコンテストでは、この新しい「LOAD DATA」をテストするコンテストにしてみたいと思います!

    🏆 InterSystems Datasets Contest 🏆

    応募期間: 2021年12月27日~2022年1月9日

    💰 賞金総額: $9,450 💰


    0
    0 190
    記事 Toshihiko Minamoto · 12月 14, 2021 5m read

    着想: @Evgeny Shvarovとその記事より
    Deploying InterSystems IRIS Embedded Python Solutions with ZPM Package Manager
    このアイデアを発展させ、同じことを**Node.js.**のモジュールで行ってみました。
    このケースは、私の「IRIS Native API for Node.js」の例に基づいています。

    InterSystems IRIS はクライアントとしてネイティブでWebSocketsをサポートしているというわかりきった返答を期待して:
    その通りです。そして、私がその昔書いた関連記事OEXのサンプルへのリンクはこちらです。

    0
    0 183
    記事 Tomoko Furuzono · 12月 13, 2021 1m read

    これは、InterSystems FAQサイトの記事です。
     

    グローバル単位でジャーナルのON/OFF設定を行いたい場合は、グローバルマッピング設定で、
     ・ジャーナルしたいグローバル ⇒ ジャーナルON(「はい」)のデータベースにマッピング
     ・ジャーナルしたくないグローバル ⇒ ジャーナルOFF(「いいえ」)のデータベースにマッピング
    と、分けることで可能です。 但し、通常のデータベースは、ジャーナルOFF設定であっても、トランザクション中の更新についてはジャーナルファイルに記録されます。

    一時グローバルを保存するIRISTEMP/CACHETEMPデータベースは、トランザクション中でもジャーナルファイルに記録されませんので、トランザクションデータもジャーナル記録したくない場合にはこれをマッピング先にすることも可能です。
    但し、IRISTEMP/CACHETEMPデータベースは一時データベースであるため、インスタンス再起動でグローバルデータは失われますので注意が必要です。
    一時グローバルと IRISTEMP データベース

    0
    0 216
    記事 Toshihiko Minamoto · 12月 9, 2021 23m read

    キーワード: IRIS、IntegratedML、機械学習、Covid-19、Kaggle 

    前のパート1の続き... パート1では、Kaggleに掲載されているこのCovid-19データセットにおける従来型MLのアプローチを説明しました。 

    今回のパート2では、IRISのIntegratedMLを使用して、可能な限り単純な形態で同じデータとタスクを実行しましょう。IntegratedMLは、バックエンドAutoMLオプション用に洗練された優れたSQLインターフェースです。 同じ環境を使用します。 

     

    IntegratedMLアプローチとは

    IRISにデータを読み込む方法

    integredML-demo-templateには、IRISにデータを読み込む様々な方法が定義されています。 たとえば、このCSV形式のxlsファイルに固有のカスタムIRISクラスを定義し、それをIRISテーブルに読み込むことができます。 大量のデータをより適切に制御することができます。 

    ただし、この記事では、単純化された怠惰な方法を使用します。データフレーム全体を私が作成したカスタムPython関数で読み込む方法です。

    0
    0 150
    記事 Megumi Kakechi · 12月 9, 2021 3m read

    これは、InterSystems FAQサイトの記事です。
     

    【 管理ポータルへのパスワード認証設定方法 】

    管理ポータルの、
     [ホーム] > [システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション]
    で /csp/sys、および、/csp/sys/ 以下の各アプリケーション(/csp/sys/expなど) の編集画面を開き、“許可された認証方法” の、"認証なし" のチェックを外し、“パスワード” のみチェックをして保存します。

     

    また、これと同様のことを、ターミナルから、^SECURITYルーチンを使用して実行することも可能です。
    以下は/csp/sys/アプリケーションに対する実行例です。*実行は%SYSネームスペースで行って下さい。

    0
    0 666
    記事 Tomoko Furuzono · 12月 7, 2021 1m read

    これは、InterSystems FAQサイトの記事です。

    プライベートWebサーバを使用して、HTMLファイルをリクエストした際に、日本語が文字化けする場合があります。
    その場合には、HTMLファイルをBOM(バイト・オーダー・マーク)付で保存してください。

    ※原則的に、プライベートWebサーバを使用してアプリケーションを稼働することは推奨しておりません。
     アプリケーション稼働には、必ず、IISやApache等の製品版のWebサーバを使用してください。  
     プライベートWebサーバについては、以下のドキュメントをご参照ください。
     プライベート Web サーバおよび管理ポータル【IRIS】
     プロダクション Web サーバおよび Caché 付属のプライベート Web サーバ

    0
    0 283
    記事 Tomoko Furuzono · 12月 7, 2021 2m read

    これは、InterSystems FAQサイトの記事です。
    このメッセージが出力される要因は以下の2つになります。

    1. 同じデータに対して適切に排他を行わずに、別々のプロセスから更新が行われている
    2. ロールバックが発生している

    詳細は以下の通りです。 メッセージログ/コンソールログに、以下のようなメッセージがある場合、これはロールバック処理にて出力されています。
    ※バージョンによってメッセージは多少異なります。

    Skipping SET due to compare and swap failed on ...
    Skipping KILL due to compare and swap failed on ...
    ---
    Skipping Set global ^xxx during transaction rollback (transaction may not have been properly locked) in journal ...
    Skipping KILL as node ^xxx exists in ...
    ---
    Skipped rolling back x update(s) in ...
    Total 1 update(s) were skipped during rollback of transaction beginning
    0
    0 155
    記事 Toshihiko Minamoto · 12月 7, 2021 31m read

    キーワード: IRIS、IntegratedML、機械学習、Covid-19、Kaggle 

    目的

    最近、Covid-19患者がICU(集中治療室)に入室するかどうかを予測するKaggleデータセットがあることに気づきました。  231列のバイタルサインや観測で構成される1925件の遭遇記録が含まれる表計算シートで、最後の「ICU」列では「Yes」を示す1と「No」を示す0が使用されています。 既知のデータに基づいて、患者がICUに入室するかどうかを予測することがタスクです。

    このデータセットは、「従来型ML」タスクと呼ばれるものの良い例のようです。 データ量は適切で、品質も比較的適切なようです。 IntegratedMLデモキットに直接適用できる可能性が高いようなのですが、通常のMLパイプラインと潜在的なIntegratedMLアプローチに基づいて簡易テストを行うには、どのようなアプローチが最も単純なのでしょうか。

     

    範囲

    次のような通常のMLステップを簡単に実行します。

    • データのEDA(探索的データ分析) 
    • 特徴量の選択
    • モデルの選択
    • グリッド検索によるモデルパラメーターのチューニング

    上記との比較で、次を実行します。 

    • SQLを介したIntegratedMLアプローチ

    Docker-composeなどを使用して、AWS Ubuntu 16.04サーバーで実行します。

    0
    0 337
    質問 Yuji Ohata · 12月 6, 2021

    こんにちは、皆さま。
    業務でIRISを用いて開発を行っている者です。

    私はIRISでSQLアクセスを行うプログラムをを作成しており、
    テーブルアクセスには%ScrollableResultSetクラスのAPIを用いて処理を実現しています。
    作成するSQLはインジェクション対策のため、?パラメータを用いておりますが、
    この度、大量のパラメータ(600項目)を用いるSQLを作成する必要が出てきました。

    https://irisdocs.intersystems.com/iris20191/csp/docbookj/DocBook.UI.Pag…
    こちらによりますと、可変長引数を用いても引数の上限値は255個となっており、
    実際に600個のパラメータを引数に与えてSQLアクセスしようとすると、<STACK>エラーが発生する状況です。

        Set query = "SQL文"
        Set result = ##class(%ScrollableResultSet).%New("%DynamicQuery:SQL")
        Do result.Prepare(query)
        Do result.Execute(parameterValue.
    2
    0 456
    記事 Toshihiko Minamoto · 12月 3, 2021 12m read

    キーワード: ディープラーニング、Grad-CAM、X線、COVID-19、HealthShare、IRIS

    目的

    イースターウィークエンド中に、Covid-19に感染した胸部X線画像分類とCT検出デモを実行するを触ってみました。  デモの結果は上出来で、このトピックに関するその頃の学術研究出版物に一致しているようでした。 でも、本当に「上出来」と言えるのでしょうか。 

    最近、「機械学習における説明可能性」に関するオンラインランチウェビナーを聴くことがあったのですが、たまたまその講演の最後でDonがこの分類結果について話していました。

    上図は研究論文にも示されています。『“Why Should I Trust You?” Explaining the Predictions of Any Classifier』という論文です。   分類器は実際に、ペットの犬か野生の狼に分類するための主な入力として、雪といった自然環境などの背景ピクセルを取るようにトレーニングされていることがわかります。 

    これを見て、私は以前から持っていた関心を思い出しました。このやり方に、確かに好奇心を掻き立てられます。

    • どのピクセルが実際に「Covid-19に感染した胸部」の結果に寄与しているかを知るには、一般的に「ブラックボックス」として提示されるこれらのCovid-19分類器をどのように「調べる」とよいのでしょうか。
    0
    0 578
    InterSystems公式 Yoichi Miyashita · 12月 1, 2021

    InterSystems 製品のキットには Apache Web サーバが含まれています。
    これにより、お客様が外部Webサーバをインストールせずに Caché/IRIS 管理ポータルを動作させる為の便利な方法を提供しています。
    ただし、このWebサーバを実稼働インスタンスに使用しないでください。お客様は、システムに応じたニーズとセキュリティ/リスク要件に適合するWebサーバを別途インストールする必要があります。

    最近のテストでは、現在含まれている Apache Web サーバにいくつかのセキュリティ問題があることがわかっていますが InterSystems が管理していないテクノロジである為、
    InterSystems は、Apache または別のサードパーティから直接取得した Web サーババージョンをインストールし、付属の Apache Webサーバ を無効にすることをお勧めします。
    InterSystems は、今後のリリースに Apache Web サーバの新しいバージョンを含める予定です。
    現在のバージョンと同様に、そのバージョンも本番インスタンスには使用できません。
    当社の製品の将来のリリースでは、InterSystems はWeb サーバを同梱またはインストールしません。
    計画の詳細については、今後、更新情報を提供する予定です。 

    0
    0 193
    記事 Hiroshi Sato · 11月 29, 2021 2m read

    これは、InterSystems FAQサイトの記事です。
     

    FTPサーバから、アップロード/ダウンロードする方法は以下の通りです。

    1. FTPサーバにイメージファイルをアップロードする

     set tmpfile="c:\temp\test.jpg"
     set ftp=##class(%Net.FtpSession).%New() 
     // ftp サーバへ接続する
     do ftp.Connect("","<ユーザ名>","<パスワード>")
     // 転送モードをBINARYに設定
     do ftp.Binary()
     // アップロードするディレクトリに移動
     do ftp.SetDirectory("/temp/upload")
     // アップロードするファイルのストリームを用意   
     set file=##class(%File).%New(tmpfile)
     do file.Open("UK\BIN\")
     // ファイルをアップロード
     // 第1引数: アップロード先に作成するファイル名
     // 第2引数: アップロードするファイル・ストリーム
     do ftp.Store("test.jpg",file)
     // ftp サーバからログアウト
     do ftp.Logout()
     // ファイルを閉じる
     do file.
    0
    0 287
    記事 Tomoko Furuzono · 11月 28, 2021 5m read

    これは、InterSystems FAQサイトの記事です。
    InterSystems製品のデータ(テーブルの行データ、オブジェクトのインスタンスデータ)は、グローバル変数に格納されています。
    各グローバルのデータサイズは、管理ポータル>システム>構成>ローカルデータベース>グローバルのページから参照したいグローバルのプロパティをクリックし、表示されるグローバル属性ページ上のサイズ計算ボタンをクリックすることで個別のグローバルのサイズを取得することができます。
    ネームスペース上のグローバルのデータサイズをまとめて表示するには、ターミナル上で^%GSIZEユーティリティを起動することで取得することができます。
    実行方法は以下の通りです。

    USER>do ^%GSIZE
     
    Directory name: c:\intersystems\ensemble\mgr\user\ =>
    All Globals? No => Yes
    ^DeepSee.ActiveTasks contains no data
    Include it anyway? No => Y
    Include any other similar globals without asking again? Yes =>
    ^DeepSee.ActiveTasks contains no data
    Include it anyway?
    0
    0 494
    記事 Hiroshi Sato · 11月 24, 2021 1m read

    これは InterSystems FAQ サイトの記事です。
     

    InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。

    (%ZSTARTルーチンは%SYSネームスペースで作成します)

     

    SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。

     

    ^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。

     

    詳しくは、以下ドキュメントをご参照ください。


    %ZSTART、%ZSTOPルーチンの記述について【IRIS】
    %ZSTART、%ZSTOPルーチンの記述について

    0
    1 296
    記事 Toshihiko Minamoto · 11月 16, 2021 4m read

    ODataとは?

    OData(Open Data Protocol)は、RESTful APIの構築と消費に関する一連のベストプラクティスを定義するISO/IEC認定OASIS標準です。 ODataは、リクエストとレスポンスのヘッダー、ステータスコード、HTTPメソッド、URL変換、メディアタイプ、ペイロード形式、クエリオプションなどを定義するための多様なアプローチを気にせずに、RESTful APIを構築しながらビジネスロジックに専念するのに役立ちます。 また、ODataには変更の追跡、再利用可能なプロシージャの関数/アクションの定義、および非同期/バッチリクエストの送信に関するガイダンスも提供されています(出典: OData.org)。

    ODataのユースケース

  • 開発作業なしで、相互運用可能な形式でデータをRESTサービスとしてデプロイする。
  • 開発作業なしで、RESTを使って、BI、データ視覚化、ERP、CRM、ESB、ワークフローツール、およびエンジンでデータを消費できるようにする。
  • API管理ツールで企業データを仮想化する。
  • ODataは、これらのRESTful APIを使用して、SQLのようなクエリ機能を可能にするREST APIを実装するための標準的な方法を提唱しています。
  • 0
    0 204
    記事 Megumi Kakechi · 11月 15, 2021 1m read

    これは InterSystems FAQ サイトの記事です。

    SELinuxの機能が有効になっているとファイルアクセス時にセキュリティコンテキストのチェックで permission エラーになります。

    CSP のページについても同様に permission エラーになっているため、Apache にて 403 Forbidden エラーになります。  

    以下の設定でSELinuxの機能を無効にすることで回避できます。

    設定ファイル /etc/selinux/config の SELINUX=disableに設定し、OS の再起動を行います。

    例:

     # This file controls the state of SELinux on the system.
      # SELINUX= can take one of these three values:<
      # enforcing - SELinux security policy is enforced.
      # permissive - SELinux prints warnings instead of enforcing.
      # disabled - SELinux is fully disabled.
      SELINUX=disabled
      # SELINUXTYPE= type of policy in use.
    0
    0 409