Linux上php7环境的搭建 Lamp

地瓜 发表于 2016-2-12 15:42:30 | 显示全部楼层 |阅读模式 [复制链接]
0 1002
注意:我的环境是Ubuntu,Linux的版本不同的话,安装某些插件的时候,命令也会不同
因为里面有些细节和我具体环境不相否,此篇文章是根据http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html改写的,转载请注明出处,谢谢合作。
有什么问题请在下面评论区指出,o(^▽^)o

一、Apache

1、到官网下载  http://httpd.apache.org/download.cgi   
2、解压
    tar  -zxvf httpd-2.2.22.tar.gz
3、建立目标文件夹(注意以下所有操作都时在root用户下执行的)
    mkdir /usr/local/apache2
    也就是说等下安装的apache2要安装到这个文件夹里面
4、配置
    回到原来解压之后产生的文件夹
    ./configure --prefix=/usr/local/apache2 --enable-module=shared
    要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块

到这一步出现了很多问题:
1).checking for APR... no
configure: error: APR not found.  Please read the documentation.

分别安装APR和APR-util,安装方法为:首先下载这两个文件,然后解压,进入解压后目录,然后把APR和APR-util分别安装到/usr/local/文件夹的apr和apr-util文件夹下。APR的具体安装方法为:
[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip
[root@localhost 52lamp]# cd apr-1.4.2
[root@localhost apr-1.4.2]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.4.2]# make
[root@localhost apr-1.4.2]# make install
安装Apr-util 在./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
其他步骤类似。
最后再切换到httpd那个文件夹的目录,执行 ./configure --prefix=/usr/local/apache2 --enable-module=shared --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

2).在上一步中,中途会出现很多问题
①安装c++的环境,sudo apt-get install build-essential (安装前需要先更新源,在/etc/apt/source.list下,然后执行sudo apt-get update)
②如果出现来安装上那三个东西还找不到,就把最后一句改成./configure --prefix=/home/tnuser/apache/  --with-apr=/home/tnuser/apr/  --with-apr-util=/home/tnuser/apr-util/  --with-pcre=/home/tnuser/pcre/  指定三个东西的位置

5、编译
    make   
6、安装
    make install  
7、启动,重启和停止 ,先切换到安装完成后的目录/usr/local/apache2/bin
    ./apachectl -k start
    ./apachectl -k restart
    ./apachectl -k stop  
8、配置文件(满足最基本的配置)
     编辑 /usr/local/apache2/conf/httpd.conf 文件     
     找到:
    AddType  application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    在后面添加:
    AddType application/x-httpd-php .php(使Apcche支持PHP)  
    找到:
    <IfModule dir_module>
    DirectoryIndex index.html
    </IfModule>
    添加:
    <IfModule dir_module>
    DirectoryIndex index.html index.php
    </IfModule>   
    找到:
    #ServerName www.example.com:80
    修改为:
    ServerName 127.0.0.1:80或者ServerName localhost:80
    记得要去掉前面的“#”   

注意这个地方需要很多Linux文件操作的知识,具体命令请参考http://www.cnblogs.com/88999660/articles/1581524.html
附:删除当前行dd

9、测试
    在浏览器里输入http://127.0.0.1
    如果出现It Works!说明成功
10、修改默认的Web站点目录

     默认的目录为  "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个 /home/gyw/WebSite的目录作为apache的站点目录

    找到DocumentRoot这一行修改为:DocumentRoot "/home/gyw/WebSite"

   找到 <Directory> 这一行修改为:<Directory "/home/gyw/WebSite">

测试:修改到文件夹出现错误:

“You don't have permission to access /index.html on this server.”

解决方法:

打开apache配置文件httpd.conf,找到这么一段:
<Directory />  
    Options Indexes FollowSymLinks  
    AllowOverride None  
</Directory>

这里的Directory为什么这样修改,看一下http://blog.sina.com.cn/s/blog_6151984a0100f1tj.html
虽然最后我也没看明白= =

二、安装PHP

1、 下载
    http://www.php.net/downloads.php
2、解压
    tar -zxvf php-7.0.3.tar.gz,这里的版本按照自己需求来,可不同。
3、建立目标文件夹
    mkdir /usr/local/php
    也就是说等下安装的php要安装到这个文件夹里面
4、配置
    回到原来解压后的文件夹
    ./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache/bin/apxs

    注意这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中

出现错误:configure: error: xml2-config not found. Please check your libxml2 installation.

sudo apt-get install libxml2
sudo apt-get install libxml2-dev

5.make && make install
6. cp /home/xx/Downloads/php-7.0.3/php.ini-development  /usr/local/php/lib/php.ini

三、安装MySql
1、下载
    到官网下载mysql-5.1.65.tar.gz(注意是源码包),选择MySql Community Sever之后在下面选择Source Code,这里我下载的是最新的版本mysql5.7,要用cmake来安装
2、解压
    tar -zxvf mysql-5.1.65.tar.gz,如果是5.2以下的直接就可以./configure 来安装,以上的话需要用cmake来安装
3、建立目标文件夹
    mkdir /usr/local/mysql
    也就是说等下安装的mysql要安装到这个文件夹里面
4、配置
    用cmake来配置安装mysql,首先先下载cmake,
    apt-get install cmake

    tar -zxvf mysql-5.5.14.tar.gz
    cd mysql-5.5.14
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

错误:

1)CMake Error at cmake/boost.cmake:81 (MESSAGE):
解决:没有boost包,在预编译时添加相应的选项:cmake .  -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
2)CMake Error at cmake/readline.cmake:64 (MESSAGE):
  Curses library not found.  Please install appropriate package,
  remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解决:① Linux几乎每个发行版都会有'ncurses'及'ncurses-devel'的安装包的,再根据上面第二条命令错误提示,“现在没有可用的软件包 ncurses,但是它被其它的软件包引用了。” 可以判定Ubuntu软件管理器服务端有作修改过。所以到 Ubuntu Package archive(http://packages.ubuntu.com/)搜索是否存在该安装包,用'ncurses-devel'作为关键字搜索,没有任何结果。搜索'ncurses'出现了很多返回结果。根据每个返回搜索结果的说明可以发现在Ubuntu中'ncurses-devel'是以'libncurses5-dev'命名的。
# sudo apt-get install libncurses5-dev (安装过程没有提示任何错误,安装成功)
②删除CMakeCache.txt
通过find命令找到所有CMakeCache.txt文档的位置
#find / -name CMakeCache.txt
然后全部删除:
# rm -rf /usr/local/src/cmake-2.8.6/Tests/Complex/Cache/CMakeCache.txt
# rm -rf /usr/local/src/cmake-2.8.6/Tests/ComplexOneConfig/Cache/CMakeCache.txt
# rm -rf /usr/local/src/cmake-2.8.6/Tests/ComplexRelativePaths/Cache/CMakeCache.txt
# rm -rf /usr/local/src/mysql-5.5.18/CMakeCache.txt
。。。。。。。
全部删除后再重新cmake就OK了。

5、编译安装
    make&& make install
6.
切换到/usr/local/mysql/bin目录,执行./mysqld --initialize  --datadir=/usr/local/mysql/data/ 要之前新建后面这个data目录,这时候会出现几行代码,最后一个代码的临时密码一定要记住,我就因为没记住,就重装了一遍mysql,我真是醉了。
然后改密码:./mysqladmin -u root -p password
进入mysql,执行mysql -u root -p
为了测试,执行以下代码:

mysql> create database gywtest;
mysql> use gywtest;
mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
mysql> insert into student(stuname) values('Tom');


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

最新活动

  • 体验固件
  • 正式固件

新品速递

  • Win10 专业版|企业版 激活密匙|32位&64位
  • Windows 10 32位|64位 专业版 key激活
  • 论文搜索、查找、下载需用专业工具沸点文库
Archiver|手机版|小黑屋|关于我们|
©2014  自学论坛. All rights reserved. ( 陕ICP备15001769号 )  Powered by Discuz! X3.2  
快速回复 返回顶部 返回列表