设为首页 收藏本站
查看: 1064|回复: 0

编译方式搭建LAMP环境httpd-2.2.31+mysql-5.6.27+php-5.6.14

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-12-17 09:13:55 | 显示全部楼层 |阅读模式
一、安装编译工具和依赖包

[iyunv@www src]# yum -y install gc gcc-c++ pcre-devel ncurses-devel openssl-devel libpng-devel libtool libxslt-devel libxml2-devel libXpm-devel curl-devel


二、安装PHP和MySQL所需要的软件

1、安装cmake

[iyunv@www cmake-2.8.10.2]# ./bootstrap
[iyunv@www cmake-2.8.10.2]# make && make

2、安装freetype
[iyunv@www freetype-2.4.0]# ./configure --prefix=/usr/local/freetype
[iyunv@www freetype-2.4.0]# make

3、安装libmcrypt
[iyunv@www libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[iyunv@www libmcrypt-2.5.8]# make

4、安装libiconv
[iyunv@www libiconv-1.14]# ./configure --prefix=/usr/local/libiconv
[iyunv@www libiconv-1.14]# make install

5、安装jpeg-6b
[iyunv@www src]# cd jpeg-6b/
[iyunv@www jpeg-6b]# mkdir /usr/local/jpeg6
[iyunv@www jpeg-6b]# mkdir /usr/local/jpeg6/bin
[iyunv@www jpeg-6b]# mkdir /usr/local/jpeg6/lib
[iyunv@www jpeg-6b]# mkdir /usr/local/jpeg6/include
[iyunv@www jpeg-6b]# mkdir /usr/local/jpeg6/man/man1 -p
[iyunv@www jpeg-6b]# cp /usr/share/libtool/config/config.sub .
cp: overwrite `./config.sub'? y
[iyunv@www jpeg-6b]# cp /usr/share/libtool/config/config.guess .
cp: overwrite `./config.guess'? y
[iyunv@www jpeg-6b]# ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
[iyunv@www jpeg-6b]# make

6、安装gd2
[iyunv@www libgd-2.1.1]# ./configure --prefix=/usr/local/libgd2 --with-zlib --with-jpeg=/usr/local/jpeg6 --with-png --with-freetype=/usr/local/freetype



三、安装mysql
1、创建mysql用户
[iyunv@www mysql-5.6.27]# groupadd mysql
[iyunv@www mysql-5.6.27]# useradd -r -g mysql mysql

2、编译安装mysql
[iyunv@www mysql-5.6.27]# cmake . \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/var/lib/mysql \
> -DSYSCONFDIR=/etc \
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \
> -DWITH_MYISAM_STORAGE_ENGINE=1 \
> -DWITH_MEMORY_STORAGE_ENGINE=1 \
> -DWITH_READLINE=1 \
> -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
> -DMYSQL_TCP_PORT=3306 \
> -DENABLED_LOCAL_INFILE=1 \
> -DWITH_PARTITION_STORAGE_ENGINE=1 \
> -DEXTRA_CHARSETS=all \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci

-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    WITH_MEMORY_STORAGE_ENGINE
    WITH_READLINE


-- Build files have been written to: /usr/local/src/mysql-5.6.27


[iyunv@www mysql-5.6.27]# gmake
[iyunv@www mysql-5.6.27]# gmake install

3、修改/usr/local/mysql文件权限

[iyunv@www mysql-5.6.27]# chown -R mysql:mysql /usr/local/mysql
[iyunv@www mysql-5.6.27]# ll -d /usr/local/mysql
drwxr-xr-x 13 mysql mysql 4096 Dec 14 12:08 /usr/local/mysql

4、创建数据库存储目录

[iyunv@www mysql-5.6.27]# mkdir /var/lib/mysql
[iyunv@www mysql-5.6.27]# chown mysql. /var/lib/mysql

5、安装系统数据库

[iyunv@www scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/var/lib/mysql --no-defaults --user=mysql

[iyunv@www scripts]# ls /var/lib/mysql/
ibdata1  ib_logfile0  ib_logfile1  mysql  performance_schema  test


6、复制配置文件

[iyunv@www scripts]# cd /usr/local/mysql/support-files/
[iyunv@www support-files]# ls
binary-configure  magic my-default.cnf mysqld_multi.server  mysql-log-rotate  mysql.server


[iyunv@www support-files]# cp my-default.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y

[iyunv@www support-files]# vim /etc/my.cnf    //修改配置
basedir = /usr/local/mysql
datadir = /var/lib/mysql
port = 3306
# server_id = .....
socket = /var/lib/mysql/mysql.sock


7、添加启动脚本并设置开机启动

[iyunv@www support-files]# cp mysql.server /etc/rc.d/init.d/mysqld
[iyunv@www support-files]# chmod +x /etc/rc.d/init.d/mysqld

[iyunv@www support-files]# service mysqld start
Starting MySQL.. SUCCESS!
[iyunv@www support-files]# chkconfig --add mysqld
[iyunv@www support-files]# chkconfig mysqld on

8、登录mysql

[iyunv@www support-files]# /usr/local/mysql/bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.27 Source distribution

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>




四、安装apache2
1、安装apr和apr-util

[iyunv@www apr-1.5.2]# ./configure --prefix=/usr/local/apr
[iyunv@www apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

2、编译安装apache2
[iyunv@www httpd-2.2.31]# ./configure \
--prefix=/usr/local/apache2 \
--sysconfdir=/etc/httpd \
--with-included-apr \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre \
--enable-mem-cache \
--enable-cache \
--enable-static-support \
--with-z



[iyunv@www httpd-2.2.31]# make

[iyunv@www httpd-2.2.31]# make install
make[1]: Leaving directory `/usr/local/src/httpd-2.2.31'
[iyunv@www httpd-2.2.31]# echo $?
0

[iyunv@www ~]# ls /usr/local/apache2/
bin  build  cgi-bin  error  htdocs  icons  include  lib  logs  man  manual  modules

[iyunv@www httpd-2.2.31]# /usr/local/apache2/bin/apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

[iyunv@www httpd-2.2.31]# netstat -tnlp | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      2112/httpd  

[iyunv@www ~]# rm -rf /usr/local/apache2
[iyunv@www src]# rm -rf httpd-2.2.31
[iyunv@www src]# rm -rf /etc/httpd

reboot

[iyunv@www ~]# netstat -tnlp | grep 80

[iyunv@www httpd-2.2.31]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre --enable-mem-cache --enable-cache --enable-static-support --with-z


[iyunv@www httpd-2.2.31]# /usr/local/apache2/bin/apachectl start
[iyunv@www httpd-2.2.31]# netstat -tnlp | grep 80
tcp        0      0 :::80                       :::*                        LISTEN      50223/httpd  

[iyunv@www httpd-2.2.31]# /usr/local/apache2/bin/apachectl -t
Syntax OK

3、创建启动脚本

[iyunv@www src]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd



五、安装PHP
1、编译安装php
[iyunv@www php-5.6.14]# ./configure \
> --prefix=/usr/local/php \
> --with-config-file-path=/usr/local/php/etc \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql \
> --with-gd=/usr/local/libgd2 \
> --with-jpeg-dir=/usr/local/jpeg6 \
> --with-freetype-dir=/usr/local/freetype \
> --with-mcrypt=/usr/local/libmcrypt \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --with-libxml-dir \
> --with-zlib-dir \
> --with-png-dir \
> --with-iconv-dir=/usr/local/libiconv \
> --with-openssl \
> --with-curl \
> --enable-soap \
> --enable-gd-native-ttf \
> --enable-mbstring \
> --enable-sockets \
> --enable-exif \
> --disable-ipv6 \
> --enable-ftp \
> --with-mhash \
> --with-pcre-dir=/usr/bin/pcre-config \
> --enable-zip \
> --with-bz2


报错:

configure: error: Please reinstall the BZip2 distribution
[iyunv@www php-5.6.14]# yum install -y bzip2 bzip2-devel


Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/usr/local/src/php-5.6.14/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:          /usr/local/php/include/php/ext/pdo/

[iyunv@www php-5.6.14]# echo $?
0
[iyunv@www php-5.6.14]# ls /usr/local/php/
bin  etc  include  lib  php



2、测试php

[iyunv@www php-5.6.14]# ls /usr/local/apache2/htdocs/index.html
/usr/local/apache2/htdocs/index.html
[iyunv@www php-5.6.14]# cat !$
cat /usr/local/apache2/htdocs/index.html
<html><body><h1>It works!</h1></body></html>[iyunv@www php-5.6.14]#


[iyunv@www php-5.6.14]# vim /etc/httpd/httpd.conf  //修改配置


<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>


    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php .phtml


创建测试页面

[iyunv@www php-5.6.14]# vim /usr/local/apache2/htdocs/index.php

<?php
phpinfo();
?>

wKiom1ZxeCeDxmd4AAF37kYqq8g807.jpg

[iyunv@www php-5.6.14]# cp php.ini-production /usr/local/php/etc/php.ini

重新加载php配置:
[iyunv@www php-5.6.14]# /usr/local/apache2/bin/apachectl graceful

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-152314-1-1.html 上篇帖子: WAMP的多站点配置 下篇帖子: 用shell脚本搭建lamp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表