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

CentOS6.7源码搭建LAMP平台

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-10-30 08:51:56 | 显示全部楼层 |阅读模式
LAMP是Linux+ Apache+ MySQL+PHP的简称。使用源码安装,由于php需要依赖apache和mysql,所以php是最后安装,而mysql和apache谁先安装都可以。

安装平台:CentOS6.7 X86_64
MySql版本:mysql-5.6.27
MySql安装目录:/usr/local/mysql
MySql数据库存放目录:/data/mysql
MySql的用户和组:mysql:mysql
MySql源码存放目录:/usr/local/src

安装前的准备:
(1)、关闭selinux
         vim/etc/selinux/config
         SELINUX=enforcing     ##加#注释
         SELINUX=disabled             ##增加
:wq         #保存退出,然后重启系统,如果不重启,可临时关闭使用命令:setenforce 0

(2)、添加好防火墙规则到/etc/sysconfig/iptables
[iyunv@balichvm ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 80 -j ACCEPT

:wq保存退出,添加好规则后的防火墙规则如下:
# Firewall configuration written bysystem-config-firewall
# Manual customization of this file is notrecommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --stateESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j ACCEPT             #新增
-A INPUT -m state --state NEW -m tcp -p tcp--dport 80 -j ACCEPT              #新增
-A INPUT -j REJECT --reject-withicmp-host-prohibited
-A FORWARD -j REJECT --reject-withicmp-host-prohibited
COMMIT

1、安装mysql

1)、下载mysql,这里使用的是免编译的安装包,下载地址:
ftp://ftp.jaist.ac.jp/pub/mysql/ ... bc2.5-x86_64.tar.gz
这是mysql官网提供的一个镜像站点。

首先进入/usr/local/src目录,使用wget命令下载
[iyunv@balichvm src]#
wget ftp://ftp.jaist.ac.jp/pub/mysql/ ... bc2.5-x86_64.tar.gz

2)、解压下载的mysql安装包,然后把解压的文件移动到/usr/local/mysql(移动重命名)
[iyunv@balichvm src]# tar zxvfmysql-5.6.27-linux-glibc2.5-x86_64.tar.gz         ##解压
[iyunv@balichvm src]# mvmysql-5.6.27-linux-glibc2.5-x86_64 /usr/local/mysql  ##移动并重命名

3)、创建用户mysql数据库的用户和用户组mysql,并且这个用户是无需登录系统。
[iyunv@balichvm src]# groupadd mysql                    ##创建mysql组
[iyunv@balichvm src]# useradd -s/sbin/nologin -g mysql mysql ##创建mysql用户,不允许登录

4)、创建用于存放mysql数据库的目录,并且把所有者和所属组设置为mysql
[iyunv@balichvm src]# mkdir -p /data/mysql               ##创建存放mysql数据库的目录
[iyunv@balichvm src]# chown -R mysql:mysql/data/mysql/      ##修改属主和数组

5)、初始化数据库,在mysql的安装目录下/usr/local/mysql
[iyunv@balichvm src]# cd /usr/local/mysql/                  ##进入mysql安装目录
[iyunv@balichvm mysql]#./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/ ##初始化数据库

--user=mysql              ##指定数据库的所属主
--datadir=/data/mysql/        ##指定数据库的数据库文件的存放目录

安装过程中的错误:
Installing MySQL systemtables..../bin/mysqld: error while loading shared libraries: libaio.so.1:cannot open shared object file: No such file or directory

提示缺少了shared libraries: libaio.so,那就安装不上,如下:
[iyunv@balichvm mysql]# yum install libaio
然后继续执行上面的安装命令。

如果看到了两个ok ,则表明mysql已经安装成功了。
6)、拷贝配置文件my.cnf
[iyunv@balichvm mysql]# pwd
/usr/local/mysql
[iyunv@balichvm mysql]# cpsupport-files/my-default.cnf /etc/my.cnf  ##拷贝配置文件
cp:是否覆盖"/etc/my.cnf"? y
[iyunv@balichvm mysql]#


7)、拷贝启动脚本并修改其属主和数组。
[iyunv@balichvm mysql]# cpsupport-files/mysql.server /etc/init.d/mysqld     ##拷贝启动文件
[iyunv@balichvm mysql]# chmod 755/etc/init.d/mysqld      ##修改权限,增加执行权限

8)、修改启动脚本/etc/init.d/mysqld,并把启动脚本加入到系统服务,设置开机启动。
[iyunv@balichvm mysql]# vim/etc/init.d/mysqld
找到:
basedir=
datadir=
修改为:
basedir=/usr/local/mysql                      ##mysql数据库的安装目录
datadir=/data/mysql                          ##mysql数据库的存放目录

[iyunv@balichvm mysql]# chkconfig --addmysqld         ##把mysqld添加到系统服务
[iyunv@balichvm mysql]# chkconfig mysqld on          ##设置为开机启动

9)、启动mysql数据库
[iyunv@balichvm mysql]# /etc/init.d/mysqldstart            ##启动mysql数据库
StartingMySQL............................................. SUCCESS!

为了验证,我们可以使用ps和netstat查看启动的进程和开启的端口号。
[iyunv@balichvm src]# ps aux |grepmysql|grep -v grep
root     3541  0.0  0.1 106192 1524 pts/2    S    12:38  0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql--pid-file=/data/mysql/balichvm.org.pid
mysql    3656 19.1 44.7 1011064 452936 pts/2 Sl   12:38   0:45 /usr/local/mysql/bin/mysqld--basedir=/usr/local/mysql --datadir=/data/mysql--plugin-dir=/usr/local/mysql/lib/plugin --user=mysql--log-error=/data/mysql/balichvm.org.err--pid-file=/data/mysql/balichvm.org.pid

[iyunv@balichvm src]# netstat -lnp |grepmysql|grep -v grep
tcp       0      0 :::3306                     :::*                        LISTEN      3656/mysqld        
unix 2      [ ACC ]     STREAM    LISTENING     32648  3656/mysqld         /tmp/mysql.sock

10)、将mysql的安装目录加入到环境变量,这是为了方便使用(如果不加,要登录mysql需要写全路径)

[iyunv@balichvm mysql]# vim /etc/profile            #编辑环境变量配置文件
export PATH=$PATH:/usr/local/mysql/bin               #在最后面添加

[iyunv@balichvm mysql]# source /etc/profile        ##刷新一次环境变量

11)、登录mysql、修改mysql密码
登录mysql的方法可以使通过ip/端口或者是socket的方式登录。
ip/端口的方式:mysql –Hhostname–Pport –uuser –ppasswd
socket的方式:mysql –S socketdir–uuser –ppasswd

修改mysql的密码:
[iyunv@balichvm mysql]# mysqladmin -urootpassword 'fgjh123.'    ##设置密码为fgjh123.

mysql的完成安装。


2、安装Apache

Apache的版本:httpd-2.2.31
Apache的安装目录:/usr/local/apache22

1)、下载Apache软件包,下载存放的目录:/usr/local/src  然后解压
[iyunv@balichvm src]# wgethttp://www.us.apache.org/dist//httpd/httpd-2.2.31.tar.gz  ##下载
[iyunv@balichvm src]# tar zxvfhttpd-2.2.31.tar.gz                 ##解压

2)、创建Apache的安装目录/usr/local/apache22,并且配置编译参数:
[iyunv@balichvm httpd-2.2.31]# mkdir/usr/local/apache22
[iyunv@balichvm src]# cd httpd-2.2.31
[iyunv@balichvm httpd-2.2.31]# ./configure--prefix=/usr/local/apache22 --with-included-apr --enable-so--enable-deflate=shared --enable-expires=shared --enable-rewrite=shared--with-pcre
配置完成后,使用echo $? 检查上一条命令是否有错误,没有会返回0.  
[iyunv@balichvm httpd-2.2.31]# echo $?           #这是查看上一条命令是否有错误的。
1
这里有错误提示:checking whether to enable mod_deflate... configure: error:mod_deflate has been requested but can not be built due to prerequisitefailures
那就重新安装[iyunv@balichvm httpd-2.2.31]# yum install zlib-devel
然后再次配置。

3)、编译(make)和安装(makeinstall)
[iyunv@balichvm httpd-2.2.31]# make &make install       ##编译和安装

4)、Apache服务的启动、关闭、重启。
Apache的启动、关闭,重启。Apache的服务控制脚本存放在安装目录下:/usr/local/apache22/bin/apachectl 。
要启动Apache服务:/usr/local/apache22/bin/apachectl -k start
要停止Apache服务:/usr/local/apache22/bin/apachectl -k stop
要重启Apache服务:/usr/local/apache22/bin/apachectl -k restart

5)、查看Apache服务是否启动,首页是否正常打开
[iyunv@balichvm httpd-2.2.31]# netstat -lnp|grep -v grep|grep httpd
tcp       0      0 :::80                       :::*                        LISTEN      64605/httpd        
[iyunv@balichvm httpd-2.2.31]# curl -Ilocalhost       ##使用curl命令测试打开
HTTP/1.1 200 OK
Date: Thu, 29 Oct 2015 07:16:34 GMT
Server: Apache/2.2.31 (Unix)
Last-Modified: Sat, 20 Nov 2004 20:16:24GMT
ETag: "c481c-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html
[iyunv@balichvm httpd-2.2.31]#

Apache安装完成。


3、安装PHP
php版本:php-5.4.45
php安装目录:/usr/local/php

1)、下载和解压,如果是从php官网下载,速度很慢,可以从国内的镜像站点,如搜狐:mirrors.sohu.com
[iyunv@balichvm src]# wget http://mirrors.sohu.com/php/php-5.4.45.tar.bz2    ##下载php
[iyunv@balichvm src]# tar jxvfphp-5.4.45.tar.bz2         ##解压

2)、创建php安装目录:/usr/local/php;配置编译参数:
[iyunv@balichvm src]# mkdir /usr/local/php                    ##创建php安装目录
[iyunv@balichvm src]# cd php-5.4.45
[iyunv@balichvm php-5.4.45]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache22/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--with-curl \
--enable-json \
--disable-ipv6

使用$?检查是否有错误,如果没有就执行编译和安装。如有错误,基本都是确实了相关的开发库支持,只需要安装提示的错误补上即可。

最后有:Thank you for using PHP. 的提示。

3)、编译(make)和安装(makeinstall)

[iyunv@balichvm php-5.4.45]# make &&make install              ##编译和安装

4)、拷贝php.ini配置文件到/usr/local/php/etc/目录下
[iyunv@balichvm php-5.4.45]# cpphp.ini-production /usr/local/php/etc/php.ini ##拷贝配置文件

使用/usr/local/php/bin/php -i |head 的相关信息,其实这是phpinfo函数查看的一样的。
[iyunv@balichvm php-5.4.45]#/usr/local/php/bin/php -i |head
phpinfo()
PHP Version => 5.4.45

System => Linux balichvm.org2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64
Build Date => Oct 29 2015 17:42:38
Configure Command =>  './configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/local/apache22/bin/apxs''--with-config-file-path=/usr/local/php/etc' '--with-mysql=/usr/local/mysql''--with-libxml-dir' '--with-gd' '--with-jpeg-dir' '--with-freetype-dir''--with-iconv-dir' '--with-zlib-dir' '--with-bz2' '--with-openssl''--enable-soap' '--enable-gd-native-ttf' '--enable-mbstring' '--enable-sockets''--enable-exif' '--disable-ipv6' '--with-curl' '--enable-json'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path =>/usr/local/php/etc
Loaded Configuration File => (none)

mysql、apache、php、都安装了,需要将他们结合起来共同工作。

4、配置ApachePHP组合
Mysqld 的主配置文件:/etc/my.cnf
Apache的主配置文件:/usr/local/apache22/conf/httpd.conf
Apache的默认网站根目录:/usr/local/apache22/htdocs/
php的主配置文件:/usr/local/php/etc/php.ini   

1)、修改Apache的主配置文件
[iyunv@balichvm ~]# vim/usr/local/apache22/conf/httpd.conf

找到:AddType application/x-gzip .gz .tgz

在下一行增加内容:AddType application/x-httpd-php .php

找到:
<IfModule dir_module>
   DirectoryIndex index.html
</IfModule>

修改为:
<IfModule dir_module>
   DirectoryIndex index.html index.htm index.php
</IfModule>

:wq 保存退出。

2)、编写用于测试php的程序,比如phpinfo(),这文件放在Apache的默认网站的根目录下。
[iyunv@balichvm ~]# vim/usr/local/apache22/htdocs/info.php

<?php
       phpinfo();
?>
~
:wq 保存,退出。

3)、检查Apache的配置文件是否有错,然后重启Apache服务。
[iyunv@balichvm ~]#/usr/local/apache22/bin/apachectl –t    ##检查配置文件是否正确
httpd: Could not reliably determine theserver's fully qualified domain name, using balichvm.org for ServerName
Syntax OK                          ##配置文件没有问题。
[iyunv@balichvm ~]#

这里有一个警告,如果不想它出现,可以修改Apache的主配置文件里面的ServerName
找到:
#ServerName www.example.com:80

这里有#号,默认是注释,那就在下面添加如下:
ServerName localhost:80

:wq,保存退出。
在此检查,就会正常了。
[iyunv@balichvm ~]# /usr/local/apache22/bin/apachectl-t
Syntax OK
[iyunv@balichvm ~]#/usr/local/apache22/bin/apachectl restart        ##重启Apache服务

在浏览器上输入http://serverip/info.php (serverip是服务器的ip地址)可以看到php的配置信息。


运维网声明 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-132522-1-1.html 上篇帖子: centos7.X下LNMP环境的搭建 下篇帖子: 生产环境 centos6 源码编辑安装lnmp
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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