Windows版 Cacti をアップデートする (2020年版)

Windows版 Cacti をアップデートする手順を紹介します。
バージョン 1.1.38 から バージョン 1.2.14 にアップデートします。

Cactiのダウンロード

CactiのWebサイト(https://www.cacti.net)にアクセスします。下図のページが表示されます。


[Download]リンクをクリックします。ダウンロードページが表示されます。[Windows in ZIP format]のリンクをクリックします。


Windows版のcactiがダウンロードできます。

Cactiの配置

zipファイルを展開します。



展開したファイルをWebサーバーのcactiのディレクトリに配置きします。(ファイルの置き換え)


(Cactiのアプリケーションルート) のURLにアクセスします。正常に実行されると下図の認証画面が表示されますので、 従来のAdminユーザーアカウントでログインします。


正常に実行できない場合は下図のエラー画面や、500エラー画面が非表示されます。


エラー画面が表示された場合は、サーバーで php-cgi.exe cacti.phpphp-cgi.exe install/index.php コマンドを実行して、エラー内容などを確認します。
"Failed opening './lib/ldap.php'" エラーが表示される場合はこちらの記事の対策を実施します。

cactiのアップグレード

ログインできると、下図のライセンス画面が表示されます。右下の[Accept GPL License Agreement]のチェックボックスをクリックしてチェックをつけます。


次の処理が始まります。


[Pre-installation Checks]画面が表示されます。


以前のバージョンから要求スペックが上がっているため、データベースなど設定変更が必要な箇所もあります。

my.iniの修正

バージョンアップにより、要求スペックが上がったため、MariaDB のデータベースの my.iniの修正が必要になる場合があります。
data/my.ini (変更後例)
[mysqld]
datadir=C:/Program Files/MariaDB 10.5/data
port=3306
default-time-zone='Asia/Tokyo'
collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
character-set-client=utf8mb4

max_heap_table_size=98M
tmp_table_size=64M
join_buffer_size=64M
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_buffer_pool_size=489M
innodb_doublewrite=ON
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_buffer_pool_instances=5
innodb_io_capacity=5000
innodb_io_capacity_max=10000

[client]
port=3306
plugin-dir=C:/Program Files/MariaDB 10.5/lib/plugin

php.iniの修正

バージョンアップにより、php.iniの修正も必要になる場合があります。
php.ini (変更後例)
[PHP]
engine = On
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = -1
disable_functions =
disable_classes =
zend.enable_gc = On
zend.exception_ignore_args = On
expose_php = On
max_execution_time = 60
max_input_time = 60
memory_limit = 1280M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
error_log = C:\inetpub\wwwroot\log\php_errors.txt
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
extension_dir = "ext"
enable_dl = Off
cgi.force_redirect = 0
cgi.fix_pathinfo=1
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60

extension=php_pdo_mysql.dll
extension=php_com_dotnet.dll
extension=php_sockets.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_openssl.dll
extension=php_gd2.dll
extension=php_mysqli.dll
extension=php_snmp.dll
extension=php_gmp.dll
extension=php_gettext.dll
extension=php_ldap.dll

[CLI Server]
cli_server.color = On

[Date]
date.timezone = "Asia/Tokyo"

[filter]

[iconv]

[imap]

[intl]

[sqlite3]

[Pcre]

[Pdo]

[Pdo_mysql]
pdo_mysql.default_socket=

[Phar]

[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = Off

[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1

[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off

[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off

[OCI8]

[PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0

[bcmath]
bcmath.scale = 0

[browscap]

[Session]
session.save_handler = files
session.use_strict_mode = 0
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.cookie_samesite =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.sid_length = 26
session.trans_sid_tags = "a=href,area=href,frame=src,form="
session.sid_bits_per_character = 5

[Assertion]
zend.assertions = -1

[COM]

[mbstring]

[gd]

[exif]

[Tidy]
tidy.clean_output = Off

[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5

[sysvshm]

[ldap]
ldap.max_links = -1

[dba]

[opcache]

[curl]

[openssl]

[ffi]

設定変更後、再度ライセンス規約画面で契約に同意します。問題がなければ、[Pre-installation Checks]画面ですべてOK状態になります。
画面下部の[次に]ボタンをクリックします。


[インストールの種類]画面が表示されます。[次に]ボタンをクリックします。


[Directory Permission Checks]画面が表示されます。こちらも問題がなければすべてOK状態になります。[次に]ボタンをクリックします。


[Template Setup]画面が表示されます。アップグレードするテンプレートの右側のチェックボックスにチェックします。チェック後[次に]ボタンをクリックします。


[次に]ボタンをクリックします。


[アップグレードの確認]画面が表示されます。


ページの[アップグレードの確認]チェックボックスにチェックをつけます。チェック後、ページ下部の[アップグレード]ボタンをクリックします。


アップグレードの処理が始まります。


アップグレードが完了すると下図の画面が表示されます。ページ下部の[始める]ボタンをクリックします。


cactiのコンソール画面が表示され、cactiが利用できる状態になります。


以上でCactiのアップグレードは完了です。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
掲載日: 2020-10-01
iPentec all rights reserverd.