lamp环境搭建笔记(centos+php7.1+mysql5.6+apache2.4)

简述环境:服务器-centos6.8;

目标安装:php7+,apache2.4,mysql5.6

安装lnamp环境前先检查系统环境

1. 更新系统软件:#yum update

2. 查看是否已安装wget:#rpm -qa wget

否则安装:#yum install wget

3. 查看是否已安装编译器:#rpm -qa gcc

否则安装:#yum install gcc gcc-c++

安装apache

检查/安装依赖:yuminstallzlib-devel pcre-devel pcre

安装apr和apr-util 这两个依赖是apache2.4版本的重要依赖,以及svn也会用到。下载地址http://apr.apache.org/download.cgi,分别下载:

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

wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz

然后分别解压,并安装(一定要确保安装了 gcc-c++ 没有的话使用 yum install gcc-c++ 进行安装)

安装apr和apr-util:

tar-zxvf apr-1.6.3.tar.gz

cd apr-1.6.3

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

make && make install


tar-zxvf apr-util-1.6.1.tar.gz

cd apr-util-1.6.1

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

make&&makeinstall

关于apr-util执行make如果出现错误,请参考文章《apr-util 执行make命令时报错" [xml/apr_xml.lo] Error 1"》没错误可忽略本段

安装apache,将下载apache解压缩,进入目录

#tar -zxvf httpd-2.4.33.tar.gz

#cd httpd-2.4.33

查看安装时可以配置哪些参数,下面我们开始配置一些参数并进行检查

./configure --prefix=/usr/local/apache/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support

检查无误,然后开始编译安装

make && make install

然后,漫长等待,大概半个小时。。。

如编译过程中出现make报错[exports.lo] Error 1 错误,请参考《[转载]Apache2.4.7 make报错[exports.lo] Error 1 解决方法》,没错误可忽略本段

等安装完以后进入到安装目录,开启apache服务

#cd /usr/local/apache/bin/./apachectl start

哎,发现报错

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

额,原来就是配置文件中没有serverName,那就在httpd.conf 中增加 ServerName 

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

#增加

ServerName localhost

完了之后再重新启动apache,发现一切正常,然后我们访问下看看是否OK


apache服务正常访问

pache2.4 安装完毕

安装mysql

在安装mysql之前,先检查一下mysql的依赖类库

yum -y install make gcc-c++ cmake bison-devel ncurses-devel

在到官网下载mysql5.6版本的安装包

wget http://mirror.neu.edu.cn/mysql/Downloads/MySQL-5.6/mysql-5.6.28.tar.gz

tar-zxvf mysql-5.6.28.tar.gz

cd mysql-5.6.28

mysql5.6版本用cake进行安装,进入mysql-5.6.28目录。输入如下:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

上面几个重要的地方

'-DCMAKE_INSTALL_PREFIX' 是安装目录

'-DMYSQL_DATADIR' 是数据文件存放目录

'-DSYSCONFDIR' 配置文件目录

'-DMYSQL_UNIX_ADDR' SOCK文件存放目录

'-DMYSQL_TCP_PORT' 端口号

检查无误后,就开始编译安装了

make && make install

等待安装进度……


等一切就绪后,我们需要确保存在 mysql组和mysql用户

cat /etc/group|grep 'mysql'

cat /etc/passwd|grep 'mysql'

没有的话就添加

groupadd mysql

useradd -g mysql mysql

#然后将目录'/usr/local/mysql'的所有者改为mysql

chown -R mysql:mysql /usr/local/mysql

这时算是已经安装完成了,但是mysql中是没有数据的(即使系统自带的数据都没有),这时需要执行自带脚本,初始化mysql数据

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

执行完成后,你会发现/usr/local/mysql/data 目录下多了一些文件,这些就是mysql的数据文件了

然后启动mysql,这时要注意,我们上面指定配置文件位于'/etc'目录下,但是我们为了方便,想把mysql配置文件放到'/usr/local/mysql/',这时我们需要把'/etc/my.conf'更改一下名称

mv/etc/my.cnf /etc/my.cnf.bak

这时mysql 在'/etc'目录下找不到,就会到'$basedir'下去找,也就是'/usr/local/mysql/'目录

此时mysql的安装工作算是完了,下面就要启动了,你会发现使用使用

/usr/local/mysql/bin/mysql start

无法启动,报错为

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

之前笔者怎么弄都不行,即使建立'/var/lib/mysql/mysql.sock' 后来终于知道,原来不是怎么启动的,而是

/usr/local/mysql/support-files/mysql.server start

然后,测试下

/usr/local/mysql/bin/mysql -u rootshow databases;

mysql安装完毕


安装php

检查php依赖

yum -y install php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 

到官网下载php7

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

tar -zxvf php-7.1.16.tar.gz

cd php-7.1.16

./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring--with-curl --with-gd --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php/etc/ --with-mysqli=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-freetype-dir=/usr/local/freetype --enable-gd-native-ttf

上面编译时配置支持了很多东西,大家可以按照自己的需求添加,但是有一个基础的必须配置好

--prefix 安装目录

--with-apxs2 apache文件所在地

--with-mysql-sock=/var/lib/mysql/mysql.sock mysql的sock文件地址

--enable-mbstring 支持mbstring

--with-curl 支持curl 

--with-gd 支持gd

--enable-fpm 支持fpm

--enable-mysqlnd --with-pdo-mysql pdo支持

检查没有错误了,就可以安装了,当然了如果有错误,多少依赖没有安装上去,根据提示依次安装相关依赖库

然后就开始编译安装了

make && make install

经过半个小时漫长的等待....

安装完成后,我们要把源码包中的配置文件复制到PHP安装目录下,源码包中有两个配置  php.ini-development  php.ini-production  ,看名字就知道,一个是开发环境,一个是生产环境,我们这里就复制开发环境的

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

到这里,还最后一个工作没有做,就是让apache去解析PHP文件,在apache配置文件httpd.conf 中修改:

找到"DirectoryIndex index.html index.htm",在当前行后增加 index.php如图:

增加index.php作为指针文件

然后再增加“Addtype application/x-httpd-php .php .phtml”,如下图:

增加apache对php的引用

然后重新启动apache :/usr/local/apache/bin/apachectl restart   (延展阅读:linux(centos)下增加httpd为系统服务)

然后在目录/usr/local/apache/htdocs/ 目录下增加test.php ,输入"phpinfo();"

打印程序:

phpinfo的配置截图


        安装感悟:lamp对于新手或者不熟悉lamp环境搭配的,真的是比较麻烦的事情。遇到问题最多的就是安装各种依赖和扩展。本人也是在百度找了很多,都没有完成lamp的环境搭建。因为要不就是单独安装php,或者单独安装apache,还有就是php和apache都安装好了,却没介绍apache和php怎么搭配使用,或者编译时安装的php扩展不能结合apache……,通过这次记录,也希望广大的网友能搜索到本篇文章,或者自己再遇到类似的问题,有个可以参考的。

          把知识整理和运用出来,才是自己的。加油,共勉。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345