Installation of Zabbix in Centos 7
-
Yes, I have started the MariaDB by the following command given below
sudo systemctl start mariadb
sudo systemctl enable mariadb -
Use ps to see if it is running.
-
Yes,the MySQL is working
[lakshmana@dny-lnx-zabbix ~]$ ps -ef | grep mysql
root 27635 27481 0 13:14 pts/4 00:00:00 sudo mysql_secure_installation
root 27636 27635 0 13:14 pts/4 00:00:00 /bin/sh /bin/mysql_secure_installation
mysql 27770 1 0 13:23 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
mysql 27928 27770 0 13:23 ? 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
lakshma+ 28085 27663 0 13:28 pts/5 00:00:00 grep --color=auto mysql -
Then I have Set MySQL root password
By default, MySQL root password is empty. So, to prevent unauthorized access to MySQL, let us set root user password. Enter the following command to setup mysql root user password:
mysql_secure_installation
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not foundNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.Enter current password for root (enter for none):
OK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.Set root password? [Y/n] y ## Enter Y and press Enter
New password: ## Enter new password
Re-enter new password: ## Enter password again
Password updated successfully!
Reloading privilege tables..
... Success!By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.Remove anonymous users? [Y/n] y ## Enter Y and press Enter
... Success!Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] y ## Enter Y and press Enter
... Success!By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.Remove test database and access to it? [Y/n] y ## Enter Y and press Enter
- Dropping test database...
... Success! - Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.Reload privilege tables now? [Y/n] y ## Enter Y and press Enter
... Success!Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.Thanks for using MariaDB!
- Dropping test database...
-
Looks like you are all set then. What is the issue?
-
There is no issue. The installation is going on now
-
Oh okay.
-
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely used open-source general purpose scripting language that is especially suited for web development and can be embedded into HTML.
Install PHP with following command:
sudo yum install php php-mysql php-gd php-pear -y
-
PHP actually standards of Personal Home Page which makes little sense, bit it was what PHP was created as. The acronym you mention is something new that people have tried to change it to, but PHP was created as Personal Home Page. As a true acronym they can't exactly change it later
-
The PHP installed by the following command
sudo yum install php php-mysql php-gd php-pear -y
Test PHP:
Create a sample “testphp.php” file in Apache document root folder and append the lines as shown below:vi /var/www/html/testphp.php
Add the following lines.<?php
phpinfo();
?>
Restart httpd service:systemctl restart httpd
-
Navigate to http://server-ip-address/testphp.php. It will display all the details about php such as version, build date and commands etc.
phpinfo() - Mozilla Firefox_002
If you want to install all php modules, enter the command yum install php* -y and restart the httpd service. To verify for the modules, open web browser and navigate to http://server-ip-address/testphp.php. You will then see all php modules.
-
phpMyAdmin is a free open-source web interface tool used to manage your MySQL databases. By default phpMyAdmin will not be not found in CentOS/RHEL/Scientific Linux official repositories. So let us install it from EPEL repository.
To add EPEL repository, just follow the link.
Install EPEL Repository on RHEL/CentOS/Scientific Linux 7
Now, install phpMyAdmin:sudo yum install phpmyadmin -y
Configure phpMyAdmin
By default, phpMyAdmin can only be accessed from the localhost itself. To make it to accessible globally, do the following steps.Edit the phpmyadmin.conf file:
vi /etc/httpd/conf.d/phpMyAdmin.conf
-
In the above path Why I have to put hashes in the configuration files?
-
Hashes denote comments.
-
Find and comment the whole /<Directory> section and add the lines as shown below:
[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdminComment the following Section
#<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
#</Directory>
Add the following lines:
<Directory /usr/share/phpMyAdmin/>
Options none
AllowOverride Limit
Require all granted
</Directory>
[...]
Edit “config.inc.php” file and change from “cookie” to “http” to change the authentication in phpMyAdmin:vi /etc/phpMyAdmin/config.inc.php
Change ‘cookie’ to ‘http’.[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
[...]
Restart the Apache service:systemctl restart httpd
-
After this step I am unable to login to the Phpadmin page in the browser
-
What may be the issue with this?
-
Logged in now with proper username and password
-
Create MySQL database and user for Zabbix
Login to MariaDB prompt with command:
mysql -u root -p
Create a database called ‘zabbixdb’ and database user called ‘zabbixuser’.Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.41-MariaDB MariaDB ServerCopyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database zabbixdb character set utf8;
Query OK, 1 row affected (0.05 sec)MariaDB [(none)]> grant all privileges on zabbixdb.* to 'zabbixuser'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.21 sec)MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> exit
Bye -
Error comes here??
[lakshmana@dny-lnx-zabbix ~]$ mysql -u zabbixuser -p zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.5/create/schema.sql
-bash: /usr/share/doc/zabbix-server-mysql-2.4.5/create/schema.sql: No such file or directory