原文地址:https://help.aliyun.com/document_detail/50774.html?spm=5176.product25365.6.728.C9s3V8

简介

LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Python是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

部署方式

在阿里云服务器下部署LAMP提供三种部署方式,镜像部署一键安装包部署和手动部署(源码编译安装/YUM安装),一般推荐镜像部署适合新手使用更加快捷方便,安装包部署以及手动部署适合对Linux命令有基本了解的用户,可以满足用户个性化部署的要求。本教程主要介绍手动部署的方式。

手动部署

系统平台:CentOS 7.2

Apache版本:2.4.23

Mysql 版本:5.7.17

Php版本:7.0.12

安装前准备

CentOS 7.2系统默认开启了防火墙,需关闭后外部才可访问本机的80、21等端口,如需做安全类配置可自行参考官方文档。

关闭防火墙:

  1. systemctl stop firewalld.service

关闭防火墙开机自启动:

  1. systemctl disable firewalld.service

安装vim及unzip:

  1. yum install -y vim unzip

编译安装apache准备

编译安装apache前需要安装apr、apr-util和pcre软件包和相关依赖包。

  1. yum install -y gcc gcc-c++ autoconf libtool
安装apr
  1. cd /usr/local/src/
  2. wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-1.5.0.tar.gz
  3. tar zxvf apr-1.5.0.tar.gz
  4. cd apr-1.5.0
  5. ./configure --prefix=/usr/local/apr
  6. make && make install
安装apr-util
  1. cd /usr/local/src/
  2. wget http://oss.aliyuncs.com/aliyunecs/onekey/apache/apr-util-1.5.3.tar.gz
  3. tar zxvf apr-util-1.5.3.tar.gz
  4. cd apr-util-1.5.3
  5. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  6. make && make install
安装pcre
  1. cd /usr/local/src/
  2. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/pcre/pcre-8.38.tar.gz
  3. tar zxvf pcre-8.38.tar.gz
  4. cd pcre-8.38
  5. ./configure --prefix=/usr/local/pcre
  6. make && make install
编译安装Apache
  1. cd /usr/local/src/
  2. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/apache/httpd-2.4.23.tar.gz
  3. tar zxvf httpd-2.4.23.tar.gz
  4. cd httpd-2.4.23
  5. ./configure \
  6. --prefix=/usr/local/apache --sysconfdir=/etc/httpd \
  7. --enable-so --enable-cgi --enable-rewrite \
  8. --with-zlib --with-pcre=/usr/local/pcre \
  9. --with-apr=/usr/local/apr \
  10. --with-apr-util=/usr/local/apr-util \
  11. --enable-mods-shared=most --enable-mpms-shared=all \
  12. --with-mpm=event
  13. make && make install
修改httpd.conf配置文件参数
  1. cd /etc/httpd/
  2. vim httpd.conf

1.找到Directory参数,注释掉Require all denied添加Require all granted。

2.找到ServerName参数,添加ServerName localhost:80 然后,按Esc键后输入:wq保存退出。

设置PidFile路径
  1. vim /etc/httpd/httpd.conf

在配置文件最后添加以下内容:

  1. PidFile "/var/run/httpd.pid"
启动Apache服务并验证
  1. cd /usr/local/apache/bin/
  2. ./apachectl start
  3. netstat -tnlp #查看服务是否开启

在本地浏览器中输入云服务器的公网IP地址验证,出现下图表示安装成功。

设置开机自启

在rc.local文件中添加/usr/local/apache/bin/apachectl start,然后输入:wq保存退出。

  1. vim /etc/rc.d/rc.local

设置环境变量
  1. vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加参数为:

  1. PATH=$PATH:$HOME/bin:/usr/local/apache/bin

然后输入:wq保存退出,执行:

  1. source /root/.bash_profile

编译安装MySQL前预准备

首先检查系统中是否存在使用rpm安装的mysql或者mariadb,如果有需要先删除后再编译安装。

  1. rpm -qa | grep mysql #由下至上依次卸载
  2. rpm -qa | grep mariadb
  3. rpm -e xxx #一般使用此命令即可卸载成功
  4. rpm -e --nodeps xxx #卸载不成功时使用此命令强制卸载

卸载完以后用 rpm -qa|grep mariadb 或者 rpm -qa|grep mysql 查看结果。

安装mysql
  1. yum install -y libaio-* #安装依赖
  2. mkdir -p /usr/local/mysql
  3. cd /usr/local/src
  4. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  5. tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
  6. mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/
建立mysql组和用户,并将mysql用户添加到mysql组
  1. groupadd mysql
  2. useradd -g mysql -s /sbin/nologin mysql
初始化mysql数据库
  1. /usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql
更改mysql安装目录的属主属组
  1. chown -R mysql:mysql /usr/local/mysql
设置开机自启
  1. cd /usr/local/mysql/support-files/
  2. cp mysql.server /etc/init.d/mysqld
  3. chmod +x /etc/init.d/mysqld # 添加执行权限
  4. vim /etc/rc.d/rc.local

添加/etc/init.d/mysqld start到rc.local文件中,然后输入:wq保存退出。

设置环境变量
  1. vi /root/.bash_profile

在PATH=$PATH:$HOME/bin添加参数为:

  1. PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib

然后输入:wq保存退出,输入:

  1. source /root/.bash_profile
启动MySQL数据库
  1. /etc/init.d/mysqld start

修改Mysql的root用户密码

初始化后mysql为空密码可直接登录,为了保证安全性需要修改mysql的root用户密码。

  1. mysqladmin -u root password 'xxxx'
测试登录MySQL数据库
  1. mysql -uroot -p密码 #-p和密码之间无空格

编译安装php

依赖安装:

  1. yum install php-mcrypt libmcrypt libmcrypt-devel libxml2-devel openssl-devel libcurl-devel libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 libjpeg-turbo-devel libmcrypt-devel mysql-devel -y
  2. wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/php/php-7.0.12.tar.gz
  3. tar zxvf php-7.0.12.tar.gz
  4. cd php-7.0.12
  5. ./configure \
  6. --prefix=/usr/local/php \
  7. --enable-mysqlnd \
  8. --with-mysqli=mysqlnd --with-openssl \
  9. --with-pdo-mysql=mysqlnd \
  10. --enable-mbstring \
  11. --with-freetype-dir \
  12. --with-jpeg-dir \
  13. --with-png-dir \
  14. --with-zlib --with-libxml-dir=/usr \
  15. --enable-xml --enable-sockets \
  16. --with-apxs2=/usr/local/apache/bin/apxs \
  17. --with-mcrypt --with-config-file-path=/etc \
  18. --with-config-file-scan-dir=/etc/php.d \
  19. --enable-maintainer-zts \
  20. --disable-fileinfo
  21. make && make install
复制配置文件
  1. cd php-7.0.12
  2. cp php.ini-production /etc/php.ini
编辑apache配置文件httpd.conf,以apache支持php
  1. vim /etc/httpd/httpd.conf

在配置文件最后添加如下二行:

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

定位到 DirectoryIndex index.html

修改为:

  1. DirectoryIndex index.php index.html
重启apache服务
  1. /usr/local/apache/bin/apachectl restart
测试是否能够正常解析PHP
  1. cd /usr/local/apache/htdocs/
  2. vim index.php #添加如下内容
  3. <?php
  4. phpinfo();
  5. ?>

访问云服务器的公网IP/index.php,出现如下页面表示解析成功。

安装phpmyadmin

  1. mkdir -p /usr/local/apache/htdocs/phpmyadmin
  2. cd /usr/local/src/
  3. wget http://oss.aliyuncs.com/aliyunecs/onekey/phpMyAdmin-4.1.8-all-languages.zip
  4. unzip phpMyAdmin-4.1.8-all-languages.zip
  5. mv phpMyAdmin-4.1.8-all-languages/* /usr/local/apache/htdocs/phpmyadmin

访问ip/phpmyadmin即可访问到phpmyadmin登录页面,输入mysql的用户名以及密码即可登录。

部署 LAMP (CentOS 7.2),摘自阿里云,方便查看使用的更多相关文章

  1. 项目总结11:Centos部署JDK+Tomcat+MySQL文档(阿里云-网易云-华为云)

      (如果不是root登陆,则输入:sudo su - 切换成root) 1.JDK安装 1-1-yum update (升级所有包同时也升级软件和系统内核) --安装中会有提示输入y就好(两个y,中 ...

  2. centos 6.5 安装阿里云的一键安装包(nginx+php5.4+mysql5.1)

    安装阿里云提供的Linux一键安装web环境全攻略,本想着会有最复杂 ,没想到阿里云工程师提供的包没有任何限制(开始以为只能在阿里去的主机上使用).开源的精神就是好(注:我是伸手党). 环境  vmw ...

  3. 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的

    在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...

  4. Centos 6.5 搭建阿里云yum源

    Linux系统下yum源配置(Centos 6) 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo ...

  5. CentOS 6.9设置阿里云源/163源

    阿里云: 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS ...

  6. Centos 7 更换为 阿里云 yum 源

    地址: https://opsx.alibaba.com/ 操作步骤: 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentO ...

  7. centos 6.5 配置阿里云 yum 镜像

    配置国内镜像目的是为了加速软件下载安装速度,参考链接:http://mirrors.aliyun.com/help/centos 备份.养成文件操作前备份的习惯 cd /etc/yum.repos.d ...

  8. 阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)

    一.快速安装Apache+PHP5+MySql ----------------------------------------------------- 补充:由于163的yum源上只有php5.1 ...

  9. 阿里云ECS云服务器CentOS部署个人网站

    ping了一下coding pages和阿里云服务器的速度,意外感觉coding的速度反而更快.不过为了折腾,还是把博客迁移到阿里云,跌跌撞撞遇到很多坑,大多是由于对指令不熟悉以及部分教程省略了部分步 ...

随机推荐

  1. TypeScript 函数 (五)

    传递给一个函数的参数个数必须与函数期望的参数个数一致. 参数类别: 必须参数 可选参数 :可选参数必须在参数后面. 默认参数 :当用户没有传递这个参数或传递的值是undefined时. 它们叫做有默认 ...

  2. Delphi xe7 android实现透明度可以调整的对话框

    Delphi xe7 android实现透明度可以调整的对话框 Delphi xe7 android实现透明度可以调整的对话框 Delphi xe7 android实现透明度可以调整的对话框 要实现对 ...

  3. JZOJ.3777【NOI2015模拟8.17】最短路(shortest)

    Description        小Y最近学得了最短路算法,一直想找个机会好好练习一下.话虽这么说,OJ上最短路的题目都被他刷光了.正巧他的好朋友小A正在研究一类奇怪的图,他也想凑上去求下它的最短 ...

  4. CodeForces 17E Palisection(回文树)

    E. Palisection time limit per test 2 seconds memory limit per test 128 megabytes input standard inpu ...

  5. Powershell Exchange Message Per Day Sent and Reveive

    Powershell Exchange Message Per Day Sent and Reveive # Initialize some variables used for counting a ...

  6. SET NAMES 'charset_name'

    设置写入db和db返回读出结果的字符集character set https://dev.mysql.com/doc/refman/5.7/en/charset-connection.html SET ...

  7. 关于增强for循环和普通for循环是否需要判断为null的情况

    1.增强for循环: public static void main(String[] args) { List<Object> list = null; for(Object s : l ...

  8. MySQL 如何利用一条语句实现类似于if-else条件语句的判断

    一. 编写一条update语句实现商品涨价,具体规则如下 1.99元以内,提价20% 2.100-999元之间,提价10% 3.1000-1999之间,提价5% 4.其他提价2% update goo ...

  9. Vue(2)- v-model、局部组件和全局组件、父子组件传值、平行组件传值

    一.表单输入绑定(v-model 指令) 可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定. ...

  10. Appium中的logger

    原文地址http://blog.csdn.net/itfootball/article/details/45395901 appium中的log输出量很大,我们分析问题的时候会依赖于这些log,但是你 ...