GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にCaddyWebサーバーをインストールする方法

このチュートリアルでは、CentOS7にCaddyWebサーバーをインストールする方法を示します。知らなかった人のために、CaddyWebサーバーはオープンソースです。 Go。Caddyで記述されたセキュリティ重視のWebサーバーには、仮想ホストのサポート、静的ファイルの縮小、HTTP/2などの最新機能が含まれています。

この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudoを追加する必要があります。 ルート権限を取得するコマンドに‘。 CentOS7サーバーへのCaddyWebサーバーのインストール手順を説明します。

前提条件

  • 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOS7。
  • 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
  • サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
  • non-root sudo user またはroot userへのアクセス 。 non-root sudo userとして行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。

キャディー機能

  • 自動HTTPS。
  • 簡単な導入。
  • マルチコア。
  • WebSocket。
  • 書き換えとリダイレクト。
  • 仮想ホスト。

CentOS7にCaddyWebサーバーをインストールする

ステップ1.まず、システムが最新であることを確認することから始めましょう。

yum clean all
yum -y update

ステップ2.CentOS7にCaddyWebサーバーをインストールします。

Caddyのインストールは、次のコマンドを実行するだけですばやく簡単に行えます。

curl https://getcaddy.com | bash

スクリプトが終了したら、次のコマンドを実行して、Caddyのバイナリファイルがどこにあるかを確認できます。

which caddy

出力は次のようになります:

/usr/local/bin/caddy

ステップ3.必要なディレクトリを設定します。

次に、Caddy構成ファイルのCaddyfileとSSL証明書を保存するディレクトリを作成します。

mkdir /etc/caddy
chown -R root:caddy /etc/caddy
touch /etc/caddy/Caddyfile
mkdir /etc/ssl/caddy
chown -R caddy:root /etc/ssl/caddy
chmod 0770 /etc/ssl/caddy
mkdir /var/www
chown caddy:caddy /var/www

ステップ4.システムサービスとしてのCaddyのインストール。

新しいSystemD構成スクリプトも作成する必要があります:

cd /etc/systemd/system/
nano caddy.service

次の行を追加します:

[Unit]
Description=Caddy HTTP/2 web server
Documentation=https://caddyserver.com/docs
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5

; User and group the process will run as.
User=caddy
Group=caddy

; Letsencrypt-issued certificates will be written to this directory.
Environment=CADDYPATH=/etc/ssl/caddy

; Always set "-root" to something safe in case it gets forgotten in the Caddyfile.
ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/var/tmp
ExecReload=/bin/kill -USR1 $MAINPID

; Limit the number of file descriptors; see `man systemd.exec` for more limit settings.
LimitNOFILE=1048576
; Unmodified caddy is not expected to use more than that.
LimitNPROC=64

; Use private /tmp and /var/tmp, which are discarded after caddy stops.
PrivateTmp=true
; Use a minimal /dev
PrivateDevices=true
; Hide /home, /root, and /run/user. Nobody will steal your SSH-keys.
ProtectHome=true
; Make /usr, /boot, /etc and possibly some more folders read-only.
ProtectSystem=full
; … except /etc/ssl/caddy, because we want Letsencrypt-certificates there.
;   This merely retains r/w access rights, it does not add any new. Must still be writable on the host!
ReadWriteDirectories=/etc/ssl/caddy

; The following additional security directives only work with systemd v229 or later.
; They further retrict privileges that can be gained by caddy. Uncomment if you like.
; Note that you may have to add capabilities required by any plugins in use.
;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
;AmbientCapabilities=CAP_NET_BIND_SERVICE
;NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

所有者と権限を設定します:

chown root:root /etc/systemd/system/caddy.service
chmod 644 /etc/systemd/system/caddy.service

最後に、次のコマンドを実行して、Caddyが起動時に実行できるようにします。

systemctl enable caddy
systemctl start caddy

ステップ5.テストWebページとキャディファイルを作成します。

テストの目的で、テストHTMLファイルを作成します:

mkdir -p /var/www/my-domain.com
echo "Caddy" > /var/www/idroot.us/index.html
chown -R www-data: /var/www/my-domain.com

次に、ドメインをCaddy構成ファイルに追加します:

nano /etc/caddy/Caddyfile

次の行を追加します:

my-domain.com {
    root /var/www/idroot.us
}

ファイルを保存してエディターを終了します。変更を適用するには、Caddyを再起動します:

systemctl restart caddy.service

これで、Webブラウザーを使用して、https://my-domain.comにアクセスするだけです。 、テストページが表示されます!

おめでとうございます!Caddyが正常にインストールされました。CentOS7システムにCaddy Webサーバーをインストールするためにこのチュートリアルを使用していただきありがとうございます。追加のヘルプや役立つ情報については、公式のCaddyWebを確認することをお勧めします。サーバーのWebサイト。


Cent OS
  1. CentOS7にApacheWebサーバーをインストールする方法

  2. CentOS8にTeamspeak3サーバーをインストールする方法

  3. Centos8にApacheWebサーバーをインストールする方法

  1. CentOS7にMinecraftサーバーをインストールする方法

  2. CentOS8にNginxをインストールする方法

  3. CentOS8にPostgreSQLをインストールする方法

  1. CentOS8にMariaDBをインストールする方法

  2. CentOS7にLiteSpeedWebサーバーをインストールする方法

  3. CentOS7にFreeIPAサーバーをインストールする方法