以下为实测教程,希望能为大家提供帮助,转载请注明出处
ubuntu+apache+mysql+php7

第一、更换apt的源

1、复制原文件备份
sudo cp /etc/apt/source.list /etc/apt/source.list.bak
2、编辑源列表文件
sudo vim /etc/apt/source.list
3、将原来的列表删除,添加如下内容
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
4、运行sudo apt-get update
5、运行sudo apt-get upgrade

第二、安装apache

1、安装Apache 2.4
apt-get install apache2 -y
从系统库中直接安装Apache。
2、运行命令sudo vim /etc/apache2/apache2.conf,修改参数KeepAlive为Off
3、修改mpm_prefork.conf配置
sudo vim /etc/apache2/mods-available/mpm_prefork.conf
设置参数:
<IfModule mpm_prefork_module>
StartServers            2
MinSpareServers         6
MaxSpareServers         12
MaxRequestWorkers       39
MaxConnectionsPerChild  3000
</IfModule>
4、禁用和启动模块
sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
sudo a2enmod rewrite
5、重启Apache
sudo service apache2 restart

第三、配置虚拟主机环境

这里使用的archerwong,请替换成你自己的命名
1、拷贝默认配置文件
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/arhcerwong.conf
2、修改配置文件
/etc/apache2/sites-available/archerwong.conf
开启重写规则等规则并配置站点
 
<Directory /var/www/blog>
AllowOverride All
Require all granted
</Directory>
 
<VirtualHost *:80>
ServerName archerwong.blog.com
ServerAlias www.archerwong.blog.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/blog
 
ErrorLog /var/www/html/archerwong/logs/error.log
CustomLog /var/www/html/archerwong/logs/access.log combined
 
</VirtualHost>
 
3、创建需要目录/文件
sudo mkdir -p /var/www/html/archerwong/{public_html,logs}
4、启动站点
sudo a2ensite archerwong.conf
5、禁止默认根目录配置
sudo a2dissite 000-default.conf
6、重启Apache
sudo service apache2 restart

第四、安装MYSQL数据库

1、安装数据库
sudo apt-get install mysql-server
2、配置数据库安全
mysql_secure_installation
根据提示,我们需要清理默认表以及设置数据库的安全。

第五、LAMP编译安装PHP7

1、安装PHP7和响应的扩展
sudo apt-get install php7.0 php-pear libapache2-mod-php7.0 php7.0-mysql
2、安装组件支持
sudo apt-get install php7.0-curl php7.0-json php7.0-cgi
3、配置文件/etc/php/7.0/apache2/php.ini
max_input_time = 30
error_reporting = E_COMPILE_ERROR | E_RECOVERABLE_ERROR | E_ERROR | E_CORE_ERROR
error_log = /var/log/php/error.log
4、创建一个日志目录
sudo mkdir /var/log/php
sudo chown www-data /var/log/php
5、重启Apache
sudo service apache2 restart

工具的选择

1.连接远程服务器使用mac终端
连接方法: ssh root@xxx.xxx.xxx.xxx 然后会提示输入密码
2.filezilla(上传下载文件)
3.navicat(数据库连接)
本地的工具没法连接远程的数据库
 
首先 , 考虑用户权限问题
下面介绍两种方法,解决这一问题。
1>改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql>use mysql; 
mysql>update user set host = '%' where user = 'root'; 
mysql>select host, user from user;
2>授权法
//赋予任何主机访问数据的权限,用户名和密码自己设置
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
//修改生效
mysql>FLUSH PRIVILEGES
 
还是不成功,然后考虑防火墙问题
本地测试下,在终端中输入
telnet xxx.xxx.xxx.xxx 3306
发现错误提示,尝试修改远程防火墙
sudo ufw allow smtp
sudo ufw status
 
还是不成功 , 在服务器中输入命令 netstat -ntlp ,查看下发现mysql监听本地
进入/etc/mysql/my.cnf将下面这行注释掉
# bind-address = 127.0.0.1
 
其他一些配置
开启apache重写规则
ubuntu默认是不开启重写的,开启的方法
sudo a2enmod rewrite //便捷的开发模块方式,不用去修改配置文件
然后再站点配置文件中,注意两块的对应关系
 
<Directory /var/www/blog>
AllowOverride All
Require all granted
</Directory>
 
开启php的gd库
首先,apt list php7* 查看有哪些扩展,发现php7.0-gd扩展
apt-get install php7.0-gd
修改php.ini,sudo vim /etc/php/7.0/apache2/php.ini
找到 extension=php_gd2.dll 将前面的;去掉
 
 
 
主要参考:
http://www.laozuo.org/8303.html
 
 

linux学习(一) -- ubuntu下lamp环境的配置的更多相关文章

  1. linux学习(二) -- ubuntu下lnmp环境的配置

    亲测的教程,,希望能对大家提供些许帮助,转载请注明出处 ubuntu+nginx+mysql+php7 一.安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wge ...

  2. ubuntu下lamp环境配置及将window代码迁移至linux系统

    因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现.所以最近就将自己的代码全部迁移到linux ...

  3. ubuntu下java环境变量配置

    转自:http://blog.csdn.net/tenpage/article/details/7215810 如果是配置java环境,请参照这篇,更简单:在Ubuntu 12.04 LTS上安装JD ...

  4. Ubuntu 下的环境变量配置

    网上很多配置jdk环境变量的方法,但是几乎都会下次重启电脑就失效,或者时不时的失效.下面教你一招 JDK环境变量配置如下: 执行命令sudo gedit /etc/environment,在打开的编辑 ...

  5. 【Linux学习】Ubuntu下嵌入式交叉编译环境arm-linux-gcc搭建

    (1)首先选择一个路径用来存放arm-linux-gcc.我选用的是/home/book,并在以下建立一个目录arm-linux-gcc. (2)利用cp EABI-4.3.3_Emdedsky_20 ...

  6. Linux学习-基于CentOS7的LAMP环境实现多虚拟主机

    一.实验环境 系统:CentOS7.6 主机:两台(一台也可以),一台实现apache+php-fpm (192.168.214.17),一台实现mysql服务器 (192.168.214.27) 软 ...

  7. Ubuntu下LAMP环境配置

    接下来是搭建个人学习环境,之前的随笔介绍了个人的网络配置,简单记录一下. 1. 安装apache: apt-get install apache2 2.  安装php5:apt-get install ...

  8. 【Linux学习】Ubuntu下内核编译(一)

    (1)当要运行内核配置时,输入make menuconfig时出现错误 遇到这个问题,主要是以为没有ncurses库,而make menconfig 须要这个库.因此须要安装ncurses或者ncur ...

  9. 【Linux学习】Ubuntu下 sambaserver搭建

    1.安装samba,smbfs 2.配置smb.conf文件 配置文件之前须要先备份一下须要配置的文件(养成好的习惯) 输入命令: 进入到smb.conf文件里,在文件的最后加入下列语句 保存后.退出 ...

随机推荐

  1. 前端js优化方案(一)

    最近在读<高性能javascript>,在这里记录一下读后的一些感受,顺便加上自己的一些理解,如果有兴趣的话可以关注的我的博客http://www.bloggeng.com/,我会不定期发 ...

  2. uvm_sqr_ifs——TLM1事务级建模方法(四)

    与uvm_tlm_if_base 一样,这个类也没有派生自任何类,定义了如下几个接口:get_next_item, try_next_item, item_done, get, peek, put, ...

  3. WIN10+Ubuntu14.04 双系统 ubuntu无法有线上网的问题

    注:在WIN10 的引导下安装了双系统,ubuntu有线无法上网,无线却可以. 上网一查,发现之前许多安装双系统的人都存在以上的问题. 常见的解决方法是: 在WINDOWS下关闭网络唤醒,还有一些检查 ...

  4. mybatis-注解实现crud

    1.在接口上注解sql package com.java1234.mappers; import java.util.List; import org.apache.ibatis.annotation ...

  5. DBMS事务的四大特性

    数据库事务的四大特性分别是:原子性.一致性.隔离性和持久性. 特性 说明 实现 一致性 在一个事务执行之前和执行之后数据库都必须处于一致性状态.假如数据库的状态满足所有的完整性约束,也可以说数据库是一 ...

  6. IOS Window窗口使用

    // 程序启动完毕之后就会调用一次 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS ...

  7. 动态规划专题(三)——数位DP

    前言 数位\(DP\) 真的是最恶心的\(DP\). 简介 看到那种给你两个数,让你求这两个数之间符合条件的数的个数,且这两个数非常大,这样的题目一般就是 数位\(DP\) 题. 数位\(DP\)一般 ...

  8. python 线程even

    import threading,time import random def door(nums): num=1#电梯在一楼 while True: print("this door is ...

  9. ES6 Promise用法详解

    What is Promise? Promise是一个构造函数,接受一个参数(Function),并且该参数接受两个参数resolve和reject(分别表示异步操作执行成功后的回调函数.执行失败后的 ...

  10. 两级宏&&字符串化宏

    如果你想字符串化宏参数扩展的结果,你必须使用两个级别的宏. #define xstr(s) str(s) #define str(s) #s #define foo 4 str (foo) ==> ...