GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuLinuxでの簡単なCGIとApacheの例

はじめに

CGI(Common Gateway Interface)は、CGIスクリプト/プログラムを実行するWebクライアントとWebサーバー間のインターフェイスです。 CGIは非常に古く、PHPなどのさまざまなプログラミング言語に大きく取って代わられました。ただし、Webブラウザを介したシステムの監視と管理のための迅速なツールとして、Linuxシステム管理者の手に委ねられています。この記事では、UbuntuLinuxでApacheWebサーバーを使用してさまざまなプログラミング言語とスクリプトで基本的なCGIスクリプトを実行する方法を段階的に説明します。

Apacheのインストール

まず、ApacheWebサーバーをインストールする必要があります。これは非常に単純なタスクであり、 apt-getを使用して実行できます。 コマンド:

$ sudo apt-get install apache2

上記のコマンドは、 / etc / apache2 / sites-available/defaultにあるデフォルトサイトでApache2Webサーバーをインストールします。 このデフォルトの構成サイトを開くと、 / usr / lib / cgi-binからCGIスクリプトを実行するように構成されていることがわかります。 URLエイリアス/cgi-bin /のあるディレクトリ :

 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">

オプションで、DNS設定を変更して、新しいWebサーバーのIPアドレスを指すようにするか、ローカルの/ etc/hostsファイルを編集することができます。例:

10.1.1.61       cgi-example.local

ここで、10.1.1.61はapacheを実行しているWebサーバーのIPであり、cgi-example.localは任意のドメイン名です。

CGIスクリプトを作成する

CGIは複数の言語で動作しますが、今のところ、bashシェルから始めます。他のいくつかの言語の例は後で示します。 CGIbashの例の単純なバージョンを次に示します。

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash Example'

上記のコードをコピーして、example-bash.shという名前の/ usr / lib /cgi-bin/内の新しいファイルに貼り付けます。完了したら、 chmodを使用してファイルを実行可能にします コマンド:

$ sudo chmod 755 /usr/lib/cgi-bin/example-bash.sh

CGIスクリプトを表示

残っているのは、ブラウザを使用してWebサーバーのホスト名またはIPアドレスに移動することだけです。この場合、URLは次のようになります:http://cgi-example.local/cgi-bin/example-bash.sh

この例を編集して、サーバーのルートパーティション「/」のディスク使用量を表示できます。あなたはあなたの想像力によってのみ制限されます:

#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash example<br>'
echo `df -h / | grep -v Filesystem`

上記のコードは、ルートパーティションの空きディスク容量を確認し、次のページを生成します。

その他のCGIの例

約束どおり、ここにいくつかのプログラミング言語のCGIの例があります。

Perl

次の/usr/lib/cgi-bin/example-perl.plを作成して実行可能にし、コンテンツを追加します。

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print <<htmlcode;
<html>
<head>
<title>CGI Perl Example</title>
</head>
<body>
<h1>CGI Perl Example</h1>
<p>CGI Perl Example</p>
</body>
htmlcode

Python

次の/usr/lib/cgi-bin/example-python.pyを作成して実行可能にし、コンテンツを追加します。

<html>
<head>
<title>CGI Python Example</title>
</head>
<body>
<h1>CGI Python Example</h1>
<p>CGI Python Example</p>
</body></html>
"""

C

CおよびC++を機能させるには、コンパイラをインストールする必要があります。まず、次のコマンドでコンパイラをインストールします:

$ sudo apt-get install build-essential

インストールしたら、次のコードを使用してexample-c.cファイルを作成します。

#include <stdio.h>
int main(void)
{
printf("Content-Type: text/plain \n\n");
printf("CGI C Example \n");
}

example-c.cファイルの内容を保存し、次のlinuxコマンドを使用してコンパイルします。

$ sudo gcc -o /usr/lib/cgi-bin/example-c example-c.c

これで、CでコンパイルされたCGIスクリプトに次のコマンドでアクセスできるようになります:http://cgi-example.local/cgi-bin/example-c

C ++

CおよびC++を機能させるには、コンパイラをインストールする必要があります。まず、次のコマンドでコンパイラをインストールします:

$ sudo apt-get install build-essential

インストールしたら、次のコードを使用してファイルexample-cpp.cを作成します。

#include <iostream>
using namespace std;

int main()
{
cout << "content-type: text/html" << endl << endl;
cout << "<h1>CGI C++ example</h1>" << endl;
return 0;
}

example-cpp.cファイルの内容を保存し、次のlinuxコマンドを使用してコンパイルします。

$ sudo g++ -o /usr/lib/cgi-bin/example-cpp example-cpp.c

これで、CでコンパイルされたCGIスクリプトに次のコマンドでアクセスできるようになります:http://cgi-example.local/cgi-bin/example-cpp

結論

前述のように、CGIは非常に古く、PHPなどのさまざまなプログラミング言語に大幅に取って代わられました。ただし、ご覧のとおり、リモートカスタムモニタリングなどのLinux管理タスクを自動化するために使用するツールはまだ比較的シンプルです。 Webブラウザを使用するLinuxサーバー。


Ubuntu
  1. Ubuntu16.04Linuxでの基本的なPHP7とNginxの構成

  2. UbuntuLinuxでApacheを使用してPHPcurlモジュールを有効または無効にする方法

  3. Ubuntuおよびその他のLinuxにApacheCassandraをインストールする方法

  1. Ubuntu18.04および16.04にApacheMavenをインストールする方法

  2. Ubuntu20.04にApacheSparkをインストールして構成する

  3. UbuntuまたはDebianにcgiを使用してApacheとPHPをインストールして構成します

  1. UbuntuとLinuxMintのスペースを解放する7つの簡単な方法

  2. デュアルブートUbuntuLinuxおよびWindows7

  3. Linux および Ubuntu ターミナルでのコピー アンド ペースト