PHP 7 のインストールとアップデート

前提条件

PHP7 のインストールは、コンソールバージョン 729 以降の rpm/deb/OUM などで行う必要があります。そうしないと、Pandora FMS は以前のバージョンで PHP5 を要求していたため、依存関係の競合が発生します。

728 から 729 のインストールの場合で、システムに PHP7 のリポジトリ設定をしている場合、コンソールのアップデート時にそのリポジトリから自動的にインストールしようとします。

php バージョン 7.2 以上をサポートしています。必要なすべての依存ファイルのインストールが必要です。

PHP 7 のインストールとアップデート

PHP 7 のインストール

CentOS

最初に、次のコマンドを用いて以前のバージョンの php がインストールされていないことを確認します。

php –v

php がインストールされていないことを確認したら、epel および remi のリポジトリから最新版をダウンロードします。

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

CentOS 6 の場合は、以下からダウンロードします。

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 
# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

次に、yum-config-manager コマンドが利用できるようにするために、yum-utils がインストールされていなければインストールします。

yum install yum-utils
yum-config-manager --enable remi-php72

最後に、php7.2 をインストールします。

yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo php-snmp php-mbstring php-pecl-zip php-xmlrpc libxslt php-xml

そして、インストールしたバージョンを確認します。

Windows

最初に、必要な PHP 7.2 をダウンロードするために、 https://windows.php.net/download/ へ行きます。この例では、VC15 x64 Thread Safe をダウンロードしています。

descargaphp7.jpg

zip ファイルをダウンロードしたら、C:\php フォルダに展開します。

フォルダが作成されたら、php.ini-productionphp.ini にコピーします。

最後に、httpd-php.conf を編集し、LoadFile and LoadModule を以下のように変更します。

PHP 7 のアップデート

CentOS

epel および remi から最新バージョンをインストールするためのリポジトリをダウンロードします。

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

CentOS 6 では、以下からダウンロードします。

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

次に、yum-config-manager コマンドが利用できるようにするために、yum-utils がインストールされていなければインストールします。

yum install yum-utils
yum-config-manager --enable remi-php72

最後に、php7.2 をインストールします。

yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo php-snmp php-mbstring php-pecl-zip php-xmlrpc libxslt php-xml

そして、インストールしたバージョンを確認します。

Pandora FMS がインストールされている場合は、PHP のバージョンが変わったので Pandora FMS コンソールを こちら に従って再インストールする必要があります。

インストール済の Pandora FMS コンソールパッケージとの不整合が表示された場合は、バージョン 729 の rpm をコピーするか、以下のコマンドを実行します。

rpm -U --force *.rpm --nodeps
php.ini

php7 へアップグレードする際、php.ini ファイルに影響がある可能性があります。php.ini ファイルに含める必要がある設定例を以下に示します。

engine = On
precision = 14
output_buffering = 4096
serialize_precision = 1
zend.enable_gc = On
expose_php = On
max_execution_time = 0
max_input_time = -1
memory_limit = 800M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_USER_WARNING
log_errors = On
log_errors_max_len = 1024
report_memleaks = On
html_errors = On
variables_order = "GPCS"
request_order = "GP"
auto_globals_jit = On
post_max_size = 800M
default_mimetype = "text/html"
default_charset = "UTF-8"
file_uploads = On
upload_max_filesize = 800M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
cli_server.color = On
pcre.jit=0
pdo_mysql.cache_size = 2000
sendmail_path = /usr/sbin/sendmail -t -i
mail.add_x_header = On

Windows

最初に、必要な PHP 7.2 をダウンロードするために、 https://windows.php.net/download/ へ行きます。この例では、VC15 x64 Thread Safe をダウンロードしています。

descargaphp7.jpg

zip ファイルをダウンロードしたら、C:\php フォルダに展開します。

descompilarphp7.jpg

次に、C:\PandoraFMS\php フォルダを php_versionActual にリネームし、作成した新たな php フォルダをコピーします。

php フォルダ内の php.ini-productionphp.ini にコピーします。

このステップを完了する前に、libsals.dll を Aapache フォルダの C:\PandoraFMS\Apache\bin にコピーします。

Pandora FMS が正しく動作するためには、Microsoft Visual C++ 2015: https://www.microsoft.com/en-us/download/details.aspx?id=48145 のインストールも必要です。

最後に、httpd-php.conf ファイルを編集し、LoadFile and LoadModule を以下のように変更します。

Ubuntu

php7 へアップグレードするには、以下のコマンドを用いてリポジトリを追加する必要があります。

sudo add-apt-repository ppa:ondrej/php 

完了したら、インストールするためにアップデートを実行する必要があります。

sudo apt-get update

apache のパッケージが正しくインストールされていることを確認し、apache が新しいバージョンで実行できるようにするために、次のコマンドを実行します。

sudo apt-get install php7.2

残りの依存ファイルに関しても同様です。

sudo apt-get install php7.2-mysql php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-ldap php7.2-mbstring php7.2-opcache php7.2-readline php7.2-snmp php7.2-xml php7.2-xmlrpc php7.2-zip

両方のバージョンの php を管理している場合は、古いバージョンの php を無効にして、新しいバージョンの php7 を有効にする必要があります。 その後、Apacheサービスを再起動する必要があります。

a2dismod php5.6
a2enmod php7.0
service apache2 restart

Suse

Suse または Opensuse の古いバージョンでは、php7 パッケージは存在しません。

php 7 をインストールするには、次のコマンドを実行します。

sudo zypper install php7 php7-mysql apache2-mod_php7

インストールしたら、php7 モジュールを有効化し apache サーバを再起動する必要があります。

 sudo a2enmod php7
 sudo systemctl restart apache2

CentOS におけるオフラインでの対応

Pandora FMS ISO からインストールした環境がインターネットへアクセスできない場合や、セキュリティポリシーでサードパーティリポジトリからインストールできない場合向けに、バージョン 729 と php のアップデートに必要な rpm パッケージを提供する公式サポートウェブサイトを提供しています(Enterprise 版ユーザのみ)。

この場合のアップデート方法は次の通りです。

1.- 我々のサポートサイトから RPM の入った tar.gz ファイルをダウンロード (RPM は、CentOS 6 x86、CentOS 6 x64、CentOS 7 x64 に対応しています)

2.- tar.gz を任意のディレクトリに展開します。

tar xvzf rpm-php7-centos7.tar.gz 

3.- 展開したディレクトリへ行き、パッケージをアップデートするコマンドを実行します

 cd rpm-centos7-php7
 rpm -U --force *.rpm

インストールされている Pandora FMS コンソールパッケージとの互換性がないという表示された場合は、バージョン 729 の rpm をこのディレクトリにコピーするか、次のコマンドを実行してください。

rpm -U --force *.rpm --nodeps