一个ubuntu phper的自我修养(lamp)
lamp环境搭建出坑记
lamp虽然大家都懂,但是还是要解释一下先,要做的是一个狭义的解释,以对应我们即将搭建的环境。
L指linux(ubuntu)、
A指apache(apache2)、
M指mysql(mariadb)、
P 指p开头的众多语言(php)
在所有安装开始之前,以防万一,先更新一下安装源
sudo apt-get update
1、L
ubuntu在手,linux已有。
2、A
apache2安装。
打开终端模拟器(ctrl+alt+t),
输入
sudo apt-get install apahce2
中间输一次Y,确定即可,apahce2的安装并没啥坑,
自此apache2安装完毕!
apache2 -v
来查看apache2是否安装成功。
apahce2的启动、停止和重启:
sudo service apache2 start
sudo service apache2 end
sudo service apache2 restart
3、M
mariadb安装。
mariadb是mysql的一个分支版本,是在mysql被oracle收购后,mysql的大牛、之父们出来单干的免费开源数据库,完全兼容mysql。
选择mariadb是因为我通过apt-get install mysq,导入数据库的时候总是报错(datatime类型无法插入),所以怀疑是mysql版本导致的,然后仔细百度了一下,才发现mariadb已经悄无声息的侵占了mysql的大部分使用场景,包括集成lampp里面包含的也是mariadb(lampp是一个集成的lamp环境,后面我也会介绍一下它的安装与使用)。
继续讲mariadb怎么安装。
打开终端模拟器(ctrl+alt+t),
依次执行
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.tuna.tsinghua.edu.cn/mariadb/repo/10.1/ubuntu xenial main'
sudo apt-get update
sudo apt-get install mariadb-server mariadb-client
中间会让输入数据库密码和确认密码,然后mariadb就安装成功了!
但是如果你不幸的已经安装了mysql,又想卸载掉重装mariadb,那么你已入坑。 如果不把mysql卸载干净的话,即使安装了mariadb也会一直报错无法启动。
ubuntu里把一个软件卸载干劲比较麻烦。
sudo apt-get purge mysqlserver
sudo apt-get autoremove
sudo apt-get clean
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
sudo apt-get remove --purge mysqlserver
sudo remove msql*
sudo apt-get update
这么多命令加持,卸载干净应该不成问题了。
然后在重新安装mariadb即可。
maridb安装完成以后,命令操作全部和熟悉的mysql一致了。
mariadb开始、停止和重启:
sudo service mysql start
sudo service mysql end
sudo service mysql restart
4、P
php安装。
通过sudo apt-get install php安装的是php7.0的版本,不是很建议安装php7.0,因为一个公司的框架一般都是会用很多年的,太新的php版本可能会造成很多兼容性的问题,我使用的thinkphp3.1.3框架在php7.0就无法正常运行。所以,谨慎期间,我建议安装php5.6的版本。
依次执行以下命令:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
php5.6安装以后还需要建立和apache2和mysql的关系,同时也需要安装一些必要的拓展库。
sudo apt-get install libapache2-mod-php5.6 php5.6-mysql
拓展库的话,按需安装(我装了这两个常用的):
sudo apt-get install php5.6-curl php5.6-gd php5.6-xsl
之后要重启以下apache2和mysql。
sudo service apache2 restart
sudo service mysql restart
至此lamp环境搭建完毕!
番外篇:
搭建完了lamp环境不测一下怎么能行!
apache2的默认网站路径在 /var/www/html下。
通过cd命令也好,图形界面直接点进去也行,在该目录新建一个*.php文件,
通过浏览器输入localhost/*.php访问。
如果访问不到,多半是权限问题,可以通过命令赋予项目目录最高权限
sudo chmod 777 -R /var/www/html
一个ubuntu phper的自我修养(lamp)的更多相关文章
- 一个ubuntu phper的自我修养(杂记)
ubuntu使用杂记 1.flatabulous安装使用. flatabulous是一个ubuntu图标主题. 使用它,必须得安装tweak插件. sudo add-apt-repository pp ...
- 一个ubuntu phper的自我修养(ubuntu安装)
ubuntu安装篇 一.ubuntu下载 到ubuntu官网下载适合自己电脑配置的系统版本,此处不做展开. 二.制作USB启动盘 在windows下制作USB启动盘,工具是universal usb ...
- 一个ubuntu phper的自我修养(workbench)
workbench从此和navicat的激活码说再见 workbench是一个免费易用功能强大的mysql图形化管理软件,navicat上用到的功能,workbench上都能找到. 一.workben ...
- 一个ubuntu phper的自我修养(atom)
将atom打造成二十一世纪最装那啥的php IDE 之前在windows平台使用的php IDE一直是eclipse for php,因为之前做java开发,所以对eclipse很有感情,debug. ...
- 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?
写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...
- 《web全栈工程师的自我修养》读书笔记
有幸读了yuguo<web全栈工程师的自我修养>,颇有收获,故在此对读到的内容加以整理,方便指导,同时再回顾一遍书中的内容. 概览 整本书叙述的是作者的成长经历,通过经验的分享,给新人或者 ...
- 程序员的自我修养(2)——计算机网络(转) good
相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...
- GIS制图人员的自我修养(2)--制图意识
GIS制图人员的自我修养(2)--制图意识 by 李远祥 上次提及到GIS制图人员的一些制图误区,主要是为GIS制图人员剖析在制图工作中的一些问题.但如何提高制图的自我修养,却是一个非常漫长的过程,这 ...
- GIS制图人员的自我修养(1)--制图误区
GIS制图人员的自我修养 by 李远祥 最近一直坚持写GIS制图的技术专题,并不是为了要介绍有什么好的技术和方法去制图,而是要告诉所有从事这一方向的人员一个铁铮铮的实现--要做好GIS制图,必须加强自 ...
随机推荐
- C语言中printf的规范输出
1.调用格式为 printf("<格式化字符串>", <参量表>); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另 ...
- 纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)
虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul li 来开始我们菜单也可以说导航条的制作: 在页面中我们首先构建以下XHTM ...
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- spring定时任务
需求:在tomcat启动时开启一个定时任务,即项目启动完成后,自动执行某一特定任务. 想法:容器启动时执行方法,最容易想到的就是servlet中可以配置load-on-startup,设置一个正整数也 ...
- int型时间字符串转日期
string re ="201611"; DateTime d1 = DateTime.ParseExact(re, "yyyyMMdd", null);
- 1.初识Shell脚本语言
PS:在做Linux下STM8固件升级项目中,需要让CPU通过I2C总线给STM8传输数据,刚开始一个一个的敲,很浪费时间,用shell脚本大大提高了数据传输效率,它是用户与内核进行交互操作的一种接口 ...
- commonJS 浏览器实现
commonjs http://www.commonjs.org/ CommonJS JavaScript is a powerful object oriented language with so ...
- ubuntu安装libxml2--PC端
莫名其妙的安装了libxml2,其实电脑本身就有的,不知道有木有影响 具体安装步骤:1.解压:$tar zxvf libxml2-2.9.4.tar.gz //解压在了/home/newday/下 ...
- 【转载】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
前言: 说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可 ...
- Webform 文件上传、 C#加图片水印 、 图片验证码
文件上传:要使用控件 - FileUpload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.val ...