搜索
您的当前位置:首页正文

centos7下部署apache 2.4 +mysql 5.7.13+php 5.6

来源:爱够旅游网


centOS7 下部署apache2.4 + mysql5.7 +php5.6

一.安装基本工具

yum -y install gcc cc wget lsrz openssl zlib libxml2 libxml2-dev expat openssl-devel libstdc++.so.6 libncurses.so.5 libtinfo.so.5 libaio.so.1 perl net-tools libaio.so.1 numactl libxml2*

二.安装mysql 5.7.13

#mysql 5.7.12

1 下载安装包,去mysql官网

http://www.mysql.com/downloads/mysql/5.7.html#downloads

#下载相应的mysql版本,我下载的是打包版本,里面有相应的全套安装包,

#下载地址:

http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.13-1.el7.x86_64.rpm-bundle.tar

#可以直接用wget命令下载到服务器上

#下载解压后,可以看到以下安装包

2 卸载已有版本,centOS7.0以后默认安装的是mariadb

rpm -qa|grep mariadb

mariadb-libs-5.5.44-2.el7.centos.x86_64

#强制删除,有多少个安装包删除多少个:

rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

依次安装mysql(一定要一次安装,否则会报错):

rpm -ivh mysql-community-common-5.7.13-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.13-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.13-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.13-1.el7.x86_64.rpm

3 初始化,以root用户登录的,默认没有设置root的密码,启动以后再设置

cd /usr/sbin

./mysqld --initialize-insecure --user=mysql

#修改数据目录的权限

chown -R mysql:mysql /var/lib/mysql

#如果该目录不存在或者没有权限,在启动时候会提示

Job for mysqld.service failed. See 'systemctl status 'journalctl -xn' for details.

4 mysql的启动、停止

#启动mysql

systemctl start mysqld

#查看mysql状态

systemctl status mysqld

#停止mysql

mysqld.service' and

systemctl stop mysqld

#重启mysql

systemctl restart mysqld

5 设置root密码

#登录mysql以后,设置root密码,有一点需要注意,MySQL对用户密码安全性有所加强,所以设置的密码必须包含有数字,大写字母,小写字母,特殊符号,如果你设置的密码过于简单,会提示:

ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

#执行

alter user 'root'@'localhost' identified by 'mYsqL$%123';

#就将root账户的密码修改为mYsqL$%123了。

6 设置开机启动

systemctl enable mysqld

问题解决参考:

http://jingyan.baidu.com/article/93f9803f010d8fe0e56f555e.html

三 安装apache

1.检测系统是否已经安装httpd

rpm -q httpd

如果已经安装,先卸载(rpm -e xxxxxx),有依赖包的,依次卸载

可以使用httpd --version检测是否已经卸载

2.下载apache运行环境依赖的包

2.1.apr包,下载地址:http://apr.apache.org/download.cgi

http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz

tar zxvf apr-1.5.2.tar.gz 进行解压,生成apr-1.5.2

cd apr-1.5.2

./configure --prefix=/usr/local/apr

make && make install

安装完毕后,可以验证/usr/local/apr是否存在

2.2.par-uitil包,下载地址:http://apr.apache.org/download.cgi

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz

tar zxvf apr-util-1. 5.4.tar.gz进行解压,生成apr-util-1. 5.4

cd apr-util-1.5.4

./configure

--with-apr=/usr/local/apr/bin/apr-1-config

--prefix=/usr/local/apu

make && make install

安装完毕后,可以验证/usr/local/apu是否存在

2.3.neon包,下载地址:http://www.webdav.org/neon/

http://www.webdav.org/neon/neon-0.30.1.tar.gz

wget http://www.webdav.org/neon/neon-0.30.1.tar.gz

tar zxvf neon-0.29.6.tar.gz进行解压,生成neon-0.29.6

cd neon-0.30.1

./configure --prefix=/usr/local/neon --enable-shared --with-ssl

报错:checking for openssl pkg-config data... no

解决:yum install openssl-devel

make && make install

安装完毕后,可以验证/usr/local/neon是否存在

FAQ: configure可能存在的问题及解决方法

1. configure: error: could not find library containing RSA_new

解决方法: # yum install openssl-devel

2. configure: error: no XML parser was found: expat or libxml 2.x required

解决方法: # yum install expat-devel

3. configure: error: --with-zlib requires an argument.

解决方法: 去掉此选项 。

3 下载安装apache

上官网下载 http://httpd.apache.org/

http://apache.fayea.com//httpd/httpd-2.4.20.tar.gz

#解压安装

tar zxvf httpd-2.4.20.tar.gz

cd httpd-2.4.20

./configure

--with-apr=/usr/local/apr/bin/apr-1-config

--prefix=/usr/local/apache2

--with-apr-util=/usr/local/apu/bin/apu-1-config --with-neon=/usr/local/neon/ --with-pcre=/usr/local/pcre --enable-dav --enable-dav-fs

make && make install

#进行简单的配置以后,验证apache是否正确安装

cd /usr/local/apache2/conf

vi httpd.conf

Listen 80 --> Listen 8080 #这里是防止默认的80端口和其他默认的80端口冲突

#ServerName www.example.com:80 --> 将前面注释去掉,并将www.example.com改成localhost,防止报以下错误:httpd: Could not reliably determine the server's fully qualified domain name

ServerName www.example.com:80 ServerName localhost:80

#启动停止apache

cd /usr/local/apache2/bin

#启动apache

./apachect1 start

#停止 apache

./apachect1 stop

#重启apache

./apachect1 restart

#在客户端URL:http://xxx.xxx.xxx.xxx:9580,如显示\"it works!\" 务器已经开始工作!

#设置apache开机启动

,则表明apache服

#设置开机自启动vi /etc/rc.local 进入到rc.local文件,在touch /var/lock/subsys/local后加入如下启动命令 /usr/local/httpd/bin/apachectl start

三 安装PHP

#下载php

wget http://cn2.php.net/distributions/php-5.6.22.tar.gz

#解压后,进入php目录

cd php-5.6.22

./configure --prefix=/usr/local/php5.6

--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-zlib=/usr | tee conf.log

1. 报错:

configure: error: xml2-config not found. Please check your libxml2 installation.

2. yum install libxml2* -y

make && make install

四 apache和php的整合

4.1 配置apache

vi /usr/local/apache2/conf/httpd.conf

#在#LoadModule rewrite_module modules/mod_rewrite.so下面增加

LoadModule php5_module modules/libphp5.so

#在DirectoryIndex后面增加index.php index.php3

DirectoryIndex index.html index.php index.php3

#在AddType application/x-gzip .gz .tgz下面添加

AddType application/x-httpd-php .php

保存退出

4.2 验证apache是否已经支持php

在/usr/local/apache2/htdocs/下面新建文件index.php并添加内容

4.3修改php配置文件

配置php.ini,如果在默认位置下找不到ini的话,复制一个过去

cp /home/dir_software/php-5.6.22/php.ini-development

/usr/local/php5.6/lib/php.ini

修改php.ini,增加对mysql的支持以及相关的性能配置:把文件中下面代码前面的分号去掉

;extension=php_dba.dll

;extension=php_dbase.dll

;extension=php_gd2.dll

;extension=php_imap.dll

;extension=php_mysql.dll

修改以下两个字段

session.gc_maxlifetime = 1800

max_execution_time = 120

修改防火墙,允许相应的端口开放:

再进行下一步之前,暂时先把/usr/local/apache2/bin/apachect1 stop

apache服务器关闭!

注意:这个地方一定要注意把防火墙关了,不然在客户端访问会出现错误!

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

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services #安装

vi /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 8080 -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

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

因篇幅问题不能全部显示,请点此查看更多更全内容

Top