编译搭建LAMP环境(production级别)(centos-6.5)
LAMP->Linux+Apache+Mysql+PHP
本文所用软件版本为:
linux:centos-6.5 下载地址:http://vault.centos.org/6.5/isos/ // 根据自己的系统选择合适版本下载
Apache:2.4.18 下载地址:http://httpd.apache.org/download.cgi#apache24 //下载2.4系列的就可以,安装方法都差不多
Mysql:5.7.11 下载地址:http://ftp.kaist.ac.kr/mysql/Downloads/MySQL-5.7/ ///注意:这里下载mysql-5.7.16.tar.gz 这个版本,(与mysql5.7.11没什么不同,只是修复一些了bug).
PHP:7.0.14 下载地址:http://php.net/downloads.php
一、Linux
1.linux这块需注意一点:需创建一个用户(该用户不是root用户,一般安装Desktop时,都会出现创建用户的面板的,)。因为后续软件的安装,得依靠这个用户去实现。
安装Desktop模式时,centos6.5可能会自动安装了mysql,apache,需要卸载系统自带的。
1.查看mysql、httpd
rpm -qa | grep mysql
rpm -qa | grep httpd
2 删除
rpm -e “查看“之后显示的包名即可删除
还有一种情况就是 删除mysql或apache的依赖软件的时候会报错
那么就直接强制删除该文件即可
rpm -e --nodeps “查看“之后显示的包名
注意:除了 yum 命令需要root用户执行以外 ,其他的命令需要你创建的用户去执行,因为这样才能保证mysql/apache/php 这个用户都有权限去访问
(当然也可以全部用root用户去安装,但是这个用户创建的就太没意义,自己本地测试还行,但是线上生产环境是绝对不能这样的(因为安全问题)。再有后期的维护太麻烦,就算后面chmod 也是多此一举了)
二、Apache
1.软件源代码清单
httpd-2.4.18.tar.gz (只要是2.4系列都可以)
apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.gz
2.系统软件清单
gcc
pcre-devel
openssl-devel
perl
在编译安装软件源代码之前
首先得安装系统软件清单,yum install -y gcc pcre-devel perl //记得再打开一个root用户的客户端,去执行这条命令(其它软件安装都如此).
再来说说Apache的这些源代码清单,可能有些人问了,哎为什么偏偏需要安装这些呢? 其实,刚开始我也有这些疑问,但是一开始百度,也能七零八散的找到一些东西,但是最后还是有一些疑问,所以我干脆去apache官网看了看(http://httpd.apache.org/docs/2.4/install.html),
这下就明白了,这些都是底层的函数库而且是必须的,我的C不太好就不在这误人子弟了,这些库究竟是干什么的,大家可以google/baidu都可以得到答案,我已经搜过了。
还有一点我要更大家分享的是:学一门新东西,初期,得先去官网,看文档,我以前习惯不太好,习惯baidu/google搜处别人的文章什么的看,刚开始学的时候还是建议大家去官网看看,弄明白这东西能干嘛,怎么用,我觉得就成功一半了,后面再看看别人写的文章,你会有更好的收获。
3.源码编译:
1)解压httpd、apr、apr-util源代码包
tar jxf httpd-2.4.18.tar.gz
tar jxf apr-1.5.2.tar.bz2
tar jxf apr-util-1.5.4.tar.bz2
2)将apr/apr-util源代码 拷贝到httpd源代码的srclib目录下
cd httpd-2.4.18
mv ../apr-1.5.2 srclib/apr
mv ../apr-util-1.5.4 srclib/apr-util
//为什么需要放到srclib目录下呢? srclib->sourceLibrary的缩写 --》源代码库文件目录
3)编译配置
./configure --prefix=/home/你创建的用户名/local/apache2 --with-included-apr --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-z
--with-pcre --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
4)编译及安装
make && make install
修改配置文件:httpd.conf
1.改端口 只有root用户才能使用1-1024端口,所以我们80端口是用不了的,
Listen 8080
2.开启重写模块LoadModule rewrite_module modules/mod_rewrite.so 前面的"#"去掉
3.添加 php模块
LoadModule php7_module modules/libphp7.so
4.添加文件匹配-》识别php文件
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
5.设置启动apache的用户
user 你创建的用户名
Group 和你创建的用户名一样
6.添加重写规则
Document Root "网站的根目录"
<Directoy ".........................">
AllowOverride None
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
//在Require all granted 上面加这些内容
</Directory>
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
三、Mysql
依赖检查
软件源代码清单:
cmake-3.5.0.tar.gz
mysql-5.7.11.tar.gz
boost_1_59_0.tar.gz
系统软件清单:
gcc-g++
ncurses-devel
先安装系统软件依赖包
yum install -y gcc-g++ ncurses-devel
注意:如果是虚拟机安装,给虚拟机/home目录 10G左右的空间 因为mysql目录安装完,会占用4G左右的空间,如果空间不够会报错
源代码解压安装boost
tar jxf boost_1_59_0.tar.bz2
mv boost_1_59_0 /home/用户名/local/
源码编译安装cmake
1)tar zxf cmake-3.5.0.tar.gz && cd cmake-3.5.0
2)./configure --prefix=/home/用户名/local/cmake
3)gmake
4)make install
编译安装mysql
下载地址:http://mirrors.sohu.com/mysql/MySQL-5.7/ (这是5.7.16的地址,但安装方式和11没什么区别)
1)tar jxf mysql-5.7.11 && cd mysql-5.7.11
2)mysql 没有configure文件,需用cmake 配置 配置项
/home/用户名/local/cmake/bin/cmake . \
-DCMAKE_INSTALL_PREFIX=/home/用户名/local/mysql \
-DSYSCONFDIR=/home/用户名/local/mysql/etc \
-DWITH_BOOST=/home/用户名/local/boost_1_59_0 \
-DINSTALL_LAYOUT=STANDALONE \
-DMYSQL_DATADIR=/home/用户名/local/mysql/var
3)make && make install
安装完之后需要几步重要操作:
1).在mysql目录下即:/home/用户名/local/mysql/ 下创建
执行:
mkdir etc 和 mkdir var //安装完mysql这两个文件是不存在的,一个使配置文件,一个是数据库文件,初始化mysql是需要的
2)删除或改名/etc/my.cnf 防止mysql启动时,找错配置文件
3)将/home/用户名/local/mysql/support_files/my-default.cnf 复制并改名为my.cnf 到 mysql目录的etc目录下
启动:
先初始化:
cd ./bin/
./mysqld --initialize
./mysqld_safe & 即可
圈出来的就是系统初始化的密码,用户名:root
登录以后还得修改一下密码
#ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
执行:ALTER USER root@localhost IDENTIFIED BY '123456';
ok,到这儿就可以了.
四、PHP
软件源代码清单
libmcrypt-2.5.8.tar.bz2
系统软件清单
libxml2-devel
libcurl-devel
libpng-devel
freetype-devel
1)yum install -y libxml2-devel libcurl-devel libpng-devel freetype-devel
2)源码编译安装libmcrypt
tar jxf libmcrypt-2.5.8.tar.gz && cd ./libmcrypt-2.5.8
./configure --prefix=/home/用户名/local/libmcrypt
3)编译安装:make && make install
源码编译安装PHP
tar zxf php-7.0.14.tar.gz
cd php-7.0.14
./configure --prefix=/home/用户名/local/php \
--with-apxs2=/home/用户名/local/apache2/bin/apxs \
--with-openssl \
--with-mysqli \
--with-pdo-mysql \
--enable-mbstring \
--with-zlib \
--enable-sockets \
--with-curl \
--with-pcre-regex \
--with-mcrypt=/home/用户名/local/libmcrypt \
--with-gd \
--with-png-dir \
--with-freetype-dir \
--enable-gd-native-ttf
编译安装:
make && make install
注意:安装完,php.ini文件需要从你解压之后的源代码文件中把php.ini.development或php.ini.production 拷一分 并将其命名为php.ini 到php目录下
php.ini按自己需求去改,这里就不说了。
现在就差最后一步
开启你的apache
执行:/home/用户名/local/apache2/bin/apachectl &
ok,到这儿LAMP环境就搭建完了.