[HOWTO] Update cacti at Ubuntu OS [En + Rus]

If you figure out how to do something interesting/cool in Cacti and want to share it with the community, please post your experience here.

Moderators: Developers, Moderators

Post Reply
AllertGen
Posts: 37
Joined: Mon Mar 26, 2012 1:27 pm

[HOWTO] Update cacti at Ubuntu OS [En + Rus]

Post by AllertGen »

[HOWTO] Update Cacti at Ubuntu OS Manually

Sorry in advice. I'm not English speaker. I'm still learning :oops:

Recently I updated my cacti server with Ubuntu OS. I used manual from this topic: http://forums.cacti.net/viewtopic.php?f=6&t=44947 but I had a few problems in the process. This is why I’ve made my own guide “HowTo” for you.

You must understands what you doing and be ready to lose all information that you already stored!

We will use command line for all our actions.
First, we must do backup of our files (do I need to say it?). I created directory at user directory (you can chose another directory):

Code: Select all

mkdir /home/[user]/backup
mkdir /home/[user]/backup/cacti
And copy all cacti files there (it’s important to use “sudo”. But if you are root user…):

Code: Select all

sudo cp -rp /usr/share/cacti/ /home/[user]/backup/cacti/
Also you need to stop cacti service. To do so you need to comment line at cron with starting cacti polling or stop cron service or stop cacti service from web interface. I don’t think that I need to write how to do it.
Download latest version of cacti (right now it’s 0.8.8a). For downloading I used user directory (created here directory with “download” name)

Code: Select all

mkdir /home/[user]/downloads
wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz -O /home/[user]/downloads/cacti-0.8.8a.tar.gz
Now we need to extract this tar.gz file:

Code: Select all

mkdir /home/[user]/downloads/cacti-0.8.8a/
tar xvfz home/[user]/downloads/cacti-0.8.8a.tar.gz -C /home/[user]/downloads/cacti-0.8.8a/
Ok, now we are ready to make update. First, copy new files to cacti directory:

Code: Select all

sudo cp -rf /home/[user]/downloads/cacti-0.8.8a/cacti-0.8.8a/* /usr/share/cacti/site/
Copy file with DB connection configuration from backup to cacti directory:

Code: Select all

sudo cp -f /home/[user]/backup/cacti/cacti/include/config.php usr/share/cacti/site/include/config.php
For PIA (Plugins) we must create new folder:

Code: Select all

sudo mkdir /usr/share/cacti/site/plugins
Because of “sudo” command we must change owner of new files:

Code: Select all

chown -R www-data /usr/share/cacti/
Open global.php file in file editor:
sudo nano /usr/share/cacti/site/include/global.php
Important: pay attantion to ['] and ["] symbols. Some editors changing them to another beautiful one and php can't recognize them!
Find line (ctrl + w):

Code: Select all

$config["rra_path"] = $config["base_path"] . '/rra';
And change it into:

Code: Select all

$config["rra_path"] = '/var/lib/cacti/rra';
Find another line:

Code: Select all

include_once($config["library_path"] . "/adodb/adodb.inc.php");
And change it to:

Code: Select all

include_once("/usr/share/php/adodb/adodb.inc.php");
After this save changes (ctrl + o) and close editor (ctrl + x). Open your cacti site (for example: http://host/cacti/) and make update from Web Interface.

That's all. Your cacti was updated. Don’t forget to start cacti service and make “Rebuild Poller Cache” from “System Utilities”.

Possible problem: after update my cacti service can’t store new values to rrd files. I resolved problem with commands:

Code: Select all

sudo chown -R www-data /var/lib/cacti/rrd
sudo chgrp -R www-data /var/lib/cacti/rrd
sudo chmod -R uog+w /var/lib/cacti/rrd (this command is not secure. You can try "sudo chmod -R og+w /var/lib/cacti/rrd" before this one)
If you use SNMP v3, don’t forget to use this patch: http://www.cacti.net/download_patches.php

If you want to add some plugins then download them, extract and copy them to /usr/share/cacti/site/plugins. Don’t forget to change owner of new plugin files (sudo chown -R /usr/share/cacti/site/plugins/[plugin folder]). If you used some plugins before update then move them to /usr/share/cacti/site/plugins/.





[HOWTO] Обновление Cacti вручную после установки из репозитория

Недавно я обновил cacti на сервере с ОС Ubuntu. Я использовал этот мануал: http://forums.cacti.net/viewtopic.php?f=6&t=44947, но в процессе возникли некоторые проблемы. По этой причине я создал данный “HowTo” мануал.

Вы должны осознавать, что делаете и быть готовым к тому, что можете потерять информацию, которая уже была накоплена программой!

Для обновления будем использовать коммандную строку (к слову у меня Ubuntu-server).
Во-первых, нам необходимо сделать бекап (нужно ли мне вообще об этом говорить?). Для этого я создал каталог в папке пользователя (Вам ничего не мешает использовать для этих целей другой каталог):

Code: Select all

mkdir /home/[user]/backup
mkdir /home/[user]/backup/cacti
И копируем все файлы cacti в этот каталог (важно использование комманды “sudo” для этого. Но если Вы работаете под пользователем root…):

Code: Select all

sudo cp -rp /usr/share/cacti/ /home/[user]/backup/cacti/
Так же необходимо остановить работу cacti. Что бы сделать это необходимо заккоментировать строчку в настройках cron'а, остановить саму работу сервиса cron или остановить работу какти через его настройки. Не думаю, что мне стоит описывать, как останавливать приложение. К слову: если Вы не понимаете, как это сделать, то может не стоит производить обновление? Вдруг вылезут косяки, которые данный документ не охватывает? Сможете их сами исправить?
Скачайте последнюю версию cacti (сейчас это: 0.8.8a). Для загрузки я использовал каталог пользователя (создал в каталоге пользователя папку с названием “downloads”)

Code: Select all

mkdir /home/[user]/downloads
wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz -O /home/[user]/downloads/cacti-0.8.8a.tar.gz
Теперь необходимо распаковать данный tar.gz файл:

Code: Select all

mkdir /home/[user]/downloads/cacti-0.8.8a/
tar xvfz home/[user]/downloads/cacti-0.8.8a.tar.gz -C /home/[user]/downloads/cacti-0.8.8a/
Теперь мы готовы приступить к обновлению. Во-первых, копируем новые файлы в папку с cacti:

Code: Select all

sudo cp -rf /home/[user]/downloads/cacti-0.8.8a/cacti-0.8.8a/* /usr/share/cacti/site/
Копируем файл с конфигурацией подключения к БД cacti:

Code: Select all

sudo cp -f /home/[user]/backup/cacti/cacti/include/config.php usr/share/cacti/site/include/config.php
Для PIA (плагины) нам необходимо создать папку:

Code: Select all

sudo mkdir /usr/share/cacti/site/plugins
Из-за комманды “sudo” нам необходимо изменить владельцев файлов:

Code: Select all

chown -R www-data /usr/share/cacti/
Откройте файл global.php в текстовом редакторе:
sudo nano /usr/share/cacti/site/include/global.php
Важно: уделите внимание символам ['] и ["]. Некоторые редакторы меняют эти символы на более красивые и php не может правильно их распознать!
Найдите строчку (ctrl + w):

Code: Select all

$config["rra_path"] = $config["base_path"] . '/rra';
И замените на:

Code: Select all

$config["rra_path"] = '/var/lib/cacti/rra';
Найдите ещё 1 строчку:

Code: Select all

include_once($config["library_path"] . "/adodb/adodb.inc.php");
И замените на:

Code: Select all

include_once("/usr/share/php/adodb/adodb.inc.php");
Сохраните изменения (ctrl + o) и закройте редактор (ctrl + x). Откройте сайт с cacti (Например: http://host/cacti/) и произведите обновление через Web интерфейс.

На этом всё. Cacti обновлён. Не забудьте вернуть сервис cacti в работу, а так же сделать “Rebuild Poller Cache” из меню “System Utilities”.

Возможная проблема: после того, как я обновил cacti, он не сохранял данные в rrd файлы. Я решил проблему следующими командами:

Code: Select all

sudo chown -R www-data /var/lib/cacti/rrd
sudo chgrp -R www-data /var/lib/cacti/rrd
sudo chmod -R uog+w /var/lib/cacti/rrd (эта команда не безопасна. В начале попробуйте команду "sudo chmod -R og+w /var/lib/cacti/rrd")
Если Вы используете SNMP v3, то не забудьте про патч: http://www.cacti.net/download_patches.php

Если Вы хотите установить плагины, то скачайте их, распакуйте и скопируйте в папку /usr/share/cacti/site/plugins. Не забудьте изменить владельца файлов и папок (sudo chown -R /usr/share/cacti/site/plugins/[plugin folder]). Если Вы уже использовали некоторые плагины до обновления программы, то просто скопируйте их сюда /usr/share/cacti/site/plugins/.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests