CentOS release 6.8 (Final) 安装 Zabbix 3.2.6

1、检查和卸载系统存在的相关软件名,避免出现问题

[root@localhost ~]# yum remove -y mysql* httpd* php* nginx* zabbix*

2、安装 yum 扩展源

[root@localhost ~]# rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm

3、安装 php 所需包

[root@localhost ~]# yum -y install httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap wget ntpdate net-snmp*
[root@localhost ~]# yum install -y gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel

4、mysql 安装及账号创建

[root@localhost ~]# yum -y install mysql-server mysql mysql-devel
[root@localhost ~]# /etc/init.d/mysqld start

5、创建 zabbix 数据库

[root@localhost ~]# mysql -u root
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';
mysql> quit
Bye

6、创建 zabbix 组与用户

[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -g zabbix zabbix

7、下载 zabbix3.2.x 安装包
下载页面 https://www.zabbix.com/download

[root@localhost ~]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz

8、导入 zabbix 数据到数据库中

[root@localhost ~]# tar zxvf zabbix-3.2.6.tar.gz
[root@localhost ~]# cd zabbix-3.2.6/database/mysql/
[root@localhost mysql]# mysql -u zabbix -p zabbix < schema.sql
Enter password: (zabbix)
[root@localhost mysql]# mysql -u zabbix -p zabbix < images.sql
Enter password: (zabbix)
[root@localhost mysql]# mysql -u zabbix -p zabbix < data.sql
Enter password: (zabbix)

9、编译安装 zabbix

[root@localhost ~]# cd /root/zabbix-3.2.6/
[root@localhost zabbix-3.2.6]# ./configure --enable-server  --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl
[root@localhost zabbix-3.2.6]# make install

9.1 如果提示 “WARNING: ‘automake-1.14’ is missing on your system.”
说明 antomake 没有对应版本或没有这个软件,执行以下内容

[root@localhost ~]# wget http://ftp.gnu.org/gnu/automake/automake-1.14.1.tar.gz
[root@localhost ~]# tar -xvf automake-1.14.1.tar.gz
[root@localhost ~]# cd automake-1.14.1
[root@localhost automake-1.14.1]# ./configure
[root@localhost automake-1.14.1]# make
[root@localhost automake-1.14.1]# make install

10、修改配置启动文件

[root@localhost ~]# vim /usr/local/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

11、创建 zabbix web 页面目录

[root@localhost ~]# mkdir /var/www/html/zabbix
[root@localhost ~]# cd /root/zabbix-3.2.6/frontends/php/
[root@localhost ~]# cp -a . /var/www/html/zabbix/

12、安全设置

12.1 创建一个规则允许 web 服务器访问前端文件

[root@localhost ~]# chcon -Rv --type=httpd_sys_content_t /var/www/html

12.2 运行 apache 和 zabbix 访问外网

[root@localhost ~]# setsebool -P httpd_can_network_connect=1
[root@localhost ~]# setsebool -P zabbix_can_network=1

12.3 设置 apache 用户 web 接口文件的所有者

[root@localhost ~]# chown -R apache:apache /var/www/html/zabbix

12.4 为 zabbix web 界面添加权限

[root@localhost ~]# chmod +x /var/www/html/zabbix/conf/
[root@localhost ~]# cp /root/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
[root@localhost ~]# chkconfig --add /etc/init.d/zabbix_server

12.5 启用 zabbix 服务器 apache 和 mysql 服务启动

[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig mysqld on
[root@localhost ~]# chkconfig zabbix_server on

13、启动 httpd 和 zabbix_server

[root@localhost ~]# /etc/init.d/httpd start
[root@localhost ~]# service zabbix_server start

14、优化 php

[root@localhost ~]# vim /etc/php.ini
post_max_size=16M
max_execution_time=300
max_input_time=300
date.timezone=Asia/Shanghai
always_populate_raw_post_data=-1

14.1 修改完成后重启 httpd

[root@localhost ~]# /etc/init.d/httpd restart

15、配置防火墙

[root@localhost ~]# vim /etc/sysconfig/iptables
iptables -I INPUT -p tcp --dport 10050 -j ACCEPT
iptables -I INPUT -p tcp --dport 10051 -j ACCEPT

16、访问 zabbix web 管理页面
http://zabbix_server_IP/zabbix/

17、配置 zabbix

17.1 检查参数
进入在 zaibbix web 管理界面后将进行以下配置

Check of pre-requisites
Current value	Required	
PHP version	5.6.40	5.4.0	OK
PHP option "memory_limit"	128M	128M	OK
PHP option "post_max_size"	16M	16M	OK
PHP option "upload_max_filesize"	2M	2M	OK
PHP option "max_execution_time"	300	300	OK
PHP option "max_input_time"	300	300	OK
PHP option "date.timezone"	Asia/Shanghai		OK
PHP databases support	MySQL OK
PHP bcmath	on		OK
PHP mbstring	on		OK
PHP option "mbstring.func_overload"	off	off	OK
PHP option "always_populate_raw_post_data"	off	off	OK
PHP sockets	on		OK
PHP gd	2.1.0	2.0	OK
PHP gd PNG support	on		OK
PHP gd JPEG support	on		OK
PHP gd FreeType support	on		OK
PHP libxml	2.7.6	2.6.15	OK
PHP xmlwriter	on		OK
PHP xmlreader	on		OK
PHP ctype	on		OK
PHP session	on		OK
PHP option "session.auto_start"	off	off	OK
PHP gettext	on		OK
PHP option "arg_separator.output"	&	&	OK

17.2 数据库链接

Configure DB connection
Please create database manually, and set the configuration parameters for connection to this database. Press "Next step" button when done.

Database type MySQL

Database host localhost
Database port 0 (0 - use default port)
Database name zabbix
User zabbix
Password ••••••

17.3 服务器配置

Zabbix server details
Please enter the host name or host IP address and port number of the Zabbix server, as well as the name of the installation (optional).

Host localhost
Port 10051
Name Zabbix3.2

17.4 配置确认清单

Pre-installation summary
Please check configuration parameters. If all is correct, press "Next step" button, or "Back" button to change configuration parameters.

Database type	MySQL
Database server	localhost
Database port	default
Database name	zabbix
Database user	zabbix
Database password	******
 	
Zabbix server	localhost
Zabbix server port	10051
Zabbix server name	zabbix3.2

17.5 完成

Congratulations! You have successfully installed Zabbix frontend.
Configuration file "/var/www/html/zabbix/conf/zabbix.conf.php" created.

18、登录 zabbix web

用户名:Admin
密码:zabbix

18.1 如果忘记密码,使用以下方式可以重置
18.1.1 查询 zabbix 数据库用户记录

[root@localhost ~]# mysql -uroot -p -e "select * from zabbix.users\G"
Enter password: 
*************************** 1. row ***************************
        userid: 1
         alias: Admin
          name: Zabbix
       surname: Administrator
        passwd: 5fce1b3e34b520afeffb37ce08c7cd66
           url: 
     autologin: 1
    autologout: 0
          lang: en_GB
       refresh: 30
          type: 3
         theme: default
attempt_failed: 0
    attempt_ip: 139.226.86.62
 attempt_clock: 1553099872
 rows_per_page: 50

18.1.2 修改 zabbix 数据库用户信息

[root@localhost ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 82
Server version: 5.6.43 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update users set passwd='5fce1b3e34b520afeffb37ce08c7cd66' where userid='1';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

mysql> quit
Bye

完成,可使用 用户名:Admin 密码:zabbix 登录 zabbix web。

18.2 登录后务必立即修改默认密码,右上角 —— 用户头像 —— 用户 —— 密码 —— 修改密码。

19、安全设置
建议将 /var/www/html/zabbix 目录下的 setup.php 文件重命名备用,否则任意人员都可任意时间访问这个文件来配置 Zabbix。

20、安装客户端 zabbix_agent

[root@localhost ~]# yum -y install http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm
[root@localhost ~]# yum install zabbix-agent -y

21、配置客户端 zabbix_agent

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1 (服务端 IP)
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1 (服务端 IP)
ServerActive=127.0.0.1 (服务端 IP)
Hostname=Zabbix server

22、添加被监测主机
当前所安装 zabbix 的主机已经默认被添加监测,从 zabbix – 配置 – 主机 – 即可找到 “Zabbix server”,默认状态为 “已停用,需要手动开启”。

CentOS 6.8 chkconfig、service、ps、grep、kill 命令

[root@hexingxing ~]#  chkconfig --list ## 查看所有开机启用服务项
auditd         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
blk-availability 0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
crond           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
htcacheclean   0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
httpd           0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
ip6tables       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
iptables       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
iscsi           0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
iscsid         0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
lvm2-monitor   0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
mdmonitor       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
multipathd     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
netconsole     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
netfs           0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
network         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nginx           0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
ntpd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
ntpdate         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nyGuardd       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nyTerminald     0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
postfix         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
rdisc           0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
restorecond     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
rsyslog         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
saslauthd       0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
sshd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
udev-post       0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
vsftpd         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
[root@hexingxing ~]#  service nginx start ## 开启 nginx 服务
正在启动 nginx:                                           [确定]
[root@hexingxing ~]#  chkconfig nginx on ## 设置 nginx 服务开机启用
[root@hexingxing ~]#  chkconfig --list ## 查看所有开机服务项,此时 nginx 已经开机开启服务
auditd         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
blk-availability 0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
crond           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
htcacheclean   0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
httpd           0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
ip6tables       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
iptables       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
iscsi           0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
iscsid         0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
lvm2-monitor   0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
mdmonitor       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
multipathd     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
netconsole     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
netfs           0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
network         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nginx           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
ntpd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
ntpdate         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nyGuardd       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nyTerminald     0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
postfix         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
rdisc           0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
restorecond     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
rsyslog         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
saslauthd       0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
sshd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
udev-post       0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
vsftpd         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
[root@hexingxing ~]#  chkconfig httpd on ## 设置 apache 服务开机启用
[root@hexingxing ~]#  chkconfig --list ## 查看所有开机服务项,此时 apache 已经开机开启服务
auditd         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
blk-availability 0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
crond           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
htcacheclean   0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
httpd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
ip6tables       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
iptables       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
iscsi           0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
iscsid         0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
lvm2-monitor   0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
mdmonitor       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
multipathd     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
netconsole     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
netfs           0: 关闭 1: 关闭 2: 关闭 3: 启用 4: 启用 5: 启用 6: 关闭
network         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nginx           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
ntpd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
ntpdate         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nyGuardd       0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
nyTerminald     0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
postfix         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
rdisc           0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
restorecond     0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
rsyslog         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
saslauthd       0: 关闭 1: 关闭 2: 关闭 3: 关闭 4: 关闭 5: 关闭 6: 关闭
sshd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
udev-post       0: 关闭 1: 启用 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
vsftpd         0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
[root@hexingxing ~]#  shutdown -r now  ##重启系统
[root@hexingxing ~]#  service nginx start ## 开启 nginx 服务,开启失败,由于现在 apache 和 nginx 已经全部是开机启用并都使用 80 端口,所以有冲突,要启用 nginx 需要停止 apache 服务
正在启动 nginx:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[失败]
[root@hexingxing ~]#  service httpd stop ## 停止 apache 服务
停止 httpd:                                               [确定]
[root@hexingxing ~]#  service nginx start ## 开启 nginx 服务,此时可以正常开启 nginx 服务
正在启动 nginx:                                           [确定]
[root@hexingxing ~]#  service httpd status ## 查看 apache 服务状态,已停止
httpd 已停止
[root@hexingxing ~]#  service nginx status ## 查看 nginx 服务状态,正在运行
nginx (pid  2978) 正在运行...
[root@hexingxing ~]#  service nginx stop ## 停止 nginx 服务
停止 nginx:                                               [确定]
[root@hexingxing ~]#  service httpd start ## 开启 apache 服务
正在启动 httpd:                                               [确定]
[root@hexingxing ~]#  ps -ef ## 查看正在运行的所有进程
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:16 ?        00:00:01 /sbin/init
root         2     0  0 19:16 ?        00:00:00 [kthreadd]
root         3     2  0 19:16 ?        00:00:00 [migration/0]
root         4     2  0 19:16 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 19:16 ?        00:00:00 [stopper/0]
root         6     2  0 19:16 ?        00:00:00 [watchdog/0]
root         7     2  0 19:16 ?        00:00:00 [migration/1]
root         8     2  0 19:16 ?        00:00:00 [stopper/1]
root         9     2  0 19:16 ?        00:00:00 [ksoftirqd/1]
root        10     2  0 19:16 ?        00:00:00 [watchdog/1]
root        11     2  0 19:16 ?        00:00:02 [events/0]
root        12     2  0 19:16 ?        00:00:02 [events/1]
root        13     2  0 19:16 ?        00:00:00 [events/0]
root        14     2  0 19:16 ?        00:00:00 [events/1]
root        15     2  0 19:16 ?        00:00:00 [events_long/0]
root        16     2  0 19:16 ?        00:00:00 [events_long/1]
root        17     2  0 19:16 ?        00:00:00 [events_power_ef]
root        18     2  0 19:16 ?        00:00:00 [events_power_ef]
root        19     2  0 19:16 ?        00:00:00 [cgroup]
root        20     2  0 19:16 ?        00:00:00 [khelper]
root        21     2  0 19:16 ?        00:00:00 [netns]
root        22     2  0 19:16 ?        00:00:00 [async/mgr]
root        23     2  0 19:16 ?        00:00:00 [pm]
root        24     2  0 19:16 ?        00:00:00 [sync_supers]
root        25     2  0 19:16 ?        00:00:00 [bdi-default]
root        26     2  0 19:16 ?        00:00:00 [kintegrityd/0]
root        27     2  0 19:16 ?        00:00:00 [kintegrityd/1]
root        28     2  0 19:16 ?        00:00:00 [kblockd/0]
root        29     2  0 19:16 ?        00:00:00 [kblockd/1]
root        30     2  0 19:16 ?        00:00:00 [kacpid]
root        31     2  0 19:16 ?        00:00:00 [kacpi_notify]
root        32     2  0 19:16 ?        00:00:00 [kacpi_hotplug]
root        33     2  0 19:16 ?        00:00:00 [ata_aux]
root        34     2  0 19:16 ?        00:00:00 [ata_sff/0]
root        35     2  0 19:16 ?        00:00:00 [ata_sff/1]
root        36     2  0 19:16 ?        00:00:00 [ksuspend_usbd]
root        37     2  0 19:16 ?        00:00:00 [khubd]
root        38     2  0 19:16 ?        00:00:00 [kseriod]
root        39     2  0 19:16 ?        00:00:00 [md/0]
root        40     2  0 19:16 ?        00:00:00 [md/1]
root        41     2  0 19:16 ?        00:00:00 [md_misc/0]
root        42     2  0 19:16 ?        00:00:00 [md_misc/1]
root        43     2  0 19:16 ?        00:00:00 [linkwatch]
root        46     2  0 19:16 ?        00:00:00 [khungtaskd]
root        47     2  0 19:16 ?        00:00:00 [kswapd0]
root        48     2  0 19:16 ?        00:00:00 [ksmd]
root        49     2  0 19:16 ?        00:00:00 [khugepaged]
root        50     2  0 19:16 ?        00:00:00 [aio/0]
root        51     2  0 19:16 ?        00:00:00 [aio/1]
root        52     2  0 19:16 ?        00:00:00 [crypto/0]
root        53     2  0 19:16 ?        00:00:00 [crypto/1]
root        60     2  0 19:16 ?        00:00:00 [kthrotld/0]
root        61     2  0 19:16 ?        00:00:00 [kthrotld/1]
root        62     2  0 19:16 ?        00:00:00 [pciehpd]
root        64     2  0 19:16 ?        00:00:00 [kpsmoused]
root        65     2  0 19:16 ?        00:00:00 [usbhid_resumer]
root        66     2  0 19:16 ?        00:00:00 [deferwq]
root        98     2  0 19:16 ?        00:00:00 [kdmremove]
root        99     2  0 19:16 ?        00:00:00 [kstriped]
root       132     2  0 19:16 ?        00:00:00 [ttm_swap]
root       253     2  0 19:16 ?        00:00:00 [mpt_poll_0]
root       254     2  0 19:16 ?        00:00:00 [mpt/0]
root       255     2  0 19:16 ?        00:00:00 [scsi_eh_0]
root       258     2  0 19:16 ?        00:00:00 [scsi_eh_1]
root       259     2  0 19:16 ?        00:00:00 [scsi_eh_2]
root       379     2  0 19:16 ?        00:00:00 [jbd2/sda3-8]
root       380     2  0 19:16 ?        00:00:00 [ext4-dio-unwrit]
root       418     2  0 19:16 ?        00:00:00 [flush-8:0]
root       471     1  0 19:16 ?        00:00:00 /sbin/udevd -d
root       645     2  0 19:16 ?        00:00:00 [vmmemctl]
root       842     2  0 19:16 ?        00:00:00 [jbd2/sda1-8]
root       843     2  0 19:16 ?        00:00:00 [ext4-dio-unwrit]
root       844     2  0 19:16 ?        00:00:00 [jbd2/sdb1-8]
root       845     2  0 19:16 ?        00:00:00 [ext4-dio-unwrit]
root       881     2  0 19:16 ?        00:00:00 [kauditd]
root      1804     1  0 19:16 ?        00:00:00 auditd
root      1826     1  0 19:16 ?        00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root      1895     1  0 19:16 ?        00:00:00 /usr/sbin/sshd
ntp       1923     1  0 19:16 ?        00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root      1937     1  0 19:16 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      1947     1  0 19:16 ?        00:00:01 /usr/local/nyTerminald/nyterminal
root      2039     1  0 19:16 ?        00:00:00 /usr/libexec/postfix/master
postfix   2045  2039  0 19:16 ?        00:00:00 pickup -l -t fifo -u
postfix   2046  2039  0 19:16 ?        00:00:00 qmgr -l -t fifo -u
root      2093     1  0 19:16 ?        00:00:01 /usr/local/nyTerminald/nyguard
root      2107     1  0 19:16 ?        00:00:01 crond
root      2820     1  0 19:17 tty1     00:00:00 /sbin/mingetty /dev/tty1
root      2822     1  0 19:17 tty2     00:00:00 /sbin/mingetty /dev/tty2
root      2824     1  0 19:17 tty3     00:00:00 /sbin/mingetty /dev/tty3
root      2828     1  0 19:17 tty4     00:00:00 /sbin/mingetty /dev/tty4
root      2830   471  0 19:17 ?        00:00:00 /sbin/udevd -d
root      2831     1  0 19:17 tty5     00:00:00 /sbin/mingetty /dev/tty5
root      2832   471  0 19:17 ?        00:00:00 /sbin/udevd -d
root      2834     1  0 19:17 tty6     00:00:00 /sbin/mingetty /dev/tty6
root      2872  1895  0 19:19 ?        00:00:00 sshd: root@pts/0
root      2876  2872  0 19:19 pts/0    00:00:00 -bash
root      3232     1  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3234  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3235  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3236  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3237  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3238  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3239  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3240  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3241  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
root      3909  2876  0 20:04 pts/0    00:00:00 ps -ef
[root@hexingxing ~]#  ps -ef | grep apache ## 筛选 apache 的进程
apache    3234  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3235  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3236  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3237  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3238  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3239  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3240  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3241  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
root      3959  2876  0 20:06 pts/0    00:00:00 grep apache
[root@hexingxing ~]#  ps -ef | grep httpd ## 筛选以 httpd 为进程名的 apache 的进程
root      3232     1  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3234  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3235  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3236  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3237  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3238  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3239  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3240  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
apache    3241  3232  0 19:30 ?        00:00:00 /usr/sbin/httpd
root      3927  2876  0 20:05 pts/0    00:00:00 grep httpd
[root@hexingxing ~]#  ps -ef | grep nginx ## 筛选 nginx 的进程,没有在运行的进程,因为前面已经停止了 nginx 的服务
root      3994  2876  0 20:08 pts/0    00:00:00 grep nginx
[root@hexingxing ~]#  kill 3232 ## 终止 3232 PPID 的进程,也就是 apache 的主进程
[root@hexingxing ~]#  kill 3232 ## 再次终止 3232 PPID 的进程,显示没有那个进程,说明已经终止掉了
-bash: kill: (3232) - 没有那个进程
[root@hexingxing ~]#  ps -ef | grep apache ## 筛选 apache 的进程,没有在运行的进程,已经完全终止掉了
root      4062  2876  0 20:13 pts/0    00:00:00 grep apache
[root@hexingxing ~]#  ps -ef ##查看整体的进程也没有了 apache 的进程服务
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:16 ?        00:00:01 /sbin/init
root         2     0  0 19:16 ?        00:00:00 [kthreadd]
root         3     2  0 19:16 ?        00:00:00 [migration/0]
root         4     2  0 19:16 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 19:16 ?        00:00:00 [stopper/0]
root         6     2  0 19:16 ?        00:00:00 [watchdog/0]
root         7     2  0 19:16 ?        00:00:00 [migration/1]
root         8     2  0 19:16 ?        00:00:00 [stopper/1]
root         9     2  0 19:16 ?        00:00:00 [ksoftirqd/1]
root        10     2  0 19:16 ?        00:00:00 [watchdog/1]
root        11     2  0 19:16 ?        00:00:02 [events/0]
root        12     2  0 19:16 ?        00:00:03 [events/1]
root        13     2  0 19:16 ?        00:00:00 [events/0]
root        14     2  0 19:16 ?        00:00:00 [events/1]
root        15     2  0 19:16 ?        00:00:00 [events_long/0]
root        16     2  0 19:16 ?        00:00:00 [events_long/1]
root        17     2  0 19:16 ?        00:00:00 [events_power_ef]
root        18     2  0 19:16 ?        00:00:00 [events_power_ef]
root        19     2  0 19:16 ?        00:00:00 [cgroup]
root        20     2  0 19:16 ?        00:00:00 [khelper]
root        21     2  0 19:16 ?        00:00:00 [netns]
root        22     2  0 19:16 ?        00:00:00 [async/mgr]
root        23     2  0 19:16 ?        00:00:00 [pm]
root        24     2  0 19:16 ?        00:00:00 [sync_supers]
root        25     2  0 19:16 ?        00:00:00 [bdi-default]
root        26     2  0 19:16 ?        00:00:00 [kintegrityd/0]
root        27     2  0 19:16 ?        00:00:00 [kintegrityd/1]
root        28     2  0 19:16 ?        00:00:00 [kblockd/0]
root        29     2  0 19:16 ?        00:00:00 [kblockd/1]
root        30     2  0 19:16 ?        00:00:00 [kacpid]
root        31     2  0 19:16 ?        00:00:00 [kacpi_notify]
root        32     2  0 19:16 ?        00:00:00 [kacpi_hotplug]
root        33     2  0 19:16 ?        00:00:00 [ata_aux]
root        34     2  0 19:16 ?        00:00:00 [ata_sff/0]
root        35     2  0 19:16 ?        00:00:00 [ata_sff/1]
root        36     2  0 19:16 ?        00:00:00 [ksuspend_usbd]
root        37     2  0 19:16 ?        00:00:00 [khubd]
root        38     2  0 19:16 ?        00:00:00 [kseriod]
root        39     2  0 19:16 ?        00:00:00 [md/0]
root        40     2  0 19:16 ?        00:00:00 [md/1]
root        41     2  0 19:16 ?        00:00:00 [md_misc/0]
root        42     2  0 19:16 ?        00:00:00 [md_misc/1]
root        43     2  0 19:16 ?        00:00:00 [linkwatch]
root        46     2  0 19:16 ?        00:00:00 [khungtaskd]
root        47     2  0 19:16 ?        00:00:00 [kswapd0]
root        48     2  0 19:16 ?        00:00:00 [ksmd]
root        49     2  0 19:16 ?        00:00:00 [khugepaged]
root        50     2  0 19:16 ?        00:00:00 [aio/0]
root        51     2  0 19:16 ?        00:00:00 [aio/1]
root        52     2  0 19:16 ?        00:00:00 [crypto/0]
root        53     2  0 19:16 ?        00:00:00 [crypto/1]
root        60     2  0 19:16 ?        00:00:00 [kthrotld/0]
root        61     2  0 19:16 ?        00:00:00 [kthrotld/1]
root        62     2  0 19:16 ?        00:00:00 [pciehpd]
root        64     2  0 19:16 ?        00:00:00 [kpsmoused]
root        65     2  0 19:16 ?        00:00:00 [usbhid_resumer]
root        66     2  0 19:16 ?        00:00:00 [deferwq]
root        98     2  0 19:16 ?        00:00:00 [kdmremove]
root        99     2  0 19:16 ?        00:00:00 [kstriped]
root       132     2  0 19:16 ?        00:00:00 [ttm_swap]
root       253     2  0 19:16 ?        00:00:00 [mpt_poll_0]
root       254     2  0 19:16 ?        00:00:00 [mpt/0]
root       255     2  0 19:16 ?        00:00:00 [scsi_eh_0]
root       258     2  0 19:16 ?        00:00:00 [scsi_eh_1]
root       259     2  0 19:16 ?        00:00:00 [scsi_eh_2]
root       379     2  0 19:16 ?        00:00:00 [jbd2/sda3-8]
root       380     2  0 19:16 ?        00:00:00 [ext4-dio-unwrit]
root       418     2  0 19:16 ?        00:00:00 [flush-8:0]
root       471     1  0 19:16 ?        00:00:00 /sbin/udevd -d
root       645     2  0 19:16 ?        00:00:00 [vmmemctl]
root       842     2  0 19:16 ?        00:00:00 [jbd2/sda1-8]
root       843     2  0 19:16 ?        00:00:00 [ext4-dio-unwrit]
root       844     2  0 19:16 ?        00:00:00 [jbd2/sdb1-8]
root       845     2  0 19:16 ?        00:00:00 [ext4-dio-unwrit]
root       881     2  0 19:16 ?        00:00:00 [kauditd]
root      1804     1  0 19:16 ?        00:00:00 auditd
root      1826     1  0 19:16 ?        00:00:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root      1895     1  0 19:16 ?        00:00:00 /usr/sbin/sshd
ntp       1923     1  0 19:16 ?        00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root      1937     1  0 19:16 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      1947     1  0 19:16 ?        00:00:01 /usr/local/nyTerminald/nyterminal
root      2039     1  0 19:16 ?        00:00:00 /usr/libexec/postfix/master
postfix   2045  2039  0 19:16 ?        00:00:00 pickup -l -t fifo -u
postfix   2046  2039  0 19:16 ?        00:00:00 qmgr -l -t fifo -u
root      2093     1  0 19:16 ?        00:00:01 /usr/local/nyTerminald/nyguard
root      2107     1  0 19:16 ?        00:00:01 crond
root      2820     1  0 19:17 tty1     00:00:00 /sbin/mingetty /dev/tty1
root      2822     1  0 19:17 tty2     00:00:00 /sbin/mingetty /dev/tty2
root      2824     1  0 19:17 tty3     00:00:00 /sbin/mingetty /dev/tty3
root      2828     1  0 19:17 tty4     00:00:00 /sbin/mingetty /dev/tty4
root      2830   471  0 19:17 ?        00:00:00 /sbin/udevd -d
root      2831     1  0 19:17 tty5     00:00:00 /sbin/mingetty /dev/tty5
root      2832   471  0 19:17 ?        00:00:00 /sbin/udevd -d
root      2834     1  0 19:17 tty6     00:00:00 /sbin/mingetty /dev/tty6
root      2872  1895  0 19:19 ?        00:00:00 sshd: root@pts/0
root      2876  2872  0 19:19 pts/0    00:00:00 -bash
root      4063  2876  0 20:13 pts/0    00:00:00 ps -ef
[root@hexingxing ~]#  chkconfig --list | grep httpd  ##查看开机启用的服务,筛选 apache 的服务
httpd           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
[root@hexingxing ~]#  chkconfig --list | grep nginx ##查看开机启用的服务,筛选 nginx 的服务
nginx           0: 关闭 1: 关闭 2: 启用 3: 启用 4: 启用 5: 启用 6: 关闭
[root@hexingxing ~]#  service httpd start ##开启 apache 服务
正在启动 httpd:                                               [确定]
[root@hexingxing ~]#  service nginx start ##开启 nginx 服务,开启失败,由于前面已经开始了 apache ,所以启用失败
正在启动 nginx:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
[失败]
[root@hexingxing ~]#  service nginx status ##查看 nginx 服务状态,已经停止
nginx 已停止
[root@hexingxing ~]#  service httpd status ##查看 apache 服务状态,正在运行
httpd (pid  5578) 正在运行...

CentOS 6.8 配置 LAMP(Linux+Apache+PHP+MySQL)环境

前期准备

1、配置防火墙,开启 80 端口、3306 端口

[root@hexingxing ~]# vi /etc/sysconfig/iptables #编辑防火墙规则

 

将以下两条记录添加到默认的 22 端口这条规则的下面

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许 80 端口通过防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许 3306 端口通过防火墙
[root@hexingxing ~]# cat /etc/sysconfig/iptables #检查配置是否正确,正常的配置如下:

########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
########################################################
[root@hexingxing ~]# /etc/init.d/iptables restart #重启防火墙使配置生效

 

2、关闭 SELINUX

[root@hexingxing ~]# vi /etc/selinux/config
#SELINUX=enforcing #注释掉此行
#SELINUXTYPE=targeted #注释掉此行
SELINUX=disabled #增加此记录
[root@hexingxing ~]# :wq #保存退出
[root@hexingxing ~]# shutdown -r now #重启

 

安装服务

一、安装 Apache

[root@hexingxing ~]# yum install httpd #安装 Apache 服务
[root@hexingxing ~]# /etc/init.d/httpd start #启动 Apache

备注:Apache 启动之后如果提示以下错误:

正在启动 httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName

解决方法:

[root@hexingxing ~]# vi /etc/httpd/conf/httpd.conf #编辑 Apache 配置

找到 #ServerName www.example.com:80
修改为 ServerName localhost:80 #这里设置为你自己的域名,如果没有域名,可以设置为 localhost
[root@hexingxing ~]# :wq #保存退出

[root@hexingxing ~]# chkconfig httpd on #设为开机启动
[root@hexingxing ~]# /etc/init.d/httpd restart #重启 Apache

  

测试服务

在客户端浏览器输入服务器 IP 地址,如果配置正确,可以看到 Apache 相关的配置信息

 

二、安装 MySQL
1、安装 MySQL

[root@hexingxing ~]# yum install mysql mysql-server #安装 MySQL 服务
[root@hexingxing ~]# /etc/init.d/mysqld start #启动 MySQL
[root@hexingxing ~]# chkconfig mysqld on #设为开机启动
[root@hexingxing ~]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件

 

2、为 root 账户设置密码

[root@hexingxing ~]# mysql_secure_installation  #设置 MySQL 密码
 
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, 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 MySQL
root user without the proper authorisation.
Set root password? [Y/n]   #是否设置 root 用户密码,输入 y 并回车或直接回车
New password:   #设置 root 用户的密码
Re-enter new password:   #再输入一次你设置的密码
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL 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]   #是否删除匿名用户, 生产环境建议删除,所以直接回车
… 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]   #是否禁止 root 远程登录, 根据自己的需求选择 Y/n 并回车, 建议禁止
… Success!
 
By default, MySQL 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]   #是否删除 test 数据库, 直接回车
- 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]   #是否重新加载权限表,直接回车
… Success!
 
Cleaning up…

All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
 
Thanks for using MySQL!   #最后看到这个提示说明已经配置成功

// 安装 MySQL 简单的记忆:首次配置出现 Enter current password for root (enter for none): 时,无密码可直接回车,后续配置如果有密码输入密码回车;然后根据提示输入 Y,首次配置需要相输入密码和确认密码,第二次即提示是否变换密码;输入 2 次密码,回车;根据提示一直输入 Y;最后出现:Thanks for using MySQL! 即表示成功。

MySql 密码设置完成,重新启动 MySQL:

[root@hexingxing ~]# /etc/init.d/mysqld restart #重启
[root@hexingxing ~]# /etc/init.d/mysqld stop #停止
[root@hexingxing ~]# /etc/init.d/mysqld start #启动

 

三、安装 PHP
1、安装 PHP

[root@hexingxing ~]# yum install php #安装 PHP 服务

 

2、安装 PHP 组件,使 PHP 支持 MySQL

[root@hexingxing ~]# yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt #安装 PHP 组件
[root@hexingxing ~]# /etc/init.d/mysqld restart #重启 MySql
[root@hexingxing ~]# /etc/init.d/httpd restart #重启 Apache

 

测试服务

[root@hexingxing ~]# cd /var/www/html
[root@hexingxing ~]# vi index.php #编辑一个 phpinfo 的测试页面内容
[root@hexingxing ~]# :wq #保存退出

在客户端浏览器输入服务器 IP 地址,可以看到 PHP 相关的配置信息

调整配置

一、Apache 配置

[root@hexingxing ~]# vi /etc/httpd/conf/httpd.conf #编辑 Apache 配置文件
ServerTokens OS #在 44 行 修改为:ServerTokens Prod(在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On #在 536 行 修改为:ServerSignature Off(在错误页中不显示 Apache 的版本)
Options Indexes FollowSymLinks #在 331 行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行 CGI 及 SSI,禁止列出目录)
#AddHandler cgi-script .cgi #在 796 行 修改为:AddHandler cgi-script .cgi .pl(允许扩展名为.pl 的 CGI 脚本运行)
AllowOverride None #在 338 行 修改为:AllowOverride All(允许.htaccess)
AddDefaultCharset UTF-8 #在 759 行 修改为:AddDefaultCharset GB2312 (添加 GB2312 为默认编码)
Options Indexes MultiViews FollowSymLinks #在 554 行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var #在 402 行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var #设置默认首页文件,增加 index.php
KeepAlive Off #在 76 行 修改为:KeepAlive On(允许程序性联机)
MaxKeepAliveRequests 100 #在 83 行 修改为:MaxKeepAliveRequests 1000(增加同时连接数)
[root@hexingxing ~]# :wq #保存退出
[root@hexingxing ~]# /etc/init.d/httpd restart #重启
[root@hexingxing ~]# rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页

二、PHP 配置

[root@hexingxing ~]# vi /etc/php.ini #编辑
date.timezone = PRC #在 946 行 把前面的分号去掉,改为 date.timezone = PRC
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在 386 行 列出 PHP 可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在 432 行 禁止显示 php 版本的信息
magic_quotes_gpc = On #在 745 行 打开 magic_quotes_gpc 来防止 SQL 注入
short_open_tag = ON #在 229 行支持 php 短标签
open_basedir = .:/tmp/ #在 380 行 设置表示允许访问当前目录 (即 PHP 脚本文件所在之目录) 和/tmp/目录, 可以防止 php 木马跨站, 如果改了之后安装程序有问题,可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
[root@hexingxing ~]# :wq #保存退出
[root@hexingxing ~]# /etc/init.d/mysqld restart #重启 MySql
[root@hexingxing ~]# /etc/init.d/httpd restart #重启 Apche

PS1:
Apache 解析 PHP,修改 httpd.conf 文件,添加
Addtype application/x-httpd-php .php .phtml
Addtype application/x-httpd-php-source .phps
PS2:
Apache 默认的程序目录是 /var/www/html

测试网站服务页面

在 /var/www/html 目录下新建 html 或 php 文件测试是否可访问