hi

经历了4天大餐的洗礼,整个人都思密达了。。。昨天的懒,是没有原因的懒,总之就是该提笔了亲

1、Ubuntu下的LAMP配置

-----Ubuntu基础知识-----

----管理员权限

出于安全,Ubuntu不推荐使用root账户远程登录-强制使用其他普通账户

由于普通账户没有超级管理员权限,默认情况下又不能使用root账户登录(远程等),所以需要用到这么两条命令

su(Switch User)切换到超级管理员

sudo(Switch User and DO)以超级管理员身份执行

两者是有本质区别的-前者是“老大”(root)出马,必须用root密码,直到exit才退出;后者是“小弟”请求老大给予准许,并且是临时的权限,密码只用普通的就行

----预备知识

liang@liang-andy:~             $

用户名@主机名:当期目录 用户类型标记

其中,$表示普通用户,#表示超级管理员

---

liang@liang-andy:~$ pwd
/home/liang
~表示现在正处于当前用户的个人文件夹中,pwd命令可以给出实际目录

---

下面演示这两个命令:修改root密码

liang@liang-andy:~$ sudo passwd root
[sudo] password for liang:
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
liang@liang-andy:~$
然后是su

liang@liang-andy:~$ su
密码:
root@liang-andy:/home/liang#
注意看目录路径已经变了,还有就是#

----apt-get软件安装工具

主要作用就是获取软件列表apt-get update和软件安装apt-get install

----其他必要命令学习

http://itlab.idcquan.com/linux/special/linuxcom/

---

名称 : ls
  
  使用权限 : 所有使用者
  
  使用方式 : ls [-alrtAFR] [name...]
  
  说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
  
  参数 :
  
  -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
  -l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
  -r 将档案以相反次序显示(原定依英文字母次序)
  -t 将档案依建立时间之先后次序列出
  -A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
  -F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
  -R 若目录下有档案,则以下之档案亦皆依序列出
  
  范例:
  列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
   ls -ltr s*
  
  将 /bin 目录以下所有目录及档案详细资料列出 :
   ls -lR /bin
  
  列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
   ls -AF

---

ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,说明这两个命令还是不等同的!

---

  指令名称 : ln
  
  使用权限 : 所有使用者
  
  使用方式 : ln [options] source dist,其中 option 的格式为 :
  
  [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
  [--help] [--version] [--]
 
 说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard
link)与软连结(symbolic
link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档
案系统中,而软连结却可以跨越不同的档案系统。
  ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
  
  不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
  
  参数 :
  
 
 -f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist
同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v :
在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V
METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本
  范例 :
  将档案 yy 产生一个 symbolic link : zz
   ln -s yy zz
  
  将档案 yy 产生一个 hard link : zz
   ln yy xx

---

  名称 : cd
  
  使用权限 : 所有使用者
  
  使用方式 : cd [dirName]
  
  说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
  
  另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
  
  范例 : 跳到 /usr/bin/ :
   cd /usr/bin
  
  跳到自己的 home directory :
   cd ~
  
  跳到目前目录的上上两层 :
   cd ../..
  
   cd - 返回进入当前目录前所在目录

名称:cp
  
  使用权限:所有使用者
  
  使用方式:
  
  cp [options] source dest
  cp [options] source... directory
  
  说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 (copy)
  
  参数:
  
  -a 尽可能将档案状态、权限等资料都照原状予以复制。
  -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
  -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
  范例:
  将档案 aaa 复制(已存在),并命名为 bbb :
   cp aaa bbb

也就是 sudo cp document_A document_B
  
  将所有的C语言程序拷贝至 Finished 子目录中 :
   cp *.c Finished

---

  名称:mv
  
  使用权限:所有使用者
  
  使用方式:
  
  mv [options] source dest
  mv [options] source... directory
  说明:将一个档案移至另一档案,或将数个档案移至另一目录。
  参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
  
  范例:
  
  将档案 aaa 更名为 bbb :
   mv aaa bbb
  
  将所有的C语言程序移至 Finished 子目录中 :
   mv -i *.c

---

  名称:rm
  
  使用权限:所有使用者
  
  使用方式:rm [options] name...
  
  说明:删除档案及目录。
  
  参数:
  
  -i 删除前逐一询问确认。
  -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  -r 将目录及以下之档案亦逐一删除。
  范例:
  删除所有C语言程序档;删除前逐一询问确认 :
   rm -i *.c
  
  将 Finished 子目录及子目录中所有档案删除 :
   rm -r Finished

---

  名称: mkdir
  
  使用权限:于目前目录有适当权限的所有使用者
  
  使用方式:mkdir [-p] dirName
  
  说明:建立名称为 dirName 之子目录。
  
  参数:-p 确保目录名称存在,不存在的就建一个。
  
  范例:
  
  在工作目录下,建立一个名为 AAA 的子目录 :
   mkdir AAA
  
  在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
   mkdir -p BBB/Test

---

  名称:rmdir
  
  使用权限:于目前目录有适当权限的所有使用者
  
  使用方式: rmdir [-p] dirName
  
  说明: 删除空的目录。
  
  参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
  
  范例:
  
  将工作目录下,名为 AAA 的子目录删除 :
   rmdir AAA
  
  在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
   rmdir -p BBB/Test

---

chmod----改变一个或多个文件的存取模式(mode)
 
chmod [options] mode files
 
只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。
 
options:
 
-c,--changes
只输出被改变文件的信息
 
-f,--silent,--quiet
当chmod不能改变文件模式时,不通知文件的用户
 
--help
输出帮助信息。
 
-R,--recursive
可递归遍历子目录,把修改应到目录下所有文件和子目录
 
--reference=filename
参照filename的权限来设置权限
 
-v,--verbose
无论修改是否成功,输出每个文件的信息
 
--version
输出版本信息。
 
who
 
u
用户
 
g
 
o
其它
 
a
所有用户(默认)
 
opcode
 
+
增加权限
 
-
删除权限
 
=
重新分配权限
 
permission
 
r
 
w
 
x
执行
 
s
设置用户(或组)的ID号
 
t
设置粘着位(sticky bit),防止文件或目录被非属主删除
 
u
用户的当前权限
 
g
组的当前权限
 
o
其他用户的当前权限
 
作为选择,我们多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。
 
还可设置第四位,它位于三位权限序列的前面,第四位数字取值是4,2,1,代表意思如下:
 
4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
 
2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
 
1,设置粘着位。
 
实例:
 
$ chmod u+x file                      给file的属主增加执行权限
$ chmod 751 file                      给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file      上例的另一种形式
$ chmod =r file                     为所有用户分配读权限
$ chmod 444 file                   同上例
$ chmod a-wx,a+r   file          同上例
$ chmod -R u+r directory           递归地给directory目录下所有文件和子目录的属主分配读的权限
$ chmod 4755                            设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。

-----搭建LAMP环境-----

----用apt-get安装Apache MySQL PHP

apt-get有个特性,就是安装东西会把相关的一些东西一起装

---

liang@liang-andy:~$ sudo apt-get install apache2

安装apache,然后输入密码(普通用户)以及y,输入以下命令,表示安装成功
liang@liang-andy:~$ apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built:   Oct 14 2015 14:18:49
然后输入ifconfig得到ip地址

(我这里是)192.168.1.100得到It works页面验证成功
---

安装PHP

liang@liang-andy:~$ sudo apt-get install php5
liang@liang-andy:~$ php5 -v
PHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:32:13)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
然后加载/检查php5.load这个php实现对apache2操作的模块(先不管为什么,先这么干就行)
liang@liang-andy:~$ cat /etc/apache2/mods-enabled/php5.load
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
---

安装MySQL

liang@liang-andy:~$ sudo apt-get install mysql-server
这个不需要验证版本,但同样要检查php操作mysql的模块

liang@liang-andy:~$ cat /etc/php5/mods-available/mysql.ini
cat: /etc/php5/conf.d/mysql.ini: 没有那个文件或目录

注意,这里我用的Ubuntu是14ls的版本,12的cat目录是不一样的/etc/php5/conf.d/mysql.ini

这里,由于php默认不安装mysql的拓展,所以需要手动安装

liang@liang-andy:~$ sudo apt-get install php5-mysql
liang@liang-andy:~$ cat /etc/php5/mods-available/mysql.ini
; configuration for php MySQL module
; priority=20
extension=mysql.so
这样就可以了,然后重启mysql以及apache2

liang@liang-andy:~$ sudo service mysql restart
liang@liang-andy:~$ sudo service apache2 restart
---

一次性安装:上面是分过程,下面一条给出一次性安装

sudo apt-get install apache2 php5 mysql-server php5-mysql

----创建phpinfo探针

先装vim

sudo apt-get install vim

再切换到php的www文件夹,用cd命令

cd /var/www/html(14.4版本)

然后在这里创建一个php文件

sudo vim info.php

写php代码

<?php
echo mysql_connect('localhost','root','hanhan123') ? 'Hoho' : 'WTF';

phpinfo();
然后esc键,输入:wq保存退出

http://192.168.1.100/info.php 浏览器输入验证结果

Linux原来如此但疼,不写了,明天见

再不写,我怕就再也不写了-LAMP基础的更多相关文章

  1. 瞧一瞧,看一看呐,用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!!

    瞧一瞧,看一看呐用MVC+EF快速弄出一个CRUD,一行代码都不用写,真的一行代码都不用写!!!! 现在要写的呢就是,用MVC和EF弄出一个CRUD四个页面和一个列表页面的一个快速DEMO,当然是在不 ...

  2. 刺猬大作战(游戏引擎用Free Pascal写成,GUI用C++写成,使用SDL和Qt4)

    游戏特性[编辑] 游戏引擎用Free Pascal写成,GUI用C++写成,使用SDL和Qt4[2]. 0.9.12开始支持实时动态缩放游戏画面. 个性化[编辑] 刺猬大作战有着高度定制性 游戏模式: ...

  3. php 写内容到文件,把日志写到log文件

    php 写内容到文件,把日志写到log文件 <?php header("Content-type: text/html; charset=utf-8"); /******** ...

  4. 以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurerAdapter中的addViewControllers方法即可达到效果了

    以前写SpringMVC的时候,如果需要访问一个页面,必须要写Controller类,然后再写一个方法跳转到页面,感觉好麻烦,其实重写WebMvcConfigurerAdapter中的addViewC ...

  5. 出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw

    应对未检查异常就是养成良好的检查习惯. 已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法. 已检查异常肯定跨越出了虚拟机的范围.(比如“未找到文件”) 如何处理已检查异常(对于所有的已检 ...

  6. 最近准备把安卓和java的知识再回顾一遍,顺便会写博客上!千变万化还都是源于基础,打扎实基础

    最近准备把安卓和java的知识再回顾一遍,顺便会写博客上!千变万化还都是源于基础,打扎实基础,加油吧 距离去北京还有23天

  7. C++代写,代写C++,C++程序代写,C++ assignment代写

    C++代写,代写C++,C++程序代写 关于C++代写,我们的涉猎范围: C++数据结构.算法题目 C++操作系统os题目 C++网络编程networking题目 C++ Linux题目 C++ Wi ...

  8. 剖析手写Vue,你也可以手写一个MVVM框架

    剖析手写Vue,你也可以手写一个MVVM框架# 邮箱:563995050@qq.com github: https://github.com/xiaoqiuxiong 作者:肖秋雄(eddy) 温馨提 ...

  9. 万能的Entry,两个变量的Model/JavaBean再也不用写了!

    前言 很多时候传数据需要只含两个变量的Model/JavaBean,但就为了两个变量去写一个Model/JavaBean实在是麻烦,而且类型固定重用性低.比如: 1.网格显示的头像-名称 需要 Str ...

随机推荐

  1. Play!中使用HTTP异步编程

    本章译者:@Sam Liu (译者未留下自己的主页,请Sam Liu见此文,加入群168013302联系‘大黄蜂@翻译play’) 这一章主要讲解如何运用异步模式实现典型的长连接(long-polli ...

  2. Uploadify 上传插件引起Chrome崩溃解决方法

    将Uploadify初始化代码延时加载,可解决Chrome崩溃. setTimeout(initUploadify, 60); function initUploadify() { var $Uplo ...

  3. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  4. C#利用SqlDataAdapte对DataTable进行批量数据操作

    C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...

  5. 值得 Web 开发人员收藏的20个 HTML5 实例教程

    当开始学习如何创建 Web 应用程序或网站的时候,最流行的建议之一就是阅读教程,并付诸实践.也有大量的 Web 开发的书,但光有理论没有实际行动是无用的.现在由于网络的发展,我们有很多的工具可以用于创 ...

  6. ASP.NET使用jQuery AJAX实现MD5加密实例

    一个asp.net ajax例子,使用jquery,实现md5加密.在.NET 4.0,Visual Studio 2010上成功运行. 效果体验:http://tool.keleyi.com/t/m ...

  7. 最近喜欢听的英文歌——Because Of You - Kelly Clarkson

    没了解过歌曲背景,总觉得像是一首女儿唱给母亲的歌= =也许是我的错觉 I will not make the same mistakes that you did 我不会重复你犯过的错误 I will ...

  8. 移动端图片滚动加载-lazyload实现的要点总结

    最近在做移动端的营销页面时,遇到了页面有大量图片的情况,于是很自然的想到了要使用图片lazyload,PC端用着jQuery,也有现成的插件.但是在移动端,基本不用jQuery,于是就试着自己去造一下 ...

  9. PHP代码审计中你不知道的牛叉技术点

    一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实 ...

  10. Sharepoint学习笔记—习题系列--70-576习题解析 -(Q1-Q3)

    这里我把从网上搜集到的针对Sharepoint 70-576的有关练习进行系统的解析,整理成一个系列, 分期.分批次共享出来,供大家研究. 70-573考试注重的是"知道"相关知识 ...