Criando facilmente um servidor APACHE2 + PHP5 (ou PHP4) + SNMP + MRTG

Neste tutorial ensinarei como montar um servidor WEB com o APACHE2, PHP5, SNMP e o MRTG. Me esforcei muito reunindo todas essas informações na WEB, pois na parte de configuração do SNMP e do MRTG não vi nenhum tutorial que realmente ensinasse a configurá-los desde o começo e de maneira clara.

[ Hits: 62.403 ]

Por: Eduardo em 11/08/2007


Instalando e configurando o Apache2 e o PHP5 (ou PHP4)



1° - Apache2

Se você não sabe o que é o Apache, leia mais sobre ele em:
O site oficial do Apache é o:
Agora precisamos baixar os fontes do Apache2, podemos fazer isto em:
Baixe a versão "Unix Source".

Agora descompacte o arquivo:

# tar zxfv httpd-2.X.X.tar.gz

ou

# tar jxfv httpd-2.X.X.tar.bz2

Coloque no lugar dos X os números equivalentes a versão do Apache2 que você baixou.

Compilando e instalando o Apache2

Entre no diretório do código fonte do APACHE2:

# cd httpd-2.X.X

Agora digite:

# ./configure --prefix=/usr/local/apache2 \
--enable-module=rewrite \
--enable-shared=rewrite \
--enable-module=proxy \
--enable-shared=proxy \
--enable-module=so


Depois digite:

# make

E por último digite:

# make install

2° - PHP5 ou PHP4

Se você não sabe o que é o PHP, leia mais sobre ele em:
O site oficial do php é o:
Agora precisamos baixar os fontes do PHP5 (ou PHP4), podemos fazer isto em:
Descompacte o arquivo:

# tar zxfv php-XX.tar.gz

ou

# tar jxfv php-X.X.tar.bz2

Coloque no lugar dos X os números equivalentes a versão do PHP que você baixou.

Compilando e instalando o PHP

Entre no diretório do código fonte do PHP5:

# cd php-X.X

Agora digite:

# ./configure --prefix=/usr/local/php5 \
--enable-track-vars \
--enable-trans-sid \
--disable-debug \
--with-apxs2=/usr/local/apache2/bin/apxs


Depois digite:

# make

E por último digite:

# make install

Edite o arquivo httpd.conf que fica em /usr/local/apache2/conf/ com o seu editor de texto, que no caso é o que instalamos no começo do tutorial, Digite:

# vim /usr/local/apache2/conf/httpd.conf

e acrescente as seguintes linhas:

######################################################
## 127.0.0.1 é um IP local genérico (não é necessário alterá-lo)

NameVirtualHost 127.0.0.1

######################################################
## 127.0.0.1 é um IP local genérico (não é necessário alterá-lo)

<VirtualHost 127.0.0.1>

######################################################
## Coloque aqui o seu e-mail no lugar de "root@localhost", por exemplo "meunome@hotmail.com"

ServerAdmin root@localhost

######################################################
## Aqui é o diretório onde você colocará os seus arquivos html (não é necessário alterá-lo)

DocumentRoot /usr/local/apache2/htdocs

######################################################
## Aqui é o nome de seu servidor (não é necessário alterá-lo)

ServerName localhost.localdomain

######################################################
## Aqui é o nome amigável de seu servidor (não é necessário alterá-lo)

ServerAlias localhost

######################################################
## Aqui é o diretório onde serão armazenados os logs de erro (não é necessário alterá-lo)

ErrorLog /usr/local/apache2/logs/error.log

######################################################
## Aqui é o diretório onde serão armazenados os logs (não é necessário alterá-lo)

TransferLog /usr/local/apache2/logs/access.log
######################################################
</VirtualHost>

Agora precisamos adicionar mais algumas linhas em seu httpd.conf para que o PHP5 (ou PHP4) funcione:

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Ao instalar o PHP5 (ou PHP4), ele automaticamente adicionará a seguinte linha em seu httpd.conf, mas por precaução veja se ela foi realmente adicionada:

LoadModule php4_module        modules/libphp4.so

Pronto! Agora edite o seu httpd.conf se você ainda não o fez, vou colocar a seguir o conteúdo do meu httpd.conf para consulta:

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
ServerAdmin eduardo@netprecision.com.br
DocumentRoot /usr/local/apache2/htdocs
ServerName localhost.localdomain
Serveralias localhost
ErrorLog /usr/local/apache2/logs/error.log
TransferLog /usr/local/apache2/logs/access.log
</VirtualHost>

######################################

#
# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
#
# Do NOT simply read the instructions in here without understanding
# what they do.  They're here only as hints or reminders.  If you are unsure
# consult the online docs. You have been warned.  
#
# Configuration and logfile names: If the filenames you specify for many
# of the server's control files begin with "/" (or "drive:/" for Win32), the
# server will use that explicit path.  If the filenames do *not* begin
# with "/", the value of ServerRoot is prepended -- so "logs/foo.log"
# with ServerRoot set to "/usr/local/apache2" will be interpreted by the
# server as "/usr/local/apache2/logs/foo.log".

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# Do not add a slash at the end of the directory path.  If you point
# ServerRoot at a non-local disk, be sure to point the LockFile directive
# at a local disk.  If you wish to share the same ServerRoot for multiple
# httpd daemons, you will need to change at least LockFile and PidFile.
#
ServerRoot "/usr/local/apache2"

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule php5_module        modules/libphp5.so
#
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
#
<IfModule !mpm_netware_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
</IfModule>

# 'Main' server configuration
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#

#
# ServerAdmin: Your address, where problems with the server should be
# e-mailed.  This address appears on some server-generated pages, such
# as error documents.  e.g. admin@your-domain.com
#
ServerAdmin eduardo@netprecision.com.br

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/usr/local/apache2/htdocs"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.  
#
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/usr/local/apache2/htdocs">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

</Directory>

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by WEB clients.
#
<FilesMatch "^\.ht">
    Order deny,allow
    Allow from all
    Satisfy All
</FilesMatch>

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog logs/error_log

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    #
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>

    #
    # The location and format of the access logfile (Common Logfile Format).
    # If you do not define any access logfiles within a <VirtualHost>
    # container, they will be logged here.  Contrariwise, if you *do*
    # define per-<VirtualHost> access logfiles, transactions will be
    # logged therein and *not* in this file.
    #
    CustomLog logs/access_log common

    #
    # If you prefer a logfile with access, agent, and referer information
    # (Combined Logfile Format) you can use the following directive.
    #
    #CustomLog logs/access_log combined
</IfModule>

<IfModule alias_module>
    #
    # Redirect: Allows you to tell clients about documents that used to
    # exist in your server's namespace, but do not anymore. The client
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar

    #
    # Alias: Maps WEB paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /WEBpath /full/filesystem/path
    #
    # If you include a trailing / on /WEBpath then the server will
    # require it to be present in the URL.  You will also likely
    # need to provide a <Directory> section to allow access to
    # the filesystem path.

    #
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the target directory are treated as applications and
    # run by the server when requested rather than as documents sent to the
    # client.  The same rules about trailing "/" apply to ScriptAlias
    # directives as to Alias.
    #
    ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"

</IfModule>

<IfModule cgid_module>
    #
    # ScriptSock: On threaded servers, designate the path to the UNIX
    # socket used to communicate with the CGI daemon of mod_cgid.
    #
    #Scriptsock logs/cgisock
</IfModule>

#
# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/usr/local/apache2/cgi-bin">
    AllowOverride None
    Options None
    Order deny,allow
    Allow from all
</Directory>

#
# DefaultType: the default MIME type the server will use for a document
# if it cannot otherwise determine one, such as from filename extensions.
# If your server contains mostly text or HTML documents, "text/plain" is
# a good value.  If most of your content is binary, such as applications
# or images, you may want to use "application/octet-stream" instead to
# keep browsers from trying to display binary files as though they are
# text.
#
DefaultType text/plain

<IfModule mime_module>
    #
    # TypesConfig points to the file containing the list of mappings from
    # filename extension to MIME-type.
    #
    TypesConfig conf/mime.types

    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    #AddType application/x-gzip .tgz
    #
    # AddEncoding allows you to have certain browsers uncompress
    # information on the fly. Note: Not all browsers support this.
    #
    #AddEncoding x-compress .Z
    #AddEncoding x-gzip .gz .tgz
    #
    # If the AddEncoding directives above are commented-out, then you
    # probably should define those extensions to indicate media types:
    #
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    #
    # AddHandler allows you to map certain file extensions to "handlers":
    # actions unrelated to filetype. These can be either built into the server
    # or added with the Action directive (see below)
    #
    # To use CGI scripts outside of ScriptAliased directories:
    # (You will also need to add "ExecCGI" to the "Options" directive.)
    #
    #AddHandler cgi-script .cgi

    # For type maps (negotiated resources):
    #AddHandler type-map var

    #
    # Filters allow you to process content before it is sent to the client.
    #
    # To parse .shtml files for server-side includes (SSI):
    # (You will also need to add "Includes" to the "Options" directive.)
    #
    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>

#
# The mod_mime_magic module allows the server to use various hints from the
# contents of the file itself to determine its type.  The MIMEMagicFile
# directive tells the module where the hint definitions are located.
#
#MIMEMagicFile conf/magic

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# EnableMMAP and EnableSendfile: On systems that support it,
# memory-mapping or the sendfile syscall is used to deliver
# files.  This usually improves server performance, but must
# be turned off when serving from networked-mounted
# filesystems or if support for these functions is otherwise
# broken on your system.
#
#EnableMMAP off
#EnableSendfile off

# Supplemental configuration
#
# The configuration files in the conf/extra/ directory can be
# included to add extra features or to modify the default configuration of
# the server, or you may simply copy their contents here and change as
# necessary.

# Server-pool management (MPM specific)
#Include conf/extra/httpd-mpm.conf

# Multi-language error messages
#Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings
#Include conf/extra/httpd-autoindex.conf

# Language settings
#Include conf/extra/httpd-languages.conf

# User home directories
#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual
#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WEBDAV)
#Include conf/extra/httpd-dav.conf

# Various default settings
#Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent
#       but a statically compiled-in mod_ssl.
#
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

Agora para saber se o PHP está funcionando você precisa criar um arquivo chamado "info.php" sem as aspas no diretório dos arquivos html, que no nosso caso é o /usr/local/apache2/htdocs.

Digite:

# vim /usr/local/apache2/htdocs/info.php

E insira no conteúdo do info.php as seguintes linhas:

<html>
<body>

<?php
phpinfo();
?>

</body>
</html>

Agora precisamos iniciar o APACHE. Digite:

# /usr/local/apache2/bin/apachectl start

Normalmente aparecerá o seguinte erro:

Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Unable to open logs

O APACHE ja estará em funcionamento mas, vamos arrumar esse pequeno erro:

Edite o arquivo "hosts" que fica em /etc. Digite:

# vim /etc/hosts

Insira no conteúdo do arquivo a seguinte linha:

127.0.0.1       localhost.localdomain localhost

Salve e saia do arquivo.

Agora digite:

# hostname localhost.localdomain localhost

Pornto! Corrigimos o erro.

Agora vamos reiniciar o APACHE usando o seguinte comando:

# /usr/local/apache2/bin/apachectl restart

Caso você queira parar o seu APACHE use o seguinte comando:

# /usr/local/apache2/bin/apachectl stop

Agora abra o seu browser e digite:

http://127.0.0.1

ou

http://localhost

ou

http://localhost.localdomain

Se aparecer uma página do Apache é porque o apache funcionou, se não apareceu repita o processo ou comente o erro que aparece que tentarei solucionar seu problema.

Agora vamos testar se o seu PHP está funcionando, mas antes vamos ajustar para que você possa acessar o seu "info.php" do seu browser. Digite:

# chmod 755 /usr/local/apache2/htdocs/info.php

Agora abra novamente o seu browser e digite:

http://127.0.0.1/info.php

ou

http://localhost/info.php

ou

http://localhost.localdomain/info.php

Se aparecer uma página com as informações de instalação do PHP é porque tudo deu certo! Se não apareceu repita o processo ou comente o erro que aparece que tentarei solucionar seu problema.

Passe para a próxima página.

Página anterior     Próxima página

Páginas do artigo
   1. Primeiras instalações (VIM e GCC)
   2. Instalando e configurando o Apache2 e o PHP5 (ou PHP4)
   3. Instalando e configurando o SNMP e o MRTG
Outros artigos deste autor

Instalando e configurando o PostgreSQL

Leitura recomendada

Yum no Red Hat 4

i3 para computadores antigos

Instalando Ubuntu GNU/Linux em um Macbook

Assistindo vídeos no XMMS

HylaFAX + AvantFAX: Monte seu próprio servidor de fax

  
Comentários
[1] Comentário enviado por diekn em 12/08/2007 - 09:37h

Cara parabens,pelo seu artigo,e viva o linux,pra ti.

[2] Comentário enviado por balani em 13/08/2007 - 11:18h

Muito bom o seu artigo, mais qual a versão exata do apache que vc usou, pois a versão 2.2.4 o arquivo de configuração é muito diferente desse que vc usou.

[3] Comentário enviado por shin_ragnarok em 13/08/2007 - 11:49h

olá.

o arquivo ping.sh não consegui achar. Fiz a instalçao via apt. Tem como vc me passar ou postar?

muito obrigado.

[4] Comentário enviado por duduzinhu em 13/08/2007 - 13:43h

Balani eu usei a versão 2.2.4, fiz algumas alterações no início do httpd.conf se é isso que está diferente,
essas alterações não são muito importantes, coloquei apenas para organizar melhor. O conteúdo original do httpd.conf começa com a seguinte frase:

This is the main Apache HTTP server configuration file.

Espero ter esclarecido sua dúvida, qualquer coisa comente novamente. =)

Shin_ragnarok acabei me esquecendo de colocar o conteudo do arquivo ping.sh então la vai:

WorkDir: /usr/local/apache2/htdocs/mrtg
Title[localhost.ping]: Round Trip Time
PageTop[localhost.ping]: <H1>Round Trip Time</H1>
Target[localhost.ping]: `/usr/local/mrtg-2/ping.sh`
MaxBytes[localhost.ping]: 2000
Options[localhost.ping]: growright,unknaszero,nopercent,gauge
LegendI[localhost.ping]: Pkt loss %
LegendO[localhost.ping]: Avg RTT
YLegend[localhost.ping]: RTT (ms)

Lembre-se que o diretório que deve ficar o ping.sh é /usr/local/mrtg-2 junto com os demais arquivos de configuração.
Qualquer outros erros e dúvidas comentem e me desculpe por ter demorado para responder =]

[5] Comentário enviado por shin_ragnarok em 13/08/2007 - 14:24h

oi.


a parte do ping ta me retornando isso:

/etc/mrtg/ping.sh: line 1: WorkDir:: command not found
/etc/mrtg/ping.sh: line 2: Title[localhost.ping]:: command not found
/etc/mrtg/ping.sh: line 3: syntax error near unexpected token `newline'
/etc/mrtg/ping.sh: line 3: `PageTop[localhost.ping]: <H1>Round Trip Time</H1>'
2007-08-13 14:11:51: WARNING: Could not get any data from external command '/etc/mrtg/ping.sh'
Maybe the external command did not even start. (Procura ilegal)

2007-08-13 14:11:51: WARNING: Problem with External get '/etc/mrtg/ping.sh':
Expected a Number for 'in' but nothing'

2007-08-13 14:11:51: WARNING: Problem with External get '/etc/mrtg/ping.sh':
Expected a Number for 'out' but nothing'

2007-08-13 14:11:51: ERROR: Target[localhost.ping][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2007-08-13 14:11:51: ERROR: Target[localhost.ping][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data


como eu disse to usando tudo via apt. Então coloquei tudo no /etc/mrtg

todos vão certinho, menos o ping.sh. tem alguma coisa em específico pra ele?


valew.

[6] Comentário enviado por duduzinhu em 13/08/2007 - 16:01h

Bem, vamos fazer o seguinte então, delete o arquivo ping.ok dentro da pasta do mrtg, delete todo o conteudo do ping.sh e adicione o seguinte conteúdo:

#!/bin/sh
PING="/bin/ping"
# localhost, for example
ADDR="localhost.localdomain"
DATA=`$PING -c10 -s500 $ADDR -q `
LOSS=`echo $DATA | awk '{print $18 }' | tr -d %`
echo $LOSS
if [ $LOSS = 100 ];
then
echo 0
else
echo $DATA | awk -F/ '{print $5 }'

fi



Não se esqueça de colocar o caminho correto para o ping.sh no ping.cfg
Delete todos os gráficos do ping se é que ele criou algum, reinicie o snmp e o mrtg, certifique-se de que o nome do seu host é realmente "localhost". Aconselho que rode o comando para fazer o traffic.cfg e o mrtg.cfg novamente. Se mais algum erro acontecer comente =]

Ah! Quase me esqueço, dê um chmod 755 no
ping.sh, o comando ficaria:

chmod 755 /usr/local/mrtg-2/ping.sh

no seu caso como vc está usando o apt-get ficaria:

chmod 755 /etc/mrtg/ping.sh

Recomendo também que faça isso nos arquivos dentro da pasta do mrtg:

chmod 755 /usr/local/mrtg-2/*

ou no seu caso:

chmod 755 /etc/mrtg/*

[7] Comentário enviado por shin_ragnarok em 13/08/2007 - 17:31h

valew.. agora sim... vc tinha passado a mesma configurção do .cfg pro .sh ne?

agora ta funfando. valew. ótimo artigo.

[8] Comentário enviado por duduzinhu em 13/08/2007 - 18:37h

Realmente, depois que me dei conta, mas fico feliz por ter funcinado
=D

[9] Comentário enviado por y2h4ck em 14/08/2007 - 13:31h

Bom queridão,
configuração do SNMP é praticamente auto-explicativa e o MRTG tem um readme no man muito completo.

Quando você se refere "documentação que realmente explique", vc deveria colocar :"documentação que eu tivesse entendido".


Abraços.

[10] Comentário enviado por duduzinhu em 14/08/2007 - 14:35h

Então y2h4ck creio que você não gostou muito do meu artigo, e também só faltou me chamar de burro, mas criei o artigo pensando que até mesmo uma pessoa que nunca ouviu falar de linux pudesse intender. Pois creio que passam por aqui pessoas com diversos níveis de instrução então pensei que fosse melhor fazer um artigo bem explicado e realmente desde o começo como poucos artigos sobre snmp e mrtg, mas enfim, se fosse pra escrever um artigo para um Analista de Segurança da Informação sobre snmp e mrtg creio que este artigo iria ficar vazio. Eu penso que se você quisesse ganhar mais reputação que aliás você não tem pouca, você deveria fazer artigos e não inventar defeitos nos artigos dos outros muito menos chamar os outros de "burro" mesmo que isso seja indiretamente. E se o artigo ficou muito básico pra você que creio eu que deve realmente ter ficado lembre-se que eu disse que se tratava de uma configuração básica porém funcional, se é que você chegou a ler o artigo. Faça um artigo sobre snmp e mrtg para que eu possa aprender mais se é isso que deseja. E mais, se somente você até agora falou que: "Quando você se refere "documentação que realmente explique", vc deveria colocar :"documentação que eu tivesse entendido"." E mais nimguem falou que o artigo é pra "inciantes", você mesmo que indiretamente está chamando as pessoas que leram esse artigo de iniciantes. E quando você diz que o mrtg tem um readme no man muito bom, lembre-se que este artigo foi feito para pessoas com todos os niveis de instrução, ou seja, uma pessoa que tem pouco conhecimento de inglês não consiguirá ler um readme sobre mrtg. Bem era só isso que tinha a declarar, espero que agora fique claro pra você o que eu quis dizer com "Um artigo que realmente explicasse de maneira clara"

Abraços
Eduardo

[11] Comentário enviado por robersonfox em 15/08/2007 - 01:04h

Opa, Caro amigo, tenho uma dúvida crucial, quando instalo o apache e o php eles não identificam de cara as variáveis, ex:
http://www.genovaengine.com/index.php?p=sisgrafica
no meu servidor isto funciona, o site é redirecionado para a página do sis-grafica, mas aqui no meu notebook não, saberia me dizer o porque?

[12] Comentário enviado por duduzinhu em 15/08/2007 - 08:30h

Caro Roberson, gostaria que se possível reformulasse sua pergunta pois não consegui intende-la, e desculpe pela demora, é que você postou num horário não muito acessível =D

[13] Comentário enviado por linuxtb em 16/08/2007 - 01:16h

Meu amigo Eduardo,

Parei neste erro e agora não consigo passar disso. Sabe o que pode ser?
Segui todos os passos desde o ínicio.

Não condigo ver onde está o problema e se puder me ajudar fico muito grato.

A propósito , parabéns pelo artigo, pois há algum tempo procuro um artigo assim sobre o MRTG visto que os demais que vi por aí são muito complexos.

____________________________________________________________


** Ooops, one of many bad things happened:

a) You don't have the GD library installed.
Get it from http://www.boutell.com, compile it and
use either --with-gd-lib=DIR and --with-gd-inc=DIR to specify
its location. You might also have to use --with-z-inc,
--with-z-lib and --with-png-inc, --with-png-lib for gd
versions 1.6 and higher. Check config.log for more
information on the problem.

b) You have the GD library installed, but not the gd.h
header file. Download the source (see above) and use
--with-gd-inc=DIR to specify where the file can be found.

c) You have the library and the header file installed, but
you also have a shared GD library in the same directory.
Remove the shared library files and/or links (e.g.
libgd.so.2.0.0, libgd.so and libgd.so.2). This is especially
likely if you're using a recent (post 1.8.4) version of GD
and didn't configure it with --disable-shared.

d) You have gd library installed and also it's headers, but you are
missing libpng (and headers) or freetype (and headers)
(mrtg does not use freetype, but if your copy of gd is precompiled
against it, you have to install it ...

[14] Comentário enviado por duduzinhu em 16/08/2007 - 12:39h

Caro Jean, este problema está acontecendo porque você não tem a biblioteca GD (GD library)
instalada no seu computador, ou você não informou o PATH (caminho) correto na hora da instalação. Se você não tem a biblioteca GD instalada siga os passos do artigo para instalação. Se você já instalou-a em /usr/local/gd e colocou o configure do mrtg como foi escrito no artigo este erro não deveria acontecer. Se vocÊ usou o "yum" ou o "apt-get" para instalar a biblioteca GD, creio que em vez de /usr/local/gd/include e /usr/local/gd/lib, os respectivos caminhos seriam /usr/include e /usr/lib. Qualquer dúvida comente novamente e não deixe de avisar se deu certo. Não posso colocar mais detalhes sobre a instalação agora pois tenho que resolver alguns problemas técnicos no meu PC =D .

Abraços
Eduardo

[15] Comentário enviado por duduzinhu em 10/09/2007 - 15:15h

Também pode ser instalada a última versão do SNMP pois a configuração não muda, é que eu ainda não havia testado x)
A última versão do SNMP até agora é a 5.4.1

[16] Comentário enviado por thon_ba em 25/09/2007 - 17:59h

kra isso sim é um artigo o resto é sacanagem....valeu mesmo brow, eu nem estou precisando mas vou fazer só pra valorizar ainda mais o artigo.

[17] Comentário enviado por duduzinhu em 26/09/2007 - 13:24h

Fico muito feliz por ter gostado =)

[18] Comentário enviado por thon_ba em 07/10/2007 - 01:22h

Brow preciso de ajuda aqui, segui o tutorial, porem não funfou, aparece esse erro qndo tento criar o index atraves do comando.

ERROR: CFG Error Unknown Option "sscpurawnice.0&sscpurawnice.0" on line 5 or above.
Check doc/reference.txt for Help

[19] Comentário enviado por duduzinhu em 08/10/2007 - 08:59h

Caro Thon

Esta linha está no cpu.cfg, mas ela é necessária. Certifique-se de que o seu cpu.cfg está correto.
Segue abaixo o meu cpu.vfg para você consultar

WorkDir: /usr/local/apache2/htdocs/mrtg
LoadMIBs: /usr/local/snmp/share/snmp/mibs/UCD-SNMP-MIB.txt
Target[127.0.0.1.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:public@127.0.0.1 + ssCpuRawSystem.0&ssCpuRawSystem.0:public@127.0.0.1 + ssCpuRawNice.0&ssCpuRawNice.0:public@127.0.0.1
RouterUptime[127.0.0.1.cpu]: public@127.0.0.1
MaxBytes[127.0.0.1.cpu]: 100
Title[127.0.0.1.cpu]: CPU Load
PageTop[127.0.0.1.cpu]: <H1>Active CPU Load %</H1>
Unscaled[127.0.0.1.cpu]: ymwd
ShortLegend[127.0.0.1.cpu]: %
YLegend[127.0.0.1.cpu]: CPU Utilization
Legend1[127.0.0.1.cpu]: Active CPU in % (Load)
Legend2[127.0.0.1.cpu]:
Legend3[127.0.0.1.cpu]:
Legend4[127.0.0.1.cpu]:
LegendI[127.0.0.1.cpu]: Active
LegendO[127.0.0.1.cpu]:
Options[127.0.0.1.cpu]: growright,nopercent

Note que as linhas do cpu.cfg que coloquei acima que não começam com letra maiúscula são continuações da linha anterior. Recomendo que você cheque seus arquivos de configuração e se possível também instale a ultima versão do SNMP que é melhor do que a versão que eu usei neste artigo, as configurações bem como a instalação desse SNMP não mudam.
Veja que você precisa colocar o diretório correto das paginas html do mrtg (na 1ª linha) e o diretório correto da MIB do SNMP (na 2ª linha)
Veja também que eu alterei de "localhost" para "127.0.0.1"

Peço que se você não consiguir resolver o seu problema, mande seus arquivos de configuração para que eu possa checar e lhe enviar novamente.

Para me enviar os arquivos de configuração você pode compacta-los e colocar no rapidshare e depois só me informar o link para que eu possa baixá-los e analisá-los
Ou se preferir poste um comentário com todos eles.

Segue abaixo o link para download de uma versão mais atual do SNMP
http://sourceforge.net/project/downloading.php?group_id=12694&use_mirror=ufpr&filename=net-snmp-5.4....

Peço também queme diga se mais algum erro aconteceu ou se você conseguiu solucionar o seu problema

Fico no aguardo

Abraços
Eduardo

[20] Comentário enviado por c.rafael em 22/11/2007 - 11:34h

Pessoal, ...

estou com o seguinte problema quando mando executar o mrtg ele gera o erro abaixo:

[root@firewall mrtg]# ./mrtg.sh
SNMP Error:
no response received
SNMPv1_Session (remote host: "192.168.0.4" [192.168.0.4].161)
community: "public"
request ID: 622257764
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib/mrtg2/SNMP_util.pm line 490
SNMPGET Problem for ifInOctets.2 ifOutOctets.2 sysUptime sysName on public@192.168.0.4::::::v4only
at /usr/bin/mrtg line 2150
2007-11-22 11:28:59: WARNING: skipping because at least the query for ifInOctets.2 on 192.168.0.4 did not succeed
2007-11-22 11:28:59: WARNING: no data for ifInOctets&ifOutOctets:public@192.168.0.4. Skipping further queries for Host 192.168.0.4 in this round.
SNMP Error:
no response received
SNMPv1_Session (remote host: "2xx.xx.xxx.x" [2x.xx.xxx.x].161)
community: "public"
request ID: 547401509
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib/mrtg2/SNMP_util.pm line 490
SNMPGET Problem for ifInOctets.2 ifOutOctets.2 sysUptime sysName on public@2x.x.x.x::::::v4only
at /usr/bin/mrtg line 2150
2007-11-22 11:28:59: WARNING: skipping because at least the query for ifInOctets.2 on 2xx.xx.xxx.x did not succeed
2007-11-22 11:28:59: WARNING: no data for ifInOctets&ifOutOctets:public@2xx.xx.xxx.x. Skipping further queries for Host 201.15.147.6 in this round.
2007-11-22 11:29:19: ERROR: Target[192.168.0.4][_IN_] ' $target->[0]{$mode} ' did not eval into defined data
2007-11-22 11:29:19: ERROR: Target[192.168.0.4][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data
2007-11-22 11:29:19: ERROR: Target[2xx.xx.xxx.x][_IN_] ' $target->[1]{$mode} ' did not eval into defined data
2007-11-22 11:29:19: ERROR: Target[2xx.xx.xxx.x][_OUT_] ' $target->[1]{$mode} ' did not eval into defined data


O meu mrtg.cfg está assim:

### Diretorios
WorkDir: /var/www/mrtg/work
Htmldir: /var/www/mrtg/html
Imagedir: /var/www/mrtg/image
Logdir: /var/log/mrtg/
ThreshDir: /var/www/mrtg/thresh

Interval: 5
Language: portuguese
RunAsDaemon: No


Target[192.168.0.4]: 2:public@192.168.0.4
SetEnv[192.168.0.4]: MRTG_INT_IP="192.168.1.0/24" MRTG_INT_DESCR="eth0"
MaxBytes[192.168.0.4]: 1250000
Title[192.168.0.4]: MRTG - Analise de trafego da server (firewall)
Options[192.168.0.4]:gauge,growright,nopercent,avgpeak

Target[2x.x.x.x]: 2:public@2x.x.x.x
SetEnv[2x.x.x.x]: MRTG_INT_IP="2x.x.x.x" MRTG_INT_DESCR="eth1"
MaxBytes[2x.x.x.x]: 1250000
Title[2x.x.x.x]: MRTG - Analise de trafego da server2 (internet)
Options[2x.x.x.x]:gauge,growright,nopercent,avgpeak

[21] Comentário enviado por neturnoxd em 10/09/2009 - 11:15h

ok men
bom bom bom ta neh...
mas eu fiz tudo e nao consigo fazer os graficos se atualizarem
tipo vejo os graficos mas ta em branco
qual eh o problema

flw



(nao coloquei acentos porque nao da =])

[22] Comentário enviado por neturnoxd em 10/09/2009 - 11:16h



[23] Comentário enviado por neturnoxd em 10/09/2009 - 11:27h

o0 que nao vai responder?
se vo nao responder o comentario [21]
eu vou mandar + 10 comentarios
mu haaaa [o.o"]

[24] Comentário enviado por c.rafael em 10/09/2009 - 11:34h

neturnoxd !!

Por padrão o MRTG atualiza os gráficos a cada 5 minutos, você pode colocar ele como daemon e aí informar de tempos em tempos para ele atualizar ou colocar no crontab .

Faz o teste das duas formas e espere por 1 hora, .. que provavelmente irá gerar gráficos.

[25] Comentário enviado por neturnoxd em 10/09/2009 - 18:17h

pois é
coloquei no crontab mas mesmo assim nao funfo
tipo os graficos aparecem certinho mais nao mostra nada.

[26] Comentário enviado por manoserpa em 07/04/2010 - 14:02h

Olá.

Eu estou configurando o Apache com PHP no Fedora e quando tento abrir a página PHP ele abre a janela de download, vc sabe o que pode ser?

Valeu.

[27] Comentário enviado por c.rafael em 07/04/2010 - 14:32h

A integraçã do Apeche e PHP ainda não está funcionando, você pode veridicar os seguintes itens:

1) Em "DirectoryIndex" Verifica se o index.php está incluido.
2) Verificar os seguintes itens se estão OK.
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps


Pode ser que não tenho no arquivo do apache essas linhas, mas terá um INCLUDE do modulo de php algo tipo:

Include diretorio/modulephp.conf

[28] Comentário enviado por manoserpa em 08/04/2010 - 11:06h

Bom dia.

Valeu Rafael, resolvido!

=D


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts