昔の掲示板を設置するMojolicousからCGIを呼ぶ他者のPerlを書き替える他者のPerlを書き替える~2~全ページに告知ApacheのCGIにperlbrewを使う2018-12-25背景サーバーがCentOS6.5、一緒に入っているPerl(システムPerl)が5.10です。・_・)」とか言われてしまう。この記事を書いている時点で最新版は5.28です。できれば最新版を使いたい。最新版で都合が悪ければ一歩後退(一つ前のバージョンに変更)とか自在にしたい。心得之條)検索しても同様の手法がないセキュリティホールの可能性が高い尚、死して屍、拾う者なし尚、死して屍、拾う者なし基本的な考え方CGIはhttpdサーバーのApacheが起動して、そのサーバーのApacheを実行するアカウントはapacheです。アカウントapacheがperlbrewを使えるようになればCGIとしてperlbrewのPerlを使えそうです。apacheでログインします。日常でログインしないアカウントにログインの機会を与えておくのはセキュリティの隙を突かれるので作業後に戻します。アカウントapacheのホームディレクトリは/home/apacheでなく/var/wwwです。perlbrewをインストールこのページを参考にインストールします。Perlゼミ(サンプルコードPerl入門)新しいperlをインストール最新版を...と思いましたがパソコンのPerlバージョンを合わせておくとバージョン違いのトラブルを回避できそうです。パソコンはActivePerlの5.26を使っているのでそれに合わせます。仕方がないのでテストを回避する--notestでインストールします。install-cpanmパッケージをインストール必要なパッケージをドンドコ入れましょう。<CGIスクリプト>を実行して「『@INCにないよ』エラー」が出てくるパッケージを全部入れましょう。<パッケージ名>それとインストール済かどうか自動チェックして動作が変わる場合はチェック対象のモジュールも追加しましょう。_)mソフトリンクを設定CGIの1行目、よくあるのは「#!/usr/bin/perl」をインストールしたperlに変更します。perl」と書き、環境変数を利用して起動してます。これはバージョン切り替えを実現するための仕掛けです。apacheではシェルの環境変数が反映されていないので起動できません。ソフトリンクで希望のバージョンのPerlを選択して呼べるようにします。テストプログラムテスト用のCGIを実行して動作チェック。mojolicious。