LAMP搭建

安装环境:

系统:Centos6.4x64
Apache: httpd-2.4.10.tar.gz
Mysql: mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz
php: php-5.6.29.tar.gz
Apr: apr-1.5.1.tar.gz
Apr-util: apr-util-1.5.3.tar.gz
Libxml2: libxml2-2.9.1.tar.gz
默认安装路径统一安装到/usr/local下

Apache安装:

安装Apache之前先把所需要的开发包安装上,使用

yum –y install gcc gcc-c++ pcre pcre-devel python python-devel libtool libtool-ltdl libXpm

安装Apache2.4所需要用到的apr版本要在1.4以上,Apr-util是1.5.3版本,还需要libxml2软件,libxml2是一个C语言的解析器。

创建安装目录:
创建相对应安装包目录:使用

mkdir /usr/local/{apr,apr-util,libxml2,apache,php}

安装Apr:

Shell>tar xf apr-1.5.1.tar.gz
Shell>cd apr-1.5.1
Shell>./configure --prefix=/usr/local/apr
Shell>make && make install

安装Apr-util包:

Shell>tar xf apr-util-1.5.3.tar.gz
Shell>cd apr-util-1.5.3
Shell>./configure --prefix=/usr/local/apr-util –with-apr=/usr/local/apr
Shell>make && make install

安装Libxml2包:

Shell>tar xf libxml2-2.9.1.tar.gz
Shell>cd libxml2-2.9.1
Shell>./configure --prefix=/usr/local/libxml2
Shell>make && make install 

安装Apache包:

Shell>tar xf l httpd-2.4.10.tar.gz
Shell>cd httpd-2.4.10
Shell>./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-libxml2=/usr/local/libxml2 --enable-so --enable-cgi --enable-rewrite
Shell>make && make install 

Shell>cp /usr/local/apache/bin/apachectl  /etc/init.d/apache  ##将mysql自带的服务启动文件拷贝到系统启动目录下

Apache安装完成,启动Apache服务,查看80端口,测试WEB页:

Shell>service apache start
Shell>netstat –lntp | grep :80
Shell>curl http://127.0.0.1 

如果出现下面的错误

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

编辑httpd.conf配置,将#ServerName www.example.com:80 去掉注释并改为 localhost:80,重启apache服务。

设置开机启动

echo "/etc/init.d/apache start" > /etc/rc.local 

安装Mysql

     这里使用的是二进制格式的Mysql安装包,安装前先给Mysql创建用户和组:

Shell>groupadd mysql
Shell>useradd –r –g mysql mysql
Shell>tar xf mysql-5.6.20-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
Shell>ln -s /usr/local/mysql-5.6.20-linux-glibc2.5-x86_64 /usr/local/mysql #给mysql设置软链接
Shell>cd /usr/local/mysql  ##进入mysql目录
Shell>chown -R mysql.mysql .   ##给mysql目录设置所属主和组
Shell>scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --user=mysql  ##初始化mysql数据库并指定mysql的安装目录,数据库存放目录和所属用户

Shell> chown -R root .  ##为了安全将mysql目录下的mysql主改为root用户主
Shell> chown -R mysql data/   ##因为我们的数据库默认保存在data目录下,所以因该给data目录的主为mysql,否则创建数据库为失败。

Shell>cp support-files/mysql.server /etc/init.d/mysqld  ##将mysql自带的服务启动文件拷贝到系统启动目录下
Shell>chmod +x /etc/init.d/mysqld  ##给启动服务添加执行权限
Shell>chkconfig --add mysqld    ##将服务添加到系统启动中
Shell>chkconfig --list mysqld     ##查看mysql服务启动项
Shell>rm -rf /etc/my.cnf     ##要删除/etc/my.cnf文件,因为这是Centos6.4自带的文件,当我们启动mysql服务的时候,mysql服务会先去找/etc下的my.cnf文件,然后也会在数据库安装目录查找my.cnf文件,可以不删除/etc下的my.cnf文件,但是记得修改配置文件,这里为了图方便,所以将其删掉,这样系统会自动查找数据库安装目录下的my.cnf文件
Shell>service mysqld start   ##启动mysql服务

Shell>/usr/local/mysql/bin/mysqladmin -uroot password '123456'; ##给mysql中的root用户设置密码,默认为空
Shell>/usr/local/mysql/bin/mysql -uroot –p  ##以root用户登录mysql数据库
##授权登陆
Mysql>GRANT ALL PRIVILEGES ON *.*  TO 'root'@'%' IDENTIFIED BY '123456'; ## %表示任何ip的主机访问,ALL PRIVILEGES表示所有权限,权限可选SELECT|DELETE|INSERT|UPDATE|CREATE|INDEX|SHOW|ALTER|EXCUTE|REFERENCES  ,*.* 表示任何数据库的任何表,可以指定数据库的具体数据表
Mysql>FLUSH PRIVILEGES; ##刷新权限

安装GD库

1、安装 zlib

tar -zxf zlib-1.2.3.tar.gz 
cd zlib-1.2.3 
./configure --prefix=/usr/local/zlib 
make 
make install

注意: 如果系统是64位,需要用64位元的方法重新编译安装zlib:

Shell>getconf LONG_BIT  #查看系统位数file /sbin/init 或者 file /bin/ls
Shell>CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib

2、安装 jpeg

安装前先创建jpeg安装文件所需(如下)目录,防止提示类似“无法创建一般文件‘/usr/local/jpeg/***’: 没有那个文件或目录” 的错误

mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin 
mkdir /usr/local/jpegb 
mkdir /usr/local/jpeg/include 
mkdir /usr/local/jpeg/man 
mkdir /usr/local/jpeg/man1 
mkdir /usr/local/jpeg/man/man1 
tar -zxf jpeg.tar.gz 
cd jpeg-6b 
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static 
make 
make install

安装完成提示:

Libraries have been installed in: 
/usr/local/jpeg6b

3、安装 libpng

tar -zxf libpng-1.2.16.tar.gz 
cd libpng-1.2.16 
./configure --prefix=/usr/local/libpng 
make 
make install

4、安装 freetype

tar -zxf freetype-2.3.4.tar.gz 
cd freetype-2.3.4 
mkdir  /usr/local/freetype 
./configure --prefix=/usr/local/freetype 
make 
make install

5、安装 GD

tar -zxf gd-2.1.1.tar.gz   
cd libgd-2.1.1 
mkdir -p /usr/local/gd2 
./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg/ --with-png=/usr/local/libpng/ --with-zlib=/usr/local/zlib/ --with-freetype=/usr/local/freetype/ 
make 
make install

注意:gd库版本需要>=2.1.0 ,如果源码中没有./configure,请看INSTALL帮助文件,一般有可执行的.sh脚本,chmod +x 更改权限后执行将生成./configure

安装PHP

Shell>tar xf php-5.6.39.tar.gz
Shell>cd php-5.6.39
Shell>  './configure' '--prefix=/usr/local/php/' '--with-libxml-dir=/usr/local/libxml2/' '--with-mysql=/usr/local/mysql' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-config-file-path=/etc' '--with-gd=/usr/local/gd2' '--with-mcrypt=/usr/local/libmcrypt' '--with-freetype-dir=/usr/local/freetype' 
Shell> make && make install

Shell> cp php.ini-production /etc/php.ini  ##将安装目录下的php.ini-production复制到/etc下作为配置文件
  • 这个过程中如果报png.h not found错误 则先yum安装libpng-devel
  • 如果报mcrypt.h not found 则先源码安装libmcrypt
  • 如果出现error: X11/xpm.h: No such file or directory,即提示gd库还没有支持xpm则先yum安装libXpm-devel然后重新安装gd库

配置Apache,使其和Php结合

编辑vi /usr/local/apache/conf/httpd.conf文件,查看LoadModule模块中有没自动添加PHP模块:

Shell>grep libphp5.so /usr/local/apache/conf/httpd.conf

使apache与扩展名为.php的文件类型相关联:在/usr/local/apache/conf/httpd.conf文件中添加一句:

AddType application/x-httpd-php .php

重启Apache服务,并添加phpinfo()和mysql连接测试

==至此,LAMP搭建完成。==

php动态扩展,不需要php重新编译安装

1、动态扩展PDO

进入“[php解压目录]/ext/pdo_myql”目录,执行如下命令:
[php安装目录]/bin/phpize #phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块

然后进行配置安装

./configure  --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql

make
make install

完成后看最后一行pdo_mysql.so的生成路径

/usr/local/php/lib/php/extensions/no-debug-zts-20131226/pdo_mysql.so

vim /etc/php.ini   #加入pdo_mysql.so的路径
extension = /usr/local/php/lib/php/extensions/no-debug-zts-20131226/pdo_mysql.so

重新启动apache即可看到已经加载pdo_mysql成功,其他动态扩展方式类似。

如需转载,请注明出处。本文章链接: http://blog.yhcloud.cc/index.php/2017/03/28/build_lamp

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注