{"id":119,"date":"2021-05-13T10:33:00","date_gmt":"2021-05-13T10:33:00","guid":{"rendered":"https:\/\/www.parall.es\/?p=119"},"modified":"2021-06-04T16:34:26","modified_gmt":"2021-06-04T16:34:26","slug":"instalar-cacti-en-nginx","status":"publish","type":"post","link":"https:\/\/blog.redbay.es\/?p=119","title":{"rendered":"Instalar Cacti en NGINX"},"content":{"rendered":"\n<h3>Paso 1. Instalar paquetes.<\/h3>\n\n\n\n<p>Despu\u00e9s de seguir los pasos de la entrada <a href=\"https:\/\/www.parall.es\/?p=95\" data-type=\"post\" data-id=\"95\">Instalar Nginx, PHP y mariadb<\/a> procedemos a instalar cacti. Lo primero que haremos ser\u00e1 instalar los paquetes requeridos por cacti. Tened en cuenta que todo lo haremos como usuario root.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# apt update\n~# apt install wget php-gd php-gmp php-ldap php-mbstring php-simplexml php-xml php-snmp rrdtool<\/code><\/pre>\n\n\n\n<h3>Paso 2. Crear base de datos<\/h3>\n\n\n\n<p>Una vez todo instalado crearemos la base de datos. Para ello entramos en nuestro cliente mysql y creamos la base de datos con el nombre que deseemos y un usuario con privilegios sobre dicha base de datos. (En este caso usamos como nombre para la base de datos \u00abcacti\u00bb y usuario \u00abcactiuser\u00bb):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# mysql\nmysql> CREATE DATABASE cacti;\nmysql> GRANT ALL ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'password';\nmysql> FLUSH PRIVILEGES;\nmysql> EXIT;<\/code><\/pre>\n\n\n\n<p>Ahora vamos a crear la tabla de zonas horarias (time zone) que viene incluida en un script dentro de mysql y le daremos permiso de lectura (SELECT) a nuestro nuevo usuario (cactiuser).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# mysql -u root -p mysql &lt; \/usr\/share\/mysql\/mysql_test_data_timezone.sql\n~# mysql\nmysql> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost;\nmysql> ALTER DATABASE cacti CHARACTER SET='utf8mb4' COLLATE='utf8mb4_unicode_ci';\nmysql> FLUSH PRIVILEGES;\nmysql> EXIT;<\/code><\/pre>\n\n\n\n<h3>Paso 3. Configurar Base de datos<\/h3>\n\n\n\n<p>Lo siguiente ser\u00e1 configurar mysql con los requisitos que nos pide cacti. Para ello modificaremos y a\u00f1adiremos las lineas del fichero de configuraci\u00f3n de mysql en la secci\u00f3n [mysqld].<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# vim \/etc\/mysql\/mariadb.conf.d\/50-server.cnf<\/code><\/pre>\n\n\n\n<p>Las lineas son las siguientes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;mysqld]\n\ncollation-server = utf8mb4_unicode_ci\ncharacter-set-server  = utf8mb4\nmax_heap_table_size = 128M\ntmp_table_size = 64M\njoin_buffer_size = 128M\ninnodb_file_format = Barracuda\ninnodb_large_prefix = 1\ninnodb_buffer_pool_size = 1GB\ninnodb_buffer_pool_instances = 10\ninnodb_flush_log_at_timeout = 3\ninnodb_read_io_threads = 32\ninnodb_write_io_threads = 16\ninnodb_io_capacity = 5000\ninnodb_io_capacity_max = 10000<\/code><\/pre>\n\n\n\n<p>Despu\u00e9s de estos dos pasos reiniciamos mysql y pasamos a configurar php.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# \/etc\/init.d\/mysql restart<\/code><\/pre>\n\n\n\n<h3>Paso 4. Configurar PHP<\/h3>\n\n\n\n<p>En este paso modificaremos los ficheros de configuraci\u00f3n. Configuraremos la zona horario, tiempo m\u00e1ximo de ejecuci\u00f3n de un fichero y el l\u00edmite de memoria que nos exige cacti. Vamos a cambiar dos fichero, pero vamos a realizar los mismos cambios. (En este caso tenemos instalada la version de PHP FPM 7.3, si fuese otra versi\u00f3n deber\u00edamos de cambiar la direcci\u00f3n del fichero)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# vim \/etc\/php\/7.3\/fpm\/php.ini\n~# vim \/etc\/php\/7.3\/cli\/php.ini<\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>FPM es el manejador de PHP que usar\u00e1 NGINX y CLI es PHP en consola de comandos.<\/p><\/blockquote>\n\n\n\n<p>En la secci\u00f3n <strong>[PHP]<\/strong> descomentamos las entradas <strong>max_execution_time<\/strong> y <strong>memory_limit<\/strong> y le asignamos los valores <em>70<\/em> y <em>512M<\/em> respectivamente. Y en la secci\u00f3n <strong>[DATE]<\/strong> descomentamos <strong>date.timezone<\/strong> e indicamos nuestra zona horaria (Europe\/Madrid en nuestro caso).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;PHP]\nmax_execution_time = 70\nmemory_limit = 512M\n\n&#91;DATE]\ndate.timezone = Europe\/Madrid<\/code><\/pre>\n\n\n\n<p>Para terminar el paso 4 reiniciamos PHP:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# \/etc\/init.d\/php7.3-fpm restart<\/code><\/pre>\n\n\n\n<h3>Paso 5. Crear VirtualHost en NGINX<\/h3>\n\n\n\n<p>Vamos a borrar el VHost por defecto y luego crear uno nuevo para cacti de la siguiente manera:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# rm \/etc\/nginx\/sites-enabled\/default\n~# vim \/etc\/nginx\/conf.d\/cacticonfig.conf<\/code><\/pre>\n\n\n\n<p>Y en el fichero a\u00f1adimos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n listen      80;\n server_name example.com;\n root        \/var\/www\/html;\n index       index.php;\n access_log  \/var\/log\/cactiacess.log;\n error_log   \/var\/log\/cacti.log;\n charset utf-8;\n gzip on;\n gzip_types text\/css application\/javascript text\/javascript application\/x-javascript image\/svg+xml text\/plain text\/xsd text\/xsl text\/xml image\/x-icon;\n location \/ {\n   try_files $uri $uri\/ \/index.php?$query_string;\n  }\n  location \/api\/v0 {\n   try_files $uri $uri\/ \/api_v0.php?$query_string;\n  }\n  location ~ .php {\n   include fastcgi.conf;\n   fastcgi_split_path_info ^(.+.php)(\/.+)$;\n   fastcgi_pass unix:\/var\/run\/php\/php7.3-fpm.sock;\n  }\n  location ~ \/.ht {\n   deny all;\n  }\n } <\/code><\/pre>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>Tened en cuenta que estamos usando php7.3-fpm. En el caso de usar otro habr\u00eda que cambiarlo en la l\u00ednea n\u00famero 21.<\/p><\/blockquote>\n\n\n\n<p>Y para terminar reiniciamos NGINX:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/etc\/init.d\/nginx restart<\/code><\/pre>\n\n\n\n<h3>Paso 6. Instalar CACTI<\/h3>\n\n\n\n<p>Lo primero que haremos ser\u00e1 descargar la \u00faltima versi\u00f3n de <strong>CACTI<\/strong>. Una vez descargado lo descomprimimos, lo pasamos al directorio del nuevo VirtualHost y le asignamos como propietario el servidor web (www-data).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# wget https:\/\/www.cacti.net\/downloads\/cacti-latest.tar.gz\n~# tar -zxvf cacti-latest.tar.gz\n~# mv cacti-1* \/var\/www\/html\/cacti\n~# chown -R www-data:www-data \/var\/www\/html\/<\/code><\/pre>\n\n\n\n<p>Lo siguiente ser\u00e1 crear la estructura de la base de datos. Para ello importamos un script que viene incluido en cacti.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# mysql -u root -p cacti &lt; \/var\/www\/html\/cacti\/cacti.sql<\/code><\/pre>\n\n\n\n<p>Y por \u00faltimo configuramos cacti para que se pueda conectar a la base de datos. Para ello modificamos el fichero de configuraci\u00f3n a\u00f1adiendo los datos que usamos en el <em><strong>Paso 2. Crear Base de Datos<\/strong><\/em>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# vim \/var\/www\/html\/cacti\/include\/config.php<\/code><\/pre>\n\n\n\n<p>Y a\u00f1adimos los siguientes datos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> $database_type = \"mysql\";\n $database_default = \"cacti\";\n $database_hostname = \"localhost\";\n $database_username = \"cactiuser\";\n $database_password = \"password\"; \n $database_port = \"3306\";\n $database_ssl = false;<\/code><\/pre>\n\n\n\n<h3>Paso 7. Automatizar poller.<\/h3>\n\n\n\n<p>El poller es el encargado de recolectar los datos. Para ello tiene que ejecutarse cada cierto tiempo, para as\u00ed recopilar datos en el tiempo. En el caso de cacti, es recomendable que el poller se ejecute cada 5 minutos y por eso vamos a crear una entrada el demonio <strong>CRON<\/strong> de nuestro servidor.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~# vim \/etc\/cron.d\/cacti<\/code><\/pre>\n\n\n\n<p>Y a\u00f1adimos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>*\/5 * * * * www-data php \/var\/www\/html\/cacti\/poller.php > \/dev\/null 2>&amp;1<\/code><\/pre>\n\n\n\n<h3>Paso 8. Asistente de instalaci\u00f3n WEB<\/h3>\n\n\n\n<p>Ahora vamos a abrir un navegador en nuestro PC y nos conectaremos a nuestro servidor poniendo de URL la direcci\u00f3n IP del servidor Cacti. Nos pedir\u00e1 usuario y contrase\u00f1a, que por defecto son <strong>admin<\/strong> y <strong>admin<\/strong> respectivamente, despu\u00e9s de conectarnos nos pedir\u00e1 cambiar la contrase\u00f1a y empezar\u00e1 un asistente de configuraci\u00f3n, el cual comprueba que todos los pasos anteriores est\u00e9n realizados correctamente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Paso 1. Instalar paquetes. Despu\u00e9s de seguir los pasos de la entrada Instalar Nginx, PHP y mariadb procedemos a instalar cacti. Lo primero que haremos ser\u00e1 instalar los paquetes requeridos por cacti. Tened en cuenta que todo lo haremos como usuario root. Paso 2. Crear base de datos Una vez todo instalado crearemos la base &#8230; <a title=\"Instalar Cacti en NGINX\" class=\"read-more\" href=\"https:\/\/blog.redbay.es\/?p=119\" aria-label=\"M\u00e1s en Instalar Cacti en NGINX\">Leer m\u00e1s<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[39,2,3,11],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.redbay.es\/index.php?rest_route=\/wp\/v2\/posts\/119"}],"collection":[{"href":"https:\/\/blog.redbay.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.redbay.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.redbay.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.redbay.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":12,"href":"https:\/\/blog.redbay.es\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":161,"href":"https:\/\/blog.redbay.es\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions\/161"}],"wp:attachment":[{"href":"https:\/\/blog.redbay.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.redbay.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.redbay.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}