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

[经验分享] 1.6编译方式搭建LAMP环境httpd

[复制链接]
YunVN网友  发表于 2018-12-17 13:40:04 |阅读模式
  一、安装编译工具和依赖包

  [root@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

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

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

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

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

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

6、安装gd2
  [root@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用户
  [root@www mysql-5.6.27]# groupadd mysql
[root@www mysql-5.6.27]# useradd -r -g mysql mysql

2、编译安装mysql
  [root@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


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

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

  [root@www mysql-5.6.27]# chown -R mysql:mysql /usr/local/mysql
[root@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、创建数据库存储目录

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

  5、安装系统数据库

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

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


  6、复制配置文件

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


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

  [root@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、添加启动脚本并设置开机启动

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

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

8、登录mysql

  [root@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>


  9、设置mysql环境变量
  [root@www www]# vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin
[root@www www]# source /etc/profile.d/path.sh

  

  [root@www www]# which mysqld
/usr/local/mysql/bin/mysqld


  

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

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

  2、编译安装apache2
  [root@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


  

  [root@www httpd-2.2.31]# make

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

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

  [root@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

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

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

  reboot

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

  [root@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

  

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

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

3、创建启动脚本

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


  

  五、安装PHP
  1、编译安装php
  [root@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
  [root@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/
  

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


  

  2、测试php

  [root@www php-5.6.14]# ls /usr/local/apache2/htdocs/index.html
/usr/local/apache2/htdocs/index.html
[root@www php-5.6.14]# cat !$
cat /usr/local/apache2/htdocs/index.html
It works![root@www php-5.6.14]#

  

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


  
    DirectoryIndex index.html index.php



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

  

  创建测试页面

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

  


  

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

  重新加载php配置:
[root@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-652476-1-1.html 上篇帖子: PHP 编辑环境问题集合 下篇帖子: 四、配置nginx支持php
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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