LAMP搭建(Centos 7 源码包)

一、LAMP环境搭建——apache

准备工作:关闭selinux和iptables

                  配置本地yum源

                 关闭系统默认安装的httpd

                上传LAMP源码包,安装gcc、make编译工具

1、安装apache

1)rz上传lamp.tar.gz压缩包并解要到指定目录

     例:tar -zxvf lamp.tar.gz -C root/mt

2)将/root/mt下所有压缩文件解压到指定文件内

     例:创建/root/mt/lamp目录,将全部压缩包解压到lamp目录下

      apache使用源码包:httpd-2.4.7.tar.gz

                                       apr-1.4.6.tar.gz

                                       apr-util-1.4.1.tar.gz

  

3)安装基础依赖

执行:yum -y install openssl openssl-devel zlib zlib-devel pcre pcre-devel

4)解决apr-1.4.6和apr-util-1.4.1依赖关系

执行:cp -r apr-1.4.6/ httpd-2.4.7/srclib/apr

           cp -r apr-util-1.4.1/ httpd-2.4.7/srclib/apr-util

5)cd进入httpd-2.4.7目录使用./configure进行环境检查

执行:./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers --enable-expires --enable-modules=most --enable-deflate --enable-ssl

6)执行make && make install编译并安装

命令:make clean all    清除configure环境检查

2、检测配置文件,服务启停

1)进入安装目录:cd /usr/local/apache2

                               conf           配置文件目录

                               htdocs        网页目录

                               modules     模块存放位置

2)启动命令:/usr/local/apache2/bin/apachectl start

取消警告信息:/usr/local/apache2/conf/httpd.conf取消ServerName的注释信息

二、LAMP环境搭建——MySQL

1、安装MySQL

1)安装基础依赖

执行:yum -y install cmake bison ncurses-devel

2)解压ncurses-5.9.tar.gz到指定目录

例:tar -zxvf ncurses-5.9.tar.gz /root/mt/lamp

3)cd进入ncurses-5.9目录使用./configure进行环境检查

执行: ./configure --with-shared --without-debug --without-ada --enable-overwrite

4)编译并安装:make && make install

5)添加mysql用户:useradd -M -s /sbin/nologin mysql

6)安装MySQL软件:

cd进入mysql-5.5.48目录,执行:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

7)编译并安装:make && make install

8)生成配置文件:cp -a support-files/my-medium.cnf /etc/my.cnf

9)进入指定的安装目录:cd /usr/local/mysql

10)递归修改data的所有者:chown -R mysql:root data

11)初始化数据库:./scripts/mysql_install_db --user=mysql

2、启动MySQL

1)后台安全启动:

cd进入/usr/local/mysql内

执行:/usr/local/mysql/bin/mysqld_safe --user=mysql &

2)查看端口:ss -anpt | grep 3306

3、设定MySQL密码

1)执行:/usr/local/mysql/bin/mysqladmin -u 用户名 password 密码

例:/usr/local/mysql/bin/mysqladmin -u root password 123

2)登录MySQL

执行:/usr/local/mysql/bin/mysql -u 用户名 -p    按enter键进入输入密码

例:/usr/local/mysql/bin/mysql -u root -p

三、LAMP环境搭建——PHP

1、安装字体库(freetype)

1)解压tar -zxf freetype-2.3.5.tar.gz到指定目录

2)cd进入解压目录,执行:./configure --prefix=/usr/local/freetype

3)编译并安装:make && make install

2、安装加密库(mcrypt <- mhash + libmcrypt和ltdl)

1)解压tar -zxf libmcrypt-2.5.8.tar.gz到指定目录

2)cd进入解压目录,执行:./configure --prefix=/usr/local/libmcrypt

3)编译并安装:make && make install

4)安装libltdl:执行cd libltdl

                        ./configure --enable-ltdl-install

                         编译并安装:make && make install

3、安装mhash

1)解压tar -zxf mhash-0.9.9.9.tar.gz到指定目录

2)cd进入解压目录,执行:./configure

3)编译并安装:make && make install

4、安装mcypt

1)解压tar -zxf mcrypt-2.6.8.tar.gz到指定目录

2)cd进入解压目录

3)声明环境变量:export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib

4)执行:./configure --with-libmcrypt-prefix=/usr/local/libmcrypt

5)编译并安装:make && make install

5、安装压缩库(zlib)

1)加压tar -zxf zlib-1.2.3.tar.gz到指定目录

2)cd进入解压目录,执行:./configure

3)修改Makefile:vim Makefile

添加:CFLAGS=-O3 -DUSE_MMAP -fPIC

4)编译并安装:make && make isntall

6、安装图片库(libpng、jpeg)

1)解压tar -zxf libpng-1.2.31.tar.gz到指定目录

2)cd进入解压目录,执行:./configure --prefix=/usr/local/libpng

3)编译并安装:make && make install

4)安装jpeg6:

cd到解压目录外执行:

mkdir /usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir /usr/local/jpeg6/lib

mkdir /usr/local/jpeg6/include

mkdir -p /usr/local/jpeg6/man/man1

LAMP搭建(Centos 7 源码包)

yum -y install libtool*

解压tar -zxf jpegsrc.v6b.tar.gz到执行目录并进入

执行:cp -a /usr/share/libtool/config/config.sub ./

          cp -a /usr/share/libtool/config/config.guess ./

执行:./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

编译并安装:make && make install

 

7、安装配置文件解析库(libxml2)

1)执行:yum -y install libxml2-devel python-devel

2)解压tar -zxf libxml2-2.9.1.tar.gz到指定目录

3)cd进入解压目录,执行:./configure --prefix=/usr/local/libxml2

4)编译并安装:make && make install

8、安装PHP软件

1)解压tar -zxf php-7.0.7.tar.gz到指定目录

2)cd进入解压目录,执行:

./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear

3)编译并安装:make && make install

4)生成php配置文件:mkdir /usr/local/php/etc

                                     cp -a php.ini-production /usr/local/php/etc/php.ini

5)修改apache配置文件,使其识别*.php文件,并通过php模块调用php进行页面解析

vim /usr/local/apache2/conf/httpd.conf

添加:AddType application/x-httpd-php .php .phtml

           AddType application/x-httpd-php-source .phps

取消:#ServerName www.example.com:80前的注释符

6)重新启动apache服务:/usr/local/apache2/bin/apachectl stop

                                          /usr/local/apache2/bin/apachectl start

7)编写php测试界面

cd /usr/local/apache2/htdocs

vim /usr/local/apache2/htdocs/test-php.php

添加:<?php

                        phpinfo();

           ?>

8)编写php网页中连接mysql数据库

vim /usr/local/apache2/htdocs/test-php-mysql.php

<?php

           $servername = "localhost";

           $username = "root";

           $password = "123";

           // 创建连接

           $conn = mysqli_connect($servername, $username, $password);

           // 检测连接

           if ($conn) {

                    echo "连接成功";

           } else {

                    //die() 函数输出一条消息,并退出当前脚本,是 exit() 函数的别名。

                    die("Connection failed: " . mysqli_connect_error());

           }

      

           // 创建数据库

           $sql = "CREATE DATABASE IF NOT EXISTS  wordpress";

           if (mysqli_query($conn, $sql)) {

                     echo "数据库创建成功";

           } else {

                     echo "Error creating database: " . mysqli_error($conn);

           }

            mysqli_close($conn);

?>

9、优化PHP、添加扩展模块

1)安装openssl扩展

cd 解压目录/php-7.0.7/ext/openssl

例:cd /root/mt/lamp/php-7.0.7/ext/openssl

执行:mv config0.m4 config.m4

将信息输出:/usr/local/php/bin/phpize

执行:./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

编译并安装:make && make install

2)安装zlib扩展

cd php-7.0.7/ext/zlib/

mv config0.m4 config.m4

/usr/local/php/bin/phpize

./configure --with-zlib --with-php-config=/usr/local/php/bin/php-config

编译并安装:make && make install

3)安装memcache

解压unzip pecl-memcache-php7.zip到指定目录

cd进入解压目录

/usr/local/php/bin/phpize

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

编译并安装:make && make install

4)安装memcache服务(CentOS6和CentOS7有区别,根据系统选对应的C7或C6子目录)

安装libevent依赖:

yum -y install libevent-2.0.21-4.el7x86_64.rpm

yum -y install libevent-devel-2.0.21-4.el7x86_64.rpm

解压tar -zxf memcached-1.4.17.tar.gz到指定目录

cd进入解压目录,执行:./configure --prefix=/usr/local/memcache

编译并安装:make && make install

启动memcache

创建用户:useradd -s /sbin/nologin memcache

启动memcache:/usr/local/memcache/bin/memcached -umemcache &

查看端口:ss -antp | grep :11211

5)修改PHP配置文件,使其识别和调用openssl和memcache两个模块

cd到用户家目录下

vim /usr/local/php/etc/php.ini

修改:; extension_dir = "./"

extension_dir="/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"

添加:extension="openssl.so";

           extension="memcache.so";

           extension="zlib.so";

LAMP搭建(Centos 7 源码包)

6)重启apache服务

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

#刷新test-php.php界面,查看是否有openssl、memcache、zlib模块

四、搭建网站

1、将php项目拷贝到网站目录下(/usr/local/apache2/htdocs/**)

1)解压tar -zxf wordpress-4.7.4-zh_CN.tar.gz到指定目录

2)cd进入压缩包指定解压目录

执行:cp -a wordpress /usr/local/apache2/htdocs/

3)创建apache用户:useradd -s /sbin/nologin apache

4)修改所有者所属组:chown -R apache:apache /usr/local/apache2/htdocs

5)修改配置文件:vim /usr/local/apache2/conf/httpd.conf

修改用户、用户组为apache:

User daemon改为User apache

Group daemon改为Group apache

修改默认界面:DirectoryIndex index.html

改为:DirectoryIndex index.php

 LAMP搭建(Centos 7 源码包)

6)重新启动apache服务

7)测试:服务器IP/wordpress/index.php

生成的固定连接支持中文:插件——已安装插件——搜索Pinyin Permalink——安装拼音连接插件——启用

2、设置开机自启

CentOS 7:

vim /etc/rc.d/rc.local

/usr/local/apache2/bin/apachectl start

/usr/local/mysql/bin/mysqld_safe --user=mysql &

/usr/local/memcache/bin/memcached -umemcache &

/etc/rc.d/rc.local添加x权限:chmod +x /etc/rc.d/rc.local

 

上一篇:源码编译安装部署LAMP平台(使用Apache,MySQL与PHP搭建Discuz论坛实例)


下一篇:LAMP源码安装图文详解(超详细)