CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
ProcessWire CMS 3.0は、シンプルで柔軟かつ強力な無料のオープンソースコンテンツ管理システム(CMS)です。ProcessWire CMS 3.0は、使いやすいjQueryスタイルAPI、完全にモジュール化されたプラグインアーキテクチャ、柔軟で強力なテンプレートシステムを備えており、デザイナー、開発者、エンドユーザーに等しく満足のいくユーザーエクスペリエンスを提供します。
このチュートリアルでは、Apache Webサーバー、PHP 7.1、およびMariaDBデータベースを使用して、CentOS 7 LAMP VPSにProcessWire CMS 3.0をインストールします。
新しいsudo
ユーザーを追加することから始めます。
まず、次のようにサーバーにログインしますroot
。
ssh root@YOUR_VULTR_IP_ADDRESS
という新しいユーザーuser1
(または任意のユーザー名)を追加します。
useradd user1
次に、user1
ユーザーのパスワードを設定します。
passwd user1
プロンプトが表示されたら、安全で覚えやすいパスワードを入力します。
/etc/sudoers
ファイルをチェックして、sudoers
グループが有効になっていることを確認します。
visudo
次のようなセクションを探します。
%wheel ALL=(ALL) ALL
この行は、wheel
グループのメンバーであるユーザーがsudo
コマンドを使用してroot
特権を取得できることを示しています。単にファイルを終了できるように、デフォルトではコメント化されていません。
次にuser1
、wheel
グループに追加する必要があります。
usermod -aG wheel user1
user1
グループメンバーシップを確認し、usermod
コマンドが次のコマンドで機能することを確認できますgroups
。
groups user1
su
次のコマンドを使用して、新しいsudoユーザーuser1
アカウントに切り替えます。
su - user1
コマンドプロンプトが更新され、user1
アカウントにログインしていることが示されます。これは次のwhoami
コマンドで確認できます。
whoami
次に、sshd
サービスを再起動して、ssh
作成した新しい非root sudoユーザーアカウントでログインできるようにします。
sudo systemctl restart sshd
user1
アカウントを終了します。
exit
root
アカウントを終了します(ssh
セッションが切断されます):
exit
これでssh
、新しい非root sudoユーザーuser1
アカウントを使用して、ローカルホストからサーバーインスタンスにアクセスできます。
ssh user1@YOUR_VULTR_IP_ADDRESS
sudo
毎回パスワードを入力せずに実行したい場合は/etc/sudoers
、次を使用してファイルを再度開きますvisudo
。
sudo visudo
wheel
グループのセクションを編集して、次のようにします。
%wheel ALL=(ALL) NOPASSWD: ALL
注: sudoユーザーのパスワード要件を無効にすることはお勧めしませんが、特に長いシステム管理セッション中にサーバー構成をより便利にし、不満を少なくすることができるため、ここに含まれています。セキュリティへの影響が懸念される場合は、管理タスクを完了した後、いつでも構成の変更を元に戻すことができます。
あなたがにログインするたびにroot
内からユーザーアカウントsudo
ユーザーアカウントは、次のいずれかのコマンドを使用することができます。
sudo -i
sudo su -
を入力するだけで、いつでもroot
アカウントを終了してsudo
ユーザーアカウントに戻ることができますexit
。
CentOSサ���バーインスタンスにパッケージをインストールする前に、まずシステムを更新します。
root以外のsudoユーザーを使用してサーバーにログインしていることを確認し、次のコマンドを実行します。
sudo yum -y update
Apache Webサーバーをインストールします。
sudo yum -y install httpd
次のsystemctl
コマンドを使用して、Apacheを起動し、起動時に自動的に実行できるようにします。
sudo systemctl enable httpd
sudo systemctl start httpd
Apache構成ファイルをチェックして、DocumentRoot
ディレクティブが正しいディレクトリを指していることを確認します。
sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot
設定オプションは、次のようになります。
DocumentRoot "/var/www/html"
では、mod_rewrite
Apacheモジュールがロードされていることを確認しましょう。これを行うには、Apacheベースモジュール構成ファイルで「mod_rewrite
」という用語を検索します。
ファイルを開きます。
sudo vi /etc/httpd/conf.modules.d/00-base.conf
用語を検索しmod_rewrite
ます。
場合はmod_rewrite
Apacheモジュールがロードされている、あなたはこのように見ている設定行を見つけます。
LoadModule rewrite_module modules/mod_rewrite.so
上記の行がセミコロンで始まる場合は、セミコロンを削除して、行のコメントを解除してモジュールをロードする必要があります。もちろん、これは他の必要なApacheモジュールにも当てはまります。
mod_rewrite
次に、ProcessWire CMSで正しく機能するように、Apacheのデフォルトの構成ファイルを編集する必要があります。
ファイルを開きます。
sudo vi /etc/httpd/conf/httpd.conf
次に、で始まるセクションを見つけて<Directory "/var/www/html">
、に変更AllowOverride none
しAllowOverride All
ます。最終結果(すべてのコメントが削除された)は次のようになります。
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
次に、Apache構成ファイルを保存して閉じます。
このチュートリアルの終わりにApacheを再起動しますが、インストールと構成中にApacheを定期的に再起動するのは確かに良い習慣です。今すぐ実行しましょう。
sudo systemctl restart httpd
デフォルトでブロックされるため、ここでデフォルトHTTP
とHTTPS
ポートを開く必要がありfirewalld
ます。
ファイアウォールポートを開きます。
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
ファイアウォールをリロードして変更を適用します。
sudo firewall-cmd --reload
success
ファイアウォール設定コマンドが成功するたびに、端末に単語が表示されます。
HTTP
ブラウザでサーバーインスタンスのIPアドレスまたはドメインにアクセスすることにより、Apache ポートが開いていることをすばやく確認できます。
http://YOUR_VULTR_IP_ADDRESS/
ブラウザにデフォルトのApache Webページが表示されます。
SELinuxは「Security Enhanced Linux」の略です。これは、ユーザーおよび管理者がアクセス制御をより詳細に制御できるようにするLinuxのセキュリティー強化です。Vultr CentOS 7インスタンスではデフォルトで無効になっていますが、クリーンインストールから開始しておらず、以前に有効になっていた場合に備えて、無効にする手順について説明します。
ProcessWire CMSでのファイル権限の問題を回避するには、SELinuxが無効になっていることを確認する必要があります。
まず、次のsestatus
コマンドでSELinuxが有効か無効かを確認します。
sudo sestatus
次のようなメッセージが表示された場合SELinux status: disabled
は、無効になっているので、次のステップに進んでください。他のメッセージが表示された場合は、このセクションを完了する必要があります。
お好みのターミナルエディターでSELinux設定ファイルを開きます。
sudo vi /etc/selinux/config
に変更SELINUX=enforcing
してSELINUX=disabled
、ファイルを保存します。
設定変更を適用するには、SELinuxでサーバーの再起動が必要になるため、Vultrコントロールパネルを使用してサーバーを再起動するか、shutdown
次のコマンドを使用できます。
sudo shutdown -r now
サーバーが再起動すると、SSHセッションが切断され、'broken pipe'
またはについて通知するメッセージが表示される場合があります'Connection closed by remote host'
。これは心配する必要はありません。20秒ほど待ってから、SSHで(独自のユーザー名とドメインを使用して)再度ログインします。
ssh user1@YOUR_DOMAIN
または(独自のユーザー名とIPアドレスを使用):
ssh user1@YOUR_VULTR_IP_ADDRESS
再度ログインしたら、sestatus
次のコマンドを使用してSELinuxのステータスを再度確認し、適切に無効化されていることを確認する必要があります。
sudo sestatus
と言うメッセージが表示されますSELinux status: disabled
。SELinux status: enabled
(または同様の)メッセージが表示された場合は、上記の手順を繰り返し、サーバーを正しく再起動する必要があります。
CentOS 7では、PHP 7.1をインストールするために外部リポジトリを追加する必要があるため、次のコマンドを実行します。
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
これで、ProcessWire CMSに必要なすべてのPHPモジュールとともにPHP 7.1をインストールできます。
sudo yum -y install php71w php71w-gd php71w-mbstring php71w-mysql php71w-xml php71w-common php71w-pdo
CentOS 7はデフォルトでMariaDBデータベースサーバーを使用します。これは、強化された完全にオープンソースのコミュニティ開発のMySQLサーバーのドロップイン代替品です。
MariaDBデータベースサーバーをインストールします。
sudo yum -y install mariadb-server
MariaDBサーバーを起動し、起動時に自動的に実行できるようにします。
sudo systemctl enable mariadb
sudo systemctl start mariadb
MariaDBサーバーのインストールを保護します。
sudo mysql_secure_installation
root
パスワードは、そう簡単にするためにプロンプトが表示されたら、Enterキーを押し、空白になりますroot
パスワード。
MariaDB / MySQL root
ユーザーを作成するように求められたら、「Y」を選択し(はいの場合)、安全なroot
パスワードを入力します。デフォルトの提案が最も安全なオプションであるため、他のすべてのはい/いいえの質問に「Y」と答えてください。
root
次のコマンドを実行して、MariaDB ユーザーとしてMariaDBシェルにログインします。
sudo mysql -u root -p
MariaDBコマンドプロンプトにアクセスするには、プロンプトが表示されたらMariaDB root
パスワードを入力するだけです。
次のクエリを実行して、ProcessWire CMSのMariaDBデータベースとデータベースユーザーを作成します。
CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
必要に応じて、データベース名pw_db
とユーザー名pw_user
を好みに合わせて置き換えることができます。(CentOS 7上のMariaDBのユーザー名のデフォルトの最大長は16文字であることに注意してください)。また、「UltraSecurePassword」を実際に安全なパスワードに置き換えてください。
現在の作業ディレクトリをデフォルトのWebディレクトリに変更します。
cd /var/www/html/
'No such file or directory'
次のようなエラーメッセージが表示される場合は、次のコマンドを試してください。
cd /var/www/ ; sudo mkdir html ; cd html
現在の作業ディレクトリは次のようになります /var/www/html/
。これはpwd
(印刷作業ディレクトリ)コマンドで確認できます。
pwd
次にwget
、ProcessWire CMSインストールパッケージをダウンロードするために使用します。
sudo wget https://github.com/processwire/processwire/archive/master.zip
注: ProcessWire CMSダウンロードページにアクセスして、最新バージョンを必ず確認してください。
現在のディレクトリを一覧表示して、ファイルが正常にダウンロードされたことを確認します。
ls -la
削除index.html
:
sudo rm index.html
すぐにインストールしunzip
て、ファイルを解凍できるようにします。
sudo yum -y install unzip
次に、zipアーカイブを解凍します。
sudo unzip master.zip
すべてのインストールファイルをWebルートディレクトリに移動します。
sudo mv processwire-master/* /var/www/html
権限の問題を回避するために、Webファイルの所有権を変更します。
sudo chown -R apache:apache * ./
Apacheを再起動します。
sudo systemctl restart httpd
次に、ブラウザーでサーバーインスタンスのIPアドレスにアクセスします。すでにVultr DNS設定を構成している場合(そして伝播するのに十分な時間が与えられている場合)、代わりにドメインにアクセスするだけです。
ProcessWire CMSのインストールページにアクセスするには、VultrインスタンスのIPアドレスをブラウザのアドレスバーに入力してから、次のように入力しますindex.php
。
http://YOUR_VULTR_IP_ADDRESS/install.php
ProcessWire CMSインストーラーには多くのオプションが含まれているので、ここに役立ついくつかのポインターがあります。
ProcessWire CMSインストールのウェルカムページで、Get Started
ボタンをクリックしてインストールプロセスを開始します。
次に、使用するインストールプロファイル(またはデモサイト)を選択し、をクリックしますContinue
。
Compatibility Check
ページが表示されます。エラーが表示される場合は、PHPモジュールが不足しているか、権限の問題がある可能性がありますContinue
。それ以外の場合は、単にをクリックします。
MySQL Database Settings
ページに次の値を入力します。
DB Name: pw_db
DB User: pw_user
DB Pass: UltraSecurePassword
DB Host: localhost
DB Port: 3306
あなたは残すことができFile Permission
、デフォルト値の設定を、またはあなたが意味を理解場合は、それらを調整することができます。
サイトの将来のホスト名を適切なセクションに入力するか、必要に応じてsite/config.php
後でファイルを編集できます。
をクリックしContinue
てデータベースを構成し、ProcessWire CMSファイルをインストールします。
次に、ご希望のを選択しますAdmin Theme
。
必要にAdmin URL
応じてを変更することも、デフォルト値のままにすることもできます。
次のように入力してくださいAdmin Login Details
:
User (a-z 0-9): <admin username>
Password: <admin password>
Password (again): <same admin password>
Email Address: <admin email address>
適切な詳細をすべて入力したら、クリックContinue
してProcessWireのインストールを完了できます。
インストールが完了したら、Login to Admin
ボタンをクリックして管理セクションにログインします。
次のような警告が表示される場合があります。
Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8â₠as needed): setlocale(LC_ALL,'en_US.UTF-8');
このエラーを修正するには、site/config.php
ファイルを編集します。
sudo vi site/config.php
ファイルの最後に適切な値を追加します。
setlocale(LC_ALL,'en_GB.utf8');
使用する値がわからない場合は、locale
次のコマンドを実行して、特定のサーバーインスタンスに適切な値のリストを見つけることができます。
locale -a
site/config.php
編集が終了したら、ファイルを保存して終了することを忘れないでください。
セキュリティ上の理由から、site/config.php
ファイルのアクセス許可を必ず変更してください。
sudo chmod 400 site/config.php
Apacheを再起動します。
sudo systemctl restart httpd
コンテンツを追加し、サイトの外観を構成する準備が整いました。サイトを構築および構成する方法の詳細については、優れたProcessWire CMSのドキュメントを確認してください。
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の未来は、日々成長を続けています。