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

参考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

  phpinfo();

 ?>

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

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

你可能感兴趣的:(Linux)