LAMP(Linux+Apache+Mysql+Php)环境搭建

原创 2015年07月08日 15:46:25

参考http://blog.chinaunix.net/uid-24250828-id-2621386.html

参考http://jingyan.baidu.com/article/4b07be3c5cd75348b380f3c3.html

参考http://blog.sina.com.cn/s/blog_660a1d510101ek9g.html

参考http://blog.sina.com.cn/s/blog_51b349e501014jn1.html

参考http://blog.csdn.net/haitun312366/article/details/38638335

环境:Centos  7.1.1503 

一、先安装apache (源码安装)

1 官网下载Apache http://httpd.apache.org/  ,例如 httpd-2.4.12.tar.gz ,把文件放在共享文件夹中,以便在虚拟机中能获取;

2 进入该文件存放路径,解压文件 

cd /mnt/share

tar zxvf httpd-2.4.12.tar.gz

进入解压文件夹里面

cd httpd-2.4.12/

配置

 ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=all --enable-dav=share --enable-dav-fs  --enable-authn-alias --with-config-file-path=/usr/local/apache/conf --with-pcre=/usr/local/pcre

这一步,频频报错!!

【问题1】一开始报 APR not found的问题,即找不到依赖的APR包

(1)查找办法,发现需要下载三个依赖包,apr  apr-util  pcre 少其中一个都会报not found的问题

wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz  

wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz  

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

(2)解压依赖包

tar -xzvf apr-1.4.5.tar.gz

tar -xzvf apr-util-1.3.12.tar.gz

tar -xzvf pcre-8.10.zip

(3)安装apr-1.4.5

进入安装目录,    cd /opt/apr-1.4.5/

安装及编译,   ./configure --prefix=/usr/local/apr

make && make install

(4)安装apr-util

进入安装目录,  cd /opt/apr-util-1.3.12/

安装及编译,  ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install

(5)安装pcre

进入安装目录,   cd /mnt/share/pcre-8.10/

安装及编译,  ./configure --prefix=/usr/local/pcre

make && make install

(6)重新安装apache

配置时需要加上--with参数指定我们刚才安装的依赖包位置

如:  --with-pcre=/usr/local/pcre


【问题2】  ./configure 参数加上--with-ldap --enable-ldap --enable-authnz-ldap 报错,无法找到ldap

没查到解决方法,也无法下载安装ldap,只能暂时先去掉这几个参数



3 接下来编译, make 又不停报错。。。。。。。。。。。。。。。。。

【问题1】 首先是一直报变量重复定义的错误

exports.c:2371:13: 错误:‘ap_hack_apu_version’重定义

const void *ap_hack_apu_version = (const void *)apu_version;

exports.c:1980:13: 附注:‘ap_hack_apu_version’的上一个定义在此

const void *ap_hack_apu_version = (const void *)apu_version;

查了好久,有的说是有两个不同的apr路径,要去掉一个,一开始不知在哪里去掉,有的说在configure后加上"--with-included-apr”,但是又会报另一个找不到的错误,这个好像只适合把apr和apr-util安装在Apache里面的scripts文件夹里的才行

搜到最后才发现,

应该在configure把参数--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/去掉,只需加上--with-pcre=/usr/local/pcre即可,就是加多了这两个参数导致的变量重新定义的!!!


【问题2】bison未找到

make[2]: bison:命令未找到

make[2]: *** [util_expr_scan.c] 错误 127

make[2]: Leaving directory `/home/aaron/httpd-2.4.4/server'

make[1]: *** [all-recursive] 错误 1

解决:

yum search bison

yum install bision.x86_64


【问题3】 flex未找到

make[2]: flex:命令未找到

make[2]: *** [util_expr_scan.c] 错误 127

make[2]: Leaving directory `/home/aaron/httpd-2.4.4/server'

make[1]: *** [install-recursive] 错误 1

make[1]: Leaving directory `/home/aaron/httpd-2.4.4/server'

make: *** [install-recursive] 错误 1

于是:

yum search flex

yum install flex.x86_64


4.最后 make install,成功了!!!!!

5 启动Apache,

/usr/local/apache2/bin/apachectl start

好感动~~~~~~终于装好了。。。。。。。。。。


6 为了不用每次启动Apache都要加上绝对路径,可以添加环境变量

vim /etc/profile

添加下面两行:

APACHE_HOME=/usr/local/apache2

export PATH=$PATH:$APACHE_HOME/bin

保存退出,

执行source /etc/profile 使变量立即生效。

 

二 安装mysql,非源码解压版

1 官网下载 http://dev.mysql.com/downloads/mysql/5.5.html#downloads 下载相应版本

2 解压文件到相应目录  tar zvxf mysql-5.5.44-linux2.6-x86_64 /usr/local/

将文件夹名称改成mysql, mv mysql-5.5.44-linux2.6-x86_64 mysql

进入文件夹中, cd mysql   

接下来参考http://blog.csdn.net/superchanon/article/details/8546254/ 中的通用安装方法,以下是复制文档的内容

a.       检查是否已安装,grep的-i选项表示匹配时忽略大小写

[root@localhost JavaEE]#rpm -qa|grep -i mysql

mysql-libs-5.1.61-4.el6.x86_64

若已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸:载时使用了--nodeps选项,忽略了依赖关系;

[root@localhost JavaEE]#rpm -e mysql-libs-5.1.61-4.el6.x86_64 --nodeps

未安装就直接往下走

b.     添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。

[root@localhost JavaEE]#groupadd mysql

[root@localhost JavaEE]#useradd -r -g mysql mysql

*useradd -r参数表示mysql用户是系统用户,不可用于登录系统。

c.  将二进制文件解压到指定的安装目录,我们这里指定为/usr/local

[root@localhost ~]# cd/usr/local/

[root@localhost local]#tar zxvf /path/to/mysql-5.5.29-linux2.6-x86_64.tar.gz

*加压后在/usr/local/生成了解压后的文件夹mysql-5.5.29-linux2.6-x86_64,这名字太长,我们为它建立一个符号链接mysql,方便输入。

[root@localhost local]#ln -s mysql-5.5.29-linux2.6-x86_64 mysql(这一步后面出错,我直接将文件夹名称改成mysql,就无需符号链接)

d.     /usr/local/mysql/下的目录结构

Directory

Contents of Directory

bin

Client programs and the mysqld server

data

Log files, databases

docs

Manual in Info format

man

Unix manual pages

include

Include (header) files

lib

Libraries

scripts

mysql_install_db

share

Miscellaneous support files, including error messages, sample configuration files, SQL for database installation

sql-bench

Benchmarks

e.     进入mysql文件夹,也就是mysql所在的目录,并更改所属的组和用户。

[root@localhost local]#cd mysql

[root@localhost mysql]#chown -R mysql .

[root@localhost mysql]#chgrp -R mysql .

f.       执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,或者用root执行,但是加上参数--user=mysql。

[root@localhost mysql]scripts/mysql_install_db --user=mysql

*如果mysql的安装目录(解压目录)不是/usr/local/mysql,那么还必须指定目录参数,如

[root@localhost mysql]scripts/mysql_install_db --user=mysql \

         --basedir=/opt/mysql/mysql \

         --datadir=/opt/mysql/mysql/data

*将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

[root@localhost mysql]chown -R root .

[root@localhost mysql]chown -R mysql data

g.     复制配置文件

[root@localhost mysql] cp support-files/my-medium.cnf /etc/my.cnf

h.  将mysqld服务加入开机自启动项。

*首先需要将scripts/mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld。

[root@localhostmysql]  cp support-files/mysql.server /etc/init.d/mysqld

*通过chkconfig命令将mysqld服务加入到自启动服务项中。

[root@localhost mysql]#chkconfig --add mysqld

*注意服务名称mysqld就是我们将mysql.server复制到/etc/init.d/时重命名的名称。

*查看是否添加成功

[root@localhost mysql]#chkconfig --list mysqld

mysqld   0:off 1:off        2:on        3:on        4:on        5:on        6:off

i.  重启系统,mysqld就会自动启动了。

*检查是否启动

[root@localhost mysql]#netstat -anp|grep mysqld

tcp        0     0 0.0.0.0:3306               0.0.0.0:*                   LISTEN      2365/mysqld        

unix  2     [ ACC ]     STREAM     LISTENING     14396 2365/mysqld        /tmp/mysql.sock

*如果不想重新启动,那可以直接手动启动。

[root@localhost mysql]#service mysqld start

Starting MySQL.. SUCCESS!

【问题】如果启动不成功,百度的办法是

 cd /usr/local/mysql

 chown -R mysql.mysql .

 scripts/mysql_install_db

j.       运行客户端程序mysql,在mysql/bin目录中,测试能否连接到mysqld。

[root@localhost mysql]#/usr/local/mysql/bin/mysql

Welcome to the MySQLmonitor.  Commands end with ; or \g.

Your MySQL connection idis 2

Server version:5.5.29-log MySQL Community Server (GPL)

 

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

Oracle is a registeredtrademark of Oracle Corporation and/or its affiliates. Other names may betrademarks of their respective owners.

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

mysql> quit

Bye

*此时会出现mysql>命令提示符,可以输入sql语句,输入quit或exit退出。为了避免每次都输入mysql的全路径/usr/local/mysql/bin/mysql,可将其加入环境变量中,在/etc/profile最后加入两行命令:

MYSQL_HOME=/usr/local/mysql

export PATH=$PATH:$MYSQL_HOME/bin

这样就可以在shell中直接输入mysql命令来启动客户端程序了

[root@localhost mysql]#mysql


三 安装php(源码安装)

1 官网下载 http://php.net/downloads.php#v5.4.42  下载相应版本,例如 php-5.5.26.tar.gz,放到共享文件夹

2 解压文件,  tar zvxf php-5.5.26.tar.gz

进入文件夹中, cd php-5.5.26    

配置, 注意必须按顺序先安装mysql,否则配置会提示找不到

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc

问题又来了。。。

【问题1】xml2-config not found

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

说是libxml2没装,但是用yum安装时发现已经安装了,查资料后发现原来还需要安装libxml2-devel,再次执行安装命令

yum install libxml2-devel


配置成功~~


3 编译,make

make成功后会提示Don't forget “make test”,输入make test 不报错就行了


4 安装,make install

【问题2】

Wrote PEAR system config file at: /usr/local/php/etc/pear.conf

You may want to add: /usr/local/php/lib/php to your php.ini include_path

/mnt/share/php-5.5.26/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin

cp -pR -f phar.phar /usr/local/php/bin/phar

cp: 无法获取"phar.phar" 的文件状态(stat): 没有那个文件或目录

make: *** [install-pharcmd] 错误 1


百度半天,没什么答案,后来看多了才领悟到,就是在当前目录下找不到phar.phar这个文件,直接把ext/phar下的phar.phar文件复制到当前目录就成功了

即加上下面两句

cd ext/phar/    

cp phar.phar /mnt/share/php-5.5.26

再make install 就成功了!


5 配置,与Apache结合

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

找到或加上这几行

LoadModule php5_module        modules/libphp5.so

AddType application/x-httpd-php .php
DirectoryIndex index.php index.html

PHPIniDir "/usr/local/php/etc"


6 写个php页面测试一下

 vim /usr/local/apache2/htdocs/test.php

<?php

  phpinfo();

 ?>

重启apache服务,在地址栏输入http://localhost/test.php   就可以看见phpinfo的页面了。

可查看各项参数是否正确及扩展模块是否加载。

Linux下LAMP(Apache+PHP+MySql)环境配置

今天我来介绍一下Linux下LAMP(Apache+PHP+MySql)的环境配置,我将把Apache+MySql+PHP分别安装在redhat下的opt目录下的httpd、mysql及php目录中,...
  • yuanyuan_186
  • yuanyuan_186
  • 2016年05月02日 17:24
  • 4669

Linux+apache2.4+php5.6+mysql环境搭建

https://my.oschina.net/yongyi/blog/608496 摘要: Linux+apache2.4+php5.6环境搭建 搭建php环境主要分为三个步骤,第一步为 ...
  • wangmeng0804
  • wangmeng0804
  • 2016年11月23日 17:34
  • 1814

在CentOS下搭建LAMP(Apache、MySQL、PHP)环境

LAMP(Linux、Apache、MySQL、PHP)是一套用于提供php架构网站服务的完美组合的简称,LAMP组合有着极高的性能,完善的支持体系,灵活的配置方法,但是Lamp架构其本身也越来越臃肿...
  • lumengabc
  • lumengabc
  • 2013年12月09日 10:53
  • 738

linux下Apache+mysql+php(LAMP)安装包

  • 2016年09月02日 16:52
  • 59.09MB
  • 下载

搬瓦工搭建lamp服务器,及配置ftp,putty,shadow配置

https://bwh1.net/index.php 搬瓦工买了服务器后 按照教程安装https://github.com/teddysun/lamp ftp配置 http://jingyan...
  • shmily__35
  • shmily__35
  • 2017年02月19日 23:20
  • 1871

搬瓦工搭建服务器,lamp环境,ftp服务

1.参考https://github.com/teddysun/lamp 用putty登录远程服务器; 如果是ssh就是:  ssh root@地址 -p 端口 搬瓦工安装的是 CentO...
  • shmily__35
  • shmily__35
  • 2016年12月28日 11:22
  • 2869

Linux下安装Apache+PHP+MySql搭建PHP运行环境lamp一键安装包VPS

WDCP管理面板忘记ROOT MYSQL密码及重置WDCP后台登录密码方法 安装 摘自阿里云服务器官网,此处 一键安装包下载: 点此下载 安装须知 1、此安装包可在阿里云所有Lin...
  • chenhao0568
  • chenhao0568
  • 2016年11月06日 12:02
  • 6814

完成Ubuntu桌面版的Apache+php+mysql(手动配置LAMP)的全过程及实现细节

最近一个周基本完成了linux系统中LAMP的手动配置,总结一下这个配置过程,方便以后参考。      安装完桌面版的ubuntu系统,关于时区设置和操作系统中文支持等实现部分在设置里面都可以完成,...
  • qq_32080545
  • qq_32080545
  • 2016年09月27日 19:32
  • 1450

实现lamp docker数据容器(mysql)与应用容器(apache+php)独立运行

在我之前写的文章中已经实现了在独立的容器中运行apache和mysql。 请参阅: 《创建带Apache服务的Centos Docker镜像》 《详解如何使用DockerHub官方的mysql镜...
  • cmzsteven
  • cmzsteven
  • 2015年10月18日 13:32
  • 5768

Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建

Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建
  • u013538664
  • u013538664
  • 2014年09月02日 23:49
  • 1707
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LAMP(Linux+Apache+Mysql+Php)环境搭建
举报原因:
原因补充:

(最多只允许输入30个字)