👏

Apacheとは

2021/04/13に公開

Apacheとはwebサーバーソフトウェア(HTTPサーバー)。サーバーを構築するにはWebサーバーソフトウェアが必要。

Apacheとは、
インターネット上で企業や官公庁の公式サイトで情報を入手したり、動画やSNSを利用したりする場合には、かならずwebサーバーソフトウェアのお世話になる。

webサーバーの役割
インターネットを利用していると、多く種類のサーバーと呼ばれる、箱と中身のセットのお世話になる。その中で一番短でかつ重要なサーバーがwebサーバーと言える。

・Webサイトの閲覧者によるリクエストに応じて、Webサーバーに保管中のデータを表示する。
・CMSの場合などでは、データベースサーバーとの間に入り、リクエストに応答する。
・必要に応じて、Webサーバー内の保管データを保護して、アクセス制限を行う。
・Webサイトにドメインでアクセスできるように、別の専用サーバー(DNSサーバー)と連携をとる。
・Webサイトの閲覧者が間違ったリクエストを送った場合はそれが間違った指示であることを伝えてリクエストのやり直しを促す。

プロトコル(HTTP)
上記で、Webサイトの閲覧者がWebサーバーに地クエストするときに使用する指示方法(手順)を、HTTPプロトコルと呼ぶ。
この場合HTTPとは、Webブラウザで入力するwebサイトのURLアドレスの一部で、冒頭のhttpの部分をさしている。

なお、プロトコルには通信手順やルールの意味が込められている。
意識するかしないかにかかわらず利用者全員がこのプロトコルを守ることでインターネットの利用が促進されている。

Apacheのインストールと初期設定

作業にあたり、tera Term Proなどのターミナルエミュレーターを起動させ、該当のサーバーにSSHで接続する。

(1)インストール
sudo apt -y install apache2
とコマンド入力。自動的に関連するパッケージもインストールされる。

(2)基本設定
vi /etc/apache2/conf-enabled/security.confで、該当ファイルを編集。
セキュリティ確保のためエラーメッセージなどでサーバー情報の後悔を必要最低限にする。25行目あたりのServerTokensをOSより、Prodに変更する。
また35行目あたりのserverSingnatureをOnより,Offに変更。
その他必要に応じて、該当ファイルを更新する。

上記の更新を反映させるために、
sudo systemctl restart apavhe2とコマンド入力をしてApacheを再起動する。
この段階で、Apacheをインストールした場所(URLやIPアドレス)にアクセスすると、テストページが表示される。
これで、Apacheが稼働していることがわかる。
なお、このファイルは本番では不要のため、Webサイトの公式公開前に削除する。

モジュールの導入
Apacheのバージョン2.4には120以上ものモジュールが用意されていて、基本機能の拡張が可能。
今回は代表的なモジュールであるCGIとPHPのスクリプト2例を紹介。

CGIスクリプト
sudo apt -y install perlとコマンドを入力をして、perlをインストールする。

次に、sudo a2enmod cgiとコマンド入力をして、CGIモジュールを有効にする。上記の更新を反映させるために、sudo systemctl restart apche2とコマンド入力をして、Apacheを再起動します。

PHPスクリプト
sudo apt -y install php php-cgi libapche2-mod-php php-common php-pear php-mbstring
とコマンド入力をして、PHPをインストールする。

次に、 sudo a2enconf php7.0-cgiとコマンド入力をして、PHPモジュールを有効にする。

さらに、vi /etc/php/7.0/apache2/php.iniとコマンド入力をして、以下のように編集します。

date.timezone = “Asia/Tokyo”にします。上記の更新を反映させるためにsudo systemctl restart apache2 とコマンド入力をして、Apacheを再起動します。
https://gyazo.com/9549455654b6630ad7111bb5e199f80f

この記事は以下リンクサイトを参考にさせていただきました。
ありがとうございました。
https://www.kagoya.jp/howto/rentalserver/apache/

Discussion