注意:我的环境是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)
找到:
DirectoryIndex index.html
添加:
DirectoryIndex index.html index.php
找到:
#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"
找到
这一行修改为:
测试:修改到文件夹出现错误:
“You don't have permission to access /index.html on this server.”
解决方法:
打开apache配置文件httpd.conf,找到这么一段:
Options Indexes FollowSymLinks
AllowOverride None
这里的Directory为什么这样修改,看一下http://blog.sina.com.cn/s/blog_6151984a0100f1tj.html
虽然最后我也没看明白= =
二、安装PHP
1、 下载
http://www.php.com/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');
四。将PHP与MySql结合起来
http://www.111cn.net/sys/linux/69046.htm
以上就介绍了Linux上php7环境的搭建 Lamp,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。