GNU/Linux >> Linux の 問題 >  >> OpenSuse

OpenSUSE Leap 15.3にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

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アクセス
  • インターネットアクセス

目次

  1. サーバーが最新であることを確認する
  2. OpenSUSELeap15.3へのPHPのインストール
  3. OpenSUSELeap15.3へのApacheのインストール
  4. 仮想ホストの構成
  5. 仮想ホスト構成のテスト

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を設定することができました。


OpenSuse
  1. OpenSUSE Leap 15.3でLAMP(PHP、Apache、Mariadb)を使用してOpencartをセットアップする方法

  2. Nginxをプロキシとしてインストールおよび設定する方法OpenSUSELeap15.3

  3. OpenSUSELeap15.3にMariadb10をインストールして構成する方法

  1. Rocky Linux / Centos 8にApacheとPHP(LAMPスタック)をインストールする方法

  2. OpenSUSELeap15.3でPodmanをインストールして使用する方法

  3. OpenSUSE Leap 15.3にPHPとNginx(LEMP)をインストールしてセットアップする方法

  1. Ubuntu 20.04にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

  2. Debian 11にPHPとApache(LAMPスタック)をインストールしてセットアップする方法

  3. Debian WheezyでLAMP(Linux、Apache、MariaDB、PHP)スタックを設定する方法