CentOS7 LAMP环境搭建

mysql安装配置

cd/usr/local/src

进入下载目录

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz

下载mysql二进制包(免安装)

tar xzvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz 

解压

mv mysql-5.1.73-linux-x86_64-glibc23 /usr/local/mysql

把解压好的文件移动到/usr/local/mysql下

useradd -s /sbin/nologin -M mysql

创建一个不能登陆且没有家目录的用户mysql

mkdir /data/mysql

创建datadir为自定义目录

chown -R mysql:mysql /data/mysql/

在/data下创建mysql文件夹并改变所属主和所属组为mysql

cp support-files/my-large.cnf /etc/my.cnf 

拷贝配置文件 并注释掉一些bin-log相关的内容(#log-bin=mysql-bin、#binlog_format=mixed、#server-id      = 1)

cp support-files/mysql.server /etc/init.d/mysqld

拷贝启动脚本

vim /etc/init.d/mysqld

修改启动脚本(basedir=/usr/local/mysql和datadir=/data/mysql)

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

初始化 (两个OK 就OK)

/etc/init.d/mysqld start

启动mysql

StartingMySQL.. SUCCESS!

安装成功

apache安装

/usr/local/src/

下载解压

./configure --prefix=/usr/local/apache2 --with-included-apr --with-pcre --enable-mods-shared=most

(--with-included-apr可移植运行库,这个参数很重要  --with-pcre  正则相关的  --enable-mods-shared=most 模块动态共享)

如果是最小安装的系统,需要提前安装gcc,不然会报错:yum install -y gcc

make && make install

echo $? 查看错误信息

apache的两种工作模式,有很多专业的解读,建议和我一样的新手同学自行搜索了解^^

 

PHP安装

/usr/local/src/

下载解压 bz2压缩包需要安装bzip2包

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir  --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6

apxs 工具是用来帮助我们自动在配置文件中生成一条动态加载模块的配置

--with-config-file-path=/usr/local/php/etc定义php的配置文件在哪里,默认在/usr/local/php/lib下


安装错误1:

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

解决方法:yum install -y libxml2-devel.x86_64

安装错误2:

configure:error: Cannot find OpenSSL's <evp.h>

解决方法:yum install -y openssl-devel.x86_64

安装错误3:

configure:error: Please reinstall the BZip2 distribution

解决方法:yum install -y bzip2-devel.x86_64

安装错误4:

configure:error: jpeglib.h not found.

解决方法:yum install -y libjpeg-turbo-devel.x86_64

安装错误5:

configure:error: png.h not found.

解决方法:yum install -y libpng-devel.x86_64

安装错误6:

configure:error: freetype-config not found.

解决方法:yum install -y freetype-devel.x86_64

安装错误7:

configure:error: mcrypt.h not found. Please reinstall libmcrypt.

解决方法:yum install -y libmcrypt-devel.x86_64(如果yum里没有libmcrypt-devel.x86_64需要安装epel yum源支持)

 

扩展:epel yum源知识

安装epel yum源

rpm -ivh ‘http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

单引号里的源如果失效请自行百度。

或者 yum list |grep epel 搜索查看是否有epel-release.noarch

有的话yum install -y epel-release.noarch 即可

 

make && makeinstall

echo $? 查看安装错误信息

 

php配置文件查看(编译参数等一系列参数)

/usr/local/php/bin/php -i |less

配置文件加载查看:

ConfigurationFile (php.ini) Path => /usr/local/php/etc

LoadedConfiguration File => /usr/local/php/etc/php.ini

配置文件加载操作:

cp php.ini-production /usr/local/php/etc/php.ini

php.ini-production   生产环境用的配置文件

php.ini-development   开发环境用的配置文件

 

/usr/local/php/bin/php -m  查看PHP加载了哪些模块

 

cat /usr/local/apache2/build/config.nice  查看apache的编译参数

/usr/local/apache2/bin/apachectl -M        查看apache加载了哪些模块

/usr/local/apache2/bin/httpd -M   查看apache加载了哪些模块

cat /usr/local/mysql/bin/mysqlbug | grep configure 查看mysql的编译参数

 

 

测试LAMP是否成功

/usr/local/apache2/bin/apachectl -t 检验配置文件是否正确

(selinux要关闭掉)

Syntax OK 即可以启动

/usr/local/apache2/bin/apachectl -t时出现以下问题:

httpd:Could not reliably determine the server's fully qualified domain name, usinglocalhost.localdomain for ServerName

解决方法:vim /usr/local/apache2/conf/httpd.conf 添加ServerName127.0.0.1:80

apache结合php配置

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

在AddTypeapplication/x-compress .Z和AddType application/x-gzip.gz .tgz下加上

AddTypeapplication/x-httpd-php .php

 

/usr/local/apache2/bin/apachectl start 启动httpd

netstat -lnp | grep httpd 测试是否启动httpd

测试是否成功

curl localhost

curl localhost/1.php

 

php测试页

路径cd/usr/local/apache2/htdocs/

<?php

phpinfo();

?>

<?php

echo1111;

?>

 

总结:

前面的一切做的都很顺利,在虚拟机内部测试也都OK,然后回到本机去做页面测试确怎么也打不开,本机的防火墙能关的都关了,都是能互相ping通但是无法打开测试页面。最后发现在linux里不仅需要关闭selinux防火墙。还需要

关闭iptables和firewalld。firlwalld是centos7上的防火墙。关闭以后问题都解决了

selinux关闭:vim /etc/selinux/config 把SELINUX=disabled 需重启。或临时关闭setenforce 0

iptables关闭:service iptables stop或systemctl stop iptables

firewalld关闭:systemctl stop firewalld 必须要关

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值