Debian Stretch + Apache 2.4 + PHP 5.6 + PHP 7.0と仮想ホスティング

Debian Stretch + Apache 2.4 + PHP 5.6 + PHP 7.0と仮想ホスティング

私はApache 2.4がインストールされた小さなDebian 9サーバーを持っています。 PHP7.0が必要な家にNextcloudサービスを提供するために必要です。その後、かなり古いサービスを提供する必要があります(http://www.refbase.net)、PHP5.6が必要です。

私はApacheの専門家ではありません。私が望むのは、この2つのサービスを自宅で利用できるようにすることだけです。少し読んだ後、これはPHP5-FPMおよびPHP7.0-FPMサービスを使用して達成できることを理解したようです。私は以下をインストールしました:

user@server:/$ sudo systemctl status php5-fpm
[sudo] password of user: 
● php5-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php5-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-11-05 22:08:08 GMT; 3 days ago

それから:

user@server:~$ sudo systemctl status php7.0-fpm
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-11-09 16:48:14 GMT; 59min ago

私はまた以下をインストールしました:

sudo apt install libapache2-mod-fcgid
sudo a2enmod actions fcgid alias proxy_fcgi

したがって、2つの異なる仮想ホストを構成するために、/var/www/、php56、およびphp70に2つのフォルダを作成しました。

<VirtualHost *:80>
    ServerName php56.example.com
    DocumentRoot /var/www/php56
    <Directory /var/www/php56>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        # Apache 2.4.10+ can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

それから:

<VirtualHost *:80>
    ServerName php72.example.com
    DocumentRoot /var/www/php70
    <Directory /var/www/php70>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.0-fpm.sock|fcgi://localhost/"
    </FilesMatch>
</VirtualHost>

上記で作成した対応するwwwディレクトリに2つのファイルを作成しました。

echo "<?php phpinfo(); ?>" > /var/www/php56/index.php
echo "<?php phpinfo(); ?>" > /var/www/php70/index.php

両方の仮想サイトがアクティブになっていますが、テストに行ったときに両方ともPHP 7.0が有効になっているとマークされました。 /var/run/php/フォルダを確認すると、7.0 FPM sockファイルとpidファイルのみが表示されます。

代替アップデートPHP7.0はデフォルトで有効になっています。

両方のサービスを実行できるように両方のPHPバージョンを提供する方法についての手がかりはありますか?

ありがとう

ベストアンサー1

おすすめ記事