入门的时候,一直使用lamp一键安装包,或者是配置好的环境来写进行开发,但是由于个人对环境配置的爱好。在自己电脑上搬弄了整个lamp的环境
Linux系统的安装:
现在网上对Linux配置一大堆,我使用的是VMware 虚拟机下安装Linux, 可以参考这个网站:http://www.jb51.net/article/95579.htm
有一些容易出错的细节 我给大家截图:
如果还有其他坑的话,请联系我,为你解答在对接下来的安装当中 我都是使用的源码编译安装,主要是一些安装的执行代码,(请使用您配置Linux的时候的超级管理用户登录)下面分块对Lamp安装
在安装环境之前,请使用FTP服务器将我们需要编译的安装包都放置到 resource里面(没有可以选择其他文件,也可以mkdir)
这是我个人的Lamp安装包
https://pan.baidu.com/s/1c23Uv3E
Apache安装
安装 zlib
[root@localhost resource]# tar -xf zlib-1.2.5.tar.gz
[root@localhost resource]# cd zlib-1.2.5
[root@localhost zlib-1.2.5]# ./configure
[root@localhost zlib-1.2.5]# make && make install
提示:zlib是提供数据压缩用的函式库。
安装 apr
[root@localhost zlib-1.2.5]# cd ..
[root@localhost resource]# tar -xf apr-1.5.2.tar.gz
[root@localhost resource]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure –prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make
[root@localhost apr-1.5.2]# make install
安装 apr-iconv
[root@localhost apr-1.5.2]# cd ..
[root@localhost resource]# tar -xf apr-iconv-1.2.1.tar.gz
[root@localhost resource]# cd apr-iconv-1.2.1
[root@localhost apr-iconv-1.2.1]# ./configure –prefix=/usr/local/apr-iconv –with-apr=/usr/local/apr/
[root@localhost apr-iconv-1.2.1]# make && make install
安装 apr-util
[root@localhost apr-iconv-1.2.1]# cd ..
[root@localhost resource]# tar -xf apr-util-1.5.4.tar.gz
[root@localhost resource]# cd apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure –prefix=/usr/local/apr-util/ –with-apr=/usr/local/apr/ –with-apr-iconv=/usr/local/apr-iconv/bin/apr-iconv
[root@localhost apr-util-1.5.4]# make && make install
提示:APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库,Apache需要使用APR,完整的APR实际上包含了三个开发包:apr、apr-util以及apr-iconv。
安装 pcre
[root@localhost apr-util-1.5.4]# cd ..
[root@localhost resource]# tar -xf pcre-8.35.tar.gz
[root@localhost resource]# cd pcre-8.35
[root@localhost pcre-8.35]# ./configure –prefix=/usr/local/pcre && make && make install
注意:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
安装 httpd
[root@localhost pcre-8.35]# cd ..
[root@localhost resource]# tar xf httpd-2.4.17.tar.gz
[root@localhost resource]# cd httpd-2.4.17
[root@localhost httpd-2.4.17]# ./configure –prefix=/usr/local/lamp/apache2 –enable-modules=all –enable-so –with-apr=/usr/local/apr/ –with-apr-util=/usr/local/apr-util/ –with-pcre=/usr/local/pcre/
[root@localhost httpd-2.4.17]# make && make install
兄弟们,可以出去抽半根烟,要等一会儿了。。。。。。
测试 Apache
ps -A | grep httpd
如果结果为空,表示没有启动,启动方式如下:
[root@localhost httpd-2.4.17]# /usr/local/lamp/apache2/bin/apachectl
如果出现 AH0058错误 ↓
解决方案:
Httpd.conf 的 路径 :cd /usr/local/lamp/apache2/conf
[root@localhost conf]vim httpd.conf
将204行左右的80端口打开(去掉前面的#)
接下来重启服务器
[root@localhost conf]/usr/local/apache2/bin/apachectl stop
[root@localhost conf]/usr/local/apache2/bin/apachectl start
在浏览器打开 http://192.168.1.121
如果看到梦想当中的
It works
表示成功了
如果不能看到,一般来说是防火墙禁止了,应该开启虚拟机的防火墙
防火墙配置
[root@localhost httpd-2.4.17]# setup
MySql安装
安装依赖
安装 ncurses-devel
[root@localhost php-5.6.24]# rpm -ivh /mnt/cdrom/Packages/ncurses-devel-5.7-3.20090208.el6.i686.rpm
安装 cmake
[root@localhost mysql-5.6.25]# rpm -ivh /mnt/cdrom/Packages/cmake-2.6.4-5.el6.i686.rpm
安装 MySQL
[root@localhost php-5.6.24]# cd ..
[root@localhost lamp]# tar xvf mysql-5.6.25.tar.gz
[root@localhost lamp]# cd mysql-5.6.25
[root@localhost mysql-5.6.25]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lamp/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/lamp/mysql/data -DMYSQL_USER=mysql
[root@localhost mysql-5.6.25]# make && make install
添加用户
用户无需登录系统,所以指定用户登陆后使用的 shell 是 nologin,禁止登录,-r 表示系统账号,系统账号 uid 较小
[root@localhost mysql-5.6.25]# useradd -s /sbin/nologin -r mysql
修改目录权限,将 data 文件夹所有者改为 mysql
data 文件夹用来存放数据,必须保证 mysql 用户可以写操作,由于整个安装过程都是 root 用户执行,所以其它文件夹都是输入 root 用户
[root@localhost mysql-5.6.25]# chown mysql.mysql /usr/local/lamp/mysql/data -R
复制配置文件
[root@localhost mysql-5.6.25]# cp support-files/my-default.cnf /etc/my.cnf
创建 mysql 测试数据库和系统数据库
[root@localhost mysql-5.6.25]# cd /usr/local/lamp/mysql
[root@localhost mysql]# /usr/local/lamp/mysql/scripts/mysql_install_db –user=mysql –datadir=/usr/local/lamp/mysql/data
测试
[root@localhost mysql]# /usr/local/lamp/mysql/bin/mysqld_safe
上面这一行是启动MySQL服务进程的。
被卡住了,ctrl+z
[root@localhost mysql]# /usr/local/lamp/mysql/bin/mysql -uroot
上面这一行是登陆mysql的。
mysql> show databases;
修改密码,增加安全性
mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘root’);
创建允许远程登录的用户
给远程root用户授权:
mysql> select password(‘111111’);
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY PASSWORD ‘xxxxxx’;
给远程itsource用户授权:
mysql> GRANT ALL PRIVILEGES ON . TO ‘itsource’@’%’ IDENTIFIED BY ‘123456’;
然后在防火墙中允许外部机器访问 3306 端口
重启防火墙
PHP安装
安装 php
[root@localhost libiconv-1.14]# cd ..
[root@localhost lamp]# tar xvf php-5.6.24.tar.gz
[root@localhost lamp]# cd php-5.6.24
[root@localhost php-5.6.24]# ./configure –prefix=/usr/local/lamp/php –with-apxs2=/usr/local/lamp/apache2/bin/apxs –with-mysql=mysqlnd –with-pdo-mysql=mysqlnd –with-mysqli=mysqlnd –with-freetype-dir=/usr/local/freetype –with-gd=/usr/local/gd/ –with-zlib –with-jpeg-dir=/usr/local/jpeg –with-png-dir=/usr/local/png –enable-mbstring=all –enable-mbregex –enable-shared –with-mcrypt=/usr/local/libmcrypt/ –with-iconv=/usr/local/libiconv –with-libxml-dir=/usr/local –with-xpm-dir=/usr/lib
[root@localhost php-5.6.24]# make
[root@localhost php-5.6.24]# make install
不开心、不开心、等了这么久。。。。。。
拷贝PHP配置文件
[root@localhost php-5.6.24]# cp php.ini-development /usr/local/lamp/php/lib/php.ini
让 Apache 支持 php
[root@localhost php-5.6.24]# vim /usr/local/lamp/apache2/conf/httpd.conf
AddHandler application/x-httpd-php .php
重启
[root@localhost php-5.6.24]# killall httpd
[root@localhost php-5.6.24]# /usr/local/lamp/apache2/bin/apachectl
测试
为了让我们的Lamp环境支持更多功能,下面都是一些可选的安装配置,但是我还是建议装上
安装 xml
[root@localhost httpd-2.4.17]# cd ..
[root@localhost resource]# tar xf libxml2-2.7.2.tar.gz
[root@localhost resource]# cd libxml2-2.7.2
[root@localhost libxml2-2.7.2]# ./configure
[root@localhost libxml2-2.7.2]# make && make install
提示:XML库是一种支持对XML(标准通用标记语言下的一个应用)格式文档进行存储和查询等操作的数据管理系统。在系统中,开发人员可以对数据库中的XML文档进行查询、导出和指定格式的序列化。
安装 jpeg
[root@localhost libxml2-2.7.2]# cd ..
[root@localhost jpeg-8b]# tar xf jpegsrc.v8b.tar.gz
[root@localhost jpeg-8b]# cd jpeg-8b/
[root@localhost jpeg-8b]# ./configure –prefix=/usr/local/jpeg –enable-shared –enable-static
[root@localhost jpeg-8b]# make && make install
安装 png
[root@localhost jpeg-8b]# cd ..
[root@localhost resource]# tar xf libpng-1.4.3.tar.gz
[root@localhost resource]# cd libpng-1.4.3
[root@localhost libpng-1.4.3]# ./configure –prefix=/usr/local/png –enable-shared –enable-static
[root@localhost libpng-1.4.3]# make && make install
安装 freetype 字体库
[root@localhost libpng-1.4.3]# cd ..
[root@localhost resource]# tar xf freetype-2.4.1.tar.gz
[root@localhost resource]# cd freetype-2.4.1
[root@localhost freetype-2.4.1]# ./configure –prefix=/usr/local/freetype –enable-shared
[root@localhost freetype-2.4.1]# make && make install
安装 gd
[root@localhost freetype-2.4.1]# cd ..
[root@localhost resource]# tar xf libgd-2.1.1.tar.gz
[root@localhost resource]# cd libgd-2.1.1
[root@localhost libgd-2.1.1]# ./configure –prefix=/usr/local/gd –with-jpeg=/usr/local/jpeg/ –with-png=/usr/local/png –with-zlib –with-freetype=/usr/local/freetype
[root@localhost libgd-2.1.1]# make && make install
提示:GD库,是php处理图形的扩展库。
依赖关系解决:
安装 bison
[root@localhost gd-2.0.35]# rpm -ivh /mnt/cdrom/Packages/bison-2.4.1-5.el6.i686.rpm
请一定确认已挂载好服务
安装 libmcrypt
[root@localhost gd-2.0.35]# cd ..
[root@localhost resource]# tar xf libmcrypt-2.5.7.tar.gz
[root@localhost resource]# cd libmcrypt-2.5.7
[root@localhost libmcrypt-2.5.7]# ./configure –disable-posix-threads
[root@localhost libmcrypt-2.5.7]# make && make install
安装 mcrypt
[root@localhost libmcrypt-2.5.7]# cd ..
[root@localhost resource]# tar xf mcrypt-2.6.8.tar.gz
[root@localhost resource]# cd mcrypt-2.6.8
[root@localhost mcrypt-2.6.8]# ./configure –with-libmcrypt-prefix=/usr/local
如果出现一个Modify的错误
就需要执行下面的命令
[root@localhost mcrypt-2.6.8]# find / -name libmcrypt /usr/local/lib/libmcrypt
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib
又进行按如果出现0.8.15 compile thispropram 的错误
需要执行:
[root@localhost mcrypt-2.6.8]# cd ../
[root@localhost resource]# tar xf mhash-0.9.9.9.tar.gz
[root@localhost resource]# cd mhash-0.9.9.9
[root@localhost mhash-0.9.9.9]# ./configure && make && make install
[root@localhost mhash-0.9.9.9]# cd ../mcrypt-2.6.8
[root@localhost mcrypt-2.6.8]# ./configure –with-libmcrypt-prefix=/usr/local
[root@localhost mcrypt-2.6.8]# make && make install
安装 autoconf
[root@localhost mcrypt-2.6.8]# cd ..
[root@localhost resource]# tar xf autoconf-2.69.tar.gz
[root@localhost resource]# cd autoconf-2.69
[root@localhost autoconf-2.69]# ./configure && make && make install
提示:Autoconf是一个用于包,以适应多种Unix类系统的 shell脚本的工具。
安装 libiconv
[root@localhost autoconf-2.69]# cd ..
[root@localhost resource]# tar xf libiconv-1.14.tar.gz
c[root@localhost resource]# cd libiconv-1.14
[root@localhost libiconv-1.14]# ./configure –prefix=/usr/local/libiconv && make && make install
提示:解决编码问题的
安装libXpm-devel
[root@localhost resource]# yum install libXpm-devel
[root@localhost resource]# rpm -ql libXpm-devel
到这里,基本上Lamp的服务都安装成功,这个时候肯定就是需要在Linux启动的时候,自动启动我们安装的服务,就像在windows下自动启动服务一样,
让mysql开机自启动
1、chkconfig –add mysqld
2、chkconfig –level 2345 mysqld on
让vsftpd开机自启动
chkconfig –level 35 vsftpd on
让apache开机自启动
将apache启动文件复制到系统服务目录
cp /usr/local/lamp/apache2/bin/apachectl /etc/init.d/httpd
编辑apache启动文件,添加chkconfig命令支持
vim /etc/init.d/httpd
在 #!/bin/sh 下添加
#chkconfig:35 85 15
#description:Start and stop the Apache HTTP Server
添加以上标识后才能用chkconfig命令进行配置
使用chkconfig命令将apache设置为开机启动
chkconfig –add httpd
chkconfig httpd on
注意:为什么要
cp /usr/local/apache2/bin/apachect1 /etc/init.d/httpd
因为chkconfig建立的是 /etc/rc.d/rc5.d->/etc/init.d的软件连接
6.修改配置文件
1、修改路径
2、修改权限
出现如下情况:
修改权限:
如果你活着看到了这点文字,证明你已经成功了,恭喜你,你的Lamp环境可以使用了