Apache HTTPサーバー(Apache)は、Apache License 2.0の条件の下でリリースされた、最も人気のある無料のオープンソースクロスプラットフォームWebサーバーソフトウェアの1つです。 ApacheはLAMPセットアップの一部として人気があり、頭字語のAです。 Apacheサーバーの機能は、利用可能な多くのモジュールで拡張できます。
PHPは、Web開発を対象とした汎用スクリプト言語です。これは、Webで人気のあるプログラミング言語の1つです。 WordPressなどの人気のあるツールはphpを使用してコーディングされています。 Facebookのような大企業もphpを多用しています。
関連コンテンツ:
- OpenSUSE Leap 15.3にPHPとNginx(LEMP)をインストールしてセットアップする方法
- Rocky Linux /Centos8にApachePHP7.4(LAMP)スタックをインストールする方法
- Ubuntu 20.04にPHPとApache(LAMPスタック)をインストールしてセットアップする方法
- Ubuntu 20.04にPHPとNginx(LEMP)をインストールしてセットアップする方法
- Debian 11にPHPとApache(LAMPスタック)をインストールしてセットアップする方法
- Debian 11にPHPとNginx(LEMP)をインストールしてセットアップする方法
- Rocky Linux / Alma Linux 8にPHPとNginx(LEMP)をインストールしてセットアップする方法
前提条件
このガイドに従うには、次のものがあることを確認してください。
- 更新されたOpenSUSELeap15.3サーバー
- サーバーまたはsudoアクセス権を持つユーザーへのrootアクセス
- インターネットアクセス
目次
- サーバーが最新であることを確認する
- OpenSUSELeap15.3へのPHPのインストール
- OpenSUSELeap15.3へのApacheのインストール
- 仮想ホストの構成
- 仮想ホスト構成のテスト
1。サーバーが最新であることを確認する
先に進む前に、サーバーが最新であることを確認することをお勧めします。これを実現するには、これらのコマンドを使用してください
sudo zypper refresh
sudo zypper update -y
2。 OpenSUSELeap15.3へのPHPのインストール
PHPは、デフォルトのOpenSUSEリポジトリで利用できます。このブログを書いている時点でのPHPの最新バージョンはPHP7.4です。
次のコマンドを使用して、PHPといくつかの一般的なパッケージをインストールします。
sudo zypper install -y \
php \
php-cli \
php-gd \
php-mbstring
インストールされているPHPのバージョンを確認してください
~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...
Information for package php7:
-----------------------------
Repository : Update repository with updates from SUSE Linux Enterprise 15
Name : php7
Version : 7.4.6-3.29.1
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed : Yes
Status : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary : Interpreter for the PHP scripting language version 7
Description :
PHP is a server-side HTML embedded scripting language designed
primarily for web development but also used as a general-purpose
programming language.
This package contains the standard implementation of PHP, namely Zend
PHP. Included are the PHP command-line binary and the configuration
file (php.ini). This package must be installed in order to use PHP.
Additionally, extension modules and server modules (e.g. for Apache)
may be installed.
Additional documentation is available in package php-doc.
次のコマンドを使用して、インストールされているphpのバージョンを確認します。
~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
3。 OpenSUSELeap15.3へのApacheのインストール
Apacheパッケージは、デフォルトのOpenSUSELeap15.3リポジトリでapache2
として利用できます。 。次のコマンドを使用してインストールします:
sudo zypper install -y apache2
次のコマンドを使用して、インストールされているパッケージを確認します。
~> zypper info apache2
Loading repository data...
Reading installed packages...
Information for package apache2:
--------------------------------
Repository : Update repository with updates from SUSE Linux Enterprise 15
Name : apache2
Version : 2.4.43-3.32.1
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Installed Size : 4.3 MiB
Installed : Yes
Status : up-to-date
Source package : apache2-2.4.43-3.32.1.src
Summary : The Apache Web Server
Description :
This version of httpd is a major release of the 2.4 stable branch,
and represents the best available version of Apache HTTP Server.
New features include Loadable MPMs, major improvements to OCSP support,
mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/
Authorization, FastCGI Proxy, New Expression Parser, and a Small Object
Caching API.
See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
http://httpd.apache.org/docs-2.4/upgrading.html.
デフォルトでは、サービスは開始されません。
sudo systemctl start apache2
次のコマンドを使用してステータスを確認します:
~> sudo systemctl status apache2
● apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2021-12-22 06:58:45 UTC; 53s ago
Main PID: 27333 (httpd-prefork)
Status: "Processing requests..."
Tasks: 6
CGroup: /system.slice/apache2.service
├─27333 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27340 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27341 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27342 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27343 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
└─27344 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Starting The Apache Webserver...
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Started The Apache Webserver.
起動時にサービスを有効にするには、このコマンドを使用します
sudo systemctl enable apache2
Firefoxをインストールしてマシンで有効にしている場合は、 Apache2へのトラフィックを許可することを忘れないでください。 次のステップに進む前に、ファイアウォールを介したWebサーバー。
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload
Apacheがphpファイルを提供するために
sudo zypper install -y apache2-mod_php7
次に、php7モジュールを有効にします
sudo a2enmod php7
最後にapache2を再起動して、モジュールの追加を適用します
sudo systemctl restart apache2
4。仮想ホストの構成
Apacheを使用すると、Apacheが実行されている同じサーバー上で複数のサイトをホストすることができます。これは、サーバーがホストしているサイトをそれぞれ表す複数のドメインを使用して常に実現できます。
Apache仮想ホストはNginxサーバーブロックに似ています。各仮想ホストには、単一のホストの構成の詳細があります。必要な数の仮想ホストを持つことができます。
この例では、ドメインsite1.citizix.com
を使用します 仮想ホスト用ですが、選択したドメインを自由に使用できます。使用するドメインのDNSは、サーバーのIPアドレスを指すようにすでに構成されている必要があることに注意してください。
次のように確認してください:
dig -t A site1.citizix.com
ディレクトリとサンプルコンテンツの作成
apacheのデフォルトページは、/srv/www/htdocs
のコンテンツを提供するデフォルトの仮想ホストとして構成されています。 。 /srv/www
にサイトのディレクトリを作成することをお勧めします そこからサービスを提供するためのベストプラクティス以来、ディレクトリ。
次のコマンドを使用して、サイトのディレクトリを作成しましょう。
sudo mkdir -p /srv/www/site1.citizix.com
簡単なindex.php
を作成しましょう 当サイトから提供するページ。次のコマンドを使用しない場合、これを機能させるにはvimをインストールする必要があります:
sudo zypper install -y vim
ファイルを編集します:
sudo vim /srv/www/site1.citizix.com/index.php
ファイルにコンテンツを追加します:
<?php phpinfo(); ?>
最後に、$USER
が ユーザーがサイトディレクトリを所有している:
sudo chown -R wwwrun:wwwrun /var/www/site1.citizix.com
仮想ホストの作成
Apache仮想ホストファイルは、各サイトの構成を指定し、ApacheWebサーバーにさまざまなドメイン要求に応答する方法を指示します。
Apache構成は、ディレクトリ/etc/httpd/conf.d/
に保存されます。 。私たちのサイトの構成を作成しましょう:
sudo vim /etc/apache2/conf.d/site1.citizix.com.conf
次のコンテンツを追加します:
<VirtualHost *:80>
ServerName site1.citizix.com
ServerAlias site1.citizix.com
ServerAdmin [email protected]
DocumentRoot /srv/www/site1.citizix.com
ErrorLog /var/log/apache2/site1.citizix.com.error.log
CustomLog /var/log/apache2/site1.citizix.com.requests.log combined
<Directory "/srv/www/site1.citizix.com">
Options Indexes
AllowOverride All
Require all granted
DirectoryIndex index.php
</Directory>
</VirtualHost>
これにより、Apacheに次のように通知されます。
ServerName
およびServerAlias
–提供するホストの名前-
DocumentRoot
–公的にアクセス可能なWebドキュメントを保持するルートを直接見つける場所 -
DirectoryIndex
–サイトにアクセスしたときにapacheが提供するファイル -
ErrorLog
–このサイトのエラーログを保存する場所 -
CustomLog
–この特定のサイトのリクエストログを保存する場所
終了したらファイルを保存して閉じます
構成をテストする
~> sudo apachectl configtest
Syntax OK
次に、apache2configをリロードします
sudo systemctl reload apache2
5。仮想ホスト構成のテスト
構成をテストするには、ブラウザを開き、設定したドメインを読み込みます。私の場合はhttp://site1.citizix.com
。 PHP情報ページが表示されます。
DNS設定をまだ構成していない場合、または単にサイトを公開したくない場合は、コンピューターのhostsファイルを変更できます。これを行うには、ローカルコンピューターのCLIで次のコマンドを使用します
sudo vim /etc/hosts
次に、実際のサーバーのIPアドレスに続けて、構成しているドメイン名を追加します。例:
# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com
これで、ファイルを保存して、Webブラウザ内からアクセスできるようになります。
何かが期待どおりに機能していない場合は、これを使用して仮想ホストサーバーのログを確認できます
tail -f /var/log/apache2/site1.citizix.com.*
結論
このガイドでは、Ubuntu20.04サーバーでPHPサイトを提供するようにApacheを設定することができました。