CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
Arch Linuxは、人気のあるディストリビューションよりも小さいながらも強力です。その哲学は長所と短所があり、かなり異なります。
Archでは、ユーザーは自分自身でより多くのことを行う必要があります。ArchにはGUIインストールはありませんが、このガイドではVultrサーバーで実行される基本的なArchインストールを取得します。Archがすべてを自動的に構成するわけではありませんが、その方法を選択できます。複数の方法があるため、これは特に有益です。Archはデスクトップ環境を含む大量のパッケージをインストールしません。代わりに、システムで必要なものを選択し、使用しない多数のパッケージを除外することができます。
Archリポジトリは、元の上流開発者によって作成されたパッケージを残すことを強く支持しています。他のディストリビューションのパッケージで問題が発生した場合、原因となっている可能性のある変更を行うことが多いため、アップストリームのメンテナがディストリビューションを紹介することがよくあります。Archで起こることはめったにないので、行われた変更は通常以下に限定されます。主要なアップストリームのバグ修正と、それらを含む次のアップストリームリリースが作成されるまで一時的に使用されるセキュリティバックポート。とは言っても、他の一部のディストリビューションは、ディストリビューションがアップストリームに送信するのを邪魔しなかった、またはアップストリームの開発者が受け入れなかった機能とバグ修正をパッケージに追加することがあり、本当に必要でない限り、これらの追加パッチはArchパッケージに追加されません。
Archは「ローリングリリース」として動作します。全体として、Archのバージョンやリリースサイクルはありません。Trusted Archパッケージのメンテナは、新しいアップストリームリリースをArchのリポジトリに提出します。ユーザーは定期的にすべてのパッケージを最新のものに更新します。一部のユーザーは毎日更新し、一部は毎週更新し、一部はさらに頻度を下げています。Archユーザーは、他のディストリビューションで数カ月または数年前のバージョンを実行する代わりに、最新リリースを実行する利点を享受できますが、新しいリリースが作成される前にアップストリームテストで検出さ���なかった問題が発生する可能性もあります。
Archは他の多くのディストリビューションよりも高度で技術的に厳しいディストリビューションと考えられています。Linuxをまったく知らない人でもArchを使用できますが、彼または彼女は多くの学習をする準備ができていて、熱心でなければなりません。Archコミュニティは非常に役に立ちますが、ユーザーがすぐに他の人に助けを求めるのではなく、問題を修正する方法を探す努力をすることが期待されます。
Archは、Vultrに新しいサーバーをデプロイするときにリストされる「サーバータイプ」ではありませんが、Arch ISOを簡単に起動して、自分でサーバーをインストールできます。
Archは毎月初めに新しいISOをリリースします。Vultrの最新のArch ISOが今月のものでない場合は、最新のものを手動でVultrにアップロードして、代わりにそれを使用できます。Arch ISOを使用してハードドライブにインストールすると、すべてのパッケージの最新バージョンがArchのサーバーから取得されます。Arch ISOのパッケージのバージョンは、サーバーにインストールされているものではありません。したがって、インストールプロセスに影響するISOライブラリのVultrの最新のArch ISOに含まれていないバグ修正または機能がない限り、手動で最新のものをアップロードする必要はありません。
[新しいサーバーのデプロイ]を選択した後、[サーバーの種類]で[ISOライブラリ]タブに切り替え、最新のArch Linux ISOを選択します。
最新のISOを取得するには、https://www.archlinux.org/download/にアクセスし、HTTP直接ダウンロードリンクの1つをクリックします。次のページで、リンクを「.iso
」ファイルにコピーします。Vultr ISOアップロードエリア(https://my.vultr.com/iso/)にアクセスします。[ISOを追加]をクリックし、コピーしたリンクを貼り付けて、[アップロード]をクリックします。ページが自動的に更新され、ダウンロードの進行状況が表示されます。数分後、ISOが利用可能であることが表示されます。[Deploy New Server]を選択し、[Server Type]で[Upload ISO]タブに切り替えて、ISOを選択します。
新しいサーバーをデプロイした後、それをクリックして「サーバー情報」ページを表示します。(サーバーがまだインストールを終了している可能性があるというメッセージが表示された場合は、サーバーがISOから起動されている可能性が高いため、これを無視できます。)右上のコンピューターモニターのようなアイコンをクリックします。ホバーに「View Console」が表示されます。
ENTER「Boot Arch Linux (x86_64)
」を押すと、すぐにrootとしてログインします。(コンソール全体を表示するには、ウィンドウのサイズを変更する必要がある場合があります。)
ISOはDHCPを使用してネットワークを自動的に構成します。これはVultrのセットアップで適切に機能します。これが機能したことを確認します。
# ping -c 1 archlinux.org
システムクロックが正確であることを確認します。
# timedatectl set-ntp true
Archのサーバー上のパッケージは、ISO上のパッケージよりも新しい暗号化キーで署名できるため、最新の信頼できるキーセットに更新してください。
# pacman -Sy archlinux-keyring
検出されたブロックデバイスを表示します。
# lsblk
ISO CDは可能性が高くなりますsr0
し、loop0
ISOの一部を実装するために使用されています。このチュートリアルでは、ハードドライブが1台の標準Vultrサーバーを選択していることを前提としているため、ハードドライブがであることも前提としていますvda
。これは、Vultr標準サーバーがQEMU virtio_blk
を使用して仮想ハードドライブを提供し、パフォーマンスを向上させるためです。
ディスクをパーティション化します。
# fdisk /dev/vda
スワップパーティションが必要かどうかをすぐに判断する必要があります。よくわからない場合は、「スワップスペースの作成」というタイトルのセクションを先に読んでおくと便利です。
注:DOSパーティションテーブルの代わりにGPTを使用する場合は、GRUB用に1MBのBIOSブートパーティションを作成する必要があります。
を押しNてからENTER5回押して、最大サイズの単一のパーティションを作成します。W次にを押しENTERて、パーティションテーブルを書き込みます。システムパーティションは/dev/vda1
です。
4回N続けて押しENTERます。次に+<SIZE>
(例:)と入力し+512M
、次にENTERswapパーティションを作成します。押してT、ENTERし、入力82
、およびENTER再びスワップパーティションとしてそれをマークします。押して、N続いENTERてシステムパーティションを作成するために、5回。押してW、その後、ENTERパーティションテーブルを書き込むように。システムパーティションは/dev/vda2
です。
Btrfsはコピーオンライトに基づいています。変更されたデータが書き込まれるとき、他のファイルシステムのように元のデータを上書きするために単に書き込まれるのではありません。変更されたブロックは別の場所に書き込まれ、書き込みが成功した後にのみ、これらの新しいブロックへの「ポインタ」が更新されます。これによりフォールトトレランスが向上するため、書き込み中に問題が発生しても、元のデータは失われません。ファイルシステムが提供するスナップショットを許可します。裏側では、破損したデータを自動的に検出し、場合によってはサイレントで修正するために、各ブロックのチェックサムを維持しています。Btrfsを使用すると、オフラインである必要がある他のほとんどのファイルシステムと比較して、マウントされて使用されている間にほとんどのファイルシステムレベルの変更を実行できます。Btrfsは開発中にいくつかのバンプがありましたが、Archは最新のカーネルを実行するため、
# mkfs.btrfs --label arch <SYSTEM_PARTITION>
Ext4は最新のファイルシステム機能を備えておらず、最高のパフォーマンスを発揮しませんが、2008年から存在し、2001年から存在するext3に基づいています。そのコードベースはかなり安定しているため、新しいファイルシステムよりも安定していますが、他のファイルシステムが長年にわたって成熟してきたため、この議論の関連性は低くなっています。
# mkfs.ext4 -L arch <SYSTEM_PARTITION>
XFSは並列IOを中心に設計されており、スケーラビリティに重点を置いています。これは、ext4よりも優れたパフォーマンスを提供し、状況に応じて、btrfsと比較してわずかに良いまたはわずかに悪いパフォーマンスを提供します。XFSはコピーオンライトを使用せず、データ自体ではなくメタデータのチェックサムのみを維持します。
# mkfs.xfs -L arch <SYSTEM_PARTITION>
次のコマンドを使用して、ファイルシステムをマウントします。
# mount /dev/disk/by-label/arch /mnt
スワップスペースは厳密には必要ありません。1 GBのメモリと1 GBのスワップスペースよりも、2 GBのメモリとスワップスペースなしで実行した方がよいでしょう。スワップスペースは、システムとそのすべてのプログラムに必要な実際のメモリよりも少ない実際のメモリで問題を解決します。カーネルはプロセスを強制終了することにより自動的にメモリを解放しようとするため、Linuxでのメモリ不足は回避する必要があります。
スワップ領域なしで実行する場合は、このセクションの残りをスキップできます。
スワップ空間で実行する場合は、スワップパーティションまたはスワップファイルを使用できます。スワップパーティションには、ファイルシステムの影響を受けないという利点があるため、ファイルシステムが一時的に問題を起こしても、断片化したり、拘束されたりすることはありません。スワップファイルには、簡単にサイズ変更したり、必要に応じて削除したり追加したりできるという利点があります。
注:btrfsは、Linux 5.0以降でスワップファイルのみをサポートすることが期待されており、2019年の初めから中頃に予定されています。
# mkswap /dev/vda1
# swapon /dev/vda1
# dd if=/dev/zero of=/mnt/swapfile bs=1M count=<SIZE IN MB> status=progress
# chmod 600 /mnt/swapfile
# mkswap /mnt/swapfile
# swapon /mnt/swapfile
次のコマンドを使用します。
# pacstrap /mnt base linux linux-firmware --noconfirm
linux-lts
、linux-mainline
またはこのリストから別のカーネルのLinuxパッケージ用。btrfs-progs
パッケージをインストールします。これにより、Archがすべてのシステムにインストールされると想定している最小限のパッケージがインストールされました。ISOには、「ベース」グループよりも多くのパッケージが含まれていることに注意してください。基本グループは約1.4GBしか使用しません。
あなたが気づくことに注意してくださいWARNING: Possibly missing firmware for module: aic94xx
とwd719x
。これらは無視できます。
/etc/fstab
ファイルを自動的に生成します(ファイルシステムを自動的にマウントします)。
# genfstab -L /mnt >> /mnt/etc/fstab
これでrootを新しいインストールに変更できます。これは基本的に、新しいインストールをと/mnt/
同じように扱います/
。chroot環境では、ISOファイルシステムがハードドライブ内に表示されないため、ISOではなくハードドライブにインストールされているプログラムを実行します。
# arch-chroot /mnt
システムはUTCを使用して内部的に時刻を追跡しますが、日付と時刻を表示するときに使用するタイムゾーンを選択できます。使用するリージョンを決定します。
# ls /usr/share/zoneinfo
を使用すると仮定してAmerica
、使用する都市を決定します。
# ls /usr/share/zoneinfo/America
を使用すると仮定してNew_York
、そのタイムゾーンを選択します。
# ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# hwclock --systohc
UTF-8ロケールを選択します。
# sed 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' -i /etc/locale.gen
# locale-gen
# echo 'LANG=en_US.UTF-8' > /etc/locale.conf
Vultrサーバーでネットワークを構成する最も簡単な方法は、DHCPを使用することです。VultrのDHCPサーバーは引き続きパブリック静的IPアドレスを提供します。
検出されたネットワークデバイスを表示します。
# ip addr
ループバックデバイスにはラベルが付いていlo
ます。Vultrサーバーでは、ネットワークデバイスはと表示されens3
ます。
# cat <<EOF > /etc/systemd/network/ens3.network
> [Match]
> Name=ens3
>
> [Network]
> DHCP=ipv4
> EOF
起動時にDHCPが自動的に実行されるようにします。
# systemctl enable systemd-networkd
起動時にDNS解決が自動的に実行されるようにします。
# systemctl enable systemd-resolved
に/etc/resolv.conf
転送リクエストを行いsystemd-resolved
ます。
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
サーバーのホスト名を設定します。
# echo '<YOUR_HOSTNAME>' > /etc/hostname
選択したホスト名と、<YOUR_STATIC_IP>
を実行したときに表示される場所の代わりに静的IPアドレスをip addr
使用し���、hostsファイルを設定します。
$ cat <<EOF > /etc/hosts
> <YOUR_STATIC_IP> localhost
> ::1 localhost
> <YOUR_STATIC_IP> <YOUR_HOSTNAME>.localdomain <YOUR_HOSTNAME>
> EOF
次のコマンドを使用してパスワードを設定します。新しいパスワードを2回入力するように求められます。
# passwd
grubパッケージをインストールしてください。
# pacman -S grub
それをハードドライブにインストールします。
# grub-install --target=i386-pc /dev/vda
注:引数はディスク自体であり、システムパーティションではありません。
起動時のデフォルトでは、grubはデフォルトのオプションを選択する前に5秒間待機します。この待機を無効にするには、以下を使用します。
# sed 's/^GRUB_TIMEOUT=5$/GRUB_TIMEOUT=0/' -i /etc/default/grub
注:grubブートメニューへのアクセスが必要な場合は、これを0ではなく1秒に設定することをお勧めします。
デフォルトでは、grubはカーネルに次のquiet
オプションを提供しますsystemd
。以下を使用して、起動およびシャットダウンのメッセージを表示します。
# sed 's/^GRUB_CMDLINE_LINUX_DEFAULT="quiet"$/GRUB_CMDLINE_LINUX_DEFAULT=""/' -i /etc/default/grub
GRUB構成を作成します。
# grub-mkconfig -o /boot/grub/grub.cfg
chroot環境を終了します。
# exit
サーバーの電源を切ります。
# systemctl poweroff
サーバーのVultrの「サーバー情報」ページに戻ります。[設定]タブで、[カスタムISO]、[ISOの削除]の順にクリックします。「サーバーの再起動」アイコンをクリックして、「コンソールの表示」をクリックします。
以前に選択したパスワードを使用して、rootとしてログインします。
をインストールしますsudo
。
# pacman -S sudo
グループのメンバーにのwheel
使用を許可しますsudo
。
# cp /etc/sudoers /etc/sudoers.new
# sed 's/# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' -i /etc/sudoers.new
# visudo -c -f /etc/sudoers.new && mv /etc/sudoers.new /etc/sudoers
ユーザーアカウントを作成します。
# useradd --create-home --groups wheel <USERNAME>
ユーザーのパスワードを設定します。
# passwd <USERNAME>
rootとしてログアウトします。
# exit
新しく作成したユーザーとしてログインします。
以下のコマンドは引き続きrootとして実行する必要があるため、プレフィックスは引き続き#
です。rootとしてコマンドを実行するための推奨される方法は、通常のユーザーとして、各コマンドの前にを付けることsudo
です。を実行するsudo
と、求められるパスワードはユーザーのパスワードであり、rootのパスワードではありません。
大まかな精度を持つ軽量の時刻同期クライアントの場合は、以下を使用します。
# systemctl enable --now systemd-timesyncd
精度を高めたい場合。
# pacman -S ntp
# systemctl enable --now ntpd
SSHサーバーをインストールすると、Vultrの仮想コンソールを使用する代わりに、SSHを使用してArchシステムに接続できます。
# pacman -S openssh
# sed 's/#Port 22/Port 22/' -i /etc/ssh/sshd_config
# systemctl enable --now sshd
この時点で、仮想コンソールを閉じて、SSHで接続できます。デフォルトでは、sshdはrootとしてログインすることを許可しないことに注意してください。
Archは「ローリングリリース」であるため、インストールしたすべてのパッケージをいつでもアップグレードできます。ユーザーは自分のスケジュール、毎日、毎週などでアップグレードできます。頻繁にアップグレードする場合、一度にアップグレードする必要のあるパッケージはそれほど多くないため、発生する可能性のある潜在的な問題を特定するのは簡単です。次のコマンドのように、すべてのパッケージを一度にアップグレードすることが重要です。「glibc」のようなものを、それを使用するプログラムなしで単独でアップグレードすると問題が発生する理由は容易に想像できます。
# pacman -Syu
アップグレード後、出力されたメッセージを確認することが重要です。やらなければならないことがあると教えてくれるかもしれません。このため、自動アップグレードを設定しないでください。
アップグレード前に実行中のプログラムは、再起動するまで新しいバージョンにはなりません。その場合、Linuxカーネル、glibc、systemdなど、単に再起動できないだけの基本的なものが更新された場合は、再起動することをお勧めします。
起動およびシャットダウンの成功メッセージを表示するには、quiet
上記のカーネルパラメータをGRUB構成から削除する必要があります。(そうしなかった場合でも、GRUB構成を再作成することで、今でも実行できます。)これらのメッセージは、SSHセッションではなく、Vultrの仮想コンソールを通じてのみ表示されることに注意してください。ブートプロセスの途中で、システムはKMS(カーネルモード設定のグラフィックモード)に切り替わり、それまでにメッセージが失われます。すべてのメッセージを保持するために、切り替えをより早くKMSに変更することができます。
# sed 's/^MODULES=()$/MODULES=(cirrus)/' -i /etc/mkinitcpio.conf
# mkinitcpio -p linux
デフォルトでは、システムが起動してttyが初期化されると、画面がクリアされます。見た目は良いですが、起動中にメッセージを単純に見ることができません。この動作をオフにすることができます。
# mkdir /etc/systemd/system/[email protected]
出力sudo cat
をリダイレクトすることはroot権限を使用しないので、これはそれを回避する方法です。(cat
コマンド自体の前にsudo を付ける必要はないため、前にを付けます$
)
$ cat <<EOF | sudo tee /etc/systemd/system/[email protected]/noclear.conf
> [Service]
> TTYVTDisallocate=no
> EOF
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。