LAMP 环境搭建索引
1 LAMP 环境安装
1.1 LAMP 简要介绍
1.2 LAMP 源码包安装
1.2.1 安装前准备
1.2.2 安装libxml2 最新库文件
1.2.3 安装libmcrypt最新库文件
1.2.4 安装zlib 最新库文件 5
1.2.5 安装libpng 最新库文件
1.2.6 安装jpeg9 最新库文件
1.2.7 安装freetype 最新库文件
1.2.8 安装autoconf 最新库文件
1.2.9 安装最新的GD 库文件 9
1.2.10 安装最新的Apache 服务器
1.2.11 安装Mysql 数据库管理系统
1.2.12 安装最新版本的PHP 模块
1 LAMP 环境安装
1.1 LAMP 简要介绍
LAMP环境安装顺序,首先安装Apache、Mysql、PHP最后安装,因为PHP要调用mysql和apache的一些参数和数据。
Linux 版本号: Linux version 3.10.0-327.el7.x86_64
CentOS Linux release 7.2.1511 (Core)
Apache 版本号: Apache/2.4.18 (Unix)
MySql 版本号: Mysqlnd 5.6.10
PHP 版本号: PHP 7.0.3
源码包列表:
图 1 LAMP 源码包列表
1.2 LAMP 源码包安装
1.2.1 安装前准备
1) 获取源码包
2) 检查安装时使用的编译工具是否存在
gcc 、cmake
3) 卸载默认的低版本环境
1.2.2 安装libxml2 最新库文件
参考:细说php
cd /usr/local/src tar --zxvf libxml2-2.7.2.tar.gz cd libxml2-2.7.2 ./configure --prefix=/usr/local/libxml2 make && make install
1.2.3 安装libmcrypt最新库文件
cd /usr/local/src/ tar --zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8 ./configure --prefix=/usr/local/libmcrypt make && make install cd /usr/local/src/libmcrypt-2.5.8/libltdl ./configure --enable-ltdl-install make && make install
1.2.4 安装zlib 最新库文件
cd /usr/local/src/ tar --zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --prefix=/usr/local/zlib make && make install
1.2.5 安装libpng 最新库文件
cd /usr/local/src/ tar --zxvf libpng-1.6.21.tar.gz cd libpng-1.6.21 ./configure --prefix=/usr/local/libpng make && make install
bug:
configure: error: ZLib not installed
解决办法:
export LDFLAGS="-L/usr/local/zlib/lib" export CPPFLAGS="-I/usr/local/zlib/include"
1.2.6 安装jpeg9 最新库文件
mkdir /usr/local/jpeg9 mkdir /usr/local/jpeg9/bin mkdir /usr/local/jpeg9/lib mkdir /usr/local/jpeg9/include mkdir --p /usr/local/jpeg9/man/man1 cd /usr/local/src/ tar --zxvf jpegsrc.v9b.tar.gz cd jpeg-9b ./configure \ --prefix=/usr/local/jpeg9 \ --enable-shared \ --enable-static make && make install
1.2.7 安装freetype 最新库文件
cd /usr/local/src/ tar --zxvf freetype-2.4.0.tar.gz cd freetype-2.4.0 ./configure –prefix=/usr/local/freetype make && make install
1.2.8 安装autoconf 最新库文件
cd /usr/local/src/
先安装这个文件
tar -zvxf m4-1.4.17.tar.gz cd m4-1.4.17 ./configure make make install tar –zxvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure make && make install
bug:
GNU M4 1.4.6 or later is required; 1.4.13 is recommend
解决办法
wget -O m4-1.4.9.tar.gz http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz tar -zvxf m4-1.4.9.tar.gz cd m4-1.4.9 ./configure make make install
1.2.9 安装最新的GD 库文件
cd /usr/local/src (先安装这一个libXpm 防止后面安装php7.0.3 出现bug) yum install libXpm-devel.x86_64 tar -zxvf libgd-2.1.1.tar.gz cd libgd-2.1.1 ./configure \ --prefix=/usr/local/gd2/ \ --with-zlib=/usr/local/zlib/ \ --with-jpeg=/usr/local/jpeg9/ \ --with-png=/usr/local/libpng/ \ --with-freetype=/usr/local/freetype/ make && make install
1.2.10 安装最新的Apache 服务器
1) 安装Apache 组件apr
cd /usr/local/src tar –zxvf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr make && make install
2) 安装Apache 组件apr-util:
cd /usr/local/src tar –zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr make && make install
3) 安装Apache 组件Pcre
cd /usr/local/src tar –zxvf pcre-8.38.tar.gz cd pcre-8.38 ./configure –prefix=/usr/local/pcre make && make install
4) 安装openssl
centos7自带版本openssl1.0.1e,不卸载系统自带openssl,直接源码编译openssl1.0.1r
tar -zxvf openssl-1.0.1r.tar.gz cd openssl-1.0.1r ./config --prefix=/usr/local/openssl -fPIC enable-shared make && make install mv /usr/bin/openssl /usr/bin/openssl.1.0.1e ln –s /usr/local/openssl/bin/openssl /usr/bin/openssl
5) 安装apache
cd /usr/local/src tar –zxvf httpd-2.4.18.tar.gz cd httpd-2.4.18 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-cgi --enable-ssl --enable-rewrite --with-ssl=/usr/local/openssl --with-pcre=/usr/local/pcre --with-z=/usr/local/zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event --disable-userdir --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static=support make && make install systemctl stop firewalld.service systemctl disable firewalld.service /usr/local/apache/bin/apachectl start
1.2.11 安装Mysql 数据库管理系统
cd /usr/local/src groupadd mysql useradd -g mysql mysql -s /sbin/nologin tar –zxvf mysql-5.6.10.tar.gz cd mysql-5.6.10 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ -DSYSCONFDIR=/etc/my.cnf make && make install cp ./support-files/my-defautl.cnf /etc/my.cnf chmod 755 /usr/local/mysql/scripts/mysql_install_db chown -R mysql.mysql /usr/local/mysql/ /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ /usr/local/mysql/bin/mysqld_safe ?--user=mysql & /usr/local/mysql/bin/mysqladmin -uroot password root /usr/local/mysql/bin/mysql -uroot –proot echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >>/etc/rc.local echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile source /etc/profile
Mysql 安装完成后,可执行如下操作
参考资料:http://stackoverflow.com/questions/1559955/host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server
CREATE USER ‘magento’@'localhost' IDENTIFIED BY 'magento123'; GRANT ALL PRIVILEGES ON *.* TO 'magento'@'localhost' with grant option; CREATE USER 'magento'@'%' IDENTIFIED BY ‘magento123’; GRANT ALL PRIVILEGES ON *.* TO 'magento'@'%' WITH GRANT OPTION;
1.2.12 安装最新版本的PHP 模块
cd /usr/local/src/ tar –zxvf php-7.0.3.tar.gz cd php-7.0.3 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg9/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv=/usr/local/lib/libiconv --enable-soap --enable-mbstring=all --enable-sockets --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-curl --enable-bcmath --enable-pcntl --enable-ftp --enable-exif --enable-calendar --enable-sysvmsg --with-iconv --enable-sysvmsg make && make install cp ./ php.ini-development /usr/local/php/etc/php.ini vi /etc/httpd/httpd.conf #(在AddType application/x-zip .gz .tgz) 下面添加如下一条: AddType application/x-httpd-php .php .phtml /usr/local/apache/bin/apachectl stop /usr/local/apache/bin/apachectl start #在/usr/local/apache/htdocs 目录下建立一个phpinfo.php 的文件
<?php phpinfo(); ?>
由于我服务器的ip 地址为192.168.1.27,故url: http://192.168.1.27/phpinfo.php
bug1:
在phpinfo 页面中发现了一个问题:
图3 Mysqli 设置出现的小问题
我在安装Mysql 的时候,设置的socket 通信文件存放位置是/tmp/mysql.sock
而mysqli 中的socket 文件却是/tmp/mysqld.sock
解决办法如下:
cd /tmp ln –s ./mysql.sock ./mysqld.sock
bug2:
在安装php 的时候会出现如下问题:
/usr/local/src/php-7.0.3/ext/gd/gd.c:57:22: error: X11/xpm.h: No such file or directory make: *** [ext/gd/gd.lo] Error 1
问题说明:这是提示gd库不支持xpm
解决方法:
1.安装libxpm
yum install libXpm-devel.x86_64
备注及引用
本文 来自小李的投稿
由ajing-tuzi 编辑及整理并发布 对原文略有修改
本文的 参考及引用源并未列出
参考源
[root@localhost src]# wget http://nginx.org/download/nginx-1.4.5.tar.gz [root@localhost src]# wget http://ftp.exim.llorien.org/pcre/pcre-8.34.tar.gz (备注:nginx的重写rewrite需要) [root@localhost src]# wget http://zlib.net/zlib-1.2.8.tar.gz (nginx的gzip压缩) [root@localhost src]# wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.16.tar.gz [root@localhost src]# wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz (MySQL5.5以后需要用cmake来安装) [root@localhost src]# wget http://cn2.php.net/get/php-5.5.9.tar.gz/from/this/mirror [root@localhost src]# wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download [root@localhost src]# wget https://bitbucket.org/libgd/gd-libgd/get/gd-2.1.0.tar.gz [root@localhost src]# wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz [root@localhost src]# wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz [root@localhost src]# wget http://download.savannah.gnu.org/releases/freetype/freetype-2.5.2.tar.gz [root@localhost src]# wget http://sourceforge.net/projects/libpng/files/libpng16/1.6.8/libpng-1.6.8.tar.gz/download [root@localhost src]# wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
转载请注明:(●--●) Hello.My Weicot » 自己编译 LAMP Centos 7.2+Apache2.4+ Mysqlnd 5.6+PHP 7 详解