CentOS6.7源码搭建LAMP平台

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

 

LAMPLinux+ Apache+ MySQL+PHP的简称。使用源码安装,由于php需要依赖apachemysql,所以php是最后安装,而mysqlapache谁先安装都可以。

 

安装平台: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

[root@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/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

这是mysql官网提供的一个镜像站点。

 

首先进入/usr/local/src目录,使用wget命令下载

[root@balichvm src]#

wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

 

2)、解压下载的mysql安装包,然后把解压的文件移动到/usr/local/mysql(移动重命名)

[root@balichvm src]# tar zxvfmysql-5.6.27-linux-glibc2.5-x86_64.tar.gz         ##解压

[root@balichvm src]# mvmysql-5.6.27-linux-glibc2.5-x86_64 /usr/local/mysql  ##移动并重命名

 

3)、创建用户mysql数据库的用户和用户组mysql,并且这个用户是无需登录系统。

[root@balichvm src]# groupadd mysql                    ##创建mysql

[root@balichvm src]# useradd -s/sbin/nologin -g mysql mysql ##创建mysql用户,不允许登录

 

4)、创建用于存放mysql数据库的目录,并且把所有者和所属组设置为mysql

[root@balichvm src]# mkdir -p /data/mysql               ##创建存放mysql数据库的目录

[root@balichvm src]# chown -R mysql:mysql/data/mysql/      ##修改属主和数组

 

5)、初始化数据库,在mysql的安装目录下/usr/local/mysql

[root@balichvm src]# cd /usr/local/mysql/                  ##进入mysql安装目录

[root@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,那就安装不上,如下:

[root@balichvm mysql]# yum install libaio

然后继续执行上面的安装命令。

 

如果看到了两个ok ,则表明mysql已经安装成功了。

6)、拷贝配置文件my.cnf

[root@balichvm mysql]# pwd

/usr/local/mysql

[root@balichvm mysql]# cpsupport-files/my-default.cnf /etc/my.cnf  ##拷贝配置文件

cp:是否覆盖"/etc/my.cnf" y

[root@balichvm mysql]#

 

 

7)、拷贝启动脚本并修改其属主和数组。

[root@balichvm mysql]# cpsupport-files/mysql.server /etc/init.d/mysqld     ##拷贝启动文件

[root@balichvm mysql]# chmod 755/etc/init.d/mysqld      ##修改权限,增加执行权限

 

8)、修改启动脚本/etc/init.d/mysqld,并把启动脚本加入到系统服务,设置开机启动。

[root@balichvm mysql]# vim/etc/init.d/mysqld

找到:

basedir=

datadir=

修改为:

basedir=/usr/local/mysql                      ##mysql数据库的安装目录

datadir=/data/mysql                          ##mysql数据库的存放目录

 

[root@balichvm mysql]# chkconfig --addmysqld         ##mysqld添加到系统服务

[root@balichvm mysql]# chkconfig mysqld on          ##设置为开机启动

 

9)、启动mysql数据库

[root@balichvm mysql]# /etc/init.d/mysqldstart            ##启动mysql数据库

StartingMySQL............................................. SUCCESS!

 

为了验证,我们可以使用psnetstat查看启动的进程和开启的端口号。

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

 

[root@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需要写全路径)

 

[root@balichvm mysql]# vim /etc/profile            #编辑环境变量配置文件

export PATH=$PATH:/usr/local/mysql/bin               #在最后面添加

 

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

 

11)、登录mysql、修改mysql密码

登录mysql的方法可以使通过ip/端口或者是socket的方式登录。

ip/端口的方式:mysql –Hhostname–Pport –uuser –ppasswd

socket的方式:mysql –S socketdir–uuser –ppasswd

 

修改mysql的密码:

[root@balichvm mysql]# mysqladmin -urootpassword 'fgjh123.'    ##设置密码为fgjh123.

 

mysql的完成安装。

 

 

2、安装Apache

 

Apache的版本:httpd-2.2.31

Apache的安装目录:/usr/local/apache22

 

1)、下载Apache软件包,下载存放的目录:/usr/local/src  然后解压

[root@balichvm src]# wgethttp://www.us.apache.org/dist//httpd/httpd-2.2.31.tar.gz  ##下载

[root@balichvm src]# tar zxvfhttpd-2.2.31.tar.gz                 ##解压

 

2)、创建Apache的安装目录/usr/local/apache22,并且配置编译参数:

[root@balichvm httpd-2.2.31]# mkdir/usr/local/apache22

[root@balichvm src]# cd httpd-2.2.31

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

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

那就重新安装[root@balichvm httpd-2.2.31]# yum install zlib-devel

然后再次配置。

 

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

[root@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服务是否启动,首页是否正常打开

[root@balichvm httpd-2.2.31]# netstat -lnp|grep -v grep|grep httpd

tcp       0      0 :::80                       :::*                        LISTEN      64605/httpd        

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

[root@balichvm httpd-2.2.31]#

 

Apache安装完成。

 

 

3、安装PHP

php版本:php-5.4.45

php安装目录:/usr/local/php

 

1)、下载和解压,如果是从php官网下载,速度很慢,可以从国内的镜像站点,如搜狐:mirrors.sohu.com

[root@balichvm src]# wget http://mirrors.sohu.com/php/php-5.4.45.tar.bz2    ##下载php

[root@balichvm src]# tar jxvfphp-5.4.45.tar.bz2         ##解压

 

2)、创建php安装目录:/usr/local/php;配置编译参数:

[root@balichvm src]# mkdir /usr/local/php                    ##创建php安装目录

[root@balichvm src]# cd php-5.4.45

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

 

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

 

4)、拷贝php.ini配置文件到/usr/local/php/etc/目录下

[root@balichvm php-5.4.45]# cpphp.ini-production /usr/local/php/etc/php.ini ##拷贝配置文件

 

使用/usr/local/php/bin/php -i |head 的相关信息,其实这是phpinfo函数查看的一样的。

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

 

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

 

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的主配置文件

[root@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的默认网站的根目录下。

[root@balichvm ~]# vim/usr/local/apache22/htdocs/info.php

 

<?php

       phpinfo();

?>

:wq 保存,退出。

 

3)、检查Apache的配置文件是否有错,然后重启Apache服务。

[root@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                          ##配置文件没有问题。

[root@balichvm ~]#

 

这里有一个警告,如果不想它出现,可以修改Apache的主配置文件里面的ServerName

找到:

#ServerName www.example.com:80

 

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

ServerName localhost:80

 

:wq,保存退出。

在此检查,就会正常了。

[root@balichvm ~]# /usr/local/apache22/bin/apachectl-t

Syntax OK

[root@balichvm ~]#/usr/local/apache22/bin/apachectl restart        ##重启Apache服务

 

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



本文转自 巴利奇 51CTO博客,原文链接:http://blog.51cto.com/balich/1707864

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
Linux
CentOS系统中rpm包与源码包的主要区别
总的来说,RPM包和源码包各有优缺点,选择哪种包主要取决于你的需求和技术水平。希望这个答案能帮助你更好地理解RPM包和源码包的区别。
66 27
|
5月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
317 3
|
5月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
510 2
|
6月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
358 2
|
6月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
145 3
|
6月前
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
274 1
|
8月前
|
关系型数据库 MySQL Linux
Linux(CentOS7)搭建LAMP服务环境
本文介绍了在Linux (CentOS 7) 上搭建LAMP服务环境的详细步骤,包括安装Apache HTTPd、解决编译时依赖问题、配置Apache服务、安装PHP以及处理PHP与Apache集成时遇到的问题。同时,还涉及了防火墙设置和SELinux权限调整,确保Web服务能够正常运行。
160 2
|
8月前
|
应用服务中间件 Linux nginx
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
这篇文章介绍了在CentOS系统上使用Nginx源码包进行安装和配置的详细步骤,包括源码包的获取、解压、配置、编译、安装、启动验证以及注意事项。
601 0
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
|
8月前
|
关系型数据库 MySQL Linux
【一键解锁神秘力量!】CentOS 7 通过编译源码方式安装 MySQL 数据库 —— 从零到英雄的数据库安装实战秘籍!
【8月更文挑战第9天】随着业务增长,对数据库的需求日益提高。在 CentOS 7 中,通过编译源码安装 MySQL 可提供更高定制性和灵活性。本文详细介绍从准备环境、下载源码、配置编译参数到安装 MySQL 的全过程,并对比 RPM 包安装方法,帮助读者根据需求选择合适方案。实践时需注意备份数据、选择合适版本、确保安全性和调优性能等要点。
278 1
|
8月前
|
物联网 应用服务中间件 Linux
CentOS7.9 Nginx+EMQX集群组建MQTTS平台
通过以上步骤,您已成功搭建了一个基于CentOS 7.9、Nginx和EMQX的MQTTS平台。这个平台既能保证数据传输的安全性,又能利用Nginx的负载均衡能力和EMQX的高性能、高并发处理能力,实现稳定高效的消息服务。在部署和配置过程中,务必注意证书、域名以及EMQX配置的正确性,确保系统安全和稳定运行。此外,定期更新软件和系统,以及监控系统性能,也是保证MQTTS平台长期稳定运行的重要环节。
229 4
下一篇
oss创建bucket