見出し画像

ウェブプログラミングの全体を見てみる①

今回、一人で作ったサイト次のサイトを例にウェブプログラミングの全体を見てみましょう。

まずはサイトの土台を作っているシステムとサーバーについて、軽くバックエンドに触れていきます。

このサイトはLAMP(Linux、Apache、MySQL、PHP/Perl/Python)スタックを使用してウェブサイトを構築しています。

Linuxは、1991年にLinus Torvaldsによって開発された、Unixに似たオペレーティングシステムカーネルです。

Linuxの使い方は、ディストリビューションや使用目的によって異なりますが、一般的な操作には次のようなものがあります:

  1. コマンドライン操作:

    • Linuxは、コマンドラインインタフェース(CLI)を通じて操作されることが多いです。ターミナル(端末)を開いて、コマンドを入力することでさまざまな操作を行います。

  2. ファイルシステム操作:

    • ファイルやディレクトリの作成、移動、コピー、削除などの基本的なファイルシステム操作があります。これらの操作は、mkdircdcpmvrmなどのコマンドを使用して行います。

  3. パッケージ管理:

    • パッケージマネージャーを使用してソフトウェアのインストール、アップグレード、削除を行います。代表的なパッケージマネージャーには、APT(Debian、Ubuntu)、YUM/DNF(Fedora、CentOS)、Pacman(Arch Linux)などがあります。

  4. ユーザーと権限管理:

    • ユーザーアカウントの作成、グループへのユーザーの追加、ファイルやディレクトリのパーミッションの変更など、ユーザーと権限に関する操作があります。これらの操作は、useraddusermodgroupaddchownchmodなどのコマンドを使用して行います。

  5. ネットワーク設定:

    • ネットワークインタフェースの設定、IPアドレスの設定、ルーティングの設定など、ネットワーク関連の操作があります。これらの操作は、ifconfigiprouteなどのコマンドを使用して行います。

  6. プロセス管理:

    • 実行中のプロセスの表示、プロセスの終了、システムリソースの監視など、プロセス管理に関する操作があります。これらの操作は、pskilltopなどのコマンドを使用して行います。

これらは一般的なLinuxの操作ですが、より高度な操作や特定のタスクには、それに特化したコマンドやツールが用意されています。また、GUI(グラフィカルユーザーインタフェース)を使用することもできますが、CLIを使った操作がLinuxの特徴の一つです。

WebサーバーをLinuxで設定する場合、サーバーには以下の手順に従います

  1. Webサーバーソフトウェアのインストール: 最も一般的なWebサーバーソフトウェアはApacheやNginxです。これらのソフトウェアをインストールします。例えば、DebianやUbuntuでは、以下のようにしてApacheをインストールします。

sudo apt update
sudo apt install apache2
  1. Webサーバーの設定: インストール後、Webサーバーの設定を行います。主な設定ファイルは通常、/etc/apache2/apache2.conf(Apacheの場合)や/etc/nginx/nginx.conf(Nginxの場合)にあります。これらの設定ファイルを編集して、必要に応じてサーバーの動作やポート番号、ドメインなどを設定します。

  2. サイトの設定: ウェブサイトのルートディレクトリやバーチャルホストの設定を行います。これにより、Webサーバーはクライアントからのリクエストを受け取って適切なコンテンツを提供することができます。

  3. ファイアウォール設定: 必要に応じて、ファイアウォール(例えば、iptablesやufw)を設定して、Webサーバーへのアクセスを制御します。特に、ポート80(HTTP)やポート443(HTTPS)を開ける必要があります。

  4. サーバーの再起動: 設定変更後は、Webサーバーを再起動して設定を反映させます。例えば、Apacheの場合は以下のようにして再起動します。

sudo systemctl restart apache2
  1. ドメインの設定: もし利用するならば、ドメイン名を設定してDNSを構成します。これにより、ウェブサイトにアクセスするための独自のドメイン名を使用することができます。

これらは基本的な手順ですが、Webサーバーの設定にはさまざまな側面があります。セキュリティの設定やSSL証明書の導入など、より高度な設定も必要に応じて行うことがあります。

今出てきたポート番号、ドメイン、ファイアウォール、DNSについてはまた後程触れていきます。


この記事が気に入ったらサポートをしてみませんか?