PowerCMS 7のインストール(その1)
PowerCMS 7のインストール方法について記載します。
インストールディレクトリは以下のようになります。
| WEBパス |
ディレクトリ |
| /mt |
/var/www/mt |
| / |
/var/www/html |
なお、前提条件として、PowerCMS7の動作要件を満たす
- Apache
- MySQLもしくはMariaDB
- PHP
が既にインストールされているものとします。
1. Apacheの設定
(1) /etc/httpd/conf/httpd.conf
CGIを有効にします。
<IfModule alias_module>
ScriptAlias /mt/ "/var/www/mt/"
</IfModule>
<Directory "/var/www/mt">
AllowOverride All
Options FollowSymLinks ExecCGI
Require all granted
</Directory>
<IfModule mime_module>
AddHandler cgi-script .cgi .pl
</IfModule>
(2) /etc/httpd/conf.modules.d/01-cgi.conf
有効のままにしておきます。
(3) CGIの動作テスト
CGIプログラムが動作するかテストを行います。
# mkdir /var/www/mt
# vi /var/www/mt/test_env.cgi
#!/usr/bin/env perl
print "Content-type: text/html; charset=utf-8", "\n\n";
print "<HTML><BODY>", "\n";
print "<H1>環境変数</H1><HR>", "\n";
foreach my $key( keys %ENV ){
print "$key: $ENV{$key}<BR>", "\n";
}
print "<HR>", "\n";
print "</BODY></HTML>", "\n";
# chmod 755 /var/www/mt/test_env.pl
ブラウザからアクセスします。
https://www.example.jp/mt/test_env.cgi
※「www.example.jp」は実際のFQDNを入力して下さい。
正常に表示されればOKです。
(4) 「503 Service Unavailable」などのエラーが出る場合
mod_cgidはApacheとCGIデーモンの通信にUnixドメインソケットを使います。
このScriptSockの設定がされていない可能性があります。
# vi /etc/httpd/conf.d/cgid.conf
<IfModule cgid_module>
ScriptSock /run/httpd/cgid.sock
</IfModule>
# systemctl reload httpd.service
ブラウザからアクセスします。
https://www.example.jp/mt/test_env.cgi
※「www.example.jp」は実際のFQDNを入力して下さい。
正常に表示されればOKです。
一度「/var/www/mt」ディレクトリを削除します。
2. Perlのインストール
(1) Perlのインストール
PowerCMS7はPerl CGIで動作します。
(2) Perlのバージョンが対象外の場合
PowerCMSのPerlの推奨バージョンは5.39以下となっています。
しかし、AlmaLinux 10などではPerlのバージョンが5.40.2などになって対象外となっています。
そのため、安定版の5.38をインストールします。
ただしOSの他の動作に影響を与える可能性もあるので、標準の5.40.2とは別のディレクトリにインストールします。
[a] Perl 5.38.3のダウンロード
# cd /usr/local/src
# wget https://www.cpan.org/src/5.0/perl-5.38.3.tar.gz
# tar xvfz perl-5.38.3.tar.gz
# cd perl-5.38.3
[b] Perl 5.38.3を/opt/perl-5.38.3にインストール
# ./Configure -des \
-Dprefix=/opt/perl-5.38.3 \
-Dusethreads \
-Duseshrplib
# make
# make test
# make install
[c] Perl 5.38.3の確認
# /opt/perl-5.38.3/bin/perl -v
「/usr/local/bin/perl」にシンボリックリンクを設定。
# ln -sf /opt/perl-5.38.3/bin/perl /usr/local/bin/perl
# /usr/local/bin/perl -v
[d] ApacheでPerl 5.38.3を使用するように設定
現在Perlは以下のようにインストールされています。
| /usr/bin/perl |
デフォルト(5.40.2) |
| /usr/local/bin/perl |
5.38.3 |
「/usr/local/bin/perl」を優先的に利用するようにPATHを設定します。
# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/mt">
AllowOverride All
Options FollowSymLinks ExecCGI
Require all granted
SetEnv PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
</Directory>
ApacheでPerl 5.38.3が利用されているか確認
# vi /var/www/mt/perl_ver.cgi
#!/usr/bin/env perl
print "Content-Type: text/plain\n\n";
print "Perl version: $]\n";
print "Perl path: $^X\n";
print "PATH: $ENV{PATH}\n";
# chmod 755 /var/www/mt/perl_ver.cgi
ブラウザから確認します。
# https://www.example.jp/mt/perl_ver.cgi
以下のように表示されればOKです。
Perl version: 5.038003
Perl path: /opt/perl-5.38.3/bin/perl
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[e] rootのログインシェルでPerl 5.38.3を使用する
Perl関連モジュールをインストールするので、rootのログインシェルでPerl 5.38.3を使用するように設定します。
vi /etc/profile.d/perl538.sh
export PATH=/opt/perl-5.38.3/bin:$PATH
反映します。
source /etc/profile.d/perl538.sh
確認します。
3. PowerCMS7ソフトウェア版のインストール
PowerCMS7のソフトウェア版をインストールします。
ここでは7.1をインストールします。(バージョン番号が変更された場合には読み替えて下さい。)
(1) CGIディレクトリの配置
- PowerCMS7のパッケージを解凍して、「/var/www/mt」に配置します。
# unzip PowerCMS7.1-Enterprise.zip
- 「PowerCMS7.1-Enterprise」ディレクトリが作成されます。
- この中の「mt」をCGIディレクトリに移動します。
# cd PowerCMS7.1-Enterprise
# mv mt /var/www/
(2) 「mt-static」ディレクトリの配置
- 「mt-static」ディレクトリを公開ディレクトリに移動します。
# cd /var/www/mt
# mv mt-static /var/www/html
(3) オーナー、パーミッションの設定
ここではユーザ名を「www_user」とします。
- 「/var/www/mt」のパーミッションを「755」にします。
# cd /var/www
# chown -R www_user:apache mt
# chmod -R 755 mt
- 「/var/www/html」のパーミッションを「775」にします。
# cd /var/www
# chown -R www_user:apache html
# chmod -R 775 html
- 「/var/www/html/mt-static/support」のパーミッションを「777」にします。
# cd /var/www/html
# chown -R www_user:apache mt-static
# chmod -R 775 mt-static
# cd /var/www/html/mt-static
# chmod -R 777 support
(4) Apacheの再起動
# systemctl reload httpd.service
4. PowerCMS7用データベースの作成
PowerCMS7用のデータベースおよび専用ユーザを作成します。
ここでは、以下のようにします。
| データベース名 |
mt_db |
| ユーザ名 |
mt_user |
| パスワード |
(任意のパスワード) |
MySQL(もしくはMariaDB)にログインします。
データベースを作成します。
MariaDB [(none)]> CREATE DATABASE mt_db;
ユーザを作成します。
MariaDB [(none)]> CREATE USER 'mt_user'@'localhost' IDENTIFIED BY '(パスワード)';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mt_db.* TO 'mt_user'@'localhost';
データベースからログアウトします。
5. Perl関連モジュールのインストール
(1) cpanの初期設定
初回は質問されます。基本的には自動設定で構いません。
Would you like to configure as much as possible automatically? [yes]
cpan[1]> quit
(2) cpanmのインストール
# cpan App::cpanminus
# cpanm --version
(3) PowerCMSに必要な基本モジュールのインストール
■CGI
■HTML::Entities
■File::Spec
# cpan
cpan[1]> install File::Spec
cpan[2]> quit
■CGI::Cookie
■Scalar::Util
# cpan
cpan[1]> install Scalar::Util
cpan[2]> quit
■LWP::UserAgent
■parent
# cpan
cpan[1]> install parent
cpan[2]> quit
■Archive::Zip
■Image::Magick
# dnf --enablerepo=epel install ImageMagick
# dnf --enablerepo=epel install ImageMagick-devel
# cpanm Image::Magick
■Imager
# cpan
cpan[1]> install Imager
cpan[2]> quit
■Digest::SHA1
■HTTP::Date
■Text::CSV_XS
■MIME::Parser
■Crypt::SSLeay
■Net::SFTP
# cpan
cpan[1]> install Net::SFTP
cpan[2]> install Net::SFTP::Foreign
cpan[3]> install Net::FTPSSL
cpan[4]> quit
(4) MariaDB接続モジュールのインストール
MariaDBの開発用パッケージをインストールします。
# dnf --enablerepo=mariadb MariaDB-devel MariaDB-shared
■DBD::mysql
# cpanm DBI
# cpanm DBD::mysql
※「cpanm DBD::mysql」でインストールエラーが出る場合には最新バージョンの「DBD-mysql-5.013」ではなく「DBD-mysql-4.055」をインストールします。
# cpanm DVEEDEN/DBD-mysql-4.055.tar.gz
(5) 追加機能のインストール
インストール環境のチェックを行います。
httpd://www.example.jp/mt/mt-check.cgi
※「www.example.jp」には実際のFQDNを入力して下さい。
まだインストールされていないモジュールがあったら必要に応じてインストールします。
最終更新:2026年06月26日 10:47