Apacheをインストールしてwebサイトを公開する

Last update: 2025/2/13


実行環境

Apacheをインストールする

Linuxの主要なWebサーバソフトウェアとしてはApacheとNginxがあるが、今回はApacheをインストールしてDocumentRootにhtmlファイルを置いてWebサイトを公開する手順をメモしておく。以下ではroot権限がある前提でコマンドを書くので、一般ユーザで作業する場合は適宜sudoを使う。

まずはApacheをインストールする。

# dnf install httpd

インストールが完了したらhttpdを起動する&サーバー起動時に自動で起動するようにしておく。

# systemctl start httpd
systemctl enable httpd

ファイアウォールでhttp/httpsを許可する

ファイアウォールが無効になっている場合は、まず有効にする。

# systemctl start firewalld
    # systemctl enable firewalld

以下の設定でhttpとhttpsプロトコルを許可し、最後にファイアウォールサービスを再起動する。

# firewall-cmd --add-service=http --zone=public --permanent
    # firewall-cmd --add-service=https --zone=public --permanent
    # systemctl restart firewalld

基本的にはこれで設定は完了だが、さくらのVPSではパケットフィルター機能があるため、http/https通信を許可しておく必要がある(この設定を忘れていてしばらくはまった)。

さくらのVPSのコントローラパネルからサーバーのパケットフィルターの設定を開き、以下のようにhttpとhttpsの通信を許可しておく。

この状態で自分のIPアドレスをブラウザに入れてアクセスして、Apacheの画面が表示されればwebサーバーの設定としては完了となる。

SFTPでファイルをアップロードする

ApacheのDocumentRootはデフォルトでは/var/www/htmlなので、ここにトップページとなるindex.htmlファイルを置けばWebサイトを公開できる。ファイルの置き方はいろいろあるが、今回はローカルPCからFileZillaを使ってSFTPでファイルを置くことにする。

/var/www/htmlディレクトリはデフォルトでは所有者しかwriteできず、所有者はrootになっている。今回はSSHでログインする一般ユーザーでSFTPでファイルを置けるように、/var/www/htmlディレクトリの所有者をログインするユーザーに変更した。

# chown ログインするユーザー名:root html

あとはhtmlディレクトリにファイルを置けばよい。私はSSHで鍵認証を使ってVPSにアクセスしているので、FileZillaの場合はサイトマネージャーで以下のようにSFTPを選択し、ホストにIPアドレス、ユーザーにログインするユーザ名、鍵ファイルにSSHの鍵ファイルを選択して接続する。

これでWebサイトを公開することができた。独自ドメインの設定方法やWebサイトのSSL化についてはまた別途メモしておく。

参考文献

ネコでもわかる!さくらのVPS講座 ~第三回「Apacheをインストールしよう」 | さくらのナレッジ


Copyright (c) 2024 kd