首页 > 代码库 > LAMP搭建

LAMP搭建

一、mysql编译安装(5.7版本)


1. 下载存放路径:/usr/local/src/

     wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz


2. 解压文件移至程序安装路径/usr/local/mysql

    mv  mysql-5.7.12-linux-glibc2.5-x86_64  /usr/local/mysql


3. 初始化,获取数据库初始密码

    useradd -M -s /sbin/nologin  mysql 

    mkdir -p /data/mysql

    chown mysql /data/mysql

    cd /usr/local/mysql

    ./bin/mysqld  --initialize --user=mysql --datadir=/data/mysql

    ./bin/mysql_ssl_rsa_setup --datadir=/data/mysql


4. 拷贝并编辑配置文件和启动脚本

    cp support-files/my-default.cnf  /etc/my.cnf  

    编辑内容:

            basedir = /usr/local/mysql

            datadir = /data/mysql

            port = 3306

            socket = /tmp/mysql.sock


    cp support-files/mysql.server /etc/init.d/mysqld

    编辑内容:

           basedir=/usr/local/mysql

           datadir=/data/mysql


5. 启动服务,用初始密码登陆数据库,修改密码

    /etc/init.d/mysqld start

    /usr/local/mysql/bin/mysql -uroot -p‘初始密码‘  

    mysql>set password = password(‘新密码‘); 


 注:

    如果忘记密码,则修改配置/etc/my.cnf,在[mysqld]下面增加一行

    skip-grant-tables

         

    免密码登录后,重设密码,再去掉skip-grant-table

    update user set authentication_string=password(‘123333‘) where user=‘root‘;



二、Apache编译安装(2.4版本)


1.下载源码包

    wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.25.tar.gz


2. 解压,配置编译参数,安装

    ./configure --prefix=/usr/local/apache2 \  #指定安装目录

      --with-included-apr  \           #apache跨平台运行,就是基于底层库apr 

      --enable-so \                         #让apache核心装载DSO 

      --enable-deflate=shared  \   #支持网页压缩 

      --enable-expires=shared  \   #支持 HTTP 控制 

      --enable-rewrite=shared  \   #支持 URL 重写 

      --with-pcre                           #一个Perl库,兼容正则表达式


    make;make install

    说明:检测验证方式 echo $?;过程中可能要求:“zlib-devel”和“pcre pcre-devel apr apr-devel”等库文件


             

常用选项:

1. 列出所有加载模块,包括静态和动态

   命令 /usr/local/apache2/bin/apachectl -M

   说明:动态模块文件目录:/usr/local/apache2/modules


2. 列出所有加载静态模块

    命令 /usr/local/apache2/bin/apachectl -l


3. 检查apache配置文件httpd.conf是否有语法错误

    命令  /usr/local/apache/bin/apachectl -t


4. apache工作模式

    说明:可以通过/usr/local/apache2/bin/apachetl -l 查看

    apache2.2 版本默认模式 :prefork

    apache2.4 版本默认模式为:event


5. 查看编译配置帮助信息

   命令 ./configure --help | less


  注:

   1)可以通过pid文件关闭apahce

        命令 kill ` cat /usr/local/apache2/logs/httpd.pid`


  2)同一台物理机上运行多个版本的apache,只需指定不同的安装目录;运行多个同一版本的副本,只需指定不

        同的配置文件,如:httpd -f /usr/local/apache2/conf/httpd.conf


  3) 如果apache需要的某些模块没有安装,则可进入源码包,找到需要编译的模块,使用apsx动态编

        译,如 /usr/local/apache2/bin/apxs -i -c mod_status.c ,需注意是否该模块已静态加载



三、PHP编译安装过程(7.0版本)


1.下载源码包

    wget http://cn2.php.net/distributions/php-7.0.16.tar.bz2

    

2. 解压,配置编译参数

    ./configure --prefix=/usr/local/php \       # 指定 php 安装目录

    --with-apxs2=/usr/local/apache2/bin/apxs \      # 整合 apache,启用apxs功能 

    --with-config-file-path=/usr/local/php/etc  \   # 指定php.ini位置 

    --with-mysql=/usr/local/mysql \      # mysql安装目录,对mysql的支持 

    --with-libxml-dir \     #  打开libxml2库的支持,libxml是一个用来解析XML文档的函数库 

    --with-gd \                 # 是php处理图形的扩展库 

    --with-jpeg-dir \        #  打开对jpeg图片的支持 

    --with-png-dir \         #  打开对png图片的支持 

    --with-freetype-dir \     #  打开对freetype字体库的支持 

    --with-iconv-dir \       #  打开iconv函数,种字符集间的转换 

    --with-zlib-dir \        #  zlib是提供数据压缩用的函式库 

    --with-bz2 \           #  打开对bz2文件的支持 

    --with-openssl \        #   openssl的支持,加密传输时用到的 

    --with-mcrypt \       # php 里面重要的加密支持扩展库,支持20多种加密算法和8种加密模式 

    --enable-soap \          #   

    --enable-gd-native-ttf \   # 支持TrueType字符串函数库 

    --enable-mbstring \         # 多字节,字符串的支持 

    --enable-sockets \            # 打开 sockets 支持 

    --enable-exif \                  # 图片的元数据支持 

    --disable-ipv6                   #

    --with-mysqli

    --with-mcrypt=/usr/local/libmcrypt


./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir --with-mysqli --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt=/usr/local/libmcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6 


    编译过程中需要安装的包

yum install freetype-devel  libjpeg-devel libpng-devel  bzip2 bzip2-devel openssl-devel  xml2-devel  libmcrypt libmcrypt-devel  libjpeg-turbo-devel

    可以借助第三方yum源下载库文件或者安装扩展源,如:

http://rpmfind.net/linux/rpm2html/search.php?query=libmcrypt-devel


    apxs 自动帮助安装扩展模块用,安装完之后模块将会在apache目录/usr/local/apache2/modules下显示;其他编译参数解释,可以查看下面链接:

http://www.oschina.net/question/17_10674


3. 安装make;make install


4. 拷贝配置文件

    说明:拷贝文件至安装目录etc子目录下,编译时已指定该路径,并更名为php.ini

    命令 cp /usr/local/src/php-5.6.26/php.ini-production   /usr/local/php/etc/php.ini



常用选项

1. 查看静态编译的模块,动态模块需要自己编译

    命令 /usr/local/php/bin/php -m


2. 查看php相关的配置

    说明:查看编译参数等,等同于用浏览器查看info.php文件

    命令 /usr/local/php/bin/php -i


    注:php的函数或者模块,下载解压之后是没有configure文件的,需要先执行/usr/local/php/bin/phpize解释完文件生成configure,才能执行./configure ;make;make install


四、Apache结合php过程


1. apache主配置文件添加php解析

    配置文件/usr/local/apache2/conf/httpd.conf,找到

    AddType application/x-gzip .gz .tgz

    添加:

    AddType application/x-httpd-php .php

    

    说明:将.php的文件交给php去解析,如果php5模块没有加载,即表示php没有装好,那么Apache碰到自己识别不了的文件,一般都会提示下载


2. apache主配置文件添加php索引首页

    找到:

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

    改为:

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


3. apache主配置文件开启web服务器域名和端口号

    1)去掉主机名注释符

         ServerName localhost:80

     

    2)到并修改:

     <Directory />

       Options FollowSymLinks

       AllowOverride None

       Order deny,allow

       Allow from all   #2.4版本Require all grant

     </Directory>


4. 启动httpd服务

    命令 /usr/local/apache2/bin/apachectl  start


5. 启动验证

    在网站默认数据目录 /usr/local/apache2/htdocs下创建编辑一个phpinfo文件,用浏览器打开


    

本文出自 “一马踏平川” 博客,请务必保留此出处http://huangzp.blog.51cto.com/12434999/1906842

LAMP搭建