C语言再不写,我怕就再也不写了-LAMP基础

  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
C语言,/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 在列出的档案名称后加一符号;例如可举办档则加 “*”, 目录则加 “/”
  -汉兰达 若目录下有档案,则以下之档案亦皆依类别出
  
  范例:
  列出当下做事目录下拥出名称是 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 是发生3个交接(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 发生3个 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 确定保障目录名称存在,不存在的就建1个。
  
  范例:
  
  在干活目录下,建立三个名为 AAA 的子目录 :
   mkdir AAA
  
  在干活目录下的 BBB 目录中,建立贰个名为 Test 的子目录。若 BBB
目录原本不设有,则树立1个。(注:本例若不加 -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

其余用户的近来权限

 

用作精选,大家超过四分之一用2位八进制数字的款型来代表权限,第四个人钦命属主的权柄,第4位内定组权限,第四人钦赐其他用户的权能,每位通过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 -凯雷德 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

三遍性安装:上边是分进度,上边一条给出1次性安装

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原来那样但疼,不写了,前日见